Microsoft社は、米国のサイバーセキュリティに関する大統領令 14028 への対応として、Microsoft Entra ID(旧Azure AD)へのクライアント証明書による認証(Microsoft Entra CBA)が正式版になったことを発表しました。これに伴い、PCやモバイルデバイスでもクライアント証明書をインストールすることで、証明書認証が可能になっています。
前回の記事では、ハードウェアセキュリティトークン(YubiKey)に証明書を格納しましたが、今回は、弊社のクライアント証明書サービス「マネージドPKI Lite by GMO」から発行されたクライアント証明書をWindows PCにインストールし、Microsoft Entra CBAを実施する場合の方法をご紹介します。
目次
初めに
本例では、後述するMicrosoft Entra CBAの認証設定において、証明書のサブジェクト代替名(SAN)フィールドに登録することのできるRFC822Name(メールアドレス)を利用するため、S/MIME用のクライアント証明書を発行します。
なお、2023年8月より施行されたS/MIME用証明書のBaseline Requirementsによりクライアント証明書発行ルールが変わり、メールドメインの企業ごとの独自性が確保されるようになりました。
従って、RFC822Nameには自由なメールアドレスを登録できるのではなく、メールアドレスのドメインが規定の認証方法にて審査/登録されている必要があります。
※弊社の「マネージドPKI Lite by GMO」は、クライアント証明書の取得用メールの送付先をRFC822Nameのメールアドレスに限定することもできるため、証明書をインストールするユーザー(デバイス)を制限することが可能です。 また、S/MIME証明書としてOutlookなどの電子メールへの署名・暗号化もご利用いただくことが可能です。
マネージドPKI Lite by GMOプロファイルの設定
S/MIME用のクライアント証明書を発行するにあたり、プロファイルの設定にて中間CAの設定を「S/MIME BR(Legacy)対応用中間CA証明書」に設定する必要があります。
また、RFC822Nameに登録するメールアドレスのドメインを登録する必要があります。
※ドメインの登録は規定のオンライン認証(メール認証、DNS認証)にご対応いただく必要があります。
管理者による証明書申請
以下の点に注意してGSパネルにて証明書申請を行います。
●「メールアドレス」では、Azure Active Directoryユーザーのユーザープリンシパル名を指定します。
※ここで設定したメールアドレス(ユーザープリンシパル名)がクライアント証明書のRFC822Nameに登録されます。本例では、Microsoft Entra CBAにてクライアント証明書のRFC822Nameと、Microsoft Entra IDユーザーのユーザープリンシパル名をマッピングして認証を行います。
●「鍵生成オプション」では、”CSRによる発行”以外を選択します。
※本例では、”.pfx(PKCS#12)としてダウンロードする”を選択します。
ユーザーによる証明書取得
①証明書取得用メールを受信後、記載されたURLにアクセスし、管理者が指定し通知された「証明書取得用パスワード」を入力します。
② .pfxファイルの保護パスワードを設定し、次へをクリックします。
③「証明書ダウンロード」をクリックして、証明書ファイルをダウンロードします。
「MPSxxxxxxxxxxxxx.pfx」というファイルがダウンロードされます。
証明書のインストール
①ダウンロードした.pfxファイルをダブルクリックします。
証明書のインポートウィザードが起動するので、「現在のユーザー」を選択して次へをクリックします。
②インポートするファイルを選択して次へをクリックします。
③証明書取得時に設定した.pfxファイルの秘密キーの保護パスワードを入力し、次へをクリックします。
※インストール後の証明書エクスポートを制限するため、「このキーをエクスポート可能にする」のチェックを外すことを推奨します。
④「証明書の種類に基づいて、自動的に証明書ストアを選択する」を選択して次へをクリックします。
⑤完了をクリックし、証明書のインストールを完了します。
Azure AD CBAの設定
①Azure ADに認証局証明書をアップロードします。
「Microsoft Entra ID(Azure Active Directory)」>「セキュリティ」>「証明機関」>「アップロード」に進みます。
※本例では弊社の「マネージドPKI Lite by GMO SHA-384」のルート証明書と中間CA証明書をアップロードします。
②アップロードする証明書を選択します。ルート証明書と中間CA証明書をそれぞれアップロードする必要があるため、この手順は2回実施します。
ルート証明書をアップロードする場合、「ルートCA証明書である」で「はい」を選択します。中間CA証明書をアップロードする場合は「いいえ」を選択します。
③「証明書失効リストのURL」と「デルタ証明書失効リストのURL」を設定します。 入力完了後、「追加」をクリックします。
※ブランクで設定することで失効確認をスキップすることも可能ですが、実運用の際はセキュリティの観点からCRLのURLを設定し、失効確認を実施することを推奨します。
ルート証明書をアップロードする場合、中間CA証明書のCRL配布ポイントに記載されている下記URLを「証明書失効リストのURL」と「デルタ証明書失効リストのURL」にそれぞれ入力します。
http://crl.globalsign.com/root-r6.crl
中間CA証明書をアップロードする場合、エンドエンティティ証明書のCRL配布ポイントに記載されている下記URLを「証明書失効リストのURL」と「デルタ証明書失効リストのURL」にそれぞれ入力します。
http://crl.globalsign.com/gsgccr6smimeca2023.crl
④ルート証明書と中間CA証明書が正常にアップロードされると、アップロード済みの認証局証明書の一覧が表示されます。
⑤Azure AD CBAの認証を有効化します。
「Microsoft Entra ID (Azure Active Directory)」>「セキュリティ」>「認証方法」>「証明書ベースの認証」に進みます。
⑥「有効化およびターゲット」画面にて、「有効にする」で「はい」を選択します。今回は 「ターゲット」では「すべてのユーザー」を選択します。ユーザーやグループを設定することも可能です。
⑦「構成」画面にて、認証設定を行います。 証明書認証をすることで多要素認証となるように設定し、”ユーザー名バインド”の証明書フィールドでは「RFC822Name」を設定します。 この設定により、ユーザーから提示されるクライアント証明書のサブジェクト代替名RFC822Nameフィールドが、ログインユーザーのuserPrincipalNameと一致しているか、認証時にチェックされるようになります。
⑧設定を確認し、「保存」をクリックします。 証明書ベースの認証が有効化され、画像のような表示になります。
以上で、Microsoft Entra IDでクライアント証明書認証が行えるようになりました。
⑨続いて、Office 365などのクラウドアプリへのログインに証明書認証を強制するための設定をします。
「Microsoft Entra ID (Azure Active Directory)」>「セキュリティ」>「条件付きアクセス」>「認証強度」に進み、「+新しい認証強度」をクリックします。
⑩ 認証強度を定義します。「証明書ベースの認証(多要素)」にチェックを入れ、次の画面で「作成」をクリックします。
⑪「Azure Active Directory」>「セキュリティ」>「条件付きアクセス」>「ポリシー」に進み、「+新しいポリシー」をクリックします。
⑫条件付きアクセスポリシーを作成します。 「許可」の画面では、⑩で定義した認証強度を選択し、「選択」をクリックします。「割り当て」の画面では、ポリシーを割り当てる対象のユーザーやグループを設定します。「ポリシーの有効化」ではオンに設定します。
「ターゲットリソース」の画面では、すべてのクラウドアプリを対象として選択ます。
「条件」の画面では、デバイスプラットフォームでWindowsを対象として選択し、「完了」と「保存」をクリックします。
⑬認証強度の一覧画面を確認すると、条件付きアクセスポリシーに紐づいていることが分かります。
この設定により、条件にマッチするログインについては証明書認証が必須になります。
※認証ポリシーが反映されるまで時間がかかる場合があります。また、認証ポリシーの設定を変更した場合も同様です。
Windows PCでの認証
クライアント証明書をインストールしたWindows PCでMicrosoft365にログインします。
※実際の画面遷移と異なる場合があります。
※有効な証明書がない場合の画面遷移の様子はこちらの「証明書がない場合の画面遷移(Windows)」をご参照ください。
①Microsoft365のログイン画面へアクセスし、ユーザー名を入力し「次へ」をクリックします。
②証明書の選択のポップアップから、インストールしたクライアント証明書を選択し「OK」をクリックします。
③ログインに成功します。
まとめ
本記事でご紹介しました設定により、クライアント証明書が格納されたデバイスにて、Microsoft Entra IDへのクライアント証明書による認証が可能になります。
Microsoft Entra IDは、TeamsやOneDriveなどのOffice365サービスへのアクセスポイントとして普段の業務で使用されているため、セキュリティ対策は極めて重要です。しかし、アクセスするユーザー目線での利便性も犠牲にしてはなりません。今回のクライアント証明書による認証方法は、パスワード入力の手間を解消しつつ、なりすまし耐性もある認証方法となりますので、Microsoft Entra IDのセキュリティを大幅に強化することができます。
GMOグローバルサインでは、Microsoft Entra CBAでご利用いただけるクライアント証明書の発行・管理サービス「マネージドPKI Lite by GMO」を提供しております。ご紹介しましたMicrosoft Entra CBAの証明書認証にご興味を持たれましたらぜひお気軽にお問い合わせください。
関連する記事
Azure ADへのハードウェアセキュリティキーを利用した証明書認証の設定方法(2023.06.29)
Microsoft Entra ID(旧 Azure AD)へのハードウェアセキュリティキーを利用した証明書認証の認証イメージ(2023.09.12)