Key Management Service API参照書にショートカット >>
Key Management Serviceマニュアルにショートカット >>

Key Management Serviceとは?

Key Management Serviceは暗号機能の運用/具現のために必ず必要な要素である'暗号キーの管理'機能を提供するサービスです。安全性を最優先に考慮した高可用性システムで厳しく管理されるキーを利用し、顧客のクレデンシャルを安全に保護できます。キーの使用権限およびステータスの管理はコンソールで簡単に利用でき、Rest APIを利用してキーを暗号化/復号化する機能を使用できます。

一般的にデータを保護するためには暗号化を利用します。しかし、暗号化を適用したことでデータが完璧に保護されるわけではありません。データの保護がいかにきちんと行われているかの基準は単純に暗号化の適用になってはなりません。データの保護には暗号化のキーがどのように管理されているのかが最も重要です。キーは安全なキー管理ソリューションを利用して管理するのが最も望ましいです。この場合、深刻に考慮すべき要素はデータ統制権の保障です。データ統制権の保障とは、必要な時点にデータにアクセスできなければならないのはもちろん、許可されていないアクセスは根本的に遮断されなければならないことを意味するアクセス制御の原則です。キーを外部に委託して保管する場合、データの復号化が可能な外部の接点が増え、データ統制権への脅威は増加します。

最もよく知られている安全な暗号化キー管理の事例のひとつは、キーを階層的に管理することです。つまり、データの暗号化に直接利用されるキーをもう1つのキーで暗号化して保護します。この際、キーを暗号化するもう1つのキーを一般的にマスタキーをいいます。マスタキーを組織の内部/外部のキー管理ソリューションを利用して管理すれば、データ統制権への脅威を減らすことができます。このような暗号化方式を'エンベロープ暗号化(Envelope Encryption)'ともいいます。つまり、データを直接暗号化して保護するのではなく、データを暗号化した暗号方式を保護することで、データの気密性と統制権をすべて満足させることができます。

このように、Key Management Serviceはデータを保護するサービスというよりは、データ保護のためのベースを提供するサービスです。次の内容をもとにさらに詳しく説明します。

始める前に

用語

本マニュアルで使用する用語に関する説明は次の通りです。

  • 暗号化
    キーを利用してデータ(平文)を無作為操作し、意味を把握できない情報(暗号文)に変換する過程です。
  • 復号化
    暗号化を使って変換された暗号文を元のデータ(平文)に変換する過程です。
  • 対称キー方式の暗号化
    暗号化と復号化に同一のキーを利用する暗号方式です。データビットに置換と変位を繰り返して実行し、暗号文/平文を作成します。データの気密性を保障するための暗号化には一般的に対称キー方式を利用します。
  • 非対称キー方式の暗号化
    データの暗号化と復号化にそれぞれのキーを利用する暗号方式です。データとキーを数学的な原理を利用して計算し、暗号文/平文を作成します。この際、利用されるキーは公開されるキーの値と気密性を維持して保護しなければならないキーの値のペアになっており、公開キー方式の暗号化ともいいます。
  • クレデンシャル
    データキーのみならずパスワード、証明書の個人キーなど、資格証明に利用されるすべてのデータを指します。
  • マスタキー(またはキー)
    顧客がKey Management Serviceに作成して管理するキーを意味します。どのような場合でも(システムの運用者であっても)キーの値を直接確認することはできず、Key Management Serviceシステムの外部に公開されません。一般的にデータキーまたはクレデンシャルを封印するために使うのが望ましいです。Key Management Service利用ガイドではキーまたはマスタキーという用語でいいます。
  • データキー
    データの暗号化に直接適用されるキーです。顧客が自ら管理するキーを意味し、本ガイドではデータキーという用語で区分していいます。
  • ルートキー
    Key Management Serviceシステムを保護するシステムの最上位のキーです。Key Management Serviceのすべてのキーデータはルートキーで暗号化され、ストレージに保存されます。
  • 封印
    データキーまたはクレデンシャルを暗号化する行為を意味します。
  • 回転
    様々な暗号学的脅威に備えてキーを更新する作業です。
  • キーストレージ
    Key Management Serviceを利用する顧客当たり1つずつ作成されるキー保存のスペースです。顧客が作成するキーはここに保存され、Key Management Serviceコンソールを利用してアクセスおよび管理できます。

Key Management Serviceのキー管理のポリシー

データキー

顧客によって管理されるキーで、データの暗号化/復号化に直接利用されます。Key Management Serviceの利用により管理されるキーで保護すれば、管理の面の負担を軽くすることができます。Key Management Serviceを利用してデータキーを保護する方法には2つがあります。データキーを顧客が自ら作成してマスタキーで封印する方法と、Key Management Serviceのデータキー作成のAPIを利用する方法です。後者の方法を利用すれば、安全に作成された任意のデータキーをマスタキーで封印された形で得られるため、有用です。

マスタキー

顧客がKey Management Serviceに作成したキーで、作成および回転、削除まですべて顧客の管理のもとで運用されます。キーストレージ内のすべてのキーを管理するKey Management Serviceの管理者または割り当てられたキーのみを管理するキーマネージャーの権限を持ったユーザーはコンソールを利用して便利にキーを管理できます。

ルートキー

顧客が作成したキーはシステム運用キーまたはルートキーと呼ばれるキーで、暗号化されてKey Management Serviceの内部ストレージに保存されます。ルートキーは安全なキー作成手順によって作成されます。その後、ルートキーも同じように顧客のキーと同一の管理ポリシーによって運用されます。例えば、ルートキーも1年以内に回転および更新され、オフラインで設定されたアクセス権限を持った少数のユーザーのみが管理の目的でアクセスできます。ルートキーの紛失またはルートキー管理者の万が一の悪意を持った行為に備えて、ルートキーは多数の切れに分割されてそれぞれの物理的なセキュリティ媒体に保存されます。このキーの切れを管理する3人の管理者が物理的なセキュリティ媒体を封印すると、システムが運用されるIDCに設置された耐火データ金庫にそれぞれの地域に隔離されて保管されます。一度封印されたキーは厳しい手順に基づいてアクセスの制御が行われます。

Key Management Serviceの使用

Key Management Service利用の申込みを完了した顧客には固有のキーストレージが作成されます。作成されたキーはすべて顧客のキーストレージ内に作成され、保有した権限によってキーを管理および使用できます。キーストレージにキーを作成して管理するためにはコンソールにアクセスする権限の設定が必要です。

1. Key Management Serviceコンソールへのアクセス

Key Management Serviceコンソールを利用してキーストレージにアクセスするためにはKey Management Serviceの管理者または使用者の権限のうち1つが必要です。Key Management Serviceの管理者はKey Management Serviceのキーストレージ内のすべてのキーを管理するユーザーで、コンソールにアクセスしてすべてのキーに対する管理機能を利用できます。Key Management Serviceの使用者はキーストレージの使用権限を持ったユーザーで、コンソールにアクセスして使用権限が与えられたキーに限って確認できます。

Key Management Serviceの管理者権限の付与

① 特定のユーザーにKey Management Serviceの管理者権限を与えるためには、まずSub Accountsサービスを選択します。

② Key Management Serviceの管理者権限を与える対象のサブアカウントを選択します。

③ サブアカウントの詳細画面でポリシーの追加を選択します。

④ 選択されたサブアカウントのポリシーにNCP_KMS_MANAGERポリシーを追加します。

Key Management Serviceの使用者権限の付与

① 特定のユーザーにKey Management Serviceの使用者権限を与えるためには、まずSub Accountsサービスを選択した後、Key Management Serviceの使用者権限を与える対象のサブアカウントを選択します。

② サブアカウントの詳細画面でポリシーの追加を選択します。

③ 選択されたサブアカウントのポリシーにNCP_KMS_USERポリシーを追加します。

2. キーの作成

キーの作成のためにはNCP_KMS_MANAGER(Key Management Serviceの管理者)の権限が必要です。

① まず、キーを作成ボタンを押してキーストレージにキーを作成します。

② キーを作成するためにキーの情報を入力します。

  • キー名
    キーの固有の名前です。1人の顧客のキーストレージで他のキー名と同じ名前を重複して持つことはできません。
  • 用途
    大きく対称キー方式と非対称キー方式の2つのタイプがあり、それぞれ'暗号化/復号化'と'署名/検証'に利用されます。暗号化/復号化は最大32KBサイズのデータを保護でき、主にクレデンシャルの封印に使われます。署名/検証は最大8KBサイズのメッセージの署名の値を作成して、検証できます。それぞれに使われるキーの方式は次の通りです。

    暗号化/復号化 : AES256-GCM96
    暗号化/復号化および署名/検証 : RSA-2048
    署名/検証 : ECDSA-P256

  • 回転周期
    暗号学的な攻撃に備えて暗号化キーは周期的に'回転'という作業によって更新されなければなりません。キーは1年(365日)以内に回転することをお勧めしています。キーが回転されて新しいバージョンに更新されたら、以前のバージョンのキーを利用していたユーザーはできるだけ早く新しいバージョンのキーに更新(reencrypt)処理しなければなりません。
  • メモ
    キーに関する簡単な説明を追加できます。

③ タイトルでキーの合計数を直ちに確認できます。作成されたキーの情報を確認します。

  • ステータス
    キーの現在のステータスと最も最近使われた時期を確認できます。ステータスに関する詳しい内容は5. キーのステータスの管理をご参考ください。
  • キーTag
    キー名とともにキーを区分する固有の情報です。キーTagはRest APIの暗号化/復号化機能を利用する際に使います。 機密情報として取り扱われません。
  • タイプ
    キーが使用する暗号方式を表示します。
  • バージョン
    現在のバージョンを確認します。詳細表示のウィンドウではキーに接続されたバージョン全体と更新日時を確認できます。バージョンに関する詳しい内容は4. キーのバージョンの管理をご参考ください。
  • 回転周期
    キーが自動で回転される周期を'日'単位で表示します。
  • 使用回数
    キーを利用して暗号化/復号化機能が呼び出された回数を表示します。(Client Rest APIの呼び出しの回数と同じです。)

3. キーの使用権限の管理

キーを使用するためには使用権限が必要であり、権限はアカウントに役割をマッピングして管理します。(権限 = サブアカウント + 役割)キーの使用権限はサブアカウントのみに与えられます。サブアカウントの作成が必要な場合はSub Accountsをご参考ください。キーの権限の管理のためにはNCP_KMS_MANAGER(Key Management Serviceの管理者)またはKMS_KEY_MANAGER(キー管理者)の権限が必要です。

役割

  • Manager
    キーの管理者で、キーの管理および削除が可能です。それだけでなく、キーを利用して実行できるすべての機能を使うことができます。
  • Encryptor
    キーを使って暗号化および署名機能のみを使える使用者です。
  • Decryptor
    キーを使って復号化および検証機能のみを使える使用者です。
  • Encryptor/Decryptor
    キーを使って暗号化/復号化および署名/検証機能をすべて使える使用者です。
  • Reviewer
    キーの使用履歴を照会できる使用者です。例えば、キーを利用して暗号化/復号化は直接行わないが、キーがうまく使われているのかなどに関する現況を照会しようとするユーザーに権限を与えます。

サブアカウントへのキーの使用権限の付与

キーの権限の管理を選択します。

キーの権限の管理ウィンドウでは現在のキーの使用権限リストを確認できます。現在は誰にも使用権限が与えられていません。

③ サブアカウントとキーを使用する役割を選択してキーの使用権限を追加します。キーの使用権限が与えられたサブアカウントに権限付与のアラームが送信されます。

サブアカウントのキーの使用権限の削除

① キーの使用権限リストから削除する権限を確認して削除します。すでに削除された権限のサブアカウント使用者は削除された役割ではキーの使用が不可能です。キーの使用権限が削除されたサブアカウントに権限削除のアラームが送信されます。

4. キーのバージョンの管理

すべてのキーはバージョンで区分されます。キーが最初に作成されるとバージョン1になり、その後は回転によって更新されます。暗号化/復号化機能を利用する際、正確なバージョンが設定されてこそ、正しい結果を得ることができます。キーが回転されてバージョンが更新されると、以前のバージョンのキーはそれ以上暗号化には使用できず、復号化の用途のみで使用できます。暗号化機能は最新のバージョンのキーのみで利用できます。キーのバージョンの管理のためにはNCP_KMS_MANAGER(Key Management Serviceの管理者)またはKMS_KEY_MANAGER(キー管理者)の権限が必要です。KMS_KEY_REVIEWER(キーレビュアー)はバージョンの情報のみ確認できます。

回転

すべてのキーは作成の際に設定された回転周期に合わせて自動で回転を行います。(回転周期を指定していない場合は基本90日に設定)自動回転とは別に手動回転も可能です。ただし、手動回転を行うことは次の回転日程に影響を与えません。例えば、90日の回転周期を持つキーが次の回転日まで10日が残っている時点に手動回転を行うとすれば、このキーは10日後に予定通り自動回転を行います。手動回転は現在のキーのバージョンを直ちに更新しなければならない場合に使います。

手動でのキーの回転

① キーを手動で回転させて新しいバージョンに更新するためにキーの回転を選択します。

② 確認を押してキーを回転させます。キーが回転されると、キーの使用権限を持っているサブアカウントにキーの回転のアラームが送信されます。

③ 現在のバージョンを確認します。

回転周期の変更

① 設定された回転周期の変更のためにキーの情報で回転周期Editを選択します。

② 変更しようとする周期を'日'単位で入力します。

③ 変更された周期は現在より次の回転日として設定された日に反映されます。つまり、このキーは次の回転日である2018年4月19日に自動回転が行われた後、変更された回転周期の120日が反映され、その次の自動回転日が設定されます。

バージョンのステータスの管理

キーが回転されたなら、できるだけ早く'再暗号化'を行って以前のバージョンを無効にしたほうがいいです。無効になったバージョンはそれ以上使えません。再暗号化に関する機能はKey Management Service Rest APIで確認してください。

① キーのバージョンを確認するために、キーの情報で現在のバージョンの詳細を見るを選択します。

② バージョン情報のウィンドウではキーのすべてのバージョンの情報を確認できます。

③ 無効にしたいバージョンを選択した後、バージョンを無効にするを選択します。

④ 無効になったバージョンを確認します。

⑤ 無効になったバージョンは再び有効に転換できます。無効になっているバージョンを選択してバージョンを有効にするを選択します。

⑥ 有効になったバージョンを確認します。

5. キーのステータスの管理

すべての暗号キーは明確な一定の基準に従って管理されなければなりません。キーは内部的に次のようなライフサイクルを持ち、すべてのライフサイクルは顧客によって管理されます。また、キーのステータスは該当のキーのすべてのバージョンに相続されます。例えば、3つのバージョンを持っているキーのステータスが使用中止に転換されると、3つのバージョンすべて使用中止ステータスになります。再び有効になって使用可能ステータスになると、バージョンのステータスは自動で以前持っていたステータスに戻ります。キーのステータスの管理のためにはNCP_KMS_MANAGER(Key Management Serviceの管理者)またはKMS_KEY_MANAGER(キー管理者)の権限が必要です。

ステータス

  • 使用可能
    すべての暗号化/復号化のリクエストに使えるキーです。作成されたキーは自動で有効になり、使用可能ステータスに転換されます。そして、いつでも無効にして使用を中止することができます。使用可能ステータスのキーは管理課金の対象です。
  • 使用中止
    無効になって使用が中止されたキーで、いつでも再び有効にして使用可能ステータスに転換できます。いつでも使用可能な状態を維持するために、使用中止ステータスのキーは回転スケジュールに従います。つまり、使用中止ステータスのキーであっても次の回転日に予定通り回転を行い、新しいバージョンに更新されます。使用中止ステータスのキーは暗号化/復号化のリクエストに使えないので、ご注意ください。使用中止ステータスのキーは管理課金の対象です。
  • 削除リクエスト
    それ以上使わないキーは削除して誤使用および不要な維持/管理をなくさなければなりません。削除リクエストステータスのキーは顧客がキー削除のリクエストをしてから72時間後、永久削除されます。顧客のリクエストによって削除されたキーはどのような状況でも復元できません。削除リクエストの際は現在使っているユーザーがいないか確認した後、慎重に削除のリクエストを行ってください。最終的な削除までは削除のリクエストはキャンセルでき、削除のリクエストがキャンセルされたキーは直ちに使用中止ステータスに転換されます。もし、該当のキーのユーザーが全くいない状況で、キーを直ちに削除してもデータ流失の懸念が大きくない場合は72時間の待機時間は不要かもしれません。キーを直ちに削除したい場合、削除のリクエストをすると有効になる直ちに削除ボタンをクリックしてください。
  • 削除
    永久削除されたキーで、顧客は直接確認できません。Key Management Serviceの中でもキー自体は削除されており、キーの情報および使用履歴などの管理情報のみ照会可能なステータスです。(お客様センターにリクエスト)削除されたキーの管理情報は1年間維持された後、削除されます。管理情報を直ちに削除する必要がある場合、お客様センターを利用して管理情報の削除をリクエストしてください。

キーを無効にする

① 使用可能ステータスのキーを選択してキーを無効にするボタンをクリックします。

② 現在のユーザーを確認します。キーを無効にすると、ユーザーがキーを使えなくなるので、ご注意ください。キーの使用権限が与えられたサブアカウントにキーのステータスの変更のアラームが送信されます。

③ 使用中止ステータスを確認します。

キーを有効にする

① 使用中止ステータスのキーを選択してキーを有効にするボタンをクリックします。キーの使用権限が与えられたサブアカウントにキーのステータスの変更のアラームが送信されます。

② 使用可能ステータスを確認します。

6. キーの使用履歴の管理

すべての暗号化キーはいつも様々な脅威に備えなければなりません。そのためにキーのすべての使用履歴を照会し、キーが適切に運用されているのかモニタリングしてください。キーの使用履歴はNCP_KMS_MANAGER(Key Management Serviceの管理者)またはKMS_KEY_MANAGER(キー管理者), KMS_KEY_REVIEWER(キーレビュアー)の権限を持ったユーザーのみ確認できます。

キーの使用履歴の確認

① キーの使用履歴を確認するためにキーの履歴を見るを選択します。

② 直近100件の使用履歴を確認できます。

7. キーの削除

それ以上使わないキーを削除します。暗号化キーの紛失は、暗号化されたデータの紛失と同じです。キーが削除されると、データは復元できません。誤った削除に対する予防としてキーは完全に削除されるまで3日間(72時間)の削除待機時間を持ちます。削除リクエストされたキーは削除予定の状態に転換され、使用中止と同じように暗号化/復号化のリクエストに利用できません。72時間再考する必要がない場合は直ちに削除できます。例えば、キーのユーザーが1人もいない場合、キーが削除されてもデータの流失の懸念はありません。削除されたキーはどのような場合でも復元できません。慎重に検討してから削除してください。

キーの削除のリクエスト

① キーを削除するためには、まずキーの削除をリクエストをクリックします。

② キーのユーザーが1人以上の場合は削除のリクエストのためにキー名を入力して削除をリクエストをクリックします。キーの使用権限が与えられたサブアカウントにキーの削除のアラームが送信されます。

③ 削除のリクエストにより変更されたステータスと最終削除日を確認できます。

④ キーは最終削除の前まで削除のリクエストを撤回できます。削除のリクエストを撤回するためにはキーの削除をキャンセルをクリックします。キー削除のリクエストが撤回されたキーは、直ちに使用中止ステータスに転換されます。キーの使用権限が与えられたサブアカウントにキーのステータスの変更のアラームが送信されます。

キーを直ちに削除

① キーを直ちに削除するためには最終削除日の横にある直ちに削除をクリックして最終的に削除します。

8. Rest APIの使用

キーを利用した暗号化/復号化機能はRest APIを利用して呼び出すことができます。APIはAPI Gatewayを利用して呼び出されます。Key Management Service Rest APIで確認してください。API Gatewayによって提供されるAPIの使用方法はAPI Gatewayユーザーガイドをご参考ください。

関連情報のご確認

本商品はグローバルリージョンサービスとしても提供されます。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...