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証明書」に設定する必要があります。

図1.png

また、RFC822Nameに登録するメールアドレスのドメインを登録する必要があります。

※ドメインの登録は規定のオンライン認証(メール認証、DNS認証)にご対応いただく必要があります。

図2.png

管理者による証明書申請

以下の点に注意してGSパネルにて証明書申請を行います。

●「メールアドレス」では、Azure Active Directoryユーザーのユーザープリンシパル名を指定します。

※ここで設定したメールアドレス(ユーザープリンシパル名)がクライアント証明書のRFC822Nameに登録されます。本例では、Microsoft Entra CBAにてクライアント証明書のRFC822Nameと、Microsoft Entra IDユーザーのユーザープリンシパル名をマッピングして認証を行います。

●「鍵生成オプション」では、”CSRによる発行”以外を選択します。

※本例では、”.pfx(PKCS#12)としてダウンロードする”を選択します。

図3.png

ユーザーによる証明書取得

①証明書取得用メールを受信後、記載されたURLにアクセスし、管理者が指定し通知された「証明書取得用パスワード」を入力します。

図4.png

② .pfxファイルの保護パスワードを設定し、次へをクリックします。

図5.png

③「証明書ダウンロード」をクリックして、証明書ファイルをダウンロードします。
「MPSxxxxxxxxxxxxx.pfx」というファイルがダウンロードされます。

図7.png

証明書のインストール

①ダウンロードした.pfxファイルをダブルクリックします。
証明書のインポートウィザードが起動するので、「現在のユーザー」を選択して次へをクリックします。

図8.png

②インポートするファイルを選択して次へをクリックします。

図9.png

③証明書取得時に設定した.pfxファイルの秘密キーの保護パスワードを入力し、次へをクリックします。
※インストール後の証明書エクスポートを制限するため、「このキーをエクスポート可能にする」のチェックを外すことを推奨します。

図10.png

④「証明書の種類に基づいて、自動的に証明書ストアを選択する」を選択して次へをクリックします。

図11.png

⑤完了をクリックし、証明書のインストールを完了します。

図12.png

Azure AD CBAの設定

①Azure ADに認証局証明書をアップロードします。
「Microsoft Entra ID(Azure Active Directory)」>「セキュリティ」>「証明機関」>「アップロード」に進みます。
※本例では弊社の「マネージドPKI Lite by GMO SHA-384」のルート証明書と中間CA証明書をアップロードします。

図14.png

②アップロードする証明書を選択します。ルート証明書と中間CA証明書をそれぞれアップロードする必要があるため、この手順は2回実施します。
ルート証明書をアップロードする場合、「ルートCA証明書である」で「はい」を選択します。中間CA証明書をアップロードする場合は「いいえ」を選択します。 

図15.png

③「証明書失効リストのURL」と「デルタ証明書失効リストのURL」を設定します。 入力完了後、「追加」をクリックします。
※ブランクで設定することで失効確認をスキップすることも可能ですが、実運用の際はセキュリティの観点からCRLのURLを設定し、失効確認を実施することを推奨します。

図16.png

ルート証明書をアップロードする場合、中間CA証明書のCRL配布ポイントに記載されている下記URLを「証明書失効リストのURL」と「デルタ証明書失効リストのURL」にそれぞれ入力します。

http://crl.globalsign.com/root-r6.crl

中間CA証明書をアップロードする場合、エンドエンティティ証明書のCRL配布ポイントに記載されている下記URLを「証明書失効リストのURL」と「デルタ証明書失効リストのURL」にそれぞれ入力します。

http://crl.globalsign.com/gsgccr6smimeca2023.crl

④ルート証明書と中間CA証明書が正常にアップロードされると、アップロード済みの認証局証明書の一覧が表示されます。

図17.png

⑤Azure AD CBAの認証を有効化します。
「Microsoft Entra ID (Azure Active Directory)」>「セキュリティ」>「認証方法」>「証明書ベースの認証」に進みます。

図18.png

⑥「有効化およびターゲット」画面にて、「有効にする」で「はい」を選択します。今回は 「ターゲット」では「すべてのユーザー」を選択します。ユーザーやグループを設定することも可能です。 

図19.png

⑦「構成」画面にて、認証設定を行います。 証明書認証をすることで多要素認証となるように設定し、”ユーザー名バインド”の証明書フィールドでは「RFC822Name」を設定します。 この設定により、ユーザーから提示されるクライアント証明書のサブジェクト代替名RFC822Nameフィールドが、ログインユーザーのuserPrincipalNameと一致しているか、認証時にチェックされるようになります。

図20.png

⑧設定を確認し、「保存」をクリックします。 証明書ベースの認証が有効化され、画像のような表示になります。

図21.png

以上で、Microsoft Entra IDでクライアント証明書認証が行えるようになりました。

⑨続いて、Office 365などのクラウドアプリへのログインに証明書認証を強制するための設定をします。
「Microsoft Entra ID (Azure Active Directory)」>「セキュリティ」>「条件付きアクセス」>「認証強度」に進み、「+新しい認証強度」をクリックします。

図22.png

 

⑩ 認証強度を定義します。「証明書ベースの認証(多要素)」にチェックを入れ、次の画面で「作成」をクリックします。

図23.png

⑪「Azure Active Directory」>「セキュリティ」>「条件付きアクセス」>「ポリシー」に進み、「+新しいポリシー」をクリックします。

図24.png

⑫条件付きアクセスポリシーを作成します。 「許可」の画面では、⑩で定義した認証強度を選択し、「選択」をクリックします。「割り当て」の画面では、ポリシーを割り当てる対象のユーザーやグループを設定します。「ポリシーの有効化」ではオンに設定します。

図25.png

「ターゲットリソース」の画面では、すべてのクラウドアプリを対象として選択ます。

図26.png

「条件」の画面では、デバイスプラットフォームでWindowsを対象として選択し、「完了」と「保存」をクリックします。

図27.png

⑬認証強度の一覧画面を確認すると、条件付きアクセスポリシーに紐づいていることが分かります。

図28.png

この設定により、条件にマッチするログインについては証明書認証が必須になります。

※認証ポリシーが反映されるまで時間がかかる場合があります。また、認証ポリシーの設定を変更した場合も同様です。

Windows PCでの認証

クライアント証明書をインストールしたWindows PCでMicrosoft365にログインします。

※実際の画面遷移と異なる場合があります。
※有効な証明書がない場合の画面遷移の様子はこちらの「証明書がない場合の画面遷移(Windows)」をご参照ください。

Microsoft365のログイン画面へアクセスし、ユーザー名を入力し「次へ」をクリックします。

図29.png

②証明書の選択のポップアップから、インストールしたクライアント証明書を選択し「OK」をクリックします。

図30.png

③ログインに成功します。

図31.png

まとめ

本記事でご紹介しました設定により、クライアント証明書が格納されたデバイスにて、Microsoft Entra IDへのクライアント証明書による認証が可能になります。

Microsoft Entra IDは、TeamsやOneDriveなどのOffice365サービスへのアクセスポイントとして普段の業務で使用されているため、セキュリティ対策は極めて重要です。しかし、アクセスするユーザー目線での利便性も犠牲にしてはなりません。今回のクライアント証明書による認証方法は、パスワード入力の手間を解消しつつ、なりすまし耐性もある認証方法となりますので、Microsoft Entra IDのセキュリティを大幅に強化することができます。

GMOグローバルサインでは、Microsoft Entra CBAでご利用いただけるクライアント証明書の発行・管理サービス「マネージドPKI Lite by GMO」を提供しております。ご紹介しましたMicrosoft Entra CBAの証明書認証にご興味を持たれましたらぜひお気軽にお問い合わせください。

トピック関連記事

#

2021年06月08日

JSON先進署名フォーマット「JAdES」解説【第1回】JAdESの概要と特徴

#

2018年04月17日

Certificate Transparencyの最新状況

#

2016年04月20日

SNI導入で顧客SEOをより確実に成功させる!-今後のホスティングサービスの救世主SNIを導入しておこう-

この記事を書きました

グローバルサインブログ編集部

グローバルサインカレッジ編集部
所属:GMOグローバルサイン マーケティング部
当サイトの運営・管理を担当。