ネットワーク WG
Request for Comments1510
J. Kohl
Digital Equipment Corporation
C. Neuman
ISI
1993年 9月

English

Kerberos ネットワーク認証サービス v5
(The Kerberos Network Authentication Service (V5))

このメモの位置付け

このメモは、インターネットコミュニティのための実験的なプロトコルを定めたものです。この内容について検討や提案を行い、意見を寄せください。プロトコルの内容と標準化については、"Internet Official Protocol Standards"の最新版を参照してください。このメモの配布に制限はありません。

要旨

本書は、Kerberos ネットワーク認証システムのプロトコル v5 の概要と仕様について説明しています。[1,2] において説明されている v4 は、現在 MIT の Athena プロジェクトや他のインターネット サイトにおいて運用されています。

概要

「Project Athena」、「Athena」、「Athena MUSE」、「Discuss」、「Hesiod」、「Kerberos」、「Moira」および 「Zephyr」は、マサチューセッツ工科大学 (MIT: Massachusetts Institute of Technology) の商標です。MIT の書面による事前承諾なしに、これらの商標を商業目的で使用することを禁じます。

この RFC は、Kerberos ネットワーク認証システムの基礎となっている概念とモデルについて説明しています。また、Kerberos プロトコル v5 についても規定しています。

設計仕様を決定するにあたって検討された、動機付け、目標、仮定および論理的根拠は、ほとんどの場合、通り一遍に扱われてしまいがちですが、v4 のものについては、Athena Technical Plan [1] の Kerberos の部分において詳細に説明されています。プロトコルは、レビュー中で、現時点ではインターネット標準としては提出されていません。ご意見をお待ちしております。Kerberos について討議するメーリングリスト(kerberos@MIT.EDU)への登録を希望 する場合、kerberos-request@MIT.EDU まで電子メールを送ってください。このメーリングリストは、グループ comp.protocols.kerberos としてゲートウェイ経由で Usenet に接続されています。文書とコードの可用性を含む詳細内容を希望する場合、info-kerberos@MIT.EDU まで電子メールで問い合わせてください。

背景

Kerberos モデルは、TTP(信頼のおける第三者機関)による認証を受ける Needham と Schroeder のプロトコル [3] と、Denning と Sacco により提案された修正 [4] のそれぞれの一部に基づいています。Kerberos  v1 - 4 のオリジナルの設計と実装は、Athena プロジェクトの以前のスタッフである DEC(Digital Equipment Corporation)の Steve Miller 氏と Clifford Neuman 氏 (現在は Information Sciences Institute of the University of Southern California)、および Athena プロジェクトのテクニカル ディレクター Jerome Saltzer 氏、MIT のキャンパス ネットワーク マネージャ Jeffrey Schiller 氏の研究によるものです。また、Kerberos の研究には、Athena プロジェクトの他の多くのメンバーも貢献しました。v4 は、公的に使用可能で、インターネット経由で幅広く使用されています。

v5 (本書の説明対象)は、v4 においては利用できなかった現在の要件と将来の要望に基づいて v4 を発展させたものです。Kerberos v4 と v5 の違いについては [5] において説明しています。

目次

1. はじめに

1.1. レルム横断運用
1.2. 環境要件
1.3. 用語集

2. チケットフラグの使用と要求

2.1. 初回チケットおよび事前認証チケット
2.2. 無効なチケット
2.3. 再生可能なチケット
2.4. 以降の日付のチケット
2.5. プロシキ可能チケットおよびプロキシ チケット
2.6. 転送可能チケット
2.7. 他の KDC オプション

3. メッセージ交換

3.1. 認証サービス交換
3.1.1. KRB_AS_REQ メッセージの生成
3.1.2. KRB_AS_REQ メッセージの受領
3.1.3. KRB_AS_REP メッセージの生成
3.1.4. KRB_ERROR メッセージの生成
3.1.5. KRB_AS_REP メッセージの受領
3.1.6. KRB_ERROR メッセージの受領
3.2. クライアント/サーバー認証交換
3.2.1. KRB_AP_REQ メッセージ
3.2.2. KRB_AP_REQ メッセージの生成
3.2.3. KRB_AP_REQ メッセージの受領
3.2.4. KRB_AP_REP メッセージの生成
3.2.5. KRB_AP_REP メッセージの受領
3.2.6. 暗号化鍵の使用
3.3. チケット-グランティング サービス (TGS) 交換
3.3.1. KRB_TGS_REQ メッセージの生成
3.3.2. KRB_TGS_REQ メッセージの受領
3.3.3. KRB_TGS_REP メッセージの生成
3.3.3.1. 転送されたフィールドの符号化
3.3.4. KRB_TGS_REP メッセージの受領
3.4. KRB_SAFE 交換
3.4.1. KRB_SAFE メッセージの生成
3.4.2. KRB_SAFE メッセージの受領
3.5. KRB_PRIV 交換
3.5.1. KRB_PRIV メッセージの生成
3.5.2. KRB_PRIV メッセージの受領
3.6. KRB_CRED 交換
3.6.1. KRB_CRED メッセージの生成
3.6.2. KRB_CRED メッセージの受領

4. Kerberos データベース


4.1. データベースの内容
4.2. 追加フィールド
4.3. 頻繁に変更されるフィールド
4.4. サイト定数

5. メッセージの仕様

5.1. ASN.1 正規符号化表現
5.2. ASN.1 基本定義
5.3. チケットと認証子
5.3.1. チケット
5.3.2. 認証子
5.4. AS と TGS 交換の仕様
5.4.1. KRB_KDC_REQ 定義
5.4.2. KRB_KDC_REP 定義
5.5. クライアント/サーバー (CS) メッセージ仕様
5.5.1. KRB_AP_REQ 定義
5.5.2. KRB_AP_REP 定義
5.5.3. エラー メッセージ応答
5.6. KRB_SAFE メッセージ仕様
5.6.1. KRB_SAFE 定義
5.7. KRB_PRIV メッセージ仕様
5.7.1. KRB_PRIV 定義
5.8. KRB_CRED メッセージ仕様
5.8.1. KRB_CRED 定義
5.9. エラー メッセージ仕様
5.9.1. KRB_ERROR 定義

6. 暗号化仕様およびチェックサム仕様

6.1. 暗号化仕様
6.2. 暗号化鍵
6.3. 暗号化システム
6.3.1. ヌル暗号システム (null)
6.3.2. CRC-32 チェックサムを使用した DES-CBC モード
6.3.3. MD4 チェックサムを使用した DES-CBC モード (descbc-md4)
6.3.4. MD5 チェックサムを使用した DES-CBC モード (descbc-md5)
6.4. チェックサム
6.4.1. CRC-32 チェックサム (crc32)
6.4.2. RSA MD4 チェックサム (rsa-md4)
6.4.3. DES を使用した RSA MD4 暗号化チェックサム (rsa-md4-des)
6.4.4. RSA MD5 チェックサム (rsa-md5)
6.4.5. DES を使用した RSA MD5 暗号化チェックサム(rsa-md5-des)
6.4.6. DES サイファー ブロック チェーン (Cipher Block Chained)チェックサム (des-mac)
6.4.7. DES を使用した RSA MD4 暗号化チェックサム代替策 (rsa-md4-des-k)
6.4.8. DES Cipher Block Chained チェックサム代替策(des-mac-k)

7. 命名制約

7.1. レルム名
7.2. プリンシパル名
7.2.1. サーバー プリンシパル名

8. 定数および他の既定値

8.1. ホスト アドレス タイプ
8.2. KDC メッセージ
8.2.1. IP トランスポート
8.2.2. OSI トランスポート
8.2.3. TGS の名前
8.3. プロトコル定数と関連付けられている値

9. 相互運用可能性要件

9.1. 仕様 1
9.2. 推奨 KDC 値

10. 謝辞

11. 参考文献

12. セキュリティについての考慮事項

13. 著者のアドレス

A. プロトコル処理のための擬似コード

A.1. KRB_AS_REQ 生成
A.2. KRB_AS_REQ 検証および KRB_AS_REP 生成
A.3. KRB_AS_REP 検証
A.4. KRB_AS_REP および KRB_TGS_REP の一般チェック
A.5. KRB_TGS_REQ 生成
A.6. KRB_TGS_REQ 検証および KRB_TGS_REP 生成
A.7. KRB_TGS_REP 検証
A.8. 認証子生成
A.9. KRB_AP_REQ 生成
A.10. KRB_AP_REQ 検証
A.11. KRB_AP_REP 生成
A.12. KRB_AP_REP 検証
A.13. KRB_SAFE 生成
A.14. KRB_SAFE 検証
A.15. KRB_SAFE および KRB_PRIV の一般チェック
A.16. KRB_PRIV 生成
A.17. KRB_PRIV 検証
A.18. KRB_CRED 生成
A.19. KRB_CRED 検証
A.20. KRB_ERROR 生成


Copyright (C) The Internet Society (1993). All Rights Reserved.