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

検証装置及び検証方法

Info

Publication number
JPH02101491A
JPH02101491A JP1210802A JP21080289A JPH02101491A JP H02101491 A JPH02101491 A JP H02101491A JP 1210802 A JP1210802 A JP 1210802A JP 21080289 A JP21080289 A JP 21080289A JP H02101491 A JPH02101491 A JP H02101491A
Authority
JP
Japan
Prior art keywords
key
data
cryptographic
control vector
encrypted
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.)
Granted
Application number
JP1210802A
Other languages
English (en)
Other versions
JPH0820849B2 (ja
Inventor
Stephen M Matyas
ステイブン・エム・マチイース
Dennis G Abraham
デニス・ジイー・アブラハム
Donald B Johnson
ドナルド・ビイー・ジヨンソン
Ramesh K Karne
ラメシユ・ケイ・カーン
An V Le
アン・ヴイ・リ
Rostislaw Prymak
ロステイスロー・プライマツク
Julian Thomas
ジユリアン・トーマス
D Wilkins John
ジヨン・デイー・ウイルキンズ
Phil C Yeh
フイリイ・シイー・ジエイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02101491A publication Critical patent/JPH02101491A/ja
Publication of JPH0820849B2 publication Critical patent/JPH0820849B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は広くいえばデータ処理技術に関するものであり
、詳細にいえばデータ処理における暗号化の適用に関す
るものである。
B、従来技術及びその課題 電子データ安全保護を支援する各種の方法が存在してい
る。暗号化とは理解可能な情報を、見かけ上理解不能な
形態に変換し、この情報を許可を受けていない者に対し
て隠蔽することである。暗号化は地上回線、通信衛星、
及びマイクロ波施設を使用する通信ネットワークによっ
て伝送される情報を保護する、唯一の周知の実用的な方
法である。記憶されているデータを保護する最も経済的
な方法でもある。暗号プロシージャをデータのブライバ
シを保護するためだけでなく、データの保全性を保護す
るためにも使用できる。
データの暗号変換は通常、キーの制御下で選択されたア
ルゴリズムまたはプロシージャによって定義される。ア
ルゴリズムは通常公知の知識なので、変換または暗号化
されたデータが保護できるかどうかはキーを秘密に保て
るかどうかにかかっている。すなわち、不正使用者が周
知のアルゴリズムとキーを使用して簡単に暗号化データ
を回復するのを防止するため、キーを秘密にしなければ
ならない。したがって、データを保護するにはプライバ
シ・キーの保護が必要となる。
キー管理の新しい手法が、本発明と同時出願のS、M、
マティアス(Matyas )他の特許出願に記載され
ており、これは本発明の良好な背景をも提供する。本発
明は暗号キー及び方法を、暗号によってデータの機密性
及び保全性の保護に適用することを目的とするものであ
り、これに対しマティアス他の特許出願はキー自体の生
成、分配(配送)、及び管理を対象とするものである。
データの暗号化及び非暗号化(復号化ともいう)を行な
う従来方法は、盗聴者の攻撃を防止するためのキー及び
データ操作の複雑なシーケンスへと発展してきた。これ
らのシーケンスが複雑となったので、安全システムの安
全保護管理が困難となった。処理装置または処理装置の
システムの変更には、費用がかかる。必要なことは、キ
ー及びこれらのキーによって暗号化されたデータの使用
を管理する優れた方法である。重要なのは、システム管
理者がある種のデータと対応するキーの分離を維持する
機能を含め、システムの安全保護機能を指定できること
である。システムの安全保護を最大限のものとするには
、管理者が動的に、公表せずに、これを簡単に行なえな
ければならない。システム管理者はシステムに対して安
全保護方針を強制し、ユーザ、データ、キー、及び実行
できる暗号操作に制限を課すことができなければならな
い。この強制は管理者が容易に行なえ、しかも攻撃者に
よる破壊に対し安全でなければならない。
融通性及び安全保護という機能は、従来技術では達成が
困難であった。
したがって、本発明の目的は、データの暗号化の改善さ
れた方法を提供することである。
本発明の他の目的は、従来技術よりも柔軟性の高いデー
タの暗号化の改善された方法を提供することである。
本発明の他の目的は、システム管理者が設定した安全保
護方針にしたがって、データの暗号化、非暗号化(復号
化)または確証を行なうユーザの権限を管理する改善さ
れたデータ暗号方法を提供することである。
本発明の他の目的は、キーの記憶機構に、発送者ないし
は創作者が許可した態様で、このキーを使用する権限を
組み込む、データ暗号化方法を提供することである。
本発明の目的は、データ・ファイルを暗号化する機能を
提供し、一部が完全に暗号化され、他の部分を許可を受
けた受容者が非暗号化(復号化)できるようにして、フ
ァイルの安全保護を改善することである。
C3課題を解決するための手段 上記及びその他の目的、特徴及び利点は、本明細書に記
載された発明によって実現される。データの暗号化は、
データ暗号化キー、キーの発送者(創作者)が意図して
いるキーの使用に対する許可を与える制御ベクトルを組
み合わせることにより、改善された態様で実現される。
制御ベクトルによって指定される用途には、暗号化、非
暗号化(復号化)、確認コードの生成及び検査、ならび
にユーザのデータの変換に関する制限がある。本発明に
より、制御ベクトルを使用して、データ処理機能の複雑
な組合せが可能である。システム管理者は本発明による
適切な制御ベクトルを選択することによって、安全保護
方針の実施態様の変更を柔軟に行なえる。
暗号メール・ボックス、セツション保護、ファイル保護
、暗号テキスト変換センタ、対等通信暗号テキスト変換
、メツセージ確認、拒否不行使メツセージ確認などの複
雑なシナリオを、本発明により、制御ベクトルを使用し
て、システム設計者が容易に実施できる。
D、実施例 本明細書記載の発明の基礎となる暗号アーキテクチャ(
CA)の原理に関する総括的な説明については、上述の
本発明と同時出願のS、M、マティアス他の特許出願を
参照されたい。暗号アーキテクチャは、キーの発送者(
創作者)の意図と整合する態様で、キーの受領者または
ユーザにキーを使用させる制御ベクトルを採用すること
によって、構内暗号機構内、およびシステム間での厳密
なキー分離を実施する。
以下の暗号データ管理機能が本明細書記載の発明によっ
て提供される。
1、データの機密性。データの機密性はメツセージまた
はファイルの内容を、無許可の開示から保護する。
データの機密性の用途には、次のものが含まれる。
a、セツション保護。2つの通信装置間の機密性すいし
セツション・レベルのデータ伝送を保護するためのデー
タの暗号化。各エンド・ユーザ(装置またはアプリケー
ジジン)は共通データ暗号化/非暗号化(復号化)キー
を共用し、各エンド・ユーザが暗号データの送受信を行
なえるようにする。
b、ファイル保護。データ・ファイルの機密性を保護す
るためのデータの暗号化。単一のエンド・ユーザ(装置
またはアプリケーション)はデータ暗号化/非暗号化(
復号化)キーを所有し、データを記憶のために暗号化し
、また後で、回復またはファイルへのアクセスのために
非暗号化(復号化)することを可能とする。
C0暗号メール・ボックス。暗号メール・ボックスは各
ユーザが、2つの形式でデータ/プライバラ・キーを有
しているマルチ・ユーザO境を記述する。最初の形式は
データの暗号化を可能とし、2番目の形式はデータの非
暗号化(復号化)を可能とする。最初の形式のキーはシ
ステムのすべてのユーザがアクセス可能な公開ディレク
トリまたは中央レジストリに置かれる。このように登録
された各キーは、キーを登録したユーザに属するユーザ
識別子に基づいて記録される。2番目の形式のキーは、
これが属するユーザによって内密のものとされる。それ
故、暗号化されたメツセージをユーザjに送信しようと
考えるユーザiは、まず公開ディレクトリに対して、ユ
ーザjの暗号を要求する。このキーによって暗号化され
たデータは次いで、ユーザjに送られ、ユーザjのメー
ル・ボックスに入れられる。ユーザjは自分の私用非暗
号化(復号化)キーを使用して、まず非暗号化(復号化
)を行なって、受け取ったメールを読むことができる。
しかしながら、他のユーザがユーザjの非暗号化(復号
化)キーにアクセスできないのであるから、この環境は
ユーザが他の各ユーザに対するメールの暗号化はできる
が、許可を受けている指定された受信ユーザだけが自分
のメールを非暗号化(復号化)シ、読むことができると
いうものである。
d、暗号テキスト変換センタ(CTC)。暗号テキスト
変換センタは暗号データを、第1のデータ・キーによる
暗号から第2のデータ・キーによる暗号へ、安全に変換
できるネットワーク・ノードまたは装置である。要する
に、CTCは暗号データを受け取ることのできる1つま
たは複数のデータ・キーと、受け取った暗号データを再
暗号化することのできる1つまたは複数のデータ・キー
を有している。それ故、これらのキーは、CTCが暗号
テキストをあるキーから他のものに変換できるが、暗号
テキストを非暗号化することができない、安全なチャネ
ルを確立する。CTCはさらに、安全チャネルへデータ
を導入するために、1つまたは複数のこれらのデータ/
プライバラ・キーを使用してデータを暗号化することが
禁止される。
e、対等通信暗号テキスト変換。この環境は2つまたは
それ以上のCTCの連鎖で構成されており、これらのC
TCはネットワーク装置の1つのセットから、ネットワ
ーク装置の他のセットへの安全なチャネルを確立する。
連鎖内の最初のCTCは、暗号データを第1のセットの
ネットワーク装置から受け取れる1つまたは複数のデー
タ・キーををしている。連鎖内の各CTCは、暗号デー
タを再暗号化できるが、非暗号化(復号化)を行なえな
い1つまたは複数のデータ・キーを有している。CTC
はさらに、安全チャネルへデータを導入するために、1
つまたは複数のこれらのキーを使用してデータを暗号化
することが禁止される。連鎖内の最後のCTCは、第2
のセットのネットワーク装置のメンバーと共用している
1つまたは複数のデータ・キーに基づいて、暗号データ
を再暗号化する。
f、暗号化ファイルの一部の変換。これは暗号化ファイ
ルの一部を、目的とする受信者と適宜共用できるキーに
変換できるアプリケーシヨンである。この方法はファイ
ルを暗号化するのに使用された元のデータ/プライバラ
・キーの共用を防止するものであるが、これは共用を行
なうと、共用を意図していないデータの機密性を危険に
さらす可能性があるからである。
2、データの保全性。データの保全性はメツセージまた
はファイルの内容を、無許可の修正から保護する。これ
はデータの変更、追加及び削除を含んでいる。暗号はデ
ータに対する無許可の変更を検出する方法を提供するだ
けである。データに対する無許可の変更を防ぐことはで
きない。
3、メツセージの確認。メツセージの確認は2つの通信
当事者の間で確立されるプロシージャであって、受け取
ったメツセージが真正なものであることを、各通信当事
者が検査することを可能とする。
通信当事者は人間、装置、あるいは処理機能である。メ
ツセージの確認によって、メツセージの受信者が次のこ
とを判断することを可能とする。
a、メツセージが疑わしい発送者によって発送された。
b、メツセージの内容が偶然、または意図的に変更され
た。
C,メツセージがこれが伝送されたのと同じシーケンス
で受け取られた。
d、メツセージが目的とする受信者に渡された。
換言すれば、メツセージの確認は受信者が、メツセージ
の発信元、内容、タイムリー性、及び目的とする宛先を
検証することを可能とする。メツセージ確認のアプリケ
ーションとしては、次のものが含まれる。
a、直接的なメツセージ確認 す、MACGEN及びMACvERによる拒否不行使 第1図は、暗号機構を含むデータ処理システムの構成図
を示す。第1図で、データ処理システム2は、暗号機能
アクセス・プログラムや第2図に示すアプリケーション
・プログラムなどのプログラムを実行する。これらのプ
ログラム出力暗号サービスは、制御ベクトルに関連する
データを使用してデータ暗号操作を要求する。制御ベク
トルの一般形式を第1表に示す。制御ベクトルは、関連
するキーがその発送者(創作者)によって実行を許され
た機能を定義する。本明細書に記載する暗号アーキテク
チャの発明は、プログラムがデータ・セットに要求する
データ暗号機能が、キーの発送者(創作者)によって許
可されたことを妥当性検査する装置及び方法である。
第1図に示すように、暗号機構4がデータ処理システム
2内に含まれ、または関連付けられている。暗号機構4
は、安全保護境界6で特徴付けられる。入出力経路8は
、プログラムから暗号サービス要求、暗号キー及びそれ
らに関連する制御ベクトルを受け取るために安全境界6
を通過する。
入出力経路8は、暗号機構がらの暗号要求に対する応答
を出力する。安全境界6内には、バス・ユニット12に
よって入出力経路8に接続された暗号命令記憶機構10
が含まれている。制御ベクトル検査機構14が、記憶機
構lo内の命令に結合されており、暗号処理機構16も
命令記憶機構10に接続されている。マスタ・キー記憶
機構18は暗号処理装置16に接続されている。暗号機
構4は、受け取ったサービス要求に応答してデータ暗号
機能を実行するための安全な場所をもたらす。
暗号命令記憶機構10は、入出力経路8を介して、暗号
キーを用いてデータ暗号機能を実行することを求める暗
号サービス要求を受け取る。制御ベクトル検査機構14
は、入出力経路8に接続された、暗号キーに関連する制
御ベクトルを受け取るための入力線を有する。制御ベク
トル検査機構14はまた、暗号命令記憶機構10に接続
された、制御ベクトルが暗号サービス要求から要求され
たデータ暗号機能を許可するかどうか検査を開始する制
御信号を受け取るための入力線も有する。
制御ベクトル検査装置14は、暗号処理機構16の入力
線に接続された、暗号処理機構16が許可信号を受け取
ると、暗号キーを用いて要求されたデータ暗号機能の実
行を開始する、データ暗号機能が許可されたことを示す
信号を送るための許可出力線20を有する。暗号キー記
憶機構22は、入出力経路8を介して暗号機構14に接
続される。
暗号キー記憶機構22は、暗号キーを暗号化された形で
記憶する。暗号キーは、関連制御ベクトルとマスタ・キ
ー記憶機構18に記憶されたマスタ・キーの論理積であ
る記憶キーのもとで暗号化される。
暗号キー記憶機構22から暗号キーを回復する例は、暗
号命令記憶機構10が入出力経路8を介して、暗号キー
記憶機構22から暗号キーを回復することを求める暗号
サービス要求を受け取るときに見られる。制御ベクトル
検査機構14は、それに応答して、暗号キーを回復する
機能が許可されたことを示す許可信号を、線2oを介し
て暗号処理機構16に出方する。次いで、暗号処理機構
16は、線20で許可キーに応答して、暗号キー記憶機
構22から暗号化された形の暗号キーを受け取り、関連
制御ベクトルとマスタ・キー記憶機構18に記憶された
マスタ・キーの論理積である記憶キーのもとて暗号化さ
れた形の暗号キーを非暗号化(復号化)するよう動作す
る。
記憶キーは、関連制御ベクトルとマスタ・キー記憶機構
18に記憶されたマスタ・キーの排他的論理和である。
この論理積は好ましい実施例では排他的論理和演算であ
るが、他の形の論理演算でもよい。
関連制御ベクトルは、第1表にその一般書式を示すが、
それに関連する暗号化された形の暗号キーを用いて暗号
キー記憶機構22に記憶される。暗号記憶機構に記憶さ
れたすべてのキーはマスタ・キーのもとて暗号化されて
いるので、そこで暗号キーを暗号化及び非暗号化する均
一な方法が実施できる。
第1表にその一般書式を示した関連制御ベクトルは、デ
ータ暗号機能、データ暗号化/非暗号化機能及び個人識
別番号(PIN)処理機能を含む許可されたタイプの暗
号機能を定義するフィールドを含む。データ暗号の応用
分野では、データ暗号機能のタイプはタイプ・フィール
ドで指定される。関連制御ベクトルは、キー及び関連す
る暗号化された情報の搬出制御及び使用を定義できる、
追加のフィールドをも含む。
以下に、本発明の構成要素と動作のより詳細な説明を示
す。
第2図は、暗号サブシステムの主要構成要素を示す。暗
号サブシステムは、暗号機構(CF)、暗号機構アクセ
ス・プログラム(CEAP)及びアプリケーション・プ
ログラム(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として動作できるインテル8
0288などのマイクロプロセッサで実行される。制御
ベクトル検査機構14も暗号処理機構16で実施でき、
あるいは、制御、ベクトル検査機溝14として働くイン
テル80286など第2のマイクロプロセッサによって
実施できる。
プログラム・メモリ及び処理エンジン このシステムは、CF内のメモリを利用してユーザのプ
ログラムを記憶することも、処理エンジンを利用してプ
ログラムを実行することもできる。
この例は、新しいPIN形式に対するPIN検査のため
の新しいアルゴリズムを実行するプログラムまたはマク
ロである。
乱数生成機構26 乱数生成機構は、64ビツト擬似乱数を作成するアルゴ
リズム手順である。アルゴリズム自体は秘密ではないが
、128ビツトのプライバシ・キー2個と64ビツトの
秘密でない増分カウンタ1個を使用する。秘密でないに
もかかわらず、カウンタの保全性及び適切な管理が安全
保護にとって不可欠である。
暗号機構(CF)は、暗号命令記憶機構10内にデータ
暗号アルゴリズム及び少数のキー及びデータ・パラメー
タ用の記憶機構を含む安全な実施態様である。この機構
には、処理要求、キー及びデータ・パラメータを提示し
、変換された出力を受け取ることができる不可侵の(侵
入、詐欺に対して安全な)インターフェースを介してし
かアクセスできない。
ANSIデータ暗号アルゴリズム(DEA)は、商用デ
ータ安全保護製品用の標準的暗号アルゴリズムである。
DEAは、56ビツトのブライバシ・キーを使って64
ビツトの平文テキストを暗号化し64ビツトの暗号テキ
ストを形成する、対称ブロック暗号アルゴリズムである
。DEAキーは、通常1バイトごとに1パリテイ・ビッ
トつきで記憶され、64ビツトのキーを形成する。DE
Aは、米国標準局許可の連邦データ暗号化標準の基礎を
なし、したがってDESとも呼ばれる。
暗号機構は、暗号ハードウェアに対して限られたアクセ
スしかできない内部の不正使用者による探索に耐えなけ
ればならない。「限られた」とは日や週ではなく分また
は時間単位のものである。
不正使用者は、複雑な電子機械機器を用いて不正使用者
の制御下にある場所から研究所を攻撃することができず
、限られた電子装置を用いてシステムが設置された位置
で探索攻撃を行なうしかない。
暗号機構は、物理的な探索または侵入の試みを検出しな
ければならない。これは、様々な電子機械式感知装置を
用いて行なわれる。
暗号機構は、内部に記憶されたすべての平文キーの自動
的ゼロ化を実行しなければならない。こうしたゼロ化は
、探索や侵入の試みが検出されたとき、自動的に実行さ
れなければならない。暗号機構は、フロント・パネル・
インターフェースヲ介してキー記憶機構をゼロ化する手
動能力も備えていなければならない。
暗号機構は、1つのマスタ・キーKMを含む。
他ツキ−はすべて、マスタ・キーと有効制御ベクトルの
排他的論理和を取ることによって形成されるキーのもと
て暗号化された大全記憶機構中に常駐できる。暗号機構
の例の説明は、「端末を用いる暗号通信及びファイル安
全保N (CryptographicCon+mun
ications and File 5ecurit
y [JsingTer+5inals ) Jという
名称のEhrsamの米国特許第4388234号明細
書に出ている。
CFAPは、CFとアプリケーション・プログラムの間
のプログラミング・インターフェースである。ユーザは
暗号機構に直接アクセスできないので、CFAPは、ユ
ーザがCFに特定の動作を実行することを要求する際に
使われるプログラミング・インターフェースである。
CFAPに、暗号キーが記憶されるCF外のキー記憶機
構が関連付けられている。平文キーはCF外では記憶さ
れない。キー記憶機構22を本明細書では「暗号キー・
データ・セットJ  (CKDS)とも呼ぶ。
CFAPは通常下記のものから構成される。
−上記のキー記憶機構に記憶されたキーを管理するキー
記憶マネージャ ーユーザが暗号機能を実行するためにCFにアクセスす
るのに使用するCFAPマクロアプリケーション・プロ
グラムには、ユーザのアプリケーション・プログラム、
キー導入ユーティリティなどのユーティリティ、及びI
BM  VTAMなどの通信プログラムが含まれる。
ユーザのアプリケーション・プログラムは、特定のタス
クを実行するためにあるCFAPマクロを呼び出すステ
ートメントから構成される。上記のように、CFAPは
、アプリケーション・プログラムがCFに暗号動作を実
行するよう要求するために使える唯一のインターフェー
スである。たとえば、ユーザがファイルをネットワーク
上の他のノードに送る前にそれを暗号化しようとしてい
る。ユーザのアプリケーション・プログラムは、キーを
生成するためにCFAPマクロを呼び出す1つのステー
トメント、及び所与のキーでファイルのデータを暗号化
するために他のCFAPマクロを呼び出すもう1つのス
テートメントを有する。
ユーザのアプリケーション・プログラムのもう1つの例
は、上記の導入プログラムと類似の、システム上でキー
の手動導入が可能なものである。
表記法−以下の表記法を本明細書で使用する。
ECB     電子コード・ブック CBC暗号ブロック連鎖 KM      128ビツト・マスタ・キーKEK 
    128ビツト・キー暗号キー■〈      
 64ビツト・キー *K      12gビット・キー (*)K    64または128ビツト・キーKD 
     64ビツト・データ暗号化キーKK    
  64ビツト・キー暗号キー*KK     128
ビツト・キー暗号キーt(K o     オフセット
64ビツト・キー暗号キー *KKo    オフセット128ビツト・キー暗号キ
ー (*)KKo  オフセット64または128ビツト・
キー暗号キー *KKNI   128ビツト部分認証キー暗号キー*
KN      128ビツト認証キー、*KKNIO
と等価 cx      E34ビット制御ベクトルCxL  
   84ビツト左制御ベクトルCxR64ビツト右制
御ベクトル XORまたはxor 排他的論理和演算 Or     論理和演算 X’O’    16進表記 11     連結演算 [Xコ     任意選択パラメータXnot:   
   不等号 Eまたは8 1重暗号化 りまたはd  1重非暗号化(復号化)EDEまたはe
de 3重暗号化 DEDまたはded 3m非暗号化(復号化) 式      各命令の機能は11.I2.I3.I4
.、、。
−−−01,02,03,、、、の形で数学的に示され
る。
ただし、II、 I2. I3は関数への入力であり、
01.02.03.、、、は関数がらの出力である。
KM、Cx     (KML XORCx) 11 
(KMRXORCx) =K14Y IIKMX。
ただし、KML =マスタ・キーK14の左64 ビッ
ト KMR=マスタ・キーKM の右64 ビット KMY =KML XORCx KMX =KMRXORCx e*KM、cx(key)  e:KM、cx(key
)  ;eKMY(dKMX(EKI(Y(key)) ただし、KMY ;KMI−XORCxKMX =KM
RXORCx e:KEKn、cX(key) e:KEKn、cx(key)  =eKEKY(dK
EKX(eKEKY(key))) ただし、KEKY =KEKnL XORCxLKEK
X = KEKnRXORCxRkey=64ビット・
キー e:KM、cxL(KEKnl、) e:KM、CxL(KEKL) (KEKnL))) ただし、KEKL = KMY   = K)IX   = e:’KM、CxR(KEKnR) e:KM、CxR(KEKR) (KEKnR))) ただし、にEKR= KEKの右64 ピッ ト =KNLXORCxR =KMRXORCxR eKEKLo (dKEKR。
e:KEKo(key) KMY MX e:KEKo(key)= (eKEKLo(key) ただし、KEKL。
KEKR。
cntr = eKMY)dKMX(eKMY KEKの左64 ピッ ト KMLXORCxL XJIRXORCxL = eKMY(dKMX(eKMY =  KEKL  XORcntr : にEKRXORcntr = KEKの暗黙64 ビット・キー・ メツセージ・カ ウンタ key  =64  ビット・キー キーの暗号分離 本発明では、キーは、キー形式とキー使用属性に応じて
次のように暗号分離される。
1、このアーキテクチャは、暗号キーが規定された所期
の方法でしか使用できないことを保証する。
2、内部分離とオン・ザ・リンク分離。内部(すなわち
、暗号機構内)では、キーは制御ベクトルまたは他の適
切なまたは等価な機構によって分離される。
3、ハードウェア実施とソフトウェア実施。ある暗号分
離はハードウェアで実施される。他の暗号分離はソフト
ウェアを用いて実施できる。
4、制御ベクトル・キー・タイプと互換性モード・キー
・タイプ。互換性モード・キー・タイプで安全保護が低
下しないように、これら2つのクラスのキー・タイプの
生成、分配、使用を支配する数種の規則が課される。
5、本発明によってもたらされる必要なキー分離のリス
トを以下に列挙する。
a)データのプライバシ: MACVERとMACGE
Hの分離。メールボックス、投票などの公開キー・プロ
トコルを可能にする。
b)データMAC: MACVERとMACGENの分
離。拒絶不行使(電子署名と等価)を可能にする。
C)データXLATE :中間装置が暗号化データを非
暗号化(復号化)できない、安全な変換チャネルを確立
できる。
d)データCOMPAT :他のデータ・キーの安全保
護を弱めずに互換性モードを可能にする。
e)データANSI:どちらの手法の安全保護も喪失さ
せずにANSI  X9.17デ一タ暗号を非ANSI
  X9.17デ一タ暗号と共存可能にする。
f)キー暗号キー: KEK受信側とKEK送信側の分
離。
g)PINキー:PIN暗号化キーとPIN生成キーの
分離。
以下に示す表記法が第3図ないし第4図で使用される。
表記法: 分離文字と優先順位番号は、ボックス外の各線の付近に
置く。
分離文字は以下の記述に対応する。
優先順位番号の範囲(工ないし4)は以下のように解釈
するものとする。
1、絶対に必要 2、強く推奨される 3、推奨される 4、望ましい 基本キーの分離 第4図に、基本的暗号キーの分離を示す。分離の説明は
下記に示す。
1、A、データ・キーとKEK及びPINキーKD(デ
ータ・キー)がKEK及びPINから分離されない場合
、データ・キーと共に使用されるデータ非暗号機能を悪
用してKEKとPINを非暗号化することができる。
2、B、キー暗号キーとPINキー KEK (キー暗号キー)がPINキーから分離されな
い場合、外部者が暗号化されたPINブロックを電話で
盗聴して、暗号化されたKDの代わりにそれを再試行す
ることが可能になる。前もって、内部の共犯者が、暗号
化され記憶されたKEKを受信側ノードの暗号キー・デ
ータ・セット内の暗号化され記憶されたPINキーで置
換することができる。次いでPINブロックを回復し、
受信側ノードでデータ・キーとして使用する。その後、
このPINブロックをデータ・キーとして使って暗号化
されたデータは、PINの可変性(通常、10進法で4
ないし6桁)がランダム56ビツト・データ・キーより
ずっと少ないので、キーの徹底的攻撃をずっと受けやす
くなる。
データ・キーの分離 第1表は、データ・キー分離の流れ図を示す。
この分離の理由は下記に示す。
1、A−確認とプライバシ 平文とMACキーで暗号化された当該の暗号テキストと
を収集できる内部者は、MAC処理手順に対して攻撃を
行なうことができる。たとえば、MACアルゴリズムに
よって確認され受け入れられる不正なメツセージ及びM
ACを構成することが可能となる。したがって、暗号化
/非暗号化(復号化)に使用するデータ・キーは、デー
タの確認に使用するべきではない。
リンク上では、傍受されたデータ・キーをMACキーの
代わりに使用できる場合、(そのデータ・キーによる)
伝送された暗号テキストを使って、不正なメツセージと
MACを構成することができる。
B−Xlate暗号テキストとブライバシ定義によりN
 X l a t e暗号テキストは、データ・キーの
対KDIとKD2の使用を暗示する。
その場合、KDlのもとて暗号化された暗号テキストが
KDlのもとて非暗号化され、次いで呼出し側アプリケ
ーション・プログラムにデータをさらすことなくKD2
のもとて再暗号化される。そうでないと、既存の非暗号
化機能及び暗号化機能を使ってX1ate暗号テキスト
が実行できることになる。
C−ANSIとその他すべて ANSIキーは、キー分配用のそれ自体のプロトコルと
、ANSI  COMBINE  KEYと呼ばれる追
加の可能な用途をもつ。これらの相違により、すべての
ANSINS用に別のプールが必要となる。
D−データ互換性とその他すべて データ互換性キーは、IBM  CUSP/3848、
IBM  PCFM、18M4700など以前のシステ
ムと互換性をもたせるという要件のために存在する。こ
れらのシステムで実施された内部分離は、ブライバシ・
キーからMACを分離するレベルまでは及ばないので、
これらのキーをこうした改良された分離レベルを支援す
るCvキーから区別する必要がある。
2.8−MCGENとMACVER メソセージとMAC(拒絶不行使と呼ばれる)を誰が発
信したかを「証明」するための監査証跡をもたらす。こ
の方法は、CFと同様に安全ではなく、CFに記憶され
たキーの保全性と安全保護に対する相互信頼を前提とし
ている。
3.0−暗号化と非暗号化(復号化) 暗号化機能と非暗号化機能の真の分離を行ない、したが
って同じデータ・キーのもとて非暗号化(復号化)する
権利を扱わずに、データをそのデータ・キーのもとて暗
号化できる。たとえば、暗号化のみのデータ・キーは、
「秘密投票」方式で使用できる。非暗号化(復号化)の
みのデータ・キーは、ユーザがあるデータを読み取るこ
とは許可されているか舎き込むことは許可されていない
環境で使用できる。
制御ベクトル 制御ベクトルの概念 制御ベクトルとは、キーの使用の制御用の64ビツトの
秘密でない暗号変数である。暗号システムに対して定義
された各キーには、関連制御ベクトルCを有し、すなわ
ち、キーと制御ベクトルで集合(K、C’)を定義する
各制御ベクトルは、Cvタイプを指定する。CVタイプ
は、キーの使用方法とキーのリンク上での通信方法を支
配する規則とを広く定義する。キーは、データ・キー、
送信側のキー暗号キー、受信側のキー暗号キー、PIN
暗号化キー、PIN生成キー、中間ICV、キ一部分ま
たはトークンでよい。制御ベクトル中の追加ビットは、
どの暗号命令とパラメータ入力でキーが動作するかを正
確に指定する。他のビットは、キーの搬出、すなわち、
キーが搬出されるかどうかを制御する。
制御ベクトルは、特殊な暗号機能を介してキーに暗号方
式で結合される。たとえば、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をその暗号化された形から回復できないこと
は明らかである。すなわち、要求された暗号命令に対す
る入力として集合(EK14.C(K)、C)が供給さ
れる場合、暗号機構はまずCの供給値を検査して、キー
の要求された使用が許可されていると判定する。その後
で始めて、Cを使ってeにHoC(K) を非暗号化(
復号化)して、暗号機構の内部のKの平文値が回復され
る。偽りの値C*が指定された場合、暗号機構は一時的
にだまされてC*を受け入れるが、Kは適切に回復され
ない。すなわち、Cの正しい値も指定されないかぎり、
ユーザがKの正しい値を回復することはできない。した
がって、この暗号原理は、アーキテクチャ全体の組立て
の基礎である。必要に応じてまた適切な場合、追加の安
全保護が設けられる。
制御ベクトルは、暗号キーの使用属性を定義するための
コンパクトなデータ構造である。制御ベクトルは、暗号
処理を介してキーに暗号方式で結合されている。この処
理は、制御ベクトルが正しく指定された場合だけ、キー
が適切に非暗号化(復号化)できるようになっている。
(制御ベクトルのビットが変わっても全く異なるキーが
回復されてしまう。) CV検査 制御ベクトルは、Cv検査が最小限ですむように設計さ
れている。制御ベクトル使用ビットは、各使用属性自体
が特定の使用を許可または否定するように定義され構成
されている。すなわち、データ暗号命令によってデータ
を暗号化する能力が、制御ベクトル内の単一「暗号化」
ビットによって制御される。そのタイプ/サブタイプは
「データ/プライハシ」である。
すなわち、各使用属性が他のすべての使用属性から独立
して定義される。このため、各命令が要求された機能に
よって呼び出された使用属性だけを検査するようなCV
検査処理が保証される。他の何らかの属性が使用可能ま
たは使用不可能になるときだけ使用属性が使用可能にな
るような設計は、Cv検査を増加させるので特に回避さ
れる。
2つ以上の制御ベクトルの間での属性の相互検査が必要
であるが、最小限に抑えられる。
Cv検査を容易にし単純にするために、各暗号命令に、
必要な場合、その命令に対するパラメータとして渡され
るキーの特定の使用を宣言する「モード」パラメータが
渡される。すなわち、CV検査処理で、指定された「モ
ード」に従って各制御ベクトルが検査される。このため
、整合性を確保するために制御ベクトル属性の間でコス
トのかかる相互検査を行なう必要がなくなる。
この設計はまた、どんな暗号命令も制御ベクトルを生成
しないという原理にも従っている。すべての制御ベクト
ルは、パラメータ入力として暗号命令に供給される。
可能な場合、CVタイプに関わらず、同じ使用属性とフ
ィールド定義が、制御ベクトル中の同じビット位置に配
置される。そのため、Cv検査が容易になる。たとえば
、データ/ブライバクCvに対する使用ビットがE″及
びD″で、データ/xlate  CVに対する使用ビ
ットがX0UT″とXIN″であるとしても、暗号テキ
スト変換命令は、データ/プライハシ制御ベクトル及び
データ/ x l a t e制御ベクトル中の同じビ
ット位置を照会する。
CV構造 一般に、(形式、フィールド及びビット指定を含めて)
制御ベクトルの構造は、C■検査を最小に抑え容易にし
、同時に、暗号安全保護をもたらすように定義されてい
る。Cv構造は、いわば、設計過程における自由度が最
大の変数である。
以下に示す設計任意選択が制御ベクトルで使用される。
1、垂直分離。制御ベクトルは、バリアントによって行
なわれる分離と同様に、制御ベクトル構造内での垂直分
離をもたらす「Cvタイプ」フィールドををする。制御
ベクトルのタイプは直感によって定義され、既存のキー
用語とデータ暗号に従う。
しかし、垂直分離は、CAのもとて必要な場合にしか実
施されず、したがってCv検査規則のアーキテクチャが
簡単になり、かつ理解しやすくなる。
まず、Cv主タイプ(たとえば、データ・キーキー暗号
キー PINキー)の広いクラスを定義し、次に、CV
タイプ内のCvサブタイプと使用属性を定義することに
より、Cv検査規則を、r分割統治」式探索が力づくの
方法より効果的なのき同様に最適化できる。
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フィールドが単一値にマツプされる
インスタンスが回避される。
こうした」二へのマツピングの特定のインスタンスは、
安全保護が損なわれる危険がない場合(たとえば、LC
VA、RFMK及びRTMK命令)に認められる。
CFAP制御 制御ベクトルのいくつかのビットは、CFAP用に予約
されている。これらのビットは、今後のデータ暗号制御
のためにCFAPが使用できる。
これらのビットは、CFによって検査されず、CFAP
によって完全に管理される。
制御ベクトルの一般形式 第1表は、制御ベクトルの一般形式を示す。第1表の第
1行は、制御ベクトルの大半に共通なフィールドを示す
。それらのフィールドを、以下に要約して説明する。(
詳細は以後の小項目に示す。) 零CVタイプ このフィールドは、制御ベクトルのタイプを示し、この
制御ベクトルが関連するキーのキー・タイプでもある。
CVタイプ・フィールドは主タイプとサブタイプから構
成される。
制御ベクトルの主タイプは以下の通りである。
データ・キー データ・キーはデータを暗号化/非暗号化(復号化)し
データを確認するのに使用される。
PINキー PINキーは、PINを暗号化しPINを生成するのに
使用される。
キー暗号キー キー暗号キーはキーを暗号化するのに使用される。
キ一部分 キ一部分はキーの一部または構成要素であり、キーと同
じ長さをもつ。たとえば、キーには、KaXORKb 
=にとなる2つのキ一部分Ka とにbをもつことがで
きる。
中間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は(ソフトウェア・フ
ィールドを含む)制御ベクトルを検査して、そのキーが
指定/要求された方式で動作できるかどうか判定する。
ソフトウェア(CFAP)とは異なり、ハードウェア(
CF)は、CA命令に関連するビットだけを検査する(
他の使用ビットは検査されない)。
*拡張 このフィールドは、制御ベクトルが64ビツトの制御ベ
クトルかそれとも128ビツトの拡張制御ベクトルかを
示す。現在のCAでは、すべての制御ベクトルは長さ6
4ビツトである。制御ベクトルを指定するのに必要なビ
ットの数がb4ビット長を超えるとき、将来制御ベクト
ルを拡張しやすくするため、このフィールドが定義され
る。
*予、約ビット このフィールドは将来の使用のためにシステムに予約さ
れている。
*パリティ・ベクトル すべてのパリティ・ビットは、バイトの先行する7ビツ
トの偶数パリティである。
キー暗号キー制御ベクトルでは、上記の共通のフィール
ドの他に、2つの追加フィールド、KEY FOR)4
及びLINK C0NTR0I、がある。
*キー形式 このフィールドは、キーの長さ(単長または倍長)及び
制御ベクトル・キーに関連するキーの半分がキーの右半
分か左半分かを示す。単長キーでは、右半分は左半分と
同じで、キー自体であることに留意されたい。
*リンク制御 このフィールドは、この制御ベクトルに関連するキー暗
号キーを使ってリンク上で他のキーがどのように伝送さ
れるか、及びこのキー暗号キーのもとで、どのタイプの
システム(たとえば、Cvシステムまたは非Cvシステ
ム)との間でキーが送受できるかを示す。
本節の表及び参照する他の表の第2行及び第3行の記述
は、制御ベクトルの一部ではないことに留意されたい。
それらの記述は、制御ベクトルの各フィールドに次のよ
うな情報を示すためにそこに置かれている。
第2行は、フィールドのビット長を示す。略語rbJは
「ビット」を表す。たとえば、1bは1ビツトを表し、
3bは3ビツトを表し、以下同様である。
第3行は、そのフィールドがハードウェア(CF)によ
って検査されるかそれともソフトウェア(CFAP)に
よって検査されるかを示す。
データ・キー用制御ベクトルの形式 データ・キーは以下のサブタイプに分かれる。
データ互換性キー。これは、IBM3848/CUSP
またはIBM4700FC8などの既存システムとの互
換性を維持するために使用されるデータ・キーである。
これらの既存システムはプライバシと確認の間の暗号分
離を行なわないので、このキーは、MACの暗号化、非
暗号化(復号化)、生成及び検査などの機能のいずれか
またはすべてを実行するのに使用できる。この制御ベク
トルは、それが(RFMK命令を用いて)他のシステム
に搬出されるとき除去できる(すなわち、オン・ザ・リ
ンクでCV=Oと置換できる)が、ANS Iデータ・
キーを除(他のすべてのデータ・キー用の制御ベクトル
は除去できない。
プライバシ・キー。これは、暗号化または非暗号化(復
号化)のためにだけ使用されるキーである。
MACキー。これは、データ確認のためにだけ使用され
るキーである。すなわち、これはMACの生成または検
査にしか使用できない。
データ変換キー(データ互換性キー)。これは暗号テキ
ストの変換で使用されるキーである。
ANSIキー。これは、ANSIアプリケーションで使
用されるキーである。これは、データの暗号化及び非暗
号化(復号化)またはMACの生成及び検査に使用でき
る。また、他のANSIキーと組み合わせてANSI 
 MACキー(すなわち、MAC生成/検査機能をもつ
データ互換性キー)を形成することもできる。この制御
ベクトルは、ARFMK命令を用いて他のシステムに搬
出されるとき除去できる(すなわち、オン・ザ・リンク
でCV=Oと置換できる)が、互換性キーを除く他のす
べてのデータ・キーの制御ベクトルは除去できない。
制御ベクトルのCVサブタイプに応じて、USAGEフ
ィールドの各ビットは以後に記載する特定の意味をもつ
ブライバシ・キー用制御ベクトル 第2表を参照して、この図の各フィールドとサブフィー
ルドの詳細な説明を以下に示す。
*CVタイプ プライバシ・キー用のCvタイプ(主タイプ=″DAT
A  KEY″、サブタイプ=″PRIVACY″) *搬出制御(このキーの搬出を制御する):このフィー
ルドは1ビツトを占める。
EXPORT C0HTROL =1 : コ(7) 
+−はRFMKによって搬出できる。また、RFMK、
RTMK及びLCVA命令でこのビットをOにリセット
できる。
−EXPORT C0NTR0L −0: コノキーハ
RFMKによって搬出できない。また、どの命令によっ
ても1に変更できない。
例として、ノードXがキーにと制御ベクトルCを生成し
、それらをノードYに送るものと仮定する。
水使用 a)E E:1:このキーは、データを暗号化するための暗号化
命令中で使用できる。
−E=O:このキーは、データを暗号化するための暗号
化命令中で使用できない。
b)D D=1:このキーは、データを非暗号化するための非暗
号化命令中で使用できる。
D=0:このキーは、データを非暗号化するための非暗
号化命令中で使用できない。
*AV (反バリアント) このフィールドは2ビツトを占め、バリアントに基づく
暗号システムで使用される64個の事前設定バリアント
から制御ベクトルを区別するのに使用される。64個の
事前定義バリアントのうちのどのバリアントの8バイト
もすべて同じなので、制御ベクトルの少なくとも2バイ
トが同じでないようにAVフィールドの値を設定すると
、有効制御ベクトルが事前設定バリアントから区別され
る。
*ソフトウェア・ビット このフィールドは12ビツトを占める。
a)CVバージョン このフィールドは、長さ6ビツトで、現在の制御ベクト
ルの定義を将来の定義から区別するためにCFAPによ
って使用される。
b)ソフトウェア強制使用 CFAPの節も参照のこと。
CVDP IM (制御ベクトル・データ・プライバシ
Icv必須) CVDPCU (制御ベクトル・データ・プライバシC
Usp) CVDP47 (制御ベクトル・データ・プライバシ4
700) CVDPM8 (制御ベクトル・データ・ブライバシ8
の倍数) *拡張 このフィールドは、制御ベクトルが64ビツトの制御ベ
クトルかそれとも64ビツトを超える拡張制御ベクトル
かを示す。
*予約ビット このフィールドは、将来の使用のためにシステムに予約
されている。
*パリティ このフィールドは、制御ベクトルのすべてのバイトの最
後のビットから構成される。各バイトのパリティ・ビッ
トは、そのバイトに対する偶数パリティをもたらすよう
に設定される。
MACキー用制御ベクトル 第3表を参照する。この図の各フィールドとサブフィー
ルドの詳細な説明を以下に示す。
*Cvタイプ: MAC−t−一用のCvタイプ(主タイプ=:DATA
  KEY″、サブタイプ二″MAC″)*搬出制御(
このキーの搬出を制御する)プライバシ・キーの説明と
同じ。
水使用 a)MG MG=1:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用することができる。
MG=O:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用することができない。
b)MV MV=1:このキーは、データに対するMACを検査す
るためのVMAC命令中で使用することができる。
MV=O:このキーは、データに対するMACを検査す
るためのVMAC命令中で使用することができない。
*AV (反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビツトを占める。
a)CVバージョン−同じ説明 b)ソフトウェア強制使用 CFAPの節も参照のこと。
CVDML4 (制御ベクトル・デー9 MACIEN
=4 )CVDM99 (制御ベクトル・テータHAC
MODE=AI(SI  X  9.9) CVDM19 (制御ベクトル・データ14Ac )4
0DE =へNSI  X  9.19) CVDMOO(制御ヘクトルーデータMACHCDE 
”IBM 4700) CVDM30 (制御ベクトル・データMACMODE
 =IBM 4730) *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キー9説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
データ互換性キー用制御ベクトル 第4表を参照する。この図の各フィールドとサブフィー
ルドの詳細な説明を以下に示す。
零CVタイプ CVタイプ=データ互換性キー用(主タイプ=”DAT
A  KEY”1サブタイプ=″COMPATIBIL
ITY”) *搬出制御 ブライバシ・キーの説明と同じ。
本使用 a)E E=1:このキーは、データを暗号化するための暗号化
命令中で使用できる。
E=0:このキーは、データを暗号化するための暗号化
命令中で使用できない。
b)D D=1:このキーは、データを非暗号化するための非暗
号化命令中で使用できる。
D=0:このキーは、データを非暗号化するための非暗
号化命令中で使用できない。
c)MG MG=1:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用できる。
MG=O:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用できない。
d)MV MV=1:このキーは、データに対するMACを検査す
るためのVMAC命令中で使用できる。
MV=0:このキーは、データに対するMACを検査す
るためのVAMC命令中で使用できない。
*AV (反バリアント) ブライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビツトを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 *拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
データXLATEキー用制御ベクトル 第5表を参照する。この図の各フィールドとサブフィー
ルドの詳細な説明を以下に示す。
*CVタイプ データXLTAEキー用のCVタイプ(主タイプ=″D
ATA  KEY”、サブタイプ= ” X LATE
”) *搬出制御(このキーの搬出を制御する)プライバシ・
キーの説明と同じ。
本使用 a)XDout XDout=1:このキーは、暗号テキスト変換命令中
で出力データ・キーとして使用することができる。
XDout=O:このキーは、暗号テキスト変換命令中
で出力データ・キーとして使用することができない。
b)XDin XDin−1:このキーは、暗号テキスト変換命令中で
入力データ・キーとして使用することができる。
XD i n=o :このキーは、暗号テキスト変換命
令中で入力データ・キーとして使用することができない
*AV (反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは、12ビツトを占める。
a)CVバージョン b)ソフトウェア強制使用 なし。
*拡張 ブライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
ANS Iデータ・キー用制御ベクトル第6表を参照す
る。この図の各フィールドとサブフィールドの詳細な説
明を以下に示す。
零CVタイプ データANSIキー用のCvタイプ(主タイプ=″DA
TA  KEY″、サブタイプ=″ANSI″) *搬出制御 プライバシ・キーの説明と同じ。
水使用 a)E E=1=このキーはデータを暗号化するための暗号化命
令中で使用できる。
E=0:このキーはデータを暗号化するための暗号化命
令中で使用できない。
b)D D=1:このキーは、データを非暗号化するための非暗
号化命令中で使用できる。
D=O:このキーは、データを非暗号化するための非暗
号化命令中で使用できない。
c)MG MG=1:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用できる。
MG=O:このキーは、データに対するMACを生成す
るためのGMAC命令中で使用できない。
d)MV MV=1:このキーは、データに対するMACを検査す
るためのVMAC命令中で使用できる。
MV=O:このキーは、データに対するMACを検査す
るためのVMAC命令中で使用できない。
e)ACMB このビットは、データ・キーをACOMBKD属性をも
つ他のデータ・キーと排他的論理和を取ることができる
ことを示す。排他的論理和処理は、後で”ANSI  
KD結合(ACOMBKD)″の節で述べるように、A
COMBKD命令によって実行される。その結果得られ
るキーは、ANSI  X9.17プロトコルを用いて
通信されるメツセージのMACを検査し生成するために
使用される。
ACMB= 1 :このデータ・キーは、ACMB命令
中で結合できる。
ACMB=O:このデータ・キーは、ACMB命令中で
結合できない。
*AV (反バリアント) プライバシ・キーの説明と同じ。
*ソフトウェア・ビット a)CVバージョン ブライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 ブライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット ブライバシ・キーの説明と同じ。
中間ICV用制御ベクトルの形式 第7表を参照する。この図の各フィールドとすブフィー
ルドの詳細な説明を以下に示す。
零Cvタイプ Cvタイプの最後の3ビツトXXXがゼロに設定される
が、命令によって検査されないCVタイプ。(主タイプ
=”中間ICV″、サブタイプ=適用されない) *搬出制御 ブライバシ・キーの説明と同じ。ICVキーは通常は他
のノードに搬入されない。ただしホット・バックアップ
の場合を除く。すなわち、通常、このフィールドはIC
V制御に対する値B°00゜をとる。
*AV (反バリアント) ブライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビツトを占める。
a)CVバージョン プライバシ・キーの説明と同じ。
b)ソフトウェア強制使用 なし。
*拡張 プライバシ・キーの説明と同じ。
*予約ビット プライバシ・キーの説明と同じ。
*パリティ・ビット プライバシ・キーの説明と同じ。
トークン用制御ベクトルの形式 第8表を参照する。この図の各フィールドとサブフィー
ルドの詳細な説明を以下に示す。
零Cvタイプ CVタイプの最後の3ビツトXXXがゼロに設定される
が、命令によって検査されないCvタイプ。(主タイプ
=”トークン”、サブタイプ=適用されない) トークンは、データ・キー・データ・セット(DKDS
)に記憶されたデータ・キーの保全性を保護するために
使用される秘密の量である。データ・キーはトークン+
e:KM、cl(K)、e:にM、C2(token)
の形でDKDSに記憶される。トークン制御ベクトル・
タイプは、EMK、RTNMK、RTCMKなどの様々
な命令中で許可される。
*搬出制御 プライバシ・キーの説明と同じ。ICVキーは通常は他
のノードに搬入されない、ただしホット・バックアップ
の場合を除く。すなわち、通常、このフィールドはIC
V制御に対する値B“00゜をとる。
*AV (反バリアント) ブライバシ・キーの説明と同じ。
*ソフトウェア・ビット このフィールドは12ビツトを占める。
a)GVバージョン ブライバシ・キーの説明と同じ。
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、Δ−eKD(A) 入カニ KD      64ビット平文キー A       64ビット平文テキスト出カニ eKD(A)  64ビット暗号化データ説明:コード
化機能は、64ビット平文キーを用いてECMモードで
8バイトの平文テキスト・データを暗号化するのに使用
される。この命令には制御ベクトルは渡されない。
第5図は、この命令の構成図である。
CC: 1、動作成功 2、動作失敗 注:動作失敗は、所与の実施態様に特有のどのハードウ
ェア・エラーでもよい。本明細書に記載する条件コード
(CC)は、命令に対する条件コードの案にすぎず、所
与のシステム中で実施される条件コードは他にも多数あ
る。さらに、Ccコードは、所定の実施態様中で機能が
渡さなければならない実際の条−件コードではない。本
明細書で使用する番号付けは、暗号アーキテクチャの説
明の便宜上設けたものである。
制御ベクトル検査:なし 復号(DEC) 式:    KD、 eKD(A)−A入カニ KD      64ビット平文キー eKD(A)  64ビット暗号化データ出カニ A       64ビット暗号化データ説明:復号機
能は、64ビット平文キーを使用してECBモードで8
バイト平文テキスト・データを暗号化するのに使用され
る。この命令には制御ベクトルは渡されない。
第6図は、この命令の構成図である。
CC: 1、動作成功 2、動作失敗(エラー) 制御ベクトル検査:なし ICV 暗号化(ENCI ) 式:    e’KM、cl(KDI)、 ICV、 
A、 n、 CI −−−eKDl(ICV、Δ) 入カニ e”K)4.C1(KDI) 制御ベクトルC1を用いてマスク・ キー(KM)のもとて3重暗号化 された64ビツト・データ・キー (KDI)。
64ビット平文人力連鎖値 注:暗号化ICvは、「ICV1 0CV管理」及び「ソフトウェア・ インターフェース」で説明するよ うにCFAPによって管理される。
出力連鎖値(OCV)が必要な 場合、最後の8バイト出力(E n) をOCvとして使用しなければな らないが、これは標準的手法では ない。各システム実施態様では、 最終ブロックの暗号化と非暗号化 を別のやり方で処理する。最終ブ ロック処理及びOCv生成技術に ついての詳細は、「ソフトウェア・ インターフェース」を参照のこと。
CFAPは、可能なすべての最終 ブロック暗号化と非暗号化(復号 化)及びOCV管理を処理する。
8倍数のバイト・ブロックで暗号 化されるデータ。8バイト・ブロッ クはAf、A21.、、Anであ る。最終ブロックAnが8バイト の倍数ではない場合、この命令を 呼び出す前にCFAPによって埋 込みを行なう必要がある。CF命 令は常に、入出力として8バイト の倍数のデータを取る。
暗号化する8バイト・ブロックの 数。nはできるだけ大きくすべき であるが、システムによって変わ る。CAはnに対する上限を定義 しない。
例:8バイト・ブロックの数=1 0000かつn  max=400 0の場合、暗号命令は次のように して呼び出される。
一暗号化n=4000 一暗号化n=4000 一暗号化n=2000 注:暗号化の呼出しごとに、その 後で、最後の8バイト暗号化デー タEn (OCV)をICV入力と して次の暗号化呼出しに戻さなけ ればならない。
cl      データ・キー(KDI)に対する64
ピツトの制御ベクトル 出カニ eKDl(ICV、A)  暗号化データ、n個のブロ
ック、各ブロックは8バイト(El。
E29.、+ En)である。
説明二人力データはDEA暗号化のCBCモードを用い
て暗号化される。8バイトの倍数のブロックが、n個の
ブロックがすべて暗号化されるまでこの命令によって暗
号化される。
このアーキテクチャは、機能に対する平文ICV入力だ
けを定義する。暗号化されたICVが必要な場合、暗号
化命令を使ってデータ・キー(KM2)でICVを暗号
化することができる。暗号化ICVは非暗号化命令を用
いて非暗号化(復号化)できる。暗号化されたICVと
OCVはすべてCFAPプログラムによって管理される
入力データが8バイトの倍数のブロックでない場合は、
埋込みを実行しなければならない。この埋込みは、暗号
化機能を呼び出す前にCFAPによって実行しなければ
ならない。
第7図は、この命令の構成図である。
CC: 1、動作成功 2、C’l無効 3、動作失敗(エラー) 制御ベクトル検査 1.01の検査 −CVタイプ = 「データ/互換性」または「データ
/ブライバラ」ま たは「データ/ANSIJ −E使用ビット = 1 一予約(48:63) =  X ’ 0゜注二本明細
書で説明するすべての命令では、制御ベクトル検査は、
検査に合格しない場合は、命令を打ち切らなければなら
ず、対応する制御ベクトル無効条件コード(CC)がオ
ンになることを暗示している。制御ベクトルに対して1
つまたは複数の検査が行なわれる場合、すべての検査が
実行され、すべての検査に合格しないと動作が実行され
ない。いずれかの検査に失格すると、動作を打ち切らな
ければならない。
非暗号化(DECI) 式:86にM、C1(KDI)、 ICV、 eKDl
(ICV、A)。
n、 C1−−A 入カニ e”KM、cl (Kdl) ICV 制御ベクトルC1を用いてマスク・ キー(KM)のもとて3重暗号化 された64ビツト・データ・キー (KDI)。
64ビット平文人力連鎖値 注:暗号化されたICVは、「I CV10CV管理」及び「ソフト ウェア・インターフェース」で説 明するようにCFAPによって管 理される。
出力連鎖値(OCV)が必要な 場合、最後の8バイト入力(E n) をOCvとして使用しなければな らないが、これは標準的手法では ない。各システム実施態様では、 最終ブロックの暗号化及び非暗号 化(復号化)を別のやり方で処理 する。最終ブロック処理及びOC V生成技術の詳細は、「ソフトウェ e”Kdl(ICV、Δ) n ア・インターフェース」を参照の こと。CFAPは、可能なすべて の最終ブロック暗号化及び非暗号 化(復号化)ならびにOC■Cv を処理する。
暗号化データ)nブロック1各ブ ロックは8バイト(El、E2.、、、、En)である
暗号化する8バイト・ブロックの 数。nはできるだけ大きくすべき であるが、システムによって変わ る。CAはnの上限を定義しない。
注:非暗号化(復号化)の呼出し ごとに、その後で、最後の8バイ トの暗号化データEn (OCV) を次の非暗号化呼出しに入力IC Vとして供給しなければならない。
これはCFAPによって管理され る。
例=8バイト・ブロックの数=1 oooo及びn  max=400 0の場合、非暗号化命令は次のよ うにして呼び出される。
非暗号化 n=4000 非暗号化 n=4000 非暗号化 n=2000 データ・キー用の64ビツト制御 ベクトル(KDI) 出カニ A      8バイトの倍数のブロックの平文データ
。8バイト・ブロックはA L A2.、、+ Anである。
説明:入力データはCBCのDEA暗号化モードを用い
て非暗号化(復号化)される。8バイトの倍数のブロッ
クは、n個のブロックがすべて非暗号化(復号化)され
るまでこの命令によって非暗号化(復号化)される。
このアーキテクチャは、機能に対する平文IC■Cvだ
けを定義する。暗号化されたICVが必要な場合、Cv
は暗号化命令を用いてデータ・キー(KM2)を暗号化
することできる。暗号化されたICVは非暗号化命令を
用いて非暗号化(復号化)できる。暗号化ICVとOC
V、=’sはすべてCFAPによって管理される。
第8図はこの命令の構成図である。
CC: 1、動作成功 2.01無効 3、動作失敗 制御ベクトル検査 1.01の検査 −cy type : rデータ/互換性」または「デ
ータ/プライハシ」または「データ/ANSI」 D使用ビット = 1 − 予約(48:63)=X’O” MAC生成(GMAC) 式:    e”KM、cl(KD2=1)、 [e’
KM、C2(KM2)]。
ICV[e”KM、C3(OCV)] Δ、 n、 1cy−type、 output−ty
pe。
mac−enc、  CI、  [C2]、  [C3
]−−−−−MMC(64ビツト) または e”KM、c3 (OCV) 入カニ e”KM、cl (KDI) KDIは制御ベクトルc1を用い てKMのもとて3重暗号化された MACを単一暗号化するためのM AC生成キーである。
e”KM、c2(KM2)  K D 2は、制御ベク
トルc2を用いてKMのもとて3重暗号化され たMACを3重暗号化するための 任意選択のMAC生成キーである。
これは1s+ac−enc=1 の場合にN maCを
3重暗号化するために必要な任 意選択入力である。
ゼロに等しいICVは、省略時初 期連鎖値であり、cAアーキテク チャ、ANSI  X9.9及びA NSI  X9.19にとって標準 CV e”KM、C3(OCV) 的である。非ゼロの平文ICVも、 平文ICV入力が必要なシステム との互換性をもつために使用でき る。暗号化されたICV入力は、 機能の安全保護を高めないことが 判明しているので、CAによって 支援されない。暗号化された中間 ICVは、CAによって支援され る。
注:必要な場合、暗号化ICVは、 rICV10CV管理」及び「ソ フトウェア・インターフェース」 に記載されているようにCFAP によって管理される。
これは特殊制御ベクトルC3を用 いてマスタ・キーのもとて暗号化 された64ビツトの中間ICVで ある。これは、MACを生成する ために大きなデータ・ブロック (/n)が使用される場合に提供し なければならない任意選択入力で ある。ICVの非暗号化(復号化) は、機能内部で行なわれる。中間 OCvは、制御ベクトルを用いて マスタ・キーのもとでローカル使 用専用の形で記憶されているので、 ローカル・ノードから送ることは できない。
8バイトの倍数のブロック(AI。
A2.、、Δn)中で、MACされるデータ。
MACされる8バイト・ブロック の数。nはできるだけ大きくすべ きであるが、システムによって変 わる。OCAはHの上限を定義し ない。多数のブロワ′りをMACL なければならない場合、すべての ブロックが完了するまで、GMA Cが何回も呼び出される。
例: GMAC 14AC GMAC icv−type システムに対するn  maxが4 000で、MACされるデータが 10000個の8バイト・ブロワ クである場合、GMACは次のよ うにして呼び出される。
n=4000.output−type=1.1cy−
type=On=4000 、 output−typ
e=1 、1cy−type=2n=2000.out
put−type=2+ 1cy−type=2注: 
GMACの呼出しごとに、そ の後で中間I CV (1) e”KM、C3(OCV
)をICV入力として次のGMAC 呼出しに戻さなければならない。
この中間ICVの非暗号化(復号 化)はCFの内部で行なわなけれ ばならない。
1cy−type は、機能に渡された工Cvがゼロか
、平文か、それとも 中間ICvかを示す。中間ICV は、制御ベクトルC3を用いてマ スフ・キーのもとで3重暗号化さ output−type C1,C2,C3 れる。ゼロのICVが省略時の値 である。
0:ゼロICV(省略時) 1:平文ICV 2:中間I CV (OCV) この命令に対するMAC生成処理 の段階を示す。
0:MAC出力 1:中間ICV出力(OCV) 1重または3重暗号化MAC出力 を示す。
0:1重暗号化MAC出力 1:3重暗号化MAC出力(AN SI9.1重要件) それぞれKDl、KM2及びOC V用の64ビツトの制御ベクトル。
C2及びC3は命令に対する任意 選択入力であり、C2はmac−enc=1の場合に入
力しなければなら ず、C3は1cy−type=2またはoutput=
type=1の場合に入力しなければならない。
出カニ M A Cmac−encパラメータに応じて最終入力
データ・ブロックの1重暗号 化または3重暗号化によって生じ る64ビツト出力である。
e”KM、C3(OCV)  OCVハ、制御ペクト/
l/ C3を用いてKMのもとて3重暗号化され た64ビツト中間ICVである。
この出力は、output−type=1の場合に限り
有効である。MAC出力 と中間OCv出力は、安全保護上 の理由から両方同時に出力しては ならない。
説明:入力データはCBCのDEA暗号化モードで暗号
化され、暗号化されたデータの最終ブロックが出力され
る。1重暗号化モードと3重暗号化モードの2つのモー
ドがある。1重暗号化モードでは、単一キーKD1を使
ってMACが作成される。3重暗号化モードでは、1重
暗号化モードを使ってKDIを用いてMACを作成する
。ただし、次いでKM2を用いてMACを非暗号化し、
再びKDIを用いて再暗号化して、最終的に64ビツト
MACを作成する。
この命令は64ビツトのMACを出力するが、X9.9
では、64ビツトMAC出力の左側の32ビツトである
32ビツトMACが指定されている。CFAPは64ビ
ツトMAC出力から適切なMACビットを抽出しなけれ
ばならない。
ICVは標準としてゼロであり、任意選択としてGMA
C命令に対する平文ICVまたは中間ICVでもよい。
暗号化されたICVが必要な場合、CFAPは(KDS
)(7)もとてICvを暗号化しなければならず、平文
ICVをGMAC命令に渡さなければならない。ANS
I  X9.9MAC基準では、第1ブロツクに対して
ゼロのICVが指定されているので、ここではそれを標
準入力として定義する。しかし、このアーキテクチャは
、MAC生成の可能なあらゆる必要性を満足させるため
に平文人力及び中間入力を提供する。
n個より多くのブロックに対してMAC生成が必要な場
合、中間ICVのオプションを使ってMACを生成しな
ければならない。この要件は、平文の中間ICVをさら
さないことによって安全保護を高める。
データ・ブロックが8バイトの倍数のブロックではない
場合、埋込みを行なわなければならない。
埋込みは、この機能を呼び出す前にCFAPによって実
行しなければならない。MAC計算は、ANSI  X
9.9−198E3第5.0節で指定されているように
2進データに対して行なわなければならず、必要に応じ
てコード化文字セットをCFAPによって実施しなけれ
ばならない。
第9図は、この命令の構成図である。
CC: 1、動作成功 2.01無効 3、C2またはC3無効 4、動作失敗(エラー) 制御ベクトル検査 1.01の検査 CVタイプ=「データ/互換性」または「データ/MA
CJまたは「データ/ANIJ MG使用ビット=1 予約(48: 63)=X ’ 0゜ 2、  (mac−enc:1)の場合に02の検査C
Vタイプ=「データ/互換性」または「データ/MAC
Jまたは「データ/ANIJ MG使用ビット=1 予約(48: 63)=X“0゛ 3、  (icy−type=2またはoutput−
type=1 )の場合に03の検査 CVタイプ=”中間ICV″ MAC検査(VMAC) 式:     e’KM、cl(KDI)、 [e”K
M、C2(KM2)]。
ICV[e”KM、C3(OCV)]。
A、 MAC,n、 1cy−type。
入カニ e”KM、cl (KDI) e”KM、c2(KM2) ICV output−type、mae−ene+  mac
−1en。
CI、  [C2]、  [C3] −−−−−−イエス/ノー または e”KM、c3(OCV) KDIは、制御ベクトルC1を用 いてKMのもとて3重暗号化され た、MACを1重暗号化するため のMAC検査キーである。
KM2は、制御ベクトルC2を用 いてKMのもとで3重暗号化され た、MACを3重暗号化するため のMAC検査キーである。これは、 mac−enc=1の場合にMACを3重暗号化するた
めに必要な任意選択 入力である。
ゼロに等しいICVは、省略持切 期連鎖値であり、CAアーキテク チャ、ANSI  X9.9及びA NSI  X9.19にとって標準 的である。非ゼロの平文ICVも、 平文ICV入力が必要なシステム と互換性をもつために使用できる。
暗号化ICV入力は、機能の安全 保護を高めないことが判明してい るので、CAによって支援されな い。暗号化された中間ICVはC Aによって支援される。
注:必要な場合、暗号化ICVは、 rICV10CV管理」及び「ソ フトウェア・インターフェース」 に記載されているようにCFAP によって管理される。
e”KM、c3 (OCV)  これは、特殊な制御ベ
クトルC3を用いてマスタ・キーのもとて暗 帰化された64ビット中間ICV である。これは、′大きなデータ・ ブロックOn)を使ってMACを 生成する場合に提供しなければな MAC らない任意選択入力である。IC Vの非暗号化(復号化)は、機能 の内部で行なわれる。中間OCv は、制御ベクトルを用いてマスク・ キーのもとてローカル使用専用の 形で記憶されているので、ローカ ル・ノードから送ることはできな い。中間ICVは、攻撃から保護 するためにMAC検査処理中秘密 にしなければならない。
8バイトの倍数のブロック(A1゜ Δ2.9.Δn)で、MAC中で使用されるデータ。
1重または3重暗号化された命令 に対する64ビットMAC入力。
省略時には、このMACの左側3 2ビツトだけがMAC比較のため に使用される。mac−1enを使って、他の比較長を
明示的に指定するこ とができる。
VMAC MACされる8バイト・ブロック の数。nはできるだけ大きくすべ きであるが、システムによって変 わる。多数のブロックをMAC検 査しなければならない場合、すべ てのブロックが完了するまで、V MACが何回も呼び出される。
例ニ システムに対するn  maxが4 000で、検査されるデータは1 0000個の8バイト・ブロック である場合、VMACは次のよう にして呼び出される。
注:VMACの呼出しごとに、そ の後で中間I CV e’KM、c3(OCV)をIC
V入力として次のVMAC 呼出しに戻さなければならない。
この中間ICVの非暗号化はCF の内部で行なわなければならない。
n=4000. output−type=1+ ic
y−type=0VAMCn”4000+  outp
ut−type=1.  icy−type=2VMΔ
Cn=2000.output−type=0. 1c
y−type=2icy−typeはその機能に渡され
る工Cvがゼロか、平文か、それとも 中間ICVかを示す。中間ICV は制御ベクトルC3を用いてマス ク・キーのもとて3重暗号化され る。
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入力(AN SI9.1重要件) mac−enc icy−type mac−fen C1,C2,C3 mac−fenは比較すべきMACのバイト数を指定す
る。省略時には左 側4バイトが比較される。
O:左側4バイト 1:左側5バイト 2:左側6バイト 3:左側7バイト 4:8バイト 注=4.5.6.7.8バイトの MAC検査を行なうと、8バイト MACのMAC生成処理が覆える ことがある。暗号機構でこの問題 を解決する解決方法はないが、C FAPでは異なる長さのMAC検 査のための何らかの検査を考慮で きる。この問題についてはさらに 調査が必要である。
それぞれMDI、KD2及びOC V用の64ビツト制御ベクトル。
C2及びC3はこの命令に対する 任意選択入力であるo mac−enc=1の場合はC
2が必要であり、LCV− type=2 またはoutput−type=1の場
合は、C3が必要である。
出カニ yes/no     MA Cが検査される/されな
い。
c”KM、C3(OCV)  OCVは、制御ベクトル
C3を用いてKMのもとて3重暗号化され た64ビツトの中間ICVである。
これは、output−type=1 に対して有効な
任意選択出力である。
説明二人カデータは、データ・キーKDIを用いてCB
CのDEA暗号化モードで暗号化され、最終的に暗号化
されたブロックの左側32ビツトが供給されるMACと
等しいかどうか比較される。
32ビツトのMAC比較対象値が省略時の値である。他
の比較は5ac−1enパラメータで指定されるように
行なわなければならない。CC=1はMACが等しい場
合に設定され、CC=2はMACが等しくない場合に設
定される。2つの暗号化モードがある。1重暗号化モー
ドでは、単一キーKD1を使ってMACが作成される。
3重暗号化モードでは、単一暗号化モードを使ってKD
Iを用いてMACを作成する。ただし、次いでMACを
KD2を用いて非暗号化(復号化)シ、再びKDIを用
いて再暗号化し、最終的に64ピツ)MACを作成する
。MACはmac−enc入力で指定されるように生成
され、次いで機能に供給されるM、ACと比較される。
最初のICVは標準としてゼロであり、任、α選択で平
文とすることである。中間ICVは、MACされたデー
タが長さnブロックより大きい場合に使用しなければな
らない。
データ・ブロックが8バイトの倍数のブロックではない
場合、埋込みを行なわなければならない。
埋込みは、この命令を呼び出す前にCFAPによって実
行しなければならない。
第10図はこの命令の構成図である。
CC: 1、MACが等しい 2、MACが等しくない 3.01無効 4、C2またはC3無効 5、動作失敗(エラー) 制御ベクトル検査 1.01の検査 CVタイプ=「データ/互換性」または「データ/MA
CJまたは「データ/ANIJ MV使用ビット=1 予約(48:63)=X’O。
2、 (mac−enc=1)の場合に02の検査CV
タイプ=「データ/互換性」または「データ/MACJ
または「データ/ANIJ MG使用ビット=1 予約(48: 63)=X″O“ 3、 (icy−type=2 またはoutput−
type=1)の場合に03の検査 CVタイプ=「中間ICVJ 暗号テキスト変換(TCTXT) 式:    e”KM、cl(KDI)、 ICVl、
 eKDl(ICVI。
A)。
e”KM、C2(KM2)、 ICV2. n、 CI
、 C2−−−−eKD2 (ICV2. A)入カニ e’KM、cl (KDI) ICVl eKDl(ICVI、Δ)   CV2 C1,C2 KDIは、制御ベクトルC1を用 いてKMのもとで3重暗号化され た入力データ・キーである。
64ビツトの平文ICV KM2は、制御ベクトルC2を用 いてKMのもとて3重暗号化され た出力データ・キーである。
64ビツトの平文ICV 変換される8バイトのデータ・ブ ロック数 それぞれKDI、KM2用の制御 ベクトル 出カニ eKD2(ICV2.八) ICV2を使ってデータ・キーK D2のもとて暗号化されたデータ Aを出力する。
説明:暗号化テキスト変換命令は、あるデータ・キー及
びICVから他のデータ・キーとICVにデータを変換
する。この命令は、データ/変換キー及びデータ/互換
性キーで動作する。CVキーまたはCV=Oキーがデー
タを変換するのに使用できるが、これらのキー・タイプ
の混合と突合せは、この命令によって許されない。デー
タは最高n個の8バイト・ブロックまで可能であり、変
換は暗号機構内で行なわれ、暗号機能の外部で平文デー
タがさらされることはない。
ICV入力ICVI及びICV2は命令に対する平文I
CV入力しかとれない。中間ICVはこの命令によって
供給されない。n個を超えるデータ・ブロックを変換し
なければならず、データを連鎖しなければならない場合
、CFAPは最後の8バイトの暗号化ブロック(E n
)をICVに対する入力として渡さなければならない。
暗号化■CVが使用される場合、ICvを命令に渡す前
にICVを非暗号化(復号化)しなければならない。
2F:暗号化テキスト変換命令は、CV専用キー(すな
わち、データ変換キー)で動作するように特に設計され
ている。互換性モード暗号テキスト変換のオプションは
提供されない。それを克服するため、暗号テキスト変換
命令は、DとE属性及びXDinとXDout属性をも
つデータ・キーを受け入れる。しかしこれは、平文デー
タが偶然にさらされるのを減らすためのサービスとして
提供される。というのは、内部の不正使用者が、非暗号
命令を使って平文でないデータを回復できるからである
。互換性モードで暗号テキスト変換キーを分離すること
はできず、そのための制御ベクトルを作成しても、安全
保護は幻想でしかない。実際、(Cv=0チャネルを介
して送られた)所期の変換キーを搬入することにより、
RTMK命令を用いて攻撃を行なうことが可能である。
したがって、暗号テキスト変換データ・チャネルは、そ
のチャネルを介して送られたデータを非暗号化すること
によって覆えされる。
第11図はこの命令の構成図である。
CC: 1、動作成功 2、C1またはC2無効 3、動作失敗 制御ベクトル検査 1.01の検査 −CVタイプ=「データ/変換」または「データ/互換
性」 (CVタイプ=「データ/変換」)の場合、XD i 
n= 1 予約(48:63)=X’0” 2 、  (mac−enc=1 )の場合に02の検
査Cvタイプ=「データ/変換」または「データ/互換
性」 (CVタイプ=「データ/変換」)の場合、XDout
=1 予約(48: 83)=X’ O’ 3.01と02の検査 Cvタイプ(C1)= rcVタイ7” (C2)JM
DCOP (MDC動作) 説明:1987年8月23日付けの米国特許出願第90
633号に記載されているように、修正検出コード(M
DC)を計算する命令を提供することは、当該技術の範
囲内にある。この特許出願を引用により本明細書に組み
込む。
ICVloCVの管理 初期連鎖値(ICV)とは、DEAの暗号ブロック連鎖
(CBC)暗号化モード及びメツセージ確認コード(M
AC)を計算する一部のアルゴリズムと共に使用される
、64ビツトの乱数、疑似乱数、または、場合によって
は、非反復値である。
ICV管理には、平文及び暗号化されたICVの電子伝
送及びローカル記憶のためのオプションが含まれる。し
かし、暗号化されたICVは、いずれかの暗号機構への
入力パラメータとして使用する前に、まず非暗号化(復
号化)しなければならない。
出力連鎖値(OCV)とは、GENMAC及びVERM
AC暗号命令によって、ある種の条件のもとで戻される
64ビツト値である。同じ暗号命令が再び呼び出され、
OCvがICVとして渡さレル。OCvは常ニeKM、
cV (OCV)の形で暗号化される。ただし、CVは
中間ICV用の制御ベクトルである。VERMAC命令
にとって、暗号化さるたOCVが安全保護のために不可
欠である。平文OC■は、この場合は、MACを露出さ
せるために使用できる。これは、VERMAC命令では
できないと思われる。暗号化OCVもGENMAC命令
に対して定義される。これは、GENMAC及びVER
MAC命令をできるだけ同じにして、ハードウェア面で
可能な機能上のオーバーラツプを許すためである。
暗号機構外部でのICV管理 この通信アーキテクチャでは、ICVの次の3つの電子
伝送モードが可能である。
1、平文ICV:平文で送られる。
2、暗号化ICV:送信側と受信側の間で共用されるデ
ータ・キー(KD)を用いて暗号化される。
3、私用プロトコルICV:送信側と受信側の間の私用
プロトコルによって確立されるICV。
CAのもとで、CFAPは平文及び暗号化されたICV
の両方を処理しなければならない。しかし、アプリケー
ションはそれ自体の暗号化ICVを管理することを選ぶ
ことができ、平文ICVをCFAPに渡して、伝送のた
めICVを暗号化し、他の7−ドから受信したすべての
暗号化IDVを非暗号化(復号化)する。任意選択とし
て、暗号支援プログラムも私用プロトコルを使ってIC
Vを確立することができる。
暗号機構内部での■CV管理 制御ベクトルは、IDVの電子的配布には使用されず、
またICVの配布を制御するために暗号機構(ハードウ
ェア)が使用できるビットも制御ベクトル中にない。I
CV配布モードの暗号機構による検査や実施はない。す
なわち、ICV管理は、厳密に暗号支援プログラム(す
なわち、暗号機構の外部のソフトウェア)の役割である
暗号機構に暗号機構入力パラメータとして渡されるすべ
てのICVは、平文ICVでなければならない。G E
 NMA C及びVERMAC命令で必要とされるIC
V=0は、平文ICVのサブケースである。影響を受け
る暗号命令には次のものがある。
1、暗号化 2、非暗号化 3、MAC生成 4、MAC検査 5、暗号テキスト変換 頭字語と略語 CC条件コード CAまたはOCA 暗号アーキテクチャ CV     制御ベクトル(ICVまたはOCVとは
無関係) CBC暗号ブロック連鎖。データ暗号化標準の暗号化モ
ード DED    非暗号化(復号化)、暗号化及び非暗号
化(復号化) りE A DES ECB DE ICV Dx EKx M MN MO PEx PGx PVx K  K  N  I KKN I  L KKN I R K  D  m  a  c データ暗号化アルゴリズム データ暗号化標準 電子コード・ブック、DESの暗号 化モード 暗号化、非暗号(復号化)化及び暗 号化 入力連鎖値(CVとは無関係) データ・キー(x=整数) キー暗号キー(x=整数) マスタ・キー 新マスタ・キー 旧マスタ・キー PIN暗号化キー(x=整数) PIN生成キー(x=整数) PIN妥当性検査キー(x=整数) 中間認証キー 128ピツト KKNIの左64ビツト KKNIの右64ビツト ANSINS上−ジ用の一時MAC キー MACメツセージ確認コード MDC修正検出コード OCv   出力連鎖値 PIN    個人識別番号(ATMと共に使用)コー
ド化及び復号命令は、DESのECB (電子コード・
ブック)を使用する。このモードでは連鎖やフィードバ
ックはない。第12図は、ECBの暗号化及び非暗号化
モードの動作を示す。
暗号アルゴリズム 暗号化/非暗号化アルゴリズムは、米国標準局データ暗
号化標準(DES)局または、それと等価な米国規格協
会データ暗号化アルゴリズム(ANSI  DEA)X
9.92−1981である。
暗号化ブロックの連鎖(C:BC)は、ANSI暗号動
作モードX9.106−1983で指定されているよう
に行なわれる。第13図及び第14図は、それぞれCB
Cの暗号化及び非暗号化モードの動作を示す。
メツセージ確認(MAC) 参考文献(6)で参照されている金融機関メツセージ確
認標準(卸売り)(ANSI  X9.9)は、発送者
から受信者へのメツセージを確認するための処理を定義
する。この処理は、通信媒体及び支払いシステムから独
立している。
この確認処理には、メツセージ確認コード(MAC)の
計算、伝送及び検査が含まれる。MAS=Cは、完全な
メツセージ・テキストまたはテキストの選択されたメツ
セージ要素に基づく。MACは、発送者の手でメツセー
ジに追加されて、受領者に送信される。メツセージまた
はメツセージ要素は、同じアルゴリズム及びブライバシ
・キーで、受け取ったMACと同じMACが生成される
場合、受領者によって本物として受け入れられる。
確認処理の安全保護は、プライバシ・キーに対して与え
られる安全保護に直接依存する。
MACは、第15図に示すように生成される。
この標準に記載されている確認アルゴリズムは、ANS
I  X3.108−1983に記載されているように
、64ビツトCBCまたはCFB動作モードを使って実
施できる。両方のモードが、等価なMACを生成するよ
うに初期設定される。KEYは64ビツト・キーであり
、AIないしAnは64ビツトのデータ・ブロックであ
る。初1…連鎖値はこの標準ではO“であり、CBC動
作モードは第15図に示すように実施すべきである。A
nが64ビツト未満の場合、残りのビットの右側に′O
“が付加される(埋め込まれる)。(ON)の一番左側
の32ビツトがMACとみなされる。
注:48ビツト及び64ビツトのMACを生成及び処理
するための互換性が、存在しなければならない。これら
の場合、一番左側の48ビツトまたは最終出力全体(O
n)がMACとみなされる。
このアルゴリズムは2進データのMAC生成を記述する
。「コード化文字セット」のメツセージ確認は、ANS
I  X9.9−1986に記載されているように実施
すべきであり、文字が2進データで表された後にMAC
アルゴリズムが呼び出される。
MDCアルゴリズム 変更検出コードの原理は1987年8月28日付けの米
国特許願第090E333号に記載されている。
2つのMDCアルゴリズムが存在する。
1、MDC2−8バイトの入力データ・ブロックごとに
2回の暗号化 2、MDC4−8バイトの入力データ・ブロックごとに
4回の暗号化 異なる2つのアルゴリズムを用いると、呼出し側は、そ
のアプリケーションに依存する安全保護のわずかな低下
と引き換えに50%の性能改善を得ることができる。
−MDC2(テキスト) 1、入力テキストにX’FF’を埋め込んで8バイトの
倍数にする。
2、人力テキストを[n1個の8バイト・ブロックT8
[1コないしT8 [n=に区分する。
3、n=1の場合、n=2及びT8[2コ=8バイトの
Xooooと設定する。
4、KDlとKD2の初期値を設定する(下記参照)。
5、  [11=l、 2+ 、−−1nについて、a
、MDCOP (KDI、KD2、T8[il  、 
T8  [i  コ )b、 KD 1 : =OUT
 1 c、KD2:=OIJT2 d、FORループの終わり 8、MDC2の出力は、16バイトMDC:= (KD
 1//KD2)である。
−MDC4(テキスト) 1、入力テキストにX″FF’を埋め込んで8バイトの
倍数にする。
2、入力テキストを[n1個の8バイト・ブロックT8
[エコないしT8 [n=に区分する。
3、n=1の場合、n=2及びT8[2コ=8バイトの
X“00′に設定する。
4、KDlとKD2の初期値を設定する(下記参照)。
5、[1l=1.2.、、、nについて、a、  MD
COP  (KDI、KD2、T8[il  、T8 
 [il  ) b、  KDI  int  :=OUT1c、  K
D2  i  n  t  :  =OUT2d、  
MDCOP  (KD 1  i  n t、KD2 
 i  nt、KD2、KDI) e、  KD  1  :  =OUT  1f、  
KD2:=OUT2 g、FORループの終わり 6、MDC:4の出力は、16バイトMDC:= (K
D 1//KD2)である。
KDlとKD2の初期値は以下の通りである。
1 、 KDI::X’52525252525252
52゜2 、 KD2:二X’25252525252
55252’認証アルゴリズム KK使用 認証キーを計算するために使用されるキーをKIくとす
る。そうすると、 KKR=KK+FM1 (+は排他的論理和演算、FM
IはIDからの最初の8バイト) KKL=KK+TO1(TOIはIDへの最初の8バイ
ト) NS 1=eKKR(To2)(To2はIDへの第2
の8バイト NS r=eKKL (FM2)(FM2はIDからの
第2の8バイト NS=  (NSIの左側32ビツト) //NS r
の右側32ビツト)+CT (CTはKKに関連する6
4ビツトのカウンタ) K  N  =     K  K  +  N  S
KNはKDまたはKKを暗号化するのに使用される認証
キー ’KK使用 認証キーを計算するために使用されるキーを室KKとす
る。そうすると、 ”KK  =KK l//KK r KKR=KKr+FM1 (+は排他的論理和演算、F
MIはIDからの最初の8バイト) KKL=KK l+To 1 (To 1はIDへの最
初の8バイト) NS 1−eKKR(To2)+CT (To2はより
への第2の8バイト、CTは”KKに関連する64バイ
トのカウンタ) NSr=eKKL (FM2)+CT (FM2はID
からの第2の8バイト) ”KN= (KK l+Ns l)// (KK r+
N5r) ”KNはKDまたは(”)KKを暗号化するのに使用さ
れる認証キー 標準及び定義 塁至 ANSI  X2.92−1981  rデータ暗号化
アルゴリズム」 ANSI  X9.106−1983  rDEA動作
モード」 ANSI  X9.2−198X  r金融機関同士の
デビット及びクレジット・カード・メツセージ交換用の
交換メツセージの指定」この標準は、金融トランザクシ
ロンに関係するバンク・カードから発されるメツセージ
を私用システム間で交換するのに使われる共通インター
フェースを指定する。これは、メツセージの構造、形式
、内容、データ要素とデータ要素の値を指定したもので
ある。
ANSI  X9.8−1982  r個人識別番号(
PIN)管理及び安全保護に関する米国標準」 この標
準は、個人識別番号 (PIN)のライフ・サイクルの管理及び安全保護に関
する標準及び指針を確立したものである。
ANSI  X9.9−1986  r金融機関メツセ
ージ確認(卸売り)に関する米国標準」この標準は、振
替(たとえば、電信振 替)、信用状、仔価証券書換え、借款協定、外国為替予
約などの金融メツセージ(卸売り)を確認する方法を確
立したものである。
X9.17−1985  r金融機関キー管理(卸売り
)」 この標準は、暗号キーNS  I の生成、交換、及び確認及び暗号化のための使用の(プ
ロlコルを含む)方法を確立したものである。
ANSI  X9.19−198X  r金融機関小売
メツセージ確認」 この標準は、小売取引の金融メツセ
ージを確認する方法を確立したものである。
ANSI  X9.23−198X  r卸売り金融メ
ツセージ暗号化」 この標準は、機密(たとえば、電信
振替、信用状など)を保持するために卸売り金融メツセ
ージを暗号化する方法を確立したものである。
ISODIS  8583  rバンク・カードから発
するメツセージ−メツセージ交換指定−金融トランザク
ジョン用の内容」 この国際標準は、金融トランザクシロンに関係するバン
ク・カードから発するメツセージを私用システム間で交
換するのに使用する共通インターフェースを指定したも
のである。
5O ISO ISO 5O DI8 8720rメツセージ確認」 DP  8730r金融業務−標準メツセージ確認(卸
売り)要件」 この国際標準は、メツセージ確認コード
(MAC)を用いて金融機関間でパスするメツセージの
真正さを保護するための技術を指定したものであ。
DP  8731r金融業務−メツセージ確認用の公認
アルゴリズム−パート1:DES−1アルゴリズムJ 
 l5O8731のこの部分は、メツセージ確認コード
(MA C)の計算に使用するための方法としてのデー
タ暗号化アルゴリズム (DEA−1)を扱っている。パート−2はその他の非
DEAアルゴリズム。
I)P  8732 r金融業務−キー管理卸売り」 
この国際標準は、卸売金融トランザクション中に交換さ
れるメツセージの暗号化及び確認のために使用されるキ
ー作成資料の管理方法を指定したものである。
ISODP  9548  r個人識別番号の管理及び
安全保護バー)1−PIN保護の原理と技術」この標準
は、効果的なPIN管理に必要な最小限の安全保護措置
を指定したものである。PINデータ交換の標準的手段
が規定されている。
命令及びマクロ要約図 第9表には、データ命令のそれぞれの式を要約する。
本発明の作動 本発明の作動を、いくつかの暗号データ管理機能を実行
しながら説明する。
これらのデータ管理機能は暗号手段を利用し、非暗号化
(復号化)を行ない、MACを生成し、MACを検査し
、暗号テキスト命令を変換する。
操作上、これらの命令はデータの他に、キー及び制御ベ
クトル・パラメータ、初期連鎖値(ICV)を必要とす
る。しかしながら、ICVの重要性がデータ管理機能の
説明にあたり2次的なものであるから、便宜上、ICV
については検討から省く。
しかしながら、暗号テキスト及びMACの発送者がIC
vを生成し、使用し、他の通信者に通信して、暗号命令
が定義され、構成されたインターフェースと矛盾なく、
かつ−貫して作動するようにすることも必要であること
が理解されよう。たとえば、C,H,メイヤ(Meye
r)及びS、M。
マティアス(Matyas )の「暗号:コンピュータ
・データ安全保護の新次元(Cryptography
: A NewDimension in Compu
ter Data 5ecurity) J 1ジ日ン
・ワイリー・アンド・サンズ(John Wiley 
&5ons )、1982年を参照されたい。
1、データの機密性。データの機密性はメツセージまた
はファイルを、無許可の開示に対して保護する。
データの機密性のアプリケーションは、次のものを含ん
でいる。
a、セツション保護。データの暗号化を使用して、2つ
の通信装置の間の機密性ないしセツション・レベルのデ
ータ伝送を保護する。各エンド・ユーザ(装置またはア
プリケーション)は共通データ暗号化/非暗号化キーを
共用し、各エンド・ユーザが暗号データの送受信を行な
えるようにする。
本発明によれば、第16図に示すように、セツション保
護は2つのエンド・ユーザの間で共用されるデータ/ブ
ライバフ・キーによって与えられる。各キーは作動形式
で、すなわちそれぞれの装置のマスタ・キーによって暗
号化されて記憶される。各キーの制御ベクトルの使用属
性はそれぞれ、暗号化(E)及び非暗号化(D)であり
、これらは各キーを暗号化命令による暗号化、及び非暗
号化命令による非暗号化(復号化)の両方に使用するこ
とを可能とする。
b、ファイル保護。データ・ファイルの機密性を保護す
るためのデータの暗号化。単一のエンド・ユーザ(装置
またはアプリケーション)はデータ暗号化/非暗号化キ
ーKDを所有し、データを記憶のために暗号化し、また
後で、回復またはファイルへのアクセスのために非暗号
化(復号化)す ることを可能とする。
本発明によれば、第17図に示すように、ファイル保護
は単一のエンド・ユーザに属する、またはこれが所有し
ているデータ/プライハシ・キーK Dによって与えら
れる。キーは搬入形式で、すなわちK E K /受信
者属性を有するキー暗号キーによって暗号化されて記憶
される。暗号化されたデータ/プライハシ・キーは、暗
号化されたデータとともにデータ記憶域に、すなわちフ
ァイル・ヘッダ・レコードに記憶される。
キーK Dが搬入形式のKEKによって暗号化されるの
で、マスタ・キーに対する再暗号化(RTMK)命令が
、KEKに対する制御ベクトルによって許可され、この
命令がマスタ・キーKMのもとてデータ/プライハシ・
キーを再暗号化することが可能となる。作動形式になる
と、キーKDを使用して、データの暗号化及び非暗号化
(復号化)を行なうことができる。搬入形式のK E 
Kのもとて暗号化された記憶域にキーKDを記憶するこ
とは、データ/プライハシ・キーKDをファイルの回復
に無効ないし使用不能とすることなく、マスタ・キーK
Mを変更できることを意味する。データ/プライハシ・
キーKDの制御ベクトル使用属性は、暗号化(E)及び
非暗号化CD)である。これによって、データ・ファイ
ルを暗号化命令を使用して暗号化すること、及び同じキ
ーとともに非暗号化命令を使用して非暗号化(復号化)
することの両方が行なえるようになる。
C1暗号メール・ボックス。暗号メール・ボックスは各
ユーザが、2つの暗号化された形式の、すなわちマスタ
・キーの排他的論理和として形成された記憶キー及び関
連するデータ/ブライバラ・キーの制御ベクトルによっ
て暗号化されたデータ/プライハシ・キーを有している
マルチ・ユーザ環境を記述する。最初の形式はデータの
暗号化を可能とし、2番目の形式はデータの非暗号化(
復号化)を可能とする。最初の形式のキーはシステムの
すべてのユーザがアクセス可能な公開ディレクトリまた
は中央レジストリに置かれる。このように登録された各
キーは、キーを登録したユーザに属するユーザ識別子に
基づいて記録される。各発信ユーザiは中央ディレクト
リからコピーを得ることができる。このユーザは次いで
、自分のマスタ・キーKMiによって、暗号化キーを記
憶する。2番目の形式のキーは、これが属する受信ユー
ザjによって、jのマスタ・キーKMjに基づいて、内
密のものとされる。それ故、暗号化されたメツセージを
ユーザjに送信しようと考えるユーザiは、まず公共デ
ィレクトリに対して、ユーザjの暗号を要求する。この
キーにより暗号化命令を使用してユーザiが暗号化した
データは次いで、ユーザjに送られ、ユーザjのメール
・ボックスに入れられる。ユーザjは非暗号化命令を使
用する、自分の私用非暗号化キーによって、まず非暗号
化(復号化)を行なって、受け取ったメールを読むこと
ができる。しかしながら、他のユーザがユーザjの非暗
号化キーにアクセスできないのであるから、この環境は
ユーザが他の各ユーザに行くメールの暗号化はできるが
、許可を受けている指定さ れた受信ユーザだけが自分
のメールを読むこと ができるというものである。
本発明によれば、第18図に示すように、暗号メール・
ボックス環境が、2つの形式で生成されたデータ/プラ
イハシ・キーによって与えられる。第1の形式は暗号化
(E)だけを可能とし、第2の形式は非暗号化(D)を
可能とする(必ずしも、非暗号化だけである必要がない
のは、受信者が暗号化及び非暗号化両方を属性を所有し
ていることで、充分だからである)。
第1の形式のデータ/プライハシ・キーの制御ベクトル
使用属性は暗号化(E)だけであり、第2の形式のキー
の属性は非暗号化(D)(またはE、!:Dの両方)で
ある。
d、暗号テキスト変換センタ(CTC)。暗号テキスト
変換センタは暗号データを、暗号テキスト変換命令を使
用して、第1のデータ・キーによる暗号から第2のデー
タ・キーによる暗号へ、安全に変換できるネットワーク
・ノードまたは装置である。要するに、CTCは暗号デ
ータを受け取ることのできる1つまたは複数のデータ・
キーと、受け取った暗号データを再暗号化することので
きる1つまたは複数のデータ・キーを有している。それ
故、これらのキーは、CTCが暗号テキストをあるキー
から他のものに変換できるが、暗号テキストを非暗号化
(復号化)することができない、安全なチャネルを確立
する。CTCはさらに、安全チャネルへデータを導入す
るために、1つまたは複数のこれらのデータ/ブライバ
フ・キーを使用してデータを暗号化することが禁止され
る。
本発明によれば、第19図に示すように、暗号テキスト
変換センタがデータ/プライハシ・キーと関連して使用
されるデータ/X1ateキーによって与えられる。単
一の暗号テキスト変換センタ(CTC)に接続されたn
台の装置のネットワークを想定する。各装置は2つの暗
号形式でデータ・キーを生成する。第1の形式は作動形
式で記憶されたデータ/プライハシ・キーであって、こ
の場合、記憶キーはデータ/プライハシ・キーの制御ベ
クトルによって排他的論理和の取られたマスタ・キーK
Mである。
このキーに対する制御ベクトルは、双方向通信に対する
暗号化(E)及び非暗号化(D)の属性を有している。
第2の形式はCTCに対する搬出に適した搬出形式のデ
ータ/X1ateキーであり、この場合、記憶キーはデ
ータ/X1ateキーの制御ベクトルによって排他的論
理和の取られたキー暗号キーである。CTCにおいて、
受け取られたデータ/X 1 a t eキーはRTM
K命令を使用して搬入されるが、これは受け取られたデ
ータ/ X 1 a t eキーを作動形式に変換する
。このキーに対する制御ベクトルは、双方向通信に対す
るX1ate−in及びX1ate−outの属性を有
している。それ故、装置「i」で暗号化されたデータを
、CTCにおける暗号テキスト変換命令によって変換し
、他の装置のいずれにもわかっているキーに基づく暗号
にすることができる。しかしながら、CTCは受け取っ
たインバウンド暗号データを非暗号化することも、また
データをアウトバウンド暗号データに匹敵する形式で暗
号化することもできないが、これはデータ/ X l 
a t eキーに関連した制御ベクトルに、暗号または
非暗号命令を実行できるようにする使用属性を有してい
ないからである。
システムAからシステムBへの単方向暗号テキスト変換
のみを行なうために、それぞれの制御ベクトルは、次の
ことを確立する。第1データ・キーの第1形式が暗号化
のみの使用属性ををするデータ/プライハシ・キーとな
る。第1データ・キーの第2形式がX1ate−inの
使用属性を有するデータ/X1ateキーとなる。第2
データ・キーの第1形式が非暗号化(復号化)のみ(ま
たは暗号化及び非暗号化)の使用属性を有するデータ/
プライハシ・キーとなる。第2データ・キーの第2形式
がX1ate−outの使用属性を有するデータ/X1
ateキーとなる。
e、対等通信暗号テキスト変換。第29図に示すように
、この環境は2つまたはそれ以上のCTCの連鎖で構成
されており、これらのCTCはネットワーク装置の1つ
のセットから、ネットワーク装置の他のセットへの安全
なチャネルを確立する。第20図は単方向対等通信暗号
テキスト変換の例である。連鎖内の最初のCTCは、暗
号データを第1のセットのネットワーク装置から受け取
れる1つまたは複数のデータ・キーを有している。連鎖
内の各CTCは、暗号データを再暗号化できるが、非暗
号化(復号化)を行なえない1つまたは複数のデータ・
キーををしている。CTCはさらに、安全チャネルへデ
ータを導入するために、1つまたは複数のこれらのキー
を使用してデータを暗号化することが禁止される。連鎖
内の最後のCTCは、第2のセットの値とワーク装置の
メンバーと共用している1つまたは複数のデータ・キー
に基づいて、暗号データを再暗号化する。
本発明によれば、暗号テキスト変換センタが、データ/
プライハシ・キーまたは他のデータ/ブライバク・キー
にいずれかと組み合わせて使用されるデータ/ X l
 a t eキーによって提供される。CTC1、CT
C21,、、CTCkという順でラベルの付けられたに
個のCTCの連鎖を介して、装置のネットワークBのノ
ードjに接続された装置のネットワークAのノードiを
想定する。ノードiは2つの形式でデータ・キーを生成
する。第1の形式は作動形式のデータ/プライハシ・キ
ーである。このキーに対する制御ベクトルは、EJil
i性を有している。第2の形式は、連鎖の最初のCTC
,CTCIへの搬出に適する搬出形式のデータ/X1a
teキーである。CTC1において、受け取られたデー
タ/X1ateキーはRTMK命令を使用して搬入され
、この命令は受け取られたデータ/X1ateキーを作
動形式に変換する。このキーに対する制御ベクトルはX
1ate−in属性を何している。
ノードjは同じ2つの形式でキーを生成する。
作動データ/プライバラ・キー及び搬出可能なデータ/
 X l a t eキーである。jのデータ/ブライ
バク・キーの制御ベクトルは非暗号化属性を有している
。データ/ X l a t eキーは、連鎖の最後の
CTC,CTCkに転送される。
CTCkにおいて、受け取られたデータ/X1ateキ
ーはRTMKを介して搬入され、作動形式になる。この
キーに対する制御ベクトルはX1ate−out属性を
有している。
連鎖内の各CTC(CTCkを除く)は2つの形式、す
なわち作動及び搬出可能形式でデータ/X1ateキー
を生成する。作動データ/X1ateキーはX1ate
−out属性の制御ベクトルを有している。搬出可能な
形式は連鎖の次のCTCに転送される。すなわち、cT
CxはCTC(X+1)(ただし、X=1〜(k−1)
)となる。受信CTCは受け取ったデータ/X 1 a
 t eキーを搬入し、これをRTMK命令によって作
動形式に変換する。データ/X l a t eキーに
対する制御ベクトルは、X1ate−in属性を有して
いる。
あるいは、第3者のノードはノードX及びX+1に対し
て2つの形式、すなわちノードXに対するX1ate−
Oujl及びノードx+1に対するX1ate−inの
形式でデータ/X1ateキー及びその関連する制御ベ
クトルを生成し、転送することができる。
それ故、暗号命令によってネットワークAのノードiに
おいて暗号化されたデータを、暗号テキスト変換命令に
よって、CTClからCTCkまでのCTCの連鎖に沿
って、かつ最後にネットワークBのノードjに対して変
換し、かつ再変換することができる。しかしながら、連
鎖内のCTCはいずれも、受け取ったインバウンド・デ
ータを非暗号化(復号化)することも、あるいは任意の
データを、アウトバウンドの暗号化されたデータに匹敵
する形式で暗号化することもできない。それ故、CTC
の連鎖及び上記で定義したキーは、CTCがグループと
して、ノードiが保持している1つのキーに基づいて暗
号化されたデータを、ノードjが保持している他のキー
に基づく暗号に変換することを可能とする安全なチャネ
ルを形成する。第20図は単方向対等通信を示している
が、制御ベクトルを変更し、双方向通信を可能とするこ
とができる。
f、暗号ファイルの一部の変換。これは暗号ファイルの
一部を、目的とする受信者と適宜共用できるキーに変換
できるアプリケ−シロンである。
この方法はファイルを暗号化するのに使用された元のデ
ータ/プライハシ・キーの共用を防止するものであるが
、これは共用を行なうと、共用を意図していないデータ
の機密性を危険にさらす可能性があるからである。
ユーザまたはアプリケージジン・プログラムがこの機能
を適宜利用するには、ユーザがデータ・キーを2つの暗
号化された形式で生成する必要がある。データ・キーの
第1の形式は、作動形式で記憶された、すなわちマスタ
・キーと、第1形式のデータ・キーに関連した制御ベク
トルの排他的論理和演算として形成された記憶キーに基
づいて暗号化されたデータ/ブライバラ・キーである。
第2の形式のデータ・キーは、搬入形式で記憶された、
すなわちキー暗号キーKEKIと、第2形式のデータ・
キーと関連した排他的論理和演算として形成された記憶
キーに基づいて暗号化されたデータ/X1ateキーで
あって、この場合KEKIの制御ベクトルはKEKIを
、搬入キー暗号キーとして定義する。
(注:搬入キー暗号キーとしてKEKlを定義すること
は、このように暗号化されたデータ/X1ateキーを
、マスタ・キーへの再変換命令(RTMK)によって、
KEKIに基づく暗号からマスタ・キーに基づく暗号へ
再変換することを可能とする。)第1形式のデータ・キ
ーに対する制御ベクトルは、暗号化(E)という使用属
性を有するデータ/プライバラ制御ベクトルであって、
それ故、データを暗号化命令によりデータ・キーに基づ
いて暗号化することを可能とする。第2形式のデータ・
キーに対する制御ベクトルは、X1ate−in (X
in)という使用属性を存するデータ/変換制御ベクト
ルであって、それ故、データ・キーに基づいて暗号化さ
れたデータを、データ・キーに基づく暗号から、暗号テ
キスト命令によって、何か他のデータ・キーに基づく暗
号に変換することを可能とする。
実際には、第21図に示すように、データ・ファイルは
まず、第1形式のデータ・キー、すなわち制御ベクトル
が暗号化(E)という使用属性を有するデータ/プライ
バラ制御ベクトルである作動形式のキーを使用して、暗
号化命令によりデータ・キーに1によって暗号化される
搬入形式で記憶されている第2形式のデータ・キーは、
暗号化されたデータ・ファイルのヘッダ・レコードに書
き込まれる。それ故、後で暗号化されたデータ・ファイ
ルの一部を、現在のデータ・キー(第1データ・キーと
称する)に基づく暗号から、第2データ・キーに基づく
暗号へ変換することを希望する場合に、次のプロシージ
ャが行なわれる。搬入形式で記憶され、暗号化されたデ
ータ・ファイルのヘッダ・レコードに書き込まれた第2
形式の第1データ・キーがアクセスされ、KEKIに基
づく暗号から、マスタ・キーに基づ(暗号に、RTMK
命令を使用して再暗号化される。これは第2形式のデー
タ・キー(すなわち、使用属性がXinであるデータ/
X l a t eキー)を、暗号テキスト変換命令で
使用するのに適する作動キーに変換する。
ここで、第2のデータ・キーに2が2つの暗号化された
形式で生成される。このキーの第1の暗号化された形式
は作動形式で記憶された、すなわちマスタ・キーと、デ
ータ/X l a t eキーに関連した制御ベクトル
の排他的論理和演算として形成された記憶キーに基づい
て暗号化されたデータ/X1ateキーである。キーの
第2の暗号化された形式は、搬出形式で記憶された、す
なわち目的とする受信者と共用しているキー暗号キーK
EK2に基づいて暗号化されたデータ/プライハシ・キ
ーである。(目的とする受信者が、このように生成され
たデータ/プライハシ・キーをマスタ・キーへの再暗号
命令(RTMK)によって搬入し、これによってサポー
ト装置のマスタ・キーと、データ/プライハシ・キーに
関連した制御ベクトルとの排他的論理和演算として形成
された記憶キーに基づいて暗号化されたデータ/プライ
ハシ・キーを、記憶できるものと想定する。)第1形式
の第2データ・キー(すなわち、データ/ X 1 a
 t eキー)に対する制御ベクトルの使用属性は、X
1ate−out (Xout)であり、第2形式の第
2データ・キー(すなわち、データ/プライハシ・キー
)に対する属性は、非暗号化(D)のみ(または、非暗
号化及び暗号化)である。ここで、暗号化されたデータ
・ファイルの一部が、暗号テキスト変換命令によって、
第1データ・キーに基づく暗号から、第2データ・キー
に基づく暗号へ、搬入形式から作動形式(その制御ベク
トルはキーを、使用属性Xinを有するデータ/ X 
l a t eキーとして指定する)へと再暗号化され
た第1データ・キーの第2の暗号形式と、既に作動形式
(その制御ベクトルはキーを、使用属性Xoutを有す
るデータ/X1ateキーとして指定する)になってい
る第2データ・キーの第1の暗号形式を使用して再暗号
化される。このように変換された暗号テキストは次いで
、システムiから目的とする受信システムjへ送られ、
ここで暗号化されたデータは非暗号命令によって、第2
データ・キーの第2の形式(その制御ベクトルはキーを
、使用属性りををするデータ/プライバフ・キーとして
指定する)を使用して非暗号化(復号化)される。
例かられかるように、暗号化されたファイルAの一部A
“を、第1のユーザlの装置において平文形式に非暗号
化する必要なしに、また第1のユーザiがファイルA全
体を暗号化したデータ・キーに1を共用する必要なしに
、他のユーザjに与えることができる。
2、データの保全性。データの保全性はメツセージまた
はファイルの内容を、無許可の修正から保護する。これ
はデータの変更、追加及び削除を含んでいる。暗号はデ
ータに対する無許可の変更を検出する方法を提供するだ
けである。データに対する無許可の変更を防ぐことはで
きない。
a、メツセージの保全性。マルチ・ユーザ環境の各エン
ド・ユーザ(装置またはアプリケーション・プログラム
)は、共通データMAC生成/検査キーを共用し、これ
により各エンド・ユーザが他の任意のエンド・ユーザに
伝送されるメツセージに対してMAC(メツセージ確認
コード)を生成することが可能となり、また各エンド・
ユーザが他のエンド・ユーザから受け取ったメツセージ
のMACを検査することが可能となる。
本発明によれば、第22図に示すように、メツセージの
保全性は2つのエンド・ユーザが共用するデータ/MA
Cキーによって与えられる。
各キーは作動形式で、すなわちそれぞれのエンド・ユー
ザに役立つ装置のマスタ・キーと、データ/MACキー
に関連した制御ベクトルの排他的論理和演算として形成
された記憶キーに基づいて暗号化された形式で記憶され
る。各キーの制御ベクトルの使用属性は、それぞれMA
C生成(MG)及びMAC検査(MV)であって、これ
は各エンド・ユーザのキーをMAC生成及びMAC検査
の両方に使用できるようにする。
それ故、それぞれのエンド・ユーザの間で通信されるメ
ツセージの保全性を確保できる。それ故、たとえば、第
1のエンド・ユーザはデータ/MACキーの自分のコピ
ーを使用して、MAC生成命令によって、第2のエンド
・ユーザに送られるメツセージに対してMACを生成す
る。
メツセージとMACは次いで、第2のエンド・ユーザに
伝えられる。第2のエンド・ユーザはデータ/MACキ
ーの自分のコピーを使用して、MAC検査命令によって
、MACを検査する。
キーの各コピーに対する制御ベクトルが使用属性MG及
びMVを有しているので、各エンド・ユーザはこのキー
によってMACを生成し、検査することができ、またメ
ツセージとMACを第1のエンド・ユーザから第2のエ
フF・ユーザへ、あるいは第2のエンド・ユーザから第
1のエンド・ユーザへ通信することができる。
b、拒否不行使によるメツセージの保全性。マルチ・ユ
ーザ環境の各エンド・ユーザ(装置またはアプリケ−シ
ロン・プログラム)は、2つの暗号形式の、すなわちそ
れぞれの装置のマスタ・キーと、データ/MACキーに
関連した制御ベクトルの排他的論理和演算として形成さ
れた記憶キーに基づいて暗号化されたデータ/MACキ
ーを有している。第1の形式はMACの検査を可能とし
、第2の形式はMACの生成を可能とする。第1形式の
キーは、システムのすべてのユーザがアクセスできる公
共ディレクトリまたは中央レジストリに入れられる。こ
のように登録された各キーは、キーを登録したユーザに
属するユーザ識別子に基づいて記録される。
第2形式のキーはこれが属するユーザによって内密のも
のとされる。それ故、メツセージとMACをユーザiに
送信することを希望するユーザjは、ニー°ザjに属す
る私用MAC生成キーを使用して、GENMAC命令に
よって、希望するメツセージにMACを生成する。メツ
セージ及びMACは次いで、ユーザiに伝えられる。
受け取ったメツセージ及びMACを検査するために、ユ
ーザiはまず、公共ディレクトリにユーザjのMAC検
査キーを要求する。(注:公開ディレクトリがユーザi
をサポートしている装置とは異なる装置に置かれている
場合には、RFMK及びRTMK命令を使用して、希望
するキーの搬出及び搬入を行なう必要がある。これはM
AC検査キーを、キーを搬出するために、RFMK命令
によって、2つの装置の間で共用されているキー暗号キ
ーに基づいて再暗号化させ、かつRTMK命令によって
、ユーザ!をサホートシている装置におけるマスタ・キ
ーに基づいて再暗号化させる。)次いで、ユーザiはj
のMAC検査キーを使用して、MAC検査命令によって
受け取ったメツセージ及びMACを検査する。しかしな
がら、他のユーザがユーザjのMAC生成キーにアクセ
スできないのであるから、この環境は他の任意のユーザ
(たとえば、ユーザV)から受け取ったMAC及びメツ
セージを検査できるが、他のユーザのMAC生成キーを
使用して、メツセージにMACを生成することはできな
いというものである。それ故、あるユーザが他のユーザ
のふりをして、他のユーザMAC生成キーを使用してメ
ツセージにMACを生成することはできない。逆に、あ
るユーザ(たとえば、ユーザj)は、メツセージ及びM
ACの検査がMAC検査命令によって、そのユーザのM
AC検査キーで成功した場合に、そのユーザが発送した
有効なメツセージ及びMACを拒絶または拒否できない
。これを拒否不行使(non−repud iat i
on )と呼ぶ◎本発明によれば、第23図に示すよう
に、拒否不行使によるメツセージの保全性は、2つの暗
号形式で生成されたデータ/MACキーによって与えら
れる。第1の形式ではMACの検査のみが可能であり、
第2の形式ではMACの生成が可能である(MAC生成
及びMAC検査の両方を所有していることで充分なので
あるから、必ずしも、MACの生成のみである必要はな
い)。第1形式のデータ/MACキーに対する制御ベク
トルの使用属性は、MAC検査(MV)のみであり、第
2形式のキーに対する属性は、MAC生成(MG)のみ
(または、MG及びMVの両方)である。
3、メツセージの確認。メツセージの確認は2つの通信
当事者の間で確立されるプロシージャであって、受け取
ったメツセージが真正なものであることを、各通信当事
者が検査することを可能とする。
通信当事者は人間、装置、あるいは処理機能である。メ
ツセージの確認によって、メツセージの受信者が次のこ
とを判断することを可能とする。
a、メツセージが疑わしい発送者によって発送された。
b、メツセージの内容が偶然、または意図的に変更され
た。
C,メツセージがこれが伝送されたのと同じシーケンス
で受け取られた。
d、メツセージが目的とする受信者に渡された。
上記よりわかるように、メツセージの確認はメツセージ
の保全性に対する要件を含んでいるが、それよりも範囲
の広い概念のものである。
本明細吉で定義するメツセージの確認は、受信者がメツ
セージの発信元、内容、タイムリー性、及び目的とする
宛先をさらに妥当性検査することを可能とする。これら
の付加的な特徴を達成するために、発信者識別子フィー
ルド、受信者識別子フィールド、及びシーケンス番号識
別子フィールドを、第24図に示すように、メツセージ
に含める。それ故、メツセージ及びMACの受け取り時
に、メツセージの内容がまず、MAC確認命令、及び2
つのユーザが共用している(すなわち、キー管理処理に
よって既に確立されている)MAC確認キーを使用して
、MACによって確認される。メツセージの内容が確認
されたら、単純なチエツクを行なって、発信者識別子が
メツセージの予想される、あるいは意図する発信者に属
するMAC検査キーの識別子に等しいこと、シーケンス
番号フィールドの値が、同じ発信者から以前に受け取づ
たメツセージのシーケンス番号よりも1大きいこと、な
らびに受信者識別子が実際の受信者の識別子に等しいこ
とを検査する。すべてのチエツクをバスしたら、受け取
ったメツセージは有効なものとして受け入れられ、そう
でない場合には、拒絶される。メツセージの確認及び拒
否不行使によるメツセージの確認は、概略を述べたよう
にして、付加的なフィールドを定義し、チエツクするこ
とを除き、データの保全性及び拒否不行使によるデータ
の保全性を達成するのと同じ方法で達成される(それぞ
れ、第2a項及び第2b項で説明したアプリケージジン
参照)。
本発明の他の実施例においては、クリア・キーを暗号機
構に記憶し、暗号化操作に直ちに利用できる。これらの
クリア・キーは、たとえば、暗号機構4の第1図の作業
用記憶機構24に記憶できる。あるいは、これらのキー
を第2図に示すような、暗号機構の作業用キー・レジス
タに記憶することができる。
第1の方法において、各キー及び関連する制御ベクトル
は、暗号機構内のRAMに、対となった式として記憶で
きる。このような各キー及び制御ベクトルは、その目的
とする使用の前に、許可を受けたシステム要員(たとえ
ば、安全保護担当員)だけがアクセスできる特別な許可
を受けたプロシージャによって、初期化される。マスタ
・キーを初期化するのと同様なプロシージャ(たとえば
、フロント・パネル・インターフェースに接続されてお
り、物理キー活動化キー・スイッチによって使用可能と
されるハンド・ベルト・キー人力装置による)を、暗号
機構内のキー及び制御ベクトルの初期化に容易に適合さ
せることができる。暗号機構内のパラメータを初期化す
る方法は、当技術分野において周知である。ルーチンの
操作中に、特定のキーにアクセスするために、関連する
制御ベクトルがまずアクセスされ、制御ベクトル・チエ
ツク操作が上述のように遂行され、提案されているキー
の使用が許可されていることを確認する。許可が確認さ
れると、対応するキーがRAMからアクセスされ、暗号
機構内の意図する操作に使用される。
第2の方法においては、キー及び関連する制御ベクトル
の排他的論理和の結果が、暗号機構内のRAMに記憶さ
れる。すなわち、キー及び制御ベクトルの対となった式
を記憶する(第1の方法の場合のように)代りに、キー
と制御ベクトルの排他的論理和が取られ、排他的論理和
演算の結果が暗号機構内のRAMに記憶される。暗号機
構を初期化するプロシージャは、暗号機構外でキーと制
御ベクトルの排他的論理和演算を行ない、次いで第1の
方法について説明したような、キー及び制御ベクトルを
入力するプロシージャに類似したプロシージャを使用し
て、演算結果をパラメータとして入力することに基づい
ている。あるいは、キーと制御ベクトルの排他的論理和
を暗号機構内で取り、次いで結果を前と同じに記憶する
ことができる。その後、キーにアクセスするステップが
次のように行なわれる。特定のキーの使用を指定する命
令も、このキーに関連した制御ベクトルをパラメータと
して与えなければならない。前と同じように、制御ベク
トル・チエツク操作を使用して、制御ベクトルがまずチ
エツクされ、提案されたキーの使用が許可されているこ
とを確認する。許可が確認されると、暗号機構に記憶さ
れている、キーと制御ベクトルの排他的論理和の結果が
アクセスされ、命令に対するパラメータとして供給され
た制御ベクトルと排他的論理和が取られ、目的とする暗
号化操作でこの場合に使用されるクリア・キーを回復す
る。不正が試みられた場合、すなわち偽の制御ベクトル
を命令に指定した場合、回復されたキーのクリア値が正
しくなくなる(すなわち、正しいキー値でなくなる)。
暗号命令は、このような制御ベクトルの詐欺の結果とし
て、正しくないキー値が生じた場合に、を用な出力が得
られないように構成されている。
第1表 第2表 第5表 第6表 第3表 第4表 第7表 第8表 E8発明の詳細 な説明したように本発明によれば、データについての融
通性の高い安全保護管理が提供される。
【図面の簡単な説明】
第1図は、本発明を適用しうる暗号機構(CF)の主要
構成要素を示すシステム図である。 第2図は、CF、ソフトウェア・ドライバCFAP及び
暗号アプリケーション・プログラムの構成要素を示すシ
ステム図である。 第3図は、基本的暗号キーの分離を示す説明図である。 第4図は、データ・キーの分離を示す説明図である。 第5図は、コード化命令の構成図である。 第6図は、復号命令の構成図である。 第7図は、暗号化命令の構成図である。 第8図は、非暗号化命令の構成図である。 第9図は、メツセージ確認コード生成(Genmac)
命令の構成図である。 第10図は、メツセージ確認コード検査(Vermac
)命令の構成図である。 第11図は、暗号テキスト変換命令の構成図である。 第12図は、DES暗号化の電子コード・ブック(EC
B)モードを示す図である。 第13図は、DES暗号化の暗号ブロック連鎖(CBC
)モードを示す図である。 第14図は、DES非暗号化のCBCモードを示す図で
ある。 第15図は、メツセージ確認(MAC)アルゴリズムを
示す図である。 第16図は、セラシロン保護の作動を示す図である。 第17図は、ファイル保護の作動を示す図である。 第18図は、暗号メール・ボックスの作動を示す図であ
る。 第19図は、暗号テキスト変換センタの作動を示す図で
ある。 第20図は、対等通信暗号化変換を示す図である。 第21図は、暗号ファイルの一部の変換を示す図である
。 第22図は、制御ベクトルを使用したメツセージの保全
性を示す図である。 第23図は、制御ベクトルを使用した拒否不行使による
メツセージの保全性を示す図である。 第24図は、メツセージのフォーマットを示す図である
。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝 (外1名) 第12図 第13図

Claims (2)

    【特許請求の範囲】
  1. (1)制御ベクトルに関連する暗号キーを用いてデータ
    についてデータ暗号機能を遂行するための暗号サービス
    要求を出力するプログラムを実行するデータ処理システ
    ムにおいて、上記プログラムによって暗号キーについて
    要求されたデータ暗号機能が上記暗号キーの創作者によ
    って許可されたことを検証する装置であって、 上記暗号サービス要求、データ、暗号キー及び暗号キー
    に関連する制御ベクトルを受け取るための入力経路と、
    これらの入力に対する応答を供給する出力経路とが通る
    安全保護境界によって特徴付けられ、該安全保護境界内
    に上記入力経路に接続された暗号命令記憶装置と、上記
    暗号命令記憶装置に接続された制御ベクトル検査手段及
    び暗号処理手段と、上記暗号処理手段に接続されたマス
    タ・キー記憶装置とを有し、上記受け取られた暗号サー
    ビス要求に応答してデータ暗号機能を実行するための安
    全保護区域を提供する暗号機構を有し、 上記暗号命令記憶装置は上記入力経路を介して暗号サー
    ビス要求を受け取って暗号キーでデータ暗号機能を遂行
    し、 上記制御ベクトル検査手段は上記暗号キーに関連する制
    御ベクトルを受け取るため上記入力経路に接続された入
    力と、上記暗号サービス要求によって要求されたデータ
    暗号機能が上記制御ベクトルによって許可されることの
    検査を開始するための制御信号を受け取るため上記暗号
    命令記憶装置に接続された入力とを有し、 上記制御ベクトル検査手段は上記暗号機能が許可された
    ことを知らせるため上記暗号処理手段の入力に接続され
    た許可出力を有し、該許可出力からの信号を上記暗号処
    理手段が受け取ったことにより上記暗号キーで要求され
    たデータ暗号機能の遂行を開始するようにしたことを特
    徴とする検証装置。
  2. (2)制御ベクトルに関連する暗号キーを用いてデータ
    についてデータ暗号機能を遂行するための暗号サービス
    要求を出力するプログラムを実行するデータ処理システ
    ムにおいて、上記プログラムによって暗号キーについて
    要求されたデータ暗号機能が上記暗号キーの創作者によ
    って許可されたことを検証する方法であって、 (a)入力経路及び出力経路が通る安全保護境界によっ
    て特徴付けられた暗号機構内で暗号キーを用いてデータ
    についてデータ暗号機能を遂行するため暗号サービス要
    求を受け取るステップと、 (b)上記暗号キーに関連する制御ベクトルを受け取っ
    て、上記暗号サービス要求によって要求されたデータ暗
    号機能を上記制御ベクトルが許可することを検査するス
    テップと、(c)上記データ暗号機能が許可されること
    を知らせて、上記暗号キーで要求されたデータ暗号機能
    を遂行することを開始するステップと、を有する検証方
    法。
JP1210802A 1988-08-18 1989-08-17 検証装置及び検証方法 Expired - Lifetime JPH0820849B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23351588A 1988-08-18 1988-08-18
US233515 1988-08-18

Publications (2)

Publication Number Publication Date
JPH02101491A true JPH02101491A (ja) 1990-04-13
JPH0820849B2 JPH0820849B2 (ja) 1996-03-04

Family

ID=22877564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1210802A Expired - Lifetime JPH0820849B2 (ja) 1988-08-18 1989-08-17 検証装置及び検証方法

Country Status (2)

Country Link
JP (1) JPH0820849B2 (ja)
CA (1) CA1322418C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005311490A (ja) * 2004-04-19 2005-11-04 Sony Corp セキュア通信を行う通信システム及び方法
JP2007088802A (ja) * 2005-09-22 2007-04-05 Nippon Hoso Kyokai <Nhk> コンテンツ送信装置およびコンテンツ送信プログラム、並びに、コンテンツ受信装置およびコンテンツ受信プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62285168A (ja) * 1986-06-03 1987-12-11 Nec Corp セキユリテイ・チエツク方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62285168A (ja) * 1986-06-03 1987-12-11 Nec Corp セキユリテイ・チエツク方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005311490A (ja) * 2004-04-19 2005-11-04 Sony Corp セキュア通信を行う通信システム及び方法
JP2007088802A (ja) * 2005-09-22 2007-04-05 Nippon Hoso Kyokai <Nhk> コンテンツ送信装置およびコンテンツ送信プログラム、並びに、コンテンツ受信装置およびコンテンツ受信プログラム

Also Published As

Publication number Publication date
JPH0820849B2 (ja) 1996-03-04
CA1322418C (en) 1993-09-21

Similar Documents

Publication Publication Date Title
US4918728A (en) Data cryptography operations using control vectors
EP0354774B1 (en) Data cryptography using control vectors
US4941176A (en) Secure management of keys using control vectors
US5265164A (en) Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5815573A (en) Cryptographic key recovery system
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
US4386233A (en) Crytographic key notarization methods and apparatus
EP0529261B1 (en) A hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US4924514A (en) Personal identification number processing using control vectors
US7392384B2 (en) Method and system for secure storage, transmission and control of cryptographic keys
US8135132B2 (en) Method and system for secure storage, transmission and control of cryptographic keys
US5164988A (en) Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
EP0002390B1 (en) Method for cryptographic file security in multiple domain data processing systems
US6535607B1 (en) Method and apparatus for providing interoperability between key recovery and non-key recovery systems
JP2004530346A (ja) セキュアな暗号鍵の生成、証明、および使用のための方法および装置
CN101114326A (zh) 用于计算机装置验证的系统和方法
WO2000049764A1 (en) Data authentication system employing encrypted integrity blocks
US6396929B1 (en) Apparatus, method, and computer program product for high-availability multi-agent cryptographic key recovery
CN116210199A (zh) 分布式计算系统中的数据管理和加密
EP0356065B1 (en) Secure management of keys using control vectors
JPH02101491A (ja) 検証装置及び検証方法
EP0354771B1 (en) Personal identification number processing using control vectors
JP2004048336A (ja) データの暗号化,復号機能有する入出力装置、記憶装置及びこれらを含むデータ管理システム
CN116250209A (zh) 分布式计算系统中的数据管理和加密