Windows 10: パスワード、スマート カード、そして Windows Hello + Microsoft Passport。それぞれの違いを理解しよう (2)


こんにちは、村木ゆりかです。

Windows 10 の新たな認証機能である Windows Hello と Microsoft Passport をスッキリ理解しよう。前回は、Windows Hello と Microsoft Passport とは何ぞや? ということを概要で説明しました。次に IT 管理者の皆さんが知りたいのは「Active Directory で使ったらどうなるの?」ということですよね。現在の Active Directory で利用されている ID とパスワードのケルベロス認証、そして、セキュリティを高める方法としてスマートカードによる認証をおさらいしながら Microsoft Passport が AD にどう役立つのかを説明します。

 

ケルベロス認証 (ID + パスワード)

Active Directory で最も一般的に使われている ID とパスワードによるケルベロス認証。ケルベロス認証では、2 枚のチケット (TGT, ST) を使って認証します。TGT は、ユーザーを認証した後に発行される 1 枚目のチケット (図①から④)。これが発行されることで、ユーザーはリソースにアクセスする度にユーザー名とパスワードを入れる必要がありません。ファイル サーバーやアプリケーションなどのリソースにアクセスする場合は、TGT を提示して 2 枚目のチケット ST を取得します (図⑤から⑥)。ST は対象のリソースにアクセスするための専用チケット。このチケットを提示することでリソースにアクセスが可能になります (図⑦から⑧)。

「ユーザーが AD に認証される」という動作の部分は図の①から④、TGT が発行されるまでです。ユーザーが利用する端末自体もひとつのリソースですので、ST を取得して利用します。「PC に向かってユーザー名とパスワードを入力する」動作の背景では図①から⑧までが実は行われているのです。

Blog_Kerberos

 

ID とパスワードによるケルベロス認証は既定の設定で利用でき、追加の構築は必要ありません。しかし、AD に侵入しようと試みている攻撃者はあの手この手で狙ってきます。

  • ユーザーが推察されやすい安易なパスワードや使いまわしたパスワードを利用していないか 攻撃者は総あたり攻撃や辞書攻撃、流出したパスワード リストなどを使って不正ログオンを試みます。 AD 管理者も強固なパスワード ポリシーを設定しセキュリティを高めますが、ユーザーにとっては難しいパスワードを覚える必要があり利便性が低くなります。
  • ID とパスワードによる認証はユーザー情報とパスワードの情報が、ユーザー側と AD 側と双方に保存されています。要するに、同じことを知っていることで認証する「共通鍵認証」です。ユーザー側も気を付けてパスワードを管理する必要がありますが、AD 側 (DC 側) もセキュリティを高め、情報を管理する必要があります。
  • パスワードはそのまま Windows 端末や AD に保存されたりネットワークを流れたりするわけではなく、ハッシュ化されたパスワードが利用されています。ハッシュ化されたパスワードから、もとのパスワードを知ることは基本的にはできません。(※よく知られたパスワードなどはハッシュとの比較表レインボーテーブルで知ることができてしまいます) しかし、認証する際にハッシュを利用する特性をつかって、盗んだハッシュを利用して不正ログオンを行う Pass-the-Hash という手法があります。(参考: Pass-the-hash 英語情報)

 

スマートカード認証

ID とパスワードによるケルベロス認証の安全性を高めるための方法として、よく利用されるのが、公開鍵暗号と 2 要素認証という点を含めることで強化したスマートカードによる認証です。

スマートカードによる認証の中身は、あくまでもケルベロス認証です。RFC4556 に基づいた PKINIT 拡張によって、ユーザーの認証が行われる部分 (AS リクエストで TGT を取得する部分である Authentication Service Exchange) を公開鍵暗号で強化したものです。

ユーザーは、まず自分が保持しているスマートカードへの PIN を入力し、秘密鍵へのアクセスを得ます (図①から②) 取り出した秘密鍵と、AD が保持している公開鍵証明書を利用して、ユーザー認証を行います。

これにより、認証を行うためには、スマートカードを保持し(仮想スマートカードの場合は端末)、かつ、カードに対してのみ有効なPIN番号を知る必要がある、という2要素認証と、証明書を使った公開鍵暗号を取り入れることができるという2点で、ケルベロス認証のセキュリティを強化することができます。

また、ユーザーにとっては、パスワードよりは覚えやすい PIN 番号を使うことで、利便性が高まっています。

Blog_SC

このように、セキュリティが高まるスマートカード認証ですが、証明機関を立てるなど、公開鍵暗号をつかうための基盤 (PKI) を構築し運用する必要があります。Windows Server Certificate Service (ADCS) のエンタープライズ CA であれば、AD のグループ ポリシーなどにより証明書を自動登録・更新できますが、それでも PKI を理解し管理するのは負担がかかります。

 

 

そこで、Microsoft Passport

ID とパスワードでは、展開や運用は楽だが、パスワードの管理はたいへんで現在の脅威にはセキュリティが物足りない。2 要素認証かつ公開鍵暗号のスマートカード認証ならセキュリティは高まるが、PKI の運用はたいへん・・・・。

そこで、Microsoft Passport です。Microsoft Passport では、認証を 2 段階に分け公開鍵暗号を使うことで、セキュリティを高める部分と利便性を高める部分を整理した認証方法を提供しています。しかし証明機関を立てるなど PKI を展開する必要はありません。これにより、セキュリティを高めながらも展開・運用は負担少なく、という、「いいとこどり」を実現することができます。

 

Blog_chart

 

さて、次回は、いよいよ Microsoft Passport のセットアップと認証の流れを説明します。お楽しみに!

 

 

 

 

■連載一覧

Windows 10: パスワード、スマート カード、そして Windows Hello + Microsoft Passport。それぞれの違いを理解しよう (1)

Windows 10: パスワード、スマート カード、そして Windows Hello + Microsoft Passport。それぞれの違いを理解しよう (2)

Windows 10: パスワード、スマート カード、そして Windows Hello + Microsoft Passport。それぞれの違いを理解しよう (3)

Skip to main content