【Q&Aコーナー】デバイス登録サービスの証明書について

皆さんこんにちは。国井です。

先日、トレーニングで「ADFSやAzure ADで提供されるデバイス登録サービス(DRS)でデバイスを登録すると何が起きるのですか?」というご質問をいただきました。

答えだけ先に言うと「デバイスを登録すると、Active Directoryにデバイスが登録され、デバイスには証明書が実装される」というのがシンプルな回答になります。

(そもそもデバイス登録サービスってなに?という人はADFSでデバイス認証を実装という投稿がありますので、こちらをどうぞ)

Active Directoryにデバイスが登録される部分については以前の投稿「Windows Server 2012 R2を使ってiOSだけがOffice365にアクセスできるようにする(2) 」と紹介しているので、そちらを見ていただくとして、今日は「デバイスには証明書が実装される」という部分について細かく見ていきたいと思います。

ADFSによるデバイス認証はDRSで事前に登録されているデバイスを対象にアクセスを許可するサービスですが、登録されているデバイスであることを確認するために、DRSで配布された証明書がデバイスにインストールされているかを確認します。
その証に、ADFSによる認可時に証明書をチェックしていることがイベントログから確認できます。
イベントログには「デバイス証明書」という欄があり、証明書の拇印が記載されていることも確認できますね。

image

証明書の一覧はMMCの証明書スナップインで確認できますが、登録されたデバイスから証明書スナップインを見ると、ユーザーに対して(コンピューターではない)証明書が発行されていることがわかります。(拇印もイベントログに記載されているものと同じですね。)

image

登録されたデバイスの情報はADFSのDRSでも、Azure ADのDRSでも、最終的にはActive DirectoryのRegisteredDevicesに登録され、一覧表示されます。
それぞれのデバイスのプロパティを開くと、altSecurityIdentities属性で拇印を確認できます。

image

このようにDRSで登録されたデバイスには証明書が発行され、発行された証明書を持っていることを確認することで、デバイス認証が許可されるのです。逆に言えば、デバイス証明書を削除してしまえば、一度DRSで登録されたデバイスであってもデバイス認証は拒否されます。

そして重要なのが、デバイス証明書はコンピューターではなく、ユーザーの証明書ストアに保存されるってこと。
このことは、デバイス認証では「どのデバイスから認証(認可)しようとしているか?」だけでなく、「どのユーザーから認証(認可)使用としているか?」までチェックしようとしていることがわかります。

2015年8月19日追加
Windows 10では他のOSと異なるプロセスによってデバイス登録を行い、その証に特別なカギ(NGC-Key)をTPMに格納するという仕組みを採用していますが、
これまでのOSと同じように、引き続きデバイス用の証明書をAzure ADから発行し、Windows 10デバイスに格納しています。