【Windows】端末の紛失・盗難にあった場合に第三者がPINリセットを実施可能なのか？

# はじめに
情報システム部門に常駐していた際に、Windows端末のセキュリティ周りに調査をしておりました。
その際にお客様に依頼をされて、WHfB(Windows Hello for Business)のPINリセットについて以下の観点で調査を実施しておりました。

**「端末紛失・盗難時にPINリセットは第三者が実施可能なのか？」**

この観点で調査した内容についてMicrosoftサポートから聞いた内容を織り混ぜながらアウトプットしていきたいと思います。

# PINリセットとは？
PINとは、ADアカウントの代わりにPCへのログインで使用できる暗証番号のようなものになります。

以下の記事でも解説しておりますので、宜しければご参考下さい。

https://qiita.com/satton6987/items/a1f87098b24f1f482ede

# 前提
- スマートフォン(iPhone/Android)に多要素認証の設定を実施済み
- Windows端末はWindows10を想定
- Windows端末がIntuneに登録されている状態
- Windows端末に「Windows Hello for Business」が登録
- 「Azure AD Join」を想定

# PINリセットのフロー
Windows端末のPINリセットのフローは以下になります。

![PINリセット.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/9fba26d1-696a-ac6d-9b20-8630f2a22b35.png)

※IntuneにてWHfBを設定する際に、**PINの回復を有効にする**を**有効**にするとユーザー自身でPINのリセットが可能

![Intune.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/87e94b33-ae2a-0c6e-4b80-ea9bb1221507.png)

# 多要素認証のフロー
多要素認証のフローは以下になります。(ざっくりです。)

![多要素認証のフロー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/f30a7af9-344c-eef7-87ab-3381d9a24183.png)

|  認証方法  |  内容  |
| ---- | ---- |
|  Authenticatorアプリ認証  |  アプリにて「サインインを承認しますか？」というポップアップが表示され、承認すると認証される。  |
|  確認コード認証  |  Authenticatorアプリの確認コードを入力し認証。  |
|  SMS認証  |  スマートフォンのSMSにて認証。  |
|  電話認証  |  スマートフォンの電話にて認証。  |

# パターン

以下の2パターンをご紹介します。

- Windows端末+スマートフォンの両方が盗難・紛失に遭った場合
- Windows端末のみ盗難・紛失に遭った場合

:::note warn
Windows端末の紛失・盗難に遭った場合にフォーカスして記載しております。
:::

## Windows端末+スマートフォンの両方が盗難・紛失に遭った場合
第三者がスマートフォンにログインできる場合、**PINリセットが可能**です。
(SMS認証や電話認証を用いればPINリセットが出来てしまう可能性が高いです。)

Windows端末とスマートフォンが両方盗難・紛失に遭った場合に、管理者側で実施する対策は以下になります。
(Microsoftサポートに聞いた内容になります。)

- **ユーザーの資格情報の無効化**
- **デバイスの無効化**

こちらの2つのアクションを管理者が実施する流れになります。

### ユーザーの資格情報の無効化
PowerShellにてAzure Active Directoryの管理者としてログイン(`Connect-AzureAD`)後に以下を実施。

- ①AzureADでユーザーを無効化

```powershell:ユーザー無効化
Set-AzureADUser -ObjectId <AzureADユーザーアカウント> -AccountEnabled $false
```

```powershell:入力例
Set-AzureADUser -ObjectId johndoe@contoso.com -AccountEnabled $false
```

- ②ユーザーのAzureAD更新トークンの取り消し

```powershell:AzureAD更新トークンの取り消し
Revoke-AzureADUserAllRefreshToken -ObjectId <AzureADユーザーアカウント>
```

```powershell:入力例
Revoke-AzureADUserAllRefreshToken -ObjectId johndoe@contoso.com
```

- ③ユーザーのデバイスを無効

```powershell:ユーザーのデバイスを無効
Get-AzureADUserRegisteredDevice -ObjectId <AzureADユーザーアカウント> | Set-AzureADDevice -AccountEnabled $false
```

```powershell:入力例
Get-AzureADUserRegisteredDevice -ObjectId johndoe@contoso.com | Set-AzureADDevice -AccountEnabled $false
```

参考記事
[Azure Active Directory でユーザー アクセスを取り消す](https://docs.microsoft.com/ja-jp/azure/active-directory/enterprise-users/users-revoke-access)

### デバイスのロック
MicrosoftアカウントページにてWindows端末を発見後、リモートロックを実施。

詳細は以下のページをご覧下さい。
[紛失した Windows デバイスを探し、ロックする](https://support.microsoft.com/ja-jp/account-billing/%E7%B4%9B%E5%A4%B1%E3%81%97%E3%81%9F-windows-%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%8E%A2%E3%81%97-%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B-890bf25e-b8ba-d3fe-8253-e98a12f26316)

:::note warn
Intune上からはWindows端末のリモートロックができない仕様になっております。(2022/04/03時点)
:::

## Windows端末のみ盗難・紛失に遭った場合
Microsoftサポートの見解では、Windows端末のみ盗難・紛失に遭った場合はPINリセットが不可能になります。

**多要素認証を実施するためには、多要素認証の設定を実施しているスマートフォンが必要です。**

# まとめ
パターンをまとめます。

|  パターン  |  内容  |
| ---- | ---- |
|  Windows端末+スマートフォンの両方が盗難・紛失に遭った場合  |  PINリセット可能<br><br>■第三者のPINリセット対策<br>・ユーザーアカウント無効化<br>・端末のリモートロック  |
|  Windows端末のみ盗難・紛失に遭った場合  |  PINリセット不可  |

# 参考記事
[Windows10｜PIN（暗証番号）を忘れた場合の対処方法](https://pc-karuma.net/windows-10-forgot-pin/#%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95%E2%91%A1%EF%BC%9APIN%EF%BC%88%E6%9A%97%E8%A8%BC%E7%95%AA%E5%8F%B7%EF%BC%89%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88)
[Azure Active Directory でユーザー アクセスを取り消す](https://docs.microsoft.com/ja-jp/azure/active-directory/enterprise-users/users-revoke-access)
[紛失した Windows デバイスを探し、ロックする](https://support.microsoft.com/ja-jp/account-billing/%E7%B4%9B%E5%A4%B1%E3%81%97%E3%81%9F-windows-%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%8E%A2%E3%81%97-%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B-890bf25e-b8ba-d3fe-8253-e98a12f26316)