Security > Secure Key Manager > 概要

Secure Key Managerは、ユーザーの重要データを安全に保管し、アクセス権限を制御するサービスです。ユーザーはSecure Key Managerに機密データ、対称鍵、非対称鍵を保存できます。Secure Key Managerに保存したデータはユーザーが設定した認証方法をパスしたクライアントのみアクセスできます。

主な機能

  • データ管理
    • 機密データの登録、管理、照会
    • 対称鍵の作成、管理、ローテーション、データの暗号化/復号
    • 非対称鍵の作成、管理、ローテーション、データ署名/検証
  • データアクセス制御
    • クライアントIPv4アドレスを使用したデータアクセス制御
    • クライアントMACアドレスを使用したデータアクセス制御
    • クライアント証明書を使用したデータアクセス制御

機能説明

Secure Key Managerは、ユーザーの重要データを安全に保管し、アクセス権限を制御する機能を提供します。Secure Key Managerで管理できるデータは、機密データ、対称鍵、非対称鍵に区分できます。

機密データの管理

データベース接続情報、 API呼び出しに使用するアプリケーションキーなど、クライアントが直接管理する場合、危険にさらされることがあるデータを管理する機能を提供します。ユーザーは32KB以下のテキストデータを機密データに登録できます。登録した機密データには、ユーザーが設定した認証方法をパスしたクライアントのみアクセスできます。機密データ管理の活用方法は、"参考 - Secure Key Manager機密データ管理機能を活用したデータベース接続情報管理"を参照してください。

対称鍵の管理

データの暗号化/復号に使用できるユーザー対称鍵を管理する機能を提供します。ユーザーはSecure Key Managerにユーザー対称鍵を作成して保存できます。ユーザーが設定した認証方法をパスしたクライアントは、Secure Key Managerに保存したユーザー対称鍵を使用して32KB以下のテキストデータを暗号化/復号できます。ユーザー対称鍵はどんな場合にもクライアントに直接表示されず、APIを介した間接的な使用のみ許可します。したがってユーザー対称鍵が外部に漏れないように保護できます。またSecure Key Managerのキーローテーション機能を使用すると、クライアントを変更せずにユーザー対称鍵値を更新できます。対称鍵の管理の活用方法は- "参考 - Secure Key Manager対称鍵の管理機能を活用したエンベロープ暗号化"を参照してください。

非対称鍵の管理

データ署名/検証に使用できるユーザー非対称鍵を管理する機能を提供します。ユーザーはSecure Key Managerにユーザー非対称鍵を作成し、保存できます。ユーザーが設定した認証方法をパスしたクライアントは、Secure Key Managerに保存したユーザー非対称鍵を使用して245Byte以下のテキストデータを署名/検証できます。ユーザー非対称鍵はどんな場合にもクライアントに直接表示されず、APIを介した間接的な使用のみ許可します。これによりユーザー非対称鍵が外部に漏れる危険から保護できます。またSecure Key Managerのキーローテーション機能を使用すると、クライアントを変更せずにユーザー非対称鍵値を更新できます。

アクセス制御

Secure Key Managerは、ユーザーデータを保護するための多様な認証方法を提供します。認証をパスしたクライアントのみSecure Key Managerに保存したデータを使用できます。認証方法はクライアントのIPv4アドレスを確認する'IPv4アドレス認証'、クライアントのMACアドレスを確認する'MACアドレス認証'、クライアントが通信に使用する証明書を確認する'クライアント証明書認証'があります。ユーザーは少なくとも1つ以上の認証方法を選択する必要があり、2つ以上を選択した場合、クライアントはすべての認証をパスする必要があります。

サービス構造

Secure Key Managerは、ユーザーデータを安全に保管するためにルートキーとシステムキーという2つの暗号鍵を内部で使用します。ルートキーはシステムキーを保護するために使用し、システムキーはユーザーデータを保護するために使用します。システムキーはルートキーで暗号化して、Secure Key Managerシステムキー管理サーバーに保存します。Secure Key Managerサーバーは、サービスを開始する時に認証プロセスを経てSecure Key Managerシステムキー管理サーバーから暗号化されたシステムキーを取得します。ルートキーを使用して復号したシステムキー処理モジュールがシステムキーを使用できる状態になります。Secure Key Managerに保存したユーザーデータを正常ではない方法でアクセスするには、物理的に分離された3つのシステムからルートキー、システムキー、ユーザーデータを獲得する必要があります。

ユーザーはTOAST WebコンソールでSecure Key Managerを管理できます。Webコンソールはユーザーデータ作成/管理、クライアント認証データ作成/管理などの機能を提供します。Secure Key Managerで作成したすべてのユーザーデータは、システムキーで暗号化してユーザーデータ保存場所に保存します。クライアント認証データは、一部重要情報をシステムキーで暗号化してクライアント認証データ保存場所に保存します。

Secure Key Managerは、クライアントサーバーで使用できる多様なAPIを提供します。クライアントサーバーは機密データ照会、対称鍵を使用した暗号化/復号、非対称鍵を使用した署名/検証をリクエストできます。クライアント認証モジュールは、クライアント認証データを使用してクライアントのリクエストを許可するかどうかを決定します。クライアントのリクエストが許可された場合、ユーザーデータ処理モジュールはシステムキー処理モジュールを使用して暗号化されたユーザーデータを復号した後にサービスを提供します。

overview-01

参考

Secure Key Managerの機密データ管理機能を活用したデータベース接続情報の管理

データベースを使用するアプリケーションは、データベース接続情報を設定ファイルに保存します。アプリケーションを実行するサーバーが増加したら、データベース接続情報を保存するサーバーが増加し、データベース接続情報が表示される危険も共に増加します。またデータベース接続情報を変更すると、設定を修正した後に全サーバーに再配布する必要があり面倒です。 Secure Key Managerの機密データ管理機能を活用すると、データベース接続情報を中央集中的に安全に管理できます。データベース接続が必要なアプリケーションは、サービスを開始する時にSecure Key Managerでデータベース接続情報を取得して使用します。ユーザーはSecure Key Managerを通して、データベースアクセスを許可するアプリケーションサーバーを管理できます。データベース接続情報を変更しても、アプリケーションを修正せずにSecure Key Managerで接続情報を更新できます。

Secure Key Managerの対称鍵管理機能を活用したエンベロープ暗号化

Secure Key Managerは、データを暗号化/復号できる対称鍵管理機能を提供します。アプリケーションは、Secure Key Manager APIを使用してデータを暗号化/復号できます。しかしアプリケーションが処理するすべてのデータをSecure Key Manager APIで暗号化/復号すると、性能および費用に問題が発生する場合があります。このような状況で一般的に使用する解決策は、エンベロープ暗号化(envelope encryption)です。エンベロープ暗号化は、暗号化対象データを暗号化する時に使用した暗号鍵のみ外部の他の暗号鍵で保護する処理方式です。データはアプリケーションが独自に管理するローカル暗号鍵を使用して暗号化し、ローカル暗号鍵はSecure Key Manager APIで暗号化して保管します。データ復号が必要な場合は、暗号化されたローカル暗号鍵をSecure Key Manager APIで復号してデータ復号に使用します。

用語説明

用語 説明
鍵の保存場所 ユーザーデータを保存し、認証方法を設定する単位
Secure Key Managerで管理するユーザーデータ(機密データ、対称鍵、非対称鍵)
認証方法 Secure Key Managerに保存したユーザーデータにクライアントがアクセスできるかどうかを判断する方法
認証データ Secure Key Managerに保存したユーザーデータにアクセスを許可するクライアント情報
鍵のローテーション 対称鍵と非対称鍵の鍵IDを維持したまま鍵の値のみを更新する作業
鍵バージョン 対称鍵と非対称鍵のローテーションが発生するたびに増加する値
TOP