起動もサインインもセキュリティで保護
Windows 10を採用する理由の1つが強固なセキュリティである。昨今はマルウェアの侵入による情報漏洩や、サイバー攻撃による金銭的被害が話題にあがり、政府も本腰を入れて対策を講じ始めているが、そもそもMicrosoftは米ペンタゴン(米国国防総省)に続いて世界中から攻撃を受けている企業だ。Webサーバーはもちろん、同社のクラウドプラットフォームであるMicrosoft Azureはこの瞬間も攻撃を受け続けていると関係者は説明する。
そのため同社は10年以上前からセキュリティ対策に巨額を投資し、あらゆる角度からセキュリティ強化を行ってきた。サーバー製品や開発システムはもちろん、クライアントOSであるWindows 10も例外ではない。例えば起動プロセスを例にあげれば、「セキュアブート」は有効な機能に数えられる。前バージョンとなるWindows 8.xやWindows Server 2012から実装した機能のため、Windows 10固有ではないものの、OS起動前に侵入を試みるマルウェア対策としては有用な存在だ。
UEFI(Unified Extensible Firmware Interface)に対応しているPCでは、ファームウェアが各ソフトウェアやUEFIドライバー(もしくはオプションROM)の署名をチェックし、正しかった場合にWindows 10の起動プロセスを開始。ユーザーモードプロセスに移行する前にWindows Defenderと同じロジックで動作するELAM(Early Launch Anti-Malware)を呼び出し、安全性を確認してからWindows 10が起動する。さらにWindows 10へサインインした後もWindows Defenderが稼働するため、マルウェアが侵入する可能性は最小限に抑えられる仕組みだ。さらにTPM 2.0(トラステッド プラットフォーム モジュール)を搭載しているPCならば、PCR(Platform Configulation Register)や保証キーなどを用いて正常性を保護する。
そのサインイン時にもWindows 10は独自機能を実装した。「Windows Hello」は、パスワード入力を必要最小限に抑えることを目的にした機能である。そもそもパスワードの正しい管理は非常に難しい。システムごとパスワードを変えても記憶しておくことは難しく、つい同じパスワードを使い回しがちだ。また、複雑な文字列にしてもパスワードクラックツールを長時間回せば、解析できるため意味をなさない。そこでMicrosoftはWindows 8.xからPIN(暗証番号)や、画像に対するジェスチャー操作でサインインするピクチャパスワードを導入した。
Windows 10はこの考え方を推し進め、Windows Helloに至っている。具体的には生体認証フレームワークを利用し、指紋認証や顔認証、虹彩認証の3種類でサインインすることで、パスワード入力はアカウント作成時や認証時に限定し、キーロガーなどによるパスワードの漏洩を未然に防ぐ。ここで行われた認証はMicrosoft Passportというソリューションにも活かされる。
Microsoft Passportの概要を端的に述べれば、ローカルPCに保存したPINを使用して認証を行うというものだ。仕組み自体はFIDO(Fast IDentity Online)が策定中のFIDO 2.0とほぼ同等。例えばSaaS上のアプリケーションにログオンする場合、パスワードを用いるとパスワードの漏洩が不安視されるが、Microsoft Passportの場合は、Windows Helloもしくはデバイスに保存したPINで認証するため、スマートカード認証をより安価に実現する仕組みと捉えると分かりやすい。ただし、システム要件としてMicrosoftアカウントの使用やAzure AD(Active Directory)およびADドメイン、FIDO 2.0に準拠したIDプロバイダーへの参加が並ぶため、組織レベルでの対応が必要となる。