2.5. 証明書システムを使用したスマートカードトークン管理

スマートカード は、暗号化証明書および鍵を含むハードウェア暗号化デバイスです。ユーザーは、セキュアな Web アクセスやセキュアなメールなどの操作に参加できます。また、Red Hat Enterprise Linux などのさまざまなオペレーティングシステムにログインする認証デバイスとしても機能します。サービスの有効期間全体でこれらのカードまたはトークンを管理することは、トークン管理システム (TMS) によって行われます。
TMS 環境には、認証局 (CA)、トークンキーサービス (TKS)、およびトークン処理システム (TPS) と、サーバー側のキー生成およびキーのアーカイブとリカバリーのための任意のキーリカバリー機関 (KRA) が必要です。OCSP (Online Certificate Status Protocol) を使用して、オンライン証明書ステータス要求に対応する CA と連携することもできます。この章では、Red Hat Certificate System のスマートカード管理機能を提供する TKS システムおよび TPS システムと、ユーザー側から TMS と連携する Enterprise Security Client (ESC) の概要を説明します。

図2.4 TMS スマートカードの管理方法

TMS スマートカードの管理方法

2.5.1. トークンキーサービス (TKS)

Token Key Service (TKS) は、1 つ以上のマスターキーを管理します。これは マスターキー を維持し、キー資料にアクセスできる TMS 内の唯一のエンティティーです。運用環境では、有効な各スマートカードトークンには、マスターキーと、カード (CUID) に固有の ID の両方から派生した対称鍵のセットが含まれます。
最初に、対称キーのデフォルト (製造元のマスターキーごとにのみ一意) のセットが、製造元によって各スマートカードで初期化されます。このデフォルトのセットは、Key Changeover 操作を実行して TKS で新しいマスターキーを生成することで、デプロイメントサイトで変更する必要があります。マスターキーの唯一の所有者として、スマートカードの CUID が付与されると、TKS はその特定のスマートカードにある対称キーのセットを導出できます。これにより、TKS は、TMSと個々のスマートカード間の安全な通信用にセッションベースの セキュアチャネル を確立できます。
注記
TKS が管理するデータの機密性により、TKS はアクセスが制限されたファイアウォールの背後に設定する必要があります。

2.5.1.1. マスターキーおよびキーセット

TKS は、複数のスマートカードの鍵セットをサポートします。各スマートカードベンダーは、スマートカードトークンストックに対して異なるデフォルト (開発者) の静的キーセットを作成し、TKS には、空白のトークンのフォーマットプロセスを開始するための静的キーセット (メーカーごと) が装備されています。
空白のスマートカードトークンのフォーマットプロセス中に、Java アプレットと一意に派生した対称キーセットがトークンに挿入されます。TKS がサポートする各マスターキー (場合によっては keySet と呼ばれます) には、TKS 構成ファイル (CS.cfg) にエントリーセットがあります。各 TPS プロファイルには、TMS とスマートカードトークン間のセッション固有のキーのセットによってセキュリティーが保護された Secure Channel の確立を本質的に担当する、一致するキー導出プロセスの適切な TKS キーセットに登録を指示する構成が含まれています。
TKS では、マスターキーは TPS の参照用に名前付きの keySet によって定義されます。TPS では、登録タイプ (内部または外部の登録) に応じて、keySet は TPS プロファイルで指定されます。または、keySet Mapping Resolver で決定されます。

2.5.1.2. キー階層 (共有キートランスポート)

キーセレモニー は、機密性の高いキーをある場所から別の場所に安全な方法で転送するためのプロセスです。1 つのシナリオでは、非常に安全なデプロイメント環境では、外部へのネットワークのないセキュアな vault でマスターキーを生成できます。組織が、異なる物理マシンに TKS インスタンスと TPS インスタンスを持つ場合があります。いずれの場合も、キーを信頼できる人が 1 人もいないという前提の下で、Red Hat Certificate System TMS は、安全な鍵の送信を管理する tkstool と呼ばれるユーティリティを提供します。

2.5.1.3. キー更新 (キーの切り替え)

Global Platform 準拠のスマートカードをファクトリーに作成すると、製造元はデフォルトの対称鍵をトークンに作成します。TKS は、最初にこの対称鍵を使用するように設定されています (TKS 設定のベンダーごとに KeySet エントリーが 1 つ)。しかし、これらの対称鍵は同一ストックのスマートカードに固有のものではなく、周知の鍵であるため、トークンを操作できるエンティティーセットを制限するために、製造元で共有されていない、トークンごとに固有のセットに置き換えることが強く推奨されます。
キーの変更は、Token Key Service サブシステムのサポートにより行われます。TKS の関数の 1 つは、以前に説明したスマートカードトークンキーが派生しているマスターキーを確認することです。TKS の制御下に複数のマスターキーが存在する可能性があります。
重要
このキー切り替えプロセスがトークンに対して実行されると、デフォルトのキーセットが有効でなくなったため、トークンは将来使用できなくなる可能性があります。トークンをプロビジョニングした TPS および TKS システムが有効である限り、鍵は基本的に有効です。このため、マスターキーのいずれかが古くなっている場合でも、すべてのマスターキーを保持することが不可欠です。
TKS の古いマスターキーを無効にして、適切に制御できますが、無効にしたトークンがプランの一部である限り削除しないでください。トークンキーを元のキーセットに戻すためのサポートがあります。これは、ある種のテストシナリオでトークンを再利用する場合に実行可能です。

2.5.1.4. APDU およびセキュアチャンネル

Red Hat Certificate System Token Management System (TMS) は GlobalPlatform スマートカード仕様をサポートしており、マスターキーを管理する Token Key System (TKS) と、Application Protocol Data Units (APDU) を使用してスマートカード (トークン) と通信する Token Processing System (TPS) で Secure Channel の実装が行われます。
APDU には、以下の 2 つのタイプがあります。
  • コマンド APDU (TPS からスマートカードに送信)
  • レスポンス APDU (スマートカードから TPS にレスポンスとして送信)
APDU コマンドの開始は、クライアントがアクションを実行し、要求のために Certificate System サーバーに接続したときにトリガーされる場合があります。安全なチャネルは、TPS からスマートカードトークンに送信される InitializeUpdate APDU で始まり、ExternalAuthenticate APDU で完全に確立されます。次に、トークンと TMS の両方が、セッションキーと呼ばれる共有シークレットのセットを確立します。これは、通信の暗号化と認証に使用されます。この認証および暗号化された通信チャネルは Secure Channel と呼ばれます。
TKS は、一意の対称オントークンスマートカードキーのセットを取得できるマスターキーにアクセスできる唯一のエンティティーであるため、Secure Channel は、TMS と個々のトークンとの間の適切に保護された通信を提供します。チャンネルの接続解除には、新しいチャンネルに対する新しいセッションキーの再確立が必要になります。