
Steve Riley著
Senior Security Strategist
Security Technology Unit
Microsoft Corporation
そのほかの セキュリティ管理コラム もご覧ください。
どんなにテクノロジーや運用方法が発達しても、ある種のコンピュータ サイエンスの原則は変化しません。特に、情報セキュリティについてはそうです。最近気がついたのですが、セキュリティ ベンダーが、彼らの最新の輝かしい製品が私たちのすべてのセキュリティの悩みを解決すると競合しながら主張している中で、コンピュータ サイエンス原理の基本理解が失われているようです。優れたコンピュータ サイエンスはその重要性を決して失うことはなく、サイエンスを知ることは製品の選択、そしてプロセスの開発に役立つので、折々このコラムでそのようなトピックを取り上げます。今月は、ID、認証、承認の概念について考え、それぞれの重要性をみなさんに理解していただき、最近増加している最初の 2 つを組み合わせた脅威からの防御に役立てていただきたいと思います。
概念
それではまず、概念を定義することから始めましょう。
ID: セキュリティ プリンシパル (一般的には、ユーザー (みなさん) またはコンピュータ) がシステムへのアクセスを望んでいます。システムはみなさんをまだ認識していないので、みなさんが誰であるかを示す必要があります。コンピュータを使用する場合に、最初にシステムに対して行なうことは、身元を知らせることです。ユーザー ID、デジタル認証 (公開キーを含む) そして ATM カードなどが一般的な ID の例です。ID の典型的な特徴は、それが公のもので、自分自身について示し、それを一般に利用可能な何かに使用するというものです。
認証: これは、「了解です。どのように証明しますか?」という質問に対する答えです。ID をコンピュータに提示した際に、コンピュータはそれがほかの誰でもないみなさん本人であるということを証明して欲しいと望んでいます。このシステムはみなさんに挑戦し、みなさんはあらゆる方法でそれに答える必要があります。一般的な認証には、パスワード、公開キーそして暗証番号 (PIN) が含まれています。ID が公的である一方で、認証は個人的なものです。本人だけしか (おそらく) 知らない秘密です。ある場合には、パスワードのようなものです。システムも秘密を知っています。PKI のように、ほかの場合にはシステムは秘密を知っている必要はありませんが、その真偽を検証可能な必要があります (これが、PKI が優れているという多くの理由のひとつです)。みなさんが秘密を保持していることが、みなさんが主張している本人であるという証明になります。
承認: みなさんがコンピュータ認証に成功したら、コンピュータはみなさんがどのリソースにアクセスしてもよいかを制御します。一般的には、トークンやチケットを使用するメカニズムにより行なわれます。トークンやチケットはコンピュータ内を自由に動き回る機能を抑制します。後続のアクセス管理の決定のために認証された ID を「キャッシュ」することにより、管理者が必要であると判断したもののみへのアクセスが許可されます。従って、最低限の特権の原則を実行しているのです。
要約:

承認は良く理解されています。私が心配なのは、ID と認証をひとつにするという傾向です。これについては、次でお話します。
なぜ ID と認証が別々にされなければならないのか
パスワードのないコンピュータを考えてみてください。ユーザー ID を入力するだけでログオンできます。コンピュータのユーザーが自分だけでほかに誰もコンピュータを使用しないのであれば、これで良いと思います。しかし、マルチユーザーのコンピュータあるいはネットワークであったならどうでしょう? 誰かがみなさんの ID でコンピュータに入り、みなさんの情報にアクセス可能だということです。一般的に、ユーザー ID は電子メール アドレスでもありますから、ユーザー ID が秘密であるという事実は信頼できません。また、同名の人が 2 人いたらどうでしょう? それぞれの人に、独自の環境を作り出せるのでしょうか?
ログオンのために、ユーザー ID ではなくパスワード入力のみを必要とするコンピュータを考えてみてください。パスワードは秘密なので電子メールとしての働きをしませんから、上手くいくのでしょうか? みなさんのパスワードが 2 種類の役割を果たす場合 – ID および認証 - 問題が発生します。例えば、パスワードを “p4ssw0rd” に変更しようとします。ですが、あなたの知らないうちに誰かがすでにそのパスワードを使用することを決めていたら、みなさんはそれを使用できません。事実、コンピュータはおそらく「そのパスワードはすでに使用中です。別のパスワードを試してください。」と、エラーを出すでしょう。たった今、何がわかりましたか? このパスワードが誰か他の人のアカウントだという事実です! 今、みなさんは悪い人になれます (実際には識別子としてパスワードを使おうとする現実のコンピュータなど知りません。しかし、ユーザー ID のないコンピュータが非常に良い考えであるということについて述べている非常に真剣なレポートを読みました。言うまでもなく、私はこれに反対です)。
コンピュータは、ID と認証に対して個々のメカニズムを維持すべきです。ID は独自のものであるべきです。つまり、コンピュータまたはドメイン (必ずしも「世界中で」という訳ではありません) に “jsmith” は 1 つだけであるということです。しかしながら、認証は独自である必要はなく秘密でさえあれば良いのです。“jsmith” および “mjones” は同じパスワードを使用している可能性がありますが、どちらもそれを知りません。そのような、公私のペア (「公私」、聞き覚えがありませんか?) により泥棒への対処が容易になります。このコンピュータでは、悪人がみなさんのパスワードを知った場合、みなさんはそれを変更するだけです。新規のアカウントを取得するために骨を折る必要はありません。望むだけパスワードを無効にして割り当てることが可能です。ID のみ、またはパスワードだけのシステムでその状況にどう対処するのでしょうか? ここでは表に別の欄を追加しました。

それでは、生体認証について考えてみましょう。ID と認証の定義および特徴のうち、どちらが生体認証なのでしょう?
この質問に答える前に、生体認証の属性について考えます。これは公的なものでしょうか、それとも私的なものでしょうか? もちろん公的なものです。みなさんは、訪れた場所でさまざまな生体認証を残しているのです。例えば触れたものすべてに指紋が残り、数えきれないほどの監視システムにみなさんの顔が保存されています。そして網膜の型は、少なくとも検眼医にはおそらく知られています。そして、その主張を支持する実際の証拠はありませんが、生体認証は独自なものであると信じられています (地球上のひとりひとりの指紋や網膜を調べる以外に証明できませんが)。そこで、数社のベンダーが異論を唱えているものの、生体認証は認証ではなく ID であるということになるのです。
コンピュータが認証のために生体認証を使用し始めると問題が持ち上がります。つまり、ログオンするには追加の要素は必要なく、指を通すだけだということです。今、みなさんの指紋は身元の証明と本人であるという証明をしているのです。そのようなコンピュータはどのようにして悪用されるのでしょうか? それは、みなさんの指紋がなくても行なえる非常に簡単なことです。数多くの研究レポートは、生体認証のシステムがスプーフィングされる可能性があると示しています。Gummi Bear を利用して行なわれる最も悪質なケースについては、http://cryptome.org/gummy.htm およびhttp://www.schneier.com/crypto-gram-0205.html#5) をご覧ください。.
別のハッとさせられる例は、「マレーシア警察が、乗用車のハイテクなセキュリティ システムをかいくぐるために、車の持ち主の指を切断した暴力的なギャング団を追跡中である (http://news.bbc.co.uk/2/hi/asia-pacific/4396831.stm) 」というものです。この場合も、指には秘密はありませんから、必要なものは指だけであり、車を奪い取ることができます。ここでは、車の危険に対するセキュリティ対策が運転手へ移ったのです! ここではセキュリティの安全性が失われてしまいました。
(指紋を) 取り消すことは別の困難になります。システムが生体認証を ID と認証の両方に使用していた場合、どのようにしてそれを取り消すのでしょうか? パスワードを忘れた場合は変更可能ですし、スマートカードを紛失すれば取り消され、置き換えられることが可能です。どうやって指を取り消すのでしょうか?
生体認証が盗まれる可能性がどの位あるのかについてジョークを飛ばすのは確かに楽しいことです。しかし、生体認証がセキュリティを簡略化するというメーカーによる主張は、コンピュータ サイエンスに対する重大な誤解を反映しているのです。スマート カードのメーカーは、カード リーダーにカードを入れるだけでは十分ではなく (所有しているものを差し出すので)、カードを解除するために暗証番号 (PIN) を提供する必要があるということ (秘密が伴う) を理解しています。 盗難カード (公的なもの) は秘密を伴う暗証番号 (PIN) なしには役に立ちません。残念なことに、マレーシアの紳士に関しては、自動車のセキュリティ システムのメーカーはこの重要な原則を誤解していました。
生体認証に関する私のルールは、生体認証 (本人である何か) が、第 2 番目の要素と組み合わされた場合にのみ有効であるということです。さて、私の同僚が最近、この一般的なルールに対する例外のひとつを提案しました。
個人医院あるいは病院で数十人の人達が共通のコンピュータを使用していると想像してください。コンピュータにはカメラが搭載されていて、それぞれのユーザーがログインしてセッション実行の記録を残しています。コンピュータはその状況を監視していて、ログインした人に相応するログインのセッションに切り替えます。医療関係者は病原菌を拡げたくないのでコンピュータに触れないでこれを実行したいと思っています。このコンピュータは選ばれた人に、その時 (そしておそらくその後の 1 時間) のスケジュールを表示します。
これは興味深い考えです。私は、最初のログインが私の原則を守っている場合のみこれに賛成します。顔はみなさんの ID で、スマートカードの公開キーはみなさんのユーザー認証システムです。みなさんの顔とスマートカードを提示したら、コンピュータはみなさんのためにセッションを始め、カメラの前にみなさんの顔を見せている限りそれを表示し続けます。一旦その場を離れると、みなさんのセッションはロックされ、デスクトップが整理されます。みなさんが再度カメラの前に現れ顔を見せるとセッションのロックが解除され、デスクトップが再び現れます。タイムアウトの時間を越えてコンピュータを離れていた場合は、セッションは切断され、みなさんの顔によるアクセスの「トークン」は取り消されます。今、コンピュータを使用するためには、完全な別のログインを行なう必要があります。
ID および認証は安全にコンピュータ システムを使用するために必要なステップの独特なコンポーネントです。認証がない ID は証明として欠けています。ID のない認証は監査を無効にして、マルチユーザーの機能を削除します (ユーザー ID でなくユーザー認証としてパスワードをサポートしている Windows 95/98 を考えてください)。みなさんがセキュリティ戦略で ID と認証を強化する方法を考えはじめたことで、生体認証がみなさんにとって重要になったとしたら、その特定の生体認証の実施がどういったものであるのかを評価することを忘れないでください。適切な生体認証は本人であること、そしてすべての優れた識別子のように、ある種の秘密である暗証番号 (PIN)、スマートカードの秘密キー (そして、たとえパスワードでも) が伴うのです。
この記事は、マイクロソフト セキュリティ ニュースレターで配信しました。