日本マイクロソフト セキュリティ レスポンス チーム セキュリティ プログラム マネージャー
ゆりか先生(村木 由梨香)

「Windows 10でパスワードが不要になる」という話を耳にしたことはありますか? その話を聞いて、いざ設定画面を見たところ「PIN は安全です」と表示され、なんだかモヤモヤしている方もいるのではないでしょうか。

新しく搭載された機能「Windows Hello」は、指紋・顔・虹彩などを用いた生体認証の機能です。これまでのWindowsでも追加ドライバのインストールによって利用できましたが、Windows 10では標準サポートすることになりました。

一方の「Microsoft Passport」は、Windows Helloか「PIN」を用いた認証方式です。また、MicrosoftやGoogle、NTTドコモといった多くのIT企業が参画するFIDO Allianceの「FIDO(Fast IDentity Online)」にも準拠しています。FIDOは、信頼できるデバイスへのログオンと、公開鍵暗号を利用した認証サーバーへの認証を組み合わせて利用できます。

Windows10でMicrosoft Passport 設定時に表示される画面

パスワードが抱えている多くの問題

一般的なユーザー名とパスワードを使った認証は、パスワード、もしくはハッシュ化されたパスワードが認証サーバーへ送られ、サーバー側で管理している情報と照合することで認証しています。

すでにパスワードの問題はさまざまなところで解説されているので詳細は割愛しますが、パスワードに安全性が求められる理由のひとつとして「第三者がネット経由で認証を試みるセキュリティ脅威」があります。

悪意ある攻撃者が不正ログインすることを防ぐために「強力なパスワード」の設定が求められるわけですが、結果としてユーザーは「複雑なパスワードをサービスごとに用意する」という利便性の低下に直面しています。

Windows HelloとMicrosoft Passportはこうした課題を解決すべく、認証を2段階に分けて「セキュリティの向上」「利便性の向上」に整理し、これまでのパスワードの問題を解決しようとしています。

ユーザーと信頼されたデバイス間の認証

まずユーザーは、Windows Hello(生体認証)かPINによって、デバイスにログイン(認証)します。ここで利用するWindows Helloの生体認証情報やPINはそのデバイス専用であり、デバイス外に漏れることはありません。仮にPINを知っていたとしても、不正ログインするにはデバイスを物理的に盗む必要があります。そのため、”ネットワーク越しの攻撃者”という脅威を考える必要がなく、ユーザーの利便性を高めたPINが利用できることになるのです。

信頼されたデバイスと認証サーバー間の認証

ネットワーク越しに行われるサーバーとの認証には、より安全性を高めた公開鍵認証方式が利用されます。ユーザーがデバイスに認証されると、TPMに保存されている秘密鍵にアクセスすることが可能になります。信頼されたデバイスと認証サーバーは、公開鍵暗号を使って認証します。

「共通鍵暗号方式」と呼ばれる一般的なパスワードは、やり取りを行う者(ユーザーと認証サーバー)が1つの鍵(パスワード)を使って暗号化して復号します。これは玄関の鍵のようなもので、鍵さえあれば開錠・施錠が可能です。つまり、鍵は秘密にしておく必要があり、鍵の授受には安全な仕組みを利用しなければなりません。

これに対して証明書認証などで利用されている「公開鍵暗号方式」では、「公開鍵」と「秘密鍵」の2つの鍵をペアにして処理を行います。これは”南京錠”のようなもので、錠(公開鍵)は誰でも閉められますが、鍵(秘密鍵)は自分しか開けられないというものです。この方式は、本人に成り済ませる秘密鍵をネットワーク越しに送ったり、サーバー側で管理する必要がありません。また公開鍵と秘密鍵は、そのペアでしか動作せず、公開鍵から秘密鍵を割り出すことも現実的に不可能となっています。

Active Directory ではどんなメリットが?

Active Directoryにおいて、ユーザー名とパスワードによるケルベロス認証は既定で利用でき、運用も比較的負担が少なく済みます。しかし、ネットワーク越しに侵入を試みる攻撃者から守るためには、安全性を高める余地があり、公開鍵暗号と二段階認証を可能にする「スマートカードを用いた認証」を実装するケースがあります。

スマートカードによる認証では、ユーザーがスマートカードへのPINを入力し、取り出した秘密鍵と、ADが保持している公開鍵証明書を利用して、ユーザー認証を行います。ユーザーにとっては、パスワードより覚えやすいPIN番号を使うことで利便性が高まり、公開鍵暗号との二段階認証でセキュリティ性も向上します。

ただ、管理者は証明機関を立てる必要があり、公開鍵暗号を使うための基盤(PKI)を構築して運用する必要があります。特にAD管理者の場合は、証明機関は管理対象外か、知識不足などで敬遠しているケースが多いのも現状です。

そこで、Microsoft Passportの存在が重要になります。Microsoft Passportでは、認証を二段階に分けて公開鍵暗号を使うことで、セキュリティを高める部分と利便性を高める部分を整理した認証方法を提供していることに触れました。つまり、証明機関を立てるといったPKIを展開する必要がないのです。公開鍵暗号に必要な管理の部分は自動で行われます。これにより、「セキュリティを高めながらも展開・運用は負担少なく」という”いいとこ取り”が実現できます。

クラウド時代を迎え、これからもさまざまなサービスへのアクセスが増えることでしょう。つまり、ID管理はより重要性を増すことになります。Windows Hello+Microsoft PassportはFIDOに準拠し、サードパーティのサービス・製品と相互運用が可能になっています。安全性や相互利用性(利便性)の高いFIDOは、今後業界のディファクトスタンダードになることが期待されています。対応ソリューションをいち早く活用し、セキュリティ向上とエンドユーザーの利便性向上につなげてみてはいかがでしょうか。

今回の解説内容について、より詳細を知りたい方は、以下のブログ記事とビデオをご覧ください