JPH0820848B2 - 検証方法及び装置 - Google Patents

検証方法及び装置

Info

Publication number
JPH0820848B2
JPH0820848B2 JP1207112A JP20711289A JPH0820848B2 JP H0820848 B2 JPH0820848 B2 JP H0820848B2 JP 1207112 A JP1207112 A JP 1207112A JP 20711289 A JP20711289 A JP 20711289A JP H0820848 B2 JPH0820848 B2 JP H0820848B2
Authority
JP
Japan
Prior art keywords
key
cryptographic
control vector
encryption
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1207112A
Other languages
English (en)
Other versions
JPH0299984A (ja
Inventor
ステイブン・エム・マチイース
デニス・ジイー・アブラハム
ドナルド・ビイー・ジヨンソン
ラメシユ・ケイ・カーン
アン・ヴイ・リ
ロステイスロー・プライマツク
ジユリアン・トーマス
ジヨン・デイー・ウイルキンズ
フイリイ・シイー・ジエイ
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH0299984A publication Critical patent/JPH0299984A/ja
Publication of JPH0820848B2 publication Critical patent/JPH0820848B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、一般には暗号技術に関し、さらに詳しくい
えばキーの安全保護管理技術に関する。
B.従来技術及びその課題 データの暗号変換は通常、キーの制御下で選択された
アルゴリズムまたはプロシージャによって定義される。
アルゴリズムは通常公知の知識なので、変換または暗号
化されたデータが保護できるかどうかはキーを秘密に保
てるかどうかにかかっている。すなわち、不正使用者が
周知のアルゴリズムとキーを使用して簡単に暗号化デー
タを回復するのを防止するため、キーを秘密にしなけれ
ばならない。したがって、データを保護するにはプライ
バシ・キーの保護が必要となる。
キー管理は、キーの秘密と保全性が保護されるような
形で暗号キーとキー関連情報を取り扱うための暗号シス
テム内の機構、機能及びプロシージャを含んでいる。
ユーザまたは上位システムの主要暗号要件を支援する
ため、システム・キー管理機構は通常、キー導入、キー
記憶、キー生成、キーの搬入及び搬出のためのキー分配
(ないしは配送)を含む、いくつかの機能を支援してい
る。
どの場合にも、その全体的目的は、暗号キーの無許可
の開示または修正を防ぐことである。
暗号化データは同じ暗号アルゴリズムを利用するシス
テムによって交換できるので、プライバシ・キーを交換
できることが必要である。キーの発送者から所期の受領
者への搬送中にプライバシ・キーのプライバシを保護す
るために、キー自体を、(すでに両当事者間で共用され
ている)他のプライバシ・キーのもとで暗号化しなけれ
ばならない。キー分配プロトコルは、暗号システムの間
でのキーの互換性のある安全な交換を支援するように定
義しなければならない。
安全でない媒体(すなわち、安全な領域内にない記憶
機構)にキーを記憶するには、キー自体を暗号化しなけ
ればならない。マスタ・キー概念は、暗号システムで使
用するすべてのキーが、マスタ・キーと呼ばれる単一キ
ーのもとで暗号化された形で記憶されるというものであ
る。マスタ・キー自体を、開示または修正から保護しな
ければならない。マスタ・キーを保護するため、通常
(物理アクセス制御などの)非暗号手段を設ける。
従来技術は、高いデータ安全保護基準を維持する実用
的で柔軟なキー管理システムを提供していない。
したがって、本発明の目的は、暗号アルゴリズム及び
ある種の高レベルの暗号機能の保全性を提供することで
ある。
本発明の他の目的は、記憶または分配されたキーの保
全性を保護することである。
本発明の他の目的は、記憶または分配されたキーの誤
用(たとえば、プライバシ・キーを認証キーとして使用
すること)を防止することにある。
本発明の他の目的は、記憶または分配されたキーの使
用を(たとえば、認証検査だけに)制限することにあ
る。
本発明の他の目的は、マスタ・キーと他の手動導入の
キー暗号化キーを安全に導入することである。
本発明の他の目的は、新しいキー暗号化キー及びデー
タ暗号化キーを安全に生成することである。
C.課題を解決するための手段 上記及びその他の目的、特徴及び利点は、本明細書に
記載された発明によって実現される。本明細書で暗号ア
ーキテクキャ(CA)と呼ぶ発明は、データ処理システム
内で実施される。このシステムは、暗号キーの管理を求
める暗号サービス要求を出力するプログラムを実行す
る。暗号キーは、その発送者(ないしは創作者)によっ
て実行を許された機能を定義する制御ベクトルと関連し
ている。本発明は、プログラムが暗号キーに要求するキ
ー管理機能が、キーの発送者によって許可されたことを
妥当性検査する方法及び装置である。
本発明は、暗号サービス要求、暗号キー及びそれらに
関連する制御ベクトルを受け取る入力経路と、それに応
答を提供する出力経路が通過する安全な境界によって特
徴付けられる暗号機構を含む。この境界内に、入力経路
に接続された暗号命令記憶機構、命令記憶機構に接続さ
れた制御ベクトル検査手段と暗号処理手段、及び前記処
理手段に接続されたマスタ・キー記憶機構を含めること
ができ、受け取ったサービス要求に応答してキー管理機
能を実行するための安全な場所をもたらす。
暗号命令記憶機構は入力経路を介して、暗号キーに対し
てキー管理機能を実行することを求める暗号サービス要
求を受け取る。制御ベクトル検査手段は、入力経路に接
続された、暗号キーに関連する制御ベクトルを受け取る
ための入力線と、暗号命令記憶機構に接続された、制御
ベクトルが暗号サービス要求から要求されたキー管理機
能を許可するかどうかの検査を開始する制御信号を受け
取るための入力線を有する。
制御ベクトル検査手段は、暗号処理手段の入力線に接
続されており、暗号処理手段がそれを受け取ると、暗号
キーを用いて要求されたキー管理機能の実行を開始す
る、キー管理機能が許可されたことを示す信号を送るた
めの許可出力線を有する。
本発明は、さらに入出力経路を介して暗号機構に接続
された、暗号キーを暗号化された形で記憶するための暗
号キー記憶手段を含む。暗号キーは、関連する制御ベク
トルとマスタ・キー記憶機構に記憶されたマスタ・キー
の論理積である記憶キーのもとで暗号化される。
たとえば、暗号命令記憶機構は、入力経路を介して、
暗号キー記憶手段から暗号キーを回復することを求める
暗号サービス要求を受け取ることができ、制御ベクトル
検査手段は、それに応答して、暗号キーを回復する機能
が許可されたことを示す許可信号を暗号処理手段に出力
する。暗号処理手段は、許可信号に応答して、暗号キー
記憶手段から暗号化された形の暗号キーを受け取り、関
連する制御ベクトルとマスタ・キー記憶機構に記憶され
たマスタ・キーの論理積である記憶キーのもとで暗号化
された形の暗号キーを非暗号化(複号化。以下同じ)す
るよう動作する。
制御ベクトルは、キー管理機能、データ暗号化/非暗
号機能及びPIN処理機能を含む許可された形の暗号機能
を定義するフィールドを含む。関連する制御ベクトル
は、キーの搬出制御及び使用を定義するフィールドも含
む。これらの様々なフィールドは、相互に排他的な所期
の用途をもつ様々なタイプのキーを分離させて、システ
ムの保全性を維持する。
本発明は、高い安全保護基準を維持しながら、暗号キ
ーの生成、分配及び使用の際に多くの暗号キー管理機能
の柔軟な制御を可能にする。
D.実施例 本明細書で暗号アーキテクチャ(CA)と呼ぶ柔軟なキ
ー使用制御の方法及び装置について記載する。この方法
は、構内暗号機構内及びシステム間(すなわち、「オン
・ザ・リンク」)で厳格なキー分離を実施する。この方
法は、制御ベクトルを使ってキーの受領者またはユーザ
にキーの創作者の意図と整合する形でキーを使用させ
る。
暗号機構を外部の安全でない媒体に記憶されたすべて
のキーは、マスタ・キーの機能と記憶されたキーの発送
者が指示した特定の制御ベクトルの値から形成されるキ
ーのもとで暗号化される。マスタ・キーとおそらくは他
の少数のキーは、物理的に安全な暗号機構内で平文で記
憶されている。どんなキーも安全な暗号機構の外部で故
意によらず平文で現れることはない。
あるシステムから別のシステムに送られるキーは、キ
ー暗号化キーの機能とキーの創作者(及びおそらくは送
信者)が指示した特定の制御ベクトルの値から形成され
るキーのもとで暗号化される。こうしたキー使用制御が
特定のキー分配プロトコルの支援に干渉する場合、オン
・ザ・リンク制御は実施されない。
1組の基本暗号機能または命令が定義される。これら
の命令は、機能安全保護の基本線の基礎を形成する。各
命令は、その入出力パラメータ、機能記述及び制御ベク
トル処理によって指定される。保全性のために、命令
は、安全な暗号機構内で完全に実施されるように意図さ
れている。
暗号設計の非常に強力で明確な特徴は、機能制限の原
理を厳格に遵守することである。この原理は、望まし
い、予期される暗号機能だけが許可され、他のものは許
可されないように暗号インターフェースを実施すること
を必要とする。「他のものは許可されない」ことが重要
である。従来技術のシステムのアーキテクチャによるイ
ンターフェースを、そのアーキテクチャのもとで特に必
要ではないが、その実施態様によって禁止されてはいな
い形で使用することによって、しばしば攻撃が発生する
ことが判明している。
第1図は、暗号機構を含むデータ処理システムの構成
図を示す。第1図で、データ処理システム2は、暗号機
構アクセス・プログラムや第2図に示すアプリケーショ
ン・プログラムなどのプログラムを実行する。これらの
プログラム出力暗号サービスは、制御ベクトルに関連す
る暗号キーの管理を要求する。制御ベクトルの一般形式
を第2表に示す。制御ベクトルは、関連するキーがその
発送者によって実行を許された機能を定義する。本明細
書に記載する暗号アーキテクチャの発明は、プログラム
が暗号キーに要求するキー管理機能が、キーの発送者に
よって許可されたことを妥当性検査する装置及び方法で
ある。
第1図に示すように、暗号機構4がデータ処理システ
ム2内に含まれ、または関連付けられている。暗号機構
4は、安全な境界(安全保護境界ともいう)6で特徴付
けられる。入出力経路8は、プログラムから暗号サービ
ス要求、暗号キー及びそれらに関連する制御ベクトルを
受け取るために安全境界6を通過する。入出力経路8
は、暗号機構からの暗号要求に対する応答を出力する。
安全境界6内には、バス・ユニット12によって入出力経
路8に接続された暗号命令記憶機構10が含まれている。
制御ベクトル検査機構14が、記憶機構10内の命令に結合
されており、暗号処理機構16も命令記憶機構10に接続さ
れている。マスタ・キー記憶機構18は暗号処理装置16に
接続されている。暗号機構4は、受け取ったサービス要
求に応答してキー管理機能を実行するための安全な場所
をもたらす。
暗号命令記憶機構10は、入出力経路8を介して、暗号
キーを用いてキー管理機能を実行することを求める暗号
サービス要求を受け取る。制御ベクトル検査機構14は、
入出力経路8に接続されており、暗号キーに関連する制
御ベクトルを受け取るための入力線を有する。制御ベク
トル検査機構14はまた、暗号命令記憶機構10に接続され
ており、制御ベクトルが暗号サービス要求から要求され
たキー管理機能を許可するかどうか検査を開始する制御
信号を受け取るための入力線も有する。
制御ベクトル検査機構14は、暗号処理機構16の入力線
に接続されていおり、暗号処理機構16が許可信号を受け
取ると、暗号キーを用いて要求されたキー管理機能の実
行を開始する、キー管理機能が許可されたことを示す信
号を送るための許可出力線20を有する。暗号キー記憶機
構22は、入出力経路8を介して暗号機構4に接続され
る。暗号キー記憶機構22は、暗号キーを暗号化された形
で記憶する。暗号キーは、関連制御ベクトルとマスタ・
キー記憶機構18に記憶されたマスタ・キーの倫理積であ
る記憶キーのもとで暗号化される。
暗号キー記憶機構22から暗号キーを回復する例は、暗
号命令記憶機構10が入出力経路8を介して、暗号キー記
憶機構22から暗号キーを回復することを求める暗号サー
ビス要求を受け取るときに見られる。制御ベクトル検査
機構14は、それに応答して、暗号キーを回復する機能を
許可されたことを示す許可信号を、線20を介して暗号処
理機構16に出力する。次いで、暗号処理機構16は、線20
で許可キーに応答して、暗号キー記憶機構22から暗号化
された形の暗号キーを受け取り、関連制御ベクトルとマ
スタ・キー記憶機構18に記憶されたマスタ・キーの論理
積である記憶キーのもとで暗号化された形の暗号キーを
非暗号化(復号化)するよう動作する。
記憶キーは、関連制御ベクトルとマスタ・キー記憶機
構18に記憶されたマスタ・キーの排他的論理和である。
この論理積は好ましい実施例では排他的論理和演算であ
るが、他の形の論理演算でもよい。
関連制御ベクトルは、第2表にその一般書式を示す
が、それに関連する暗号化された形の暗号キーを用いて
暗号キー記憶機構22に記憶される。暗号記憶機構に記憶
されたすべてのキーはマスタ・キーのもとで暗号化され
ているので、そこで暗号キーを暗号化及び非暗号化(復
号化)する均一な方法が実施できる。
第2表にその一般書式を示した関連制御ベクトルは、
キー管理機能、データ暗号化/非暗号化機能及び個人識
別番号(PIN)処理機能を含む許可されたタイプの暗号
機能を定義するフィールドを含む。キー管理の応用分野
では、キー管理機能のタイプはタイプ・フィールドで指
定される。関連制御ベクトルは、キー及び関連する暗号
化された情報の搬出制御及び使用を定義できる、追加の
フィールドをも含む。
第1図に示す本発明は、キー・セットの生成を実行で
きる。キー・セットとは様々な使用クラスをもつ一対の
キーである。乱数発生源26または暗号機構4の作業用記
憶機構24に記憶された乱数は、バス12を介して暗号処理
機構に接続された、乱数を暗号処理機構に供給するため
の入力線を有する。
次いで暗号命令記憶機構10は、入出力経路8を介し
て、関連する第1及び第2の制御ベクトルC3、C4を用い
て、乱数発生源26からの乱数出力からキー対を生成する
ことを求める暗号サービス要求を受け取る。次に、制御
ベクトル検査機構14は、それに応答して、乱数からキー
対を生成する機能が許可されることを示す許可信号を、
線20を介して暗号処理機構16に出力する。次に暗号処理
機構16は線20上の許可信号に応答して、第1生成キーと
して乱数を暗号化された形で出力するよう動作する。こ
の乱数は、第1の関連制御ベクトルC3と第1のキーK1の
論理積であるキーのもとで暗号化される。次に暗号処理
機構16は、さらに線20上の許可信号に応答して、第2の
生成キーとして乱数を暗号化された形で出力するよう動
作する。この乱数は、第2の関連制御ベクトルC4と第2
のキーK2の論理積であるキーのもとで暗号化される。本
発明によれば制御ベクトルC3とC4によって許可される使
用には、様々な組合せのものがある。1つの組合せは、
構内データ処理システム2で動作する2つのキーを生成
するためのもので、この場合、第1及び第2のキーK1と
K2は乱数であり、第1及び第2の制御ベクトルC3とC4だ
けが構内データ処理システム4内での操作のための使用
を許可する。第2の組合せは、構内データ・プロセッサ
でだけ動作する第1の生成キーと、構内システム2に接
続された遠隔データ処理システム30に搬出可能な第2の
生成キーを生成するためのもので、この場合、第1のキ
ーK1は乱数であり、第1の制御ベクトルC3は、構内デー
タ処理システム2内での操作のための使用のみを許可す
るが、第2のキーK2はキー暗号化キーKEK2であり、第2
の制御ベクトルC4は遠隔データ処理システム30への搬出
を許可する。第3の場合は、構内データ処理システム2
に接続された第1の遠隔データ処理システム30に搬出可
能な第1の生成キーと構内データ処理システム2に接続
された第2の遠隔データ処理システム30′に搬出可能な
第2の生成キーを生成するためのもので、この場合、第
1のキーK1はキー暗号化キーKEK1であり、第1の制御ベ
クトルC3は第1の遠隔データ処理システムへの搬送を許
可するが、第2のキーK2がキー暗号化キーKEK2であり、
第2の制御ベクトルC4は第2の遠隔データ処理システム
30′への搬出を許可する。第4の組合せは、構内データ
処理システム2中でのみ動作する第1の生成キーと構内
システム2に接続された遠隔データ処理システム30から
搬入可能な第2の生成キーを生成するためのもので、こ
の場合、第1のキーK1は乱数であり、第1の制御ベクト
ルC3は構内データ処理システム2内での操作のための使
用のみを許可するが、第2のキーK2はキー暗号化キーKE
K2であり、第2の制御ベクトルC4は遠隔データ処理シス
テム2から構内データ処理システム2への搬入を許可す
る。第5の場合は、構内データ処理システム2に接続さ
れた第1の遠隔データ処理システム30から搬入可能な第
1の生成キーと構内システム2に接続された第2の遠隔
データ処理システム30′に搬出可能な第2の生成キーを
生成するためのもので、この場合、第1のキーK1はキー
暗号化キーKEK1であり、第1の制御ベクトルC3は第1の
遠隔データ処理システム30からの搬入を許可するが、第
2のキーK2はキー暗号化キーKEK2であり、第2の制御ベ
クトルC4は第2の遠隔データ処理システム30′への搬出
を許可する。
第1図に示した本発明は、次のようにしてマスタ・キ
ー機能から再暗号化動作を実行することができる。デー
タ処理システム2は、通信リンク28を介して、プライバ
シ・キー暗号化キーKEKを共用する遠隔データ処理30に
接続されている。暗号キー記憶機構22は、キー暗号化キ
ーKEKを暗号化された形で記憶する。KEKは、関連制御ベ
クトルC1とマスタ・キーの論理積である記憶キーのもと
で暗号化される。
暗号命令記憶機構10は、入出力経路8を介して、遠隔
データ処理システム30に搬出する目的で、関連制御ベク
トルC3を用いて、暗号キーKをマスタ・キーからキー暗
号化キーKEKによる暗号に再暗号化することを求める暗
号サービス要求を受け取る。制御ベクトル検査機構に
は、それに応答して搬出のため暗号キーKをマスタ・キ
ーからキー暗号化キーによる暗号に再暗号化する機能が
許可されたことを示す許可信号を線20を介して暗号処理
機構16に出力する。
暗号処理機構16は、線20上の許可信号に応答して、暗
号キー記憶機構22から暗号化された形の暗号キーKを受
け取り、関連制御ベクトルC2とマスタ・キーの論理積で
ある記憶キーのもとで暗号化された形の暗号キーを非暗
号化(復号化)するよう動作する。暗号処理機構16はさ
らに、線20上の許可信号に応答して、暗号キー記憶機構
22から暗号化された形のキー暗号化キーKEKを受け取
り、関連制御ベクトルC1とマスタ・キーの論理積である
記憶キーのもとで暗号化された形のキー暗号化キーを非
暗号化(復号化)するよう動作する。
次に暗号処理機構16は、線20上の許可信号に応答し
て、暗号キーを関連制御ベクトルC3とキー暗号化キーの
論理積のもとで再暗号化し、再暗号化された暗号キーK
と関連制御ベクトルC3を出力して、通信リンク28を介し
て第1の遠隔データ処理システム30に送る。
第1図に示した本発明は、次のようにしてマスタ・キ
ー機能への再暗号化動作を実行することができる。デー
タ処理システム2は、通信リンクを介して、プライバシ
・キー暗号化キーKEKを共用する遠隔データ処理システ
ム30に接続されている。暗号キー記憶機構22は、キー暗
号化キーKEKを暗号化された形で記憶する。KEKは、関連
制御ベクトルC1とマスタ・キーの論理積である記憶キー
のもとで暗号化される。
遠隔データ処理システム30は、通信リンク28を介し
て、関連制御ベクトルC3を用いてキー暗号化キーKEKの
もとで暗号化された暗号キーKを、構内データ処理シス
テム2に送信する。暗号命令記憶機構10は入出力経路8
を介して、暗号キー記憶機構22に記憶するため、関連制
御ベクトルC2を用いて暗号キーKをキー暗号化キーKEK
からマスタ・キーによる暗号に再暗号化することを求め
る暗号サービス要求を受け取る。次に制御ベクトル検査
機構14は、それに応答して、記憶するため、キー暗号化
キーKEKからマスタ・キーによる暗号に暗号キーKを再
暗号化する機能が許可されたことを示す許可信号を、線
20を介して暗号処理機構16に出力する。次いで、暗号処
理機構16は、線20上の許可信号に応答して、制御ベクト
ルC2を用いてキーKをキー暗号化キーKEKからマスタ・
キーによる暗号に再暗号化するよう動作して、再暗号化
されたキーKを暗号キー記憶機構22に出力する。
第1図に示した本発明はさらに、次のようにして単一
キーを生成するために適用することができる。乱数発生
源26は、バス12を介して暗号処理機構16に接続された、
乱数を供給するための出力線を有する。暗号命令記憶機
構10は、入出力経路8を介して、関連制御ベクトルC1を
用いて乱数からキーを生成することを求める暗号サービ
ス要求を受け取る。制御ベクトル検査機構14は、それに
応答して、乱数からキーを生成する機能が許可されたこ
とを示す許可信号を、線20を介して暗号処理機構16に出
力する。暗号処理機構16は、線20上の許可信号に応答し
て、暗号化された形の生成キーとして乱数を出力するよ
う動作する。乱数は、関連制御ベクトルC1とマスタ・キ
ーの論理積であるキーのもとで暗号化される。
第1図に示した本発明は、次のようにキー変換機能を実
行するよう動作することができる。第1図のデータ処理
システム2は、通信リンク28を介して秘密搬入キー暗号
化キーKEK1を共用する第1の遠隔データ処理システム30
に接続された構内システムである。構内データ処理シス
テム2は、通信リンク28′を介して、秘密搬出キー暗号
化キーKEK2を共用する第2の遠隔データ処理システムに
も接続されている。暗号化キー記憶機構22は、搬入キー
暗号化キーKEK1を暗号化された形で記憶する。KEK1は、
関連制御ベクトルC1とマスタ・キーの論理積である記憶
キーのもとで暗号化される。暗号記憶キー22は、搬出キ
ー暗号化キーKEK2を暗号化された形で記憶する。KEK2
は、関連制御ベクトルC2とマスタ・キーの論理積である
記憶キーのもとで暗号化される。
第1の遠隔データ処理システム30は、関連制御ベクト
ルC3を用いて搬入キー暗号化キーのもとで暗号化された
暗号キーKを、通信リンク28を介して構内データ処理シ
ステム2に送る。暗号命令記憶機構10は、通信リンク2
8′を介して第2のデータ処理システム30′に送るた
め、関連制御ベクトルC3を用いて搬入キー暗号化キーKE
K1による暗号から搬出キー暗号化キーKEK2による暗号に
暗号キーKを変換することを求める暗号要求を、入出力
経路8を介して受け取る。制御ベクトル検査機構14は、
それに応答して、搬入キー暗号化キーKEK1による暗号か
ら搬出キー暗号化キーKEK2による暗号に暗号キーKを変
換する機能が許可されたことを示す許可信号を、線20を
介して暗号処理機構16に出力する。
暗号処理機構16は、線20上の許可信号に応答して、通
信リンク28′を介して第2データ処理システム30′に送
るため、関連制御ベクトルC3を用いて搬入キー暗号化キ
ーKEK1による暗号から搬出キー暗号化キーKEK2に暗号キ
ーKを変換するよう動作する。
構内データ処理システム2がキーKを読み取りあるい
はキーKを用いて動作するのを防止するために、制御ベ
クトルC1、C2及びC3を用いて、様々な制限を適用するこ
とができ、したがってキーKを発信元データ処理機構30
から宛先データ処理機構30′に安全に転送することがで
きる。
第1図に示した本発明は、次のようにして現在のマス
タ・キーから新しいマスタ・キー機能への再暗号化を実
行するよう動作することができる。作業用記憶機構24な
ど現マスタ・キー記憶機構は現在のマスタ・キーを記憶
し、新しいマスタ・キーはマスタ・キー記憶機構18に記
憶でき、現マスタ・キー記憶機構24とマスタ・キー記憶
機構18も暗号処理機構16と暗号機構4に接続されてい
る。暗号キー記憶機構22は、キーKなどの暗号キーを暗
号化した形で記憶する。キーKは、関連制御ベクトルC1
と現マスタ・キーの論理積である記憶キーのもとで暗号
化される。暗号命令記憶機構は、関連制御ベクトルC1を
用いて暗号キーを現マスタ・キーから新マスタ・キーに
よる暗号に再暗号化することを求める暗号サービス要求
を入出力経路8を介して受け取り、制御ベクトル検査機
構は、それに応答して、暗号キーKを現マスタ・キーか
ら新マスタ・キーによる暗号に再暗号化する機能が許可
されたことを示す許可信号を、線20を介して暗号処理機
構16に出力する。
暗号処理機構16は、線20上の許可信号に応答して、暗
号記憶機構22から暗号化された形の暗号キーKを受け取
り、関連制御ベクトルC1と現マスタ・キーの論理積であ
る記憶キーのもとで暗号化された形の暗号キーを非暗号
化(復号化)するよう動作する。次に、暗号処理機構16
は線20上の許可信号に応答して、関連制御ベクトルC1と
新マスタ・キーの論理積のもとで暗号キーKを再暗号化
し、再暗号化された暗号キーKと関連制御ベクトルC1を
暗号キー暗号機構22に出力するよう動作する。
第1図に示した本発明は、キーを使用するために制御
ベクトルによって指定された権限を低下させるよう動作
する。これは次のようにして実行される。暗号キー記憶
機構22は、暗号キーをキーKとして暗号化された形で記
憶する。キーKは、関連制御ベクトルC1とマスタ・キー
の論理積である記憶キーのもとで暗号化される。関連制
御ベクトルC1は、たとえば搬出制御を定義するフィール
ドを含む。暗号命令記憶機構10は、入出力経路8を介し
て、関連制御ベクトルC1の制御ベクトル権限を低下させ
ることを求める暗号サービス要求を受け取り、制御ベク
トル検査機構14は、それに応答して、関連制御ベクトル
C1の制御ベクトル権限を低下させる機能が許可されたこ
とを示す許可信号を、線20を介して暗号処理機構16に出
力する。
次に暗号処理機構16は線20上の許可信号に応答して、
暗号キー記憶機構22から暗号化された形の暗号キーKを
受け取り、関連制御ベクトルC1とマスタ・キーの論理積
である記憶キーのもとで暗号化された形の暗号キーを非
暗号化(復号化)する。次に、暗号処理機構16は、線20
上の許可信号に応答して、関連制御ベクトルC1を第2の
制御ベクトルC2で置換する。第2の制御ベクトルC2は、
前の制御ベクトルC1に対して指定された権限よりも低い
権限を指定する搬出制御フィールドを有する。次に、暗
号処理機構16は、線20上の許可信号に応答して、第2の
制御ベクトルC2を用いてマスタ・キーのもとでキーKを
暗号化し、第2の制御ベクトルC2を用いて暗号キーKを
暗号記憶機構22に出力するよう動作する。
第1図に示した本発明は、次のようにして受領者の搬
出権限がより低いマスタ・キー機能からの再暗号化を実
行するよう動作する。データ処理システムは、プライバ
シ・キー暗号化を共用する第1の遠隔データ処理システ
ム30に接続された構内データ処理システム30である。暗
号記憶機構22は、キー暗号化キーKEKを暗号化された形
で記憶する。キー暗号化キーKEKは、関連制御ベクトルC
1とマスタ・キーの論理積である記憶キーのもとで暗号
化される。暗号キー記憶機構22は、暗号キーをキーKと
して暗号化された形で記憶する。キーKは関連制御ベク
トルC2とマスタ・キーの論理積である記憶キーのもとで
暗号化され、関連制御ベクトルC2は第1の搬出権限を指
定する搬出フィールドを有する。暗号命令機構10は、関
連制御ベクトルC2と共に第1の遠隔データ処理システム
30に搬出するため、暗号キーKをマスタ・キーからキー
暗号化キーKEKによる暗号化に再暗号化することを求め
る暗号サービス要求を、入出力経路8を介して受け取
る。関連制御ベクトルC3は、C2の第1の搬出権限より小
さな第2の搬出権限をもつ。
制御ベクトル検査機構14は、それに応答して、搬出の
ためマスタ・キーからキー暗号化キーKEKによる暗号化
に再暗号化する機能が許可されたことを示す許可信号
を、線20を介して暗号処理機構16に出力する。暗号処理
機構16は、線20上の許可信号に応答して、暗号キー記憶
機構22から暗号化された形の暗号キーKを受け取り、関
連制御ベクトルC2とマスタ・キーの論理積である記憶キ
ーのもとで暗号化された形の暗号キーを非暗号化(復号
化)するよう動作する。暗号処理機構16は、線20上の許
可信号に応答して、暗号キー記憶機構22から暗号化され
た形のキー暗号化キーKEKを受け取り、関連制御ベクト
ルC1とマスタ・キーの論理積である記憶キーのもとで暗
号化された形のキー暗号化キーを非暗号化(復号化)す
るよう動作する。
暗号処理機構16は、線20上の許可信号に応答して、関
連制御ベクトルC3とキー暗号化キーKEKの論理積のもと
で暗号キーKを再暗号化するよう動作して、第1の遠隔
データ処理システム30を送るため再暗号化された暗号キ
ーKと関連制御ベクトルC3を出力する。関連制御ベクト
ルC3の搬出フィールドで指定される権限は低いので、第
1の遠隔データ処理システムはこのとき、暗号キーKの
再搬出のための権限が低くなっている。
第1図に示した本発明はさらに、次のようにしてリン
ク制御動作を行なうことができる。関連制御ベクトル
は、遠隔データ処理システム30の特性のために、暗号キ
ーに関連する制御ベクトルを、構内データ処理システム
からそれに接続された遠隔データ処理システム30への伝
送から外すかどうかを指定するリンク制御を定義するフ
ィールドを含む。たとえば、遠隔データ処理システム
は、制御ベクトルを同化し(assimilating)処理するこ
とができないことがある。制御ベクトルは、伝送時に関
連暗号キーから分離させることができるが、その結果関
連する暗号キーによって実行される動作の安全保護上の
信頼性が低くなる。このようにして、制御ベクトルを使
用できる構内データ処理システム2などのシステムは、
制御ベクトルを使用できる能力をもたない遠隔システム
で与えられるよりも高い安全保護上の信頼性をもつ。関
連制御ベクトルはまた、それに関連するキーがANSI型デ
ータ処理システムによって遠隔処理30として処理できる
かどうかを指定するフィールドも含むことができる。
第1図に示した本発明は、第2表に一般的に示す関連
制御ベクトルを有する。関連制御ベクトルは、互いに排
他的な2つの所期の用途に基づいてキー暗号化キーの分
離を実施するフィールドを含む。第7図に、それらの所
期の用途により様々なキー暗号化キーを分離する構成を
示す。たとえば、認証されたキーと未認証のキーが互い
に排他的な所期の用途である。もう1つの形の互いに排
他的な所期の用途は、制御ベクトルを使用する第1のタ
イプのキー暗号化キーと、それを使用しない第2のタイ
プのキー暗号化キーである。互いに排他的な所期の用途
のもう1つの例は、送信側のみによって使用される第1
のタイプのキー暗号化キーと、受信側のみによって使用
される第2のタイプのキー暗号化キーである。制御ベク
トルでキー分離を実施する互いに排他的な所期の用途の
別の例は、マスタ・キーのもとで記憶された既存のデー
タ・キーの搬出は不可能な、キー・セットの生成と発送
のためのキーの変換に使用できる第1のタイプのキー暗
号化キーと、マスタ・キーのもとで記憶された従来のデ
ータ・キーの搬出が可能な、キー・セットの生成に使用
できる第2のタイプのキー暗号化キーである。制御ベク
トルでキー分離を実施する互いに排他的な所期の用途の
他の例は、搬出のためのみに生成できる第1のタイプの
キー暗号化キーと、操作のための使用及び搬出のために
生成できる第2のタイプのキー暗号化キーである。制御
ベクトルでキー分離を実施する互いに排他的な用途の他
の例は、構内での操作のための使用が不可能な、変換に
使用できる第1のタイプのキー暗号化キーと、構内での
操作のための使用が可能な、変換に使用できる第2のタ
イプのキー暗号化キーである。制御ベクトルでキー分離
を実施する互いに排他的な所期の用途の他の例は、マス
タ・キーからの再暗号化動作に使用できる第1のタイプ
のキー暗号化キーと、マスタ・キーからの再暗号化動作
に使用できない第2のタイプのキー暗号化キーである。
第2表に一般的に示したような制御ベクトルまたは、
それに関連する暗号キーが単長キーかそれとも倍長キー
であるかを示すフィールドも含むことができる。
以下に、本発明の構成要素と動作のより詳細な説明を
示す。
第2図は、暗号サブシステムの主要構成要素を示す。
暗号サブシステムは、暗号機構(CF)、暗号機構アクセ
ス・プログラム(CFAP)及びアプリケーション・プログ
ラム(AP)から構成される。通常、CFは、物理的に安全
なボックス内でハードウェアによって実施される。その
実施態様に応じて、CF、CFAP及びAPをすべて物理的に完
全なボックスに納めることができる。
暗号機構4は次のものから構成される。
キー・レジスタ レジスタとそれらの用途を以下に説明する。
−マスタ・キー・レジスタ18 マスタ・キー・レジスタは128ビット幅で、マスタ・
キーを含む。
−新マスタ・キー(NMK)レジスタ 新マスタ・キー・レジスタは128ビット幅で、現マス
タ・キーになる新マスタ・キーを含む。新マスタ・キー
は、特殊命令の後でだけ現マスタ・キーになり、新マス
タ・キーの値をマスタ・キー・レジスタにロードするた
めSMK命令が発行される。
−旧マスタ・キー・レジスタ 旧マスタ・キー・レジスタは128ビット幅で、現マス
タ・キーで置換されたマスタ・キーを含む。マスタ・キ
ー更新機構は、現マスタ・キーが旧マスタ・キーになっ
た後で新マスタ・キーが現マスタ・キーになるようにな
っている。
−キー部分レジスタ キー部分レジスタは128ビット幅で、任意選択の安全
保護された物理インターフェースを介してCFに接続され
たキーパッドやキー・ボードなどのキー・ローディング
装置を介して導入されるキー部分(構成要素)または完
全なキーの値を含む。
−作業用キー・レジスタ 性能上の理由で、システムは、それぞれ128ビット幅
で、迅速なアクセス用の即時作業用キーを含む作業用レ
ジスタを有する。たとえば、データを暗号化するのに使
用されるキーは、最初の使用時に暗号化された形でCFに
入れられる。次に、それが非暗号化(復号化)されて、
平文値が作業用キー・レジスタの1つに記憶できる。そ
の後、データの暗号化または非暗号化(復号化)に使用
する際には、この平文値が特定の作業用キー・レジスタ
から迅速にアクセスでき、したがってそれを使用する前
にキーを繰り返し非暗号化(復号化)するステップは不
用になる。
−プログラムMDC(変更検出コード)レジスタ(PMDCレ
ジスタ) プログラムMDCレジスタは64ビット幅で、CF内のプロ
グラム・メモリにロードされるプログラムのMDCを含
む。
−データ・セットMDCレジスタ(DMDCレジスタ) データ・セットMDCレジスタは64ビット幅で、その保
全性がCFAPによって妥当性検査されるデータ・セットの
MDCを含む。これは普通は少なくともキー記憶データ・
セットである。
暗号命令及び制御ベクトル検査アルゴリズム命令セッ
ト及び制御ベクトル検査アルゴリズムが完全保護された
暗号機構で実施され、ランダム・アクセス・メモリであ
る暗号命令記憶機構10に記憶される。それらのアルゴリ
ズムは、暗号処理機構16として動作できるインテル8028
6などのマイクロプロセッサで実行される。制御ベクト
ル検査機構14も暗号処理機構16で実施でき、あるいは、
制御ベクトル検査機構14として働くインテル80286など
第2のマイクロプロセッサによって実施できる。
プログラム・メモリ及び処理エンジン このシステムは、CF内のメモリを利用してユーザのプ
ログラムを記憶することも、処理エンジンを利用してプ
ログラムを実行することもできる。この例は、新しいPI
N形式に対するPIN検査のための新しいアルゴリズムを実
行するプログラムまたはマクロである。
乱数生成機構26 乱数生成機構は、64ビット擬似乱数を作成するアルゴ
リズム手順である。アルゴリズム自体は秘密ではない
が、128ビットのプライバシ・キー2個と64ビットの秘
密でない増分カウンタ1個を使用する。秘密でないにも
かかわらず、カウンタの保全性及び適切な管理が安全保
護にとって不可欠である。
暗号機構(CF)は、暗号命令記憶機構10内にデータ暗
号アルゴリズム及び少数のキー及びデータ・パラメータ
用の記憶機構を含む完全な実施態様である。この機構に
は、処理要求、キー及びデータ・パラメータを提示し、
変換された出力を受け取ることができる不可侵の(侵
入、詐欺に対して完全な)インターフェースを介してし
かアクセスできない。
ANSIデータ暗号アルゴリズム(DEA)は、商用データ
安全保護製品用の標準的暗号アルゴリズムである。DEA
は、56ビットのプライバシ・キーを使って64ビットの平
文テキストを暗号化し64ビットの暗号テキストを形成す
る、対称ブロック暗号アルゴリズムである。DEAキー
は、通常1バイトごとに1パリティ・ビットつきで記憶
され、64ビットのキーを形成する。DEAは、米国標準局
許可の連邦データ暗号化標準の基礎をなし、したがって
DESとも呼ばれる。
暗号機構は、暗号ハードウェアに対して限られたアク
セスしかできない内部の不正使用者による探索に耐えな
ければならない。「限られた」とは日や週ではなく分ま
たは時間単位のものである。不正使用者は、複雑な電子
機械機器を用いて不正使用者の制御下にある場所から研
究所を攻撃することができず、限られた電子装置を用い
てシステムが設置された位置で探索攻撃を行なうしかな
い。
暗号機構は、物理的な探索または侵入の試みを検出し
なければならない。これは、様々な電子機械式感知装置
を用いて行なわれる。
暗号機構は、内部に記憶されたすべての平文キーの自
動的ゼロ化を実行しなければならない。こうしたゼロ化
は、探索や侵入の試みが検出されたとき、自動的に実行
されなければならない。暗号機構は、フロント・パネル
・インターフェースを介してキー記憶機構をゼロ化する
手動能力も備えていなければならない。
暗号機構は、1つのマスタ・キーKMを含む。他のキー
はすべて、マスタ・キーと有効制御ベクトルの排他的論
理和を取ることによって形成されるキーのもとで暗号化
された大量記憶機構中に常駐できる。暗号機構の例の説
明は、「端末を用いる暗号通信及びファイル安全保護
(Cryptographic Communications and File Security U
sing Terminals)」と題するEhrsamの米国特許第438623
4号明細書に出ている。
CFAPは、CFとアプリケーション・プログラムの間のプ
ログラミング・インターフェースである。ユーザは暗号
機構に直接アクセスできないので、CFAPは、ユーザがCF
に特定の動作を実行することを要求する際に使われるプ
ログラミング・インターフェースである。
CFAPは、暗号キーが記憶されるCP外のキー記憶機構が
関連付けられている。平文キーはCF外では記憶されな
い。キー記憶機構22を本明細書では「暗号キー・データ
・セット」(CKDS)とも呼ぶ。
CFAPは通常下記のものから構成される。
− 上記のキー記憶機構に記憶されたキーを管理するキ
ー記憶マネージャ − ユーザが暗号機能を実行するためにCFにアクセスす
るのに使用するCFAPマクロアプリケーション・プログラ
ムには、ユーザのアプリケーション・プログラム、キー
導入ユーティリティなどのユーティリティ、及びIBM VT
AMなどの通信プログラムが含まれる。
ユーザのアプリケーション・プログラムは、特定のタ
スクを実行するためにあるCFAPマクロを呼び出すステー
トメントから構成される。上記のように、CFAPは、アプ
リケーション・プログラムがCFに暗号動作を実行するよ
う要求するために使える唯一のインターフェースであ
る。たとえば、ユーザがファイルをネットワーク上の他
のノードに送る前にそれを暗号化しようとしている。ユ
ーザのアプリケーション・プログラムは、キーを生成す
るためにCFAPマクロを呼び出す1つのステートメント、
及び所与のキーでファイルのデータを暗号化するために
他のCFAPマクロを呼び出すもう1つのステートメントを
有する。
ユーザのアプリケーション・プログラムのもう1つの
例は、上記の導入プログラムと類似の、システム上でキ
ーの手動導入が可能なものである。
第3図は、複数システム通信環境で様々なアプリケー
ションの間にキーを分配するための制御ベクトルの使用
を示す。互換性のために、いくつかのキーは制御ベクト
ルなしで分配しなければならないことに留意されたい。
表記法−以下の表記法を本明細書で使用する。
ECB 電子コード・ブック CBC 暗号ブロック連鎖 KM 128ビット・マスタ・キー KEK 128ビット・キー暗号化キー K 64ビット・キー *K 128ビット・キー (*)K 64または128ビット・キー KD 64ビット・データ暗号化キー KK 64ビット・キー暗号化キー *KK 128ビット・キー暗号化キー KKo オフセット64ビット・キー暗号化キー *KKo オフセット128ビット・キー暗号化キー (*)KKo オフセット64または128ビット・キー暗号
化キー *KKNI 128ビット部分認証キー暗号化キー *KN 128ビット認証キー、*KKNIoと等価 cx 64ビット制御ベクトル CxL 64ビット左制御ベクトル CxR 64ビット右制御ベクトル XORまたはxor 排他的論理和演算 or 論理和演算 X“O" 16進表記 11 連結演算 [x] 任意選択パラメータx not= 不等号 Eまたはe 1重暗号化 Dまたはd 1重非暗号化(復号化) EDEまたはede 3重暗号化 DEDまたはded 3重非暗号化(復号化) 式 各命令の機能は11,12,13,14,...…01,02,0
3,…の形で数学的に示される。
ただし、11,12,13は関数への入力であり、01,02,03,…
は関数からの出力である。
KM.Cx (KML XOR Cx)11(KMR XOR Cx)=KM
Y 11KMX ただし、KML=マスタ・キーKMの左64ビット KMR=マスタ・キーKMの右64ビット KMY=KML XOR Cx KMX=KMR XOR Cx e*Km.Cx(key) e*KM.Cx(key)=eKMY(dKMX(EKMY
(key)) ただし、KMY=KML XOR Cx KMX=KMR XOR Cx key=64ビット・キー e*KEKn.Cx(key)e*KEKn.Cx(key)=eKEKY(dKEKX(eK
EKY(key))) ただし、KEKY=KEKnL XOR CxL KEKX=KEKnR XOR CxR key =64ビット・キー e*KM.CxL(KEKnL)e*KM.CxL(KEKL)=eKMY(dKMX(eKM
Y(KEKnL))) ただし、KEKL=KEKの左64ビット KMY =KML XOR CxL KMX =KMR XOR CxL e*KM.CxR(KEKnR)e*KM.CxR(KEKR)=eKMY(dKMX(eKM
Y(KEKnR))) ただし、KEKR=KEKの右64ビット KMY =KML XOR CxR KMX =KMR XOR CxR e*KEKo(key) e*KEKo(key)=eKEKLo(dKEKRo(eKE
KLo(key))) ただし、KEKLo=KEKL XOR cntr KEKRo=KEKR XOR cntr cntr =KEKの暗黙64ビット・キー・メッセージ
・カウンタ key =64ビット・キー キーの暗号分離 本発明では、キーは、キー形式とキー使用属性に応じ
て次のように暗号分離される。
1.このアーキテクチャは、暗号キーが規定された所期の
方法でしか使用できないことを保証する。
2.内部分離とオン・ザ・リンク分離。内部(すなわち、
暗号機構内)では、キーは制御ベクトルまたは他の適切
なまたは等価な機構によって分離される。
3.ハードウェア実施とソフトウェア実施。ある暗号分離
はハードウェアで実施される。他の暗号分離はソフトウ
ェアを用いて実施できる。
4.制御ベクトル・キー・タイプと互換性モード・キー・
タイプ。互換性モード・キー・タイプで安全保護が低下
しないように、これら2つのクラスにキー・タイプの生
成、分配、使用を支配する数種の規則が課される。
5.本発明によってもたらされる必要なキー分離のリスト
を以下に列挙する。
a)データのプライバシ:暗号化と非暗号化の分離。メ
ールボックス、投票などの公開キー・プロトコルを可能
にする。
b)データMAC:MACVER(メッセージ確認コード検査)と
MACGEN(メッセージ確認コード生成)の分離。認証(電
子署名と等価)を可能にする。
c)データXLATE:中間装置が暗号化データを非暗号化
(復号化)できない、安全な変換チャネルを確立でき
る。
d)データCOMPAT:他のデータ・キーの安全保護を弱め
ずに互換性モードを可能にする。
e)データANSI:どちらの手法の安全保護も喪失させず
にANSI X9.17キー管理を非ANSI X9.17キー管理と共存
可能にする。
f)キー暗号化キー:KEK受信側とKEK送信側の分離。
g)PINキー:PIN暗号化キーとPIN生成キーの分離。
以下に示す表記法が第4図ないし第7図及び第1表で
使用される。
表記法: 分離文字と優先順位番号は、ボックス外の各線の付近
に置く。
分離文字は以下の記述に対応する。
優先順位番号の範囲(1ないし4)は以下のように解
釈するものとする。
1.絶対に必要 2.強く推奨される 3.推奨される 4.望ましい 基本キーの分離 第4図に、基本的暗号キーの分離を示す。分離の説明
は下記に示す。
1.A.データ・キーとKEK及びPINキー KD(データ・キー)がKEK及びPINから分離されない場
合、データ・キーと共に使用されるデータ非暗号機能を
悪用してKEKとPINを非暗号化(復号化)することができ
る。
2.B.キー暗号化キーとPINキー KEK(KEK暗号キー)がPINキーから分離されない場
合、外部者が暗号化されたPINブロックを電話で盗聴し
て、暗号化されたKDの代わりにそれを再試行することが
可能になる。前もって、内部の共犯者が、暗号化され記
憶されたKEKを受信側ノードの暗号キー・データ・セッ
ト内の暗号化され記憶されたPINキーで置換することが
できる。次いでPINブロックを回復し、受信側ノードで
データ・キーとして使用する。その後、このPINブロッ
クをデータ・キーとして使って暗号化されたデータは、
PINの可変性(通常、10進法で4ないし6桁)がランダ
ム56ビット・データ・キーよりずっと少ないので、キー
の徹底的攻撃をずっと受けやすくなる。
データ・キーの分離 第5図は、データ・キー分離の流れ図を示す。
この分離の理由は下記に示す。
1.A−認証とプライバシ 平文とMACキーで暗号化された当該の暗号テキストとを
収集できる内部者は、MAC処理手順に対して攻撃を行な
うことができる。たとえば、MACアルゴリズムによって
認証され受け入れられる不正なメッセージ及びMACを構
成することが可能となる。したがって、暗号化/非暗号
化(復号化)に使用するデータ・キーは、データの認証
に使用するべきではない。
リンク上では、傍受されたデータ・キーをMACキーの
代わりに使用できる場合、(そのデータ・キーによる)
伝送された暗号テキストを使って、不正なメッセージと
MACを構成することができる。
B−Xlate暗号テキストとプライバシ定義により、Xla
te暗号テキストは、データ・キーの対KD1とKD2の使用を
暗示する。その場合、KD1のもとで暗号化された暗号テ
キストがKD1のもとで非暗号化(復号化)され、次いで
呼出し側アプリケーション・プログラムにデータをさら
すことなくKD2のもとで再暗号化される。そうでない
と、既存の非暗号機能及び暗号機能を使ってXlate暗号
テキストが実行できることになる。
C−ANSIとその他すべて ANSIキーは、キー分配用のそれ自体のプロトコルと、
ANSI COMBINE KEYと呼ばれる追加の可能な用途をもつ。
これらの相違により、すべてのANSIキー用に別のプール
が必要となる。
D−データ互換性とその他すべて データ互換性キーは、IBM CUSP/3848、IBM PCFM、IBM
4700など以前のシステムと互換性をもたせるという要件
のために存在する。これらのシステムで実施された内部
分離は、プライバシ・キーからMACを分離するレベルま
では及ばないので、これらのキーをこうした改良された
分離レベルを支援するCVキーから区別する必要がある。
2.B−MACGENとMACVER メッセージとMACを誰が発信したかを「証明」するた
めの監査証跡をもたらす。この方法は、CFと同様に安全
ではなく、CFに記憶されたキーの保全性と安全保護に対
する相互信頼を前提としている。
3.C−暗号化と非暗号化(復号化) 暗号機能と非暗号機能の真の分離を行ない、したがっ
て同じデータ・キーのもとで非暗号化(復号化)する権
利を扱わずに、データをそのデータ・キーのもとで暗号
化できる。たとえば、暗号化のみのデータ・キーは、
「秘密投票」方式で使用できる。非暗号化(復号化)の
みのデータ・キーは、ユーザがあるデータを読み取るこ
とは許可されているが書き込むことは許可されていない
環境で使用できる。
PINキーの分離 第6図は、PINキー分離の流れ図を示す。この分離の
理由は下記に示す。
1.A−PIN生成キーとPIN暗号化キー PINブロックを有効ID値に等しくさせ、PIN暗号化キー
ではなくてPIN生成キーのもとで暗号化させることがで
きる内部者が、PINをさらすことができる。
2.B−PIN生成機能とPIN暗号化機能 PIN生成中に、暗号化PIN属性により、平文PINを生成
させるPIN生成キーを、暗号化されたPINを常に出力しな
ければならないPIN生成キーから分離することが可能に
なる。
3.C−PINブロック作成及びPIN生成とPIN再フォーマット
化、PIN検査及びPIN Xlate PIN暗号化キーをPIN再フォ
ーマット化、PIN検査及びPIN Xlateなどの日常的PIN処
理機能と共に使用しても、PINキーが使用または作成さ
れ、あるいはその他の方法でPINが電子速度でネットワ
ークに「導入」できるようにならない。そうできるよう
になれば、平文及び暗号化されたPINの辞書が電子速度
で収集されることが妨げられ、PINを直接非暗号化(復
号化)せずともPINを攻撃し回復することが可能になっ
てしまう。どこで、いつ、どんな条件のもとでPINがシ
ステムに導入されるかについて緊密な制御を実施する必
要がある。
4.D−PINブロック作成とPIN生成 ネットワーク内へのPINの導入に対してより大きな制
御が実施できる。PINブロックを作成する要件をもつノ
ードは、必ずしもPINを生成する権利または必要をもた
ない。
5.E−PIN再フォーマット化及びPIN検査とPINのXlate ネットワークへのPINの導入に対してより大きな制御
が実施できる。PINブロックを変換する要件をもつノー
ドは、必ずしもPINを再フォーマット化または検査する
権利または必要をもたない。後の2つの機能を組み合わ
せて使って、外部攻撃を介してPINを駆使することがで
きるが、Xlate PIN機能は、いくつかのノードが使用し
ても完全な処理能力を失うことはない。
キー暗号化キーの分離 第7図は、キー暗号化キー分離の流れ図を示す。
分離の理由は、下記に示す。
1.A−認証と非認証 内部者は、キーのバリアントが旧オフセット・カウン
タ値に等しくなるように、オフセットと共に使用される
よう意図されたキーを、オフセット/認証なしに使用さ
せることができる場合もあり、逆に、キーのオフセット
が、暗号機構内で特権モードでまたは許可されたバリア
ント表の入力項目によって作成または生成されるよう意
図されないバリアントに等しくなるように、非オフセッ
ト/許可のためのみに使用されるよう意図されたキー
を、オフセット処理で使用させることができることもあ
る。
2.B−CV KEYと非CV KEK CV暗号機構によって実行される、他の非CVネットワー
ク・ノードを支援する暗号動作は、CVネットワーク・ノ
ード安全保護を弱めまたは減少させてはならない。たと
えば、CVシステムは、非CV IBM4700またはIBM3848シス
テムからのプライバシ・キーと認証キーの搬入を支援し
なければならない。すべての場合に、これらのデータ・
キーは共用される定義域間キーのバリアント0のもとで
受け取れる。これらの非CVシステムの共用定義域間キー
が、CVシステム定義域間キーから暗号方式で分離されて
いない場合、(定義域間キーのバリアント0によって指
定された)1つの目的のために意図されたCVシステムデ
ータ・キーを搬入し、(他のバリアントによって指定さ
れた)別の目的のためにそれを変換することができる。
3.C−KEK送信者とKEK受信者 現IBM3848/CUSP及びIBM PCFにあるのと同じ定義域間
キーの一方向特性を維持する。また、双方向KEKの無許
可の作成を防止する際の制御を改善する。
4.D−GENKEYSET/XLATEとRFMK(Re−encipher From Mast
er Key)/GENKEYSET/XLATE マスタ・キー(またはマスタ・キーのバリアント)の
もとで記憶された既存のデータ・キーの搬出を必ずしも
可能にはせずに、データ・キーの送出のためにGENKEYSE
TとXLATEをKEKが支援できるようにする。したがって、
この特性が必要になるかまたは希望されないかぎり、CV
システムによって使用されたデータ・キーが、搬出のた
めにされされることはない。
5.E−GENKEYSET(搬出のみ)/XLATEとGENKEYSET(汎
用) 生成ノード内で生成されたデータ・キーを使用できる
ようにせずに、ノードをキー分配センタ(KDC)または
キー変換センタ(KTC)として動作させる。
6.F−RTMKとIBM3848/CUSP(及び互換システム)上のRFM
K CVシステムと互換性があるIBM3848/CUSP及び他のシス
テムの一方向性を支援する。
第1表は、キー分離の要約を示し、それらに相対する
優先順位を指定するものである。最高の優先順位は
「1」、最低の優先順位は「4」である。
第8図は、分離の流れを要約して示す。木の「葉」
は、個々のタイプのキーを使用する暗号命令を示す。
制御ベクトル 制御ベクトルの概念 制御ベクトルとは、キーの使用の制御用の64ビットの
秘密でない暗号変数である。暗号システムに対して定義
された各キーKは、関連制御ベクトルCを有し、すなわ
ち、キーと制御ベクトルで集合(K,C)を定義する。
各制御ベクトルは、CVタイプを指定する。CVタイプ
は、キーの使用方法とキーのリンク上での通信方法を支
配する規則とは広く定義する。キーは、データ・キー、
送信側のキー暗号化キー、受信側のキー暗号化キー、PI
N暗号化キー、PIN生成キー、中間ICV(initial chainin
g value又はinput chaining value)、キー部分または
トークンでよい。制御ベクトル中の追加ビットは、どの
暗号命令とパラメータ入力でキーが動作するかを正確に
指定する。他のビットは、キーの搬出、すなわち、キー
が搬出されるかどうかを制御する。
制御ベクトルは、特殊な暗号機能を介してキーに暗号
方式で結合される。たとえば、Kがキー記憶機構に記憶
されるとき、Kは制御ベクトルをマスタ・キーと排他的
論理和を取ることによって形成されるキーのもとで暗号
化される。すなわち、Kは集合(eKM.C(K),C)とし
て記憶される。ただし、KM.CはKM xor Cを示す。Kがリ
ンク上で(装置間を)伝送されるとき、類似の暗号化さ
れた形が使用される。この場合は、マスタ・キーKMの代
わりにキー暗号化キーKEKが使用される。ただし、KEKは
送信側と受信側の間で共用されるキーである。すなわ
ち、Kは集合(eKEK.C(K),C)として伝送される。こ
のアーキテクチャでは、その値が文脈から暗黙に定義さ
れ、あるいは利用可能なキー関連情報から再構成可能で
ある状況で制御ベクトルをキーと共に記憶または伝送す
る必要がない。
制御ベクトル(C)は、暗号化された形eKM.C(K)
または eKEK.C(K)を介してキー(K)に緊密に結合
されているので、Cが正しく指定されないかぎり、Kを
その暗号化された形から回復できないことは明らかであ
る。すなわち、要求された暗号命令に対する入力として
集合(EKM.C(K),C)が供給される場合、暗号機構は
まずCの供給値を検査して、キーの要求された使用が許
可されていると判定する。その後で始めて、Cを使って
eKM.C(K)を非暗号化(復号化)して、暗号機能の内
部のKを平文値が回復される。偽りの値C*が指定され
た場合、暗号機構は一時的にだまされてC*を受け入れ
るが、Kは適切に回復されない。すなわち、Cの正しい
値も指定されないかぎり、ユーザがKの正しい値を回復
することはできない。したがって、この暗号原理は、ア
ーキテクチャ全体の組立ての基礎である。必要に応じて
また適切な場合、追加の安全保護が設けられる。
制御ベクトルは、暗号キーの使用属性を定義するため
のコンパクトなデータ構造である。制御ベクトルは、暗
号処理を介してキーに暗号方式で結合されている。この
処理は、制御ベクトルが正しく指定された場合だけ、キ
ーが適切な非暗号化(復号化)できるようになってい
る。(制御ベクトルのビットが変わっても全く異なるキ
ーが回復されてしまう。) CV検査 制御ベクトルは、CV検査が最小限ですむように設計さ
れている。制御ベクトル使用ビットは、各使用属性自体
が特定の使用を許可または否定するように定義され構成
されている。すなわち、データ暗号命令によってデータ
を暗号化する能力が、制御ベクトル内の単一「暗号化」
ビットによって制御される。そのタイプ/サブタイプは
「データ/プライバシ」である。
すなわち、各使用属性が他のすべての使用属性から独
立して定義される。このため、各命令が要求された機能
によって呼び出された使用属性だけを検査するようなCV
検査処理が保証される。他の何らかの属性が使用可能ま
たは使用不可能になるときだけ使用属性が使用可能にな
るような設計は、CV検査を増加させるので特に回避され
る。2つ以上の制御ベクトルの間での属性の相互検査が
必要であるが、最小限に抑えられる。
CV検査を容易にし単純にするために、各暗号命令に、
必要な場合、その命令に対するパラメータとして渡され
るキーの特定の使用を宣言する「モード」パラメータが
渡される。すなわち、CV検査処理で、指定された「モー
ド」に従って各制御ベクトルが検査される。このため、
整合性を確保するために制御ベクトル属性の間でコスト
のかかる相互検査を行なう必要がなくなる。
この設計はまた、どんな暗号命令も制御ベクトルを生
成しないという原理にも従っている。すべての制御ベク
トルは、パラメータ入力として暗号命令に供給される。
可能な場合、CVタイプに関わらず、同じ使用属性とフ
ィールド定義が、制御ベクトル中の同じビット位置に配
置される。そのため、CV検査が容易になる。たとえば、
データ/プライバシCVに対する使用ビットが、“E"(En
cipher)及び“D"(Decipher)で、データ/Xlate CVに
対する使用ビットが“XOUT"と“XIN"であるとしても、
暗号テキスト変換命令は、データ/プライバシ制御ベク
トル及びデータ/Xlate制御ベクトル中の同じビット位置
を照会する。
CV構造 一般に、(形式、フィールド及びビット指定を含め
て)制御ベクトルの構造は、CV検査を最小に抑え容易に
し、同時に、暗号安全保護をもたらすように定義されて
いる。CV構造は、いわば、設計過程における自由度が最
大の変数である。
以下に示す設計任意選択が制御ベクトルで使用され
る。
1.垂直分離。制御ベクトルは、バリアントによって行な
われる分離と同様に、制御ベクトル構造内での垂直分離
をもたらす「CVタイプ」フィールドを有する。制御ベク
トルのタイプは、既存のキー用語とキー管理に従う。し
かし、垂直分離は、CAのもとで必要な場合にしか実施さ
れず、したがってCV検査規則のアーキテクチャが簡単に
なり、かつ理解しやすくなる。
まず、CV主タイプ(たとえば、データ・キー、キー暗
号化キー、PINキー)の広いクラスを定義し、次に、CV
タイプ内のCVサブタイプと使用属性を定義することによ
り、CV検査規則を、「分割統治」式探索が力づくの方法
より効果的なのと同様に最適化できる。
2.水平分離。制御ベクトルは、キーに関連する使用属性
(またはその他の暗号変数)を記録するためのデータ構
造として理想的である。CA内では、これは、キーが入力
として使用されるあらゆる暗号命令に対する制御ベクト
ルのビット(あるいは複数のキー・パラメータが関与す
る場合、命令内のキー・パラメータ)を指定することに
よって行なう。“1"のビット値は、キーの使用がCFによ
って「使用可能」にされることを示し、“0"のビット値
は、キーの使用がCFによって「使用不可能」にされるこ
とを示す。この形の制御ベクトル構造化は水平分離と呼
ばれる。
3.コード化フィールド。複数ビットのフィールドはしば
しば安全保護上の理由でコード化される。コード化され
たフィールドは、個々のビットがそれ自体は重要でない
が、ビット全体で可能な1組の値を定義するという特徴
をもつ。コード化フィールドは、一時に1つの値しか取
れないので、相互に排他的な事象を定義するという利点
をもつ。コード化フィールドは、CV検査が性能の点から
必ずしも最適化されないという潜在的欠点をもつ。しか
し、暗号攻撃を起こしあるいは何らかの暗号の弱点を導
入する、不適切な組合せで使用属性を混合できないよう
にするために、コード化フィールドが必要となることが
多い。
4.非システム生成キーからの保護。制御ベクトルとキー
を結合するこの方法は、CV検査で非システム生成キーか
ら(KGEN(キー生成)またはGKS(生成キー・セット)
を用いて)システム生成キーを検出できないようになっ
ている。このため、このアーキテクチャ内に、キーと制
御ベクトルを生成する「バック・ドア」法がある。この
方法は、「好みの」制御ベクトルと乱数を定義するもの
である。乱数は、選択された制御ベクトルを用いるアー
キテクチャのもとで記述された方式で暗号化されたキー
として表される。(ただし、この方法は、暗号機構内で
実際に回復されたキーを制御する能力はない。) いわゆる「バック・ドア」キー生成法は、追加の防御
手段をアーキテクチャ内で講じなかった場合に暗号攻撃
が可能になることもあるが、主として面倒である。この
「バック・ドア」キー生成を(一度だけ)除去するアー
キテクチャを定義するのは簡単なことであるが、そうす
れば、保証されない追加の複雑さと処理が導入されるこ
とになる。CAは、より実際的な方法に従う。すなわち、
安全保護上の理由で必要な場合にだけ「バック・ドア」
キー生成の問題が防止される。すなわち、安全保護、複
雑さ及び性能の間でうまく均衡がとられる。「バック・
ドア」キー生成法によって導入される暗号上の弱点を回
避する技術は以下の通りである。
a)必要な場合、単一制御ベクトル内の競合する使用属
性が2つの制御ベクトル間で分割される。GKS命令は、
キー対のいわゆる不良組合せが生成されないよう検査す
る。
b)必要な場合、単一制御ベクトル内の競合する使用属
性が、単一コード化フィールドにまとめられる。
c)最後の手段として、余分な冗長性を使ってCFがそれ
自体のシステム生成キーの妥当性検査を行なえるように
する。
5.制御ベクトルの偶数パリティ。制御ベクトルに対して
偶数パリティが実施される。このため、奇数パリティ・
キーを制御ベクトルと排他的論理和を取ると、内部キー
が奇数パリティとなる。そのために、(こうした検査が
実施される場合)こうした内部誘導キーが奇数パリティ
かどうか検査するハードウェアとの互換性が確保され
る。別の言い方をすると、CAは、ハードウェアが内部キ
ーでこの奇数パリティを実施しないようにすることがで
きない。
0ないし63の番号をつけた64個のビットからなる制御
ベクトル。規約により、最上位ビットはビット0であ
る。64ビットのうち、8つのパリティ・ビットがある。
6.反バリアント・ビット。これは、ノード内部での一部
の実施態様では混合することが避けられないバリアント
と制御ベクトルの間の暗号分離を保証する。
7.上へのマッピングの回避。この制御ベクトルの設計
と、暗号命令セットによる制御ベクトルの操作により、
複数の値をもつCVフィールドが単一値にマップされるイ
ンスタンスが回避される。こうした上へのマッピングの
特定のインスタンスは、安全保護が損なわれる危険がな
い場合(たとえば、LCVA(Lower CV Authority)、RFMK
及びRTMK命令)に認められる。
CFAP制御 制御ベクトルのいくつかのビットは、CFAP用に予約さ
れている。これらのビットは、今後のキー管理制御のた
めにCFAPが使用できる。これらのビットは、CFによって
検査されず、CFAPによって完全に管理される。
制御ベクトルの一般形式 第2表は、制御ベクトルの一般形式を示す。第2表の
第1行は、制御ベクトルの大半に共通なフィールドを示
す。それらのフィールドを、以下に要約して説明する。
(詳細は以後の小項目に示す。) *CVタイプ このフィールドは、制御ベクトルのタイプを示し、こ
の制御ベクトルが関連するキーのキー・タイプでもあ
る。CVタイプ・フィールドは主タイプとサブタイプから
構成される。
制御ベクトルの主タイプは以下の通りである。
− データ・キー データ・キーはデータを暗号化/非暗号化(復号化)
しデータを認証するのに使用される。
− PINキー PINキーは、PINを暗号化しPINを生成するのに使用さ
れる。
− キー暗号化キー キー暗号化キーはキーを暗号化するのに使用される。
− キー部分 キー部分はキーの一部または構成要素であり、キーと
同じ長さをもつ。たとえば、キーKは、Ka XOR Kb=K
となる2つのキー部分KaとKbをもつことができる。
− 中間ICV 中間ICVは、MAC処理中にデータまたはメッセージのセ
グメントの中間出力連鎖値を暗号化するために使用され
る。このOCVは、次いでデータの次のセグメントに送ら
れてICVとして使用される。それが行なわれるのは、そ
れに対するMACが生成または検査されるメッセージまた
はデータが長すぎて、短いセグメントに分割しなければ
ならない場合である。
− トークン トークンは、データ・キー・データ・セット(データ
・キー用のキー記憶機構)に記憶されたデータ・キーの
保全性を保護するために使用される変数である。これ
は、無許可のユーザがデータにアクセスするのを防止す
るのに役立つ。
サブタイプは、同じ主タイプのキーのクラスを区別す
るためのものである。たとえば、データ・キーという主
キー・タイプのキーは、プライバシ(暗号化と非暗号化
(復号化)を行なうことができる)、MAC(データ認証
を実行することができる)、データXLATE(暗号テキス
トを変換することができる)、などのサブタイプをもつ
ことができる。サブタイプが区別されないとき、キーは
通常主タイプの名前(たとえば、データ・キー、PINキ
ーなど)で呼ばれる。
*搬出制御 このフィールドは、この制御ベクトルに関連するキー
の搬出がどのように制御されるか、及びキーの搬出が許
可されるかどうかを示す。
*CF強制使用 このフィールドは、キーがどのCA機能に使用できる
か、及びそれが使用される方法を示す。たとえば、デー
タ・プライバシ・キーは、そのキーがデータの暗号化及
び非暗号化(復号化)を行なうための暗号化機能及び非
暗号化機能で使用できることを示す使用属性E=1とD
=1を有する。
*AV(反バリアント) このフィールドは、バリアントに基づく暗号システム
で使用される、64個の事前定義されたバリアントから任
意の有効制御ベクトルを区別する。64個の事前定義バリ
アントのうちのどのバリアントの8バイトもすべて同じ
なので、制御ベクトルの少なくとも2バイトが同一でな
いようにAVフィールドの値を設定すると、有効制御ベク
トルが事前定義バリアントから区別される。
*ソフトウェア・ビット このフィールドは、CFAPによって完全に制御/管理さ
れる制御ベクトル・ビットを表す。ソフトウェア・フィ
ールドはハードウェア(CF)によって検査/実施されな
い。制御ベクトルがないときは、CFAPは(通常マクロ中
のパラメータを介して)CFAPに供給される情報から制御
ベクトルを作成する。制御ベクトルがすでに存在してい
るときは、CFAPは(ソフトウェア・フィールドを含む)
制御ベクトルを検査して、そのキーが指定/要求された
方式で動作できるかどうか判定する。ソフトウェア(CF
AP)とは異なり、ハードウェア(CF)は、CA命令に関連
するビットだけを検査する(他の使用ビットは検査され
ない)。
*拡張 このフィールドは、制御ベクトルが64ビットの制御ベ
クトルかそれとも128ビットの拡張制御ベクトルかを示
す。現在のCAでは、すべての制御ベクトルは長さ64ビッ
トである。制御ベクトルを指定するのに必要なビットの
数が64ビット長を超えるとき、将来制御ベクトルを拡張
しやすくするため、このフィールドが定義される。
*予約ビット このフィールドは将来の使用にためにシステムに予約
されている。
*パリティ・ベクトル すべてのパリティ・ビットは、バイトの先行する7ビ
ットの偶数パリティである。
キー暗号化キー制御ベクトルでは、上記の共通のフィ
ールドの他に、2つの追加フィールド、キー形式(KEY
FORM)及びリンク制御(LINK CONTROL)がある。
*キー形式 このフィールドは、キーの長さ(単長または倍長)及
び制御ベクトル・キーに関連するキーの半分がキーの右
半分か左半分かを示す。単長キーでは、右半分は左半分
と同じで、キー自体であることに留意されたい。
*リンク制御 このフィールドは、この制御ベクトルに関連するキー
暗号化キーを使ってリンク上で他のキーがどのように伝
送されるか、及びこのキー暗号化キーのもとで、どのタ
イプのシステム(たとえば、CVシステムまたは非CVシス
テム)との間でキーが送受できるかを示す。
本節の一般的な表及び参照する他の表の第2行及び第
3行の記述は、制御ベクトルの一部ではないことに留意
されたい。それらの記述は、制御ベクトルの各フィール
ドに次のような情報を示すためにそこに置かれている。
− 第2行は、フィールドのビット長を示す。略語
「b」は「ビット」を表す。たとえば、1bは1ビットを
表し、3bは3ビットを表し、以下同様である。
− 第3行は、そのフィールドがハードウェア(CF)に
よって検査されるかそれともソフトウェア(CFAP)によ
って検査されるかを示す。
データ・キー用制御ベクトルの形式 データ・キーは以下のサブタイプに分かれる。
− データ互換性キー。これは、IBM3848/CUSPまたはIB
M4700FCSなどの既存システムとの互換性を維持するため
に使用されるデータ・キーである。これらの既存システ
ムはプライバシと認証の間の暗号分離を行なわないの
で、このキーは、MACの暗号化、非暗号化(復号化)、
生成及び検査などの機能のいずれかまたはすべてを実行
するのに使用できる。この制御ベクトルは、それが(RF
MK命令を用いて)他のシステムに搬出されるとき除去で
きる(すなわち、オン・ザ・リンクでCV=0と置換でき
る)が、ANSIデータ・キーを除く他のすべてのデータ・
キー用の制御ベクトルは除去できない。
− プライバシ・キー。これは、暗号化または非暗号化
(復号化)のためにだけ使用されるキーである。
− MACキー。これは、データ認証のためにだけ使用さ
れるキーできる。すなわち、これはMACの生成または検
査にしか使用できない。
− データ変換キー(データXLTキー)。これは暗号テ
キストの変換で使用されるキーである。
− ANSIキー。これは、ANSIアプリケーションで使用さ
れるキーである。これは、データの暗号化及び非暗号化
(復号化)またはMACの生成及び検査に使用できる。ま
た、他のANSIキーと組み合わせてANSI MACキー(すなわ
ち、MAC生成/検査機能をもつデータANSIキー)を生成
することもできる。この制御ベクトルは、ARFMK(ANSI
Reencipher From Master Ker)命令を用いて他のシステ
ムに搬出されるとき除去できる(すなわち、オン・ザ・
リンクでCV=0と置換できる)が、互換性キーを除く他
のすべてのデータ・キーの制御ベクトルは除去できな
い。
制御ベクトルのCVサブタイプに応じて、USAGE(使
用)フィールドの各ビットは以後に記載する特定の意味
をもつ。
プライバシ・キー用制御ベクトル 第3表を参照して、この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ プライバシ・キー用のCVタイプ(主タイプ=“DATA K
EY"、サブタイプ=“PRIVACY") *搬出制御(このキーの搬出を制御する):このフィー
ルドは1ビットを占める。
− EXPORT CONTROL=1:このキーはRFMKによって搬出で
きる。また、RFMK、RTMK及びLCVA命令でこのビットを0
にリセットできる。
− EXPORT CONTROL=0:このキーはRFMKによって搬出で
きない。また、どの命令によっても1に変更できない。
例として、ノードXがキーKと制御ベクトルCを生成
し、それらをノードYに送るものと仮定する。
*使用 a)E − E=1:このキーは、データを暗号化するために暗号
命令中で使用できる。
− E=0:このキーは、データを暗号化するために暗号
命令中で使用できない。
b)D − D=1:このキーは、データを非暗号化(復号化)す
るために非暗号化命令中で使用できる。
− D=0:このキーは、データを非暗号化(復号化)す
るために非暗号命令中で使用できない。
*AV(反バリアント) このフィールドは2ビットを占め、バリアントに基づ
く暗号システムで使用される64個の事前設定バリアント
から制御ベクトルを区別するのに使用される。64個の事
前定義バリアントのうちのどのバリアントの8バイトも
すべて同じなので、制御ベクトルの少なくとも2バイト
が同じでないようにAVフィールドの値を設定すると、有
効制御ベクトルが事前設定バリアントから区別される。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン このフィールドは、長さ6ビットで、現在の制御ベク
トルの定義を将来の定義から区別するためにCFAPによっ
て使用される。
b)ソフトウェア=強制使用 CFAPの節も参照のこと。
− CVDPIM(制御ベクトル・データ・プライバシIcv必
須) − CVDPCU(制御ベクトル・データ・プライバシCUsp) − CVDP47(制御ベクトル・データ・プライバシ4700) − CVDPM8(制御ベクトル・データ・プライバシ8の倍
数) *拡張 このフィールドは、制御ベクトルが64ビットの制御ベ
クトルかそれとも64ビットを超える拡張制御ベクトルか
を示す。
*予約ビット このフィールドは、将来の使用のためにシステムに予
約されている。
*パリティ このフィールドは、制御ベクトルのすべてのバイトの
最後のビットから構成される。各バイトのパリティ・ビ
ットは、そのバイトに対する偶数パリティをもたらすよ
うに設定される。
MACキー用制御ベクトル 第4表を参照する。この図の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ: MACキー用のCVタイプ(主タイプ=“DATA KEY"、サブ
タイプ=“MAC") *搬出制御(このキーの搬出を制御する) プライバシ・キーの説明と同じ。
*使用 a)MG − MG=1:このキーは、データに対するMACを生成する
ためにGMAC命令中で使用することができる。
− MG=0:このキーは、データに対するMACを生成する
ためにGMAC命令中で使用することができない。
b)MV − MV=1:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用することができる。
− MV=0:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用することができない。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン−同じ説明 b)ソフトウェア強制使用 CFAPの節も参照のこと。
− CVDML4(制御ベクトル・データMACLEN=4) − CVDM99(制御ベクトル・データMAC MODE=ANSI X9.
9) − CVDM19(制御ベクトル・データMAC MODE=ANSI X9.
19) − CVDM00(制御ベクトル・データMAC MODE=IBM470
0) − CVDM30(制御ベクトル・データMAC MODE=IBM473
0) *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
データ互換性キー用制御ベクトル 第5表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ CVタイプ=データ互換性キー用(主タイプ=“DATA K
EY"、サブタイプ=“COMPATIBILITY") *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)E − E=1:このキーは、データを暗号化するために暗号
命令中で使用できる。
− E=0:このキーは、データを暗号化するために暗号
命令中で使用できない。
b)D − D=1:このキーは、データを非暗号化(復号化)す
るために非暗号化命令中で使用できる。
− D=0:このキーは、データを非暗号化(復号化)す
るために非暗号命令中で使用できない。
c)MG − MG=1:このキーは、データに対するMACを生成する
ためにGMAC命令中で使用できる。
− MG=0:このキーは、データを対するMACを生成する
ためにGMAC命令中で使用できない。
d)MV − MV=1:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用できる。
− MV=0:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用できない。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
データXLATEキー用制御ベクトル 第6表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ データXLTAEキー用のCVタイプ(主タイプ=“DATA KE
Y"、サブタイプ=“XLATE") *搬出制御(このキーの搬出を制御する) プライバシ・キーの説明と同じ。
*使用 a)XDout − XDout=1:このキーは、暗号テキスト変換命令中で
出力データ・キーとして使用することができる。
− XDout=0:このキーは、暗号テキスト変換命令中で
出力データ・キーとして使用することができない。
b)XDin − XDin=1:このキーは、暗号テキスト変換命令中で入
力データ・キーとして使用することができる。
− XDin=0:このキーは、暗号テキスト変換命令中で入
力データ・キーとして使用することができない。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは、12ビットを占める。
a)CVバージョン b)ソフトウェア強制使用 *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
ANSIデータ・キー用制御ベクトル 第7表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ データANSIキー用のCVタイプ(主タイプ=“DATA KE
Y"、サブタイプ=“ANSI") *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)E − E=1:このキーはデータを暗号化するために暗号命
令中で使用できる。
− E=0:このキーはデータを暗号化するために暗号命
令中で使用できない。
b)D − D=1:このキーは、データを非暗号化(復号化)す
るために非暗号化命令中で使用できる。
− D=0:このキーは、データを非暗号化(復号化)す
るために非暗号化命令中で使用できない。
c)MG − MG=1:このキーは、データに対するMACを生成する
ためにGMAC命令中で使用できる。
− MG=0:このキーは、データに対するMACを生成する
ためにGMAC命令中で使用できない。
d)MV − MV=1:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用できる。
− MV=0:このキーは、データに対するMACを検査する
ためにVMAC命令中で使用できない。
e)ACMB このビットは、データ・キーをACOMBKD属性をもつ他
のデータ・キーと排他的論理和を取ることができること
を示す。排他的論理和処理は、後で“ANSI KD結合(ACO
MBKD)”の節で述べるように、ACOMBKD命令によって実
行される。その結果得られるキーは、ANSI X9.17プロト
コルを用いて通信されるメッセージのMACを検査し生成
するために使用される。
− ACMB=1:このデータ・キーは、ACMB命令中で結合で
きる。
− ACMB=0:このデータ・キーは、ACMB命令中で結合で
きない。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
PINキー用制御ベクトルの形式 PINキーは以下に示すサブタイプに分かれる。
− PIN暗号化キー(PEK) これらのキーは、PINを暗号化するのに使用されるキ
ーである。
− PIN生成キー(PGK) これらは、PINを生成するのに使用されるキーであ
る。PGKはPINの妥当性検査/検査を行なうのに使用され
るので、場合によってはPIN妥当性検査キーと呼ばれる
こともある。
PIN暗号化キー用制御ベクトル 第8表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ PIN暗号化キー(PEK)用のCVタイプ(主タイプ=“PI
Nキー”、サブタイプ=“PIN暗号化キー” *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)PINBLK作成 − CREATE PINBLK=1:このキーは、ピン・ブロック作
成命令中でPINブロックを暗号化することができる。
− CREATE PINBLK=0:このキーは、ピン・ブロック作
成命令中でPINブロックを暗号化することができない。
b)GENPIN − GFNPIN=1:このキーは、ピン生成命令中で入力顧客
PIN(CPIN)を暗号化することができる。
− GENPIN=0:このキーは、ピン生成命令中で入力顧客
PIN(CPIN)を暗号化することができない。
c)VERPIN − VERPIN=1:このキーは、ピン検査命令に対するPIN
入力を暗号化することができる。
− VERPIN=0:このキーは、ピン検査命令に対するPIN
入力を暗号化することができない。
d)XPIN in − XPIN in=1:このキーは、ピン変換命令中で入力PIN
を暗号化することができる。
− XPIN in=1:このキーは、ピン変換命令中で入力PIN
を暗号化することができない。
e)XPIN out − XPIN out=1:このキーは、ピン変換命令中で入力PI
Nを暗号化することができる。
− XPIN out=0:このキーは、ピン変換命令中で出力PI
Nを暗号化することができない。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン − プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 − なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
PIN生成キー用制御ベクトル 第9表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ PIN生成キー用のCVタイプ(主タイプ=“PINキー”、
サブタイプ=“PIN生成キー”) *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)GENPIN このフィールドは2ビットを占め、そのもとでキーがピ
ン生成命令中でPINまたはPINオフセットを生成すること
ができる状態を示す。
− GENPIN=B“00":PINまたはPINオフセットを生成す
ることができない。
− GENPIN=B“01":平文PINまたは平文PINオフセット
を生成することができる。
− GENPIN=B“10":暗号化されたPINまたは暗号化さ
れたPINオフセットを生成することができる。
− GENPIN=B“11":平文または暗号化されたPINまた
はPINオフセットを生成することができる。
b)GPIN このビットは、顧客が選択したPIN(CPIN)を、平文P
INまたは暗号化PINの形でGENPIN命令に入力できるかど
うかを示す。
− GPIN=0:平文または暗号化PINが入力できる。
− GPIN=1:暗号化PINだけが入力できる。
c)VERPIN このビットは、そのキーがPIN妥当性検査キーとして
ピン検査命令中のPINを検査するのに使用できるかどう
かを示す。
− VERPIN=1:PINの検査に使用できる。
− VERPIN=0:PINの検査に使用できない。
d)VPIN このビットは、ピン検査命令中で検査されるPINを、平
文PINまたは暗号化PINの形で命令に入力できるかどうか
を示す。
− VPIN=0:平文または暗号化PINが入力できる。
− VPIN=1:暗号化PINだけが入力できる。
*AV(反バリアント) プライバシ・キーの説明と同じ。
このフィールドは12ビットを占める。
*ソフトウェア・ビット a)CV VERSION プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
キー暗号化キー用制御ベクトルの形式 キー暗号化キーは以下のサブタイプに分かれる。
−KEK(キー暗号化キー)送信側 このタイプのKEKはキーの送信または搬出に使用され
る。
−KEK受信側 このタイプのKEKはキーの受信または搬入に使用され
る。
−KEK ANSI このタイプのキーは、ANSI X9.17キー管理環境であ
る。
KEK送信側用制御ベクトルの形式 第10表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ KEK送信側用のCVタイプ(主タイプ=“キー暗号化キ
ー(KEK)”、サブタイプ=“送信側” *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)GKS このフィールドは3ビットを占め、そのキーがGKS命
令のモード、搬入−搬出、動作−搬出及び搬出−搬出の
いずれかに搬出キーとして関与できるかどうかを示す。
− ビット0:搬入−搬出モード これは、GKS命令がキーの2コピーを生成し、搬出コ
ピーと呼ばれる一方のコピーは、後で生成ノードによっ
て搬入される形であり、搬出コピーと呼ばれる他方のコ
ピーは、別のノードに送られる形である。
‐‐ ビット0=1:このキーは、Im−Ex(搬入−搬出)
モードで生成されたキーの搬出コピーを送ることができ
る。
‐‐ ビット0=0:このキーは、Im−Ex(搬入−搬出)
モードで生成されたキーの搬出コピーを送ることができ
ない。
− ビット1:動作−搬出モード このモードは、GKS命令がキーの2コピーを生成し、
一方のコピーは局所使用のためのもの(動作コピー)
で、他方のコピーは他のノードに送られる形(搬出コピ
ー)である。
‐‐ ビット1=1:このキーは、Op−Ex(動作−搬出)
モードで生成されたキーの搬出コピーを送ることができ
る。
‐‐ ビット1=1:このキーは、Op−Ex(動作−搬出)
モードで生成されたキーの搬出コピーを送ることができ
ない。
− ビット2:搬出−搬出モード このモードは、GKS命令がキーの2コピーを生成し、
各コピーは異なるノードに送られる形である。
‐‐ ビット2=1:このキーは、Ex−Ex(搬出−搬出)
モードで生成されたキーの搬出コピーの1つを送ること
ができる。送られるコピーは、GKS命令中のパラメータ
で指定される。
‐‐ ビット2=0:このキーは、搬出−搬出モードで生
成されたキーを送ることができない。
b)RFMK このフィールドは1ビットを占める。
− RFMK=1:このキーは、RFMK命令を用いて他のノード
にキーを搬出できる。
− RFMK=0:このキーは、RFMK命令を用いて他のノード
にキーを搬出することができない。
c)XLTKEY out − XLTKEY out=1:このキーは、他のキーのもとで以前
に暗号化されたキーを再暗号化するためにTRANSLAT KE
Y命令中でKEKとして使用できる。
− XLTKEY out=1:このキーは、他のキーのもとで以前
に暗号化されたキーを再暗号化するためにTRANSLAT KE
Y命令中でKEKとして使用できない。
*KEK形式 このフィールドは2ビットを占め、KEKが短キー(す
なわち、単長)かそれとも長キー(すなわち、倍長)
か、及びそれがキーの右半分かそれとも左半分かを示
す。
*リンク制御 このフィールドは2ビットを占め、このKEKがリンク
上でキーを送受するのに使用される方法を示す。
− LINK CONTROL=B“00":適用されない。
− LINK CONTROL=B“01":CVのみ。すなわち、送られ
るキーKは、このKEKとキーKに関連する制御ベクトル
の排他的論理和を取って形成されたキーのもとで暗号化
されなければならない。明らかに、このタイプのリンク
環境またはチャネルは、両方の通信ノードがCAを実施す
るノードであるとき、キーの交換に適している。
− LINK CONTROL=B“10":CV=0のみ。すなわち、送
られるキーKは、KEKと非ゼロの制御ベクトルの排他的
論理和を取って形成されたキーではなく、このKEKのも
とで暗号化される。このタイプのチャネルは、受信側ノ
ードと送信側ノードのどちらか一方は非CVノードのとき
に適している。
− LINK CONTROL=B“11":CVまたはCV=0。すなわ
ち、送られるキーKは、KEKのみのもとで暗号化された
ものでも、またKEKとキーKに関連する制御ベクトルの
排他的論理和を取って形成されたキーのもとで暗号化さ
れたものでもよい。このタイプのチャネルは、CA環境で
走行するアプリケーションを除いて、制御ベクトルを認
識しない既存の一部のアプリケーションをもつCAノード
に適している。制御ベクトルを認識しない既存のアプリ
ケーションでは、ノードは、KEKのみのもとで暗号化さ
れたキーを搬出する。CA環境で走行するアプリケーショ
ンでは、ノードは、KEKと送られるキーに関連する制御
ベクトルの排他的論理和を取って形成されたキーのもと
で暗号化されたキーを搬出する。
これらのタイプのチャネルを使ってキーを交換する方
法については、キー管理の節でより詳細に説明する。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 CFAPの節も参照のこと。
− CVKSKD(制御ベクトルKEK送信側−データ・キーを
送る) − CVKSKP(制御ベクトルKEK送信側−PINキーを送る) − CVKSKK(制御ベクトルKEK送信側−KEKを送る) *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
KEK受信側用制御ベクトルの形式 第11表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ KEK受信側のCVタイプ(主タイプ=“キー暗号化キー
(KEK)”、サブタイプ=“受信側”) *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)GKS このフィールドは2ビットを占め、そのキーがGKS命
令のモード、搬入−搬出及び動作−搬入のいずれかに搬
出キーとして関与できるかどうかを示す。
− ビット0:搬入−搬出モード このモードでは、GKS命令がキーの2コピーを生成
し、搬入コピーと呼ばれる一方のコピーは、後で生成側
ノードによって搬入される形であり、搬出コピーと呼ば
れる他方のコピーは、別のノードに送られる形である。
‐‐ ビット0=1:このキーは、Im−Ex(搬入−搬出)
モードで生成されたキーの搬入コピーを暗号化すること
ができる。
‐‐ ビット0=0:このキーは、Im−Ex(搬入−搬出)
モードで生成されたキーの搬出コピーを暗号化すること
ができない。
− ビット1:動作−搬入モード このモードでは、GKS命令がキーの2コピーを生成
し、一方のコピーは局所使用のためのもの(動作コピ
ー)であり、他方のコピーは、生成側ノードに搬入され
る(搬入コピー)形である。
‐‐ ビット1=1:このキーは、Op−Imp(動作−搬
入)モードで生成されたキーの搬入コピーを暗号化する
ことができる。
‐‐ ビット1=0:このキーは、Op−Imp(動作−搬
入)モードで生成されたキーの搬入コピーを暗号化する
ことができない。
b)RTMK このフィールドは1ビットを占める。
− RTMK=1:このキーは、RTMK命令を用いてキーを受信
することができる。
− RTMK=0:このキーは、RTMK命令を用いてキーを受信
することができない。
c)XLTKEY in − XLTKEY in=1:このキーは、TRANSLATE KEY命令に対
する入力キーを暗号化することができる。
− XLTKEY in=1:このキーは、TRANSLATE KEY命令に対
する入力キーを暗号化することができない。
*キー形式 このフィールドは2ビット長で、KEKが短キー(すな
わち、単長)それとも長キー(すなわち、倍長)か、及
びキーが長い場合、キーの半分が右半分かそれとも左半
分かを示す。
*リンク制御 KEK送信側キーの説明と同じ。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 CFAPの節も参照のこと。
− CVKRKD(制御ベクトルKEK受信側−データ・キーを
受信る) − CVKRKP(制御ベクトルKEK受信側−データ・キーを
受信する) − CVKRKK(制御ベクトルKEK受信側−KEKを受信する) *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
ANSI KEK用制御ベクトルの形式 第12表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ CVタイプ(主タイプ=“キー暗号化キー(KEK)”、
サブタイプ=“ANSI") *搬出制御 プライバシ・キーの説明と同じ。
*使用 a)ARFMK キーを他のノードに送るためにこのキーがARFMK命令
中でキー暗号化キーとして使用できるかどうかを指定す
る。
b)ARTMK キーを他のノードから受信するためにこのキーがARTM
K命令中でキー暗号化キーとして使用できるかどうかを
指定する。
c)AXLTKEY キーを変換するためにこのキーがAXLTKEY中でキー暗
号化キーとして使用できるかどうかを指定する。ANSI K
EK制御ベクトル上には、入力変換キーまたは出力変換キ
ーの指示がないことに留意されたい。これはANSIキーが
双方向性であるためである。
d)APNOTR(Another Partial NOTaRizing) 後で他のキーを認証することができる部分認証キーを
作成するために、このキーに対して変換を実施できるか
どうかを指定する。その変換が行なわれると、その結果
得られる部分認証キーKKPNは、KKPNが他の部分認証キー
を計算するためにAPNOTR命令に供給されないように、こ
のAPNOTRビットをゼロにクリアさせなければならない。
*キー形式 KEK送信側キーの説明と同じ。
*リンク制御 このフィールドはANSI KEKには適用されない。KEK送
信側のこのフィールドの説明も参照のこと。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
キー部分用制御ベクトルの形式 第13表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ CVタイプの最後の3ビットxxxがゼロに設定される
が、10の命令によって検査されるCVタイプ。(主タイプ
=“キー部分”、サブタイプ=適用されない) *搬出制御 プライバシ・キーの説明と同じ。
*キー形式 KEK送信側の説明と同じ。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
中間ICV用制御ベクトルの形式 第14表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ CVタイプの最後の3ビットxxxがゼロに設定される
が、命令によって検査されないCVタイプ。(主タイプ=
“中間ICV"、サブタイプ=適用されない) *搬出制御 プライバシ・キーの説明と同じ。ICVキーは通常は他
のノードに搬入されない。ただしホット・バックアップ
の場合を除く。すなわち、通常、このフィールドはICV
制御に対する値B“00"をとる。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
トークン用制御ベクトルの形式 第15表を参照する。この表の各フィールドとサブフィ
ールドの詳細な説明を以下に示す。
*CVタイプ CVタイプの最後の3ビットxxxがゼロに設定される
が、命令によって検査されないCVタイプ。(主タイプ=
“トークン”、サブタイプ=適用されない) トークンは、データ・キー・データ・セット(DKDS)
に記憶されたデータ・キーの保全性を保護するために使
用される秘密の量である。データ・キーはトークン+e
*KM.C1(K),e*KM.C2(token)の形でDKDSに記憶さ
れる。トークン制御ベクトル・タイプは、EMK(Enciphe
r under Master Key)、RTNMK(Re−encipher To New M
aster Key)、RTCMK(Re−encipher To Current Master
Key)などの様々な命令中で許可される。
*搬出制御 プライバシ・キーの説明と同じ。ICVキーは通常は他
のノードに搬入されない、ただしホット・バックアップ
の場合を除く。すなわち、通常、このフィールドはICV
制御に対する値B“00"をとる。
*AV(反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビットを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
命令セット 本明細書で説明する命令セットは、CF内で実施される
共通の暗号機能セットである。この要件には例外があ
る。たとえば、MDCはCFAPレベルで実施できる。命令セ
ットの実施における他の逸脱は、安全保護要件と製品環
境に基づいて注意深く考慮するべきである。
命令セットは、制御ベクトル手法に基づくものであ
る。制御ベクトル中には様々なフィールドがあり、特定
のシステムで実施されるものも実施されないものもあ
る。しかし、本明細書で説明する最小限の制御ベクトル
検査は、CF内の各システムで実行しなければならない。
完全な暗号分離が不必要であったり、命令セットのサブ
セットだけで所与のアプリケーションには十分である場
合には、所与の設計で実施されていない機能については
制御ベクトル検査を省略できる。(コード化されたフィ
ールドである制御ベクトルのサブタイプ・フィールドの
検査により、制御ベクトルを無効な組合せを用いて暗号
命令中で混合し突き合わせることができなくなる。この
検査は安全保護にとって重要である。) 命令セットの式は、説明中の暗号機能に関係する機能
及びその機能からの期待される出力に必要な入力を表
す。実際のデータを機能に渡す代わりに、この実施態様
では、データのアドレスを機能に渡すことができる。こ
のアドレッシングは、所与のシステムの実施態様によっ
て変わるので、本明細書では説明しない。
この式は、所与の機能を実行するのに必要なすべての
パラメータとデータをすべて記述する。動作のモードに
応じて、パラメータのすべてまたはいくつかがその機能
で使用されるが、式中の各フィールドは、所与の実施態
様で機能に渡される入力及び出力の実際の値ではなく
て、入力及び出力として処理しなければならない。たと
えば、式の“A"フィールドは、機能に渡されるデータを
表し、その物理形式は、命令によってメモリから取り出
され、あるいはメモリに記憶されるデータを指す32ビッ
ト・アドレスである。メモリからのデータ・バスの幅も
実施態様によって変わるが、暗号機能の動作によって暗
号化または非暗号化(復号化)される入力データは常に
8バイトの倍数である。
CV検査を行なうための基本的な方式には、次の2つが
ある。
1.制御ベクトル中のビットのテスト:制御ベクトルの各
ビットをそれぞれのとるべき値と比べて検査する。それ
が一致しない場合、条件コードを設定して動作を打ち切
る。たとえば、暗号命令中でCVの“E"ビットが“1"であ
るかどうか検査され、そうでない場合は、動作が打ち切
られる。より複雑な命令では、検査はそれほど単純では
ない。入出力動作の意図と制御ベクトルの使用を指定す
るいくつかのパラメータを渡す必要がある。たとえば、
生成キー・セット(GKS)中で、出力の特定の形式を生
成するため、命令に対して「モード」が指定され、制御
ベクトル検査は、その「モード」指定に応じて実行しな
ければならない。
2.制御ベクトル中のビットの設定:制御ベクトル中で適
切なビットを設定して、動作を実行する。これは、制御
ベクトルの検査が不必要である。たとえば、暗号命令中
で、“E"ビットが制御ベクトル中で設定され、動作が実
行される。この場合、各命令は、どんなビットをどんな
条件下で設定すべきかを知らなければならない。この戦
略はどんな場合でもうまく動作はしない。たとえば、命
令は、「目標制御」のためのビット設定がなんであるか
をどのようにして知るのか。これは、制御ベクトル中で
特定の設定を選ぶことを指示するパラメータを命令に対
して指定しなければならないことを意味する。この手法
は、制御ベクトル指定の柔軟性をすべてなくしてしま
う。
上記2つの技術のどちらでも制御ベクトル検査の暗号
要件は満足される。以下の理由で、「制御ベクトルのビ
ット検査」法(制御ベクトル中のビットが命令によって
設定されない)を選んだ。
1.命令が、どのビットがいつ設定されるかを知る必要は
ない。
2.「モード」などのパラメータを渡して、出力の可能な
組合せを得て、入力の組合せを命令に供給する点で非常
に柔軟性がある。
3.設定がCF中でハードコード化されている場合、アーキ
テクチャを拡張することが非常に難しく、また前もって
可能なすべての組合せを知ることも非常に難しい。
4.ハードウェア実施態様が簡単になり、ソフトウェアが
より柔軟になる。
5.制御ベクトルの意図を保存する。制御ベクトルは(現
在)暗号分離、特に安全保護のために使用されている。
制御ベクトルが、「命令に対して動作または機能を指定
する」ためにCA中で使用されることはない。言い替えれ
ば、制御ベクトルは、その命令の「拡張命令コード」の
ようなものではない。
コード化(ENC) 式: KD,A--eKD(A) 入力: D 64ビット平文キー A 64ビット平文テキスト 出力: KD(A) 64ビット暗号化データ 説明:コード化機能は、64ビット平文キーを用いてECB
モードで8バイトの平文テキスト・データを暗号化する
のに使用される。この命令には制御ベクトルは渡されな
い。
第10図は、この命令の構成図である。
CC: 1.動作成功 2.動作失敗 注:動作失敗は、所与の実施態様に特有のどのハードウ
ェア・エラーでもよい。本明細書に記載する条件コード
(CC)は、命令に対する条件コードの案にすぎず、所与
のシステム中で実施される条件コードは他にも多数あ
る。さらに、CCコードは、所定の実施態様中で機能が渡
されなければならない実際の条件コードではない。本明
細書で使用する番号付けは、暗号アーキテクチャの説明
の便宜上設けたものである。
制御ベクトル検査:なし 復号(DEC) 式: KD,eKD(A)‐‐A 入力: D 64ビット平文キー eKD(A) 64ビット暗号化データ 出力: 64ビット暗号化データ 説明:復号機能は、64ビット平文キーを使用してECB
モードで8バイト平文テキスト・データを暗号化するの
に使用される。この命令には制御ベクトルは渡されな
い。
CC: 1.動作成功 2.動作失敗(エラー) 制御ベクトル検査:なし 暗号化(ENCI) 式: e*KM.C1(KD1),ICV,A,n,C1--- eKD1(ICV,A) 入力: e*KM.C1(KD1) 制御ベクトルC1を用いてマスタ・キー
(KM)のもとで3重暗号化された64ビット・データ・キ
ー(KD1)。
ICV 64ビット暗号化データ 注:暗号化ICVは、「ICV/OCV管理」及び「ソフトウェア
・インターフェース」で説明するようにCFAPによって管
理される。
出力連鎖値(OCV)が必要な場合、最後の8バイト出
力(En)をOCVとして使用しなければならないが、これ
は標準的手法ではない。各システム実施態様では、最終
ブロックの暗号化と非暗号化(復号化)を別のやり方で
処理する。最終ブロック処理及びOCV生成技術について
の詳細は、「ソフトウェア・インターフェース」を参照
のこと。CFAPは、可能なすべての最終ブロック暗号化と
非暗号化(復号化)及びOCV管理を処理する。
A 8倍数のバイト・ブロックで暗号化さ
れるデータ。8バイト・ブロックはA1、A2、・・・Anで
ある。最終ブロックAnが8バイトの倍数ではない場合、
この命令を呼び出す前にCFAPによって埋込みを行なう必
要がある。CF命令は常に、入出力として8バイトの倍数
のデータを取る。
n 暗号化する8バイト・ブロックの数。
nはできるだけ大きくすべきであるが、システムによっ
て変わる。CAはnに対する上限を定義しない。
例:8バイト・ブロックの数=10000かつn max=4000の
場合、暗号命令は次のようにして呼び出される。
−暗号化n=4000 −暗号化n=4000 −暗号化n=2000 注:暗号化の呼出しごとに、その後で、最後の8バイト
暗号化データEn(OCV)をICV入力として次の暗号化呼出
しに戻さなければならない。
c1 データ・キー(KD1)に対する64ビッ
トの制御ベクトル 出力: eKD1(ICV,A) 暗号化データ、n個のブロック、各ブ
ロックは8バイト(E1,E2,..,En)である。
説明:入力データはDEA暗号化のCBCモードを用いて暗号
化される。8バイトの倍数のブロックが、n個のブロッ
クがすべて暗号化されるまでこの命令によって暗号化さ
れる。
このアーキテクチャは、機能に対する平文ICV入力だ
けを定義する。暗号化されたICVが必要な場合、暗号命
令を使ってデータ・キー(KD2)でICVを暗号化すること
ができる。暗号化ICVは非暗号化命令を用いて非暗号化
(復号化)できる。暗号化されたICVとOCVはすべてCFAP
プログラムによって管理される。
入力データが8バイトの倍数のブロックでない場合
は、埋込みを実行しなければならない。この埋込みは、
暗号機能を呼び出す前にCFAPによって実行しなければな
らない。
CC: 1.動作成功 2.C1無効 3.動作失敗(エラー) 制御ベクトル検査 1.C1の検査 −cvタイプ =「データ/互換性」または「デー
タ/プライバシ」または「データ/ANSI」 −E使用ビット =1 −予約(48:63) =X“0" 注:本明細書で説明するすべての命令では、制御ベクト
ル検査は、検査に合格しない場合は、命令を打ち切らな
ければならず、対応する制御ベクトル無効条件コード
(CC)がオンになることを暗示している。制御ベクトル
に対して1つまたは複数の検査が行なわれる場合、すべ
ての検査が実行され、すべての検査に合格しないと動作
が実行されない。いずれかの検査に失格すると、動作を
打ち切らなければならない。
非暗号化(DECI) 式: e*KM.C1(KD1),ICV,eKD1(ICV,A),
n,C1--A 入力 e*KM.C1(Kd1) 制御ベクトルC1を用いてマスタ・キー
(KM)のもとで3重暗号化された64ビット・データ・キ
ー(KD1)。
ICV 64ビット平文入力連鎖値 注:暗号化されたICVは、「ICV/OCV管理」及び「ソフト
ウェア・インターフェース」で説明するようにCFAPによ
って管理される。
出力連鎖値(OCV)が必要な場合、最後の8バイト入
力(En)をOCVとして使用しなければならないが、これ
は標準的手法ではない。各システム実施態様では、最終
ブロックの暗号化及び非暗号化(復号化)を別のやり方
で処理する。最終ブロック処理及びOCV生成技術の詳細
は、「ソフトウェア・インターフェース」を参照のこ
と。CFAPは、可能なすべての最終ブロック暗号化及び非
暗号化(復号化)ならびにOCV管理を処理する。
e*KDI.(ICV,A) 暗号化データ、nブロック、各ブロ
ックは8バイト(E1,E2,...,En)である。
n 暗号化する8バイト・ブロックの数。
nはできるだけ大きくすべきであるが、システムによっ
て変わる。CAはnの上限を定義しない。
注:非暗号化(復号化)の呼出しごとに、その後で、最
後の8バイトの暗号化データEn(OCV)を次の非暗号化
(復号化)呼出しに入力ICVとして供給しなければなら
ない。これはCFAPによって管理される。
例:8バイト・ブロックの数=10000及びn max=4000の場
合、非暗号命令は次のようにして呼び出される。
非暗号化 n=4000 非暗号化 n=4000 非暗号化 n=2000 c1 データ・キー用の64ビット制御ベクト
ル(KD1) 出力: A 8バイトの倍数のブロックの平文デー
タ。8バイト・ブロックはA1,A2,..,Anである。
説明:入力データはCBCのDEA暗号化モードを用いて非暗
号化(復号化)される。8バイトの倍数のブロックは、
n個のブロックがすべて非暗号化(復号化)されるまで
この命令によって非暗号化(復号化)される。
このアーキテクチャは、機能に対する平文ICV入力だ
けを定義する。暗号化されたICVが必要な場合、CVは暗
号化命令を用いてデータ・キー(KD2)を暗号化するこ
とできる。暗号化されたICVは非暗号化命令を用いて非
暗号化(復号化)できる。暗号化ICVとOCVはすべてCFAP
によって管理される。
第13図はこの命令の構成図である。
CC: 1.動作成功 2.C1無効 3.動作失敗 制御ベクトル検査 1.C1の検査 − cv type=「データ/互換性」または「データ/プ
ライバシ」または「データ/ANSI」 − D使用ビット=1 − 予約(48:63)=X“0" MAC生成(GMAC) 式: e*KM.C1(KD2=1),[e*KM.C2(KD
2)],ICV[e*KM.C3(OCV)] A,n,icv−type,output−type,mac−enc,C1,[C2],[C
3] ‐‐‐‐MAC(64ビット) または e*KM.C3(OCV) 入力: e*KM.C1(KD1) KD1は制御ベクトルC1を用いてKMのも
とで3重暗号化されたMACを単一暗号化するためのMAC生
成キーである。
e*KM.C2(KD2) KD2は、制御ベクトルC2を用いてKMの
もとで3重暗号化されたMACを3重暗号化するための任
意選択のMAC生成キーである。これは、mac−enc=1の
場合に、macを3重暗号化するために必要な任意選択入
力である。
ICV ゼロに等しいICVは、省略時初期連鎖
値であり、CAアーキテクチャ、ANSI X9.9及びANSI X9.1
9にとって標準的である。非ゼロの平文ICVも、平文ICV
入力が必要なシステムとの互換性をもつために使用でき
る。暗号化されたICV入力は、機能の安全保護を高めな
いことが判明しているので、CAによって支援されない。
暗号化された中間ICVは、CAによって支援される。
注:必要な場合、暗号化ICVは、「ICV/OCV管理」及び
「ソフトウェア・インターフェース」に記載されている
ようにCFAPによって管理される。
e*KM.C3(OCV) これは特殊制御ベクトルC3を用いてマ
スタ・キーのもとで暗号化された64ビットの中間ICVで
ある。これは、MACを生成するために大きなデータ・ブ
ロック(/n)が使用される場合に提供しなければならな
い任意選択入力である。ICVの非暗号化(復号化)は、
機能内部で行なわれる。中間OCVは、制御ベクトルを用
いてマスタ・キーのもとでローカル使用専用の形で記憶
されているので、ローカル・ノードから送ることはでき
ない。
A 8バイトの倍数のブロック(A1,A2...
An)中で、MACされるデータ。
n MACされる8バイト・ブロックの数。
nはできるだけ大きくすべきであるが、システムによっ
て変わる。CCAはnの上限を定義しない。多数のブロッ
クをMACしなければならない場合、すべてのブロックが
完了するまで、GMACが何回も呼び出される。
例: システムに対するn maxが4000で、MACされるデータが
10000個の8バイト・ブロックである場合、GMACは次の
ようにして呼び出される。
GMAC n=4000,output−type=1,icv−type=0 GMAC n=4000,output−type=1,icv−type=2 GMAC n=2000,output−type=1,icv−type=2 注:GMACの呼出しごとに、その後で中間ICVのe*KM.C3(O
CV)をICV入力として次のGMAC呼出しに戻さなければな
らない。この中間ICVの非暗号化(復号化)はCFの内部
で行なわなければならない。
icv−type icv−typeは、機能に渡されたICVがゼ
ロか、平文か、それとも中間ICVかを示す。中間ICVは、
制御ベクトルC3を用いてマスタ・キーのもとで3重暗号
化される。ゼロのICVが省略時の値である。
0:ゼロICV(省略時) 1:平文ICV 2:中間ICV(OCV) output−type この命令に対するMAC生成処理の段階
を示す。
0:MAC出力 1:中間ICV出力(OCV) mac−enc 1重または3重暗号化MAC出力を示
す。
0:1重暗号化MAC出力 1:3重暗号化MAC出力(ANSI9.19要件) C1,C2,C3 それぞれKD1、KD2及びOCV用の64ビッ
トの制御ベクトル。C2及びC3は命令に対する任意選択入
力であり、C2はmac−enc=1の場合に入力しなければな
らず、c3はicv−type=2またはoutput=type=1の場
合に入力しなければならない。
出力: MAC mac−encパラメータに応じて最終入力
データ・ブロックの1重暗号化または3重暗号化によっ
て生じる64ビット出力である。
e*KM.C3(OCV) OCVは、制御ベクトルC3を用いてKMの
もとで3重暗号化された64ビット中間ICVである。この
出力は、output−type=1の場合に限り有効である。MA
C出力と中間OCV出力は、安全保護上の理由から両方同時
に出力してはならない。
説明:入力データはCBCのDEA暗号化モードで暗号化さ
れ、暗号化されたデータの最終ブロックが出力される。
1重暗号化モードと3重暗号化モードの2つのモードが
ある。1重暗号化モードでは、単一キーKD1を使ってMAC
が作成される。3重暗号化モードでは、1重暗号化モー
ドを使ってKD1を用いてMACを作成する。ただし、次いで
KD2を用いてMACを非暗号化(復号化)し、再びKD1を用
いて再暗号化して、最終的に64ビットMACを作成する。
この命令は64ビットのMACを出力するが、X9.9では、6
4ビットMAC出力の左側の32ビットである32ビットMACが
指定されている。CFAPは64ビットMAC出力から適切なMAC
ビットを抽出しなければならない。
ICVは標準としてゼロであり、任意選択としてGMAC命
令に対する平文ICVまたは中間ICVでもよい。暗号化され
たICVが必要な場合、CFAPは(KDS)のもとでICVを暗号
化しなければならず、平文ICVをGMAC命令に渡さなけれ
ばならない。ANSI X9.9MAC基準では、第1ブロックに対
してゼロのICVが指定されているので、ここではそれを
標準入力として定義する。しかし、このアーキテクチャ
は、MAC生成の可能なあらゆる必要性を満足させるため
に平文入力及び中間入力を提供する。
n個より多くのブロックに対してMAC生成が必要な場
合、中間ICVのオプションを使ってMACを生成しなければ
ならない。この要件は、平文の中間ICVをさらさないこ
とによって安全保護を高める。
データ・ブロックが8バイトの倍数のブロックではな
い場合、埋込みを行なわなければならない。埋込みは、
この機能を呼び出す前にCFAPによって実行しなければな
らない。MAC計算は、ANSI X9.9−1986第5.0節で指定さ
れているように2進データに対して行なわなければなら
ず、必要に応じてコード化文字セットをCFAPによって実
行しなければならない。
第14図は、この命令の構成図である。
CC: 1.動作成功 2.C1無効 3.C2またはC3無効 4.動作失敗(エラー) 制御ベクトル検査 1.C1の検査 − CVタイプ=「データ/互換性」または「データ/MA
C」または「データ/ANSI」 − MG使用ビット=1 − 予約(48:63)=X“0" 2.(mac−enc=1)の場合にC2の検査 − cvタイプ=「データ/互換性」または「データ/MA
C」または「データ/ANSI」 − MG使用ビット=1 − 予約(48:63)=X“0" 3.(icv−type=2またはoutput−type=1)の場合にc
3の検査 − CVタイプ=“中間ICV" MAC検査(VMAC) 式: e*KM.C1(KD1),[e*KM.C2(KD
2)],ICV[e*KM.C3(OCV)], A,MAC,n,icv−type, output−type,mac−enc,mac−len, C1,[C2],[C3] ‐‐‐‐イエス/ノー または e*KM.C3(OCV) 入力: e*KM.C1(KD1) KD1は、制御ベクトルC1を用いてKMの
もとで3重暗号化された、MACを1重暗号化するためのM
AC検査キーである。
e*KM.C2(KD2) KD2は、制御ベクトルC2を用いてKMの
もとで3重暗号化された、MACを3重暗号化するためのM
AC検査キーである。これは、mac−enc=1の場合にMAC
を3重暗号化するために必要な任意選択入力である。
ICV ゼロに等しいICVは、省略時初期連鎖
値であり、CAアーキテクチャ、ANSI X9.9及びANSI X9.1
9にとって標準的である。非ゼロの平文ICVも、平文ICV
入力が必要なシステムと互換性をもつために使用でき
る。暗号化ICV入力は、機能の安全保護を高めないこと
が判明しているので、CAによって支援されない。暗号化
された中間ICVはCAによって支援される。
注:必要な場合、暗号化ICVは、「ICV/OCV管理」及び
「ソフトウェア・インターフェース」に記載されている
ようにCFAPによって管理される。
e*KM.C3(OCV) これは、特殊な制御ベクトルC3を用い
てマスタ・キーのもとで暗号化された64ビット中間ICV
である。これは、大きなデータ・ブロック(]n)を使
ってMACを生成する場合に提供しなければならない任意
選択入力である。ICVの非暗号化(復号化)は、機能の
内部で行なわれる。中間OCVは、制御ベクトルを用いて
マスタ・キーのもとでローカル使用専用の形で記憶され
ているので、ローカル・ノードから送ることはできな
い。中間ICVは、攻撃から保護するためにMAC検査処理中
秘密にしなければならない。
A 8バイトの倍数のブロック(A1,A2...
An)で、MAC中で使用されるデータ。
MAC 1重または3重暗号化された命令に対
する64ビットMAC入力。省略時には、このMACの左側32ビ
ットだけがMAC比較のために使用される。mac−lenを使
って、他の比較長を明示的に指定することができる。
n MACされる8バイト・ブロックの数。
nはできるだけ大きくすべきであるが、システムによっ
て変わる。多数のブロックをMAC検査しなければならな
い場合、すべてのブロックが完了するまで、VMACが何回
も呼び出される。
例: システムに対するn maxが4000で、検査されるデータ
は10000個の8バイト・ブロックである場合、VMACは次
のようにして呼び出される。
注:VMACの呼出しごとに、その後で中間ICVe*KM.C3(OC
V)をICV入力として次のVMAC呼出しに戻さなければなら
ない。この中間ICVの非暗号化(復号化)はCFの内部で
行なわなければならない。
VMAC n=4000,output−type=1,icv−type=0 VAMC n=4000,output−type=1,icv−type=2 VMAC n=2000,output−type=0,icv−type=2 icv−type icv−typeはその機能に渡されるICVが
ゼロか、平文か、それとも中間ICVかを示す。中間ICVは
制御ベクトルC3を用いてマスタ・キーのもとで3重暗号
化される。
0:ゼロICV(省略時) 1:平文ICV 2:中間ICV(OCV) output−type この命令に対するMAC検査処理段階を
示す。
0:MAC検査出力 1:中間ICV出力(OCV) mac−enc mac−encは1重または3重暗号化MAC
入力である。
0:1重暗号化MAC入力 1:3重暗号化MAC入力(ANSI9.19要件) mac−len mac−lenは比較すべきMACのバイト数
を指定する。省略時には左側4バイトが比較される。
0:左側4バイト 1:左側5バイト 2:左側6バイト 3:左側7バイト 4:8バイト 注:4、5、6、7、8バイトのMAC検査を行なうと、8
バイトMACのMAC生成処理が覆えることがある。暗号機構
でこの問題を解決する解決方法はないが、CFAPでは異な
る長さのMAC検査のための何らかの検査を考慮できる。
この問題についてはさらに調査が必要である。
C1,C2,C3 それぞれKD1、KD2及びOCV用の64ビッ
ト制御ベクトル。C2及びC3はこの命令に対する任意選択
入力である。mac−enc=1の場合はC2が必要であり、ic
v−type=2またはoutput−type=1の場合は、C3が必
要である。
出力: yes/no MACが検査される/されない。
e*KM.C3(OCV) OCVは、制御ベクトルC3を用いてKMの
もとで3重暗号化された64ビットの中間ICVである。こ
れは、output−type=1に対して有効な任意選択出力で
ある。
説明:入力データは、データ・キーKD1を用いてCBCのDE
A暗号化モードで暗号化され、最終的に暗号化されたブ
ロックの左側32ビットが供給されるMACと等しいかどう
か比較される。32ビットのMAC比較対象値が省略時の値
である。他の比較はmac−lenパラメータで指定されるよ
うに行なわなければならない。CC=1はMACが等しい場
合に設定され、CC=2はMACが等しくない場合に設定さ
れる。2つの暗号化モードがある。1重暗号化モードで
は、単一キーKD1を使ってMACが作成される。3重暗号化
モードでは、単一暗号化モードを使ってKD1を用いてMAC
を作成する。ただし、次いでMACをKD2を用いて非暗号化
(復号化)し、再びKD1を用いて再暗号化し、最終的に6
4ビットMACを作成する。MACはmac−enc入力で指定され
るように生成され、次いで機能に供給されるMACと比較
される。
最初のICVは標準としてゼロであり、任意選択で平文
とすることである。中間ICVは、MACされたデータが長さ
nブロックより大きい場合に使用しなければならない。
データ・ブロックが8バイトの倍数のブロックではな
い場合、埋込みを行なわなければならない。埋込みは、
この命令を呼び出す前にCFAPによって実行しなければな
らない。
第15図はこの命令の構成図である。
CC: 1.MACが等しい 2.MACが等しくない 3.C1無効 4.C2またはC3無効 5.動作失敗(エラー) 制御ベクトル検査 1.C1の検査 − CVタイプ=「データ/互換性」または「データ/MA
C」または「データ/ANSI」 − MV使用ビット=1 − 予約(48:63)=X“0" 2.(mac−enc=1)の場合にC2の検査 − CVタイプ=「データ/互換性」または「データ/MA
C」または「データ/ANSI」 − MG使用ビット=1 − 予約(48:63)=X“0" 3.(icv−type=2またはoutput−type=1)の場合にC
3の検査 − CVタイプ=「中間ICV」 暗号テキスト変換(TCTXT) 式: e*KM.C1(KD1),ICV1,eKD1(ICV1,
A),e*KM.C2(KD2),ICV2,n,C1,C2 ‐‐‐‐eKD2(ICV2,A) 入力: e*KM.C1(KD1) KD1は、制御ベクトルC1を用いてKMの
もとで3重暗号化された入力データ・キーである。
ICV1 64ビットの平文ICV eKD1(ICV1,A) ICV1を用いてデータ・キーKD1の下で
暗号化されたデータAを出力する。
ICV2 64ビットの平文ICV n 変換される8バイトのデータ・ブロッ
ク数 C1,C2 それぞれKD1、KD2用の制御ベクトル 出力: eKD2(ICV2,A) ICV2を使ってデータ・キーKD2のもと
で暗号化されたデータAを出力する。
説明:暗号化テキスト変換命令は、あるデータ・キー及
びICVから他のデータ・キーとICVにデータを変換する。
この命令は、データ/変換キー及びデータ/互換性キー
で動作する。CVキーまたはCV=0キーがデータを変換す
るのに使用できるが、これらのキー・タイプの混合と突
合せは、この命令によって許されない。データは最高n
個の8バイト・ブロックまで可能であり、変換は暗号機
構内で行なわれ、暗号機構の外部で平文データがさらさ
れることはない。
ICV入力ICV1及びICV2は命令に対する平文ICV入力しかと
れない。中間ICVはこの命令によって供給されない。n
個を超えるデータ・ブロックを変換しなければならず、
データを連鎖しなければならない場合、CFAPは最後の8
バイトの暗号化ブロック(En)をICVに対する入力とし
て渡さなければならない。暗号化ICVが使用される場
合、ICVを命令に渡す前にICVを非暗号化(復号化)しな
ければならない。
注:暗号化テキスト変換命令は、CV専用キー(すなわ
ち、データ変換キー)で動作するように特に設計されて
いる。互換性モード暗号テキスト変換のオプションが提
供されない。それを克服するため、暗号テキスト変換命
令は、DとE属性及びXDinとXDout属性をもつデータ・
キーを受け入れる。しかしこれは、平文データが偶然に
さらされるのを減らすためのサービスとして提供され
る。というのは、内部の不正使用者が、非暗号命令を使
ってデータを回復できるからである。互換性モードで暗
号テキスト変換キーを分離することはできず、そのため
の制御ベクトルを作成しても、安全保護は幻想でしかな
い。実際、(CV=0チャネルを介して送られた)所期の
変換キーを搬入することにより、RTMK命令を用いて攻撃
を行なうことが可能である。したがって、暗号テキスト
変換データ・チャネルは、そのチャネルを介して送られ
たデータを非暗号化(復号化)することによって覆えさ
れる。
第16図はこの命令の構成図である。
CC: 1.動作成功 2.C1またはC2無効 3.動作失敗 制御ベクトル検査 1.C1の検査 − CVタイプ=「データ/変換」または「データ/互換
性」 − (CVタイプ=「データ/変換」)の場合、XDin=1 − 予約(48:63)=X“0" 2.(mac−enc=1)の場合にC2の検査 − CVタイプ=「データ/変換」または「データ/互換
性」 − (CVタイプ=「データ/変換」)の場合、XDout=
1 − 予約(48:63)=X“0" 3.C1とC2の検査 − CVタイプ(C1)=「CVタイプ(C2)」 キー・セット生成(GKS) 式: OP−OPモード mode,C3,C4,---e*KM.C3(K)、e*KM.C4(K) 式: OP−EXモード mode,C2L,C2R,C3,C4, e*KM.C2L(KEK2L),e*KM.C2R(KEK2R) ‐‐‐‐e*KM.C3(K),e*KEK2.C4(K) 式: EX−EXモード mode,C1L,C1R,C2L,C2R,C3,C4,e*KM.C1L(KEK1L),e*K
M.C1R(KEK1R),e*KM.C2L(KEK2L),e*KM.C2R(KEK2
R) ‐‐‐‐e*KM.C3(K),e*KEK2.C4(K) 式: OP−IXモード mode,C2L,C2R,C3,C4, e*KM.C2L(KEK2L),e*KM.C2R(KEK2R) ‐‐‐‐e*KM.C3(K),e*KEK2.C4(K) 式: IM−EXモード mode,C1L,C1R,C2L,C2R,C3,C4,e*KM.C1L(KEK1L),e*K
M.C1R(KEK1R),e*KM.C2L(KEK2L),e*KM.C2R(KEK2
R) ‐‐‐‐e*KM.C3(K),e*KEK2.C4(K) 入力: mode GKS命令の入出力形式とキー生成モー
ドを示す。キー生成モードのさらに詳しい説明は「キー
管理」の節に記載されている。
0:OP−OP(動作−動作) 1:OP−EX(動作−搬出) 2:EX−EX(搬出−搬出) 3:OP−IM(動作−搬入) 4:IM−EX(搬入−搬出) C1L,C1R これらは64ビットの制御ベクトルで、
128ビットのKEK1用の左右の制御ベクトルである。C1Lは
KEK1L用の制御ベクトルであり、C1RはKEK1Rキー用の制
御ベクトルである。実際の実施態様は、1つのCVだけを
渡して、CFに制御ベクトル中の「キー形式」ビットを暗
黙に設定させる。このCAアーキテクチャは、各KEK用の
左右の制御ベクトルを別々に渡すように選択したもので
ある。CFAPは、KEK用のこれらの2つのタイプのCVを生
成し管理しなければならない。
C2K,C2R これらは64ビット制御ベクトルで、12
8ビットのKEK2用の左右の制御ベクトルである。C2LはKE
K2L用の制御ベクトルであり、C2RはKEK2Rキー用の制御
ベクトルである。
C3,C4 これらは出力キー用の64ビット制御ベ
クトルである。
e*KM.C1L(KEK1L)KEK1Lは64ビットの左キー暗号化キー
であり、制御ベクトルC1Lを用いてマスタ・キーKMのも
とで3重暗号化された128ビットのキー暗号化キーKEK1
の一部分である。
e*KM.C1R(KEK1R)KEK1Rは64ビットの右キー暗号化キー
であり、制御ベクトルC1Rを用いてマスタ・キーKMのも
とで3重暗号化された128ビットのキー暗号化キーKEK1
の一部分である。
e*KM.C2L(KEK2L) KEK2Lは64ビットの左キー暗号化
キーであり、制御ベクトルC2Lを用いてマスタ・キーKM
のもとで3重暗号化された128ビットのキー暗号化キーK
EK2の一部分である。
e*KM.C2R(KEK2R)KEK2Rは64ビットの右キー暗号化キー
であり、制御ベクトルC2Rを用いてマスタ・キー“M"の
もとで3重暗号化された128ビットのキー暗号化キーKEK
2の一部分である。
注:互換性のために、このアーキテクチャは単長(64ビ
ット)及び倍長(128ビット)のキー暗号化キー(KEK)
を支援する。しかし、すべてのKEKは、CKDS(キー記憶
機構)に128ビット・キーとして記憶される。真の倍長
キーKEK=KEK left 11 KEK right(ただし、KEK left
はKEKの左側64ビット、KEK right 右は右側64ビット)
は、何らかの制御ベクトルの左部分CL及び右部分CRを使
ってマスタ・キー*KMのもとで3重暗号化されて記憶さ
れる。記憶される形は、e*KM.C(KEK)=e*KM.CL(KEK
左)11 e*KM.CR(KEK右)で表される128ビットである。
単長キーKEKは、キーを複製して128ビット・キーを形成
することにより処理される。KEK 11 KEKは次いで*KMと
制御ベクトルCL、CRのもとで3重暗号化される。したが
って、記憶される形は、e*KM.C(KEK 11 KEK)=e*KM.C
L(KEK)11 e*KM.CR(KEK)で表される128ビットであ
る。複製されたKEK制御ベクトルの「キー形式」ビット
は、制御ベクトルCLとCR中でそれぞれ“01"であり、し
たがってKEKを64ビット形式でだけ記憶する宛先でキー
を回復することができる。通常のKEK制御ベクトルの
「キー形式」ビットは、CLに対しては“01"、CRに対し
ては“11"であり、したがってそれらは完全な分離を実
現し、2**112個の作業因数を保持する。
出力: e*KM.C3(K) Kは、制御ベクトルC3を用いてKMのも
とで3重暗号化された64ビットのランダム生成キーであ
る。制御ベクトルC3は常に使用される。キーKは奇数パ
リティで調整される。このキーは、ノードの内部で使用
できる動作キーである。
e*KM.C4(K) Kは、制御ベクトルC4を用いてKMのも
とで3重暗号化された64ビットのランダム生成キーであ
る。制御ベクトルC4は常に使用される。キーKは奇数パ
リティで調整される。このキーは常に使用される。この
キーは、ノード内部で使用できる動作キーである。
e*KEK1.C3(K) Kは、制御ベクトルC3を用いてKEK1の
もとで暗号化された64ビットのランダム生成キーであ
る。制御ベクトルC3は常に使用される。キーKは奇数パ
リティで調整される。128ビットのKEKは、C3制御ベクト
ルの代わりにC3LとC3Rで2回GKSを呼び出すことによっ
て生成できる。CFAPは必要に応じてこれらの制御ベクト
ルのパスを制御しなければならない。
e*KEK2.C4(K) Kは、制御ベクトルC4を用いてKEK2の
もとで暗号化された64ビットのランダム生成キーであ
る。制御ベクトルC4は常に使用される。キーKは奇数パ
リティで調整される。128ビットKEKは、C4制御ベクトル
の代わりにC4LとC4Rで2回GKSを呼び出すことによって
生成される。CFAPは必要に応じて制御ベクトルのパスを
制御しなければならない。
説明:GKS命令は、ランダムな奇数パリティで調整された
64ビット・キーを生成し、2つの制御ベクトルC3とC4で
示される2つの属性をもつ。128ビットのパリティ調整
されたキーは、GKS命令を2回発行することによって生
成できる。GKS命令は、CVチャネル上で制御ベクトル・
システムにキーを搬出することができるだけである。互
換性モードのキーは、GKS命令によって生成されない。
すべての互換性モード・キーは、KGENを使って生成さ
れ、RFMKを介して送らなければならない。互換性モード
・キーは、CVチャネル(リンク上のCVを使って)または
CV=0チャネルを介して送ることができる。
GKS命令は、生成されたキーのコピーを2つだけ作成
することにより、高度の安全保護をもたらす。それらの
コピーは、2つの目的システムに属するキーのもとで暗
号化される。C3及びC4で表される生成キーの2つのコピ
ーに関連する制御ベクトルは、キーの所期の用途に応じ
て同じことも異なることもある。
GKS命令は、第16表に示したキーを生成し分配するの
に使用される。
CAシステム中のすべてのキーは128ビットKEKのもとで
3重暗号化(EDE)されて出力される。複製された64ビ
ットKEKは、64ビットKEKだけを支援するノードにキーを
送るために使用される。受信側ノードが128ビットを支
援する場合、そのノードは3重非暗号化(DED)によっ
てキーを回復することができる。受取側が64ビットKEK
だけを支援する場合、1重暗号化によってキーを回復す
ることができる。すべてのKEKは、128ビットの暗号化さ
れた量であるe*KM.C1L(KEKL)11e*KM.C1R(KEKR)とし
てマスタ・キーのもとで記憶される。C1Lは左部分キー
制御ベクトルで、C1Rは右部分キー制御ベクトルであ
る。C1L及びC1R制御ベクトルは、左右の部分を区別する
ための「キー形式」フィールドをもつ。これにより、作
業因数が約2**56の倍長キー(ただし左右部分は等しく
ない)に対する内部者の攻撃がなくなる。128ビット・
キーに対する内部者の攻撃は2**56の程度である。
第17図はこの命令の構成図である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2LまたはC2R無効 4.C3無効 5.C4無効 6.動作失敗(誤り) 制御ベクトル検査:モード=0(OP−OP)の場合、以
下の検査を行なう。
1.C3の検査 − CVタイプ=「データ/プライバシ」または「データ
/MAC」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 2.C4の検査 − CVタイプ=「データ/プライバシ」または「データ
/MAC」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 3.C3とC4の検査 第17表は、検査を必要とするC3属性とC4属性の有効な
組合せを示す。表の組合せ以外のどの組合せも暗号上無
効であり、許されてはならない。
モード=1(OP−EX)の場合、以下の検査を行なう。
1.C2Lの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(1)=1 − 予約(48:63)=X“0" 2.C2Rの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(1)=1 − 予約(48:63)=X“0" 3.C3の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」、「KEK/送信側」、「KEK/受信
側」または「PIN/PEK」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 4.C4の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」、「KEK/送信側」、「KEK/受信
側」または「PIN/PEK」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 5.C3とC2L、C2Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)=“10"または“11"の場合、キ
ー形式(C2L)=“10"かつキー形式(C2R)=“11" 6.C4とC2L、C2Rの検査 − CVタイプ(C4)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C4)=“10"または“11"の場合、キ
ー形式(C2L)=“10"かつキー形式(C2R)=“11" 7.C2LとC2Rの検査 第18表は、検査が必要なC2L属性とC2R属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
であり、許されてはならない。
8.C3とC4の検査 − C3とC4は第19表に示す組合せを満足しなければなら
ない。他の組合せは許されない。
モード=2(EX−EX)の場合、以下の検査を行なう。
1.KEK1とKEK2の検査 − KEK1L 11 KEK1R=KEK2L 11(128ビット・キー) 注:KEKが一致しないことを検査すると、BiDi(Bi−dire
ctinal,双方向)キーはノードに送られなくなる。
2.C1Lの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(2)=1 − 予約(48:63)=X“0" 3.C1Rの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(2)=1 − 予約(48:63)=X“0" 4.C2Lの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(2)=1 − 予約(48:63)=X“0" 5.C2Rの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(2)=1 − 予約(48:63)=X“0" 6.C3の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」、「KEK/送信側」、「KEK/受信
側」または「PIN/PEK」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 7.C4の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」、「KEK/送信側」、「KEK/受信
側」または「PIN/PEK」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 8.C1LとC1Rの検査 第18表の説明と同じ。
9.C2LとC2Rの検査 第18表の説明と同じ。
10.C3とC4の検査 第19表の説明と同じ。
11.C3とC2L、C2Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)“10"または“11"の場合、キー
形式(C2L)=“10"かつキー形式(C2R)=“11" 12.C4とC2L、C2Rの検査 − CVタイプ(C4)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C4)“10"または“11"の場合、キー
形式(C2L)=“10"かつキー形式(C2R)=“11" モード=3(OP−IM)の場合、以下の検査を行なう。
(このモードはファイル・アプリケーションを支援す
る。) 1.C2Lの検査 − CVタイプ=「KEK/受信側」 − GKS使用ビット(1)=1 − 予約(48:63)=X“0" 2.C2Rの検査 − CVタイプ=「KEK/受信側」 − GKS使用ビット(1)=1 − 予約(48:63)=X“0" 3.C3の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、または「データ/変換」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 5.C2LとC2Rの検査 第18表の説明と同じ。
6.C3とC4の検査 第20表は、検査が必要なC3とC4の有効な組合せを示
す。表の組合せ以外のどの組合せも暗号上無効であり、
許されてはならない。
モード=4(IM−EX)の場合、以下の検査を行なう。
(このモードはIBM SNA複数定義域アプリケーションに
使用される。) 1.C1Lの検査 − CVタイプ=「KEK/受信側」 − GKS使用ビット(2)=1 − 予約(48:63)=X“0" 2.C1Rの検査 − CVタイプ=「KEK/受信側」 − GKS使用ビット(0)=1 − 予約(48:63)=X“0" 3.C2Lの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(0)=1 − 予約(48:63)=X“0" 4.C2Rの検査 − CVタイプ=「KEK/送信側」 − GKS使用ビット(0)=1 − 予約(48:63)=X“0" 5.C3の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」または「KEK/送信側」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 6.C4の検査 − CVタイプ=「データ/プライバシ」、「データ/MA
C」、「データ/変換」、「KEK/送信側」、「KEK/受信
側」または「PIN/PEK」 − 反バリアント(30)=“0" − 反バリアント(38)=“1" − 予約(48:63)=X“0" 7.C1LとC1Rの検査 第18表の説明と同じ。
8.C2LとC2Rの検査 第18表の説明と同じ。
9.C3とC4の検査 第19表の説明と同じ。
10.C3とC2L、C2Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)=“10"または“11"の場合キー
形式(C2L)=“10"かつキー形式(C2R)=“11" 11.C4とC2L、C2Rの検査 − CVタイプ(C4)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C4)=“10"または“11"の場合キー
形式(C2L)=“10"かつキー形式(C2R)=“11" マスタ・キーからの再暗号化(RFMK) 式: dist−mode,e*KM.C1L(KEK1L),e*K
M.C1R(KEK1R),e*KM.C2(K),C1L,C1R,C2,C3---- e*KM.C3(K) 入力: dist−mode キーを送るのに使うチャネルのタイプ
を示す。たとえば、CV、CV=0チャネルはキーを送るの
に使用される。
0:CV=0(チャネル) 1:CV(チャネル) e*KM.C1L(KEK1L) KEK1Lは、64ビットの左キー暗号
化キーであり、制御ベクトルC1Rを用いてマスタ・キーK
Mのもとで3重暗号化された128ビットのキー暗号化キー
KEK1の一部分である。
e*KM.C1L(KEK1L) KEK1Lは、64ビットの右キー暗号
化キーであり、制御ベクトルC1Rを用いてマスタ・キーK
Mのもとで3重暗号化された128ビットのキー暗号化キー
KEK1の一部分である。
e*KM.C2(K) Kは、制御ベクトルC2を用いてKMのも
とで3重暗号化された64ビット・キーである。C2はキー
を回復するために使用される入力制御ベクトルである。
Kは、搬入されるキーである。128ビット・キーは2つ
のRFMK命令を使って搬出される。
C1L,C1R これらは64ビット制御ベクトルで、12
8ビットのKEK1の左右の制御ベクトルである。C1LはKEK1
L用の制御ベクトルであり、C1RはKEK1Rキー用の制御ベ
クトルである。実際の実施態様では、CVを1つだけ渡し
て、CFに制御ベクトルの「キー形式」ビットを暗黙に設
定させる。CAアーキテクチャは、それぞれKEK用の左右
の制御ベクトルを渡すように選択したものである。CFAP
はKEK用のこの2つのタイプのCVを生成し管理しなけれ
ばならない。
C2 キーK用の64ビット入力制御ベクトル C3 キーK用の64ビット出力制御ベクトル 出力: e*KEK1.C3(K) Kは搬送される64ビット・キーであ
る。それは、C3またはC3=0を制御ベクトルとして搬出
できる。キーKは制御ベクトルC3を用いて128ビットKEK
1のもとで3重暗号化される。KEK1L=KEK1Rの場合、受
信側はこの出力の1重非暗号化によってKを回復するこ
とができる。
説明:RFMK命令は、マスタ・キーによる暗号化から128ビ
ット・キーKEK1(搬出キーと呼ばれる)による暗号化に
64ビット・キーKを再暗号化する。
128ビット・キーK(すなわち、2つの64ビット・キ
ー)は2つのRFMK命令を発行することによって搬出でき
る。
制御ベクトルを利用するシステムに搬出されるキー
は、KEK1.C3のもとで暗号化される。すなわち、制御ベ
クトルが、搬出されるキーに付随する。制御ベクトルな
しでシステムに搬出されるキーは、KEK1.0のもとで暗号
化される。すなわち、指定された出力制御ベクトルはゼ
ロでなければならない。
RFMKは、3つ以上のキーを配布しなければならない
(すなわち、生成キー・セットが必要なキーを生成でき
ない)場合にキーを搬出するのに使用される。RFMKは非
制御ベクトル・システムにデータ/互換性キーを送るの
にも使用される。dist−mode=0の場合、C3に指定され
た制御ベクトルはゼロでなければならない。データ・キ
ー、KEK、PIN暗号化キー、PIN生成キー、中間ICV、キー
部分及びトークンを、RFMK命令を使ってCVシステムに送
ることができる。RFMKはCV=0チャネルを介してGKS作
成キーを搬出するのに使用できず、この制限はCV及びCV
=0チャネル分離を保証するためにこの命令によって課
されている。
第18図は、この命令の構成図である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査: 1.C1Lの検査(搬出キー) − CVタイプ=「KEK/送信側」 − RFMK使用ビット=1 − 予約(48:63)=X‘0' 2.C1Rの検査(搬出キー) − CVタイプ=「KEK/送信側」 − RFMK使用ビット=1 − 予約(48:63)=X‘0' 3.C2の検査(搬出キー) − CVタイプ=「データ/互換性」、「データ/プライ
バシ」、「データ/MAC」、「データ/変換」、「KEK/受
信側」、「KEK/送信側」、「PIN/PEK」、「PIN/PGK」、
「KEKPART」、「中間ICV」または「トークン」 − 予約(48:63)=X‘0' 4.dist−mode=1の場合、以下の検査を行なう。
− リンク制御(C1R)=“01"または“11" − リンク制御(C1R)=“01"または“11" − 搬出制御ビット(C2)=1 − CVタイプ(C2)=CVタイプ(C3) − 使用ビット(C2)=使用ビット(C3) − 反バリアント・ビット30(C3)=‘0' − 反バリアント・ビット38(C3)=‘1' − 予約(48:63)(C3)=X‘0' 5.dist−mode=0の場合、以下の検査を行なう。
− リンク制御(C1L)=“10"または“11" − リンク制御(C1L)=“10"または“11" − 搬出制御ビット(C2)=1 − CVタイプ(C2)=「データ/互換性」 − C3=0 6.C1LとC1Rの検査 第18表で指定したものと同じ。
7.C3とC1L、C1Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)=‘10'または‘11'の場合、キ
ー形式(C1L)=‘10'かつキー形式(C1R)=‘11' マスタ・キーへの再暗号化(RTMK) 式:dist−mode,e*KM.C1L(KEK1L),e*KM.C1R(KEK1
R),e*KEK.C3(K),C1L,C1R,C2,C3−−−−− e*KM.C2(K) 入力: dist−mode キーの受信に使用されるチャネルのタ
イプを示す。たとえば、CV、CV=0チャネルはキーを送
るのに使用される。
0:CV=0(チャネル) 1:CV=(チャネル) e*KM.C1L(KEK1L) KEK1Lは64ビットの左キー暗号化キ
ーで、制御ベクトルC1Lを用いてマスタ・キーKMのもと
で3重暗号化された、128ビットのキー暗号化キーKEK1
の一部である。
e*KM.C1R(KEK1R) KEK1Rは64ビットの右キー暗号化キ
ーで、制御ベクトルC1Rを用いてマスタ・キーKMのもと
で3重暗号化された、128ビットのキー暗号化キーKEK1
の一部である(KEK1は入力キーである)。
e*KEK1.C3(K) Kは制御ベクトルC3を用いてキー暗
号化キー(KEK1)のもとで他のノードから送られたキー
である。このキーは1重または3重暗号化して送ること
ができ、どちらの場合でも回復される。このキーは、CV
チャネルまたはCV=0チャネルを用いて送ることがで
き、CV=0チャネルが使用される場合は、dist−modeは
ゼロでなければならない。受信されたキーは奇数パリテ
ィを持つことも持たないこともあり、したがってCFはパ
リティ検査を必要としない。C3は入力制御ベクトルとも
呼ばれる。
C1L,C1R これらは64ビット制御ベクトルで、12
8ビットのKEK1用の左右の制御ベクトルである。C1LはKE
K1L用の制御ベクトルであり、C1RはKEK1Rキー用の制御
ベクトルであ。実際の実施態様ではCVを1つだけ渡し
て、CFに制御ベクトルの「キー形式」を暗黙に設定させ
る。このCAアーキテクチャは、KEK用の左右の制御ベク
トルを別々に渡すように選択したものである。CFAPはKE
K用のこの2つのタイプのCVを生成し管理する。
C2 キーK用の64ビット出力制御ベクトル C3 キーK用の64ビット入力制御ベクトル 出力 e*KM.C2(K) Kは、制御ベクトルC2を用いてKMのも
とで3重暗号化された受信キーである。このキーは、マ
スタ・キーを用いて暗号化する前に奇数パリティで調整
される。
説明:RTMK命令は、128ビットのキー暗号化キーKEK
(搬入キーと呼ばれる)による暗号化からマスタ・キー
による暗号化に64ビット・キーKを再暗号化する。
128ビット・キーK(すなわち、2つの64ビット・キ
ー)は2つのRTMK命令を発行することによって搬入でき
る。
制御ベクトルを使用するシステムから搬入されたキー
は、KEK1.C3のもとで暗号化されることが期待される。
すなわち、制御ベクトルが搬入すべきキーに付随する。
これはCVチャネルを使用するキーの搬入とも呼ばれる。
制御ベクトルを使用しないシステムから搬入されたキー
は、KEK1.0のもとで暗号化されることが期待される。す
なわち、制御ベクトルはゼロである。これはCV=0チャ
ネルを使用するキーの搬入とも呼ばれる。CAシステムの
キーを搬入または搬出するために利用できる他のチャネ
ルはない。dist−modeは、キーを送るのに使用されるチ
ャネルを示すよう適切に指定されなければならない。di
st−mode=0の場合、指定された入力制御ベクトルはゼ
ロでなければならない。CV=0だけが「データ/互換
性」キーを搬送または受信するのに利用され、他のキー
はCAシステム中でこのチャネルを使って送るまたは受信
することができない。
どのシステムから搬入されたキーも、常に制御ベクト
ルC2を用いてマスタ・キーのもとで暗号化される。制御
ベクトルC2は常に命令に供給されなければならない。す
なわち、すべてのキーはCAシステム中で制御ベクトルを
用いて記憶される。
第19図は、この命令の構成図である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査: 1.C1Lの検査(搬入キー): − CVタイプ=「KEK/受信側」 − RTMK使用ビット=1 − 予約(48:63)=X‘0' 2.C1Rの検査(搬入キー): − CVタイプ=「KEK/受信側」 − RTMK使用ビット=1 − 予約(48:63)=X‘0' 3.dist−mode=1の場合、以下の検査を行なう。
− リンク制御(CIL)=“01"または“11" − リンク制御(C1R)=“01"または“11" − CVタイプ=「データ/互換性」、「データ/プライ
バシ」、「データ/MAC」、「データ/変換」、「KEK/受
信側」、「KEK/送信側」、「PIN/PEK」、「キー部
分」、「中間ICV」または「トークン」 − 予約(48:63)=X‘0' − 搬出制御ビット(C3)=0の場合、搬出制御ビット
(C2)=0 − CVタイプ(C3)=CVタイプ(C2) − 使用ビット(C3)=使用ビット(C2) − 反バリアント・ビット30(C2)=‘0' − 反バリアント・ビット38(C2)=‘1' 4.dist−mode=0の場合、以下の検査を行なう。
− リンク制御(C1L)=“10"または“11" − リンク制御(C1R)=“10"または“11" − CVタイプ(C2)=「データ/互換性」 − 反バリアント・ビット30(C2)=‘0' − 反バリアント・ビット38(C2)=‘1' − C3=0 5.C1LとC1Rの検査 − 第18表で指定したものと同じ。
6.C2とC1L、C1Rの検査 − CVタイプ(C2)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C2)=‘10'または‘11'の場合、キ
ー形式(C1L)=‘10'かつキー形式(C1R)=‘11'。
キー生成(KGEN) 式:入力 output−type この命令の以下の出力形式を示す。
0:64ビットの奇数パリティ調整乱数(キー)を出力す
る。
1:パリティ調整されない64ビットの乱数を出力する。
2:制御ベクトルC1を用いてKMのもとで暗号化された、64
ビットの奇数パリティ調整乱数(キー)を出力する。
C1 生成されたキー用の64ビットの制御ベ
クトル 出力: K 64ビットの平文の乱数またはパリティ
調整キー e*KM.C1(K) Kは、生成された制御ベクトルC1を用
いてKMのもとで3重暗号化された64ビット・キーであ
る。
説明:キー生成機能は、64ビットの奇数パリティ調整
キーを作成し、あるいは制御ベクトルC1を用いてKMのも
とで暗号化された64ビットの奇数パリティで調整された
平文キーまたはパリティ調整のない平文64ビット乱数を
生成する。output−typeは必要な出力のタイプを指定す
る。キー生成命令は、データ/互換性、データ/プライ
バシ、データ/MAC、データ/変換の各キー及びANSIキー
を生成するためだけに使用できる。他のすべてのキー・
タイプはGKSを使って生成しなければならない。
第20図はこの命令の構成図を示す。
CC: 1.動作成功 2.C1無効 3.動作失敗(エラー) 制御ベクトル検査: 1.output−type=2の場合にC1を検査する。
− CVタイプ=「データ/互換性」、「データ/プライ
バシ」、「データ/MAC」、「データ/変換」、「データ
/ANSI」または「ANSI/KEK」 − 反バリアント(30)=‘0' − 反バリアント(38)=‘1' − 予約ビット(48:63)=X‘0' マスタ・キーによる暗号化(EMK) 式:K,C1−−−−−e*KM.C1(K) 入力: K この機能に供給される64ビット平文奇
数パリティ調整キー、またはデータ・キー用の64ビット
のトークンとすることができる。トークンはCKDS上にデ
ータ・キーと一緒に記憶される。データ・キー用のトー
クンの使い方については、RTNMKを参照のこと。
C1 供給されるキーまたはトークン用の64
ビット制御ベクトル 出力: e*KM.C1(K) Kは、供給され制御ベクトルC1を用い
てKMのもとで3重暗号化される64ビット・キーである。
Kは、CKDSにデータ・キーと一緒に記憶される64ビット
のトークンでもよい。
説明:マスタ・キーによる暗号化命令は、制御ベクト
ルC1を用いてKMのもとで暗号化された64ビット・キーま
たはトークンを作成する。
この機能に渡されるキーまたはトークンが「データ/
プライバシ」または「トークン」タイプの場合、それは
制御ベクトルc1を用いてKMのもとで暗号化される。そう
でない場合、システムが「超安全」(super secure)モ
ードの場合に限りこの機能が実行できる。「超安全」モ
ードでは、この機能はいずれかのCVタイプを用いてどの
平文キーをも暗号化できる。
第21図は、この命令の構成図である。
CC: 1.動作成功 2.C1無効 3.超安全モードではない。
4.動作失敗 制御ベクトル検査: 1.C1の検査 − CVタイプ=「データ/互換性」、「データ/プライ
バシ」、「データ/MAC」、「データ/変換」、「データ
/ANSI」、「KEK/送信側」、「KEK/受信側」、「トーク
ン」、「中間ICV」、「PIN/PGK」または「PIN/PEK」 − 反バリアント(30)=‘0' − 反バリアント(38)=‘1' − 予約ビット(48:63)=X‘0' − (CVタイプ()(「データ/互換性」または「トー
クン」)の場合、超安全モード・フラグ=1 キー変換(XLTKEY) 式:e*KM.C1L(KEK1L),e*KM.C1R(KEK1R),e*KM.C2L
(KEK2L),e*KM.C2R(KEK2R),e*KEK1.C3(K),mod
e,C1L,C1R,C2L,C2R,C3−−−−−e*KEK2.C3(K) 入力: e*KM.C1L(KEK1L) KEK1Lは、64ビットの左キー暗号化
キーであり、制御ベクトルC1Lを用いてマスタ・キーKM
のもとで3重暗号化された128ビットのキー暗号化キーK
EK1の一部である(これは搬入KEKである)。
e*KM.C1R(KEK1R) KEK1Rは、64ビットの右キー暗号化
キーであり、制御ベクトルC1Rを用いてマスタ・キーKM
のもとで3重暗号化された128ビットのキー暗号化キーK
EK1の一部である(これは搬入KEKである)。
e*KM.C2L(KEK2L) KEK2Lは、64ビットの左キー暗号化
キーであり、制御ベクトルC2Lを用いてマスタ・キーKM
のもとで3重暗号化された128ビットのキー暗号化キーK
EK2の一部である(これは搬入KEKである)。
e*KM.C2R(KEK2R) KEK2Lは、64ビットの右キー暗号化
キーであり、制御ベクトルC2Rを用いてマスタ・キーKM
のもとで3重暗号化された128ビットのキー暗号化キーK
EK2の一部である(これは搬入KEKである)。
e*KEK1.C3(K) Kは、制御ベクトルC3を用いてKMの
もとで3重暗号化された64ビット・キーである。Kは変
換されるキーである。128ビットのキーは2つのキー変
換命令を用いて変換される。
mode 0:C3=非ゼロ制御ベクトル 1:C3=0 C1L,C1R これらは、64ビットの制御ベクトル
で、128ビットKEK1用の左右の64ビット制御ベクトルで
ある。C1LはKEK1L用の制御ベクトルであり、C1RはKEK1R
キー用の制御ベクトルである。実際の実施態様ではCVを
1つだけ渡して、CFに制御ベクトルの「キー形式」ビッ
トを暗黙に設定させる。このCAアーキテクチャは、KEK
用の左右の制御ベクトルを別々に渡すように選択したも
のである。CFAPはKEK用の2つのタイプのCVを生成し管
理しなければならない。
C2L,C2R これらは、128ビットKEK2用の左右の6
4ビット制御ベクトルである。C2LはKEK2L用の制御ベク
トルであり、C2RはKEK2Rキー用の制御ベクトルである。
C3 キーK用の64ビット制御ベクトルであ
る。同じ制御ベクトルが、KEK2のもとでキーを出力する
のにも使用される。
出力: e*KEK2.C3(K) Kは64ビットの変換されたキーであ
る。
説明:キー変換命令は、128ビット・キー暗号化キーK
EK1(搬入キーと呼ばれる)による暗号化から128ビット
・キー暗号化キーKEK2(搬出キーと呼ばれる)による暗
号化に64ビット・キーKを再暗号化する。局所的には、
すべてのKEKは128ビットであり、制御ベクトルを用いて
マスタ・キーのもとで記憶される。128ビットKEKのKEKL
部分とKEKR部分は、KMのもとで別々に暗号化されて、2
つの64ビット暗号キー量を生成し、連結されて128ビッ
トの量としてローカルに記憶される。128ビットKEKを回
復するために、DEDタイプの非暗号化動作を2回行なわ
なければならない。
128ビット・キーK(すなわち、2つの64ビット・キ
ー)は、2つのキー変換命令を発行することによって変
換できる。
モード・パラメータは変換されるキーのタイプを指定
する。このキーは、このモード・パラメータを使って回
復しなければならない。mode=1の場合、C3=0を使っ
てキーを回復しまた変換しなければならない。CV=0と
CVの混合及び突合せはこの命令では許されない。
第22図はこの命令の構成図である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2LまたはC2R無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査 1.C1Lの検査(搬入キー) − CVタイプ=「KEK受信側」 − XLATE IN使用ビット=1 − 予約(48:63)=X‘0' 2.C1Rの検査(搬入キー) − CVタイプ=「KEK使用ビット」=1 − XLATE IN使用ビット=1 − 予約(48:63)=X‘0' 3.C2Lの検査(搬出キー) − CVタイプ=「KEK送信側」 − XLATE OUT使用ビット=1 − 予約(48:63)=X‘0' 4.C2Rの検査(搬出キー) − CVタイプ=「KEK送信側」 − XLATE OUT使用ビット=1 − 予約(48:63)=X‘0' 5.C1LとC2Rの検査 第21表の説明と同じ。
6.C1RとC2Rの検査 第21表の説明と同じ。
7.C1L、C1R、C2L、C2Rの検査 − mode=0の場合、 (リンク制御(C1L)=(リンク制御(C1R)=‘01'ま
たは (リンク制御(C1L)=(リンク制御(C1R)=‘11' − mode=0の場合、 (リンク制御(C2L)=(リンク制御(C2R)=‘01'ま
たは (リンク制御(C2L)=(リンク制御(C2R)=‘11' − mode=1の場合、 (リンク制御(C1L)=(リンク制御(C1R)=‘10'ま
たは (リンク制御(C1L)=(リンク制御(C1R)=‘11' − mode=1の場合、 (リンク制御(C2L)=(リンク制御(C2R)=‘10'ま
たは (リンク制御(C2L)=(リンク制御(C2R)=‘11' 8.C3とC1L、C1Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)=‘10'または‘11'の場合、キ
ー形式(C1L)=‘10'かつキー形式(C1R)=‘11'。
9.C3とC2L、C2Rの検査 − CVタイプ(C3)=「KEK/送信側」または「KEK/受信
側」かつキー形式(C3)=‘10'または‘11'の場合、キ
ー形式(C2L)=‘10'かつキー形式(C2R)=‘11'。
新マスタ・キーへの再暗号化(RTNMK) 式:キー・モード mode,e*KMC.C1(K),C1−−−−e*KMN.C1(K) 式:トークン・モード mode,(token+e*KMC.C1(K)),e*KMC.C2(token),C
1,C2,−−−−(token+e*KMN.C1(K)),e*KMN.C2(t
oken) 入力: mode 以下のようなRTNMKモードを示す。
0:キー・モード 1:トークン・モード キー・モードは、キーを新しいマスタ・キーに変換する
のに使用される。トークン・モードは、キーとトークン
を、特殊な形でDKDSに記憶される新しいマスタ・キーに
変換するのに使用される。CFAPは乱数を生成し、それを
トークンとして指定する。暗号化されたデータ・キーe*
KM.C1(KD)がこのトークンと排他的論理和が取られ
て、その結果得られる値がDKDSに記憶される。トークン
自体は秘密の量であり、EMK(e*KM.C2(token))を使
って暗号化されて、やはりDKDSに記憶される。マスタ・
キーが変更されるとき、トークンとキーを、原子的動作
としてRTNMKを使って再暗号化しなければならない。
e*KMC.C1(K) Kは、制御ベクトルC1を用いて現マス
タ・キーのもとで3重暗号化された64ビット・キーであ
る。
CI 64ビット・キーC1用の制御ベクトルで
ある。
(token+e*KMC.C1(K)) DKDSに記憶された特殊な量
である64ビットの量である(‘+’動作は排他的論理和
を表す)。CFAPはこの量を生成し、それをDKDSに記憶す
る。この入力はmode=1の場合に有効である。
e*KMC.C2(token) 制御ベクトルC2を用いて現マスタ
・キーのもとで暗号化された64ビットのトークンである
(これはEMK命令を使って生成される)。この入力はmod
e=1の場合に有効である。
C2 64ビットのトークン用の制御ベクトル
である。この入力はmode=1の場合に有効である。
出力: e*KMN.C1(K) Kは制御ベクトルC1を用いて新マスタ
・キーのもとで3重暗号化された64ビット・キーであ
る。
(token+e*KMC.C1(K)) これは、DKDSに記憶でき
る、新マスタ・キーのもとで生成された特殊な量であ
る。この出力はmode=1の場合にのみ有効である。
e*KMN.C2(token) これは、制御ベクトルC2を用いて
新マスタ・キーのもとで再暗号化されたトークンであ
る。この出力はmode=1の場合にのみ有効である。
説明:RTNMK命令は、64ビット暗号キーを現マスタ・キ
ーのもとで非暗号化(復号化)させ、新マスタ・キーの
もとで再暗号化させる。
RTNMK命令は、マスタ・キーが変更されたときシステ
ム内のすべてのキーを再暗号化するのに使用される。こ
の命令は、現マスタ・キーと新マスタ・キーを暗号機構
内の当該レジスタに保持する。RTNMK命令を実行するに
は、暗号機構内に新マスタ・キー(NMK)フラグが設定
されていないといけない。新マスタ・キーを暗号機構に
ロードすると、このフラグが設定される。切換え点で、
SMK命令がNMKフラグをリセットする。暗号機構内に新マ
スタ・キーと現マスタ・キー機能がなければならず、そ
の他にCF中に現マスタ・キーのちょうど1レベル前のマ
スタ・キーを含む旧マスタ・キー位置もあり得る。各マ
スタ・キーは、CF中にそれに関連するフラグをもたなけ
ればならず、RTNMK動作を実行するには現マスタ・キー
・フラグを設定しなければならない。マスタ・キー・フ
ラグは切換え点でSMK命令によって設定される。
ある種のシステムでは、切換え点ではオフラインとな
るアプリケーションがある。したがって、いくつかのキ
ーは依然として旧マスタ・キーのもとで暗号化される。
切換え後にアプリケーションがオフラインになると、そ
れは、現マスタ・キーへの再暗号命令(RTCMK)を使っ
て、旧マスタ・キーから現マスタ・キーにこうしたキー
を変換することができる。
CMK及びNMKフラグが設定されない場合、動作が打ち切
られる。
RTNMK命令は、トークンとトークンに関連する特殊な
値を1基本動作で再暗号化するのにも使用できる。この
特殊値は、トークンと暗号化データ・キーの排他的論理
和である。データ・キーはこの特殊値としてDKDSに記憶
され、トークンの暗号化された値も秘密の量として記憶
される。暗号化されたトークン値は、暗号機構内でRTNM
KまたはRTCMK命令の内部でしか非暗号化(復号化)でき
ない。CA中にトークンを非暗号化(復号化)する他の機
能はない。トークン値はEMKを用いて暗号化され、トー
クンは特殊な制御ベクトルに関連付けられる。制御ベク
トルの検査はシステム内でのトークンの安全保障を確保
するため、EMK及びRTNMK中で行なわれる。
第23図と第24図は、この命令の構成図である。
CC: 1.動作成功 2.NMKフラグ未設定、不法シーケンス 3.CMKフラグ未設定、不法シーケンス 4.C1無効 5.C2無効 6.動作失敗(エラー) 制御ベクトル検査 1.mode=0の場合にC1の検査 − 予約(48:63)=X‘0' 2.mode=1の場合にC2の検査 − CVタイプ=「トークン」 − 予約(48:63)=X‘0' 現マスタ・キーへの再暗号化(RTCMK) 式:キー・モード mode,e*KMO.C1(K),C1−−−−e*KMC.C1(K) 式:トークン・モード mode,(token+e*KMO.C1(K)),e*KMO.C2(token),C
1,C2−−−−(token+e*KMC.C1(K)),e*KMC.C2(to
ken) 入力: mode 以下のようなRTCMKモードを示す。
0:キー・モード 1:トークン・モード e*KMO.C1(K) Kは、制御ベクトルC1を用いて旧マス
タ・キーのもとで3重暗号化された64ビット・キーであ
る。
C1 64ビット・キーK用の制御ベクトルで
ある。
(token+e*KMO.C1(K)) 64ビットの量で、DKDSに記
憶された特殊な量である(‘+’演算は排他的論理和で
ある)。CFAPはこの量を生成し、それをDKDSに記憶す
る。この入力はmode=1の場合に有効である。
e*KMO.C2(token) 制御ベクトルC2を用いて旧マスタ
・キーのもとで暗号化された64ビットのトークンである
(これはEMK命令を用いて生成される)。この入力はmod
e=1の場合に有効である。
C2 64ビット・トークン用の制御ベクトル
である。この入力はmode=1の場合に有効である。
出力: e*KMC.C1(K) Kは、制御ベクトルC1を用いて現マス
タ・キーのもとで3重暗号化された64ビット・キーであ
る。
(token+e*KMC.C1(K)) これは、DKDSに記憶できる
現マスタ・キーで生成された特殊な量である。この出力
はmode=1の場合にのみ有効である。
e*KMC.C2(token) これは、制御ベクトルC2を用いて
現マスタ・キーのもとで再暗号化されたトークンであ
る。この出力はmode=1の場合にのみ有効である。
説明:RTCMK命令は、64ビット暗号キーを旧マスタ・キ
ーのもとで非暗号化(復号化)させ、現マスタ・キーを
用いて再暗号化させる。
RTCMK命令は、旧マスタ・キーのもとで暗号化された
システム内のキーを再暗号化するために使用され、その
とき以降、マスタ・キーが変更される。すなわち、NMK
フラグはセットされず、SMK命令がすでに実行されてい
る。現マスタ・キーは、RTNMKを用いて変換されなかっ
たキー用の新しいマスタ・キーである。この命令を実行
するには、CF内でCMKフラグとOMKフラグがセットされ、
NMKフラグがリセットされなければならない。この命令
は、暗号機構内の当該のレジスト中で現マスタ・キーと
新マスタ・キーを保持する。
暗号サブシステム内のCFAPは、RTNMK及びRTCMK命令の
使用とマスタ・キーのレベルを知らなければならない。
旧マスタ・キーの問題を解決するため、マスタ・キーの
1つ前のレベルだけが任意選択でCF内に維持できる。CF
APは旧マスタ・キー及び現マスタ・キーのもとで暗号化
されたキーを追跡しなければならない。
RTCMK命令は、新マスタ・キーの切換え点の後でRTCMK
を実行したい場合に限って実施できる任意選択命令であ
る。
OMK及びCMKフラグがセットされず、NMKフラグがリセ
ットされない場合、動作を打ち切らなければならない。
RTCMK命令を使って、トークンとそれに関連する特殊な
値を1基本動作で再暗号化することもできる。この特殊
な値は、トークンと暗号化データ・キーの排他的論理和
である。データ・キーは、この特殊値としてDKDSに記憶
され、トークンの暗号化された値も秘密の量として記憶
される。暗号化されたトークン値は、暗号機構内でRTNM
KまたはRTCMK命令の内部でしか非暗号化(復号化)でき
ない。CA中にトークンを非暗号化(復号化)する他の機
能はない。トークン値はEMKを用いて暗号化され、トー
クンは特殊な制御ベクトルに関連付けられる。システム
内でのトークンの安全保護を確保するため、EMK及びRTC
MKで制御ベクトル検査が実行される。
第25図と第26図はこの命令の構成図である。
CC: 1.動作成功 2.OMKフラグ未設定、不法シーケンス 3.CMKフラグ未設定、不法シーケンス 3.NMKフラグ未設定、不法シーケンス 5.C1無効 6.C2無効 7.動作失敗(エラー) 制御ベクトル検査: 1.mode=0の場合にC1の検査 − 予約(48:63)=X‘0' 2.mode=1の場合にC2の検査 − CVタイプ=「トークン」 − 予約(48:63)=X‘0' マスタ・キー設定(SMK) 式:() 入力:なし 出力:なし 説明:SMK命令は次のことを引き起こす。
1.(旧マスタ・キー=現マスタ・キー) 2.(旧マスタ・キー・フラグ=1) 3.現マスタ・キー=新マスタ・キー 4.新マスタ・キー・フラグ=1 5.新マスタ・キー・フラグ=0 この命令は、「超安全」モードでのみ実行しなければ
ならない。すなわち、この命令を実行するには、物理キ
ー位置が「超安全」位置になければならず、暗号機構内
で超安全フラグがセットされなければならない。マスタ
・キーの左右の部分が、新マスタ・キー・レジスタに等
しくないかどうか検査され、2つの部分が等しい場合は
動作が打ち切られる。
CF内でSMKが実行された後はずっと、CFはすべての暗
号演算に対して新マスタ・キーを使用する。切換え点
は、この命令の実行後に有効となる。システム内に旧マ
スタ・キーのもとで暗号化されたキーが他にもある場
合、任意選択命令RTCMKがキーを再暗号化する唯一の手
段である。
CF中でNMKフラグがセットされない場合、動作を打ち
切らなければならない。
CC: 1.動作成功 2.NMKフラグ未設定 3.左右の部分が等しい。
4.超安全フラグ未設定、無効シーケンス 5.動作失敗(エラー) MDCOP(MDC動作) 説明:米国特許第4908861号に記載されているよう
に、修正検出コード(MDC)を計算する命令を提供する
ことは、当該技術の範囲内にある。
暗号機構クリア(CLRCF) 式:() 入力:なし 出力:なし 説明:暗号機構(CF)のレジスタ、フラグ及びすべての
ローカル・メモリがクリアされる。この機能は、マスタ
・キーが危険にさらされた場合にマスタ・キーとフラグ
をクリアするために使用できる。マスタ・キー・フラグ
がリセットされた場合、侵入者は、RTNMKまたはRTCMKを
実行して危険にさらされたキーから自分のマスタ・キー
にキーを変換することができない。
この機能は、無許可ユーザからのサービス喪失を防ぐ
のに望ましい保護の程度に応じて、物理キーの制御下で
または特権命令として実施できる。
CC: 1.動作成功 2.動作失敗(エラー) キー部分レジスタ・クリア(CLRKPR) 式:() 入力:なし 出力:なし 説明:この命令は暗号機構(CF)内のキー部分レジスタ
をクリアする。この命令は、キー部分レジスタ中の誤っ
た入力または危険にさらされた入力をクリアするために
使用できる。CLRKPRを使うと、全体CFを破壊せずにキー
部分レジスタがクリアできる。ただし、CLRCF命令も使
用できる。命令CLRCFとCLRKPRをどのように実施するか
選択するのは、実施者の責任である。たとえば、CFレジ
スタを選択的にリセットできる単一命令を設けることが
できる。所与の実施態様では、無許可ユーザからのサー
ビスの喪失を防ぐのに望ましい保護の程度に応じて、物
理キーをまたは特権命令として使用できる。
CC: 1.動作成功 2.動作失敗(エラー) NMKレジスタ・クリア(CLRNMK) 式:() 入力:なし 出力:なし 説明:この命令は、暗号機構(CF)内でNMKレジスタを
クリアする。CFまたはNMKに誤って入力されたNMKが危険
にさらされた場合に、この命令が使用できる。暗号機構
クリア命令はきわめてよく使用されるので、この命令を
使って新しいマスタ・キー・レジスタをクリアすること
ができる。CLRCF,CLRKPR及びCLRNMKなどの命令をどのよ
うに実施するか選択するのは実施者の責任である。たと
えば、CFレジスタを選択的にリセットできる単一命令を
設けることができる。無許可ユーザからのサービスの喪
失を防ぐのに望ましい保護の程度に応じて、所与の実施
態様では、物理キーをまたは特権命令として使用でき
る。
CC: 1.動作成功 2.動作失敗(エラー) 下位CV権限低下(LCVA) 式:e*KM.C1(K),C1,C2−−−−e*KM.C2(K) 入力: e*KM.C1(K) Kは、制御ベクトルC1を用いてマスタ
・キーのもとで3重暗号化された64ビット・キーであ
る。
C1 64ビット入力制御ベクトル C2 64ビット出力制御ベクトル 出力: e*KM.C2(K) Kは64ビット制御ベクトルC2を用いて
KMのもとで3重暗号化された64ビット・キーである。
説明:LCVAは、CV中の搬出制御フィールドでの権限を低
下させるように構成された制御ベクトル命令である。
CC: 1.動作成功 2.C1またはC2無効 3.動作失敗(エラー) 制御ベクトル検査: 1.C1とC2の検査 − CVタイプ(C1)=CVタイプ(C2) − 予約(48:63)(C1)= 予約(48:63)(C2)=X‘0' − KEKの使用ビット(C1)=KEKの使用ビット(C2) − PINキー(C1)の使用ビット=PINキーの使用ビット
(C2) − 搬出制御ビット: 搬出制御ビット1(C2)=1(他にRFMKなし) 第1マスタ・キー部分のロード(LFMKP) 式:()=====KPレジスタの内容はNMKレジスタに
転送される。フラグ(NMKレジスタ)=「部分充填」及
びフラグ(KPレジスタ)=「空」 説明:この命令は、キー部分(KP)レジスタに記憶され
たマスタ・キーの第1部分をNMK(新マスタ・キー)レ
ジスタにロードする。さらに、NMKレジスタのフラグ
が、(「空」状態から)NMKレジスタが完了していない
ことを示す「部分充填」状態に設定される。キー部分レ
ジスタの内容は、(「満杯」状態から)キー部分レジス
タが現在空であることを示す「空」状態に設定される。
この動作は、キー部分レジスタが現在「満杯」状態にあ
り、NMKレジスタが「空」状態にある場合に限って行な
われる。
注:この命令の実行の前に、第1のマスタ・キー部分
が、トリガー・ボタン(たとえば「実行キー」)でキー
入力装置(キー・パッドなど)またはキー・ボードによ
ってキー部分レジスタに入れられる。(トリガー・ボタ
ンは、通常キー・パッドまたはキー・ボードを介して入
力されたキーの値をキー部分レジスタにロードする動作
を開始するために使用される。) 以下の追加機能は任意選択であり、物理キーをもつシ
ステムで実施できる。
この命令を実施するには、上記のレジスタのフラグに
関する要件以外に、キー・スイッチ位置が感知され、そ
れが適切な位置(たとえば、第1のマスタ・キー部分使
用可能位置)になければならない。
CC: 1.動作成功 2.CKP1無効 3.動作失敗 制御ベクトル検査:なし マスタ・キー部分組合せ(CMKP) 式:mode=====NMKの内容=(NMKレジスタの内容)
と(KPレジスタの内容)の論理和、 フラグ(KPレジスタ)=「空」かつmode=0の場合はフ
ラグ(NMK)=「部分充填」mode=1の場合はフラグ(N
MK)=「満杯」 ただし、モードは命令の入力であり、組み合わされるマ
スタ・キー部分が最後のキー部分であるかどうかを示
す。
− mode=0の場合、組み合わされるマスタ・キー部分
は最後のキー部分ではなく、より多くのキー部分が組み
合わされて、完全なマスタ・キーを形成することが期待
される。
− mode=1の場合、組み合わされるマスタ・キー部分
は最後のキー部分であり、この命令の実行後にNMKレジ
スタ中で完全な新マスタ・キーが形成される。
説明:この命令は、キー部分レジスタに記憶されたj番
目のマスタ・キー部分KPjをNMKレジスタに記憶された他
のキー部分と排他的論理和を取り、結果をNMKレジスタ
に記憶する。
この命令はまた、 − KPレジスタのフラグを(「満杯」状態から)「空」
状態に設定する。
− mode=1の場合にNMKレジスタのフラグを「満杯」
状態に設定し、mode=0の場合に「部分充填」状態に設
定する。
この命令が実行されるのは、キー部分レジスタが「満
杯」状態にあり、NMKレジスタが「部分充填」である場
合に限る。
注:この命令の実行前に、マスタ・キー部分KPjは、ト
リガー・ボタン(たとえば、「実行キー」)でキー入力
装置(キー・パッドなど)またはキー・ボードによって
キー部分レジスタに入れられる。(トリガー・ボタン
は、通常キー・パッドまたはキー・ボードを介して入力
されたキーの値をキー部分レジスタにロードする動作を
開始するために利用される。) 複数部分(たとえば、マスタ・キーKMは、KM=KM1 XO
R OM2...XOR KMnとなるようなn個の部分KM1,KM2...,KM
nをもつ)のマスタ・キーを導入する際のこの命令及び
第1マスタ・キー部分ロード命令の使い方は、「キー管
理」の節のキー導入手順のところに記載されている。
以下の追加機能は任意選択であり、物理キーをもつシ
ステムで実施できる。
この命令を実施するには、上記のレジスタのフラグに
関する要件以外に、キー・スイッチ位置が感知され、そ
れが適切な位置(たとえば、第2のマスタ・キー部分使
用可能位置)になければならない。
CC: 1.動作成功 2.CKP1、CKP2またはCKEK無効 3.動作失敗 制御ベクトル検査:なし 第1キー部分のロード(LFKP) 説明:この命令は、キー部分レジスタに記憶されたキー
の第1のキー部分を暗号化する。暗号化されたキー部分
は、その後の検索及び(キー部分組合せ命令による)キ
ーの他のキー部分との組合せのために、CFAPによってキ
ー記憶機構に記憶される。この命令を実行すると、キー
部分レジスタのフラグも「満杯」状態から「空」状態に
設定される。
この動作を実施するには、キー部分レジスタが「満
杯」状態になければならない。
キー部分組合せ(CKP) 説明:キー部分組合せ命令は、キー部分レジスタに記
憶されたキー部分と以前のキー部分を組み合わせる。キ
ー部分の組合せは、それらの論理和を取ることによって
実施される。この命令を実行すると、キー部分レジスタ
のフラグも(満杯状態から)「空」状態に設定される。
この命令が実行されるのは、キー部分レジスタのフラグ
が「満杯」状態にある場合に限る。
検査パターンの計算(CVP) 説明:CVP命令は、所与のキーKに関する検査パターンを
計算する。この検査パターンを使って、手動で導入され
たキーが正しく入力されたかどうかを検査することがで
きる。この命令の詳細は本発明の範囲外である。
エラー検出コードのANSI生成(AGEDC) 式:A====EDC 入力: A エラー検出コードが生成される対象と
なるデータ 出力: EDC Aで指定されたデータについて計算さ
れた64ビット・エラー検出コード 説明:エラー検出コードは、他の手段(プライバシ・
キーによる確認など)が利用できないときに伝送エラー
を検出したりエラーを処理するために、ANSI X9.17−19
85で使用される。EDCは、ANSI X9.9−1982で定義された
認証法(MAC)と、固定した秘密でないキーKDX=X‘01
23456789ABCDEF'を用いて生成される。
AGEDCは、コード化命令と平文値KDXを用いてCFAP内で
シミュレートされる。この命令は、マスタ・キーのもと
で暗号化された事前計算された形のKDXをもつ他のCA命
令(たとえば、GMACまたはENCIPHER)を用いてシミュレ
ートすべきではない(というのは、これはマスタ・キー
のもとで暗号化された周知の値を表すから)。
エラー検査コードのANSI検査(AVEDC) 式:A,EDC====yes/no 入力: A 供給されたエラー検出データと突き合
わせて検査されるデータ EDC Aで指定されたデータに対して検査さ
れる64ビット・エラー検出コード 出力: yes/no Aで指定されたデータに基づいて計算
されたエラー検出コードが供給されたEDCと一致するこ
とを示す。
説明:エラー検出コードは、他の手段(プライバシ・
キーによる承認など)が利用できないときに伝送エラー
を検出したりエラーを処理するために、ANSI X9.17−19
85で使用される。EDCは、ANSI X9.9−1982で定義された
認証法(MAC)と、固定した秘密でないキーKDK=X‘01
23456789ABCDEF'を用いて生成される。
AVEDCは、コード化命令と平文値KDXを用いてCFAPでシ
ミュレートされる。この命令は、マスタ・キーのもとで
暗号化された事前計算された形のKDXをもつ他のCA命令
(たとえば、GMACまたはVMAC)を用いてシミュレートす
べきでない(というのは、それはマスタ・キーのもとで
暗号化された既知の値を表すから)。
部分認証キーのANSI作成(APNOTR) 式:mode,e*KM.C1L(KKl),e*KM.C1R(KKr),FMID,TOI
D,C1L,C1R,C2L,C2R ====e*KM.C2L(KKNIL),e*KM.C2R(KKNIR) 入力: mode 入力*KK=KKl//KKrが複製された64ビ
ット(すなわち、KKl=KKr)か、それとも真の128ビッ
トKEKかを示す。
0:真の128ビットKEK 1:複製64ビットKEK 部分認証キーを作成するためのアルゴリズムは、64ビッ
トKEKと128ビットKEKで少し異なっている。入力KEK自体
からは正しい選択が推論できないので、モード・パラメ
ータは正しいアルゴリズムを選択する。(すなわち、64
ビットKEKも128ビットKEKも128ビットとして入力され
る)。
e*KM.C1L(KKl) 制御ベクトルC1Lを用いてマスタ・キ
ーのもとで暗号化された64ビットKKlである。KKlは128
ビットのキー暗号化キー*KKの左部分である。
e*KM.C1R(KKr) 制御ベクトルC1Rを用いてマスタ・キ
ーのもとで暗号化された64ビットKKrである。KKrは128
ビットのキー暗号化キー*KKの右部分である。
注:CAでは、(ANSI KEKを含めて)すべてのKEKは、128
ビットの形で左右の64ビット部分として記憶される。
(64ビットKEKは複製されて128ビットを形成する。この
場合、左右の部分は等しい。)*KKの左部分は、左制御
ベクトルを用いてマスタ・キーのもとで暗号化されCKDS
に記憶される。同様に、*KKの右部分は、右制御ベクト
ルを用いてマスタ・キーのもとで暗号化されCKDSに記憶
される。制御ベクトルのキー形式ビットは、左右の部分
間及び64ビットKEKと128ビットKEK間で異なる。
FMID ANSI X3.4−1977で定義される16個
のASCII文字。これは、認証パラメータとして使用され
る「from」ノードIDである。このIDが16文字でない場合
は、ANSI X9.17−1985第7.5節、「キー認証」に記載さ
れているように、16文字が形成されるまで、IDを繰り返
さなければならない。(「参考文献」参照) TOID ANSI X3.4−1977で定義されている16
個のASCII文字。これは、認証パラメータとして使用さ
れる「to」ノードIDである。このIDが16文字ではない場
合、ANSI X9.17−1985第7.5節、「キーの認証」に記載
されているように、16文字が形成されるまで、IDを繰り
返さなければならない。
C1L,C1R *KKのそれぞれ左右の部分用の64ビッ
ト制御ベクトルである。
C2L,C2R *KKNIのそれぞれ左右の部分用の64ビ
ット制御ベクトルである。
出力: e*KM.CL(KKNIL) 制御ベクトルC2Lを用いてマスタ・
キーのもとで暗号化された64ビットKKNILである。これ
は、入力KEK、*KKの部分的または間接的に認証された形
である128ビット*KKNIの左部分である。「部分」認証キ
ーは、オフセットされていない認証キーである。認証済
みキーの搬入または搬出のためにそれを認証キーとして
使用する前に、*KKNIでオフセット化を実行しなければ
ならない。オフセット化はARTMK、ARFMK、及びAXLTKEY
によって明示的に実行される。
e*KM.C2R(KKNIR) 制御ベクトルC2Rを用いてマスタ・
キーのもとで暗号化された64ビットKKNIRである。これ
は、入力KEK、*KKの部分認証された形である128ビット*
KKNIの右部分である。
注:KEKと部分認証KEKはすべて128ビットの形でCAに記憶
される。
説明:ANSI認証は、通信対、すなわち、キーの送信側と
受信側の識別でキーをシールする方法である。キーは、
認証されると元のキー暗号化キーと通信対の識別を知ら
ないと回復できない。データ・キーまたはキー暗号化キ
ーは、伝送の前に認証キー(*)KNを用いた暗号化によ
って認証できる。
ANSIでは、(*)KNは、KEK,(*)KKと認証シールNSの
排他的論理和を取ることによって形成される。認証シー
ルNSは、キー送信側の識別、所期のキー受信側の識別及
び(*)KKに関連するキー・メッセージ・カウンタの現
在値から構成される。カウンタ値は動的量であり、すな
わち、(*)KKの使用ごとに増分されるので、各伝送ご
とに(*)KNを再計算しなければならないことに留意さ
れたい。
CAでは、(*)KNを形成する処理は、2つの別々のス
テップに分かれている。まずAPNOTRを呼び出して、*KKN
Iと呼ばれる(*)KNの中間形を計算する。*KKNIは、NS
の静的量、すなわち、送信側の識別、所期の受信側の識
別及び(*)KK自体だけに基づいている。オフセット化
と呼ばれる最終ステップでは、*KKNIと(*)KKに関連す
る現カウンタ値を組み合わせて、(*)KNを形成する。C
Aで(*)KKの形成を2ステップに分ける理由は2つあ
る。
1.効率性 (*)KNは3つの静的量(1対の識別と(*
KK自体)及び1つの動的量((*)KKに関連するカウン
タ)から構成されるので、(*)KKカウンタが更新され
るたびに(*)KNを完全に再計算する必要はない。した
がって、(*)KNを計算する処理は、静的量を使用する
一時事象と動的量を使用するより単純な繰り返し事象と
に分けられる。
2.透過性 ANSIでは、認証が使用される場合もそうでな
い場合も、伝送のためにKEKを使ってキー(KDまた
は(*)KK)を暗号化する前に、すべてのKEKをオフセッ
トさせなければならない。すなわち、オフセット化は、
ARTMK、ARFMK、AXLTKEYなど他のキーを暗号化または非
暗号化(復号化)するためにKEKを使用するすべてのCA
ANSI命令中に暗黙動作として含まれている。(*)KNの
形成を所定の方式で分割することにより、認証が命令AR
TMK、ARFMK及びAXLTKEYに対して透過性になる。
APNOTRは所与のKEK用の部分認証キー*KKNIを生成する
ために使用される。部分認証キーが使用されるのは、認
証済みキー(KDまたは(*)KK)がARTMKを使って搬入さ
れ、AXLTKEYを使って変換され、あるいはARFMKを使って
搬出されるときである。たとえば、データ・キーDK1
を、オフセットKEK、*KK1による暗号化から他のKEK.*K
K2の認証形による暗号化に変換すると仮定する。*KK2
の部分認証形である*KKNI1を作成するために、*KK2、
及び呼出側と所期の受取側の識別を使って、APNOTRが呼
び出される。次いで*KK2と*KKNI2が、それぞれ入力KE
K及び出力KEKとしてAXLTKEYに渡される。AXLTKEYは、*K
K1と*KKNI2を当該の各カウンタ値でオフセットさせ、
その結果得られるKEKを使ってKD1を内部で回復し、出力
のためにそれを再暗号化する。(APNOTRは*KK2に対し
て一度呼び出せばよいことに留意されたい。*KKNI2
は、後で認証が望ましいときに使用できるようにCKDS
(キー記憶機構)にセーブすることができる。ただし、
APNOTRをこのキー管理手法で動的に行なうか、それとも
各(*)KKごとに一度行なうかは実施者の責任であ
る。)この同じ例を使って、*KK2のもとでの認証が不
要な場合、KD1のオフセット化、回復及び再暗号化のた
めに、*KK1及び*KK2を直接AXLTKEYに渡すことができ
る。
すべてのANSI KEKの使用の際にオフセット化が常に暗
示されており、したがってオフセット機能がハードウェ
ア内に埋め込まれ、暗号機能内でARTMK、ARFMK及びAXLT
KEY命令によって暗黙に実施される。この方法は、オフ
セットのための別個の命令が不要となり、これらの機能
に対する認証キーの透過性を容易にする。APNOTRは、各
通信ノード対間で共用される別個の(*)KKがあり、ノ
ードIDは変更されないものと仮定すると、認証性能が改
善されるように設計されている。
部分認証キー形成アルゴリズムが、第27図と第28図に
示されている。このアルゴリズムは、単長及び倍長KEK
用の個々のアルゴリズム間で共通のステップを利用する
ように設計されている。入力KEK及び出力部分認証KEKが
128ビットとして処理される場合、唯一の相違は、*KKNI
を形成するために入力KEKと排他的論理和が取られる量N
SIとNSrの形成にある。入力KEKの実際のキー・サイズを
示すモード・パラメータが、NSI及びNSrの形成を制御す
る。MUXは、モードの制御下でNSIの右半分を形成するの
に使用するため2つの32ビット入力の一方を選択する。
同様に、MUXは、NSrの左半分を形成するのに使用するた
め2つの入力の一方を選択する。この選択処理を第28図
に示す。モード・パラメータとMUXの使用により、*KKNI
が形成される。*KKNIは入力*KKの実際のキー・サイズと
は無関係で、ANSI X9.17で(オフセット化の後に)定義
された認証キーと等価であり、他のCA ANSI KEKと記憶
上互換性がある。
APNOTRへの入力は常に128ビットKEKである。その出力
は常に128ビットである。APNOTRに複製された64ビットK
EKが渡される場合、モード・パラメータを1に設定しな
ければならない。APNOTRは出力線上に複製された64ビッ
ト部分認証KEKを戻す。C1L、C1R、C2L、C2Rのキー形式
フィールドは、渡されたモード・パラメータの値と整合
しなければならない。(下記の「CV検査」を参照のこ
と)部分認証キーはAPNOTRに再入力できない。キー管理
設計のこの態様は、制御ベクトルC1L、C1R、C2L、C2R及
*KKNIの左右の64ビットに対するハードウェア検査に
よって実施され、部分認証キーを作成するために一度呼
び出される。これは、128ビットKEKの各64ビット部分ご
とに呼出しを必要とする他のCA機能とは対照的である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2LまたはC2R無効 4.動作失敗(エラー) 制御ベクトル検査: 1.C1Lの検査 − CVタイプ=“KEK/ANSI" − APNOTR使用ビット=‘1' − キー形式(C1L)=キー形式(C2L) − 予約(48:63)=X‘0' 2.C1Rの検査 − CVタイプ=“KEK/ANSI" − APNOTR使用ビット=‘1' − キー形式(C1R)=キー形式(C2R) − 予約(48:64)=X‘0' 3.C2Lの検査 − CVタイプ=“KEK/ANSI" − APNOTR使用ビット=‘0' − 予約(48:63)=X‘0' 4.C2Rの検査 − CVタイプ=“KEK/ANSI" − APNOTR使用ビット=‘0' − 予約(48:63)=X‘0' マスタ・キーからのANSI再暗号化(ARFMK) 式:e*KM.C1L(KKL),e*KM.C1R(KKR),e*KM.C2
(K),cntr,key−type,C1L,C1R,C2,(C3) ====e*KKo(K),e*KM.C3(K)(key−type=0,d
ata key) または e*KKo(K)(key−type=1,KEK) 入力: e*KM.C1L(KKL) 制御ベクトルC1Lを用いてマスタ・キ
ーのもとで暗号化された、KKLと呼ばれる*KKの左64ビッ
ト。*KKは、128ビットのキー暗号化キーまたは部分認証
キーである。
e*KM.C1R(KKR) 制御ベクトルC1Rを用いてマスタ・キ
ーのもとで暗号化された、KKRと呼ばれる*KKの右64ビッ
ト。*KKは、128ビットのキー暗号化キーまたは部分認証
キーである。
注:CAでは、(ANSIキーを含めて)すべてのKEKが、128
ビット形式で左右の64ビット部分として記憶される。
(64ビットKEKは複製されて128ビットを形成する。この
場合、左部分と右部分は等しい。)*KKの左部分は、左
制御ベクトルを用いてマスタ・キーのもとで暗号化され
てCKDSに記憶される。同様に、*KKの右部分は、右制御
ベクトルを用いてマスタ・キーのもとで暗号化されてCK
DSに記憶される。制御ベクトル中のキー形式ビットは、
左右の部分間及び64ビットKEKと128ビットKEKの間で異
なる。
e*KM.C2(K) 搬出される64ビットANSIキーK;Kは制
御ベクトルC2を用いてマスタ・キーのもとで3重暗号化
される。このキーは、データ・キー、64ビット・キー暗
号化キー、あるいは128ビット・キー暗号化キーの左半
分または右半分でよい。
cntr キー暗号化キー*KKに関連する64ビッ
トの平文送信カウンタ値。この値は、通常所期の受信側
に搬出キーと一緒に送られる。受信側は、受信したカウ
ンタを使って、再生を検出し、*KK用のそのローカル受
信カウンタを同期させ、搬出キーを回復する。ローカル
・カウンタはCFAPによって保全性を保って維持される。
key−type 搬出されるキーのタイプを指定する。
注:データ・キーでは、ARFMKの暗号化出力は2つの形
をとる。出力の1つの形は、所期の受信側への搬出用で
ある。そのキーはオフセットされた形の指定されたキー
暗号化キーのもとで暗号化される。もう1つの形は、CS
M(暗号サービス・メッセージ)をMACするために直接使
用でき(単一KDが搬出される場合)、また後で他のこう
したキーと組み合わせてCSM MACキーを形成する(2つ
のKDが同時に搬出される場合)こともできる。ACOMBKD
命令を使って、これらの「部分的」MACキーを組み合わ
せてCSM MACキーにする。
0:KD 1:KK C1L,C1R それぞれキー暗号化キーまたは部分認
証キー*KKの左右の部分用の64ビット制御ベクトル。
C2 入力キーK用の64ビット制御ベクト
ル。
C3 KMのもとで記憶されるCSM MACキーま
たは部分CSM MACキー用の64ビット制御ベクトル。この
入力はkey−type=0のときだけ有効にある。
出力: e*KKo(K) キー暗号化キーまたは認証キー*KKoの
もとで3重暗号化された64ビット・キーK。*KKoはcntr
でオフセットされた*KKである。*KKが*KKNIと呼ばれる
部分認証キーの場合、*KKoは、*KNと呼ばれる認証キー
であり、Kは「認証された」と言われる。
e*KM.C3(K) 制御ベクトルC3を用いてマスタ・キー
KMのもとで3重暗号化された64ビット・データ・キー
K。この出力はkey−type=0のときだけ有効であり、C
SMをMACするために直接使用され、またACOMBKDを用いて
他のこうしたキーと組み合わされて、MAC CSMを形成す
る。
cntr キー暗号化キー*KKに関連する64ビッ
ト平文送信カウンタ値。この値は、通常所期の受信側に
搬出キーと一緒に送られる。受信側は、受信したカウン
タを使って、再生を検出し、*KK用のそのローカル受信
カウンタを同期させ、搬出キーを回復する。ローカル・
カウンタはCFAPによって保全性を保って維持される。
key−type 搬出されるキーのタイプを指定する。
注:データ・キーでは、ARFMKの暗号化出力は2つの形
をとる。出力の1つの形は、所期の受信側への搬出用で
ある。キーは、オフセットされた形の指定されたキー暗
号化キーのもとで暗号化される。もう1つの形式は、CS
MをMACするために直接使用でき(単一KDが搬出される場
合)、また後で他のこうしたキーと組み合わせてCSM MA
Cキーを形成する(2つのKDが同時に搬出される場合)
こともできる。ACOMBKD命令を使って、これらの「部分
的」MACキーを組み合わせてCSM MACキーにする。
0:KD 1:KK C1L,C1R それぞれキー暗号化キーまたは部分認
証キー*KKの左右の部分用の64ビット制御ベクトル。
C2 入力キーK用の64ビット制御ベクト
ル。
C3 KMのもとで記憶されるCSM MACキーま
たは部分CSM MACキー用の64ビット制御ベクトル。この
入力はkey−type=0の時だけ有効になる。
出力: e*KKo(K) キー暗号化キーまたは認証キー*KKoの
もとで3重暗号化された64ビット・キーK。*KKoはcntr
でオフセットされた*KKである。*KKが*KKNIと呼ばれる
部分認証キーの場合、*KKoは*KNと呼ばれる認証キーで
あり、Kは「認証された」と言われる。
e*KM.C3(K) 制御ベクトルC3を用いてマスタ・キー
KMのもとで3重暗号化された64ビット・データ・キーK
である。この出力はkey−type=0のときだけ有効であ
り、CSMをMACするのに直接使用され、あるいはACOMBKD
を用いて他のこうしたキーと組み合わされ,MAC CSMを形
成する。
説明:ARFMK命令は、マスタ・キーによる暗号化から12
8ビットまたは複製64ビット・キー暗号化キー*KK(搬出
キーと呼ばれる)による暗号化に64ビット・キーKを再
暗号化する。128ビット・キーKは、64ビットの各半分
ごとに1回、合計2回ARFMKを呼び出すことによって搬
出できるが、この場合*KKは真の128ビットKEKでなけれ
ばならない。この規則はハードウェアによって実施され
る(下記の「CV検査」を参照のこと)。
ARFMKは、ANSI X9.17に従って認証された形または認
証されない形でキーを搬出するのに使用される。ANSIキ
ーは、所期の受信側と共用されるキー暗号化キーを用い
てARFMKを呼び出すことにより、認証されない形で搬出
される。ARFMKは指定されたキー暗号化キーに対するオ
フセット化を内部で実行する。ANSIキーは、所期の受信
側と共用される部分認証形のキー暗号化キーを用いてAR
FMKを呼び出すことにより、認証された形で搬出され
る。ARFMKは、特殊な部分認証キーに対するオフセット
化を内部で実行して、認証キーを作成する。部分認証キ
ーはAPNOTR命令によってキー暗号化キーから形成され
る。
たとえば、ノードAとBが共用するキー暗号化キーを
*KKabとする。APNOTRを呼び出すことによって*KKabから
形成される部分認証キーを*KKIabとする。キーKは、キ
ー暗号化キーとして*KKabを用いてARFMKを呼び出すこと
により、AからBに認証されない形で搬出される。キー
Kは、キー暗号化キーとして*KKNIabを用いてARFMKを呼
び出すことにより、認証された形でAからBに搬出され
る。
ANSI X9.17では、1つまたは2つのKDが単一CSMで搬
出される。1つのKDが送られると、それは最終的にプラ
イバシ・キーまたはMACキーとして使用される。CSM自体
は送られたKDを用いて確認される。2つのKDが送られる
場合、第1のKDはMACキーであり、第2のKDはプライバ
シ・キーである。CSMは2つのKDの排他的論理和を用い
て確認される。
ARFMKは2つの形で搬出されたデータ・キーを出力す
ることにより、CSM確認を支援する。KDの第1の形は、
搬出用であり、すなわち、オフセットされた形の指定さ
れたキー暗号化キーのもとで暗号化される。KDの第2の
形はCSMをMACするために直接動的に使用でき(上記の単
一KDの場合のように)、またこの形の他のKDと組み合わ
されて(排他的論理和を取られ)CSMをMACとするための
キーを形成する。後者の使用は単一CSM中に2つのKDが
ある場合に対応する。パラメータC3は、第2の出力形が
MACキーかそれとも「部分的」MACキーかを制御する。AC
OMBKDは、2回のARFMK呼出しからの部分的MACキーを組
み合わせて単一のCSM MACキーにするのに使用される。
第29図はARFMK機能ブロック構成図を示す。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2無効 4.動作失敗(エラー) 制御ベクトル検査 1.C1Lの検査 − CVタイプ=“KEK/ANSI" − ARFMK使用ビット=‘1' − 予約(48:63)=X‘0' 2.C1Rの検査 − CVタイプ=“KEK/ANSI" − ARFMK使用ビット=‘1' − 予約(48:63)=X‘0' 3.C2の検査 − CVタイプ=“KEK/ANSI"または“データ/ANSI" − 搬出制御ビット1=0(RFMK許可) − CVタイプ=“データ/ANSI"の場合、以下の検査を行
なう。第22表は、検査しなければならないC2属性の有効
な組合せを示す。表の組合せ以外のどの組合せも暗号方
上無効なので、許してはならない。E、D、MC、MV、AC
MBは、データ・キー制御ベクトルの使用ビットである。
4.C2とC1L、C1Rの検査 第23表は、C2タイプ及びキー形式とC1LおよびC1Rキー
形式属性の有効な組合せを示す。左半分と右半分の分離
を実施し、真の128ビットKEKだけが128ビットKEKのもと
搬送されるようにするため、これらの属性が検査され
る。表中の組合せ以外の属性のどの組合せも暗号上無効
なので、許されない。
5.C3の検査: − CVタイプ=“データ/ANSI" − 予約(48:63)=X‘0' − 搬出制御ビット1=1(搬出なし) 第24表は検査しなければならないC3属性の有効な組合
せを示す。表の組合せ以外のどの組合せも暗号上無効な
ので、許されない。E、D、MG、MV、ACMBはデータ・キ
ー制御ベクトルの使用ビットである。
マスタ・キーへのANSI再暗号化(ARTMK) 式:e*KM.C1L(KKL),e*KM.C1R(KKR),e*KKo(K),
cntr,key−type,C1L,C1R,C2,(C3) ====e*KM.C2(K),e*KM.C3(K),(key−type
=0,data key) または e*KM.C2(K)(key−type=1,KEK) 入力: e*KM.C1L(KKL) 制御ベクトルC1Lを用いてマスタ・キ
ーのもとで暗号化された、KKLと呼ばれる*KKの左64ビッ
ト。*KKは、128ビットのキー暗号化キーまたは部分認証
キーである。
e*KM.C1R(KKR) 制御ベクトルC1Rを用いてマスタ・キ
ーのもとで暗号化された、KKRと呼ばれる*KKの右64ビッ
ト。*KKは128ビット・キー暗号化キーまたは部分認証キ
ーである。
注:CAでは、(ANSIキーを含めて)すべてのKEKが128ビ
ットの形で左右の64ビット部分として記憶される。(64
ビットKEKは複製されて128ビットを形成する。この場
合、左部分と右部分は等しい。)*KKの左部分は左制御
ベクトルを用いてマスタ・キーのもとで暗号化されてCK
DSに記憶される。同様に、*KKの右部分は右制御ベクト
ルを用いてマスタ・キーのもとで暗号化されてCKDSに記
憶される。制御ベクトルのキー形式ビットは、左右の部
分間及び64ビットKEKと128ビットKEKの間で異なる。
e*KKo(K) 搬入される64ビットANSIキーK。Kはキ
ー暗号化または認証キー*KKoのもとで3重暗号化され
る。*KKoはcntrでオフセットされた*KKである。*KKが*
KKNIと呼ばれる部分認証キーの場合、*KKoは、*KNと呼
ばれる認証キーであり、Kは「認証された」と言われ
る。*KKが複製された64ビット・キーである場合、すな
わち、*KK=KK//KKの場合、e*KKo(K)は、オフセット
された64ビット・キーのもとで1重暗号化されたANSIキ
ーKであるeKKo(K)と等価である。
cntr キー暗号化キー*KKに関連する64ビッ
ト平文送信カウンタ値。この値は、通常所期の受信側か
ら供給され、Kを暗号化する前に*KKをオフセットさせ
るのに使われるカウンタである。ARTMKを呼び出して受
信キーを搬入する前に、ANSI X9.17カウント管理に従っ
て、cntrを*KK用の対応するローカル受信カウンタと比
較する必要がある。この比較ステップとARTMK呼出しス
テップは、保全性を保つためCFAP内で自動的に実行すべ
きである。ローカル・カウンタはCFAPによって保全性を
保って維持される。
key−type 搬出されるキーの形式を指定する。
注:データ・キーでは、ARFMKの暗号化された出力は2
つの形をとる。出力の1つの形は、搬入キーの最終使用
用である。このキーはプライバシ・キーまたはMACキー
として使用できる。もう1つの形は、CSMをMAMするため
に直接使用でき(単一KDが搬入される場合)、また後で
こうしたキーと組み合わせてCSM MACキーを形成する
(2つのKDが同時に搬入される場合)ことができる。AC
OMBKD命令を使って、これらの「部分的」MACキーを組み
合わせてCSM MACキーにする。
0:KD 1:KK C1L,C1R それぞれキー暗号化キーまたは部分認
証キー*KKの左右部分の64ビット制御ベクトル。
C2 KMのもとで記憶されるキーK用の64ビ
ット制御ベクトル。この制御ベクトルは搬入キーKの所
期の最終的使用を指定する。
C3 KMのもとで記憶されるCSM MACキーま
たは部分CSM MACキー用の64ビット制御ベクトル。この
入力はkey−type=0のときだけ有効である。
出力: e*KM.C2(K) 制御ベクトルC2を用いてマスタ・キー
KMのもとで3重暗号化された64ビット受信キーK。
e*KM.C3(K) 制御ベクトルC3を用いてマスタ・キー
KMのもとで3重暗号化された64ビット受信データ・キー
K。この出力は、key−type=0の場合だけ有効であ
り、CSMをMACするために直接使用され、あるいはACOMBK
Dを用いて他のこうしたキーと組み合わされて、MAC CSM
を形成する。
説明:ARTMK命令は、128ビットまたは複製64ビット・
キー暗号化キー*KK(搬入キーと呼ばれる)による暗号
化からマスタ・キーによる暗号化に64ビット・キーKを
再暗号化する。128ビット・キーKは、各64ビットの各
半分ごとに1回、合計2回ARTMKを呼び出すことによっ
て搬入できる。
ARTMKは、ANSI X9.17に従って認証されたキーまたは
認証されないキーを搬入するのに使用される。ANSI非認
証キーは、キー送信側と共用されるキー暗号化キーを用
いてARTMKを呼び出すことによって搬入される。ARTMK
は、指定されたカウンタ値を使って指定されたキー暗号
化キーに対するオフセット化を内部で実行する。ANSI認
証キーは、キー送信側と共用される部分認証形のキー暗
号化キーを用いてARFMKを呼び出すこによって搬入され
る。ARTMKは、指定されたカウンタ値を使って指定され
た部分認証キーに対するオフセット化を実行して、認証
キーを内部で形成する。部分認証キーは、APNOTR命令に
よってキー暗号化キーから形成される。
ANSI X9.17では、1つまたは2つのKDが単一CSM中で
受信される。1つのKDが受信される場合、それはプライ
バシ・キーまたはMACキーとして最終的に使用できる。C
SM自体は受信されたKDで確認される。2つのKDが受信さ
れる場合、第1のKDはMACキーであり、第2のKDはプラ
イバシ・キーである。CSMは2つのKDの排他的論理和で
確認される。
ARTMKは、搬入されたデータ・キーを2つの動作形で
出力することにより、CSM確認を支援する。KDの第1の
形は、パラメータC2で指定されるその最終的使用、すな
わちプライバシまたはMACである。KDの第2の形は、
(上記の単一KDの場合と同様に)CSMをMACするために直
接使用でき、またこの形の他の搬入KDと組み合わせて
(排他的論理和を取って)、CSMをMACするためのキーを
作成することができる。後者の使用は、単一CSMに2つ
のKDがある場合に対応する。パラメータC3は、第2の出
力形がMACキーかそれとも「部分」MACキーかを制御す
る。ACOMBKDを使って、2回のARTMK命令呼出しで得られ
る部分MACキーを組み合わせて単一CSM MACキーが形成さ
れる。
第30図はARTMK機能の構成図である。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査: 1.C1Lの検査 − CVタイプ=“KEK/ANSI" − ARTMK使用ビット=‘1' − 予約(48:63)=X‘0' 2.C1Rの検査 − CVタイプ=“KEK/ANSI" − ARTMK使用ビット=‘1' − 予約(48:63)=X‘0' 3.C2の検査 − CVタイプ=“KEK/ANSI"または“DATA/ANSI" − ARTMK使用ビット=‘1' − CVタイプ=“DATA/ANSI"の場合、以下の検査を行な
う。
第25表は、検査しなければならないC2属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されない。E、D、MG、MV、ACMBはデータ・キ
ー制御ベクトルの使用ビットである。
4.C2とC1L、C1Rの検査 第26表は、C2タイプ及びキー形式とC1L及びC1Rキー形
式属性の有効な組合せを示す。左半分と右半分の分離を
実施し、真の128ビットKEKだけが128ビットKEKのもとで
搬入されるようにするため、これらの属性が検査され
る。この表の組合せ以外のこれらの属性の他のどの組合
せも暗号上無効なので許されない。
5.C3の検査 − CVタイプ=“DATA/ANSI" − 予約(48:63)=X‘0' − 搬出制御ビット1=1(搬出なし) 第27表は、検査しなければならないC3属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されない。E、D、MG、MV、ACMBはデータ・キ
ー制御ベクトルの使用ビットである。
キーのANSI変換(AXLTKEY) 式:e*KM.C1L(KK1L),e*KM.C1R(KK1R),e*KM.C2L
(KK2L),e*KM.C2R(KK2R),e*KK1o((*)K),
(e(*)Ko(KDmac)),cntr1,cntr2,key−type,C1L,C
1R,C2L,C2R,C3 ====e*KK2o(K),e*KM.C3(K)(key−type=0,
KD) または e*KK2o((*)K),e*KM.C3(KDmac)(key−type=1,
KEK) 入力: e*KM.C1L(KK1L) 制御ベクトルC1Lを用いてマスタ・
キーのもとで暗号化された、KK1Lで表される*KK1の左6
4ビット。*KK1は128ビットKEKまたは部分認証KEKであ
る。
e*KM.C1R(KK1R) 制御ベクトルC1Rを用いてマスタ・
キーのもとで暗号化された、KK1Rで表される*KK1の右6
4ビット。*KK1は128ビットKEKまたは部分認証KEKであ
る。
注:*KK1はカウンタcntr1でオフセットされて、入力キ
ー暗号化キー*KK1oを内部で形成する。変換すべきキー
が認証された形で入力される場合、*KK1は、APNOTR命
令によって作成された、*KKNI1で表される部分認証キ
ーでなければならない。この場合の*KK1oは認証キーで
ある。
e*KM.C2L(KK2L) 制御ベクトルC2Lを用いてマスタ・
キーのもとで暗号化された、KK2Lで表される*KK2の左6
4ビット。*KK2は128ビットKEKまたは部分認証KEKであ
る。
e*KM.C2R(KK2R) 制御ベクトルC2Rを用いてマスタ・
キーのもとで暗号化されたKK2Rで表される*KK2の右64
ビット。*KK2は128ビットKEKまたは部分認証KEKであ
る。
注:*KK2はカウンタcntr2でオフセットされて、出力キ
ー暗号化キー*KK2oを内部で形成する。変換すべきキー
が認証された形で入力される場合、*KK2は、APNOTR命
令によって作成された、*KKNI2で表される部分認証キ
ーでなければならない。この場合の*KK2oは認証キーで
ある。
e*KK1o((*)K) 変換される(*)Kで表される64ビ
ットまたは128ビットANSIキー(KDまたはKEK)。(*
Kは*KK1oのもとで3重暗号化される。*KK1oはcntr1で
オフセットされた*KK1である。(*)Kが128ビットの
場合、すなわち(*)K=K1//Krの場合、このパラメー
タはe*KK1o(K1)//e*KK1o(Kr)として入力される。そ
うではなく、(*)Kが64ビットの場合、このパラメー
タはe*KK1o(K)として入力される。
e(*Ko(KDmac) (K)Koのもとで暗号化されたすな
わちゼロでオフセットされた64ビットKのもとで1重暗
号化され、あるいはゼロでオフセットされた128ビット*
Kのもとで3重暗号化された、任意選択の64ビットMACキ
ーKDmac。この場合、(*)Ko=(*)K、したがってe
*)Ko(KDmac)=e(*)K(KDmac)である。KDmac
は、キー変換センタ(KTC)で暗号サービス・メッセー
ジ(CSM)を確認するために、ANSI X9.17で使用される
一時MACキーである。ADmacは、KTCでKEKを変換すること
を求めるCSM要求に常に付随する。KTCとの間でCSMを確
認するためにデータ・キー自体がMACキーとして使用さ
れるので、KDmacは、KDを変換することを求めるCSM要求
に付随しない。したがって、このパラメータは、キー・
タイプが1、すなわち(*)KがKEKの場合にだけ有効で
ある。
cntr1 キー暗号化キー*KK1に関連する64ビ
ット平文カウンタ値。この値は、通常キー送信側によっ
て供給され、(*)Kを暗号化する前に*KK1をオフセッ
トするのに使用されるカウンタを表す。受信されたキー
を変換するためにAXLTKEYを呼び出す前に、ANSI X9.17
カウンタ管理に従って、Cntr1を*KK用の対応するローカ
ル受信カウンタと比較すべきである。比較及びAXLTKEY
呼出しステップは、保全性を保持するためにCFAP内で原
子的に実行する必要がある。KEKカウンタはCFAPによっ
て保全性を保って維持される。
cntr2 キー暗号化キー*KK2に関連する64ビ
ット平文送信カウンタ値。この値は、通常所期の受領者
へ変換キーと一緒に送られる。受領者は、受信したカウ
ンタを使って再生を検出し、*KK2のそのローカル受信
カウンタを同期させ、変換されたキーを回復する。ロー
カル・カウンタはCFAPによって保全性を保持して維持さ
れる。
key−type 変換されるキーのタイプを指定する。
0:KD 1:(*)KK、すなわち64ビットまたは128ビットKEK C1L,C1R それぞれ入力キー暗号化キーまたは部
分認証キーの左右の部分の64ビット制御ベクトル。
C2L,C2R それぞれ出力キー暗号化キーまたは部
分認証キーの左右の部分の64ビット制御ベクトル。
C3 KMのもとで記憶される部分MACキーに
対するCSM MACキー用の64ビット制御ベクトル。1つのK
EKまたはちょうど1つのKDが変換される場合、C3はMACG
EN及びMACVER属性を指定しなければならない。2つのKD
が変換される場合、C3は「部分」MACキーを作成するた
めACOMBKD属性を指定しなければならない。2つのKDを
変換するのにAXLTKEYの呼出しが2回必要である。その
結果得られる2つの部分MACキーをACOMBKD命令を使って
組み合わせ、MACGEN及びMAVER属性を用いてCSM MACキー
を形成することができる。
出力: e*KK2o((*)K) 出力(*)Kは、*KK2oのもとで
3重暗号化された64ビットまたは128ビット・キー。
*KK2oは、カウンタcntr2でオフセットされたものであ
る。キー・タイプが0の場合、(*)Kは64ビット・デ
ータ・キー(すなわち、(*)K=K)であり、このパ
ラメータはe*KK2o(*)と呼ばれる。(*)Kは*KK1oか
*KK20に変換される。
e*KM.C3(K) 制御ベクトルC3を用いてマスタ・キー
のもとで3重暗号化された、変換されたデータ・キーK
に等しい64ビットMACキーまたは部分MACキー。この出力
は、KDが変換された場合、すなわち、キー・タイプが0
の場合に限り有効である。ANSI X9.17では、変換される
KDもKTC(key Transfer Center)との間で暗号サービス
・メッセージを確認するために使用される。1つのKDだ
けが変換される場合、MACキーはKD自体である。この場
合、e*KM.C3(K)は、KDすなわちCSMをMACするためにG
ENMACとVERMACが直接使用できる形のKになる。2つのK
Dが変換される場合、MACキーは2つのKDを排他的論理和
を取ることによって形成される。この場合、AXLTKEY
は、各KDを変換するのに、1回ずつ、合計2回呼び出さ
なければならない。その場合、各呼出しからのe*KM.C3
(K)は、部分MACキーである。2つの部分MACキーをAC
OMBKD命令と組み合わせて、CSMをMACするためにGENMAC
とVERMACが直接使用できるキーを形成する。
e*KM.C3(KDmac) 制御ベクトルC3を用いてマスタ・キ
ーのもとで3重暗号化された64ビットMACキーKDmac。こ
の出力はKEKが変換される場合、すなわち、キー・タイ
プが1の場合に限り有効である。ANSI A9.17では、KDma
cはKTCとの間でCSMを確認するために使用される。
説明:AXLTKEY命令は、(*)Kで表される、64ビット
または128ビット・キーを、オフセットされたキー暗号
化キー*KK1による暗号化からオフセットされたキー暗
号化キー*KK2による暗号化に変換する。オフセット化
以外に、AXLTKEYは、認証されたキー型式との間の変換
を支援する。(*)Kが認証された形で入力される場
合、*KK1は部分認証キーでなければならない。同様
に、(*)Kが認証された形で出力される場合、*KK2は
部分認証キーでなければならない。部分認証キーはAPNO
TR命令によってKEKから形成される。
AXLTKEYは2次出力:MACキーまたはMACキー構成要素も
作成する。これは、変換要求側とKTCの間で暗号サービ
ス・メッセージを確認するのに使用できる。MACキーの
形成はキー形式パラメータによって制御される。
キー・タイプが1の場合、すなわち、KEK変換の場
合、MACキーは、KEK自体(0でオフセットされる)のも
とで暗号化された任意選択のパラメータKDmacとして命
令に供給される。AXLTKEYは内部でKDmacを回復し、パラ
メータC3で指定された制御ベクトルを用いてKMのもとで
それを再暗号化して出力する。通常、C3はGENMAC及びVE
RMAC使用属性で指定される。ハードウェアは不搬出制御
(non−export control)を実施する。
キー・タイプが0の場合、すなわち、KD変換の場合、
MACキーは変換されるKDに基づく。AXLTKEYは内部でKDを
回復し、それをC3で制御された属性を用いてKMのもとで
再暗号化して出力する。ちょうど1つのKDが変換される
場合、MACキーはKD自体であり、C3は通常GENMAC及びVER
MAC使用で指定される。この場合、ハードウェアが搬出
制御を実施する。2つのKD、KD1とKD2が変換される場
合、AXLTKEYは2回呼び出さなければならず、MACキーは
KD1 XOR KD2であり、C3はACOMBKD属性で指定されなけれ
ばならない。その結果得られるMACキー構成要素、e*KM.
C3(KD1)とe*(KD.C3(KD2))がACOMBKD命令に渡され
る。ACOMBKD命令は、内部でそれらを回復して、必要なM
ACキーであるe*KM.Cx(KD1 XOR KD2)を作成する。
第31図及び第32図はAXLTKEY機能の構成図を示す。
AXLTKEY命令はANSI X9.17KTC環境で使用される。この
命令は、サービス要求(RFS,Request for Service)CSM
の処理、及び要求に対する、対応する応答(RTR,Respon
se To Request)CSMの生成を支援する。RFSは以下の変
換要求の1つを含むことができる。
− 1つのデータ・キーKD1を変換する。KD1を使ってCS
MをMACする。
− 2つのデータ・キーKD1、KD2を変換する。(KD1 XO
R KD2)を使ってCSMをMACする。
− 1つのKKまたは*KKを変換する。供給されたデータ
・キーKDMmacを使ってCSMをMACする。
1つのデータ・キーKD1を変換しなければならないと
き、AXLTKEY機能はキーを変換し、またe*KM.C3(KD1)
も出力する。出力されたキーは、RFS中のMACを検査し対
応するRTR用のMACを生成するために使用できる。
2つのデータ・キーKD1とKD2を変換しなければならな
いとき、AXLTKEY機能が2回呼び出される。この機能
は、e*KM.C3(KD1)とe*KM.C3(KD2)を2つの各セルで
中間出力として生成する。CFAPは次にACOMBKDを呼び出
して、2つの出力を組み合わせて1つのMACキーe*KM.CX
(KD1 XOR KD2)にする。そのキーは、RFSとRTR CSMをM
ACするのに使用できる。AXLTKEYによって生成された中
間出力は、搬出権限なしでローカルでしか使用できな
い。これは制御ベクトル検査によって実施される。
1つの(*)KKを変換しなければならないときは、AXL
TKEY機能はそのキーを変換し、やはりCSMをMACintする
のに使用できるe*KM.C3(KDmac)も出力する。KDmacはR
FS内で変換される(*)KKに付随する。それは、定数ゼ
ロでオフセットされた(*)KKのもとで暗号化される。e
*KM.C3(KDmac)はローカルでしか使用できないことに
留意されたい。搬出制御は命令中の制御ベクトル検査に
よって実施される。
CC: 1.動作成功 2.C1LまたはC1R無効 3.C2LまたはC2R無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査: 1.C1Lの検査 − CVタイプ=“KEK/ANSI" − AXLTKEY使用ビット=1 − 予約(48:63)=X‘0' 2.C1Rの検査 − CVタイプ=“KEK/ANSI" − AXLTKEY使用ビット=1 − 予約(48:63)=X‘0' 3.C2Lの検査 − CVタイプ=“KEK/ANSI" − AXLTKEY使用ビット=1 − 予約(48:63)=X‘0' 4.C24の検査 − CVタイプ=“KEK/ANSI" − AXLTKEY使用ビット=1 − 予約(48:63)=X‘0' 5.C1LとC2Lの検査 キー形式(C1L)=キー形式(C2L) 6.C1RとC2Rの検査 キー形式(C1R)=キー形式(C2L) 7.C3の検査 − キー・タイプ=“kataキー” − 搬出制御ビット1=1(搬出なし) 第28表は、検査しなければならないC3属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されてはならない。E、D、MG、MV、ACMBはデ
ータ・キー制御ベクトル用の使用ビットである。
KDのANSI組合せKDS(ACOMBKD) 式: e*KM.C1(KD1),e*KM.C2(KD2),C1,C2,C3−−−e*K
M.C3(KD) 入力: e*KM.C1(KD1) 制御ベクトルC1を用いてマスタ・キー
KMのもとで3重暗号化された64ビットANSIデータ・キ
ー。
e*KM.C2(KD2) 制御ベクトルC2を用いてマスタ・キー
KMのもとで3重暗号化された64ビットANSIデータ・キ
ー。
C1 データ・キーKD1用の64ビット制御ベ
クトル。
C2 データ・キーKD2用の64ビット制御ベ
クトル。
C3 出力MACキー、KD用の64ビット制御ベ
クトル。
出力: e*KM.C3(KD) 制御ベクトルC3を用いてマスタ・キー
のもとで3重暗号化された64ビットANSIデータ・キー。
このキーは、GMAC及びVMAC命令を使ってANSI X9.17暗号
サービス・メッセージを確認するために使用できる。
説明:ANSI X9.17では、キーは、暗号サービス・メッ
セージ(CSM)のシーケンスを介してパリティーを通信
することによって交換される。すべての交換は1つまた
は2つのデータ・キーを含む。ある種のCSMの保全性
は、CSMを、1つのKDが交換される場合は、データ自体
と、また2つのKDが交換される場合は2つのデータ・キ
ーの排他的論理和とMACすることによって保護される。A
COMBKD命令は、後者の場合、すなわち、2つのデータ・
キーからのCSMMACキーの計算を処理する。
ACOMBKDは2つの「部分」MACキー、すなわち、ACOMBK
D中でのその使用を可能にする制御ベクトルを用いてマ
スタ・キーのもとで暗号化されたデータ・キーを受け入
れる。部分MACキーは、ANSIデータ・キーをそれぞれART
MKまたはARFMKで搬入または搬出する任意選択の副産物
として作成される。
ACOMBKDは、内部でデータ・キーKD1とKD2を回復し、
(KD1 XOR KD2)を、GMAC及びVMACと共に操作で使用で
きる制御ベクトルを用いてマスタ・キーのもとで暗号化
して出力する。これらの命令は、ANSI X9.17 CSMプロト
コルによって必要とされる入力及び出力CSMを確認する
のに使用できる。
注:ACOMBKDは、入力KDが等しくなく、等価でもなく、
(KD1 XOR KD2)がゼロに等しくないことを検査しなけ
ればならない。これは、既知の値(ゼロ)を用いたMAC
キーの作成を防止するためである。
第33図は、ACOMBKD命令の構成図を示す。
CC: 1.動作成功 2.C1無効 3.C2無効 4.C3無効 5.動作失敗(エラー) 制御ベクトル検査: 1.C1の検査: CVタイプ=“データ/ANSI" ACMB使用ビット=1 予約(48:63)=X‘0' 第29表は、検査しなければならないC1属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されてはならない。E、D、G、MV、ACMBはデ
ータ・キー制御ベクトル用の使用ビットである。
2.C2の検査 キー・タイプ=“データ/ANSI" ACMB使用ビット=1 予約(48:63)=X‘0' 第30表は、検査しなければならないC2属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されてはならない。E、D、MG、MV、ACMBはデ
ータ・キー制御ベクトル用の使用ビットである。
3.C3の検査 CVタイプ=“データ/ANSI" 搬出制御ビット1=1(搬出なし) 予約(48:63)=X‘0' 第31表は、検査しなければならないC3属性の有効な組
合せを示す。表の組合せ以外のどの組合せも暗号上無効
なので許されてはならない。E、D、MG、MV、ACMBは、
データ制御ベクトル用の使用ビットである。
ICV/OCVの管理 初期連鎖値(ICV)とは、DEAの暗号ブロック連鎖(CB
C)暗号化モード及びメッセージ確認コード(MAC)を計
算する一部のアルゴリズムと共に使用される、64ビット
の乱数、疑似乱数、または、場合によっては、非反復値
である。
ICV管理には、平文及び暗号化されたICVの電子伝送及
びローカル記憶のためのオプションが含まれる。しか
し、暗号化されたICVは、いずれかの暗号機構への入力
パラメータとして使用する前に、まず非暗号化(復号
化)しなければならない。
出力連鎖値(OCV)とは、GENMAC及びVERMAC暗号命令
によって、ある種の条件のもとで戻される64ビット値で
ある。同じ暗号命令が再び呼び出され、OCVがICVとして
渡される。OCVは常にeKM.CV(OCV)の形で暗号化され
る。ただし、CVは中間ICV用の制御ベクトルである。VER
MAC命令にとって、暗号化さるたOCVが安全保護のために
不可欠である。平文OCVは、この場合は、MACを露出させ
るために使用できる。これは、VERMAC命令ではできない
と思われる。暗号化OCVもGENMAC命令に対して定義され
る。これは、GENMAC及びVERMAC命令をできるだけ同じに
して、ハードウェア面で可能な機能上のオーバーラップ
を許すためである。
暗号機構外部でのICV管理 この通信アーキテクチャでは、ICVの次の3つの電子
伝送モードが可能である。
1.平文ICV:平文で送られる。
2.暗号化ICV:送信側と受信側の間で共用されるデータ・
キー(KD)を用いて暗号化される。
3.私用プロトコルICV:送信側と受信側の間の私用プロト
コルによって確立されるICV。CAのもとで、CFAPは平文
及び暗号化されたICVの両方を処理しなければならな
い。しかし、アプリケーションはそれ自体の暗号化ICV
を管理することを選ぶことができ、平文ICVをCFAPに渡
して、伝送のためICVを暗号化し、他のノードから受信
したすべての暗号化ICVを非暗号化(復号化)する。任
意選択として、暗号視援プログラムも私用プロトコルを
使ってICVを確立することができる。
暗号機構内部でのICV管理 制御ベクトルは、ICVの電子的配布には使用されず、
またICVの配布を制御するために暗号機構(ハードウェ
ア)が使用できるビットも制御ベクトル中にない。ICV
配布モードの暗号機構による検査や実施はない。すなわ
ち、ICV管理は、厳密に暗号支援プログラム(すなわ
ち、暗号機構の外部のソフトウェア)の役割である。
暗号機構に暗号機構入力パラメータとして渡されるす
べてのICVは、平文ICVでなければならない。GENMAC及び
VERMAC命令で必要とされるICV=0は、平文ICVのサブケ
ースである。影響を受ける暗号命令には次のものがあ
る。
1.暗号化 2.非暗号化(復号化) 3.MAC生成 4.MAC検査 5.暗号テキスト変換 キーの管理 暗号アーキテクチャのキー管理は、暗号機構の命令セ
ット及び他の機能(たとえば、キー・ロード機能、レジ
ストなど)の効果的な利用を通じてキーを管理するため
の1組の技術、規則、及び手順である。
特定の暗号機構を使って上記の方法でキー管理を実行
することが、この暗号アーキテクチャの意図である。こ
うすると、共通暗号アーキテクチャを実施するシステム
が、1つの共通の方法で互いに通信できるようになる。
CAキー管理のいくつかの特徴を以下に示す。
キー管理は、制御ベクトルの概念に基づいている。こ
れは、いくつかの利点の1つとして、キーの使用を強力
に実施して、キーが所期の通り分離され使用されるよう
保証する。
システムの内部では、キー管理は、暗号機構によって
実施される2段階層概念である。マスタ・キーだけが、
安全保護された暗号機構内に平文で記憶される。他のキ
ーは、各キーに関連する制御ベクトルとマスタ・キーの
排他的論理和のもとで暗号化され、暗号機構の外部に記
憶できる。暗号機構の外部では平文キーは許されない。
キー管理はまた、CFAP(暗号機構アクセス・プログラ
ム)によって実施される通信態様では3段階層である。
マスタ・キーを使って、キー暗号化キーが暗号化され
る。キー暗号化キーはノード間で共用され、それを使っ
てノード間で交換される他のキーが暗号化される。
キー管理は、システム及びネットワーク上でキーを初
期設定するための手順をもたらす。
キー管理は、キーの生成、配布、交換及び記憶を行な
うための手順をもたらす。
キー管理は、ノード間でのキー及び制御ベクトルの伝
送のための通信プロトコルをもたらす。
CAキー管理の設計思想 制御ベクトル・システム 制御ベクトル・システムは、CAを実施する暗号システ
ムである。
キーと暗号変数の記憶 すべてのキーはeKM.C(K)の形で記憶される。すな
わち、マスタ・キーと制御ベクトルの排他的論理和を取
ることによって形成されるキーのもとで暗号化される。
中間MAC ICV及びトークンも同様に暗号化される。
キーと暗号変数のタイプ 制御ベクトル中のCVタイプ/サブタイプ・フィールド
は、暗号化されたキーまたは暗号変数を指定する。13の
CVタイプ/サブタイプがCAに対して定義される。
CVタイプ/サブタイプ データ/プライバシ データ/MAC データ/変換 データ/互換性 データ/ANSI KeK/送信側 KeK/受信側 KeK/ANSI PIN/暗号化 PIN/生成 ICV/中間MAC キー部分/ トークン/ CVタイプ/サブタイプは、3つの範疇に分けられる。
1.CA:他のCAシステムとだけ共用されるキーを定義す
る。
2.互換性:他のCA及び非CAシステムと共用されるキーを
定義する。
3.ANSI:ANSI X9.17キー配布を介して送受信されるキー
を定義する。
キー階層 1.マスタ・キー:暗号機構の外部にローカルに記憶され
るすべてのキーを暗号化する。
2.キー暗号化キー:暗号機構間で通信される(マスタ・
キー以外の)すべてのキーを暗号化する。
3.データ・キー:データ及びICVを暗号化する。
4.PIN暗号化キー:PINブロックを暗号化する。
キー配布プロトコル: CAは3つのキー配布プロトコルを支援する。
1.制御ベクトル・モード(CVと指定) リンク上で通信されるすべてのキーがeKEK.C(K)の
形である。
2.互換性モード(CV=0と指定) リンク上で通信されるすべてのキーがeKEK(K)の形
である。
3.ANSI X9.17(ANSIと指定) リンク上で通信されるすべてのキーがANSI標準X9.17
に合致する。
キー配布規則 キー及び暗号変数は、キー配布プロトコルにキー範疇
を関連付ける次のような1組の規則に応じて配布(搬出
/搬入)される。
1.CAキーと暗号変数は、制御ベクトル・モードを使って
搬出または搬入しなければならない。
2.互換性キーは、(リンク上の制御ベクトルを用いる)
制御ベクトル・モードまたは(リンク上のCV=0を用い
る)互換性モードを使って搬入または搬出できる。
3.ANSIキーは、ANSI X9.17モードを使って搬出または搬
入されなければならない。
これらの規則を次の表に要約する。
キー状態(非ANSI) CAは次の3つのキー状態を定義する。
1.動作:キーはKMのもとで、すなわちローカル使用に適
した形で暗号化される。
2.搬出:キーは、KEK/送信側のもとで、すなわち他の装
置への搬出に適した形で暗号化される。
3.搬入:キーは、KEK/受信側のもとで、すなわち他の装
置への搬入に適した形で暗号化される。
キーの生成 1.制御ベクトル・システムによって生成されるすべての
キーは、それに関連した制御ベクトルをもつ。
2.キーは、生成されたキーを暗号化するのに使用される
キーのCVタイプ/サブタイプに応じて、a)動作状態、
b)搬出状態、c)搬入状態で生成される。
3.キーは、GKS及びKGEN命令を使って生成される。
GKSは、2つの制御ベクトルを用いて2つの形でキー
を生成する。CVタイプ/サブタイプは、共にCA範疇でな
ければならない。(キー管理では、キーがCA及び互換性
の範疇のキーになることは許されない。) KGENは、CAまたは互換性のどちらかの範疇の制御ベク
トルを用いて1つの形でキーを生成する。
キー状態の変換(非ANSI) 以下の(示された命令を使った)キー状態の変換がCA
によって支援される。
キー管理を実行する命令列 第32表、第33表、第34表及び第35表の表は、キー管理
のために使用されるCA機能を指定する。詳細な説明は以
下の項に示す。
キー状態及び命令 第34図は、動作、搬出及び搬入キーの関係、及びこれ
らのキーが暗号機構の様々な命令によってどのように作
成または変換されるかを示す。
動作キーは、キー記憶機構に保持され、暗号命令に対
する入力パラメータとして使用できる。これはeKM.C
(K)の形をとる。KMは暗号機構に保持されたマスタ・
キーであり、CはキーKに関連するCVである。搬出キー
は、他のシステムにキーを送るために使用されるチャネ
ルを定義する動作キーである。搬入キーは、他のシステ
ムまたはそれ自体からキーを受け取るために使用される
チャネルを定義する動作キーである。搬出キーは、eKE
K.C(K)の形のキーである。ただし、KEKはKEK/送信側
であり、CはキーKに関連するCVである。搬入キーは、
eKEK.C(K)の形のキーである。ただし、KEKはKEK/受
信側であり、CはキーKに関連するCVである。
RFMKは動作キーを搬出キーに変換する。RTMKは搬入キ
ーを動作キーに変換する。KGENは動作キーの1つの形を
生成する。XLATEKEYは搬入キーを搬出キーに変換する。
GKSは、一般に、2つの形でキーを生成する。1つの形
は、他の形と異なる使用属性をもつことがある。GKS OP
−OPは、動作形と搬出形の2つの形でキーを生成する。
GKS OP−IMは、動作形と搬入形の2つの形でキーを生成
する。GKS IM−EXは、搬入形と搬出形の2つの形でキー
を生成する。GKS EX−EXは、搬出形と搬出形の2つの形
でキーを生成する。
キー・タイプの概要 CA命令は、以下に示すキー・タイプに対して作用す
る。
1.キー暗号化キー これは他のキーを暗号化するために使用されるキーで
ある。マスタ・キー、定義域間キー及び端末マスタ・キ
ーがキー暗号化キーである。マスタ・キーを除いて、す
べてのキー暗号化キーは以下のサブタイプに分類でき
る。
− キー暗号化キー/送信側(KEK/送信側):他のノー
ドにキーを送るのに使用されるキー。
− キー暗号化キー/受信側(KEK/受信側):他のノー
ドから送られたキーを受け取るのに使用されるキー。
− ANSIキー暗号化キー(ANSI KEK):ANSI X9.17キー
管理環境で使用されるキー。ANSI KEKは正規のCA KEK
(すなわち、KEK/送信側及びKEK/受信側)の一方向特性
をもたない。
マスタ・キー マスタ・キーは、システム内の他のすべてのキーを保
護するために使用されるキーである。マスタ・キーだけ
は安全保護された暗号機構内で平文で記憶する必要があ
る。他のキーは、各キーに関連する制御ベクトルがマス
タ・キーと排他的論理和を取った形で保護される。それ
らは暗号化されているので、暗号機構の外部の記憶域に
記憶することができる。
CAでは、マスタ・キーが倍長キーであることが必要で
ある。すなわち、マスタ・キーは、128ビット長でなけ
ればならない。そのうちの112ビットは実際の値を表
し、16ビットはパリティ・ビットである。
定義域間キー キー管理には、通信しようとする各CVタイプ(制御ベ
クトル・タイプ)ノードと共用される固有の倍長キー・
パリティ(それぞれ128ビット)が必要である。
このことは、非CVタイプのシステム・ノードにも当て
はまる。ただし、単長キーのみを利用するシステムで
は、倍長キー対が、左半分と右半分が等しくなるように
記憶される。定義域間キーは、定義域間キーを共用する
ノード間で交換されたキーを暗号化(または発送)し検
索するのに使用される。
端末マスタ・キー キー管理には、通信しようとする各端末と共用される
固有の端末マスタ・キーが必要である。キーを端末に送
るだけでよくキーを受け取る必要のない端末では、端末
は、通常単長端末マスタ・キー(64ビット)だけを記憶
する。こうした場合、倍長キーは、左半分と右半分が等
しくなるようにキー記憶機構に記憶される。
端末が倍長キーを記憶する場合は、このキーはそのま
まキー記憶機構に記憶される。
2.データ・キー データ・キーは、データを暗号化するのに使用され
る。確認キー、ファイル・キー及びセッション・キーが
この範疇に含まれる。
3.PINキー PINキーは次の2つのサブタイプに分類される。
PIN暗号化キー:PINを暗号化するのに使用されるキー
である。
PIN生成キー:PINを生成するためにPIN生成アルゴリズ
ム中で使用されるキーである。
4.キー部分 キー部分は、キーの一部分または構成要素であり、キ
ーと同じ長さをもつ。たとえば、キーKは、Ka XOR Kb
=Kとなる2つのキー部分KaとKbをもつ。
5.中間ICV 中間ICVは、データまたはメッセージのセグメントの
中間出力連鎖ベクトルを暗号化するために使用される。
このOCVはデータの次のセグメントに送られて、ICVとし
て使用される。これが行なわれるのは、それに対してMA
Cが生成/検査されるメッセージまたはデータが長く、
より短いセグメントに分割しなければならないときであ
る。
6.トークン トークンはデータ・キー・データ・セット(データ・
キー用のキー記憶機構)に記憶されたデータ・キーの保
全性を保護するために使用される変数である。これら
は、無許可ユーザによるデータ・キーへのアクセスを禁
止するのに役立つ。
キーの初期設定 以下に、キー初期設定のための機構に関して考察す
る。
システムが最初にセット・アップされるとき、マスタ
・キーが最初に導入される。次に、定義域間キーや移送
キーなどある種のキー暗号化キーが、手動で導入され
る。定義域間キーが利用可能になると、システムは、他
のシステムとキー及び暗号化されたデータを交換するこ
とができる。
マスタ・キー及び他のキー暗号化キーは適切なアクセ
ス制御下で手動で導入される。
キーを暗号機構に入力するためのキー入力装置は、
(キー入力装置の一部ではない場合)パネル表示装置と
同様に暗号機構に対する安全なインターフェースをもた
なければならない。これについては、「物理機能及びイ
ンターフェース」のところで考察する。
マスタ・キーまたは他のいずれかのキー暗号化キーが
手動で導入されるとき、個人がキーについて完全に知る
ことを妨げることを目指した2重キー入力が極めて望ま
しい。2重キー入力手順では、キーが2つの部分に分け
て入力される。各キー部分は長さがキーと等しく、別々
の人によって入力される。実際のキーは2つのキー部分
の排他的論理和である。
CAは複数キー入力も支援する(すなわち、キーKが3
つ以上のキー部分をもつとき。たとえば、キーが、K=
KP1 XOR KP2...XOR Kpnとなるn個のキー部分KP1,KP
2,...をもつことができる)。
2重キー入力がシステムに必要なときは、キー・ロー
ド機能及び暗号機構の他の機能を、2重キー入力を容易
に支援できるように設計すべきである。たとえば、各キ
ー部分の入力を個別に可能にする2つの物理キー・ロッ
ク(または2つの位置用の2つの個別キーをもつ1つの
キー・ロック)を設けるべきである。物理キーがないシ
ステムでは、各キー部分ごとに1つのパスワードを入力
する方式が利用できる。キーまたはキーの任意の部分が
入力されるとき、それを入力する人だけがそれを視覚的
に確認すべきである。その人は、その表示が自分がタイ
プしたものと一致していると確かめた後、(たとえば、
キー・レジスタをもつキー入力装置とインターフェース
を取るボタンを用いて)キーまたはキー部分の暗号機構
内のレジスタへのロードを活動化する。入力すべきすべ
てのキーまたはキー部分は、16ビットの奇数パリティを
含む倍長でなければならない。パリティはエラー検査の
ために含まれている。
マスタ・キーの手動入力 CAでは、マスタ・キーの手動導入の方法は具体的に規
定されていない。本節に概要を示す方法は、指針として
示したものである。入力されたマスタ・キー・ベッドを
新マスタ・キー・レジスタに一時的に記憶させ、マスタ
・キー設定命令が発行されるまで活動状態にならないよ
うにすることを推奨する。
この方法を用いると、入力されたマスタ・キーを検査
し、必要なら再入力することが可能になる。入力された
マスタ・キーは、入力されたキーが正しいとの判定が下
されて、現マスタ・キーから新マスタ・キーへの他のキ
ーの再暗号化などすべての処理要件が行なわれた後ま
で、活動化する必要はない。
マスタ・キーの手動入力の一環として、32ないし64ビ
ットの秘密でない検査パターン(入力マスタ・キーの関
数)を物理インターフェースまたはプログラミング・イ
ンターフェースあるいはその両方で戻すべきである。別
法として、キー導入ユーティリティが命令を呼び出すの
に応答して、検査パターンを生成することもできる。こ
の検査パターンは、入力されたキーをユーザが検査する
ためにパネルまたは操作卓上に表示するのが安全でない
環境で有益である。どの検査技術を使用するかは、本発
明の範囲に含まれない。
(マスタ・キーまたはキー暗号化キーの)手動キー入
力は、物理的に安全なインターフェースを介してCFに接
続されたキーパッドで実施できる。物理キー・スイッチ
またはパスワードあるいはその両方を使って、キーパッ
ドからのキーのロードを可能にしたり不可能にしたりす
ることができる。
マスタ・キーの活動化 入力されたマスタ・キーは、マスタ・キー設定命令を
発行することによって活動化される。これは、新マスタ
・キー・レジスタの内容をマスタ・キー・レジスタ(す
なわち、現マスタ・キー・レジスタ)に転送させる。
任意選択として、CAは、旧マスタ・キー・レジスタを
備えることができる。その場合、マスタ・キー設定命令
は、まずマスタ・キー・レジスタの内容を旧マスタ・キ
ー・レジスタに記憶させ、新マスタ・キー・レジスタの
内容をマスタ・キー・レジスタに記憶させる。
各マスタ・キー・レジスタ(新、現及び任意選択とし
て旧マスタ・キー・レジスタ)は関連するフラグをも
つ。そのフラグは、キーがレジスタに現在記憶されてい
るときセット(=1)され、キーが非活動化されるか、
または暗号機構が電源遮断状態の後で電源投入されると
きはリセット(=0)される。
プログラム・インターフェースを介するキーの導入 キーはプログラム・インターフェースを介して導入す
ることもできる。しかし、この方法では、物理キーまた
はアクセス・パスワードをもつ安全保護担当者による手
動介入が必要になる。この方法では、ユーザは、物理キ
ー(またはパスワード)を使って暗号機構の動作状態を
超安全モードと呼ばれる状態に変更し、次に、平文キー
及び関連する制御ベクトルを、このモードでのみ動作す
るEMK命令に送る。EMK機能は制御ベクトルと排他的論理
和を取られたマスタ・キーのもとで平文キーを暗号化す
る。暗号化キーと制御ベクトルはシステム上で使用する
ため記憶される。
奇数キー・パリティの設定、検査及び実施のための規則
案 すべての短キーは64ビットからなり、規約に従って0
ないし63の番号を付けられる。ただし、ビット0が最上
位ビットである。パリティ・ビットは、ビット7、15、
23、31、39、47、55及び63である。ただし、ビット7は
キー・ビット0ないし6のパリティ・ビット、ビット15
はキー・ビット8ないし14のパリティ・ビットであり、
以下同様である。
奇数キー・パリティの設定 システムに搬入されたすべての非データ・キーは、キ
ーに対して奇数パリティで調整される必要がある。こう
したキーには、マスタ・キーとすべてのキー暗号化キ
ー、暗号化されてキー記憶機構に記憶されるPIN暗号化
キー及びPIN生成キーが含まれる。
すべての生成キーは奇数パリティで調整されている。
ただし、キーが乱数として生成され、他のキーのもとで
すでに暗号化された望ましいキーとして定義されている
場合を除く。
キー・パリティの検査 暗号機構はキーを使用する前に、奇数キー・パリティ
かどうかキーを検査する必要がある。キーが奇数パリテ
ィをもつかどうかを示す条件コードが設定されている必
要がある。CFAPは、奇数キー・パリティの欠乏がエラー
かどうか、及びキーを使用する要求された機能の出力が
信用できるか否かの判定を下す。
奇数キー・パリティのハードウェアによる実施 ハードウェアは、マスタ・キーに対する奇数パリティ
を実施する必要がある。パリティ・エラーが検出された
場合、要求された暗号命令は打ち切られなければならな
い。ハードウェアは(たとえば、マスタ・キーのバック
アップ・コピーを使って)回復を試み、回復不能なマス
タ・キー・パリティ・エラーが発生したことを示す条件
コードを設定しなければならない。
特定のある種のケースでは、キー暗号化キーまたは他
の非データ・キーのパリティ・エラーによって、要求さ
れた暗号機構が打ち切られることがある。
キーの生成 キーはランダムに生成される必要がある。すなわち、
キーの電子的生成のために、ハードウェアの乱数生成機
能または受入れ可能なアルゴリズムのソフトウェアによ
る実施が必要である。キーは、コインを投げるなど手動
でランダムに生成することもできる。生成キーはパリテ
ィ調整されたものでも、非パリティのものでもよい。パ
リティが望ましい場合、キーは奇数パリティをもたなけ
ればならない。
キーの手動生成 CAでは、マスタ・キーとキー暗号化キーを手動で導入
し生成することが推奨される。キーの手動生成のよい方
法は、コインまたはサイコロを投げる方法である。サイ
コロ投げを行なう1つの方法は以下の通りである。
関係するキー運搬者または安全保護担当者が、8つの
偏りのない16面サイコロを選び、サイコロの各面に16進
数の0ないし15の値を割り当てる。たとえば、面1に0
の値を割り当て、面16にFの値を割り当て、以下同様に
する。以後のステップは次のように実行する。
1.(固く水平な表面上で)サイコロを投げて、8つの16
進数でその結果を記録する。
2.16進値による結果をそれぞれ8つの2進数ビットから
なる8バイトに書き直す。
3.各バイトの最初の7ビットの奇数パリティを計算す
る。8バイトに対して合計8つのパリティ・ビットが形
成される。
4.各バイトの8番目のビット(最後のビット)を前記の
ステップで計算した対応する各パリティ・ビットで置き
換える。2進値を8つの16進数に書き直す。その結果
が、手動で生成された16進数によるキーである。
キーの電子的生成 キーは、「命令セット」の節で定義したキー生成及び
キー・セット生成命令によって生成することができる。
キー生成命令によるキー生成 キー生成命令は、システム上直接使用するためのキー
を生成する。
− キー生成命令を使って平文キーが生成できる。この
モードはキー運搬者が関係する場合に使用される。
− キー生成命令を使って、特定の制御ベクトルと排他
的論理和を取られたマスタ・キーのもとで暗号化された
キーが生成できる。この制御ベクトルは、CFAPによって
この命令に供給され、この命令によって有効な組合せか
どうか検査される。
キー・セット生成命令によるキー生成 キー・セット生成命令は暗号化された形でキーを生成
して出力する。この命令は常に対を(すなわち、以下の
ようにしてキーの2つのコピーを)生成する。
− モード0:OP−OP(動作−動作)モード このモードは、システム上でローカルで使用するため
のデータ・キーだけを生成する。データ・キーの2つの
コピーが生成される。キーの各コピーは異なる属性をも
つ関連する制御ベクトルを有する。たとえば、キーの1
つのコピーはMG(GENMAC)属性をもち、もう1つのコピ
ーはMV(VMAC)属性をもつ。各コピーは対応する制御ベ
クトルと排他的論理和を取られたマスタ・キーのもとで
暗号化される。
− モード1:OP−EX(動作−搬出)モード このモードは、ローカルで使用され(かつ記憶され)
るキーのコピー1つと、別の制御ベクトル・ノードにす
ぐ搬出できる形のキーのコピーを1つ生成する。最初の
コピーは、本明細書ではローカル(または動作)コピー
と呼ぶが、(関連制御ベクトルと排他的論理和を取られ
た)マスタ・キーのもとで暗号化され、搬出制御フィー
ルドでの指定により搬出が許されるかどうかに応じて、
後で(RFMKによって)他のノードに搬出することができ
る。(生成時に、キーの所有者は、生成キーが搬出する
かどうかを知っているものと仮定する。)もう一方のコ
ピーは、本明細書では搬出コピーと呼ぶが、(そのコピ
ーの制御ベクトルと排他的論理和を取られた)生成ノー
ドのKEK/送信側のもとで暗号化される。
− モード2:EX−EX(搬出−搬出)モード このモードで生成されたキーは、システム上でローカ
ルで使用できない。このモードは、2つの制御ベクトル
・ノードにすぐ搬出できる形のキーのコピーを2つ生成
する。生成されるキーの各コピーは、搬出コピーと呼ぶ
が、(対応する制御ベクトルと排他的論理和を取られ
た)異なるKEK/送信側のもとで暗号化される。キーの1
つのコピーに関連する制御ベクトルは、もう1つのコピ
ーの制御ベクトルとは異なる使用属性をもつ。
このモードは、キー配布センタとして働くノードによ
ってキーを配布するのに有用である。
− モード3:OP−IM(動作−搬入)モード このモードは、ローカルで使用されるキーのコピー1
つと生成ノードにすぐ搬入できる形のキーのコピー1つ
を生成する。最初のコピー(動作コピーまたはローカル
・コピーと呼ぶ)は、(関連する制御ベクトルと排他的
論理和を取られた)マスタ・キーのもとで暗号化され、
搬出制御フィールドでの指定により搬出が許されるかど
うかに応じて、後で(RFMKによって)他のノードに搬出
することができる。もう一方のコピー(搬入コピーと呼
ぶ)は、(そのコピーの制御ベクトルと排他的論理和を
取られた)KEK/受信側のもとで暗号化される。
このモードは、ファイル・アプリケーションに有用で
ある。たとえば、機密データを保存する際、暗号化され
たデータと(暗号化された)データ・キーがテープに記
憶される。しかし、データ・キーをどのキーのもとで暗
号化してテープに記憶しなければならないか。マスタ・
キーのもとで暗号化されたデータ・キーを記憶するの
は、マスタ・キーは後で変更されることがあるので望ま
しくない。KEKは寿命がより長いので、(この場合のフ
ァイル・マスタ・キーである)KEK/送信側のもとでデー
タ・キーを暗号化する方がより実用的である。あるアプ
リケーションでは、キー・セット生成命令、モードOP−
IMが、1対のデータ・キーを生成する。動作コピーは、
CVタイプ=プライバシ及び暗号化使用属性をもつ。搬入
コピーはCVタイプ=データ/変換及びXDin=1属性をも
つ。データは次に(暗号化命令を使って)ローカル・コ
ピーによって暗号化される。次いで暗号化されたデータ
と搬入コピーが保存される。後で、データを検索し新し
いキーのもとでデータを再暗号化するのが望ましいとき
に、搬入コピーはテープから引き出されて(RTMK命令を
使って)回復される。搬入コピーはXDin=1属性をもつ
ので、それを暗号テキスト変換命令中で使ってデータを
新しいキーによる暗号化に変換することができる。識別
された他のアプリケーションは、動作コピーを必要とす
るものであり、搬入コピーは第20表で指定するような使
用属性をもつ。
このモードは、データ・キーを作成することしかでき
ないことに留意されたい。
− モード4:IM−EX(搬入−搬出)モード このモードは、生成ノードによって後で搬入されるキ
ーのコピー1つと、他のノードにすぐ搬出できる形のキ
ーのコピー1つを生成する。最初のコピー(搬入コピー
と呼ぶ)は、(関連する制御ベクトルと排他的論理和を
取られた)KEK/受信側のもとで暗号化される。これは後
で、RTMK命令を使って生成ノードにより検索することが
できる。もう一方のコピー(搬出コピーと呼ぶ)は、
(コピーの制御ベクトルと排他的論理和を取られた)KE
K/送信側のもとで暗号化される。
このモードは、たとえばセッション・キーが生成され
配布される、IBM SNA複数定義域アプリケーションに有
用である。
生成キーのすべてのコピーについて、CFAPは関連する
制御ベクトルをキー・セット生成命令に供給しなければ
ならないことに留意されたい。キー・セット生成命令
は、その命令のモードに応じて、生成キーのコピーの制
御ベクトルを、他の属性の使用と組合せが有効かどうか
検査する。
キーの配布 キーは手動(たとえば、キー運搬者による)でも電子
的に配布できる。キー運搬者による配布は、多数のノー
ドをもつネットワークでは配布コストが高くなりうるの
で望ましくない。多くの場合、キーの電子的配布が好ま
しい方法である。
キー配布プロトコル ネットワーク内の暗号ノードは通常、制御ベクトル機
能をもつノードと制御ベクトル機能をもたない他のノー
ドが混り合っている。第1のタイプのノードは本明細書
では、制御ベクトル・ノードと呼び、第2のタイプは非
制御ベクトル・ノードと呼ぶ。非制御ベクトル・ノード
の例は、4700、3848/CUSPなどの既存のIBM暗号プロダク
トである。同じタイプまたは異なるタイプのノード間の
キー配布用のプロトコルには次のものがある。
a.制御ベクトル・モード(CVで表す) b.互換性モード(CV=0で表す) c.ANSI X9.17モード(ANSIで表す) 各配布プロトコルは、以下のようなものである。
a)制御ベクトル・モードは、(リンク上の)暗号機構
間で通信されるすべてのキーが、キー・タイプと指定さ
れたキー使用に応じて別々に暗号的に分離される方法で
ある。リンク上で通信されるすべてのキーは、eKEK.C
(K)の形をとる。ただし、Kは通信中のキーであり、
KEKは、キーKを暗号化するのに使われるキー暗号化キ
ーであり、CはキーKに関連する制御ベクトルである。
制御ベクトルCは送信の際に暗号キーeKEK.C(K)を伴
う場合も伴わない場合もある。このモードは、制御ベク
トルがリンク上で維持されるのでCVである。
b)互換性モードは、(リンク上の)暗号機構間で通信
されるすべてのキーがeKEK(K)の形をとる方法であ
る。互換性モードでは暗号分離は行なわれない。互換性
モードは、このキー配布法を使用する既存のIBM暗号シ
ステム(PCF、CUSP/3848、4700)にキーが配布できるよ
うに設けられている。現在、SNA暗号支援は、このモー
ドを使ったキー配布に限られている。このモードでのキ
ーの配布は、(暗号化及び非暗号化使用属性をもつ)デ
ータ・キーと(MACGEN及びMACVER使用属性をもつ)MAC
キーに限られている。このモードは、リンク上ですべて
ゼロの制御ベクトルを使うのと等価なので、CV=0で表
される。キー配布は、CV=0オプションで実施されるリ
ンクを使って実行される。キー配布は、CA暗号命令及び
CA CFAPマクロによって実施されるCV=0オプションに
よって実行される。
c)ANSI X9.17モードは、ANSI特有のCAで提供される暗
号命令及びANSI特有のCCAで提供されるCFAPマクロに適
合するキー配布の方法である。
各キー配布モードは、そのキー配布法を集合的に定義
する1組の関連する規則及びプロシージャをもつ。当該
の暗号機構間でキーを伝送するために暗号機構間で共用
される各キー暗号化キーは、暗号通信CHANNELまたはキ
ー配布チャネルを定義する。こうしたチャネルは、その
チャネルによって支援される2つの暗号機構間で使用さ
れるキー配布プロトコルに応じて、CVチャネル、CV=0
チャネルまたはANSIチャネルである。したがって、CVチ
ャネルは、そのチャネルを介して通信されるキーが、制
御ベクトル・キー配布モードに適合することを意味す
る。CV=0チャネルは、そのチャネルを介して通信され
るキーが、互換性キー配布モードに適合することを意味
する。ANSIチャネルは、そのチャネルを介して通信され
るキーが、ANSI X9.17キー配布モードに適合することを
意味する。同じキー暗号化キーを代わりに使って2つの
チャネルを定義するのも好都合である(たとえば、KEK
は、アプリケーションによって選択されるモードに応じ
て、CVチャネルまたはCV=0チャネルとして使用でき、
最終的に暗号命令レベルでパラメータとして下方に反映
される)。
キー配布チャネルは好都合な概念である。キー配布方
法は、必ずしも各暗号装置の暗号機構で実施されるキー
管理方法を反映しあるいはそれに依存しないので、とり
わけそうである。たとえば、キー管理は、制御ベクト
ル、バリアント、または他の何かに基づいて行なうこと
ができるが、キー伝送のために選択されるキー配布法
は、その時に誰と話しているか、通信相手がどのキー配
布法を支援しまたは必要としているか、標準及び慣行の
遵守、従来のネットワーク協定など操作上の考慮事項に
基づくものとすることができる。
CAに適合する暗号機構(CAノードと呼ばれる)は、他
のCAノードと通信するためにCVチャネルを確立すること
ができる。CAノードは、IBM PCF、IBM CUSP/3848または
IBM4700システム・ノードと通信するためにCV=0チャ
ネルを確立することができる。CAノードはまた、ANSIキ
ー配布を支援する他のノードと通信するためにANSIチャ
ネルを確立することもできる。CAは、1対のKEKが共用
できるが、互換性モードで走行する現アプリケーション
と、CAノードで並列に走行する新しく書かれたアプリケ
ーションが、1対のKEK対を使って他のCAノードと通信
できるように、混合チャネル(CVまたはCV=0)を可能
にする。
キー・タイプとチャネル・タイプ CAのもとでは、すべてのCVは指定されたタイプとサブ
タイプをもつ。それらは制御ベクトル中のコード化フィ
ールドである。キーを合法的に伝送するためのキー配布
モードも、そのタイプ/サブタイプによって暗黙に定義
される。(この暗黙の定義は、許されるチャネル・タイ
プを制御ベクトル中の別個のフィールドでコード化する
代わりに使用されることに留意されたい。こうすると、
制御ベクトル中に冗長フィールドが生じる状況が回避さ
れる。)第36表は、どのチャネル・タイプ(すなわち、
キー配布モード)を使ってどのCVタイプ/サブタイプと
通信できるかの記述である。
(暗号命令を使って)宣言されるキー配布モード キーの搬出及び搬入に関係するすべての命令(すなわ
ち、GKS、RFMK及びRTMK)では、チャネル・タイプ(ま
たはキー配布モード)は、命令の(キー配布モード、省
略してMODEと呼ばれる)パラメータを介して宣言しなけ
ればならない。ANSI暗号命令はCA命令から分離されてい
るので、モード・パラメータでCVとCV=0を分離するこ
とだけが必要である。すなわち、モード・パラメータ
は、モード=CVまたはモード=(CV=0)の形をとる。
リンク制御フィールド CVタイプ=“kek"の場合、リンク制御と呼ばれるCVフ
ィールドが定義される。リンク制御フィールドは、KEK
がそのもとで動作するのに許されるチャネルのタイプを
定義する。リンク制御フィールドは以下のように定義さ
れる。
「適用されない」フィールドは、リンク制御が意味を
持たない(すなわち、適用されない)KEKサブタイプの
現在及び将来の定義が可能となるように定義される。た
とえば、CVタイプ/サブタイプ=“KEK/ANSI"の場合、
リンク制御は意味をもたず、したがって、このフィール
ドは、常に‘00'に設定される。リンク制御=‘11'は、
暗号命令中でどの配布モードが指定されるかに応じて、
CVチャネルまたはCV=0チャネルを用いてキーを配布す
るのにKEKが使用できることを意味する。
キー配布モードとリンク制御 暗号命令によって指定されるキー配布モードは、常に
許可されたモードでなければならない。すなわち、送信
されたキーを暗号化するのに使用されるKEKの制御ベク
トル中のリンク制御フィールドで、指定されたキー配布
モードが許可されなければならない。それらの規則を第
37表に記述する。
一般検査規則 上述の考察から、1組の規則がもたらされる。次にそ
れらの規則について要約し、例を挙げて考察する。
結果としてキーの搬入または搬出をもたらすあらゆる
暗号命令では、次の3つの重要なパラメータがある。
a.暗号命令中で指定される配布モード(Mと呼ぶ) b.キーの伝送に使用されるKEKの制御ベクトル中のリン
ク制御フィールド(Lと呼ぶ) c.伝送されるキーの制御ベクトル中のCVタイプ/サブタ
イプ・フィールド(Tと呼ぶ) その命令が実行できるかどうか判定するために、2つ
の検査が実行される(他の検査も実行されるが、この考
察では無関係である)。その2つの検査は次の通りであ
る。
a.TはMによって許可されなければならない。
b.MはLによって許可されなければならない。
すなわち、CVタイプ/サブタイプは、Mで指定されるキ
ー配布モードを用いて伝送可能でなければならず、Mで
指定されるモードは、Lによって支援または許可される
モードでなければならない。
キー配布センタの概念 キー配布センタ(KDC)は、キーが生成されてネット
ワークの他のノードに配布されるセンタである。ただ
し、KDCは、自分で使用するためにこれらのキーのロー
カル・コピーを保持することはできない。
− 2つの制御ベクトル・ノードに対するキーの配布 2つのノードAとBに対してキーを配布するKDCセン
タをCとする。さらに、CからAにキーを送るのに使用
される定義域間キーをKKcaとし、CからBにキーを送る
のに使用される定義域間キーをKKcbとする。キー・セッ
ト生成命令、搬出−搬出モードをKDCで使って、キーK
の2つのコピーを生成し、それをノードAとBに発送す
ることができる。生成されたキーKの2つのコピーは、
e*KKca.C3(K)及びe*KKcb.C4(K)の形で暗号化され
発送される。ただし、C3とC4は、それぞれノードAとB
でのキーKの使用を指定する2つの制御ベクトルであ
る。制御ベクトルC3とC4は、生成時にユーザの指定に基
づいてCFAPによって生成される。C3とC4の属性は、次の
規則に従わなければならない。
1.配布されるキーKがデータ・キーである場合、 −両方のCVタイプ属性は主タイプ=「データ・キー」
で、サブタイプが同じでなければならない。
−C3とC4は同じまたは逆の使用属性をもつことができ
る。たとえば、ノードAとBは共に、暗号化及び非暗号
化(復号化)のためにキーKを使用でき(C3とC4の使用
属性が同じ)、あるいはノードAは、MACを生成するた
めだけにキーKを使用でき、ノードBはMACを検査する
ためだけにキーKを使用できる(C3とC4の使用属性が異
なる)。第17表に、C3とC4の使用属性の許されるすべて
の組合せを記述する。
2.Kがキー暗号化キーの場合、 −3のCVタイプ属性が「KEK/送信側」である場合、C4の
CVタイプ属性は「KEK/受信側」でなければならず、その
逆も成り立つ。すなわち、キーKをノードAで使ってキ
ーを送る場合、キーKはノードBでキーを受け取るため
に使用されなければならず、その逆も成り立つ。
−C3とC4の両方のリンク制御属性が同じでなければなら
ない。
3.KがPIN暗号化キーである場合、C3とC4のCVタイプ属性
はどちらも「PIN暗号化キー」でなければならない。
上記の属性以外に、CFAPは、受信ノードAとBがこの
キーKの今後の搬出をどのように制御することをKDCが
望むかに応じて、C3及びC4中で搬出制御属性フィールド
も設定する。「制御ベクトル」の節に、搬出制御フィー
ルドの意味を説明する。
受信ノードAとBで、RTMK命令を使ってキーKが検索
できる。たとえば、Aは、RTMKを使って、そのシステム
上で使用するためにe*KKca.C3(K)を(制御ベクトル
と排他的論理和を取られた)マスタ・キーのもとでの暗
号化に変換する。
注:キー・セット生成命令によってCVノードからCVノー
ドに発送されるキーは、CVチャネルを使用しなければな
らない。すなわち、定義域間キーKKca及びKKcbに関連す
る制御ベクトルのリンク制御フィールドは、「CVのみ」
属性または「CVまたはCV=0」属性をもたなければなら
ない。
−3つ以上の制御ベクトル・ノードに対するキーの配布 キー配布センタの主目的は、2つのノードが通信する
ためのキーをセットアップすることである。キーを3つ
以上のノードに配布する必要が生じることはほとんどな
い。しかし、発送されるキーのコピーに関連する制御ベ
クトルが同じであるという条件の下では、KDCがキーを
3つ以上のノードに配布することは可能である。
KDCとして動作するノードCからノードi(i=1,
2,...n)にキーを送るために使用される定義域間キーを
KKciとする。KDCは、以下の方法により、キーKをn個
のノード(n]2)に配布することができる。
1.キー生成命令を使ってキーKを生成する。
Kは、KDCのマスタ・キーKMのもとで暗号化される。
すなわち、Kはe*KM.C1(K)の形をとる。ただし、C1
はKの属性を指定する制御ベクトルである。C1の搬出制
御フィールドは、KがRFMKによって搬出できるように最
後のビット(1)が「1」に等しくなければならない。
2.RFMK機能をn回使って、e*KM.C1(K)をe*KKci,C2
(K)(i=1,2,..,n)に変換する。ただし、C2は、受
信ノードで使用するためのキーKの属性を指定する新し
い制御ベクトルである。次いでこの形が、各ノードiに
送られる。
各受信ノードで、RTMK命令を使ってキーKが検索でき
る。
このアプリケーションでは、生成されたキーKのロー
カル・コピーが、KDCで利用できることに留意された
い。これは、露出が起こらないある種のアプリケーショ
ン以外では認められるべきではない。すなわち、このア
プリケーションは非常に限られている。
将来は、KDCが生成キーのローカル・コピーをもつ必
要のない代替方法が、次のようにして実施できる。
1.KDCが、キー・セット生成命令を搬出−搬出モードで
使って、キーを1つまたは2つのノードに発送する。
2.KDCが、(CCAがこれを許可すると仮定して)XLTKEYin
及びXLTKEYout属性をもつKEKのもとでキーの1つのコピ
ーを再搬入し、次いでそのコピーを、残りのノードに発
送するのに適した形に変換する。
−非CVノードに対するキーの配布 KDCは、データ・キーだけを2つまたはそれ以上の非C
Vノードに配布することができる。非CVノードへの他の
タイプのキーの配布は許されない。まずキー生成命令に
よってデータ・キーが生成され、次いでRFMK命令により
互換性チャネルを介して非CVノードに配布される。すな
わち、キーを発送するのに使われるKEKに関連する制御
ベクトルは、リンク制御フィールドの属性が「CV=0」
でなければならない。生成されたデータ・キーに関連す
る制御ベクトルの搬出制御フィールドは、もちろんキー
を配布するために(RFMK命令を使って)データ・キーを
搬出できなければならない。
上記のケースと同様に、生成されたキーKのローカル
・コピーはKDCで利用できることに留意されたい。これ
は、露出が起こらない限られたアプリケーション以外で
は認められるべきでない。すなわち、このアプリケーシ
ョンは非常に限られている。前記のケースで提案したキ
ー・セット生成命令とキー変換命令の組合せを使用する
代替方法がこの場合にも適用できる。
−制御ベクトル・ノード及び非制御ベクトル・ノードへ
のキーの配布 KDCは、データ・キーのコピーをCVノードと非CVノー
ドの両方に配布することができるだけである。これは、
非CVノードにはデータ・キーしか配布できないからであ
る。配布は、キー生成命令とRFMKの組合せまたはキー・
セット生成命令とRFMKの組合せを使って行なうことがで
きる。すなわち、まずキー生成命令またはキー・セット
生成命令を用いてデータ・キーが生成される。次にRFMK
命令またはキー・セット生成命令(モードOP−EX)自体
によって1つのコピーがCVノードに送られる(CVチャネ
ルを必ず使用しなければならない)。もう1つのコピー
は、RFMK命令によりCV=0チャネルで非CVノードに送ら
れる。
この場合も、生成されたキーのローカル・コピーは、
KDCが利用できる。この問題を回避するために、キー・
セット生成/キー変換命令による代替方法を実施するこ
ともできる。
キーの変換 キーは、キー変換機能を使ってあるキー暗号化キーに
よる暗号化から別のキー暗号化キーによる暗号化に変換
することができる。この機能は、キー変換センタ(KT
C)環境、すなわち、1つまたは複数のノードが他のノ
ード用のキーを変換するノードとして働く環境で有用で
ある。たとえば、第35図に示す3つの暗号ノードA、
B、Cを考える。暗号ノードとしての通常の機能の他
に、CはA及びBのKTCとしても働く。Aは、定義域間
キーKEKacとKEKcaを用いてCと通信することができる。
同様に、Bは、KEKbcとKEKcbを用いてCと通信すること
ができる。Aは、データ・キーKDのもとで暗号化された
データをBに送り、かつAとBは最初通信するための共
通の定義域間キーをもたないものと仮定する。データを
非暗号化(復号化)するには、BはKDを知る必要があ
る。AとBは共通の定義域間キーをもたないので、A
は、Bで回復できる暗号化されたキーを送ることができ
ない。Cは、KTCとして動作することによりBがKDを受
け取るのを助ける。まず、Aは、KEKacのもとで暗号化
されたKD(すなわち、e*KEKac.C1(KD))のコピーをCに
送る。Cはキー変換機能を呼び出して、e*KEKac.C1(KD)
をe*KEKcb.C1(KD)に変換し、次いでe*KEKcb.C1(KD)をB
に送る。ノードBでは、RTMK機能を用いてKDが回復さ
れ、受信したKDと共に非暗号命令を用いて暗号化データ
が非暗号化(復号化)できる。
キー変換命令は、KTCがKDのコピーを保持できないよ
うに設計されていることに留意されたい。さらに、安全
保護上の理由から、CAは、変換されるキーが出たり(出
力チャネル)入ったり(入力チャネル)するチャネルの
混合及び一致を許さない。すなわち、変換されるキーが
CVチャネルに入る場合、変換されたキーはCVチャネルで
出なければならない。入力チャネルがCV=0チャネルで
ある場合、出力チャネルはCV=0チャネルである。すな
わち、入力チャネル及び出力チャネル(上記の例のKEKa
cとKEKcb)に関連するKEKの制御ベクトルは、キー変換
命令に記載されている有効な組合せの1つに一致するリ
ンク制御属性をもたなければならない。
キーの搬出 キーの搬出とは、他のノードに送るのに適した形でキ
ーを暗号化することである。すなわち、そのキーは、通
信ノード間で共用されるキー暗号化キーのもとで暗号化
される。
制御ベクトル・システムは、他方のシステムが制御ベ
クトル構造をもっていてもいなくても、他のシステムと
キーを交換することができる。CAによって定義されるキ
ーの搬出に関する規則は以下の通りである。
CVシステムに対するキーの搬出 制御ベクトル・システムは、データ・キー、キー暗号
化キー、PINキー、中間CV、キー部分及びトークンを他
のノードに搬出することができる。
以下に説明するように、キーは、RFMK命令またはGKS
命令を使ってCVノードに搬出される。
RFMK命令によるキーの搬出 システム上でローカルで使用されるキーは、それらの
キーの制御ベクトルの搬出制御フィールドがそれを許す
場合、RFMK機能を用いて他のCVノードに搬出することが
できる。通常、これらのキーは、キー生成命令またはGK
S命令によって生成され、あるいは他のノードから受信
される。
システム上でローカルで使用される、e*KM.C(K)の形
で暗号化されたキーをKとする。ただし、Cは、CFAPに
よって作成され供給される、Aの使用を指定する制御ベ
クトルである。Kがシステム上で生成されたか、他のノ
ードから受信されたか、あるいは(たとえば、LCVA命令
を使った)既存のキーに対するローカル変換によって形
成されたか、Kの搬出に関する判定は、制御ベクトルC
の搬出制御で示されなければならない。Cの搬出制御フ
ィールドが、Kを他のCVノードに発送することを許す場
合、RFMKを使ってKを搬出することができる。Aからそ
のノードにキーを発送するのに使用される定義域間キー
をKKとする。発送されるキーKの形は、それが発送され
るチャネル・タイプに依存する。チャネル・タイプは、
それが呼び出されるときRFMK命令の配布モードで指定さ
れる。RFMK命令を実行するには、RFMK命令の配布モード
・パラメータと(KKに関連する)制御ベクトルCkkのリ
ンク制御フィールドが、第37表で指定された有効な組合
せの1つでなければならない。
−配布モードがCVチャネルを指定し、Ckkのリンク制御
フィールドが「CV」または「CVまたはCV=0」である場
合、その組合せは有効である。Kは、e*KK.C1(K)の形で
搬出される。ただし、C1はCに基づいてCFAPによって作
成されRFMK命令に供給される制御ベクトルである。
−配布モードがCV=0チャネルを指定し、Ckkのリンク
制御フィールドが「CV=0」または「CVまたはCV=0」
である場合、その組合せは有効である。Kは、e*KK(K)
の形で搬出される。この場合、制御ベクトルは除去され
る。CVタイプがデータ/互換性のキーだけがCV=0チャ
ネルで発送できることに留意されたい。他のキーは安全
保護上の理由から禁止される(「攻撃」の節を参照のこ
と)。制御ベクトル構造をもたない既存のアプリケーシ
ョン(たとえば、IBM CUSP/3848で走行するアプリケー
ション)は、CCAノードに対して保護されているとき、C
V=0チャネルを使用してキーを搬出する。
GKS命令によるキーの搬出 キーは、OP−EXモード、OP−IMモード及びIM−EXモー
ドでGKS命令により生成時に他のCVノードに搬出するこ
とができる。この命令のモードは、「キーの電子的生
成」で説明されている。これらのモードでは、搬出コピ
ーだけが他のノードに発送される。搬入コピーは他のノ
ードに発送されず、後で生成ノード自体が受け取る。動
作コピーは生成ノードでのローカル使用のためのもので
ある。
RFMK命令とは異なり、GKS命令は、CVチャネルだけで
搬出コピーを他のCVノードに搬出する。すなわち、搬出
コピーを暗号化するのに使用したキー暗号化キーに関連
する制御ベクトルのリンク制御フィールドは「CV」また
は「CVまたはCV=0」属性をもたなければならない。上
記と同じ表記法を用いると、搬出コピーは、e*KK.C1(K)
の形で搬出される。
キー・セット生成組合せ機能は、CVシステムにキーを
搬出する安全な方法をもたらす。これは、キーを非CVシ
ステムに送るために直接使用できない。
注: 1.RFMKまたはGKSがCVチャネルでキーを搬出するとき、
キーに関連する制御ベクトルがリンク上で送られない場
合がある。受信ノードは、正しいキーを回復するため
に、制御ベクトルを正しく再構成することができなけれ
ばならない。「リンク上の制御ベクトル」に、送信ノー
ドで制御ベクトルをセットアップし、それがリンク上で
送られないときに受信ノードでそれを再構成する手順が
説明してある。
2.キーを送るとき、送信ノードは、受信ノードがキーを
さらに他のノードに送ることを許可または禁止するとい
うオプションをもつ。
−受信ノードがキーをさらに他のノードに送ることを送
信ノードが望まない場合、CFAPは、搬出されるキーに関
連する制御ベクトルの搬出制御フィールドをB′10′に
設定する。
−受信ノードがこのキーをさらに搬出することに対する
制御を行なうことを送信ノードが許す場合、CFAPは、搬
出制御フィールドのビット0を0に設定し、残りのビッ
トは「どうでもよい」。受信ノードはキーを受け取った
とき、搬出制御フィールドの2つのビットを任意の所望
の値に設定することができる。
3.CAはLCVA命令を用いた搬出制御の権限低下を可能にす
る。たとえば、ノードAがキーKを他のノードに搬出し
た後で、そのキーを再び搬出しないように決定すること
ができる。ノードAは、キーKとその制御ベクトルにLC
VA命令を適用することによってこのキーの搬出を禁止
し、搬出制御権限をB“00"またはB“10"(搬出なし)
に低下させることができる。
非CVシステムに対するキーの搬出 RFMK命令だけが、関連する制御ベクトルの搬出制御フ
ィールドがそれを許可することを条件として、キーを非
CVシステムに直接搬出するのに使用できる。また安全保
護上の理由から、CVタイプがデータ/互換性のキーしか
非CVノードに搬出できない。RFMK命令がキーを非CVノー
ドに搬出するとき、CV=0チャネルだけがキーを発送す
るのに使用できる。すなわち、RFMK命令の配布モード・
パラメータはCV=0チャネルを指定しなければならず、
キーを発送するのに使用されるキー暗号化キーに関連す
る制御ベクトルのリンク制御フィールドは「CV=0」ま
たは「CVまたはCV=0」属性をもたなれけばならない。
上記と同じ注記法を用いると、キーはe*KK(K)の形で非C
Vノードに発送される。
キーの搬入 キーの搬入とは、キー暗号化キーによる暗号化から受
信ノードのマスタ・キーによる暗号化にキーを再暗号化
することである。搬入不能(すなわち、キー暗号化キー
のもとで暗号化された)な形のキーは、他のノードから
送られ、あるいはGKS命令によって(OP−IMモードまた
はIM−EXモードで)生成される。RTMK命令は、キーを搬
入するのに使用できる唯一の命令である。
CVシステムからのキーの搬入 CVシステムは、CVノードから送られた任意のCAキー・
タイプのキーを受け取ることができる。別のCVノードか
ら送られたキーは、CVチャネルまたはCV=0チャネルで
到着でき、対応するチャネルが受け取られなければなら
ない。チャネル・タイプは、RTMK命令が呼び出されると
き、その配布モード・パラメータで指定される。
−配布モードがCVチャネルを指定する場合、キーはCVチ
ャネルで送受信される。キーはe*KK.C3(K)の形で送信ノ
ードから到着する。ただし、KKは通信ノード間で共用さ
れる定義域間キーであり、C3は送信中のキーKに関連す
る制御ベクトルである。制御ベクトルC3は、キーと一緒
に送られる場合も送られない場合もある。
−C3がキーと共に送られるとき、(受信ノードの)CFAP
は、送られた制御ベクトルC3に基づいて、C2と呼ばれる
新しい制御ベクトルを作成する。CFAPはC2、C3及び他の
パラメータをRTMK命令に供給する。RTMKはC3を使ってキ
ーKを回復し、次いでC2の妥当性検査を行なって、それ
を使って回復されたキーKをマスタ・キーによる暗号化
に再暗号化する。検索されたキーは、このときすぐにロ
ーカル使用できる形e*KM.C2(K)の形にある。
−制御ベクトルC3が送られないときは、(受信ノード
の)CFAPはまずC3を再構成し、C3に基づいて新しい制御
ベクトルC2を作成し、それら及び他のパラメータをRTMK
命令に供給する。上記と同様に、キーはe*KM.C2(K)とし
て検索される。
CFAPは、C3の搬出制御に応じて、異なるC2の搬出制御
フィールドをC3のそれとは異なるように設定する。
−C3の搬出制御がB“1Y"であり、Yが0または1であ
る場合、CFAPは、C2の搬出制御をC3のそれに等しく設定
しなければならない。Yが0の場合、送信ノードは、受
信ノードがキーをさらに搬出することを許可しない。Y
が1の場合、キーはさらに他のノードに搬出できる。
−C3の搬出制御がB“0Y"であり、Yが0または1であ
る場合、CFAPは、C2の搬出制御を任意の所望の値に設定
できる。すなわち、この場合にはC2とC3の搬出制御は異
なってもよい。C3の搬出制御フィールドの第2ビットは
受信されたキーの搬出を制御しないことに留意された
い。たとえば、C3の搬出制御がB“0Y"=B“00"(すな
わち、Y=0)の場合、受信ノードは、C2の搬出制御を
B“01"またはB“11"に設定することにより、受信され
たキーの搬出を許可することができる。
RTMK命令を実行するには、KKに関連する制御ベクトル
のリンク制御フィールドが「CV」または「CVまたはCV=
0」属性をもたなければならないことに留意されたい。
−配布モードがCV=チャネルを指定する場合、キーはCV
=0チャネルで送受信される。キーはe*KK(K)の形で送
信モードから到着する。受信ノードでは、キーは、e*K
M.C2(K)の形で検索される。ただし、C2は、CFAPによっ
て作成されRTMKに供給されたKに関連する制御ベクトル
である。C2の搬出制御フィールドはCFAPによって任意の
所望の値に設定できる。
データ/互換性キー・タイプだけがCV=0チャネルで
送受信されることに留意されたい。したがって、C2はCV
タイプがデータ/互換性であり、その使用属性は暗号
化、非暗号化(復号化)、MAC生成及びMAC検査命令の組
合せに限られている。また、RTMK命令を実行するには、
KKに関連する制御ベクトルのリンク制御フィールドが
「CV=0」または「CVまたはCV=0」属性を持っていな
ければならない。
非CVシステムからのキーの受信 CVシステムは非CVシステムからデータ/互換性キー・
タイプだけを受信することができる。送られたキーは、
CV=0チャネルでのみ送信ノードから到着する(すなわ
ち、e*KK(K)の形で到着する)。このキーが受信される
方式は、上記のように、キーがCV=0チャネルでCVノー
ドから送られる場合と同じである。
リンク上の制御ベクトル キー伝送用通信プロトコルの導入 暗号アーキテクチャには、暗号機構間で暗号キーを電
子的に伝送するための通信プロトコルが含まれる。この
CA通信プロトコルには、リンク上の制御ベクトル定義
と、暗号キーの電子伝送にこの制御ベクトルの定義を使
用するための許容されるプロトコルの指定が含まれる。
基本的に、CA通信プロトコルは、キー・タイプまたは
所期のキー用途に応じて電子的に伝送されるキーを暗号
分離する手段をもたらす。この通信プロトコルは、伝送
中にあるタイプのキーの代わりに異なるタイプのキーを
使用した場合、置換されたキーが受信側で正しく回復さ
れなくなるようになっている。その場合、送信側と受信
側の暗号機構は、一致するキーをもたないので、こうし
たキー対での通信は不可能である。不正使用者は、せい
ぜい暗号システムを破壊することはできるが、不正使用
者が受信側暗号機構に送信側暗号機構が意図しない形で
キーを使用させようと試みる類いの暗号攻撃は防止され
る。
通信CFに対するキー管理要件 CA通信プロトコルは、通信する暗号機構対iとjに対
して以下のキー管理要件をもつ。
1.iとjは、KEKijとKEKjiのキー暗号対を共用しなけれ
ばならない。ただし、KEKijはiからjにキーを送るの
に使用され、KEKjiはjからiにキーを送るのに使用さ
れ、KEKijとKEKjiは共に倍長キー(128ビット)であ
る。任意選択として、iとjは、iからjにキーを送る
ためのKEKijまたはjからiにキーを送るためのKEKjiだ
けを共用することもできる。また任意選択として、iと
jは、キー電子的に配布するために追加のキー暗号化キ
ーまたはキー対を共用することができる。これらのキー
暗号化キーは一般に定義域間キーと呼ばれる。
2.i及びjで、キーKEKijとKEKjiは、(キー・セット生
成、RFMK及びRTMK命令を用いて)キーを電子的に搬出及
び搬入するためにキーを使用する際に、このアーキテク
チャでの定義に従って、必ず制御ベクトルの使用が必要
となるように「マーク」しなければならない。追加の任
意選択の共用されるキー暗号化キーまたはキー対もこの
規則に適合しなければならない。
iとjは、キーを電子的に配布するために1つまたは
複数のキー暗号化キー(またはキー対)を共用すること
もできる。ただし、共用されるキーは制御ベクトルを必
要としない方法を使用する。そうする必要があるのは、
iまたはjあるいはその両方の既存のハードウェアまた
はソフトウェア機能との互換性を維持するためである。
しかし、そのキーは、(キー・セット生成、RFMK及びRT
MK命令を用いて)キーを電子的に搬出及び搬入するため
にキーを使用する際に特に、このアーキテクチャでの定
義に従って、制御ベクトルの除外が必要となるようにマ
ークしなければならない。
制御ベクトルが暗号機構の内部で使用される場合、共
通の1組の暗号機構での定義に従って、(「b」項で必
要とされる)KEKを「マーク」する方法はすでに指定さ
れている。そうでない場合、「マーキング」を他の手段
で行なわなければならない。
制御ベクトルを用いたキーの電子的伝送用の形式 暗号機構、キー生成機能、キー配布機能またはキー変
換機能から受信側暗号機構に送られるすべての電子伝送
キーは、以下に記載する形式を使って暗号化しなければ
ならない。* KEK=送信側から受信側機能にキーを伝送するために送
信側及び受信側機能が共用する128ビット・キー C =64ビット制御ベクトル K =送信される64ビット・キー K1,K2 =送信される128ビット・キー と置くと、単長及び倍長キーに対して以下の形式が指定
される。
互換性用のプロトコル CA通信プロトコルは、3848/CUSP、PCF、4700など既存
のIBM暗号プロダクトとの互換性を維持する目的で64ゼ
ロ・ビットの省略時制御ベクトルも定義する。この通信
モードでは、ゼロの制御ベクトルを用いて(すなわち、
制御ベクトルを使用せずに有効に)キーが送受信でき
る。この場合、キーKは、eKEK.C(K)の代わりにeKEK
(K)の形で送られる。
メッセージの形式 CA通信プロトコルは、暗号化されたキーを2つの形式
を用いて送信することができる。送られる情報は、メッ
セージ内に含まれるものと仮定する。通信プロトコル
は、現在メッセージ形式の指定を含んでいない。本明細
書で期待または定義すべき範囲に含まれない設計要件に
応じて、受入れ可能なまたは望ましいメッセージ形式が
多数あり得る。通信プロトコルは、どの形式が選択され
るかに応じて、こうしたメッセージ中で送られなければ
ならない情報を定義するだけである。
第1の形式 a.64ビットK:C,e*KEK.C(K) b.128ビットK1、K2: C,e*KEK.C(K1)、e*KEK.C(K2) 第2の形式 a.64ビットK:e*KEK.C(K) b.128ビットK1,K2: e*KEK.C(K1)、e*KEK.C(K2) CV=0という縮退したケースも上記の2つの形式でカ
バーされることに留意されたい。
第1の形式−CV伝送 第1の形式は、制御ベクトルが暗号化されたキーで伝
送される場合をカバーする。受信側暗号アプリケーショ
ンまたは暗号支援プログラムは、受信されるキーの目的
は何かを必ず知っていなければならないので、制御ベク
トルは、送信端末から受信端末に搬送されるすべての必
要なキー使用情報のための便利で簡略な方法であること
がわかる。さらに、受信された制御ベクトルは、受信側
アプリケーション・プログラムから暗号支援プログラム
(たとえば、IBM CUSP)に渡され、そこからRTMK機能が
どのように実施されるかに応じて、RTMK機能のパラメー
タとして暗号支援プログラムから暗号機構(すなわち、
ハードウェア)に直接渡される。したがって、ソフトウ
ェア(すなわち、CFAP)による制御ベクトルの管理はそ
れほど複雑でなくなる。
第2の形式−非伝送CV 第2の形式では2つのケースが可能である。第1のケ
ースは、伝送端末と受信端末が制御ベクトルの再構成の
ための協定を以前に結んでいないケースをカバーする。
この場合、受信端末は、制御ベクトルを再構成するため
の所定の1組のステップに従う。それらのステップで
は、いくつかの省略時制御ベクトル値の使用が必要であ
る。第2のケースは、送信端末と受信端末が制御ベクト
ルを再構成するための協定を以前に結んでいる場合であ
る。このケースでは、受信端末は、以前に確立された1
組の私的規則に応じて、制御ベクトルを再構成する。
第2の形式の第1のケースと第2のケースの基本的な
相違点は、第1のケースでは、受信端末がベンダーから
供給されたいくつかの省略時仮定を用いて制御ベクトル
を再構成するが、第2のケースでは、受信端末が協定し
た1組の私的規則に応じて制御ベクトルを再構成するこ
とである。
制御ベクトルの指定 リンク上で使用するための制御ベクトルの指定は、
「キー管理」の節に示した内部制御ベクトルの指定と同
じである。すなわち、CFAPマクロ定義とCF命令によって
指定される、制御ベクトルの作成及び修正を支配する規
則も、リンク上で適用される規則と同じである。これら
の規則は、キーの円滑な回復を容易にするために採用さ
れたものである。非暗号化(復号化)によるキー回復で
は、制御ベクトルのすべてのビットが、キーの暗号化の
ために最初に指定されたものと全く同じに指定されなけ
ればならないことを想起されたい。
基本的に、その規則は次のようなものである。
−一般に、CFAPはすべての制御ベクトルを作成し、場合
によっては、制御ベクトルのいくつかのビットを検査/
実施する責任を負う。一般に、暗号機構は制御ベクトル
の検査/実施ビットに対する責任を負う。
−制御ベクトルが作成されるとき、制御ベクトルのすべ
てのビットを指定しなければならない。制御ベクトル・
ビットは次のようにして確立される。
a.すべての予約ビットがゼロに設定される。(これは最
初にCV=0と設定することにより容易に実施できる。) b.反バリアント・ビットまたは固定ビットが設定され
る。
c.8パリティ・ビット(すなわち、アーキテクチャのも
とで定義されるビット)を除く残りのビットは、呼び出
されたCFAPマクロのアプリケーションによって指定され
たパラメータ値から、またはマクロで指定される省略時
の値に応じて設定される。
−キーがeKEK.C(K)の形で送信側から受信側に伝送さ
れる場合、(ただし、Cは0の縮退制御ベクトルではな
く、Cはリンク上で送られない)以下の制御ベクトルの
省略時の値が受信側で定義される。
1.省略時CVバージョン=0 2.省略時キー・タイプ=「データ・キー」 3.省略時搬出制御=「0000」、すなわち制限なし。
4.キー・タイプ=「データ・キー」の場合、省略時の使
用ビット=「1100」、すなわちEとD。
5.キー・タイプ=「KEK/送信側」の場合、省略時の目的
システム=「00」、すなわち、「CVまたはCV=0」、省
略時の使用ビット=「1111」、すなわち制限なし。
6.キー・タイプ=「KEK/受信側」の場合、省略時の目的
システム=「00」、すなわち、「CVまたはCV=0」、省
略時の使用ビット=「11」、すなわち制限なし。
7.キー・タイプ=「PIN暗号化キー」の場合、省略時の
使用ビット=「010101」、すなわちPINブロックkey in
及びkey out再書式化及びPIN検査。
8.キー・タイプ=「PIN生成キー」の場合、省略時の使
用ビット=「01」、すなわち、PIN検査。これらは、キ
ー・セット生成、PFMK、キー変換、キー生成、EMK、及
びRTMK命令で使用される省略時の値である。
CA CVの省略時の値 キーの記憶 暗号機構の外部のすべてのキーは、制御ベクトルとマ
スタ・キーの論理和を取ることによって形成されたキー
のもとでそれらを暗号化することにより、暗号化された
形で維持される。
暗号機構の外部に記憶された暗号化キーは、任意選択
として記憶されたキーを暗号化するのに使用される制御
ベクトルと一緒に記憶される。しかし、キーと共に記憶
された他の情報に基づいて、あるいは暗号化されたキー
が使用される状況から制御ベクトルが動的に再構成でき
る限り、平文制御ベクトルを記憶する必要はない。
生成されたキー及び搬入されたキーはすべて、暗号機
構の外部で暗号化され大容量キー記憶機構に記憶され
る。キー記憶機構は、さらに別々の2つの記憶域に区分
される。KKDS(KEKデータ・セット)とDKDS(データ・
キー・データ・セット)である。これらの2つの記憶域
が区別されるのは、データ・キー及びキー暗号化キー
(及びPIN関連キー)を管理するためにCA中で異なる機
構が使用されるためである。
暗号化されたキー暗号化キー、PIN暗号化キー及びPIN
生成キーは、KKDSに記憶し、秘密でないキー・ラベルを
使ってアドレスすることができる。
暗号化されたデータ・キーはDKDSに記憶することがで
き、平文データ・キーは暗号機構に記憶することができ
る。ただし、これらのキーにアクセスするアプリケーシ
ョンが、約56個の秘密の独立ビットをもつ秘密のトーク
ン値を使って、それにアクセスすることが条件である。
暗号化されたデータ・キーにアクセスするために使用さ
れる秘密のトークンの1方向機能に等しいマスクと各暗
号化キーの排他的論理和を取ることにより、DKDSに記憶
された暗号化されたキーに追加の安全保護を与えること
ができる。
第38表は、複数のKEK項目をもつKKDSを示す。すべて
のキー暗号化キー(KEKiで表す)は2つの64ビット・キ
ー部分から構成され、2つの64ビット・キー部分の形で
暗号化され記憶される。最初の部分は、KM XOR CLによ
って形成されたキーによるキーの左半分の暗号化(KEKi
L)である。ただし、CLはKEKiLに関連する制御ベクトル
である。同様に、第2の部分は、KM XOR CRによって形
成されたキーによるキーの右半分の暗号化(KEKiR)で
ある。ただし、CRはKEKiRに関連する制御ベクトルであ
る。制御ベクトルCLとCRは、キーの半分が左半分かそれ
とも右半分かを示すKEY FORMフィールドの値以外は同じ
である。キーKEKiが短い(すなわち、単長)場合、それ
は依然として2つの64ビット半分の形で記憶される。た
だし、KEKiL=KEKiR及びCL=CR=Cなので、左半分と右
半分は等しい。キーの左半分及び右半分を、キーのその
半分の位置が左か右かを示す対応する制御ベクトルに結
合することが、「キー半分複製」攻撃と呼ばれているタ
イプの攻撃に対して防御するのに不可欠である。この種
の攻撃では、こうした結合がないと仮定すると、不正使
用者は、暗号化された一方の半分の代わりに他方の半分
を使用する(すなわち、1つのキー半分を複製する)の
で、暗号化されたキーの2つの半分は等しくなる。不正
使用者は、キーの半分を徹底的に探索するためにキー半
分に対して暗号演算を実行することができる。不正使用
者は、その後、他のキー半分について処理を繰り返す。
要するに、長いキーの作業ファクタが、短いキーの作業
ファクタの大きさにまで減少する。
どの暗号化動作でも、CFAPはキー記憶機構から暗号化
キーを取り出して、それを実行中の命令に供給する。こ
れらのキーは、CF内部でだけ非暗号化(復号化)され命
令によって使用される。キーが平文の形でCFの外部に現
れることない。
キー暗号化キーに対して通常作用する大部分のキー管
理命令では、各命令が呼び出されるとき、倍長のキー暗
号化キーの2つのキー半分を操作または作成するため
に、その命令を2度呼び出さなければならない。各呼出
しが、キー暗号化キーの各キー半分に作用しまたはそれ
を作成する。したがって、CFAPまたはアプリケーション
は、正しい結果を保証するため、(暗号化されたキー半
分とキー形式フィールドの適切な値に関連する制御ベク
トルなどの)パラメータの適切な値を提供しなければな
らない。
キーが頻繁にアクセスされる大容量システムでは、キ
ーのアクセス速度を上げるため、キャッシュ機構を実施
することができる。
外部者の攻撃と内部者の攻撃 外部者の攻撃及びある種の内部者の攻撃に対する安全
保護を提供することがキー管理の意図である。
ANSI X9.17キー管理 どちらのキー管理に対する安全保護も失わずに、ANSI X
9.17キー管理と共存できるようにすることがキー管理の
意図である。
現在のプロダクトとの互換性 現在のプロダクト、たとえばIBM 3848/CUSPとの互換
性は、2つのレベルで処理される。キー生成、RTMK及び
RFMK命令を組み合わせると、データ・キーが異なる4つ
の形で作成できる。これら4つの形は、IBM3848/CUSPで
現在利用可能なキー生成マクロによって作成できる異な
る4つの形と直接対応するものである。たとえばセッシ
ョン・キーの生成時にIBM 3848/CUSPと互換性を保つた
め、キー生成機能を使って、乱数を作成することがで
き、それらの乱数はマスタ・キーのもとで暗号化された
セッション・キーとみなされる。次いで、RFMK機能を使
ってそれを他のノードに発送することができる。同様
に、まずキー生成命令を使って乱数を獲得することによ
って、ファイル・キーを互換性を保って生成することが
できる。それらの乱数は、ファイル・マスタ・キーのも
とで暗号化されたファイル・キーとみなされる。次いで
RTMK機能を使って、システムで使用するためそれをマス
タ・キーのもとで暗号化されたファイル・キーに変換す
ることができる。RTMK及びRFMK機能は、制御ベクトルが
64ゼロ・ビット(すなわち、制御ベクトルなし)である
データ・キーの搬入及び搬出という特殊なケースを有効
に許容する。
ソフトウェア・インターフェース CFAPは暗号機構へのアプリケーション・インターフェ
ースをもたらす。このインターフェースはマクロまたは
サブルーチン呼出しの形で実施でき、キー記憶機構デー
タ・セットに記憶されたキーの記憶と検索を扱うキー記
憶マネージャ構成要素を含むことができる。
ANSI X9.17管理 概要: ANSIノードのアーキテクチャ 第36図は、ANSI X9.17ノードの基本構成要素を示す。
このアーキテクチャは、第1図、第2図及び第3図に示
す基本的システム図に基づくものである。
ANSIキー・マネージャは、キーを生成し、搬入し、搬
出し、暗号サービス・メッセージ(CSM)を確認するた
めに暗号機構アクセス・プログラム(CFAP)の暗号サー
ビスを利用するアプリケーション・プログラムである。
CSMは、通信中のANSIノード間でキー作成用資料または
関連情報を交換するのに使用されるANSI X9.17定義メッ
セージである。
CFAPは、キー記憶マネージャのサービスを使って、暗
号機構(CF)の外部に記憶されたANSIキーにアクセスす
る。この記憶域はキー記憶機構と呼ばれる。こうしたキ
ーは、適切な制御ベクトルを用いてシステム・マスタ・
キー(KM)のもとで暗号化された状態で常に記憶され
る。CFは、CFAPに原始暗号機能(暗号化、非暗号化、MA
C作成機能など)を供給する。CFはまた、平文KM及び少
数の作業用キーのための限られた内部記憶域も提供す
る。
ANSIキー・マネージャは、システムで提供される通信
サービス(たとえば、VTAMまたは装置ドライバ)を使っ
て、他のANSIノードとの間でCSMを送受する。
ANSIノード機能インターフェース 第37図は、ANSIノードの構成要素間の一部の機能イン
ターフェースを示す。ANSIキー・マネージャはマクロ呼
出しによってCFAPサービスにアクセスする。CFAPは、キ
ー記憶機構マネージャに対する機能呼出しによって、AN
SIキーを検索し記憶する。キー記憶機構マネージャは、
システム入出力サービス(またはメモリ・アクセス命
令)を使って、キー記憶機構と呼ばれる2次(または1
次)記憶機構から要求されたキーを検索/記憶する。キ
ー記憶機構マネージャはまた、CFAPのためにキー保全性
を検査する。キー記憶機構中の各キー項目のレコード
は、識別用ラベル、暗号化されたキー、それが記憶され
る明示の制御ベクトル(CV)、送受信カウンタ(KEK用
のみ)、及び他のキー関連パラメータから構成される。
CFAPは、原始暗号機能を実行するためCF命令を参照す
る。
キー配布環境 ANSI X9.17は、キー配布の3つの基本環境:2地点間、
キー配布センタ及びキー変換センタを支援する。
2地点間(P−P)環境 この環境では、1つのノード(たとえば、ノードB)
が、他のノード(ノードA)と通信しようとするが、デ
ータ・キーを作成したり、あるいはそれにアクセスする
ことができない。ただし、ノードAとBは手動で導入し
たキー暗号化キー(*)KKabをすでに共用しているもの
と仮定する。(表記“(*)”は、単長キー暗号化キーK
Kまたは倍長キー暗号化キー*KKのどちらかを意味す
る。)ノードAは、ノードBが要求する1つまたは複数
のキーを生成し、ローカル・コピーを記憶し、(*)KKa
bのもとで暗号化された複製をノードBに戻す。
第38図は、2地点間環境にある2つのANSIノードを示
す。これらのノードは、キー暗号化キー*KKabを共用す
る。そのキーは、各ノードのキー記憶機構に関連する送
受信カウンタと一緒に記憶される。e*KM.C1(*KKab)は、
実際にはそれぞれ*KKabの左側及び右側の64ビットであ
るe*KM.C1(KKab1)及びe*KM.C1(KKabr)として記憶される
ことに留意されたい。他のキー関連パラメータも、この
キー用のキー記憶機構レコードに存在することがある。
2地点間キー配布を表すCSM伝送のシーケンスを示
す。ノードBはRSI(サービス初期設定要求)によって
ノードAから1つまたは複数のキーを要求し、ノードA
はKSM(キー・サービス・メッセージ)によって要求さ
れたキーを戻し、ノードBはRSM(サービス・メッセー
ジ応答)で受信を肯定応答する。エラー処理及びキー中
断要求を支援する他のCSMトランザクションも同様に2
地点間環境で定義されている。
たとえば、ノードBが、ノードAから単一データ暗号
化キーKDを要求する。次に、この要求に対する可能なRS
Iのメッセージ形式は以下の通りである。
CSM(MCL/RSI) RCV/ノードA ORG/ノードB SVR/ EDC/aKDX(MCL/RSI...SVR/)) aKDj(X)はキーKDjを使用するXのメッセージ確認
コード(MAC)を表すことに留意されたい。KDXはKDjの
特殊なケース、すなわち固定された秘密でない16進キ
ー′0123456789ABCDEF′を表す。ノードAは、単一KDを
生成し、*KKabに関連する送信カウンタでオフセットさ
れた、ノードBと共用される*KKabのもとでそれを暗号
化して、ノードBに送るべきKSMを形成する。
CSM(MCL/KSM) RCV/ノードB ORG/ノードA KD/e*KKAB+Send Ctr *KKab(KD) CTP/Send Ctr *KKab MAC/aKD(MCL/KSM...CTP/Send Ctr *KKab)) ここで、e*KKab+Send Ctr *KKab(KD)は、*KKabを、Sen
d Ctr *KKabと名付けるその送信カウンタの現在値でオ
フセットさせることによって形成されたキーによる、KD
の3重暗号化によって得られる暗号テキストである。オ
フセット化はANSI X9.17−1985の第7.4節に記載されて
いる。
ノードBはKSMを受信して、KD/フィールドを取り出
し、新しいKDを回復し、キー記憶機構中のノードBのマ
スタ・キーのもとでそれを記憶し、次いでノードAに対
する肯定応答としてRSMを定式化する。
CSM(MCL/RSM) RCV/ノードA ORG/ノードB MAC/aKD(MCL/RSM...ORG/ノードB)) キー配布センタ(KDC) 第39図は、KDC環境における3つのANSIノードを示
す。
この環境で、ノードBが、それとキーを共用していな
いノードAと通信しようとしている。ただし、ノードB
は手動で導入されたキー暗号化キー(*)KKbcを、キー
配布センタとして機能するノードCと共用しているもの
と仮定する。さらに、ノードCは、キー配布センタとし
て機能するノードCと、手動で導入されたキー暗号化キ
ー(*)KKbcを共用している。さらに、ノードCは、手
動で導入されたキー暗号化キー(*)KKacをノードAと
共用している。ノードAはノードBのキー要求をノード
Cに渡し、ノードCは2つの複製キー・セットを生成す
る。最初のセットは、(*)KKacのもとで暗号化され、
第2のセットは(*)KKbcのもとで暗号化される。次い
で両方のセットがノードAに戻される。ノードAは、最
初のキー・セットを回復して記憶し、第2のキー・セッ
トをノードBに渡す。ノードBも同様にそのキー・セッ
トを回復し記憶する。
キー変換センタ(KTC) 第40図は、KTC環境における3つのANSIノードを示
す。
この環境で、ノードBが、それをキーを共用してない
ノードAと通信しようとしている。ノードAはキーを生
成またはそれにアクセスすることができ、キー変換セン
タとして機能するノードCと、手動で導入されたキー暗
号化キー(*)KKacを共用しているものと仮定する。さ
らに、ノードCは、手動で導入されたキー暗号化キー(
*)KKbcをノードBと共用している。ノードAは、要求
されたキー・セットを生成し、ローカル・コピーを記憶
し、(*)KKacのもとで暗号化された複製セットをノー
ドCに送る。ノードCはキー・セットを回復し、(*)K
Kbcのもとでキーを再暗号化して、変換されたキー・セ
ットをノードAに戻す。ノードAは、回復し記憶するた
めにキー・セットをノードBに渡す。
キー配布のシナリオ 本節ではANSI X9.17で定義されたキー配布のシナリオ
を要約する。これらのシナリオは、キー暗号化キー用の
もの1つとデータ暗号化キー用のもの1つを表形式で示
す。
さらに、各表は、2地点間、キー変換センタ及びキー
配布センタの3つの環境に分かれている。各暗号交換に
1つの環境だけが適用される。一般に、所与の環境に対
する配布のシナリオは、左から右、上から下に提示され
る。オプションが存在する場合は、所与の欄を、選択さ
れたオプションに対する選択及び結果を反映するよう水
平に分ける。CAはすべてのANSI X9.17オプションを支援
しない。支援されないオプションは「SUP?」欄に「ノ
ー」とマークする。
欄は以下のように定義される。
ENV: ANSI X9.17配布環境、すなわち2地点間、キ
ー配布センタまたはキー変換センタ。
NOD: 配布シナリオにおける関係ノード。規約によ
り、ノードBは通常初期キー要求側、ノードAは被要求
側、KTCまたはKDCは支援キー・センタである。
RCVS: NODが受け取るキーのキー・タイプ(KK、*K
K、KDまたはKDmac、一時MACキー)を指定する。
FROM: 受信キーを生成または変換したノード。X vi
a Yは、XがノードYを介してNODにキーを渡すことを示
す。
UNDR1: キーを受信するのに使われる単長または倍長
KEK。添え字はKEKを共用するノードを示す(aはノード
A、bはノードB、cはキー・センタ)。オフセット化
は暗示され、認証は(*)KNxyの形のキーで表される。
「新」は受信キーに付随する新しいKEKを表す。
GENS: NODによって生成されたキーのキー・タイプ
(KK、*KK、KD、またはKDmac)を指定する。
STORES: NODで記憶される受信または生成されたキー
の形式;KK//KKは、単長KKを複製して疑似倍長KEKを形成
することを示す。(temp)は一時的記憶機構だけを表
す。このキーは、CSMを処理するためだけに保持され
る。
UNDR2: 受信または生成されたキーをNODで記憶する
のに使われるキー。通常、KMxの形で、ノードXのマス
タ・キーを表す(aはノードA、bはノードB、cはキ
ー・センタ);制御ベクトルの変更は暗示による。
SNDS: TOで指定されたノードに送られる生成または
変換されたキーの形式。
TO: 生成または変換されたキーが送られる先のノ
ード。X via Yは、NODがノードYを介してXにキーを送
ることを示す。X and YはNODがキーを(異なるKEKのも
とで)XとYに送ることを表す。
UNDR3: 生成または変換されたキーを送るのに使われ
る単長または倍長KEK。オフセット化は暗示による。認
証は(*)KNxyの形のKEKで表される。KK1 and KK2は、
キーが欄「TO」の指定に対応する異なる2つのKEKのも
とで送られることを表す。「新」は生成または変換され
たキーに付随する新しいKEKを表す。
SUP?: NODでANSIのCA実施態様がシナリオのこのオ
プションを支援するかどうかを示す。* KKの配布 キー暗号化キーの暗号交換を要約した表を第39図に示
す。
KDの配布 データ・キーの暗号交換を要約した表を第40表と第41
表に示す。
ANSI X9.17を支援する命令セット 1.ANSI X9.17を支援するため、以下の新しい命令がCAに
追加されている。
a.ANSIキー部分認証(APNOTR) b.ANSIマスタ・キーからの再暗号化(ARFMK) c.ANSIマスタ・キーへの再暗号化(ARTMK) d.ANSIキー変換(AXLTKEY) e.ANSIデータ・キー組合せ(ACOMBKD) 2.ANSI X9.17を支援するために、以下の既存のCA命令が
必要である。
a.キー生成 タイプANISI KEKの制御ベクトルを許容するために、
キー生成命令の拡張が追加される。
b.暗号化 変更不要 c.非暗号化(復号化) 変更不要 d.MAC生成 変更不要 e.MAC検査 変更不要 設計上の考慮事項 オフセット化と認証 キーのオフセット化とは、キーと記憶されたカウンタ
の排他的論理和を取ることによってキー暗号化キー(KE
K)を変換する処理である。オフセット化は、必ずそのK
EKによるキーの暗号化の前に、KEKを変換するために使
用される。
認証とは、送信側と所期の受信側の識別でKEKをシー
ルする方法である。通常、認証キーKNは、KEK、送信側
と受信側の識別、及びこのKEKに対するオフセット・カ
ウンタの関数として認証シールNSを計算し、次いでNSと
KEKの排他的論理和を取ることによって形成される。所
与のKEKに対するカウンタ値が時間の経過につれて増分
されるので、通常KEK認証が必要になるたびにNSを改め
て計算する。
しかし、所与のANSI KEKは常にちょうど1つの送信側
と受信側に関連しているので、NSしたがってKNは、1つ
の動的な量:KEKに対するオフセット・カウンタのみの関
数となる。したがって、KEKの静的な量(キー自体及び
送信側と受信側の識別)を使って部分認証キーKN′を計
算するために、関数APNOTRを定義することができる。K
N′は、それに対応するKEKと共に記憶され、認証が必要
なとき検索され、現カウンタ値でオフセットされるだけ
でKNを形成する。APNOTRの説明は、「ANSI部分認証キー
作成(APNOTR)」にある。
この手法の利点は、必要になるたびにKNを再計算しな
くてすむことであるが、より重要なことに、CA機能の複
雑さも低下する。キーを搬入、変換または搬出するため
に使用されるCA機能中のKEKの認証及びオフセット化を
支援する代わりに、オフセット化だけを提供すればよ
い。認証を行なわなければならない場合は、KEKの部分
認証形が当該のCA機能に供給される。そうでない場合
は、KEK自体が供給される。にも関わらず、CA機能は、
供給を暗号化または非暗号化(復号化)することを求め
る前に、特定のキーのオフセット化を実行する。
ANSI X9.17サブセット 第39表、第40表及び第41表に示したKK及びKDの配布シ
ナリオには、ANSI X9.17で定義されるすべてのオプショ
ンが含まれる。「SUP?」とラベルが付けられた各表の最
後の欄は、このオプションに対するCA支援が提供される
かどうかを示す。
この時点で、CAによって支援されないANSI配布オプシ
ョンだけは、単長キー暗号化キーの生成に関係するもの
である。たとえば、第39表では、2地点間環境にあるAN
SIノードAは新しい単長KKを生成し、4つの(*)KKオ
プション、すなわちKKab、*KKab、KNabまたは*KNabのも
とでANSIノードBにそれを送ることができる。しかし、
CAは単長KKの成長を支援しない。すなわち、4つのANSI
配布オプションの「SUP?」欄が「ノー」とマークされて
いる。
非CAノードとのANSI互換性をもたらすため、CAは新し
い単長KKの搬入を支援する。たとえば、上記と同じ表を
使うと、ANSIノードBは、他の(*)KKの4つの形、す
なわちKKab、*KKab、KNabまたは*KNabのうちの1つのも
とでANSIノードAから単長KKを受け取ることができる。
各オプションの「SUP?」欄は「イエス」とマークされて
おり、各オプションが支援されることを示す。搬入され
た単長KKは必ず複製された形(すなわち、KK//KKとして
128ビット)で記憶されることに留意されたい。
この単長KKに関する制限は、KD配布オプションにも影
響を及ぼす。ANSI X9.17では、新しい(*)KKが1つま
たは2つの新しいKDと共に配布される場合、KDが新しい
*)KKのもとで暗号化されることが必要である。しか
し、CAは単長KKの生成を支援しないので、新しい単長KK
のもとで新しいKDを配布するオプションは支援されな
い。この例は、第40表のノードAに対する2地点間環境
に示されている。この表は、新しい単長KKabによるKDの
配布が支援されないことを示す。
ICV管理 ANSI X9.17は、暗号化されたまたは平文のテキストの
64ビット初期連鎖値(ICVまたはIV)の配布を支援す
る。ICVの生成及び記憶を支援するCAマクロGENIVが定義
される。ICVは、それと一緒に使用されるKDと共にキー
記憶機構に記憶される。GENIVは、CFのキー生成命令を
使って、64ビットの平文非パリティ調整乱数RNを生成す
る。GENIVは、KDに対するキー記憶機構の項目にRNとICV
モード・フラグを記憶する。ICV モード・フラグは、R
Nが暗号化されたICVとして処理されるか、それとも平文
テキストのICVとして処理されるかを示す。暗号化モー
ドの場合、RNは、暗号化または非暗号化(復号化)機能
中でそれをICVとして使用する前に、キーKDを使って非
暗号化(復号化)されなければならない。ANSI X9.17の
RTR及びKSMメッセージを使って、生成されたICV、及びI
CVが暗号化されているかそれとも平文テキストかを示す
同様のフラグが配布される。GENIVはまた、受信側で受
信したICVをキー記憶機構に記憶するために使用され
る。もちろん受信側は、RTRまたはKSMメッセージのフラ
グに基づいてICV モードを指定しなければならない。
頭字語と略語 CC 条件コード CA 暗号アーキテクチャ CV 制御ベクトル(ICVまたはOCVとは無関係) CBC 暗号ブロック連鎖。データ暗号化標準の暗号
化モード DED 非暗号化(復号化)、暗号化及び非暗号化
(復号化) DEA データ暗号化アルゴリズム DES データ暗号化標準 ECB 電子コード・ブック、DESの暗号化モード EDE 暗号化、非暗号化(復号化)及び暗号化 ICV 入力連鎖値(CVとは無関係) KDx データ・キー(x=整数) KEKx キー暗号化キー(x=整数) KM マスタ・キー KMN 新マスタ・キー KMO 旧マスタ・キー KPEx PIN暗号化キー(x=整数) KPGx PIN生成キー(x=整数) KPVx PIN妥当性検査キー(x=整数) KKNI 中間認証キー、128ビット KKNIL KKNIの左64ビット KKNIR KKNIの右64ビット KDmac ANSIメッセージ用の一時MACキー MAC メッセージ確認コード MDC 修正検出コード OCV 出力連鎖値 PIN 個人識別番号(ATMと共に使用) アルゴリズム コード化及び復号アルゴリズム コード化及び復号命令は、DESのECB(電子コード・ブ
ック)を使用する。このモードでは連鎖やフィードバッ
クはない。第41図は、ECBの暗号化及び非暗号化(復号
化)モードの動作を示す。
暗号アルゴリズム 暗号化/非暗号化(復号化)アルゴリズムは、米国標
準局データ暗号化標準(DES)局または、それと等価な
米国規格協会データ暗号化アルゴリズム(ANSI DEA)X
9.92−1981である。暗号化ブロックの連鎖(CBC)は、A
NSI暗号動作モードX9.106−1983で指定されているよう
に行なわれる。第42図及び第43図は、それぞれCBCの暗
号化及び非暗号化(復号化)モードの動作を示す。
メッセージ確認(MAC) 後述する参考文献(6)で参照されている金融機関メ
ッセージ確認標準(卸売り)(ANSI X9.9)は、発送者
から受信者へのメッセージを確認するための処理を定義
する。この処理は、通信媒体及び支払いシステムから独
立している。
この確認処理には、メッセージ確認コード(MAC)の
計算、伝送及び検査が含まれる。MACは、完全なメッセ
ージ・テキストまたはテキストの選択されたメッセージ
要素に基づく。MACは、発送者の手でメッセージに追加
されて、受領者に送信される。メッセージまたはメッセ
ージ要素は、同じアルゴリズム及びプライバシ・キー
で、受け取ったMACと同じMACが生成される場合、受領者
によって本物として受け入れられる。確認処理の安全保
護は、プライバシ・キーに対して与えられる安全保護に
直接依存する。
MACは、第44図に示すように生成される。この標準に
記載されている確認アルゴリズムは、ANSI X3.106−198
3に記載されているように、64ビットCBCまたはCFB動作
モードを使って実施できる。両方のモードが、等価なMA
Cを生成するように初期設定される。KEYは64ビット・キ
ーであり、AlないしAnは64ビットのデータ・ブロックで
ある。初期連鎖値はこの標準では“0"であり、CBC動作
モードは第44図に示すように実施すべきである。Anが64
ビット未満の場合、残りのビットの右側に′0′が付加
される(埋め込まれる)。(ON)の一番左側の32ビット
がMACとみなされる。
注:48ビット及び64ビットのMACを生成及び処理するため
の互換性が、存在しなければならない。これらの場合、
一番左側の48ビットまたは最終出力全体(On)がMACと
みなされる。
このアルゴリズムは2進データのMAC生成を記述す
る。「コード化文字セット」のメッセージ確認は、ANSI
X9.9−1986に記載されているように実施すべきであ
り、文字が2進データで表された後にMACアルゴリズム
が呼び出される。
MDCアルゴリズム 2つのMDCアルゴリズムが存在する。
1.MDC 2−8バイトの入力データ・ブロックごとに2回
の暗号化 2.MDC 4−8バイトの入力データ・ブロックごとに4回
の暗号化 異なる2つのアルゴリズムを用いると、呼出し側は、
そのアプリケーションに依存する安全保護のわずかな低
下と引き換えに50%の性能改善を得ることができる。
−MDC 2(テキスト) 1.入力テキストにX“FF"を埋め込んで8バイトの倍数
にする。
2.入力テキストを[n]個の8バイト・ブロックT8
[1]ないしT8[n]に区分する。
3.n=1の場合、n=2及びT8[2]=8バイトのx“0
0"と設定する。
4.KD1とKD2の初期値を設定する(下記参照)。
5.[i]=1,2,・・・,nについて、 a.MDCOP(KD1、KD2、T8[i]、T8[i]) b.KD1:=OUT1 c.KD2:=OUT2 d.FORループの終わり 6.MDC 2の出力は、16バイトMDC:=(KD1//KD2)であ
る。
−MDC 4(テキスト) 1.入力テキストにX′FF′を埋め込んで8バイトの倍数
にする。
2.入力テキストを[n]個の8バイト・ブロックT8
[1]ないしT8[n]に区分する。
3.n=1の場合、n=2及びT8[2]=8バイトのx“0
0"に設定する。
4.KD1とKD2の初期値を設定する(下記参照)。
5.[i]=1,2,・・・,nについて、 a.MDCOP(KD1、KD2、T8[i]、T8[i]) b.KD1int:=OUT1 c.KD2int:=OUT2 d.MDCOP(KD1int、KD2int,KD2、KD1) e.KD1:=OUT1 f.KD2:=OUT2 g.FORループの終わり 6.MDC 4の出力は、16バイトMDC:=(KD1//KD2)であ
る。
KD1とKD2の初期値は以下の通りである。
1.KD1:=X“5252525252525252" 2.KD2:=X“2525252525255252" MDCテスト・パターン−実行予定 認証アルゴリズム KK使用 認証キーを計算するために使用されるキーをKKとす
る。そうすると、 KKR=KK+FM1(+は排他的論理和演算、FM1はIDからの
最初の8バイト) KKL=KK+TO1(TO1はIDへの最初の8バイト) NS1=eKKR(TO2)TO2はIDへの第2の8バイト NSr=eKKL(FM2)FM2はIDからの第2の8バイト NS=(NS1の左側32ビット)//NSrの右側32ビット)+CT
(CTはKKに関連する64ビットのカウンタ) KN=KK+NS KNはKDまたはKKを暗号化するのに使用され
る認証キー* KK使用 認証キーを計算するために使用されるキーを*KKとす
る。そうすると、* KK=KK1//KKr KKR=KKr+FM1(+は排他的論理和演算、FM1はIDからの
最初の8バイト) KKL=KK1+TO1(TO1はIDへの最初の8バイト) NS1−eKKR(TO2)+CT(TO2はIDへの第2の8バイト、C
Tは*KKに関連する64バイトのカウンタ) NSr=eKKL(FM2)+CT(FM2はIDからの第2の8バイ
ト)* KN=(KK1+NS1)//(KKr+NSr)*KNはKDまたは(*)K
Kを暗号化するのに使用される認証キー 標準及び定義 標準 ANSI X2.92−1981「データ暗号化アルゴリズム」 ANSI X9.106−1983「DEA動作モード」 ANSI X9.2−198X「金融機関同士のデビット及びクレジ
ット・カード・メッセージ交換用の交換メッセージの指
定」この標準は、金融トランザクションに関係するバン
ク・カードから発されるメッセージを私用システム間で
交換するのに使われる共通インターフェースを指定す
る。これは、メッセージの構造、形式、内容、データ要
素とデータ要素の値を指定したものである。
ANSI X9.8−1982「個人識別番号(PIN)管理及び安全保
護に関する米国標準」この標準は、個人識別番号(PI
N)のライフ・サイクルの管理及び安全保護に関する標
準及び指針を確立したものである。
ANSI X9.9−1986「金融機関メッセージ確認(卸売り)
に関する米国標準」この標準は、振替(たとえば、電信
振替)、信用状、有価証券書換え、借款協定、外国為替
予約などの金融メッセージ(卸売り)を確認する方法を
確立したものである。
ANSI X9.17−1985「金融機関キー管理(卸売り)」この
標準は、暗号キーの生成、交換、及び確認及び暗号化の
ための使用の(プロトコルを含む)方法を確立したもの
である。
ANSI X9.19−198X「金融機関小売メッセージ確認」この
標準は、小売取引の金融メッセージを確認する方法を確
立したものである。
ANSI X9.23−198X「卸売り金融メッセージ暗号化」この
標準は、機密(たとえば、電信振替、信用状など)を保
持するために卸売り金融メッセージを暗号化する方法を
確立したものである。
ISO DIS8583「バンク・カードから発するメッセージ−
メッセージ交換指定−金融トランザクション用の内容」
この国際標準は、金融トランザクションに関係するバン
ク・カードから発するメッセージを私用システム間で交
換するのに使用する共通インターフェースを指定したも
のである。
ISO DIS8720「メッセージ確認」 ISO DP8730「金融業務−標準メッセージ確認(卸売り)
要件」この国際標準は、メッセージ確認コード(MAC)
を用いて金融機関間でパスするメッセージの真正さを保
護するための技術を指定したものであ。
ISO DP8731「金融業務−メッセージ確認用の公認アルゴ
リズム−パート1:DES−1アルゴリズム」ISO8731のこの
部分は、メッセージ確認コード(MAC)の計算に使用す
るための方法としてのデータ暗号化アルゴリズム(DEA
−1)を扱っている。パート−2はその他の非DEAアル
ゴリズム。
ISO DP8732「金融業務−キー管理卸売り」この国際標準
は、卸売金融トランザクション中に交換されるメッセー
ジの暗号化及び確認のために使用されるキー作成資料の
管理方法を指定したものである。
ISO DP9546「個人識別番号の管理及び安全保護パート1
−PIN保護の原理と技術」この標準は、効果的なPIN管理
に必要な最小限の安全保護措置を指定したものである。
PINデータ交換の標準的手段が規定されている。
命令及びマクロ要約図 第42表、第43表及び第44表には、CA命令のそれぞれの
式を要約する。
参考文献 1.GC31−2070−0「4700金融通信システム、コントロー
ラ・プログラミング・ライブラリー第5巻、暗号プログ
ラミング(4700 Finance Communication System,Contro
ller Programming Library,Volume 5,Cryptographic Pr
ogramming)」 2.情報システム用ANSI−DEA−動作モード(ANSI for In
formation Systems DEA−Modes of Operations)−ANSI
X3.106−1983 3.ANSIデータ暗号化アルゴリズム(ANSI Data Encrypti
on Algorithm)−ANSI X3.92−1981 4.金融機関メッセージ確認(卸売り) (Financial Institution Message Authentication(Wh
olesale))ANSI X9.9−1986 5.金融機関キー管理(卸売り)(Financial Institutio
n Key Management(Wholesale))ANSI X9.17−1985 6.R.C.Summers、システムズ・ジャーナル誌(Systems J
ournal)、Vol.23、No.4(1984年)、pp.309−325、
「コンピュータ安全保護の概要(An Overview of Compu
ter Security)」 7.W.L.Price、国立物理学研究所技術メモ(National Ph
ysical Laboratory Technical Memo)、DITC4/86(1986
年1月)、「トランザクション装置の物理的安全保護
(Physical Security of Transaction Devices)」 8.A.E.Winblad(Sandia国立研究所)SAND85−0766C(19
85年12月)、「内部者による脅威に対する物理的保護の
将来の発展(Future Developments in Physical Protec
tion Against the Insider Threat)」 9.John Horgan、IEEEスペクトラム(IEEE Spectrum)、
1985年7月、pp.30−41、「情報窃盗者の阻止(Thwarti
ng the Information Thieves)」 10.T.H.DiStefano、NBS特別刊行物(NBS Special Publi
cation)400−23、ARPA/NBSワークショップIV、米国メ
リーランド州ゲイサースバーク(Gaithersburg)、1976
年3月刊、「半導体表面の光電発光と光起電式撮像(Ph
otoemission and Photovoltanic Imaging of Semicondu
tor Surfaces)」 11.D.C.Shaver等、IEEE電子装置レターズ(IEEE Electr
on Device Letters)、Vol.EDL−4、No.5(1983年5
月)、「電子線プログラマブル式128Kビット・ウェハ・
スケールEPRO(Electron−Beam Programmable 128K−Bi
t Wafer−Scale EPROM)」 12.A.Gercekci(モトローラ)、米国特許第4394750号、
1983年7月19日、「PROM消去検出装置(PROM Erase Det
ector)」 13.D.J.DiMaria国際トピックス会議議事録(Proceeding
s of the International Topical Conference)、ニュ
ーヨーク州ヨークタウン・ハイツ(Yorktown Height
s)、1978年3月、S.Pantelides編、Pergamon Press社
刊、「SiO2とそのインターフェースの物理(The Physic
s of SiO2 and its Interfaces)」 14.D.R.Young等、J.Appl.Phys.、50(10)(1979年10
月)、pp.6366−72、「295K及び77KのSiO2の電子捕捉
(Electron Trapping in SiO2 at 295 and 77K)」 15.R.Singh等、IEEE核物理学紀要(IEEE Trans.on Nucl
ear Science)、Vol.NS−31、No.6(1984年12月)、pp.
1518−23、「CMOS LSI用ゲート酸化物の総投与量及び電
荷捕捉効果(Total−Dose and Charge−Trapping Effec
ts in Gate Oxides for CMOS LSI Devices)」 16.R.Reich、IEEE電子デバイス・レターズ(IEEE Elect
ron Device Letters)、Vol.EDL−7、No.4(1986年4
月)、pp.235−7、「放射線依存ホット・キャリア効果
(Radiation−Dependent Hot−Carrier Effects)」 17.David Chaum編、「暗号技術の進歩(Advances in Cr
yptology)」、 Crypto83紀要(Proceedings of Crypto 83)、Plenum P
ress社刊、ニューヨーク、1984年、「反射物応答システ
ムの設計概念(Design Concepts for Tamper Respondin
g Systems)」 以上、本発明の特定の実施例を開示したが、本発明の
精神と範囲から逸脱することなく、特定の実施例に変更
を加えることができることは、当業者には明らかであ
る。
E.発明の効果 以上説明したように、本発明によれば従来に比べて実
用的で融通性の高いキー管理技術を提供することができ
る。
【図面の簡単な説明】
第1図は、本発明を適用しうる暗号機構(CF)の主要構
成要素を示すシステム図である。 第2図は、CF、ソフトウェア・ドライバCFAP及び暗号ア
プリケーション・プログラムの構成要素を示すシステム
図である。 第3図は、制御ベクトルが様々なシステム間通信シナリ
オのどこで適用されるかを示す図である。 第4図は、基本的暗号キーの分離を示す説明図である。 第5図は、データ・キーの分離を示す説明図である。 第6図は、PINキーの分離を示す説明図である。 第7図は、キー暗号化キーの分離を示す説明図である。 第8図は、定義された各キー・タイプに対して行なわれ
る分離を要約した図である。 第9図は、拡張制御ベクトルを用いてマスタ・キーのも
とでキーKを暗号化する方法を示す説明図である。 第10図は、コード化命令の構成図である。 第11図は、復号命令の構成図である。 第12図は、暗号化命令の構成図である。 第13図は、非暗号化命令の構成図である。 第14図は、メッセージ確認コード生成(Genmac)命令の
構成図である。 第15図は、メッセージ確認コード検査(Vermac)命令の
構成図である。 第16図は、暗号テキスト変換命令の構成図である。 第17図は、GKS命令の構成図である。 第18図は、マスタ・キーからの再暗号化命令の構成図で
ある。 第19図は、マスタ・キーへの再暗号化命令の構成図であ
る。 第20図は、キー生成命令の構成図である。 第21図は、マスタ・キーのもとでの暗号化命令の構成図
である。 第22図は、変換キー命令の構成図である。 第23図は、新マスタ・キーへの再暗号化命令のモード0
(キー・モード)の構成図である。 第24図は、新マスタ・キーへの再暗号化命令のモード1
(トークン・モード)の構成図である。 第25図は、現マスタ・キーへの再暗号化命令のモード0
(キー・モード)の構成図である。 第26図は、現マスタ・キーへの再暗号化命令のモード1
(トークン・モード)の構成図である。 第27図及び第28図は、ANSI部分認証キー作成命令の構成
図である。 第29図は、ANSIマスタ・キーからの再暗号化命令(ARFM
K)の構成図である。 第30図は、ANSIマスタ・キーへの再暗号化命令(ARTM
K)の構成図である。 第31図及び第32図は、ANSIキー変換命令(AXLTKEY)の
構成図である。 第33図は、ANSI KD組合せ命令(ACOMBKD)の構成図であ
る。 第34図は、いくつかの命令によって実行されるキー状態
(OP、IM、EX)の変換を示す図である。搬出及び搬入チ
ャネルは、暗号機構から搬入及び搬出されるキーの1方
向搬送路を表す。 第35図は、ノードAとBのためにノードCで実行される
キー変換処理を示す図である。 第36図は、ANSI X9.17システム・ノードの図である。 第37図は、ANSI X9.17ノード内の構成要素間の機能イン
ターフェースを示す図である。 第38図は、ANSI 2地点間環境のシステム図である。 第39図は、ANSIキー配布センタ(KDC)環境のシステム
図である。 第40図は、ANSIキー変換センタ(KTC)環境のシステム
図である。 第41図は、DES暗号化の電子コード・ブック(ECB)モー
ドを示す図である。 第42図は、DES暗号化の暗号ブロック連鎖(CBC)モード
を示す図である。 第43図は、DES非暗号化のCBCモードを示す図である。 第44図は、メッセージ確認(MAC)アルゴリズムを示す
図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ドナルド・ビイー・ジヨンソン アメリカ合衆国ヴアージニア州マナサス、 フランツヴイル・ロード9430番地 (72)発明者 ラメシユ・ケイ・カーン アメリカ合衆国ヴアージニア州ヘーンデ ン、コパー・リツヂ・ドライブ13613番地 (72)発明者 アン・ヴイ・リ アメリカ合衆国ヴアージニア州アーリント ン、サウス・コロンバス・ストリート4217 番地 (72)発明者 ロステイスロー・プライマツク アメリカ合衆国ヴアージニア州ダンフリー ズ、フエアウエイ・ドライブ15900番地 (72)発明者 ジユリアン・トーマス アメリカ合衆国ニユーヨーク州ポキプシ イ、ロンボート・ロード・アール・デイー 3番地 (72)発明者 ジヨン・デイー・ウイルキンズ アメリカ合衆国ヴアージニア州サマーヴイ レ、ピー・オー・ボツクス8番地 (72)発明者 フイリイ・シイー・ジエイ アメリカ合衆国ニユーヨーク州ポキプシ イ、ラウンド・ヒル・ロード88番地

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】キーの初期設定、生成、配布、交換、記
    憶、伝送の制御である暗号キー管理を実行するための暗
    号サービス要求を処理するデータ処理システムにおい
    て、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求された前記キー管理機能が前記暗
    号キーの創作者により許可されたことを検証する装置で
    あって、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構を有し、 前記暗号制御手段は、前記入力経路を介して、暗号キー
    を用いて前記キー管理機能を実行するための暗号サービ
    ス要求を受信し、 前記制御ベクトル検査手段は、 前記暗号キーに関連する制御ベクトルを受信するため前
    記入力経路に接続された入力と、前記暗号制御手段に接
    続され、前記暗号サービス要求により要求された前記キ
    ー管理機能が前記制御ベクトルにより許可されているか
    否かという検査を開始するための制御信号を受信する入
    力とを有し、 前記暗号処理手段の入力に接続され、前記キー管理機能
    が許可されたことを知らせる許可信号のための出力を有
    し、前記暗号処理手段が前記暗号キーで前記要求された
    キー管理機能を実行を開始するようにする 検証装置。
  2. 【請求項2】暗号キーの管理のための暗号サービス要求
    を処理するデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記暗号処理手段に接続されており、乱数を供給する乱
    数生成器と を有し、 前記暗号制御手段は、前記入力経路を介して、第1及び
    第2の制御ベクトル(C3,C4)に関連するキー対を前記
    乱数から生成するキー・セット生成機能を実行するため
    の暗号サービス要求を受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記キー・セット生成機能が許可されて
    いる場合には許可信号を前記暗号処理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、 前記関連する第1の制御ベクトルC3と第1キーK1との論
    理演算の結果であるキーの下暗号化された形式で前記乱
    数を第1生成キーとして出力し、 前記関連する第2の制御ベクトルC4と第2キーK2との論
    理演算の結果であるキーの下暗号化された形式で前記乱
    数を第2生成キーとして出力する 検証装置。
  3. 【請求項3】前記データ処理システム内で使用可能な2
    つのキーを生成する場合には、第1及び第2キーK1,K2
    は、前記処理システム内でのローカルな動作使用が可能
    なマスタ・キーであり、 ローカルなデータ処理システムである前記データ処理シ
    ステムでのみ使用可能な第1生成キーと、前記ローカル
    なデータ処理システムに接続された遠隔データ処理シス
    テムに搬出可能な第2生成キーを生成する場合には、 第1キーK1は、前記処理システム内でのローカルな動作
    使用が可能なマスタ・キーであり、 第2キーK2は、キー暗号化キーKEK2であって、前記KEK2
    に関連する制御ベクトルC2は、前記遠隔データ処理シス
    テムへの搬出を許可しており、 ローカルなデータ処理システムである前記データ処理シ
    ステムに接続された第1遠隔データ処理システムに搬出
    可能な第1生成キーと、前記ローカルなデータ処理シス
    テムに接続された第2遠隔データ処理システムに搬出可
    能な第2生成キーとを生成する場合には、 第1キーK1は、キー暗号化キーKEK1であって、前記KEK1
    に関連する制御ベクトルC1は、前記第1遠隔データ処理
    システムへの搬出を許可しており、 第2キーK2は、キー暗号化キーKEK2であって、前記KEK2
    に関連する制御ベクトルC2は、前記第2遠隔データ処理
    システムへの搬出を許可しており、 ローカルなデータ処理システムである前記データ処理シ
    ステムでのみ使用可能な第1生成キーと、前記ローカル
    なデータ処理システムに接続された装置から搬入可能な
    第2生成キーとを生成する場合には、 第1キーK1は、前記処理システム内でのローカルな動作
    使用が可能なマスタ・キーであり、 第2キーK2は、キー暗号化キーKEK2であって、前記KEK2
    に関連する制御ベクトルC2は、前記装置から前記データ
    処理システムへの搬入を許可しており、 ローカルなデータ処理システムである前記データ処理シ
    ステムに接続された装置から搬入可能な第1生成キー
    と、前記ローカルなデータ処理システムに接続された遠
    隔データ処理システムに搬出可能な第2生成キーとを生
    成する場合には、 第1キーK1は、キー暗号化キーKEK1であって、前記KEK1
    に関連する制御ベクトルC1は、前記装置から前記データ
    処理システムへの搬入を許可しており、 第2キーK2は、キー暗号化キーKEK2であって、前記KEK2
    に関連する制御ベクトルC2は、前記遠隔データ処理シス
    テムへの搬出を許可している ことを特徴とする請求項2記載の検証装置。
  4. 【請求項4】暗号キーの管理のための暗号サービス要求
    を処理する、ローカルなデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 前記ローカルなデータ処理システムに接続し、秘密のキ
    ー暗号化キーKEKを前記ローカルなデータ処理システム
    と共有している遠隔データ処理システムと を有し、 前記暗号キー記憶手段は、 関連する制御ベクトルC1と前記マスタ・キーとの論理演
    算の結果である格納キーの下暗号化された、暗号形式の
    前記キー暗号化キーKEKと、 関連する制御ベクトルC2と前記マスタ・キーとの論理演
    算の結果である格納キーの下暗号化された、暗号形式の
    暗号キーKとを格納しており、 前記暗号制御手段は、前記入力経路を介して、前記制御
    ベクトルC2と前記マスタ・キーとの論理演算の結果であ
    る格納キーの下暗号化された形式から前記遠隔データ処
    理システムへの搬出用である前記キー暗号化キーKEKと
    関連する制御ベクトルC3との論理演算結果の下暗号化さ
    れた形式の前記暗号キーKに再暗号化する、マスタ・キ
    ーからの再暗号化機能のための暗号サービス要求を受信
    し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記マスタ・キーからの再暗号化機能が
    許可されている場合には許可信号を前記暗号処理手段に
    出力し、 前記暗号処理手段は、前記許可信号に応答して、 前記暗号形式の暗号キーKを前記暗号キー記憶手段から
    受信し、前記マスタ・キーと前記関連する制御ベクトル
    C2との論理演算の結果である格納キーにより前記暗号表
    現の暗号キーKを非暗号化し、 前記暗号形式のキー暗号化キーKEKを前記暗号キー記憶
    手段から受信し、前記マスタ・キーと前記関連する制御
    ベクトルC1との論理演算の結果である格納キーにより前
    記暗号表現のキー暗号化キーKEKを非暗号化し、 前記関連する制御ベクトルC3と前記キー暗号化キーKEK
    との論理演算の結果である格納キーにより前記暗号キー
    Kを再暗号化し、前記再暗号化された暗号キーKを前記
    制御ベクトルC3と共に前記遠隔データ処理システムに出
    力する 検証装置。
  5. 【請求項5】暗号キーの管理のための暗号サービス要求
    を処理する、ローカルなデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 前記ローカルなデータ処理システムに接続し、秘密のキ
    ー暗号化キーKEKを前記ローカルなデータ処理システム
    と共有している遠隔データ処理システムと を有し、 前記暗号キー記憶手段は、関連する制御ベクトルC1と前
    記マスタ・キーとの論理演算の結果である格納キーの下
    暗号化された、暗号形式の前記キー暗号化キーKEKを記
    憶しており、 前記遠隔データ処理システムは、前記キー暗号化キーKE
    Kと関連する制御ベクトルC3との論理演算の結果の下暗
    号化された前記暗号キーを前記ローカルなデータ処理シ
    ステムに送信し、 前記暗号制御手段は、前記入力経路を介して、前記キー
    暗号化キーと前記関連する制御ベクトルC3との論理演算
    の結果の下暗号化された形式から前記暗号キー記憶手段
    に格納するための前記マスタ・キーと関連する制御ベク
    トルC2との論理演算の結果の下暗号化された形式の前記
    暗号キーに再暗号化する、マスタ・キーへの再暗号化機
    能のための暗号サービス要求を受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記マスタ・キーへの再暗号化機能が許
    可されている場合には許可信号を前記暗号処理手段に出
    力し、 前記暗号処理手段は、前記許可信号に応答して、前記マ
    スタ・キーと前記関連する制御ベクトルC2の論理演算の
    結果の下前記暗号キーを再暗号化し、再暗号化された前
    記暗号キーを前記暗号キー記憶手段に出力する 検証装置。
  6. 【請求項6】暗号キーの管理のための暗号サービス要求
    を処理するデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記暗号処理手段に接続されており、乱数を供給する乱
    数生成器と を有し、 前記暗号制御手段は、前記入力経路を介して、前記乱数
    からキーを生成するキー生成機能のための暗号サービス
    要求を関連する制御ベクトルC1と共に受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記キー生成機能が許可されている場合
    には許可信号を前記暗号処理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、前記乱
    数を、前記制御ベクトルC1と前記マスタ・キーとの論理
    演算の結果の下暗号化された形式で、前記生成されたキ
    ーとして出力する検証装置。
  7. 【請求項7】暗号キーの管理のための暗号サービス要求
    を処理する、ローカルなデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 前記ローカルなデータ処理システムに接続し、秘密の搬
    入用キー暗号化キーKEK1を前記ローカルなデータ処理シ
    ステムと共有している第1遠隔データ処理システムと 前記ローカルなデータ処理システムに接続し、秘密の搬
    出用キー暗号化キーKEK2を前記ローカルなデータ処理シ
    ステムと共有している第2遠隔データ処理システムと を有し、 前記暗号キー記憶手段は、関連する制御ベクトルC1と前
    記マスタ・キーとの論理演算の結果である格納キーの下
    暗号化された、暗号形式の前記搬入用キー暗号化キーKE
    K1と、関連する制御ベクトルC2と前記マスタ・キーとの
    論理演算の結果である格納キーの下暗号化された、暗号
    形式の前記搬出用キー暗号化キーKEK2とを記憶してお
    り、 前記第1遠隔データ処理システムは、前記キー暗号化キ
    ーKEK1と関連する制御ベクトルC3との論理演算の結果の
    下暗号化された前記暗号キーを前記ローカルなデータ処
    理システムに送信し、 前記暗号制御手段は、前記入力経路を介して、前記搬入
    用キー暗号化キーKEK1と前記関連する制御ベクトルC3と
    の論理演算の結果の下暗号化された形式から前記第2遠
    隔データ処理システムに送信するための前記搬出用キー
    暗号化キーKEK2と前記関連する制御ベクトルC3との論理
    演算の結果の下暗号化された形式の前記暗号キーに変換
    する、キー変換機能のための暗号サービス要求を受信
    し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記キー変換機能が許可されている場合
    には許可信号を前記暗号処理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、前記キ
    ー暗号化キーKEK1と前記関連する制御ベクトルC3の論理
    演算の結果の下暗号化された形式から、前記キー暗号化
    キーKEK2と前記関連する制御ベクトルC3の論理演算の結
    果の下暗号化された形式に変換する検証装置。
  8. 【請求項8】暗号キーの管理のための暗号サービス要求
    を処理するデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 前記暗号機構内の前記暗号処理手段に連結され、現マス
    タ・キーを記憶する現マスタ・キー記憶手段と、 前記暗号機構内の前記暗号処理手段に連結され、新マス
    タ・キーを記憶する新マスタ・キー記憶手段と、 を有し、 前記暗号キー記憶手段は、関連する制御ベクトルC1と前
    記現マスタ・キーとの論理演算の結果である格納キーの
    下暗号化された、暗号形式の前記暗号キーKを記憶して
    おり、 前記暗号制御手段は、前記入力経路を介して、前記現マ
    スタ・キーと前記関連する制御ベクトルC1との論理演算
    の結果の下暗号化された形式から前記新マスタ・キーと
    前記関連する制御ベクトルC1との論理演算の結果下暗号
    化された形式の前記暗号キーKに再暗号化する、現マス
    タ・キーから新マスタ・キーへの再暗号化機能のための
    暗号サービス要求を受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記現マスタ・キーから新マスタ・キー
    への再暗号化機能が許可されている場合には許可信号を
    前記暗号処理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、 前記暗号キー記憶手段から暗号形式の前記暗号キーKを
    受信し、前記関連する制御ベクトルC1と前記現マスタ・
    キーの論理演算の結果の下前記暗号形式の前記暗号キー
    を非暗号化し、 前記関連する制御ベクトルC1と前記新マスタ・キーの論
    理演算の結果の下前記暗号キーKを再暗号化し、再暗号
    化された前記暗号キーKと前記関連する制御ベクトルC1
    を前記暗号キー記憶手段に出力する 検証装置。
  9. 【請求項9】暗号キーの管理のための暗号サービス要求
    を処理するデータ処理システムにおいて、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定し且つ搬出制御を規定するフィールドを含
    む複数のフィールドを有する制御ベクトルに関連し、 暗号キーに、より低い搬出権限を与える制御ベクトル権
    限低下機能を含むキー管理機能が前記暗号キーの創作者
    により許可されたことを検証する装置であって、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 を有し、 前記暗号キー記憶手段は、関連する制御ベクトルC1と前
    記マスタ・キーとの論理演算の結果である格納キーの下
    暗号化された、暗号形式の前記暗号キーKを記憶してお
    り、 前記暗号制御手段は、前記入力経路を介して、前記関連
    する制御ベクトルC1に対する制御ベクトル権限低下機能
    のための暗号サービス要求を受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記関連する制御ベクトルC1の前記制御
    ベクトル権限低下機能が許可されている場合には許可信
    号を前記暗号処理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、 前記暗号キー記憶手段から暗号形式の前記暗号キーKを
    受信し、前記関連する制御ベクトルC1と前記マスタ・キ
    ーの論理演算の結果の下前記暗号形式の前記暗号キーK
    を非暗号化し、 前記関連する制御ベクトルC1を、より低い権限を示す搬
    出制御フィールドを有する制御ベクトルC2と置換し、 前記マスタ・キーと前記制御ベクトルC2の論理演算の結
    果の下前記暗号キーKを再暗号化し、再暗号化された前
    記暗号キーKを前記制御ベクトルC2と共に前記暗号キー
    記憶手段に出力する 検証装置。
  10. 【請求項10】暗号キーの管理のための暗号サービス要
    求を処理する、ローカルなデータ処理システムにおい
    て、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求されたキー管理機能が前記暗号キ
    ーの創作者により許可されたことを検証する装置であっ
    て、 前記暗号サービス要求、暗号キー及び暗号キーに関連す
    る制御ベクトルを受け取るための入力経路と、これらの
    入力に対する応答を供給する出力経路とを有し、受信し
    た前記サービス要求に応答してキー管理機能を安全に実
    行するために不正アクセスに抵抗し且つ少なくとも不正
    アクセスを検出する安全保護機構内に、前記入力経路に
    接続された暗号制御手段と、前記暗号制御手段に接続さ
    れた制御ベクトル検査手段及び前記暗号処理手段と、前
    記暗号処理手段に接続されたマスタ・キー記憶装置とを
    含む暗号機構と、 前記入力経路及び出力経路を介して前記暗号機構に接続
    されており、前記マスタ・キー記憶装置に記憶されたマ
    スタ・キーと前記関連する制御ベクトルとの論理演算の
    結果である格納キーの下暗号化した、暗号形式の前記暗
    号キーを記憶する暗号キー記憶手段と、 前記ローカルなデータ処理システムに接続し、秘密のキ
    ー暗号化キーKEKを前記ローカルなデータ処理システム
    と共有している遠隔データ処理システムと を有し、 前記暗号キー記憶手段は、関連する制御ベクトルC1と前
    記マスタ・キーとの論理演算の結果である格納キーの下
    暗号化された、暗号形式の前記キー暗号化キーKEKと、
    第1の搬出権限を示す搬出フィールドを有する関連制御
    ベクトルC2と前記マスタ・キーとの論理演算の結果であ
    る格納キーの下暗号化された、前記暗号キーを記憶して
    おり、 前記暗号制御手段は、前記入力経路を介して、前記マス
    タ・キーと前記関連する制御ベクトルC2との論理演算の
    結果の下暗号化された形式から前記遠隔データ処理シス
    テムに送信するためであって前記キー暗号化キーKEKと
    前記関連制御ベクトルC2の第1の搬出権限よりも低い権
    限を示す搬出フィールドを有する前記関連する制御ベク
    トルC3との論理演算の結果の下暗号化された形式の前記
    暗号キーに変換する、受取人の搬出権限低下を伴うマス
    タ・キーからの再暗号化機能のための暗号サービス要求
    を受信し、 前記制御ベクトル検査手段は、前記暗号キーに関連する
    制御ベクトルを受信するため前記入力経路に接続された
    入力と、前記暗号制御手段に接続され、前記暗号サービ
    ス要求により要求されたキー管理機能が前記制御ベクト
    ルにより許可されているか否かという検査を開始するた
    めの制御信号を受信する入力と、前記暗号処理手段の入
    力に接続され、前記キー管理機能が許可されたことを知
    らせる許可信号のための出力とを有し、前記暗号制御手
    段に応答して、前記受取人の搬出権限低下を伴う再暗号
    化機能が許可されている場合には許可信号を前記暗号処
    理手段に出力し、 前記暗号処理手段は、前記許可信号に応答して、 前記暗号キー記憶手段から暗号形式の前記キー暗号化キ
    ーKEKを受信し、前記関連する制御ベクトルC1と前記マ
    スタ・キーとの論理演算の結果である格納キーの下前記
    暗号形式のキー暗号化キーKEKを非暗号化し、 前記暗号キーを前記関連する制御ベクトルC3と前記キー
    暗号化キーKEKの論理演算の結果の下再暗号化し、前記
    関連する制御ベクトルC3と再暗号化された前記暗号キー
    を前記遠隔データ処理システムに転送するために出力
    し、 前記遠隔データ処理システムが、前記関連する制御ベク
    トルC3の搬出フィールドに示された低い搬出権限のた
    め、前記暗号キーの再搬出に対し低い権限を有すること
    を特徴とする 検証装置。
  11. 【請求項11】前記関連する制御ベクトルが、2つの相
    互に排他的な意図する使用に基づくキー暗号化キーの分
    離を実施するためのフィールドを含むことを特徴とする
    請求項1記載の検証装置。
  12. 【請求項12】キーの初期設定、生成、配布、交換、記
    憶、伝送の制御である暗号キー管理を実行するための暗
    号サービス要求を処理するデータ処理システムにおい
    て、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求された前記キー管理機能が前記暗
    号キーの創作者により許可されたことを検証する方法で
    あって、 入力経路と出力経路と有し、受信した前記サービス要求
    に応答して前記キー管理機能を安全に実行するために不
    正アクセスに抵抗し且つ少なくとも不正アクセスを検出
    する安全保護機構内にある暗号機構において、暗号キー
    を用いて前記キー管理機能を実行するための暗号サービ
    ス要求を受信するステップと、 前記暗号キーに関連する制御ベクトルを受信し、前記暗
    号サービス要求により要求された前記キー管理機能を前
    記制御ベクトルが許可しているか否かを検査するステッ
    プと、 前記キー管理機能が許可される場合にはそのこと表す信
    号を発し、暗号処理手段により前記キー管理機能の実行
    を開始するステップと を含む検証方法。
  13. 【請求項13】キーの初期設定、生成、配布、交換、記
    憶、伝送の制御である暗号キー管理を実行するための暗
    号サービス要求を処理するデータ処理システムにおい
    て、 前記暗号キーは、その創作者により行うことが許可され
    た機能を規定した制御ベクトルに関連し、 暗号キーについて要求された前記キー管理機能が前記暗
    号キーの創作者により許可されたことを検証する装置で
    あって、 前記暗号サービス要求と、暗号キーと、それらの関連す
    る制御ベクトルとを受信し、それに対する応答を出力す
    る情報経路と、 前記情報経路に連結し、暗号キーでもってキー管理機能
    を実施するための暗号サービス要求を受信する制御手段
    と、 前記情報経路に連結し、前記暗号キーに関連する制御ベ
    クトルを受信し、前記制御手段に連結した入力を有し、
    前記制御ベクトルが前記暗号サービス要求により要求さ
    れたキー管理機能を許可しているかについての検査を開
    始する信号を受信する制御ベクトル検査手段と、 前記制御手段に連結し、前記キー管理機能を実行する暗
    号処理手段と を有し、 前記制御ベクトル検査手段が、前記暗号処理手段の入力
    に連結された許可出力を有し、前記キー管理機能が許可
    されている場合には許可されたことを伝え、それを受け
    取った前記暗号処理手段が、前記暗号キーについて要求
    された前記キー管理機能の実施を開始するようにする 検証装置。
  14. 【請求項14】前記暗号処理手段に連結し、マスタ・キ
    ーを格納するマスタ・キー格納手段と、 前記情報経路に連結し、前記暗号キーを格納する暗号キ
    ー格納手段と をさらに有する請求項13記載の検証装置。
JP1207112A 1988-08-11 1989-08-11 検証方法及び装置 Expired - Fee Related JPH0820848B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US231114 1988-08-11
US07/231,114 US4941176A (en) 1988-08-11 1988-08-11 Secure management of keys using control vectors

Publications (2)

Publication Number Publication Date
JPH0299984A JPH0299984A (ja) 1990-04-11
JPH0820848B2 true JPH0820848B2 (ja) 1996-03-04

Family

ID=22867787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1207112A Expired - Fee Related JPH0820848B2 (ja) 1988-08-11 1989-08-11 検証方法及び装置

Country Status (3)

Country Link
US (1) US4941176A (ja)
JP (1) JPH0820848B2 (ja)
CA (1) CA1317677C (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4993069A (en) * 1989-11-29 1991-02-12 International Business Machines Corporation Secure key management using control vector translation
US5029206A (en) * 1989-12-27 1991-07-02 Motorola, Inc. Uniform interface for cryptographic services
US5007089A (en) * 1990-04-09 1991-04-09 International Business Machines Corporation Secure key management using programable control vector checking
US5010572A (en) * 1990-04-27 1991-04-23 Hughes Aircraft Company Distributed information system having automatic invocation of key management negotiations protocol and method
JP2689998B2 (ja) * 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 暗号動作を行う装置
US5081677A (en) * 1990-08-31 1992-01-14 International Business Machines Corp. Crypotographic key version control facility
US5073934A (en) * 1990-10-24 1991-12-17 International Business Machines Corporation Method and apparatus for controlling the use of a public key, based on the level of import integrity for the key
EP0501760B1 (en) * 1991-02-27 1998-09-23 Canon Kabushiki Kaisha Method for detecting improper rewriting of stored data
GB9104090D0 (en) * 1991-03-08 1991-04-17 Rolls Royce Plc Improvements in or relating to moulding compositions
US5148482A (en) * 1991-05-30 1992-09-15 Motorola, Inc. Layered session data unit frame
US5142578A (en) * 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5179591A (en) * 1991-10-16 1993-01-12 Motorola, Inc. Method for algorithm independent cryptographic key management
US5164988A (en) * 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
US5265164A (en) * 1991-10-31 1993-11-23 International Business Machines Corporation Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5231666A (en) * 1992-04-20 1993-07-27 International Business Machines Corporation Cryptographic method for updating financial records
GB9211648D0 (en) * 1992-06-02 1992-07-15 Racal Datacom Ltd Data communication system
GB9213169D0 (en) * 1992-06-22 1992-08-05 Ncr Int Inc Cryptographic key management apparatus and method
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US5235642A (en) * 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
US5465300A (en) * 1993-12-27 1995-11-07 Motorola, Inc. Secure communication setup method
US5386471A (en) * 1994-01-25 1995-01-31 Hughes Aircraft Company Method and apparatus for securely conveying network control data across a cryptographic boundary
JPH07271865A (ja) 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
US7302415B1 (en) 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
DE69532434T2 (de) 1994-10-27 2004-11-11 Mitsubishi Corp. Gerät für Dateiurheberrechte-Verwaltungssystem
GB9503738D0 (en) * 1995-02-24 1995-04-19 Int Computers Ltd Cryptographic key management
US5696823A (en) * 1995-03-31 1997-12-09 Lucent Technologies Inc. High-bandwidth encryption system with low-bandwidth cryptographic modules
AU3822595A (en) * 1995-05-30 1996-12-18 International Business Machines Corporation Apparatus for key management in a secure cryptographic facil ity
US5615266A (en) * 1995-07-13 1997-03-25 Motorola, Inc Secure communication setup method
US8595502B2 (en) 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
US5720034A (en) * 1995-12-07 1998-02-17 Case; Jeffrey D. Method for secure key production
US5878143A (en) * 1996-08-16 1999-03-02 Net 1, Inc. Secure transmission of sensitive information over a public/insecure communications medium
EP0898260B1 (en) * 1997-01-17 2006-09-20 NTT Data Corporation Method and system for controlling key for electronic signature
US7003480B2 (en) * 1997-02-27 2006-02-21 Microsoft Corporation GUMP: grand unified meta-protocol for simple standards-based electronic commerce transactions
US6101255A (en) * 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
US6351536B1 (en) * 1997-10-01 2002-02-26 Minoru Sasaki Encryption network system and method
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
US6333983B1 (en) 1997-12-16 2001-12-25 International Business Machines Corporation Method and apparatus for performing strong encryption or decryption data using special encryption functions
US6308266B1 (en) * 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product
US6532451B1 (en) * 1998-03-23 2003-03-11 Novell, Inc. Nested strong loader apparatus and method
US6317829B1 (en) * 1998-06-19 2001-11-13 Entrust Technologies Limited Public key cryptography based security system to facilitate secure roaming of users
US6535607B1 (en) * 1998-11-02 2003-03-18 International Business Machines Corporation Method and apparatus for providing interoperability between key recovery and non-key recovery systems
US6307955B1 (en) * 1998-12-18 2001-10-23 Topaz Systems, Inc. Electronic signature management system
US6975728B1 (en) * 1999-06-22 2005-12-13 Digital Video Express, L.P. Hierarchical key management
DE10083046D2 (de) * 1999-10-07 2002-03-07 Deutsche Post Ag Verfahren zur Erstellung und Überprüfung fälschungssicherer Dokumente
EP1153367A4 (en) * 1999-10-15 2002-05-29 Ascom Hasler Mailing Sys Inc TECHNIQUE FOR EFFECTIVELY GENERATING POSTAL MARKS USING A POSTAGE SECURITY DEVICE
US7131006B1 (en) * 1999-11-15 2006-10-31 Verizon Laboratories Inc. Cryptographic techniques for a communications network
AU2724501A (en) * 1999-11-15 2001-05-30 Verizon Laboratories Inc. Cryptographic techniques for a communications network
US8140859B1 (en) * 2000-07-21 2012-03-20 The Directv Group, Inc. Secure storage and replay of media programs using a hard-paired receiver and storage device
US7457414B1 (en) 2000-07-21 2008-11-25 The Directv Group, Inc. Super encrypted storage and retrieval of media programs with smartcard generated keys
GB2368950B (en) * 2000-11-09 2004-06-16 Ncr Int Inc Encrypting keypad module
US20020141593A1 (en) * 2000-12-11 2002-10-03 Kurn David Michael Multiple cryptographic key linking scheme on a computer system
US6642643B2 (en) * 2000-12-20 2003-11-04 Thomson Licensing S.A. Silicate materials for cathode-ray tube (CRT) applications
US7185205B2 (en) * 2001-03-26 2007-02-27 Galois Connections, Inc. Crypto-pointers for secure data storage
US7110986B1 (en) 2001-04-23 2006-09-19 Diebold, Incorporated Automated banking machine system and method
US7159114B1 (en) 2001-04-23 2007-01-02 Diebold, Incorporated System and method of securely installing a terminal master key on an automated banking machine
FI112904B (fi) * 2001-06-29 2004-01-30 Nokia Corp Menetelmä suojata elektroninen laite ja elektroninen laite
JP3773431B2 (ja) * 2001-09-20 2006-05-10 松下電器産業株式会社 鍵実装システムおよびこれを実現するためのlsi、並びに鍵実装方法
US7409562B2 (en) * 2001-09-21 2008-08-05 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
US7007040B1 (en) 2001-12-04 2006-02-28 General Dynamics C4 Systems, Inc. Method and apparatus for storing and updating information in a multi-cast system
US7752459B2 (en) * 2001-12-06 2010-07-06 Novell, Inc. Pointguard: method and system for protecting programs against pointer corruption attacks
JP2003333024A (ja) * 2002-05-09 2003-11-21 Nec Corp 暗号化/復号化システム及びその暗号解読防止/改竄防止方法
US7660421B2 (en) * 2002-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Method and system for secure storage, transmission and control of cryptographic keys
US7392384B2 (en) * 2002-06-28 2008-06-24 Hewlett-Packard Development Company, L.P. Method and system for secure storage, transmission and control of cryptographic keys
TW576063B (en) * 2002-07-10 2004-02-11 Benq Corp Device and method for securing information associated with a subscriber in a communication apparatus
US7000829B1 (en) 2002-07-16 2006-02-21 Diebold, Incorporated Automated banking machine key loading system and method
JP2004054834A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
US7274792B2 (en) * 2002-08-09 2007-09-25 Broadcom Corporation Methods and apparatus for initialization vector processing
US6931133B2 (en) * 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
US8261063B2 (en) * 2003-02-03 2012-09-04 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
US6996233B2 (en) * 2003-06-19 2006-02-07 International Business Machines Corporation System and method for encrypting and verifying messages using three-phase encryption
US8117273B1 (en) 2003-07-11 2012-02-14 Mcafee, Inc. System, device and method for dynamically securing instant messages
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US8139770B2 (en) * 2003-12-23 2012-03-20 Wells Fargo Bank, N.A. Cryptographic key backup and escrow system
JP2005311490A (ja) * 2004-04-19 2005-11-04 Sony Corp セキュア通信を行う通信システム及び方法
CA2536611C (en) 2004-06-14 2013-01-15 Research In Motion Limited Method and system for securing data utilizing redundant secure key storage
US8024572B2 (en) * 2004-12-22 2011-09-20 Aol Inc. Data storage and removal
DE112005003281B4 (de) * 2004-12-30 2012-02-16 Topaz Systems Inc. Elektronisches Signatursicherheitssystem
US7813510B2 (en) * 2005-02-28 2010-10-12 Motorola, Inc Key management for group communications
US8291224B2 (en) 2005-03-30 2012-10-16 Wells Fargo Bank, N.A. Distributed cryptographic management for computer systems
US8295492B2 (en) 2005-06-27 2012-10-23 Wells Fargo Bank, N.A. Automated key management system
US9325944B2 (en) 2005-08-11 2016-04-26 The Directv Group, Inc. Secure delivery of program content via a removable storage medium
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
JP4930028B2 (ja) * 2006-12-13 2012-05-09 ソニー株式会社 情報処理装置、情報処理方法、プログラム
US20100027790A1 (en) * 2007-12-20 2010-02-04 Balaji Vembu Methods for authenticating a hardware device and providing a secure channel to deliver data
US8352741B2 (en) 2009-06-11 2013-01-08 Microsoft Corporation Discovery of secure network enclaves
US9742560B2 (en) * 2009-06-11 2017-08-22 Microsoft Technology Licensing, Llc Key management in secure network enclaves
US8447983B1 (en) 2011-02-01 2013-05-21 Target Brands, Inc. Token exchange
US9264230B2 (en) 2011-03-14 2016-02-16 International Business Machines Corporation Secure key management
US8619990B2 (en) 2011-04-27 2013-12-31 International Business Machines Corporation Secure key creation
US8755527B2 (en) 2011-05-04 2014-06-17 International Business Machines Corporation Key management policies for cryptographic keys
US8634561B2 (en) * 2011-05-04 2014-01-21 International Business Machines Corporation Secure key management
US8789210B2 (en) 2011-05-04 2014-07-22 International Business Machines Corporation Key usage policies for cryptographic keys
US8566913B2 (en) 2011-05-04 2013-10-22 International Business Machines Corporation Secure key management
KR20130003616A (ko) * 2011-06-30 2013-01-09 한국전자통신연구원 세션 키 및 클러스터 키 생성 방법 및 그 장치
US8918651B2 (en) * 2012-05-14 2014-12-23 International Business Machines Corporation Cryptographic erasure of selected encrypted data
US9954848B1 (en) 2014-04-04 2018-04-24 Wells Fargo Bank, N.A. Central cryptographic management for computer systems
US10185669B2 (en) 2014-08-04 2019-01-22 Oracle International Corporation Secure key derivation functions
US9830479B2 (en) 2014-09-16 2017-11-28 Nxp Usa, Inc. Key storage and revocation in a secure memory system
US20160321133A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Verifying accurate storage in a data storage system
US10644878B2 (en) * 2016-06-24 2020-05-05 NTT Research Key management system and method
WO2018053511A1 (en) 2016-09-19 2018-03-22 Ntt Innovation Institute, Inc. Threat scoring system and method
US11757857B2 (en) 2017-01-23 2023-09-12 Ntt Research, Inc. Digital credential issuing system and method
US10615972B2 (en) * 2018-01-19 2020-04-07 Vmware, Inc. System and methods of managing shared keys in a computer cluster with high availability
KR20200086800A (ko) * 2019-01-10 2020-07-20 삼성전자주식회사 전자 장치, 전자 장치 제어방법 및 네트워크 시스템
US11868275B2 (en) * 2021-06-24 2024-01-09 International Business Machines Corporation Encrypted data processing design including local buffers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US4218738A (en) * 1978-05-05 1980-08-19 International Business Machines Corporation Method for authenticating the identity of a user of an information system
US4223403A (en) * 1978-06-30 1980-09-16 International Business Machines Corporation Cryptographic architecture for use with a high security personal identification system
US4386233A (en) * 1980-09-29 1983-05-31 Smid Miles E Crytographic key notarization methods and apparatus
US4578530A (en) * 1981-06-26 1986-03-25 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4503287A (en) * 1981-11-23 1985-03-05 Analytics, Inc. Two-tiered communication security employing asymmetric session keys
US4500750A (en) * 1981-12-30 1985-02-19 International Business Machines Corporation Cryptographic application for interbank verification
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
JPH0685517B2 (ja) * 1985-06-28 1994-10-26 ソニー株式会社 情報サ−ビスシステム
US4683968A (en) * 1985-09-03 1987-08-04 Burroughs Corporation System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules
US4850017A (en) * 1987-05-29 1989-07-18 International Business Machines Corp. Controlled use of cryptographic keys via generating station established control values

Also Published As

Publication number Publication date
US4941176A (en) 1990-07-10
JPH0299984A (ja) 1990-04-11
CA1317677C (en) 1993-05-11

Similar Documents

Publication Publication Date Title
JPH0820848B2 (ja) 検証方法及び装置
EP0354774B1 (en) Data cryptography using control vectors
US4918728A (en) Data cryptography operations using control vectors
US4203166A (en) Cryptographic file security for multiple domain networks
US4386233A (en) Crytographic key notarization methods and apparatus
US5265164A (en) Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5200999A (en) Public key cryptosystem key management based on control vectors
EP0002580B1 (en) A process for the verification of cryptographic operational keys used in data communication networks
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
US5214698A (en) Method and apparatus for validating entry of cryptographic keys
US5815573A (en) Cryptographic key recovery system
US6307936B1 (en) Cryptographic key management scheme
US6049612A (en) File encryption method and system
US4218738A (en) Method for authenticating the identity of a user of an information system
US6272632B1 (en) System and method for controlling access to a user secret using a key recovery field
US4924514A (en) Personal identification number processing using control vectors
US6532451B1 (en) Nested strong loader apparatus and method
US5555309A (en) Cryptographic key management apparatus and methods
US11308241B2 (en) Security data generation based upon software unreadable registers
JP2004530346A (ja) セキュアな暗号鍵の生成、証明、および使用のための方法および装置
WO1998054633A1 (en) Method and apparatus for signing and sealing objects
JPH07123086A (ja) Icカードを利用した著作物通信管理システム
EP4205347A1 (en) Data management and encryption in a distributed computing system
EP0356065B1 (en) Secure management of keys using control vectors
EP0354771A2 (en) Personal identification number processing using control vectors

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees