パートナー側の誰かが指定された一つの鍵で文書に署名する必要があり、その依頼は「HSM に到達したい」というネットワークの話として届く。機器に届くトンネルはそれ自体では何も与えないのだから、その一文はルーティングの問題ではなく、定義されていないサービス契約の症状として扱うべきである。依頼の背後には到達性、HSM の身元、鍵のポリシーという三つの関門があり、それぞれ別の場所で別のチームが管理している。一つずつ書き出さないと、証明書の話のほうが難しかったという理由で、結局ルートを許可してしまう。

具体的な事例とは、パートナーが指定された一つの鍵で署名するために承認済みの文書だけを提出し、それ以外は何もしない、というものである。以下のすべては、その一文から導かれる。

到達性、身元、鍵のポリシーは三つの関門である

VPN コンセントレータは、誰がトンネルを開けるか、どのアドレスに触れられるかを決める。HSM は、提示されたどのユーザーレコードがログインできるかを自ら決める。鍵のポリシーは、そのユーザーレコードが特定の一つの鍵で何をできるかを決める。最初の関門を通っても残りの二つはそのままなので、成功したハンドシェイクがほとんど何も証明しないのであり、パートナーが機器に到達してもすべての操作で失敗しうるのである。

要件を書く前に、各関門に所有者を割り当てる。二つ目の所有者がいない場合、それが唯一機能する資格情報だから、広い HSM 管理者の身元が配られるのが常である。

第一の関門:パートナーに与えるネットワーク経路

承認されたクライアントまたはサービス、それが必要とする宛先、そしてそのサービスが待ち受けるプロトコルとポートを名指しする。次に、VPN 側のアクセスをその組に双方向で限定し、戻りの経路も含めることで、ポリシーはパートナーに読み返せる一文になる。ゲートウェイの管理、HSM の管理インターフェース、無関係な内部システムは、既定ルートの外側だけでなく、通常のパートナーアクセスの外側に置くべきである。

専用セグメントはその横断を見えるようにするが、セグメントの名前は何も強制しない。トラフィックは、通過すると思っている制御を実際に通過しなければならない。パートナーからの接続を認めることは、パートナーのすべての機械が信頼できるという表明でもない。

第二の関門:HSM に対して実際に認証するもの

VPN の身元と HSM の身元は、対応する統合が意図的に結び付けない限り、別個のオブジェクトである。PKCS#11 クライアントでは、アプリケーションがパートナーのホスト上のどこかに保存された資格情報でスロットに対してログインし、HSM が評価するのはそのログインである。

AWS CloudHSM が有用な参考になるのは、その文書が、HSM ユーザーは IAM ユーザーとは別であり、ユーザーの種類がアカウントにできることを左右すると区別しているからである。暗号担当者はユーザーと鍵を管理するが暗号操作を行う身元ではなく、暗号利用者は鍵を管理できなくても鍵を使える。その分離は、役割名が異なる他社の機器でも望む形である。

どのような身元を発行しても、後で必要になる粒度で削除でき、帰属させられなければならない。複数のパートナーにまたがる単一の運用資格情報は、両方が最も重要なインシデントにおいて、封じ込めと説明責任をかえって難しくする。

第三の関門:どの鍵で、どの操作か

署名、復号、鍵生成、鍵ラッピング、ユーザー管理は別々の権限であり、別々に列挙しなければならない。PKCS#11 の用語では、CKA_SENSITIVE や CKA_EXTRACTABLE といった属性が、鍵素材が使用可能な形でモジュールから出られるかどうかを表し、これらは機器ごとではなく鍵ごとに設定される。ハードウェアという語やトンネルの存在から非エクスポート性を推測するのではなく、鍵に実際に設定されたポリシーを読むこと。

次に業務上の承認を探す。承認済みの文書だけが署名できるなら、依頼が HSM に届く前にどのコンポーネントがその承認を確立するのか? 許可された依頼を受け付ける暗号インターフェースは文書がレビューされたかどうかを知らないので、その確認はその手前のサービスの役割である。

許可されたクライアントが侵害されると、秘密鍵を一切抽出しなくても、その資格情報が正当に許可する操作を悪用できる。したがって、保存された鍵素材の保護と鍵利用の管理は、二つの受け入れ条件であり、一つではない。

拒否も受け入れテストの一部である

許可された署名依頼とともに、許可されていない身元、無関係な鍵、パートナーの経路からの管理操作といった拒否も受け入れる。呼び出し元、操作、鍵識別子、時刻、結果を記録し、秘密鍵素材、資格情報、文書の内容は一般的な診断ログの外に保つ。

パートナーの退出、パートナー側の侵害の疑い、ポリシー変更と復旧について、それぞれ所有者を割り当てる。ルートを変更しても、すでに侵害されている可能性のあるホストへの信頼は回復しないので、失効は HSM の身元にも届かなければならない。

完了した VPN ハンドシェイクはその記録に含まれる。それは HSM 固有の結果の代わりにはならない。

関連記事