# 生体認証ログイン

## 仕組み

生体認証ログインを利用すると、ユーザーはパスワードを入力せずに、指紋・顔認証・PIN・その他のセキュアトークンなどの**生体認証情報**を使用して認証できます。Keeperはこれらの認証情報を、ユーザーに紐づいた暗号トークンとして扱います。

### 1. 認証情報の作成 (登録)

* **生体認証情報**はユーザーのデバイス上でローカルに生成されます。
* **公開鍵と秘密鍵のペア**が作成されます。
* 秘密鍵はデバイス内で安全に保存され、**外部に送信されることはありません**。
* 公開鍵はKeeperに送信され、ユーザーアカウントに登録されます。
* Keeperは今後の認証に備えて、この公開鍵をユーザーと関連付けます。

### 2. 認証 (ログイン)

* 生体認証でログインする際、デバイスは秘密鍵を使って**暗号チャレンジ**に署名します。
* この署名付きチャレンジ (トークン/アサーション) がKeeperに送信されます。
* Keeperは、事前に登録された公開鍵を使用して署名を検証します。
* 検証が成功すると、Keeperはトークンを本人確認の証拠として扱い、ユーザーにボルトまたはセッションへのアクセスを許可します。

### 3. 主要な原則

* **ゼロ知識セキュリティ:** Keeperは生体認証データや秘密鍵を一切受け取りません。保存されるのは公開鍵のみです。
* **デバイス固有の認証情報:** 認証情報は作成されたデバイスにのみ紐づきます。
* **パスワードレスログイン:** 登録後は、マスターパスワードやデフォルトの2FAの代わりとして使用できます。
* **代替認証手段:** 生体認証が失敗した場合でも、パスワードや他の2FA認証方法を使用できます。

## 要件

Power Commanderは、Windows Helloを使用した生体認証ログインのみに対応しています。

* Windows 11 以上
* Power Commander バージョン 1.0.7

## 対応コマンド

以下のコマンドがサポートされています。

* [生体認証登録コマンド](#komando-1)
* [認証情報表示コマンド](#komando-2)
* [認証情報検証コマンド](#komando-3)
* [認証情報登録解除コマンド](#komando-4)

## 生体認証登録コマンド

このコマンドは、現在ログインしているユーザーのメールアドレスに基づいて新しいパスキーを作成します。このパスキーは、デバイス上で生体認証ログインを登録した後、ログイン時の認証に使用されます。

このコマンドを使用するには、CLIにログインしている必要があります。

#### 備考

1. このコマンドを実行した後、生体認証をデフォルトのログイン方法として使用するには、Keeperでデバイスを登録する必要があります。
2. 永続的ログインが有効になっている場合は、生体認証ログインより優先されるため、ログイン時に生体認証情報は不要になります。

#### 実行方法

```powershell
Register-KeeperBiometricCredential
```

#### サポート対象

このコマンドはWindows Helloのみに対応しています。

#### フラグ

* `PassThru`**:** このフラグを指定すると、認証情報IDなどの詳細を出力します。`true` に設定しない場合、詳細は出力されません。

**例: PassThruフラグを使用する場合**

```powershell
PS> Register-KeeperBiometricCredential -PassThru
Biometric Credential Creation for Keeper
Please complete Windows Hello verification to create the credential...
Credential ID stored for user: <user>
Credential created successfully
Success! Biometric authentication "<user>" has been registered.
Please register your device using the "Set-KeeperDeviceSettings -Register" command to set biometric authentication as your default login method.

Name                           Value
----                           -----
Username                       <user>
Timestamp                      26-09-2025 08:01:08
DisplayName                    <user>
CredentialId                   ...W25xo-z_9QyWdti5CsQ
Success                        True
```

**例: PassThruフラグを使用しない場合**

```powershell
PS> Register-KeeperBiometricCredential
Biometric Credential Creation for Keeper
Please complete Windows Hello verification to create the credential...
Credential ID stored for user: <user>
Credential created successfully
Success! Biometric authentication "<user>" has been registered.
Please register your device using the "Set-KeeperDeviceSettings -Register" command to set biometric authentication as your default login method.
```

## 認証情報表示コマンド

このコマンドは、指定したアカウントに登録されているすべての認証情報を表示します。表示内容には、認証方式、認証情報ID、作成日時、最終使用日時が含まれます。

このコマンドを使用するには、CLIにログインしている必要があります。

#### 実行方法

```powershell
Show-KeeperBiometricCredentials
```

#### フラグ

* `IncludeDisabled`**:** 過去に使用されたが現在は無効な認証情報も、アクティブなものと一緒に表示します。

#### 例

```powershell
PS> Show-KeeperBiometricCredentials -IncludeDisabled

Registered Biometric Authentication Methods:
----------------------------------------------------------------------
Id: ....w6ZGlzYWJsZWQ=
Name: Platform Authenticator (DISABLED)
Created: 2025-09-25 10:22:17
Last Used: 2025-09-25 11:12:00
----------------------------------------------------------------------
Id: YlDRvVIYsC0.....
Name: Platform Authenticator
Created: 2025-09-25 12:17:10
Last Used: 2025-09-25 12:26:28
----------------------------------------------------------------------
```

## 認証情報検証コマンド

このコマンドは、Keeperに保存されている認証情報を使用してセッションを認証します。同じ機能が、生体認証を使用したログイン時にも利用されます。

#### 実行方法

```powershell
Assert-KeeperBiometricCredential
```

#### フラグ

* `Purpose`**:** `login` または `reauth` を指定します。サーバーに対して、ログイン目的か再認証目的かを示します。
* `PassThru`**:** 認証情報IDなどの詳細を出力するかどうかを指定します。既定では `false` で、詳細は表示されません。

#### 出力例

```powershell
PS> Assert-KeeperBiometricCredential -Purpose vault -PassThru
Verification completed successfully!

Name                           Value
----                           -----
Username                       <username>
Message                        Windows Hello authentication with Keeper completed successfully
EncryptedLoginToken            {}
Purpose                        vault
CredentialId                   ....RRR2nPv78NMuM
Success                        True
IsValid                        True
```

## 認証情報登録解除コマンド

このコマンドは、Keeperから生体認証情報を無効化します。これにより、Keeperプラットフォームは指定された暗号認証情報を使用したログインを受け付けなくなります。

#### 実行方法

```powershell
Unregister-KeeperBiometricCredential -CredentialId <credentialId> -PassThru
```

#### フラグ

* `CredentialId`**:** 無効化する認証情報のIDを指定します。何も指定しない場合、すべての生体認証パスキーが無効化されます。
* `PassThru`**:** 結果の詳細を表示するかどうかを指定します。既定では `false` で、技術的な出力は表示されません。指定すると削除された認証情報の詳細が表示されます。

#### 出力例

```powershell
PS> Unregister-KeeperBiometricCredential -PassThru
Are you sure you want to permanently remove ALL biometric authentication for user '<username>'? (y/N): y
Successfully unregistered passkey on server
Successfully unregistered credential for <username>@keepersecurity.com

Name                           Value
----                           -----
Username                       <username>
Message                        Biometric credentials unregistered successfully
CredentialId                   ......OfRGyfRRR2nPv78NMuM
Success                        True
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/commander-cli/commander-installation-setup/installation-on-powershell/biometric-login.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
