

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 顔のライブネスの検出
<a name="face-liveness"></a>

Amazon Rekognition Face Liveness は、顔認証を受けているユーザーがカメラの前に物理的にいることを確認するのに役立ちます。カメラに提示されたなりすまし攻撃、またはカメラをバイパスしようとする行為を検出します。ユーザーは、短い自撮りビデオを撮影して、一連のプロンプトに従って自分の存在を検証することで、Face Liveness チェックを完了できます。

Face Liveness は確率的計算によって決定され、チェック後に信頼スコア (0～100) が返されます。スコアが高いほど、チェックした人物が実在している確実性が高くなります。また、Face Liveness は、顔の比較や検索に使用できるリファレンスイメージと呼ばれるフレームも返します。他の確率ベースのシステムと同様に、Face Liveness は完璧な結果を保証することはできません。他の要素と組み合わせて使用することで、ユーザーの個人的アイデンティティについてリスクに基づいた決定を下せます。

Face Liveness は複数のコンポーネントを使用します。
+ AWS FaceLivenessDetector コンポーネントを使用した Amplify SDK ([React](https://ui.docs.amplify.aws/react/connected-components/liveness)、[Swift (iOS](https://ui.docs.amplify.aws/swift/connected-components/liveness))、[Android](https://ui.docs.amplify.aws/android/connected-components/liveness)) 
+ AWS SDKs
+ AWS クラウド APIs

 Face Liveness 機能と統合するようにアプリケーションを設定すると、次の API オペレーションが使用されます。
+ [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html) - Face Liveness セッションを開始し、Face Liveness 検出モデルをアプリケーションで使用できるようにします。作成されたセッションの SessionId を返します。また、ChallengePrefrence を設定して、FaceMovementChallenge オプションを使用することもできます。
+  [StartFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html) - AWS Amplify FaceLivenessDetector によって呼び出されます。現在のセッション内の関連するイベントと属性に関する情報を含むイベントストリームを開始します。
+  [GetFaceLivenessSessionResults](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html) - Face Liveness の信頼スコア、リファレンスイメージ、監査イメージなど、特定の Face Liveness セッションの結果を取得します。

Amplify SDK を使用して、Face Liveness AWS 機能をウェブアプリケーションの顔ベースの検証ワークフローと統合します。ユーザーがアプリケーションを通じてオンボーディングまたは認証されたら、ユーザーを Amplify SDK の Face Liveness チェックワークフローに送信します。Amplify SDK は、ユーザーが自撮りビデオをキャプチャしている間に、ユーザーインターフェイスとリアルタイムのフィードバックを処理します。

FaceMovementAndLightChallenge の使用中にユーザーの顔がデバイスに表示されている楕円形に移動すると、Amplify SDK は画面上に色付きのライトのシーケンスを表示します。その後、自撮りビデオをクラウド API に安全にストリーミングします。または、FaceMovementChallenge を使用する場合、ユーザーの顔はデバイスに表示される楕円形に移動しますが、色付きのライトのシーケンスは表示されません。「FaceMovementAndLightChallenge」は精度を最大化する最適な設定である一方、「FaceMovementChallenge」では、精度よりも高速なライブネスチェックを優先できます。これらの設定を選択する際は、想定される攻撃の種類、許容される誤受入率および誤拒否率などのユースケースの要件と、ジオロケーション（例：IP ベース）やワンタイムパスコード（OTP）などの追加チェックを考慮する必要があります。お客様は、特定のコンテンツのさまざまな信頼スコアのしきい値で Liveness のパフォーマンスをテストしたうえで、この設定を判断する必要があります。さらに、どちらのタイプのライブネスチェックを使用する場合でも、アプリケーションの所有者は、ビデオストリームを送信するデバイスを保護するための管理策を実装する必要があります。分析が完了すると、バックエンドに次の情報が表示されます。
+ Face Liveness の信頼スコア (0～100)
+ 顔照合や顔検索に使用できるリファレンスイメージと呼ばれる高品質イメージ
+ 自撮りビデオから選択した、監査イメージと呼ばれる最大 4 つのイメージセット 

Face Liveness は、さまざまなユースケースで活用できます。例えば、顔のライブネスチェックを顔照合 ([CompareFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CompareFaces.html) および [SearchFacesByImage](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFacesByImage.html) を使用) と併用すると、本人確認を行ったり、年齢ベースのアクセス制限のあるプラットフォームで[年齢を推定](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectFaces.html)したり、ボットを抑止しながら本物の人間のユーザーを検出したりできます。

このサービスの想定されるユースケース、サービスでの機械学習 (ML) の使用方法、サービスの責任ある設計と使用における重要な考慮事項については、[Rekognition Face Liveness AI サービスカード](https://aws.amazon.com/machine-learning/responsible-machine-learning/rekognition-face-liveness/)で詳しく説明されています。

顔のライブネスチェックと顔照合の信頼スコアのしきい値を設定できます。選択したしきい値は、自分のユースケースを反映させたものである必要があります。次に、スコアがしきい値を上回るか下回るかを基準に、ユーザーに ID 認証の承認/拒否を送信します。拒否された場合は、ユーザーに再試行してもらうか、別の方法を紹介します。

以下の図は、指示から Liveness チェック、結果の返信までのユーザーフローを示しています。

![\[顔のセンタリング、接近、ライブネスチェックのための静止、信頼スコア付きの成功結果の取得を示すユーザーフロー。\]](http://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/images/mobile-flow.png)


# ユーザー側の Face Liveness 要件
<a name="face-liveness-requirements"></a>

Amazon Rekognition Face Liveness には、以下の最小仕様が必要です。

デバイス: 
+  デバイスが前面カメラを備えていること 
+  デバイスディスプレイの最小リフレッシュレート: 60 Hz 
+  ディスプレイまたは画面の最小サイズ: 4 インチ 
+  端末がジェイルブレイクまたはルート化されていないこと 

カメラの仕様: 
+  カラーカメラ: 前面カメラで色を記録できること 
+  バーチャルカメラやカメラソフトウェアではないこと 
+  最小記録機能: 15 フレーム/秒 
+  最小ビデオ録画解像度: 480x640px。
+  ユーザーがウェブカメラをデスクトップで使用して Face Liveness チェックを行う場合、Face Liveness チェックが開始される画面と同じ画面上にカメラを取り付けることが重要です。

最小帯域幅要件: 100 kbps

対応ブラウザ: Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Edge など、主要ブラウザの最新の 3 バージョン ブラウザのサポートに関する詳細については、「[AWS マネジメントコンソールでサポートされているブラウザを教えてください。](https://aws.amazon.com/premiumsupport/knowledge-center/browsers-management-console/)」を参照してください。

# アーキテクチャ図とシーケンス図
<a name="face-liveness-diagrams"></a>

 以下の図は、Amazon Rekognition Face Liveness が機能のアーキテクチャと一連のオペレーションに関してどのように動作するかを詳しく説明しています。

![\[ライブネス検出フロー図。エンドユーザー、クライアントアプリケーション、FaceLivenessDetector コンポーネント、顧客のバックエンド、Rekognition サービス、Rekognition ストリーミングサービス間の、ライブネスセッション設定、ビデオ分析、結果取得の流れが示されている。\]](http://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/images/SequenceDiagramLivenessFlowGuide-v5.png)


![\[顧客アプリケーションの顔のライブネスチェックにおけるワークフロー。Amplify FaceLivenessDetector コンポーネント、Rekognition サービス、顧客バックエンドのほか、参照画像と監査画像を保存する Amazon S3 バケットが含まれている。\]](http://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/images/RekognitionLivenessArchitectureDeveloperGuide_v2.jpg)


Face Liveness チェックプロセスには、以下に概説するいくつかのステップが含まれています。

1.  ユーザーはクライアントアプリケーションで Face Liveness チェックを開始します。

1.  クライアントアプリケーションがお客様のバックエンドを呼び出し、そのバックエンドが Amazon Rekognition サービスを呼び出します。このサービスは Face Liveness セッションを作成し、固有の SessionId を返します。**注:** SessionId は送信後 3 分で期限切れになるため、以下のステップ 3～7 を完了するまでの時間は 3 分間しかありません。顔のライブネスチェックごとに新しい sessionID を使用する必要があります。同じ sessionID を後続の顔のライブネスチェックで使用すると、チェックは失敗します。さらに、SessionId は送信後 3 分で期限切れになり、セッションに関連付けられたすべてのライブネスデータ (sessionID、参照画像、監査画像など) は使用できなくなります。

1.  クライアントアプリケーションは、取得した SessionId と適切なコールバックを使用して FaceLivenessDetector Amplify コンポーネントをレンダリングします。

1.  FaceLivenessDetector コンポーネントは Amazon Rekognition ストリーミングサービスへの接続を確立し、ユーザーの画面上に楕円形をレンダリングし、色付きのライトのシーケンスを表示します。FaceLivenessDetector は、ビデオを録画して Amazon Rekognition ストリーミングサービスにリアルタイムでストリーミングします。

1.  Amazon Rekognition ストリーミングサービスはビデオをリアルタイムで処理して結果を保存し、ストリーミングが完了すると DisconnectEvent を FaceLivenessDetector コンポーネントに返します。

1.  FaceLivenessDetector コンポーネントは、`onAnalysisComplete` コールバックを呼び出して、ストリーミングが完了し、スコアを取得できる状態になったことをクライアントアプリケーションに通知します。

1.  クライアントアプリケーションはお客様のバックエンドを呼び出して、ユーザーが稼働中かどうかを示すブール値のフラグを取得します。お客様のバックエンドは、Amazon Rekognition サービスに対して、信頼スコア、リファレンス、監査イメージを取得するためのリクエストを送信します。カスタマーバックエンドはこれらの属性を使用してユーザーが稼働中かどうかを判断し、クライアントアプリケーションに適切なレスポンスを返します。

1.  最後に、クライアントアプリケーションは FaceLivenessDetector コンポーネントにレスポンスを渡します。これにより、成功/失敗のメッセージが適切にレンダリングされ、フローが完了します。

# 前提条件
<a name="face-liveness-prerequisites"></a>

 Amazon Rekognition Face Liveness を使用するための前提条件は以下のとおりです。

1.  AWS アカウントのセットアップ

1. Face AWS SDKsのセットアップ

1. Amplify AWS リソースの設定

## ステップ 1: AWS アカウントを設定する
<a name="face-liveness-prerequisites-setup"></a>

 AWS アカウントをまだお持ちでない場合は、「」の手順を実行してアカウント[AWS アカウントとユーザーを作成する](setting-up.md#setting-up-iam)を作成します。

## ステップ 2: Face AWS SDKsを設定する
<a name="face-liveness-prerequisites-sdks"></a>

まだインストールしていない場合は、 と AWS SDKsをインストール AWS CLI して設定します。詳細については、「[ステップ 2: AWS CLI と AWS SDKsを設定する](setup-awscli-sdk.md)」を参照してください。

 AWS SDK 呼び出しを認証する方法はいくつかあります。このガイドの例では、CLI コマンドと AWS SDK API AWS オペレーションを呼び出すためにデフォルトの認証情報プロファイルを使用していることを前提としています。

選択した AWS SDK へのアクセス権をユーザーアカウントに付与する方法の詳細については、[「プログラム](https://docs.aws.amazon.com/rekognition/latest/dg/sdk-programmatic-access.html)によるアクセスの付与」ページを参照してください。このページでは、ローカルコンピュータでプロファイルを使用する方法と、 AWS 環境でサンプルコードを実行する方法についても説明します。

Face Liveness オペレーションを呼び出すユーザーに、`AmazonRekognitionFullAccess` や `AmazonS3FullAccess` 権限など、オペレーションを呼び出すための正しいアクセス権限があることを確認してください。

## ステップ 3: Amplify AWS リソースを設定する
<a name="face-liveness-prerequisites-amplify"></a>

Amazon Rekognition Face Liveness をアプリケーションに統合するには、FaceLivenessDetector Amplify コンポーネントを使用するように AWS Amplify SDK をセットアップする必要があります。

まだインストールしていない場合は、「[AWS CLI の開始方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」に記載されている指示に従って AWS コマンドラインインターフェイス (AWS CLI) をセットアップします。CLI をインストールしたら、[Amplify UI ドキュメントサイト](https://ui.docs.amplify.aws/react/connected-components/liveness#step-1-configure-auth)に表示される認証の設定ステップを完了して、Amplify AWS リソースを設定します。

## Face Liveness を検出するためのベストプラクティス
<a name="face-liveness-best-practices"></a>

Amazon Rekognition Face Liveness を使用する際は、いくつかのベストプラクティスに従うことをお勧めします。Face Liveness のベストプラクティスには、Face Liveness チェックを実施すべき箇所、監査イメージの使用、信頼スコアのしきい値の選択に関するガイドラインが含まれます。

ベストプラクティスの完全なリストについては、「[Face Liveness の使用に関する推奨事項](recommendations-liveness.md)」を参照してください。

# Amazon Rekognition Face Liveness API のプログラミング
<a name="face-liveness-programming-api"></a>

Amazon Rekognition Face Liveness API を使用するには、以下のステップを実行するバックエンドを作成する必要があります。

1. [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html) を呼び出して、Face Liveness セッションを開始します。`CreateFaceLivenessSession` オペレーションが完了すると、UI はユーザーに自撮りビデオの送信を求めるプロンプトを表示します。次に、AWS Amplify の FaceLivenessDetector コンポーネントが [StartFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html) を呼び出してライブネス検出を実行します。

1. [GetFaceLivenessSessionResults](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html) を呼び出して、Face Liveness セッションに関連する検出結果を返します。

1. [Amplify Liveness ガイド](https://ui.docs.amplify.aws/react/connected-components/liveness)に記載されているステップに従って、FaceLivenessDetector コンポーネントを使用するように React アプリケーションを設定します。

Face Liveness を使用する前に、AWS アカウントを作成し、AWS CLI と AWS SDK 、および AWS Amplify をセットアップしていることを確認してください。また、バックエンド API の IAM ポリシーに、`GetFaceLivenessSessionResults` と `CreateFaceLivenessSession` を実行できる権限があることを確認する必要があります。詳細については、「[前提条件](face-liveness-prerequisites.md)」セクションを参照してください。

## ステップ 1: CreateFaceLivenessSession
<a name="face-liveness-programming-api-create-session"></a>

CreateFaceLivenessSession API オペレーションは、Face Liveness セッションを作成し、固有の `SessionId` を返します。

このオペレーションに対する入力の一部として、Amazon S3 バケットの場所を指定することもできます。これにより、Face Liveness セッション中に生成されたリファレンスイメージと監査イメージを保存できます。Amazon S3 バケットは、発信元の AWS アカウント内にあり、かつ Face Liveness エンドポイントと同じリージョンにある必要があります。また、S3 オブジェクトキーは Face Liveness システムによって生成されます。

0～4 の数字の範囲で `AuditImagesLimit` を指定することもできます。デフォルトでは、0 に設定されています。返されるイメージ数はベストエフォートであり、自撮りビデオの再生時間に基づいています。

最後に、セッションでデフォルトとして使用するチャレンジのタイプとバージョンを含む、ChallengePreference を設定できます。デフォルトでは FaceLivenessMovementAndLightChallenge を使用しますが、FaceMovementChallenge にも設定できます。

**リクエストの例**

```
{
   "ClientRequestToken": "string",
   "KmsKeyId": "string",
   "Settings": { 
      "AuditImagesLimit": number,
      "ChallengePreferences": [ 
         { 
            "Type": "string",
            "Versions": { 
               "Maximum": "string",
               "Minimum": "string"
            }
         }
      ],
      "OutputConfig": { 
         "S3Bucket": "string",
         "S3KeyPrefix": "string"
      }
   }
}
```

**レスポンスの例**

```
{
    {"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
}
```

## ステップ 2: StartFaceLivenessSession
<a name="face-liveness-programming-api-start-session"></a>

CreateFaceLivenessSession API オペレーションが完了すると、AWS Amplify コンポーネントは StartFaceLivenessSession API オペレーションを実行します。ユーザーは自撮りビデオをキャプチャするように求められます。チェックを正常に行うには、ユーザーは適切な照明を保ちながら、顔を画面上の楕円形の中に配置する必要があります。詳細については、「[Face Liveness の使用に関する推奨事項](recommendations-liveness.md)」を参照してください。

この API オペレーションには、Face Liveness セッション中にキャプチャされたビデオ、CreateFaceLivenessSession API オペレーションから取得した sessionId、`onAnalysisComplete` コールバックが必要です。このコールバックを使用して、GetFaceLivenessSessionResults API オペレーションを呼び出すようにバックエンドに通知できます。これにより、信頼スコア、リファレンス、監査イメージが返されます。

このステップは、クライアントアプリケーションの AWS Amplify FaceLivenessDetector コンポーネントによって実行されることに注意してください。`StartFaceLivenessSession` を呼び出すための追加のセットアップは必要ありません。

## ステップ 3: GetFaceLivenessSessionResults
<a name="face-liveness-programming-api-get-session-results"></a>

GetFaceLivenessSessionResults API オペレーションは、特定の Face Liveness セッションの結果を取得します。sessionId を入力として必要とし、対応する Face Liveness の信頼スコアを返します。また、顔の境界ボックスを含むリファレンスイメージと、顔の境界ボックスを含む監査イメージも提供されます。Face Liveness の信頼スコアの範囲は 0～100 です。

**リクエストの例**

```
{"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
```

**レスポンスの例**

```
{
    "SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8",
    "Confidence": 98.9735,
    "ReferenceImage": {
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "file-name",
        },
        "BoundingBox": { 
           "Height": 0.4943420886993408, 
            "Left": 0.8435328006744385, 
            "Top": 0.8435328006744385, 
            "Width": 0.9521094560623169}
    },
    "AuditImages": [{
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "audit-image-name",
        },
        "BoundingBox": { 
           "Width": 0.6399999856948853,
           "Height": 0.47999998927116394,
           "Left": 0.1644444465637207,
           "Top": 0.17666666209697723}
    }],
    "Status": "SUCCEEDED"
}
```

## ステップ 4: 結果への対応
<a name="face-liveness-programming-api-respond-results"></a>

Face Liveness セッションの後、チェックの信頼スコアと指定されたしきい値を比較します。スコアがしきい値よりも高い場合、ユーザーは次の画面またはタスクに進めます。チェックに失敗すると、ユーザーに通知され、再試行するよう求められます。

# Face Liveness API を呼び出す
<a name="face-liveness-calling-apis"></a>

Amazon Rekognition Face Liveness は、AWS Python AWS SDK Boto3 や [AWS SDK for Java など、サポートされている任意の SDK ](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html)でテストできます。 [ Boto3](https://docs.aws.amazon.com/pythonsdk/) `CreateFaceLivenessSession` と `GetFaceLivenessSessionResults` API は、選択した SDK を使用して呼び出せます。次のセクションでは、Python および Java SDK を使用してこれらの API を呼び出す方法を説明します。

 **Face Liveness API を呼び出すには**: 
+ `AmazonRekognitionFullAccess` アクセス権限のあるユーザーをまだ作成または更新していない場合は、ここで行ってください。詳細については、「[Step 1: Set up an AWS account and create a User](https://docs.aws.amazon.com/rekognition/latest/dg/setting-up.html#setting-up-iam)」を参照してください。
+ まだ AWS CLI と AWS SDK をインストールして設定していない場合は、ここで行ってください。詳細については、「[Step 2: Set up the AWS CLI and AWS SDK](https://docs.aws.amazon.com/rekognition/latest/dg/setup-awscli-sdk.html)」を参照してください。

------
#### [ Python ]

次のスニペットは、Python アプリケーションでこれらの API を呼び出す方法を示しています。この例を実行するには、少なくともバージョン 1.26.110 の Boto3 SDK を使用する必要がありますが、最新バージョンの SDK が推奨されています。

```
import boto3

session = boto3.Session(profile_name='default') 
client = session.client('rekognition')

def create_session():

    response = client.create_face_liveness_session()
    
    session_id = response.get("SessionId")
    print('SessionId: ' + session_id)

    return session_id
    
    
def get_session_results(session_id):

    response = client.get_face_liveness_session_results(SessionId=session_id)
    
    confidence = response.get("Confidence")
    status = response.get("Status")
    
    print('Confidence: ' + "{:.2f}".format(confidence) + "%")
    print('Status: ' + status)
    
    return status


def main():
    session_id = create_session()
    print('Created a Face Liveness Session with ID: ' + session_id)
    
    status = get_session_results(session_id)
    print('Status of Face Liveness Session: ' + status)
        

if __name__ == "__main__":
    main()
```

------
#### [ Java ]

次のスニペットは、Java アプリケーションでこれらの API を呼び出す方法を示しています。

```
package aws.example.rekognition.liveness;

import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.AmazonRekognitionException;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionRequest;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionResult;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsRequest;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsResult;

public class DemoLivenessApplication {

    static AmazonRekognition rekognitionClient;

    public static void main(String[] args) throws Exception {
        
        rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
        
        try {
            String sessionId = createSession();
            System.out.println("Created a Face Liveness Session with ID: " + sessionId);
            
            String status = getSessionResults(sessionId);
            System.out.println("Status of Face Liveness Session: " + status);
        
        } catch(AmazonRekognitionException e) {
           e.printStackTrace();
        }
    }
    
    private static String createSession() throws Exception {
        
        CreateFaceLivenessSessionRequest request = new CreateFaceLivenessSessionRequest();
        CreateFaceLivenessSessionResult result = rekognitionClient.createFaceLivenessSession(request);
           
        String sessionId = result.getSessionId();
        System.out.println("SessionId: " + sessionId);
        
        return sessionId;
    }
    
    private static String getSessionResults(String sessionId) throws Exception {
        
        GetFaceLivenessSessionResultsRequest request = new GetFaceLivenessSessionResultsRequest().withSessionId(sessionId);
        GetFaceLivenessSessionResultsResult result = rekognitionClient.getFaceLivenessSessionResults(request);
          
        Float confidence = result.getConfidence();
        String status = result.getStatus();

        System.out.println("Confidence: " + confidence);
        System.out.println("status: " + status);
        
        return status;
    }   
}
```

------
#### [ Java V2 ]

次のスニペットは、Java V2 SDK を使用して Face Liveness APIs AWS を呼び出す方法を示しています。

```
package aws.example.rekognition.liveness;

import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.AmazonRekognitionException;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionRequest;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionResult;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsRequest;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsResult;

public class DemoLivenessApplication {

    static AmazonRekognition rekognitionClient;

    public static void main(String[] args) throws Exception {
        
        rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
        
        try {
            String sessionId = createSession();
            System.out.println("Created a Face Liveness Session with ID: " + sessionId);
            
            String status = getSessionResults(sessionId);
            System.out.println("Status of Face Liveness Session: " + status);
        
        } catch(AmazonRekognitionException e) {
           e.printStackTrace();
        }
    }
    
    private static String createSession() throws Exception {
        
        CreateFaceLivenessSessionRequest request = new CreateFaceLivenessSessionRequest();
        CreateFaceLivenessSessionResult result = rekognitionClient.createFaceLivenessSession(request);
           
        String sessionId = result.getSessionId();
        System.out.println("SessionId: " + sessionId);
        
        return sessionId;
    }
    
    private static String getSessionResults(String sessionId) throws Exception {
        
        GetFaceLivenessSessionResultsRequest request = new GetFaceLivenessSessionResultsRequest().withSessionId(sessionId);
        GetFaceLivenessSessionResultsResult result = rekognitionClient.getFaceLivenessSessionResults(request);
          
        Float confidence = result.getConfidence();
        String status = result.getStatus();

        System.out.println("Confidence: " + confidence);
        System.out.println("status: " + status);
        
        return status;
    }   
}
```

------
#### [ Node.Js ]

次のスニペットは、 AWS Node.Js SDK を使用して Face Liveness APIs を呼び出す方法を示しています。

```
const Rekognition = require("aws-sdk/clients/rekognition");

const rekognitionClient = new Rekognition({ region: "us-east-1" });

async function createSession() {
    const response = await rekognitionClient.createFaceLivenessSession().promise();

    const sessionId = response.SessionId;
    console.log("SessionId:", sessionId);

    return sessionId;
}

async function getSessionResults(sessionId) {
    const response = await rekognitionClient
        .getFaceLivenessSessionResults({
            SessionId: sessionId,
        })
        .promise();

    const confidence = response.Confidence;
    const status = response.Status;
    console.log("Confidence:", confidence);
    console.log("Status:", status);

    return status;
}

async function main() {
    const sessionId = await createSession();
    console.log("Created a Face Liveness Session with ID:", sessionId);

    const status = await getSessionResults(sessionId);
    console.log("Status of Face Liveness Session:", status);
}

main();
```

------
#### [ Node.Js (Javascript SDK v3) ]

次のスニペットは、 AWS Node.Js SDK for Javascript v3 を使用して Face Liveness APIs を呼び出す方法を示しています。

```
import { RekognitionClient, CreateFaceLivenessSessionCommand } from "@aws-sdk/client-rekognition"; // ES Modules 
import const { RekognitionClient, CreateFaceLivenessSessionCommand } = require("@aws-sdk/client-rekognition"); // CommonJS import
const client = new RekognitionClient(config);
const input = { 
  KmsKeyId: "STRING_VALUE",
  Settings: { 
    OutputConfig: { // LivenessOutputConfig
      S3Bucket: "STRING_VALUE", // required
      S3KeyPrefix: "STRING_VALUE",
    },
    AuditImagesLimit: Number("int"),
  },
  ClientRequestToken: "STRING_VALUE",
};
const command = new CreateFaceLivenessSessionCommand(input);
const response = await client.send(command);
// { // CreateFaceLivenessSessionResponse
//   SessionId: "STRING_VALUE", // required
// };
```

------

# アプリケーションの設定とカスタマイズ
<a name="face-liveness-configure-cutomize-amplify"></a>

## アプリケーションの設定
<a name="face-liveness-configuring-amplify.title"></a>

Face Liveness アプリケーションは、モバイルデバイスでもデスクトップウェブブラウザでも動作します。Face Liveness コンポーネントは、選択したソリューションと統合するように設定する必要があります。また、アプリケーションにデバイスのカメラを使用する権限があることも確認する必要があります。[Amplify Liveness ガイド](https://ui.docs.amplify.aws/react/connected-components/liveness)には、以下の方法に関する詳細な説明が記載されています。
+  AWS Amplify をインストールして設定する
+  FaceLivenessDetector コンポーネントをインポートしてレンダリングする 
+  コールバックをリッスンする 
+  Amplify のサンプルエラーメッセージ 

## アプリケーションをカスタマイズする
<a name="face-liveness-customize-amplify.title"></a>

[AWS Amplify](https://ui.docs.amplify.aws/react/getting-started/introduction) を使用して、Liveness アプリケーションの特定のコンポーネントをカスタマイズできます。

翻訳の詳細については、[Amplify Authenticator](https://ui.docs.amplify.aws/react/connected-components/authenticator/customization#internationalization-i18n) を参照してください。

Amplify コンポーネントとテーマのカスタマイズについては、[テーマ](https://ui.docs.amplify.aws/react/theming)に関する Amplify のドキュメントを参照してください。

# Face Liveness の責任共有モデル
<a name="face-liveness-shared-responsibility-model"></a>

 

セキュリティとコンプライアンスは AWS とお客様との間で共有される責任です。AWS 責任共有モデルの詳細については、[こちら](https://aws.amazon.com/compliance/shared-responsibility-model/)をご覧ください。

1.  AWS サービスへの呼び出し (クライアントアプリケーションまたはお客様のバックエンドを経由) はすべて AWS Auth (AWS 認証) で認証および承認されます。この認証作業は、Face Liveness のサービスオーナーの責任です。

1.  (クライアントアプリケーションからの) お客様のバックエンドへの呼び出しはすべて、お客様を介して認証および承認されます。この責任はお客様にあります。お客様は、クライアントアプリケーションからの呼び出しが認証され、何らかの方法で操作されていないことを確認する必要があります。

1.  お客様のバックエンドは、Face Liveness チャレンジを実行しているエンドユーザーを特定する必要があります。エンドユーザーを Face Liveness セッションに結び付けるのはお客様の責任です。Face Liveness サービスはエンドユーザーを区別しません。識別できるのは発信元の AWS アイデンティティ (お客様によって処理される) のみです。

1. AWS では、ユースケースの要件とセキュリティ体制に沿った Face Liveness に加えて、位置情報 (IP に基づくなど）、ワンタイムパスコード (OTPs) などの追加の検証チェックを適用することを推奨しています。

FaceMovementAndLightChallenge」設定は、ユーザーが顔を画面に向かって移動し、一連の点滅するライトを動かさないようにすることで、Rekognition Liveness に最高の精度を提供します。このデフォルト設定を使用することをお勧めします。または、「FaceMovementChallenge」設定を有効にすると、点滅するライトがなくなるため、チェック時間が数秒短縮されます。「FaceMovementAndLightChallenge」は精度を最大化するための最適な設定のままですが、「FaceMovementChallenge」を使用すると、お客様はより高速なライブネスチェックを優先できます。これらの設定から選択するときは、予想される攻撃タイプ、希望する誤承認率、誤拒否率などのユースケース要件を検討し、位置情報 (IP に基づくなど）、ワンタイムパスコード (OTPs) などの追加のチェックを実装する必要があります。お客様は、ユースケースに応じてさまざまな信頼スコアのしきい値で Liveness のパフォーマンスをテストした後に、この決定を行う必要があります。お客様は、動画の送信元のデバイスを保護するためのコントロールを実装する責任があります。

次のフロー図は、どの呼び出しが AWS のサービスまたはお客様によって認証されるかを示しています。

![\[ライブネス検出フロー図。顔の安全なライブネスチェックセッションのための、クライアントアプリケーション、顔のライブネス検出コンポーネント、顧客のバックエンド、Rekognition サービス、および Rekognition ストリーミングサービス間のやり取りが示されている。\]](http://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/images/SequenceDiagramLivenessFlow-v5.png)


Amazon Rekognition Face Liveness サービスへのすべての呼び出しは、AWS 認証 (AWS 署名メカニズムを使用) によって保護されます。これには以下の呼び出しが含まれます。
+  [3] [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html) API コール (お客様のバックエンドから) 
+  [7] [StartFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html) API コール (クライアントアプリケーションから) 
+  [11] [GetFaceLivenessSessionResults](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html) API コール (お客様のバックエンドから) 

お客様のバックエンドへのすべての呼び出しには、認証と認可のメカニズムが必要です。お客様は、使用されているサードパーティーのコード/ライブラリなどがアクティブに保守および開発されていることを確認する必要があります。また、お客様は、正しいエンドユーザーが正しい Face Liveness セッションを呼び出していることを確認する必要があります。お客様は以下のフローを認証して認可する必要があります。
+  [2] Face Liveness セッションの作成 (クライアントアプリケーションから) 
+  [10] Face Liveness セッションの結果の取得 (クライアントアプリケーションから) 

お客様は [STRIDE](https://owasp.org/www-community/Threat_Modeling_Process#stride-threat-list) セキュリティモデルに従って API コールが保護されていることを確認できます。


| 
| 
| タイプ | 説明 | セキュリティコントロール | 
| --- |--- |--- |
| Spoofing | Threat action aimed at accessing and use of another user’s credentials, such as username and password. | Authentication | 
| Tampering | Threat action intending to maliciously change or modify persistent data. Examples include records in a database, and the alteration of data in transit between two computers over an open network, such as the internet. | Integrity | 
| Repudiation | Threat action aimed at performing prohibited operations in a system that lacks the ability to trace the operations. | Non-Repudiation | 
| Information disclosure | Threat action intending to read a file that one was not granted access to, or to read data in transit. | Confidentiality | 
| Denial of service | Threat action attempting to deny access to valid users, such as by making a web server temporarily unavailable or unusable. | Availability | 
| Elevation of privilege | Threat action intending to gain privileged access to resources in order to gain unauthorized access to information or to compromise a system. | Authorization | 

AWS は次の方法で接続を保護します。

1.  リクエストの署名を計算し、サービス側で署名を検証します。リクエストはこの署名を使用して**認証されます**。

1.  AWS のお客様は、特定のアクション/オペレーションを**承認**するための適切な IAM ロールをセットアップ必要があります。これらの IAM ロールは AWS のサービスへの呼び出しを行うために必要なものです。

1.  AWS のサービスへのリクエストは HTTPS のみが許可されます。リクエストは TLS を使用してオープンネットワークで暗号化されます。これにより、リクエストの**機密性**が保護され、リクエストの**完全性**が維持されます。

1. AWS のサービスは、お客様からの呼び出しを識別するのに十分なデータをログに記録します。これにより、***否認***攻撃を防げます。

1.  AWS のサービスは十分な**可用性**を維持しています。

お客様は、以下の方法でサービスと API コールを保護する責任があります。

1.  お客様は、適切な認証メカニズムに従っていることを確認する必要があります。リクエストの認証には、さまざまな認証メカニズムを使用できます。お客様は、[ダイジェストベースの認証](https://en.wikipedia.org/wiki/Digest_access_authentication)、[OAuth](https://oauth.net/)、[OpenID 接続](https://openid.net/connect/)、その他のメカニズムを利用できます。

1.  お客様は、サービス API コールを行うための適切な暗号化チャンネル (TLS/HTTPS など) をサービスがサポートしていることを確認する必要があります。

1.  お客様は、API コールと発信者を一意に識別するのに必要なデータをログに記録する必要があります。定義されたパラメータと呼び出し時刻を使用して、API を呼び出しているクライアントを識別できるようにする必要があります。

1.  お客様は、システムが利用可能であることと、[DDoS 攻撃](https://en.wikipedia.org/wiki/Denial-of-service_attack)から保護されていることを確認する必要があります。DDoS 攻撃に対する[防御技術](https://en.wikipedia.org/wiki/Denial-of-service_attack#Defense_techniques)の例をいくつか紹介します。

お客様は、アプリケーションを最新の状態に維持する責任があります。詳細については、「[Face Liveness の更新に関するガイドライン](face-liveness-update-guidelines.md)」を参照してください。

# Face Liveness の更新に関するガイドライン
<a name="face-liveness-update-guidelines"></a>

 AWS は、定期的に Face AWS SDKs (お客様のバックエンドで使用) AWS と Amplify SDKs (クライアントアプリケーションで使用) の FaceLivenessDetector コンポーネントを更新して、新機能、更新された APIs、強化されたセキュリティ、バグ修正、ユーザビリティの向上などを提供します。機能が最適に動作するように、SDK を最新の状態に保つことをお勧めします。古いバージョンの SDK を引き続き使用すると、保守性やセキュリティ上の理由からリクエストがブロックされる可能性があります。

Face Liveness では、Amplify SDKs (React、iOS、Android) に含まれている FaceLivenessDetector AWS コンポーネントを使用する必要があります。

## バージョニングとタイムフレーム
<a name="face-liveness-update-guidelines-versioning"></a>

Face Liveness 機能の以下の主要コンポーネントは、AWS によってバージョニングされています。その際、セマンティックバージョニング形式に従います。例えば、X.Y.Z のバージョン形式では、X はメジャーバージョン、Y はマイナーバージョン、Z はパッチバージョンを表します。
+ Face Liveness のユーザーチャレンジ (FaceMovementAndLightChallenge チャレンジなど) は StartFaceLivenessSession API の一部です。
+ Amplify SDKs を介して配信される FaceLivenessDetector AWS コンポーネントは、クライアントアプリケーションで使用されます。

*メジャー*バージョン: 重大なセキュリティ、API の破損、ユーザビリティの更新の致命的な問題に対処するため、メジャーバージョンの更新が予約されています。Face Liveness の機能を引き続き使用するには、アプリケーションとお客様のバックエンドをできるだけ早く更新する必要があります。新しいメジャーバージョンがリリースされると、その日から 120 日間、以前のメジャーバージョンがサポートされます。120 日経過すると、以前のメジャーバージョンからのリクエストがブロックされる場合があります。

*マイナー*バージョン: セキュリティやユーザビリティに関する重要な機能や改善に対応するため、マイナーバージョンの更新が予約されています。これらの更新を適用することを強くお勧めします。マイナー更新の下位互換性をできるだけ長く維持できるよう努めていますが、新しいマイナーバージョンがリリースされてから 180 日後に、以前のマイナーバージョンのサポートの終了を発表することがあります。

*パッチ*バージョン: パッチバージョンの更新は、オプションのバグ修正や改善に対応するためのものです。最高のセキュリティとユーザーエクスペリエンスを実現するために、ご使用のバージョンを最新の状態に保つことをお勧めしますが、新しいメジャーバージョンまたはマイナーバージョンがリリースされるまでは、パッチアップデートの完全な下位互換性を維持できるよう努めています。

バージョニング期間 (メジャーは 120 日、マイナーは 180 日) は、アプリケーション内の SDK を更新したり、アプリケーションストアまたはウェブサイトへのアプリケーションをアップロードしたり、ユーザーがアプリケーションの最新バージョンをダウンロードしたりする場合に適用されます。

## バージョンリリースと互換性マトリックス
<a name="face-liveness-update-guidelines-compatibility"></a>

FaceLivenessDetector コンポーネントのメジャーバージョンまたはユーザーチャレンジのリリースは、多くの場合同時に行われます。バージョンの依存関係を把握しやすくするには、以下の表にリンクされているリソースを参照してください。

**SDK バージョンと変更ログ:**


|  |  |  | 
| --- |--- |--- |
| FaceLivenessDetector for web SDK | FaceLivenessDetector for iOS SDK | FaceLivenessDetector for Android SDK | 
| [現在のバージョン](https://www.npmjs.com/package/@aws-amplify/ui-react-liveness) | [ 変更ログ](https://github.com/aws-amplify/amplify-ui/blob/main/packages/react-liveness/CHANGELOG.md) | [現在のバージョン/変更ログ](https://github.com/aws-amplify/amplify-ui-swift-liveness/releases) | [現在のバージョン/変更ログ](https://github.com/aws-amplify/amplify-ui-android/releases) | 

 **ユーザーチャレンジ:** 


|  |  |  |  | 
| --- |--- |--- |--- |
| Challenge Name | Version | Release date | Retire date | 
| FaceMovementAndLightChallenge | v1.0.0 | 4/10/2023 | N/A | 
| FaceMovementChallenge | v1.0.0 | 4/30/2025 | N/A | 

## 新しいリリースの通知
<a name="face-liveness-update-guidelines-communication"></a>

 AWS は、次のチャネルを通じて新しいリリースを通信します。
+ Face Liveness アカウント ID に関連付けられたアカウントメールアドレスにサービスヘルスの更新メール通知が送信されます。
+ 各 GitHub リポジトリで AWS SDKsおよび関連する通知の更新を公開しました。
+ Amplify SDK AWS の更新と関連する通知を各 GitHub リポジトリに公開しました。 SDKs 

最新情報を入手するには、これらのチャンネルをサブスクライブすることをお勧めします。

# Face Liveness に関するよくある質問
<a name="face-liveness-faq"></a>

以下の FAQ 項目を参照して、Rekognition Face Liveness に関するよくある質問の回答を見つけてください。
+ **Face Liveness チェックの出力はどのようなものですか?**

  

  Rekognition Face Liveness は、すべてのライブネスチェックに対して以下の出力を提供します。
  + 信頼スコア: 0～100 の範囲で数値スコアが返されます。このスコアは、自撮りビデオが実在の人物によって撮影されたもので、悪質ななりすまし行為ではない可能性を示します。
  + 高品質イメージ: 自撮りビデオから 1 つの高品質イメージが抽出されます。このフレームは、顔の比較、年齢推定、顔の検索など、さまざまな用途に利用できます。
  + 監査イメージ: 自撮りビデオから最大 4 つのイメージが返され、監査証跡に使用できます。
+ **Rekognition Face Liveness は iBeta プレゼンテーション攻撃検出 (PAD) テストに準拠していますか?**

  

  iBeta Quality Assurance のプレゼンテーション攻撃検出 (PAD) 試験は ISO/IEC 30107-3 に従って実施されます。iBeta は NIST/NVLAP の認定を受けており、この PAD 規格に準拠したテストと結果の提供を行っています。Rekognition Face Liveness は、iBeta プレゼンテーション攻撃検出 (PAD) の適合性テスト (レベル 1 とレベル 2) に合格し、PAD スコアは満点でした。[レポートは iBeta のウェブページに掲載されています。](https://www.ibeta.com/wp-content/uploads/2023/10/231019-Amazon-Rekognition-PAD-Level-2-Confirmation-Letter.pdf)
+ **高品質のフレームと追加のフレームを入手するにはどうすればよいですか?**

  

  [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html) API リクエストの設定に応じて、高品質のフレームと追加のフレームを未加工のバイトとして返すか、指定した Amazon S3 バケットにアップロードできます。
+ **楕円形や色付きのライトの位置を変更できますか?**

  

  いいえ。楕円形の位置と色付きのライトは精度向上のための機能あるため、カスタマイズできません。
+ **アプリケーションに合わせてユーザーインターフェイスをカスタマイズできますか?**

  

  はい。テーマ、色、言語、テキストコンテンツ、フォントなど、ほとんどの画面コンポーネントをアプリケーションに合わせてカスタマイズできます。これらのコンポーネントをカスタマイズする方法の詳細は、[React](https://ui.docs.amplify.aws/react/connected-components/liveness)、[Swift](https://ui.docs.amplify.aws/swift/connected-components/liveness)、[Android](https://ui.docs.amplify.aws/android/connected-components/liveness) の UI コンポーネントのドキュメントに記載されています。
+ **顔を楕円形の位置に配置する際のカウントダウン時間やフィット時間はカスタマイズできますか?**

  

  いいえ、カウントダウン時間や顔のフィット時間は、精度向上とレイテンシーの最適なバランスを保つことを目的として、数千人のユーザーを対象とした大規模な社内調査に基づいて事前に決定されています。そのため、これらの時間設定はカスタマイズできません。
+ **異なる色のライトはアクセシビリティガイドラインに準拠していますか?**

  

  はい。当社製品のさまざまな色のライトは、WCAG 2.1 で概説されているアクセシビリティガイドラインに準拠しています。何千回ものユーザーチェックで確認されているように、ユーザーエクスペリエンスでは 1 秒あたり約 2 色が表示されます。これは、1 秒あたり 3 色に制限するという推奨事項に準拠しています。これにより、大勢の人に対しててんかん発作を引き起こす可能性を抑えています。
+ **SDK は最適な結果を得るために画面の明るさを調整していますか?**

  

  Face Liveness モバイル SDK (Android および iOS 用) は、チェックが開始されると自動的に明るさを調整します。ただし、ウェブ SDK の場合、ウェブページには自動輝度調整ができないという制限があります。このような場合、ウェブアプリケーションは、最適な結果を得るために画面の明るさを手動で上げるようエンドユーザーに促します。
+ **楕円形にする必要はありますか? 他の似たような形は使用できますか?**

  

  いいえ、楕円形のサイズ、形、位置はカスタマイズできません。特定の楕円形のデザインは、顔の動きを正確に捉えて分析する際に効果を発揮できるよう慎重に選択されています。そのため、楕円形は変更できません。
+ **エンドツーエンドのレイテンシーはどのくらいですか?**

  

  Liveness チェックの完了に必要なアクションをユーザーが開始してから、結果 (合格または不合格) を取得するまでのエンドツーエンドのレイテンシーが測定されます。最適なケースのレイテンシーは 5 秒です。平均すると、約 7 秒になると予想されます。最悪なケースのレイテンシーは 11 秒です。エンドツーエンドのレイテンシーには、ユーザーが必要なアクションを完了する時間 (例えば、顔を楕円形の位置に移動する)、ネットワーク接続、アプリケーションのレイテンシーなどによってばらつきが見られます。
+ **Amplify SDK がなくても Face Liveness 機能は使用できますか?**

  

  いいえ、Rekognition Face Liveness 機能を使用するには Amplify SDK が必要です。
+ **Face Liveness に関連するエラー状態はどこで確認できますか?**

  

  Face Liveness のさまざまなエラー状態は、[こちら](https://ui.docs.amplify.aws/react/connected-components/liveness#error-states)で確認できます。
+ **使用中のリージョンで Face Liveness を利用できません。この機能はどうすれば使用できますか?**

  

  Face Liveness が利用可能なリージョンであれば、トラフィックの負荷や近接性に応じて、Face Liveness を呼び出せます。顔のライブネスは現在、次の AWS リージョンで利用できます。
  + 米国東部 (バージニア北部)
  + 米国西部 (オレゴン)
  + 欧州 (アイルランド)
  + アジアパシフィック (東京、ムンバイ)

   AWS アカウントが別のリージョンにある場合でも、レイテンシーの差は大きくないと予想されます。高品質の自撮りフレームと監査イメージは、Amazon S3 の場所または raw バイトで取得できますが、Amazon S3 バケットは Face Liveness の AWS リージョンと一致する必要があります。これらが異なる場合は、イメージを未加工のバイトとして受け取る必要があります。
+ **Amazon Rekognition Liveness 検出では、カスタマーコンテンツを使用してサービスを改善していますか?**

  

  お客様は、 AWS Organizations のオプトアウトポリシーを使用することにより、Rekognition やその他の Amazon 機械学習/人工知能技術の品質向上または開発を目的としてお客様のイメージやビデオの入力が使用されることを拒否できます。オプトアウトの方法については、「[AI サービスのオプトアウトポリシー](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)」を参照してください。