ネットワーク WG
Request for Comments: 1704
分類: 情報提供

N. Haller
Bell Communications Research
R. Atkinson
Naval Research Laboratory
1994年10月

English

インターネット認証について
(On Internet Authentication)

このメモの位置づけ

このメモは、インターネットコミュニティに情報を提供するものです。これは、いかなるインターネット標準をも定めるものではありません。このメモの配布には制限はありません。

1. はじめに English

コンピューティングシステムやネットワークプロトコルの認証要件は、それらの意図された用途、アクセス可能性、および、それらのネットワーク接続性について、大いに多様です。本書は、認証技術の概観を記述し、プロトコル開発者向けに、「インターネットにおいて使われているある種のプロトコルやアプリケーションのために、どの種類の認証が適切であるか?」についての示唆を提供します。本書がインターネットコミュニティの関心ある人々に有用な情報を提供すること」が期待されます。

「待ち伏せ攻撃」に対して脆弱なパスワードは、現在のインターネットにおいて適切であるといえるほど十分に強いとはいえません。[CERT94] さらに、「待ち伏せ攻撃」と「積極的な攻撃」の両方は、現在のインターネットにおいて、希ではないという十分な証拠があります。[Bellovin89, Bellovin92, Bellovin93, CB94, Stoll90] この論文の著者は、「インターネットにおいて使われている多くのプロトコルは、それらが少なくとも待ち伏せ攻撃から防護されるようにするために、より強い認証メカニズムをもつ必要がある」と確信しています。「積極的な攻撃」に対してセキュアにする認証メカニズムについてのサポートは、明らかに、インターネットワーキングプロトコルにおいて渇望されます。

インターネットワーク認証問題には数多くの側面がありますが、簡潔さと可読性の観点から、本書は、それらのいくつかのみを記述します。しかし、プロトコル設計者が考慮する必要がある要素は、「認証は、マシン間のものであるか、あるいは、人間とマシン間のものであるか?」、「認証は、ローカルだけのものであるか、あるいは、ネットワークを跨いで分散化されたものであるか?」、その認証メカニズムの強度、および「どのように鍵は、管理されるか?」を含みます。

2. 用語の定義 English

本章は、これらの示唆を理解する際に読者を助けるために、この論文中に使われている用語のいくつかを簡潔に定義します。この論点についての他の参考文献は、若干異なる用語や定義を使っている可能性があります。なぜなら、セキュリティコミュニティは、すべての定義についてのコンセンサスを得るに至っていないからです。ここに示す定義は、具体的に、この特定の文書において検討される事項に焦点を当てています。

積極的な攻撃(Active Attack):
データストリーム中に偽のパケットを注入することによって、あるいは、データ ストリームを運ぶパケットを変更することによって、不正に、データを変更したり、認証を得たり、あるいは、認可を得たりする試み。(待ち伏せ攻撃再生攻撃 参照。)
公開鍵暗号技術(Asymmetric Cryptography):
暗号化のためと復号のために異なる鍵を使う暗号化システム。その 2 つの鍵は、相互に固有の数学的関係をもつ。(公開鍵暗号技術と呼ばれる。)(共通鍵暗号技術参照。)
認証(Authentication):
情報の発信元の身元の検証。
認可(Authorization):
認証された身元に基づくアクセス権限の許可。
守秘性(Confidentiality):
情報にアクセスすることが認可されていない者が、たとえ、その情報の器(例: コンピュータのファイルやネットワークパケット)を見る可能性があっても、その情報を読めないようにする情報の防護。
暗号化(Encryption):
しばしば、守秘性を提供するために使われるメカニズム。
インテグリティ(Integrity):
認可されていない変更からの情報の防護。
鍵証明書(Key Certificate):
「公開鍵」、「その鍵と関連づけられる人物の身元、システムもしくは役割」および「その身元とその公開鍵の間における、その鍵とその協定の両方を認証する情報」から成るデータ構造。PEMによって使われる鍵は、鍵証明書の一例である [Kent93]。
待ち伏せ攻撃(Passive Attack):
認証システムに対する攻撃のひとつ。これは、ストリーム中に何らデータを注入しないが、代わりに、待ち伏せつつ他の主体間を送られる情報を監視できることに依拠する。この情報は、後で正規のセッションに見えるものの際に使われる可能性がある。(積極的な攻撃再生攻撃参照。)
プレインテキスト(Plain-text):
暗号化されていないテキスト。
再生攻撃(Replay Attack):
以前に送信された正規のメッセージ(あるいは、メッセージの一部)を記録し、再生することによる認証システムに対する攻撃。(パスワード、あるいは、電子的に転送されるバイオメトリックデータのような)あらゆる一定の認証情報は、本物であるかのように見えるメッセージを偽造するために記録されて、後で使われる可能性がある。
共通鍵暗号技術(Symmetric Cryptography):
暗号化のためと復号のために同一の鍵を使う暗号化システム。しばしば、「秘密鍵暗号技術」と呼ばれる。

3. 認証技術 English

「認証無し」から「非常に強い認証」にわたって、数多くの異なるクラスの認証があります。異なる認証メカニズムは、異なる種類の認証問題に対応するために適切であるので、これは、厳密な秩序的な順序ではありません。

3.1 認証無し English

網羅性を期すために、最も単純な認証システムは、何ももたないことです。プライベート(セキュア)な場所にあるネットワーク接続されていない PC は、認証無しが許容可能な場所の一例です。他の事例には、(何かの会議において提供される「メール読み」用ワークステーションのような)スタンドアローンの公衆ワークステーションが挙げられます。このワークステーション上では、そのデータは、開示もしくは変更について、慎重を要しないものです。

3.2 「待ち伏せ攻撃」に対して脆弱な認証メカニズム English

単純なパスワードチェックは、これまで、最も卑近な認証の形態です。単純な認証チェックは、多くの形態をとります。: その鍵は、そのユーザによって記憶されているパスワードである可能性があり、これは、そのユーザによって所持される物理的なもの、あるいは、電子的なものである可能性があり、あるいは、これは、生体的なものである可能性があります。単純な認証システムは、「開示している」と言えます。なぜなら、その鍵がネットワーク越しに転送される場合、これは、盗聴者に開示されてしまうからです。現在のインターネットにおいて、既に侵されたマシンを使って、それらを別のマシンに対する「待ち伏せ攻撃」に関与させるような「待ち伏せ攻撃」が行われていることについての広範な報告 [CERT94] がありました。認証メカニズムを開示することは、再生攻撃に対して脆弱です。アクセス鍵は、その標的とされるシステム上に保存されている可能性があります。この場合、システムセキュリティにおける 1回の侵入によって、すべてのパスワードにアクセスできる可能性があります。代わりに、大部分のシステムのように、そのシステム上のデータは、パスワードを検証するために十分ではあっても、それらを生成するためには不十分である可能性があります。

3.3 「積極的な攻撃」に対して脆弱な認証メカニズム English

非開示パスワードシステムは、再生攻撃を予防するために設計されました。いくつかのシステムが、非開示パスワードを生成するために発明されてきました。例えば、Security Dynamics 社製 SecurID カードは、認証情報について、同期された時計を使います。そのカードは、ビジュアルな表示を生成し、それゆえ、認証を求める者によって保持されなければなりません。Bellcore によって開発された S/Key(TM)認証システムは、複数の単用途パスワードをひとつの秘密鍵から生成します。[Haller94] これは、物理的トークンを使わないので、「マシン - マシン」認証にも適します。さらに、デバイスもしくはコンピュータプログラムが繰り返されないチャレンジから可変的なレスポンスを生成するために使われるチャレンジ/レスポンスシステムがあります。S/Key 認証は、ユーザの秘密鍵の保存をまったく要求しません。これは、現在の信用に応えられないコンピューティングシステムを扱うときの優位性です。現在のシステム形態において、S/Key システムは、安易に選択された可能性がある秘密のパスワード(パスフレーズ)についての辞書攻撃に対して脆弱です。「ポイント to ポイント」プロトコルの CHAP チャレンジ/レスポンスシステム [LS92, Simpson93] は、非開示ですが、ローカルでのみ有用です。これらのシステムは、認証機能を果たすホストに保存される情報の重要性において多様であり、それゆえ、そのホストに適用されなければならないセキュリティ要件も多様です。

3.4 「積極的な攻撃」に対して脆弱でない認証メカニズム English

ネットワーク化されたコンピューティング環境の利用の普及は、より強い認証の必要性をもたらしました。オープンなネットワークにおいて、多くのユーザは、そのネットワーク上を流れるあらゆる情報にアクセスすることができ、情報を送ることができ、少しがんばれば、ユーザは、その他のユーザから来たように見える情報を送ることができてしまいます。

より強い認証システムは、認証を行う 2 者の計算能力を利用します。認証は、方向性(例えば、ユーザをホストコンピュータ システム宛に認証させる方向)が無い可能性があり、あるいは、双方向である可能性があります。この場合、ログインする主体には、そのホストの身元について保証されます。認証システムには、暗号技術的テクニックを使って、(認証過程の一過程として)以降の交換のために使える共有された秘密(例: セッション鍵)を確立するものがあります。例えば、認証過程の完了後、ユーザは、以降の認証無しに他のサービスを得るために使える認可チケットを認められる可能性があります。これらの認証システムは、要求されたとき、(暗号化を使って)セキュアでないネットワーク越しに守秘性も提供する可能性があります。

4. 暗号技術 English

暗号技術的メカニズムには、守秘性を確保するものと、そうでないものがありますが、コンピュータネットワークやインターネットワークにおいて、認証機能を提供するために、広く使われています。2 つの暗号技術の基本的種類があり、これらは、この章に記述されています。暗号技術的メカニズムについての根本的かつ繰り返される問題は、「どのように、通信相手宛にセキュアに鍵を配布するか?」です。鍵配布については、本書の 6 章 において対応しています。

4.1 共通鍵暗号技術 English

共通鍵暗号技術は、暗号化するためと復号するための同一の鍵を使うすべてのシステムを含みます。それゆえ、誰かが不正にその鍵を取得する場合、その者は、その鍵を使って、暗号化されていたデータを復号し、読むことができ、偽のデータを暗号化して本物に見えるようにすることもできます。これは、「望まない第三者によるその鍵の知識は、そのシステムの守秘性を完全に侵すこと」を意味します。それゆえ、使われる鍵は、(courier によるか、あるいは、おそらく鍵配布プロトコルの利用によるかのいずれかによって)セキュアに配布される必要があり、それらの中で最も良く知られているものは、おそらく、Needham と Schroeder によって提案されたもの [NS78, NS87] です。広く使われている DES(Data Encryption Standard [NBS77])アルゴリズムは、おそらく、最もよく知られた共通鍵暗号化アルゴリズムです。これは、非機密の民生についての米国政府情報を防護する利用のために標準化されました。

コンピューティング環境の一部として、セキュアでないオープンなネットワークに対応している、よく知られているシステムは、Kerberos(登録商標)認証サービス [SNS88, BM91, KN93] です。これは、MIT における "Project Athena" の一部として開発されました。Kerberos は、DES(Data Encryption Standard)共通鍵暗号化に基づいており、すべてのユーザとサービスの秘密鍵を知っている信用される(第三者)ホストを使うので、ユーザとサーバーによって、彼らの身元を他のシステム宛に提示するのに使えるクレデンシャルを生成できます。あらゆる分散型認証スキームについてと同様に、これらのクレデンシャルは、ローカルの運用管理ドメイン(あるいはレルム)中のあらゆるコンピュータによって信用されます。それゆえ、ユーザのパスワードが開示された場合、攻撃者は、Kerberos を信用するあらゆるシステムにおいて、そのユーザを偽装できる可能性があります。Kerberos サーバーは、すべての秘密鍵を知っているので、物理的にセキュアでなければなりません。Kerberos のセッション鍵は、その鍵サーバーを信用するあらゆる主体間の守秘性を提供するために使えます。

4.2 公開鍵暗号技術 English

1970 年代後期において、暗号技術における主要なブレイクスルーは、公開鍵暗号技術の利用可能性をもたらしました。これは、共通鍵暗号技術とは異なるものです。なぜなら、異なる鍵が暗号化のためと復号のために使われており、これは、鍵配布問題を飛躍的に単純化するからです。最もよく知られている公開鍵システムは、Rivest、Shamir および Adleman による業績に基づいており、作者の頭文字にちなんで、しばしば "RSA" [RSA78] と呼ばれます。

SPX は、RSA 公開鍵暗号技術を使うことによって、Kerberos の「信用される鍵配布センターの限界」を克服する実験的システム [TA91] です。SPX は、認証局(CA: Certifying Authority)のひとつが各主体によって信用されている「認証局の地球規模の階層」を想定します。これは、署名を行う主体のプライベート鍵で暗号化されたトークンから成るデジタル署名を使い、これは、適切な公開鍵を使って検証されます。その公開鍵は、正しいと信じられています。なぜなら、それらは、信用されている CA(Certification Authority)の署名のもとで取得されるからです。その認証交換の重要部分は、受信者の公開鍵で暗号化されるので、再生攻撃を防ぎます。

4.3 暗号技術的チェックサム English

暗号技術的チェックサムは、プロトコル設計者のための最も有用な短期的なツールのひとつです。暗号技術的チェックサムもしくは MIC(Message Integrity Checksum)は、データインテグリティと認証を提供しますが、否認防止は、提供しません。例えば、Secure SNMP と SNMPv2 の両者は、認証されるべきデータや情報の共有された秘密要素について MD5 [Rivest92, GM93] という 暗号技術的チェックサムを算出します。これは、データの発信元を認証する役割を果たし、偽造するのが非常に困難であると信じられています。これは、「送られたデータ自体が、正規の者であること」は認証せず、「それは、送信したと主張している主体によって、実際に送られたこと」のみを認証します。暗号技術的チェックサムは、相対的に強い認証を提供することに使うことでき、特に、「ホスト to ホスト」通信において有用です。暗号技術的チェックサムについて、主な実装上の困難は、鍵配布です。

4.4 デジタル署名 English

デジタル署名は、手書きの署名と同等なもので、電子的な暗号技術的メカニズムです。これは、データの一部をその送信者のものとして認証させる役割を果たします。公開鍵暗号技術(Public Key)を使うデジタル署名は、たとえその主体が送信したことを否定する場合でも、「データがある主体を起源としていること」を証明する際にも有用である可能性があります。この属性は、「否認防止」と呼ばれています。デジタル署名は、守秘性なしに、かつ、何らかの完全な暗号化における困難性を被ることなしに認証を提供します。デジタル署名は、PEM(Privacy Enhanced メール [Linn93, Kent93, Balenson93, Kaliski93])用の鍵証明書に使われています。

5. 「ユーザ to ホスト」認証 English

ユーザを遠隔のホスト、もしくはネットワーク越しのホスト宛に認証させるためには数多くの異なるアプローチがあります。2 種類の危険が、遠隔からのアクセス、もしくは、ネットワーク越しのアクセスによって作り出されます。: まず、侵入者は、ネットワーク上で盗聴し、後で行う再生攻撃のために、ユーザの ID やパスワードを得ることができます。既存のパスワードの形態でさえ、潜在的な侵入者に、新しいものを推測する際の起点を提供してしまいます。

現在、大部分のシステムは、ネットワーク越しに(典型的には、telnet もしくは rlogin を使って)ユーザから遠隔ホスト宛に送信されるプレインテキストの開示パスワードを使います [Anderson84, Kantor91]。このシステムは、盗聴者が遠隔からのユーザ ID や遠隔からのパスワードを得るという「再生攻撃」に対する適切な防護を提供しません。

5.1 待ち伏せ攻撃に対する防護は必要不可欠 English

非開示パスワードシステムさえ使わないということは、「制限されていないアクセスは、意図せずに、ネットワークに物理的にアクセスできる誰にでも許可されていること」を意味します。例えば、そのイーサネットケーブルに物理的にアクセスできる者であれば誰でも、ネットワークのその部分上にいるあらゆるユーザになりすますことができます。それゆえ、誰かがイーサネット上にプレインテキストの開示パスワードをもつとき、その主要なセキュリティシステムは、ドアが(有る場合には)その防護手段です。同じ問題は、トークンリング、もしくは、FDDI のような他の LAN 技術にもあります。ある小さな内部 LAN(Local Area Network)において、このリスクを冒すことは許容できる可能性がありますが、インターネットにおいては、許容できないリスクです [CERT94]。

盗聴のような待ち伏せ攻撃に対する最低限の防護は、非開示パスワードシステムを使うことです。このようなシステムは、ダム端末、もしくは、ダム端末を PC クラスのコンピュータ上でエミュレートするシンプルな通信プログラム(例: Crosstalk もしくは PROCOMM)から動作させることができます。より強い認証システムを使うことは、確かに、遠隔からアクセスしたシステムにおける待ち伏せ攻撃を防ぎますが、単純な端末を使えないという代償を伴います。(X-Terminal のような)通信プログラムや非ユーザ-プログラム可能な端末のベンダーには、それらが標準化されている場合、あるいは、大きな市場シェアを得ている場合には、「非開示パスワード、もしくは、より強い認証システムを作り込むこと」を期待することが、合理的です。Kerberos の優位性のひとつは、「正しく使われた場合、そのユーザのパスワードは、ユーザのワークステーションから決して出ないこと」です。代わりに、ユーザのパスワードは、ユーザの Kerberos チケットを復号するために使われます。Kerberos チケットは、それ自体が暗号化された情報であり、ネットワーク越しにアプリケーションサーバー宛に送られます。

5.2 短期的なツールとしての境界における防護 English

境界における防護は、より卑近になってきています。これらのシステムにおいて、そのユーザは、まず、そのネットワークの外部的にアクセス可能な部分上の主体(インターネット上の「ファイアウォール」ホストである可能性がある)に非開示パスワードシステムを使って認証させます。そのユーザは、次に、サービスを提供している各ホスト(あるいは、ホスト群)宛に認証させるために、2番目のシステムを使います。これは、その問題を 2 つのより扱い易い状況に分けます。

境界における防護には、いくつかの短所があります。それゆえ、これは、短期的な解決策と見なす必要があります。そのゲートウェイは、IP レベルにおいて透過的でないので、すべてのサービスを別々に扱わなければなりません。二重の認証の利用は、一般に、「コンピュータ-コンピュータ」通信について、困難もしくは不可能です。コネクションレスのインターネット(プロトコル)において卑近である「エンド to エンド」プロトコルは、容易に破綻します。境界における防護は、きつく、完全でなければなりません。なぜなら、これが壊れた場合、内部の防護は、潜在的な侵入者をくい止めるには、あまりに弱くなる傾向があるからです。例えば、開示パスワードが内部的に使われている場合、これらのパスワードは、外部の侵入者(盗聴)によって学習される可能性があります。その侵入者がその境界を突破できる場合、その内部システムは、完全に露出されます。最後に、境界における防護は、近道を探している内部ユーザによって、侵されてもしかたがない状態にある可能性があります。

境界における防護のよくある形態は、アプリケーションゲートウェイです。これらの中継ソフトウェアは、プロトコル固有であるので、境界中のホストと、外界との IP 接続性は、壊れ、インターネットのパワーの一部は、失われます。

境界における防護の運用管理的優位性は、「境界上にあるために攻撃に対してさらされているマシンの数が少ないこと」です。これらのマシンは、セキュリティの危険性について注意深くチェックされる可能性がありますが、「その境界が、完璧であること」を保証することは、困難(あるいは、不可能)です。境界における防護のセキュリティは、複雑です。なぜなら、そのゲートウェイマシンは、 電子メールのような何らかの種類のトラフィックを転送しなければならないからです。また、NTP(Network Time Protocol)や FTP(File Transfer Protocol)のような他のネットワークサービスも、渇望される可能性があります [Mills92, PR85, Bishop]。さらに、境界ゲートウェイシステムは、ボトルネック無しに、そのセキュリティドメインについてのトラフィック(の負荷)全体を転送できなければなりません。

5.3 「積極的な攻撃」に対する防護が渇望される English

予見しうる将来において、より強いテクニックの利用が、積極的な攻撃から防護するために要求されるようになります。Ethernet のようなブロードキャスト技術に基づいている多くの企業ネットワークは、おそらく、このようなテクニックを必要とします。積極的な攻撃から防護するために、あるいは、プライバシーを提供するために、セッションの暗号化をもつプロトコルを使うことが、必要不可欠です。(例えば、Kerberos もしくは、おそらく、タイムスタンプを使って、「再生攻撃」から防護する認証メカニズムを使う。 )Kerberos において、ユーザは、クレデンシャルを Kerberos サーバーから取得し、それらをネットワーク上の他のコンピュータからサービスを得るための認証に使います。ローカルのワークステーションの計算能力は、(そのユーザが入力したパスワードから得られる鍵を使って)クレデンシャルを復号し、必要とされるまで、それらを保存しておくために使えます。そのセキュリティプロトコルが同期された時計に依存する場合、NTPv3 [Bishop, Mills92] は、有用である可能性があります。なぜなら、これは、時間を数多くのコンピュータに配信するものであり、認証メカニズムをもつ数少ない既存のインターネットプロトコルのひとつであるからです。

遠隔からアクセス可能なコンピュータのネットワークについてのこれ以外のアプローチは、すべての外部からアクセス可能なマシンについて、秘密を Kerberos KDC と共有することです。見方によっては、これは、これらのマシンを、一般用途のワークステーションではなく、「サーバー」にします。この共有された秘密は、次に、その 2 つのマシン間のすべての通信の暗号化に使え、そのアクセス可能なワークステーションが KDC 宛の認証情報にセキュアな方法で依拠できるようにします。

最後に、遠隔からアクセス可能なワークステーションは、通信を暗号化するために公開鍵暗号技術を使えます。そのワークステーションの公開鍵は、発行され、すべてのクライアントによく知られています。ユーザは、その公開鍵を単純なパスワードを暗号化するために使うことができ、その遠隔システムは、そのパスワードの転送中の開示の危険を冒すことなしにそのユーザを認証するために、そのパスワードを復号できます。このワークステーション志向セキュリティの限界は、「これは、個々のユーザを認証せず、個々のワークステーションを認証するのみであること」です。環境によっては、(例えば、米国政府のマルチレベルセキュアや、コンパートメント化されたモードのワークステーションにおいて)「ユーザ to ユーザ」認証と守秘性も、必要とされることがあります。

6. 鍵配布と鍵管理 English

それゆえ、これまでの検討は、繰り返し述べられた鍵を(暗号化のためか、あるいは、 認証のためのいずれかのために(例: デジタル署名関数への入力として))もつことになります。鍵管理は、おそらく、大規模インターネットワークにおいて認証を提供することを模索しているときに直面する最も困難な問題です。それゆえ、この章は、使われる可能性がある鍵管理技術についての非常に簡潔な概観を提供します。

Kerberos によって使われている「Needham & Schroeder プロトコル」は、中央の鍵サーバーに依存します。大規模インターネットワークにおいて、かなりの数の鍵サーバー(ひとつの運用管理的ドメインあたり、少なくとも、ひとつの鍵サーバー)があることが必要とされます。また、分離されて運用管理された鍵サーバーが異なる運用管理的ドメイン中にいる主体のためにセッション鍵を生成する際に協働するためのメカニズムである必要もあります。これらは、不可能な問題ではありませんが、このアプローチは、明らかに顕著なインフラストラクチャの変更を伴います。

大部分の公開鍵暗号化アルゴリズムは、計算量的に高価であり、ネットワーク中のパケットを暗号化するためには、理想的なものではありません。しかし、その非対称な属性は、共通鍵暗号のセッション鍵を設定・交換するのに非常に有用なものとなります。実際、商業界は、おそらく、公開鍵アルゴリズムを主にデジタル署名や鍵交換に使いますが、大量のデータの暗号化には使いません。RSA と Diffie-Hellman [DH76] の両方のテクニックは、このために使うことができます。公開鍵テクニックを使うことの優位性のひとつは、「中央鍵サーバーを駆逐することができること」です。鍵管理テクニックにおける相違は、おそらく、Kerberos と SPX 間の主要な相違点です。PEM(Privacy Enhanced Mail)[Kent93] においては、ユーザの公開鍵に署名して認証するためにデジタル署名を使う信用された鍵機関が存在します。この処理の結果が、誰かの公開鍵と、公開鍵が実際にその主体に帰属するという認証をもつ鍵証明書です。鍵証明書は、多くの方法で配布できます。鍵証明書を配布する方法のひとつは、(例えば、既存の DNS(Domain Name System)について、各ホストの鍵証明書を新しいレコード種別で保持するように拡張することによって、)それらを既存のディレクトリサービスに加えることである可能性があります。

マルチキャストセッションについて、鍵管理は、より困難です。なぜなら、広く使われているテクニックによって要求される交換の回数は、参画している主体の数に比例するからです。それゆえ、現在、公知のマルチキャスト鍵管理テクニックについては、深刻な拡張性問題があります。

最後に、公衆の(目にふれる)文章に書かれている鍵管理メカニズムには、微妙な欠陥についての長い歴史があります。「Needham & Schroeder プロトコル [NS78, NS87]」のような、よく知られたテクニックについてさえも、これの十分な証拠があります。場合によっては、微妙な欠陥は、そのプロトコルを検証するためにフォーマルメソッドのテクニックが使われた後に、ようやく見つかるものです。それゆえ、「鍵管理メカニズムは、できる限り、認証もしくは暗号化のメカニズムとは分離されていること」が強く渇望されます。例えば、おそらく、別個の鍵管理プロトコルをもち、その他のセキュリティプロトコルに依存しないのがより良いです。

7. ネットワークサービスの認証 English

相互にユーザとホストが認証しあうことを必要とすることに加えて、多くのネットワークサービスは、認証を必要とし、あるいは、認証から恩恵を受けることができます。この章は、主に「ホスト to ホスト」指向であるプロトコルにおいて認証するいくつかのアプローチについて記述します。ユーザからホスト宛の認証の場合におけるように、それは、考慮される可能性があるいくつかのテクニックがあります。

現在、最も卑近な事例は、そのプロトコル中に何ら認証サポートをもたないものです。Bellovin らは、既存のプロトコルが、そのプロトコル中に認証機能が無いゆえに遠隔のマシンを攻撃するために使われる可能性がある数多くの事例を文書化しました [Bellovin89]。

プロトコルには、そのプロトコル情報と共に渡されるものとして、パスワードを開示するものがあります。当初の SNMP プロトコルは、この手法を使っていましたし、数多くのルーティングプロトコルは、この手法を使い続けています [Moy91, LR91, CFSD88]。この手法は、わずかにセキュリティを向上するために過渡的措置として有用であり、まったくセキュアでないプロトコルでもリスクが少ない状況において、適切である可能性があります。

より強い認証メカニズムをサポートする必要がある多くのプロトコルがあります。例えば、「SNMP は、当初もっていた認証より強い認証を必要とする」という広い関心がありました。これは、(デジタル署名メカニズムを使う)オプションとしての認証、および、(DES 暗号化を使う)オプションとしての守秘性をサポートする Secure SNMP プロトコルの発行につながりました。Secure SNMP において使われているデジタル署名は、暗号技術的チェックサムを SNMP 情報に追加することに基づいています。その暗号技術的チェックサムは、MD5 アルゴリズムを使って計算され、それゆえ、通信相手間において共有された秘密は、偽装したり戻すのが困難であると信じられています。

デジタル署名技術は、近年、進展し、認証を要求するが、守秘性は要求しないアプリケーションについて考えられる必要があります。デジタル署名は、複数の通信相手の間で共有される単一の秘密を使う可能性があり、あるいは、公開鍵暗号化技術に基づく可能性があります。前者の場合には、事前に決定された鍵の利用、もしくは、Needham と Schroeder によって考案されたもののようなセキュアな鍵配布プロトコルの利用を要求します。後者の場合、その公開鍵は、認証された作法で配布されことを必要とします。一般的な鍵配布メカニズムが利用可能な場合、オプションとしてのデジタル署名についてのサポートは、大部分のプロトコルに対して、わずかな追加的な支出で追加することができます。各プロトコルは、その鍵交換と設定問題に対応できますが、それは、デジタル署名についてのサポートを追加することをより複雑にし、プロトコル設計者がデジタル署名についてのサポートを追加することを諦めさせてしまう可能性があります。

認証と守秘性の両方が「ホスト to ホスト」間において要求される場合について、セッションの暗号化は、共通鍵暗号技術、公開鍵暗号技術、あるいは両者の組み合わせを使って、搭載することができます。公開鍵暗号技術の利用は、鍵管理を単純にします。各ホストは、その情報がホスト間を転送される間、暗号化し、その既存のオペレーティングシステムのメカニズムは、各ホスト内において防護します。

場合によっては、(電子メールを含む可能性がありますが)アプリケーション自体において、「ホスト to ホスト」ではなく、真に「ユーザ to ユーザ」の作法で、セキュリティ属性を提供することが渇望される可能性があります。PEM(Privacy Enhanced Mail [Linn93, Kent93, Balenson93, Kaliski93])の作業は、このアプローチを採用しています。CAT(Common Authentication Technology)[Linn93a] についての最近の IETF の作業は、標準セキュリティプログラミングインターフェイスの利用を通じて、セキュアな分散型(あるいは、ネットワーク化された)アプリケーションを実装することを、より容易にする可能性があります。

8. 将来の方向性 English

システムは、上記の暗号技術的により強い認証メカニズムに移行しつつあります。この移行は、将来のシステムについて、2 つの意味をもちます。我々は、近い将来における非開示認証システムの導入の実現と、最終的には、より広範な公開鍵暗号システムの利用の実現を期待できます。セッション認証、インテグリティ、およびプライバシー論点は、重要性を増しています。「コンピュータ to コンピュータ」通信が重要になるに従って、単純な人間とのインターフェイスを提供するプロトコルは、あまり重要でなくなります。これは、「人間とのインターフェイスは、重要ではない」と言うわけではありません。それらは、非常に重要です。これは、「これらのインターフェイスは、基盤となっているプロトコルの責任ではなく、アプリケーションの責任であること」を意味します。人間とのインターフェイス設計は、このメモの範囲外です。

「ユーザ to ホスト」認証のための公開鍵暗号システムの利用は、多くのセキュリティ論点を単純にしますが、単純なパスワードとは違って、公開鍵は、記憶できません。この執筆時点において、少なくとも 500 bit の大きさの公開鍵は、商用では、卑近に使われています。より大きな鍵長が将来使われる可能性が高いです。それゆえ、ユーザは、彼らのプライベート鍵を何らかの電子的に可読な形態で運ぶ必要がある可能性があります。(フロッピーディスクもしくは磁気ストライプカードのような)読めるだけ(read-only)の記憶装置の利用は、そのような保存機能を提供しますが、そのユーザに対して、その記憶デバイスに入る彼らの鍵を信用することを要求する可能性があります。スマートカード(ストレージとプログラムの両方をもつポータブルなデバイス)の利用が、選好される可能性があります。これらのデバイスは、それらが保持するそのプライベート鍵を漏らすことなく、その認証処理を行う能力をもちます。それらは、また、カードを「緩和(unlock)」する、よりシンプルな形態の認証を要求するユーザとも、やり取りできます。

「ホスト to ホスト」認証のための公開鍵暗号システムの利用は、「ユーザ to ホスト」の場合と同じ「鍵の記憶問題」をもたないようです。マルチユーザ環境をもつホストは、その鍵をユーザから防護された空間に保持し、その問題を回避することができます。(PC や Mac のような)シングルユーザ環境のもともとセキュアでないシステムは、扱いにくいままですが、スマートカードを使うアプローチも、それらのために使えるはずです。

(1-鍵 テクニックである)既存の共通鍵アルゴリズムと RSA のような(2-鍵 テクニックである)既存の公開鍵アルゴリズムを考慮する場合、「N-鍵テクニック(すなわち、2 以上の N の値について)は、将来、開発されるか否か?」疑問に思う可能性があります。このような N-鍵 技術が存在する場合、これは、拡張性あるマルチキャスト鍵配布プロトコルを策定する際に有用である可能性があります。現在進行中の作業に、規模拡張可能なマルチキャスト鍵配布 [BFC93] を提供するための CBT(Core Based Tree)マルチキャストルーティング技術の利用可能性を実験するものがあります。

この分類論の意味合いは、明確です。強い暗号技術的認証は、多くのプロトコルについて、近い将来、必要とされます。公開鍵技術は、実践的かつ費用対効果がよいとき、使われる必要があります。短期的には、待ち伏せ攻撃に対して脆弱な認証メカニズムは、より強い認証メカニズムを支持して消え去る必要があります。改善された鍵管理技術と、拡張性あるマルチキャストのセキュリティメカニズムを開発するために、さらなる研究が必要とされます。

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

このメモ全体が、セキュリティについての考慮事項を検討しており、その中で、認証技術とその必要性について検討しています。

謝辞

このメモは、IETF の CAT(Common Authentication Technology)WG(チェア: John Linn)と Marcus J. Ranum によるレビューと示唆から恩恵を受けています。

参考文献

[Anderson84]  Anderson, B.,
"TACACS User Identification Telnet Option",
RFC 927, BBN, 1984年12月.
[Balenson93]  Balenson, D.,
"Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers",
RFC 1423, TIS, IAB IRTF PSRG, IETF PEM WG, 1993年 2月.
[BFC93] Ballardie, A., Francis, P., and J. Crowcroft,
"Core Based Trees (CBT) An Architecture for Scalable Inter-Domain Multicast Routing",
Proceedings of ACM SIGCOMM93, ACM, San Franciso, CA, 1993年 9月, pp. 85-95.
[Bellovin89] Bellovin, S.,
"Security Problems in the TCP/IP Protocol Suite",
ACM Computer Communications Review, Vol. 19, No. 2, 1989年 3月.
[Bellovin92] Bellovin, S.,
"There Be Dragons",
Proceedings of the 3rd Usenix UNIX Security Symposium, Baltimore, MD, 1992年 9月.
[Bellovin93] Bellovin, S.,
"Packets Found on an Internet",
ACM Computer Communications Review, Vol. 23, No. 3, 1993年 7月, pp. 26-31.
[BM91] Bellovin S., and M. Merritt,
"Limitations of the Kerberos Authentication System",
ACM Computer Communications Review, 1990年10月.
[Bishop] Bishop, M.,
"A Security Analysis of Version 2 of the Network Time Protocol NTP: A report to the Privacy & Security Research Group",
Technical Report PCS-TR91-154, Department of Mathematics & Computer Science, Dartmouth College, Hanover, New Hampshire, 1991年 2月.
[CB94] Cheswick W., and S. Bellovin,
"Chapter 10: An Evening with Berferd", Firewalls & Internet Security,
Addison-Wesley, Reading, Massachusetts, 1994年.  ISBN 0-201-63357-4.
「ファイアウォール」, ソフトバンク, 1995年.
[CERT94] Computer Emergency Response Team, "Ongoing Network Monitoring Attacks",
CERT Advisory CA-94:01, available by anonymous ftp from cert.sei.cmu.edu, 1994年 2月 3日.
[CFSD88] Case, J., Fedor, M., Schoffstall, M., and  J. Davin,
"Simple Network Management Protocol",
RFC 1067, University of Tennessee at Knoxville, NYSERNet, Inc., Rensselaer Polytechnic Institute, Proteon, Inc., 1988年 8月.
[DH76] Diffie W., and M. Hellman,
"New Directions in Cryptography",
IEEE Transactions on Information Theory, Volume IT-11, 1976年11月, pp. 644-654.
[GM93] Galvin, J., and K. McCloghrie,
"Security Protocols for Version 2 of the Simple Network Management Protocol (SNMPv2)",
RFC 1446, Trusted Information Systems, Hughes LAN Systems, 1993年 4月.
[Haller94] Haller, N.,
"The S/Key One-time Password System",
Proceedings of the Symposium on Network & Distributed Systems Security, Internet Society, San Diego, CA, 1994年 2月.
[Kaufman93] Kaufman, C.,
"Distributed Authentication Security Service (DASS)",
RFC 1507, Digital Equipment Corporation, 1993年 9月.
[Kaliski93] Kaliski, B.,
"Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services",
RFC 1424, RSA Laboratories, 1993年 2月.
[Kantor91] Kantor, B.,
"BSD Rlogin",
RFC 1258, Univ. of Calif San Diego, 1991年 9月.
[Kent93] Kent, S.,
"Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management",
RFC 1422, BBN, IAB IRTF PSRG, IETF PEM, 1993年 2月.
[KN93] Kohl, J., and C. Neuman,
「Kerberos ネットワーク認証サービス v5
(The Kerberos Network Authentication Service (V5)) 」,
RFC 1510, Digital Equipment Corporation, USC/Information Sciences Institute, 1993年 9月.
[Linn93] Linn, J.,
"Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures",
RFC 1421, IAB IRTF PSRG, IETF PEM WG, 1993年 2月.
[Linn93a] Linn, J.,
"Common Authentication Technology Overview",
RFC 1511, Geer Zolot Associate, 1993年 9月.
[LS92] Lloyd B., and W. Simpson,
"PPP Authentication Protocols",
RFC 1334, L&A, Daydreamer, 1992年10月.
[LR91] Lougheed K., and Y. Rekhter,
"A Border Gateway protocol 3 (BGP-3)",
RFC 1267, cisco Systems, T.J. Watson Research Center, IBM Corp., 1991年10月.
[Mills92] Mills, D.,
"Network Time Protocol (Version 3) - Specification, Implementation, and Analysis",
RFC 1305, UDEL, 1992年 3月.
[NBS77] National Bureau of Standards,
"Data Encryption Standard",
Federal Information Processing Standards Publication 46, Government Printing Office, Washington, DC, 1977年.
[NS78] Needham, R., and M. Schroeder,
"Using Encryption for Authentication in Large Networks of Computers",
Communications of the ACM, Vol. 21, No. 12, 1978年12月.
[NS87] Needham, R., and M. Schroeder, "Authentication Revisited",
ACM Operating Systems Review, Vol. 21, No. 1, 1987年.
[PR85] Postel J., and J. Reynolds,
"File Transfer Protocol",
STD 9, RFC 959, USC/Information Sciences Institute, 1985年10月.
[Moy91] Moy, J.,
"OSPF Routing Protocol, Version 2",
RFC 1247, Proteon, Inc., 1991年 7月.
[RSA78] Rivest, R., Shamir, A., and L. Adleman,
"A Method for Obtaining Digital Signatures and Public Key Crypto-systems",
Communications of the ACM, Vol. 21, No. 2, 1978年 2月.
[Rivest92] Rivest, R.,
「MD5 メッセージダイジェストアルゴリズム
(The MD5 Message-Digest Algorithm)」,
RFC 1321, MIT Laboratory for Computer Science and RSA Data Security, Inc., 1992年 4月.
[Simpson93] Simpson, W.,
"The Point to Point Protocol",
RFC 1548, Daydreamer, 1993年12月.
[SNS88] Steiner, J., Neuman, C., and J. Schiller,
"Kerberos: "An Authentication Service for Open Network Systems",
USENIX Conference Proceedings, Dallas, Texas, 1988年 2月.
[Stoll90] Stoll, C.,
"The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage",
Pocket Books, New York, NY, 1990年.
「カッコウはコンピュータに卵を産む(上/下)」, 草思社, 1991年.
[TA91] Tardo J., and K. Alagappan,
"SPX: Global Authentication Using Public Key Certificates",
Proceedings of the 1991 Symposium on Research in Security & Privacy, IEEE Computer Society, Los Amitos, California, 1991年. pp.232-244.

著者のアドレス

Neil Haller
Bell Communications Research
445 South Street  -- MRE 2Q-280
Morristown, NJ 07962-1910

電話: (201) 829-4478
EMail: nmh@thumper.bellcore.com

Randall Atkinson
Information Technology Division
Naval Research Laboratory
Washington, DC 20375-5320

電話: (DSN) 354-8590
EMail: atkinson@itd.nrl.navy.mil

翻訳者のアドレス

宮川 寧夫
独立行政法人 情報処理推進機構
セキュリティセンター

Email: miyakawa@ipa.go.jp