JP2689998B2 - 暗号動作を行う装置 - Google Patents

暗号動作を行う装置

Info

Publication number
JP2689998B2
JP2689998B2 JP3159632A JP15963291A JP2689998B2 JP 2689998 B2 JP2689998 B2 JP 2689998B2 JP 3159632 A JP3159632 A JP 3159632A JP 15963291 A JP15963291 A JP 15963291A JP 2689998 B2 JP2689998 B2 JP 2689998B2
Authority
JP
Japan
Prior art keywords
cryptographic
control vector
key
service request
input
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 - Lifetime
Application number
JP3159632A
Other languages
English (en)
Other versions
JPH04240888A (ja
Inventor
ドナルド、ビー、ジョンソン
アン、ブイ、リ
スティーブン、エム、マトヤス
ロスチスラウ、プリマク
ジョン、ディー、ウィルキンス
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 JPH04240888A publication Critical patent/JPH04240888A/ja
Application granted granted Critical
Publication of JP2689998B2 publication Critical patent/JP2689998B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータ処理システ
ムおよび方法に関し、特にセキュリティの向上のために
データ処理システムで用いられる暗号システムおよび方
法に関する。
【0002】
【従来の技術及び課題】米国特許出願第55502号
(出願日1987年3月、後に米国特許第4、850、
017号となった)、同第231114号(出願日19
88年8月11日、後に米国特許第4、941、176
号となった)、同第401486号(出願日1989年
8月30日、後に米国特許第4、918、728号とな
った)、同第398300号(出願日1989年8月2
4日)、同第398299号(出願日1989年8月2
4日、後に米国特許第4、924、515号となっ
た)、同第344165号(出願日1989年4月27
日、後に米国特許第5、103、478号となった)、
同第443418号(出願日1989年11月29日、
後に米国特許第4、993、069号となった)および
同第506319号(出願日1990年4月9日、後に
米国特許第5、007、089号となった)の各明細書
は、データ処理システムにおける暗号キーに要求される
キー管理機能がそのキーのオリジネータにより許可され
ているということを検証するための暗号アーキテクチャ
を示し、制御ベクトル検査にもとづくキー使用検証法を
示している。制御ベクトルは、関連する暗号キーの意図
する使用を全体として記述する予め定められた値の1以
上のフィールドを含むデータ構造である。この制御ベク
トルはキー発生時にキーのオリジネータにより特定され
る。上記出願の明細書は更に指定された使用がこの暗号
アーキテクチャのキー使用検証機構により強制されるこ
とを保証するために一貫性をもって制御ベクトルをキー
値に結合する方法を開示している。
【0003】制御ベクトル検査は、制御ベクトルが、行
われるべき要求されたキー管理機能を示すオペレーショ
ンコードと共に物理的に安全な暗号装置内の制御ベクト
ル検査ユニットに送られるように構成されたキー使用検
証法である。この制御ベクトル検査ユニットは夫々の送
られた制御ベクトル内の種々のフィールドの内容を検査
し、比較するために一群の検査ルールを用いる。制御ベ
クトルが要求されたキー管理機能に関連した検査ルール
を満足すれば、制御ベクトル検査ユニットが許可信号
を、要求されたキー管理機能を完結することの出来る暗
ファシリティ内の命令プロセッサに送る。1個あるい
はそれ以上の制御ベクトルがこれら検査ルールを満足し
ないならば、不許可信号が出され、そして命令実行はア
ボートされる。
【0004】上記出願の明細書は制御ベクトル検査ルー
ル、すなわち暗号装置の夫々の実行可能な命令に対しハ
ードワイヤードまたはハードコーデッドされる静的ルー
ル、ユーザまたはインプリメンタが制御ベクトル変換を
用いて基本的な検査ルール群を増補しうるようにするパ
ラメトリックルールおよび検査目安を暗号装置外部の貯
蔵部から制御ベクトル検査ユニットに安全且つ動的にロ
ードしうるようにするプログラム可能検査ルール、をつ
くる種々の方法を示している。
【0005】すべてのキー使用検証法は暗号キーと関連
する制御ベクトル内にキーオリジネータにより定義され
た使用属性を規定することにもとづいていることは当業
者には明らかである。総体的に、これらキー使用検証法
は制御ベクトル(CV)エンフォースメントとして知ら
れている。このCVエンフォースメントのすべてに共通
な特性はCV検査の概念、すなわちユーザから暗号装置
に送られる1組以上の制御ベクトルの種々の所定のフィ
ールドおよび値に一群の検査ルールを適用することであ
る。
【0006】CV検査法ではユーザが暗号装置の外でC
Vを管理しなければならない。CV管理は制御ベクトル
の定義、分配および記憶を指す総合的な用語である。例
えばCVエンフォースメントのCV検査法ではキー管理
要求の処理のためにキーが暗号装置に与えられるときC
Vがそのキーを伴わねばならないから、暗号装置のユー
ザはキーのオリジネータのCVコピーを維持しなければ
ならない。(CVはそのキーの要求された使用を認証
るため、およびそのキーの平文フォームを適正に回復す
るための両方に必要である。)CV検査法では更にユー
ザが暗号化キーの発生または処理の前に各CVの全内容
を定義しなければならない。ユーザはまた暗号キーが他
のシステムに出されるときそのキーと共にCVを分配し
なければならない。
【0007】それ故本発明の目的は暗号装置外でのCV
管理の必要性を減少またはなくす制御ベクトルエンフォ
ースメント用の安全方法を提供することである。
【0008】本発明の他の目的は暗号装置外でのCVの
記憶手段をなくすことである。
【0009】本発明の他の目的はキーと結合された明示
的制御ベクトルの値が未知であるとき暗号キーを検証
し、それを回復することを許す制御ベクトルエンフォー
スメント用安全方法を提供することである。
【0010】本発明の他の目的は暗号装置に入る入力情
報から内部的に制御ベクトルをとり出しうる制御ベクト
ルエンフォースメント用安全方法を提供することであ
る。
【0011】本発明の他の目的は、暗号装置外でとり出
されるインデクスにもとづき制御ベクトルが暗号装置内
の記憶手段から選ばれる制御ベクトルエンフォースメン
ト用安全方法を提供することである。
【0012】
【課題を解決するための手段及び作用】上記目的は制御
ベクトルエンフォースメントの幾つかのモードを用いる
本発明の安全暗号動作により達成される。本発明は暗号
装置に与えられる暗号サービス要求に含まれるデータに
もとづき制御ベクトルを発生し、選択しまたはとり出す
種々の方法を開示する。制御ベクトルの発生、とり出し
または選択は暗号装置の安全境界内で行われるから、そ
れにもとづく制御ベクトルエンフォースメントは高い安
全性をもって行われる。
【0013】暗号装置自体にCV管理能力の一部または
すべてを移すことにより多くの利点が得られることは当
業者には明らかである。本発明は暗号装置に供給される
入力情報にもとづきCVを暗号装置内で発生しあるいは
獲得しうるようにする異なるCVエンフォースメントを
与える。これら利点のいくつかは次のものを含む。
【0014】 ・信頼性の向上(暗号装置により維持されるCVの完全
性) ・使用性の向上(より簡単な命令インターフェース) ・記憶機構の縮小(暗号装置外で記憶されるCVの減
少) 本発明はまた、CV管理能力がユーザと暗号装置とによ
り共用されるようにするCVエンフォースメントモード
を与える。このモードはCVの種々の部分が最大許容値
範囲をもって使用属性についてユーザにより特定されう
ることを特徴とする。しかしながら、CVの固定部分は
要求された動作、および一群の予定値に限られる範囲を
もつ使用属性についての他の入力情報にもとづき暗号装
置により特定される。
【0015】本発明によるCVエンフォースメントの別
のモードは、定義されたキータイプとキー利用のセット
が充分に定義される暗号インプリメンテーションに特に
適用しうる。そのようなシステムでのそれらモードの使
用により、暗号装置内のCVエンフォースメント機構の
動作と検査の複雑性が低下する。
【0016】
【実施例】図1は1以上の適用業務(アプリケーショ
ン)プログラム(APPL)8、暗号装置アクセスプロ
グラム(CFAP)6、および暗号装置(CF)4を含
む暗号システムA100を示す。APPL8はCFAP
6から適用業務プログラミングインターフェース(AP
I)18の入力チャンネル10を介して暗号サービス要
求を出す。他方CFAP6は装置アクセスプログラムイ
ンターフェース(FAPI)20の入力チャンネル12
を介してCF4の1以上の命令を呼び出す。CF4は夫
々呼び出された命令を実行し、その処理結果をFAPI
20の出力チャンネル14を介してCFAP6にもど
す。そしてCFAP6は一群の命令呼出しの結果または
その結果のいくつかの機能をAPI18の出力チャンネ
ル16を介してAPPL8にもどす。暗号システム内の
個々の要素および要素間のインターフェースの詳細は前
記出願の明細書に示されている。しかしながら、CFA
P6、CF4およびFAPI20のインターフェースの
機能のある程度の説明は本発明を理解する上で有効であ
る。
【0017】CF4はFAPI20の入力チャンネル1
2によりCF4に与えられる一群の入力情報を介して外
部から呼び出しうる1以上の暗号命令からなる群をサポ
ートする。この入力情報はオペレーションコード、クリ
アおよび/または暗号キーパラメータ、平文データまた
は暗号文データ、等の形の暗号サービス要求を含むこと
が出来る。オペレーションコードすなわちOPコードは
CF4で行われるべき暗号命令をこの暗号命令群の内か
ら選ぶ。入力情報の他の部分はOPコードにより識別さ
れる暗号処理に用いられる制御またはデータパラメータ
である。この入力情報はOPコードおよびデータパラメ
ータを識別する、予定のフィールドと値をもつ構造化制
御ブロックの形でもよく、あるいは、CF4が暗号サー
ビス要求により選ばれた命令を実行するのに必要な入力
情報のすべてを受けてしまうまで入力チャンネル12を
介して個々のデータ項目として送られてもよい。
【0018】CF4は入力情報を用いて、FAPI20
の入力チャンネル12の入力情報を一群の出力情報に変
換し、この出力情報はFAPI20の出力チャンネルに
もどされる。命令の実行はCF4の物理的な安全境界内
で完全に生じ、それ故平文の形の入力暗号化キーおよび
データそして他の中間的な結果に対し高い完全性と秘密
性を与える。
【0019】前記出願の明細書に示されるように、CF
4は各暗号キーがその発生時にそれに割当てられた使用
属性と確実に一致するように用いられるようにする。
ーキテクチャ上、これら使用属性はキー暗号化キーと構
造化データ値とを結合することにより一つのキーに不可
分に関連づけられる。CF4の境界外に記憶されるとき
にそのキーを暗号化する。キーがCF4の境界外に記憶
されるときにはそのキーはこのキー暗号化キーにより暗
号化される。この構造化データ値は制御ベクトル(C
V)であり、これはキー発生時に定義された使用属性に
対応する所定の値のフィールド群を含む。キーのCV
(つまり使用属性)がCF4内で処理されることを確か
なものとするためにCF4で用いられる機構が、CVエ
ンフォースメントである。
【0020】前記米国出願の明細書は制御ベクトル検査
として知られるCVエンフォースメントの方法を開示し
ている。制御ベクトル検査ではCF4は入力情報ブロッ
クとしてCF4に与えられる各CV内の種々のフィール
ドを検査するためにCF4内で記憶された固定の、ある
いは可変の、あるいはパラメータ化されたルール群を用
いる。与えられたCVの内容が要求された暗号命令に関
連する検査ルールを満たせばCF4はその要求された暗
号変換を許可する。これらCV内の1以上がルールを満
たさない場合にはその命令はアボートされる。各CVは
関連するキーに密着しているから、そしてそのキーを発
生させた正しいCVを特定することなしにはCF4内で
そのキーを回復しえないから、CV検査ルールを満たす
と共に暗号化キーの適正な内部回復をもたらす別のCV
をCF4に不法侵入者が与える機会はない。
【0021】本発明は、キーパラメータに関連する制御
ベクトルの値がCFAP6からCF4に与えられるので
はなく各命令呼出しにおいてパスされた入力情報の内容
にもとづきCF4により内部的に計算されるようになっ
ているCVエンフォースメントの他のモードを提案する
ものである。これらの方法はCVの一部あるいは多分す
べてをCF4の外に記憶し、かつFAPI20を通す必
要がないという利点を有している。その理由は、CVま
たはその一部分がCF4内部でとり出されるからであ
る。
【0022】図2はCF4の要素を示しており、入力情
報はFAPI20の入力チャンネル12を介してCF4
に入る。FAPI20は「通過」形インターフェースで
よく、あるいはこの入力情報をCF4の内部要素に受け
入れうる形に変換するのに必要なフォーマットおよびタ
イプ変換機能を行うものでよい。同様に、暗号サービス
要求を処理した結果を表わす出力情報はFAPI20の
出力チャンネル14を介してCF4からもどされる。F
APIはこの出力情報を、装置呼出しアクセスプログラ
ム(例えば図1のCFAP6)に対して受け入れ可能な
形に変換するのに必要なデータフォーマットおよびタイ
プ変換機能を行う。
【0023】内部的にはCF4は情報選択手段30、制
御ベクトル発生手段32、キーソース手段34および暗
号変換手段36を含む。情報選択手段30は入力チャン
ネル12から入力情報を受ける。この入力情報はCF4
の命令レパートリィ内の、暗号変換手段36内で行われ
る複数の命令の内の1個を選択するオペレーションコー
ド(OPコード)またはトークン値からなる。更に、こ
の入力情報は次の内の1つ以上を含むことが出来る。
【0024】 ・処理されるべき平文または暗号文データ ・クリア(すなわち平文)暗号キー ・暗号化暗号キーすなわちシステムマスタキー(あるい
は他のキー暗号化キー)の関数(例えば排他−OR)で
あるキー暗号化キーおよび暗号化されたキーのタイプお
よび使用属性を定義する制御ベクトルにより暗号化され
る各平文キー ・制御ベクトル選択パラメータ ・他のプロセス特有のパラメータ。
【0025】情報選択手段30は入力情報に含まれる種
々のパラメータを必要に応じてCF4の他の要素に方向
づける。このパラメータ選択及び方向づけはOPコード
のみに、あるいはOPコードと、一つの与えられたOP
コード内の処理オプションを更に定義するモードセレク
タのような他のプロセス特有のパラメータとにもとづい
ている。
【0026】制御ベクトル発生手段32は暗号変換手段
36により用いられるべき制御ベクトルCを発生しある
いはとり出すものであり、そのベクトルに関連する暗号
キーKを処理する。制御ベクトル発生手段32はかくし
て本発明の関連するCVエンフォースメントの別方法を
行う。手段32はワーキングレジスタ38に記憶すべく
出力チャンネル48にその発生されたまたはとり出され
た制御ベクトルCを出力する。一般に、制御ベクトル発
生手段32は図3に示すようにワーキングレジスタ38
に記憶されるべき、順序を与えられた制御ベクトル群C
1,C2,…,Cnの形で複数の制御ベクトルを発生し
出力する。
【0027】キーソース手段34は暗号変換手段36で
使用されるべき暗号キー値Kを発生または獲得する。キ
ーソース手段34は命令OPコードと他のパラメータを
含む選ばれた入力情報を受け、そしてワーキングレジス
タ38にそれに関連する制御ベクトルCと共に記憶され
るべく出力チャンネル40を介して暗号キー値Kを出力
する。出力キー値Kはキーソース手段34内でランダム
に発生されるか、あるいは入力チャンネル44を介して
情報選択手段30から入る選ばれた入力情報内のクリア
なまたは暗号化されたキーパラメータから抽出される。
キー値Kはクリアまたは暗号化されたキーを表わす。例
えば、キー値Kがランダムに発生されるとすると、Kは
制御ベクトルCとマスタキーKMとの排他的ORにより
形成されるキーにより暗号化されるランダムクリアキー
K′として定義される。これを、K=e* KM.C
(K′)と表記する。ここで*KMは128ビットのK
Mであることを意味する(*がなければ64ビット)。
一般に、キーソース手段34は図3に示すようにクリア
および暗号化キーK1,…,Knからなる順序をもった
キー群の形で複数のキー値を選択し出力する。キー値K
iの夫々は制御ベクトル発生手段32により出力された
対応する一つの制御ベクトルCiに関連づけられる。
【0028】図4はキーソース手段34の要素を示す。
キー出力セレクタ56は選択された入力情報に含まれる
入力クリアまたは暗号化キー値Key 1,…,Key jの内
の1組から、または乱数発生器54の出力から出力キー
値Kiの夫々を選択する。各キー値Kiの選択プロセス
は命令OPコード50と、図3に示す情報選択手段30
から入力チャンネル44に入る選択された入力情報から
抽出された他のパラメータ52にもとづく。例えば、C
F4が128ビットの制御ベクトルC3で128ビット
のキー暗号化キーKKを排他的ORすることにより形成
されるキー暗号化キーにより暗号化される、ランダムに
発生された64ビットキーKを発生しなければならない
というような暗号サービス要求(例えば「モードOPE
Xでキーセット(GKS)を発生するようなもの)を考
えることにする。KKはe* KM.C1(KKL),e
* KM.C2(KKR)という暗号化された形で記憶さ
れ、ここでKKLはKKの左64ビット、KKRはその
右64ビットである。この暗号サービス要求の入力情報
はOPコード、モード、暗号化されたキーKKおよび制
御ベクトルC1,C2,C3を再構成するのに必要な他
の情報を含む。入力チャンネル44上の、キーソース手
段34への選択された入力情報はOPコード、モードお
よびキーパラメータe* KM.C1(KKL)とe* K
M.C2(KKR)のみを含む。キー出力セレクタ56
はOPコード50とモード52を用いてその出力選択目
安を次のように定義する:K1を乱数発生器54の第1
の64ビット出力Kにセットし;K2を入力キー暗号化
キーの左64ビットe* KM.C1(KKL)にセット
し;K3を入力キー暗号化キーの右64ビットe* K
M.C2(KKR)にセットする。
【0029】図3にもどると、制御ベクトル発生手段3
2の出力、すなわち順序をもつ制御ベクトルC1,…,
Cnの群は一群のワーキングレジスタ38内でキーソー
ス手段の出力すなわち順序づけられたn個のキー値K
1,…,Knと結合される。ワーキングレジスタ38の
内容はデータチャンネル46により暗号変換装置36に
送られる。情報選択手段30はOPコードと他の選択さ
れた入力情報をデータチャンネル42を介して暗号変換
手段36に送る。
【0030】暗号変換手段36はOPコード、選択され
た入力情報およびワーキングレジスタ38の内容を用い
てOPコードに関連した暗号サービスを行う。暗号処理
の結果は出力チャンネル14を介して出力情報の形で暗
号装置呼出しアクセスプログラム(例えば図1のCFA
P6)に出力される。これらの結果はまた次の命令呼出
しで用いるためにCF4内の記憶レジスタに記憶され
る。CF4の命令レパートリィ内の他の暗号命令は出力
を発生せず、それらの命令はCF4の処理形態を変える
のみである(例えばクリアクリプト装置命令であり、こ
れはCF4内のすべてのワーキングレジスタの内容をク
リアにする)。
【0031】情報選択手段30の機能は他の主要素の夫
々すなわち制御ベクトル発生手段32、キーソース手段
34、または暗号変換手段36に組込むことが出来る。
【0032】上述のように制御ベクトル発生手段32は
CVエンフォースメントの他の方法を行う。特に本発明
はCVエンフォースメントの三つの異なる手段(および
夫々についてのいくつかの変形)を開示するものであ
る: ・内部CVテーブルルックアップ ・内部CV発生 ・マスキングまたは「ビット固定」 CVエンフォースメント方法は夫々要求された暗号動作
について1個のCVまたは複数のCVを完全な形で選ば
ねばならない。夫々の暗号動作についての受け入れ可能
な制御ベクトル群を暗号装置の物理的または論理的安全
要素により、そしてその制御のもとで定義しなければな
らない。かくして、その装置のユーザはインプリメンタ
および権限を有するシステムアドミニストレータにより
定義されるキータイプと使用の制限をはずすための手段
を持たない。図5は制御ベクトル発生手段の役割を示し
ており、CF4に対する暗号サービス要求からの選ばれ
た入力情報にもとづき、一群の定義されたCVから1個
以上の制御ベクトルを選ぶ。図5の例ではIMPORTER(右
半分)CVが群から選ばれる。このCVタイプは、リエ
ンサイファ・ツー・マスター・キー(RTMK)動作ま
たは、暗号化されたキー暗号化レシーバキーを処理する
他の動作について選ばれることがある。図5に示す定義
された制御ベクトル群は広義のものではなく、それらの
値は各CVタイプの一般的な例を表わす。この「一般
的」とは与えられたキータイプと使用について最大の機
能性を許可し、かつ最少の制約を加える制御属性を有す
る制御ベクトルの一例を意味する。従って、この定義さ
れた制御ベクトル群は、機能性が更に制約されあるいは
或る種のユーザが定義しうるフィールドを与えられるよ
うな各CVタイプの別の例を含むように拡張することが
出来る。図6は暗号サービス要求を処理するのに必要な
CVが、制御ベクトル発生手段32内に記憶されたCV
のテーブルから選ばれるようにするCVエンフォースメ
ントの一つの方法を示す。この方法、すなわち「テーブ
ル索引法」では制御ベクトル発生手段32が情報選択手
段30から入力チャンネル45を介して入る選択された
入力情報を受ける。この選択された入力情報は暗号装置
により行われるべき特定のオペレーション(または命
令)を識別するOPコード50を含む。OPコード50
と他の入力パラメータ52はCVテーブルインデクス選
択機能65に与えられる。CVテーブルインデクス選択
機能65は制御ベクトルの予定のテーブル、すなわちC
Vテーブル68の入力または順序づけられた入力群にポ
イントするインデクス66を計算する。選択されたCV
はワーキングレジスタ38での記憶のために制御ベクト
ル発生手段32により出力される。CVテーブルインデ
クス選択機能65は入力OPコード50と他のパラメー
タ52を選択インデクス66に変換するために数学的な
ハッシュ機能を用いることが出来る。あるいは、インデ
クス選択機能65はインデクス66の計算にアルゴリズ
ム(一群の「CASE」ステートメントのようなもの)
を用いることが出来る。あるいは、選択機能のエレメン
トはCF4の外にあり、CFAP6がインデクス66を
計算し、それを入力情報を介してCF4に与え、そこで
CVテーブルインデクス選択機能により単に検証される
ようにしてもよい。この場合には、検証プロセスは与え
られたOPコードについての一群の有効インデクスに対
し選択されたインデクスを比較する簡単なアルゴリズム
でよい。テーブルルックアップ法は殆んどの命令につい
て制御ベクトルがFAPI20のインターフェースを通
らず、それ故CVをCF4のユーザにより記憶または管
理する必要がないという利点で特徴づけられる。暗号変
換手段36の命令記憶手段が暗号装置の命令レパートリ
内の夫々定義された命令についての一群の適用可能な制
御ベクトルを含んでいるCVエンフォースメントのテー
ブル索引法の一つの変更例を図16に示す。
【0033】図7は他のCVエンフォースメント法、す
なわち発生法を示す。この発生法では制御ベクトル発生
手段32は情報選択手段30から入力チャンネル45を
介して入る選択された入力情報を受ける。この選択され
た入力情報は暗号装置により行われるべき特定のオペレ
ーション(すなわち命令)を識別するOPコード50を
含む。OPコード50と他の入力パラメータ52はサー
ビス要求変換手段70に与えられる。この手段70はO
Pコード50と他のパラメータ52を用いて一群のCV
発生パラメータ72を発生し、これらパラメータ72が
CV発生機能74に与えられる。機能74はこれら発生
パラメータを用いてワーキングレジスタ38に出力チャ
ンネル84を介して与えるべきCVまたは順序のついた
CV群を構成する。
【0034】サービス要求変換手段70はテーブルまた
はアルゴリズム手段を用いてOPコード50と他の入力
パラメータ52をCV発生パラメータ72に変換するこ
とが出来る。パラメータ72はCVフィールド名および
対応する値の、パラメータ化された高レベルのリストで
構成することが出来る。例えば次のようなものである。
【0035】 USAGE=E,D,MG,MV EXPORT=NO KEY−FORM=64LEFT KEY−PART=NO CV発生機能74はそのようなリストを解釈して夫々の
フィールド値キーワード対を特定のCVフィールド位置
に変換して夫々の定義された対に関連する所定の意味に
もとづき2進コード化する。
【0036】あるいは、サービス要求変換手段70は単
に暗号サービス要求内に与えられるOPコード50と他
の入力パラメータ52にもとづきCVのスケルトンを構
成してもよい。サービス要求変換手段70はこのように
入力パラメータにより決まる値を有するCVフィールド
の限られた部分集合を初期化しうる。残りの、入力パラ
メータに対し依存性をもたないCVスケルトンのフィー
ルドはCV発生機能74で初期化される。そのような依
存性のないCVフィールドは予約フィールド(ゼロに初
期化される)、CVタイプには無関係に固定された位置
と値をもつフィールド(アンチバリアントビット等)、
および他のインプリメンテーション定数(拡張フィール
ド等)を含むことが出来る。
【0037】サービス要求変換手段70のパラメータ依
存機能とCV発生機能74のパラメータ非依存機能は制
御ベクトル発生手段32内で一つの要素に組合せること
が出来る。更に入力パラメータ52はオペレーションモ
ードパラメータ(例えばデフォールトDATA PRIVACYキー
ではなくDATA COMPAT-INTERNALキーを用いるようにENCI
PHER要求を制限するパラメータMODE='COMPAT')を含む
ことが出来る。入力パラメータ52はまたCVのスケル
トンまたは完全なCVを含むことが出来、それから制御
ベクトル発生手段32が暗号変換手段36での次の暗号
変換のためにワーキングレジスタ38に記憶するための
関連CVをとり出すことが出来る。
【0038】図8および図9は制御ベクトル発生手段3
2で行われるCVエンフォースメントの発生法の一例を
示す。この例ではOPコード50はENCIPHERサービス要
求を含み、他の入力パラメータ52はCOMPATモード制限
を含む。制御ベクトル発生手段32の目的は、暗号化さ
れたフォームe* KM.C(K)としてCF4に与えら
れるDATA COMPAT-INTERNALキーKを内部的に回復するた
めに暗号変換手段36により用いられる制御ベクトルC
を発生することである。これが回復されると、暗号変換
手段36は、CF4に出される暗号サービス要求に与え
られた平文データのいくつかのブロックをENCIPHERする
ためにこの回復されたキーKを用いる。制御ベクトル発
生手段32はOPコード50と他のモードパラメータ5
2を受けてそれらをサービス要求変換手段70に与え、
DATA COMPAT-INTERNAL制御ベクトルC′のスケルトンを
構成する。サービス要求変換手段70はOPコード50
とモード52をCASEステートメント群に与えて、要
求された暗号変換に適用する一群の実行可能なステート
メントをアルゴリズム的に選択する。この場合、次のス
テートメントが選ばれて実行される。
【0039】 CASE opcode OF/* 制御ベクトルのOPコード特定 フィールドをセットアップ */ ′ENCIPHER′: /* 特定フィールドENCIPHER */ CASE mode OF ′COMPAT′: Set Bits 08..14 =B'0000000'/* CVType=Data Compat Key */ Set Bits 18..21 =B'1111' /* Usage= E,D,MG,MV */ Set Bit 22 =B'0' /* Reserved Bit */ Set Bit 37=B'0' /* Software Bit=Unspecified */ ′/* ′と′ */′の間の表現はコメントとして扱われ
る。これらコメントは等号の左側で変更される適用可能
なCVフィールドの名前と、フィールドがセットされつ
つあるニーモニック値をあげている。サービス要求変換
手段70は出力CVCの、入力パラメータおよびCVタ
イプに依存するフィールドを発生するように作用する
(この例における場合のように)。CV,C′のスケル
トンはサービス要求変換手段70から出る。図8および
図9は64ビットCVC′を8個の16進バイトとして
示している(「XX」は非定義または未知を示す)。
【0040】CVC′のスケルトンは次に制御ベクトル
発生手段32の制御ベクトル発生機能74に与えられ
る。制御ベクトル発生機能74は固定CVフィールド発
生器76を用いてこのCVの残りの、パラメータに依存
しないフィールドをセットまたは「固定」する。この例
ではこれらフィールドはいくつかの標準的な予約フィー
ルド、いくつかの未使用ソフトウェアビット、拡張ビッ
トなどからなる。これらフィールドの内のいくつかはこ
のインプリメンテーションでは固定されている(Export
ControlおよびKey Form)が、これらはユーザの機能的
および安全要件により他のインプリメンテーションでは
パラメータ依存形と考えることが出来る。出力CVC″
はサービス要求変換手段70と固定CVフィールド発生
器76のマージとなった出力フィールドを含む完全に分
布した制御ベクトルからなる。CVC″はアジャストイ
ーブンパリティ成分80内で偶数パリティに調整され
る。(制御ベクトルの各バイトはバイト毎に偶数パリテ
ィを保証するようにセットされなくてはならないパリテ
ィビットを含むことは前述した。)一般DATA COMPAT IN
TERNALCVタイプである最後のCV C=X′0000
7D0003000000′はワーキングレジスタ38
に記憶すべく制御ベクトルC84として出力される。
【0041】CVエンフォースメントの発生法はテーブ
ル索引法と同様に入力パラメータ(OPコード、モー
ド:等)から制御ベクトルを内部的に計算することを特
徴とする。しかしながらこの発生法ではCVのフィール
ドはアルゴリズム、またはテーブルまたは両者の組合せ
で動的に構成される。入力CVは付加的な機能的に関係
したCVを構成するためのテンプレートとしても用いら
れる。その例を図14および図15に示す。
【0042】図10はCVエンフォースメントの更に他
の方法、すなわちフィールド固定法を示す。この方法は
一群のアルゴリズムまたはテーブル駆動のルールを用い
て一群の入力CV内の特定のフィールドを無効にし、そ
れにより処理に用いられたCVが所定の仕様に確実に適
合するようにする。ユーザが定義するフィールドのイン
プリメンテーションをサポートするために、このフィー
ルド固定法は、定義された仕様に合わせるために変更し
なければならない入力CVのフィールドを変更するだけ
である。他のすべてのフィールドは変更されずに通され
る。この方法はテーブル索引法および発生法とは異なっ
ており、CVが維持され、かつCF4に対し各暗号サー
ビス要求によりFAPI20を介してユーザにより与え
られるという点でCV検査(CV Checking)(前記米
国出願に示されている)に近いものである。この方法は
CV検査とは次の点で異なる。すなわち、CVフィール
ドの内容(例えばフィールドXYZが値B′101′を
有する)を検査するのではなく、CVフィールドに要求
される内容を強制的に含めさせる(フィールドXYZを
前の内容には無関係にB′101′にセットすることに
より)。暗号装置内でCVフィールドの内容を予定の値
に強制的にセットするプロセスを「フィールド固定」ま
たは単に「固定」と呼ぶ。
【0043】図10はOPコード50、5個の分散した
フィールドF1,…,F5を有する入力制御ベクトル8
2および他の入力パラメータ52を含む、入力チャンネ
ル45(情報選択手段30からの)に入る一群の選択さ
れた入力情報を示す。上述の発生法と同様に、フィール
ドヘ固定法は二つの部分すなわち、(1)入力パラメー
タにもとづくフィールドの固定、および(2)入力パラ
メータには無関係なフィールドの固定、に分かれる。固
定フィールド発生器A86は入力OPコード50、パラ
メータ52および入力CV82を受けて入力CV内に一
群のパラメータ依存フィールドを固定する。固定フィー
ルド発生器A86のCV出力は固定フィールド発生器B
88に与えられ、そこに一部のパラメータ非依存CVフ
ィールドが固定される。最後に、B88のCV出力は偶
数パリティ調整のためにアジャストイーブンパリティ要
素80に与えられる。最終的な制御ベクトルC84は元
の入力CV82からのいくつかの変更されないフィール
ド(例えばF2とF5)および一群の固定フィールド
(例えばF1′,F3′,F4′)からなる。CVC8
4は次の処理のためワーキングレジスタ38に送られ
る。
【0044】図11,12,13はCVエンフォースメ
ントのフィールド固定法の一例を示す。図11は暗号装
置外部の例えば図2に示すように適用業務プログラムA
PPL8または暗号装置アクセスプログラムCFAP6
のようなユーザによる入力CV Cin82の構成を示
す。APPL8またはCFAP6は制御ベクトルCin内
に一群の可変フィールドを定義する。特に、APPL/
CFAPはCVタイプ、Export Control,Key Usage ,
およびいくつかのCFAP強制使用ビットをセットす
る。この例ではCFAP使用ビット(Cinのビット34
…37)は暗号サービス要求内の関連キーを用いる前に
CFAPがキーのユーザにパスワードを気づかせる。C
FAP使用ビットはまたCFAPがこのCVに関連する
キーが平日(ウィークデー)にのみ使用させるようにす
る。CFAP使用ビットについての他の考えられるエン
コーディングは「パスワード不要」または「金曜日のみ
使用」を特定することである。CFAP使用ビットのエ
ンフォースメントはCFAP(それらビットが検査され
る場合)とCF(関連キーを回復し、キーCV関連の完
全性を保証するためにこれらビットがCVで使用される
場合)とで共用される。構成された制御ベクトルCin=
X′0003C003C000000′は、CVが完全
には特定されず、それ故CF4では使用出来ないという
点でCVのスケルトンを表わす。図12はCVエンフォ
ースメントの固定フィールド法を行う制御ベクトル発生
手段32を示す。ユーザ構成のCV Cinは暗号サービ
ス要求内でCFAP6を介してCF4に与えられる。制
御ベクトル発生手段32は暗号サービス要求からの選ば
れた入力情報45内のOPコード´ENCIPHER´50と制
御ベクトルCin82を受ける。入力制御ベクトルCin8
2は固定フィールド発生器A86に送られ、この発生器
が入力OPコード50を用いて入力CVCinのパラメー
タ依存フィールドを固定する一群の実行可能なステート
メントを選択する。′ENCIPHER′とユーザ定義のCVタ
イプ(Cinのビット08…14)を等しくするOPコー
ド50により次のステートメントが実行される。 CASE opcode OF 'ENCIPHER': /* ENCIPHER-specific fields: */ CASE CV _Type OF /* CV−Type-dependent fields: */ OTHERWISE Set Bits 08…14=B'0000000' /* Default is Data Compat Key */ Set Bit 18=B'1' /* Usage must include E */ Set Bit 22=B'0' /* Reserved Bit */ END CASE CV −Type /* other ENCIPHER fields: */ Set Bits 40 …42=B'000' /* Key Form=64b Key */ Set Bit 44=B'0' /* Key Part=No */ Set Bits 48 …54=B'0000000' /* Reserved Bits */ この“ルール”群はDATA COMPAT INTERNALを用いるENCI
PHERオペレーションについてENCIPHER使用ビットEがセ
ット(入力Cinにおいてすでにセットされた)され、そ
のキーが64個のビットであり、キー部分でないことを
保証するものである。また、ENCIPHER要求について図1
2の固定フィールド発生器A86のルールにおいて、入
力CV CinのCVタイプはDATA PRIVACY,DATA ANSI
,またはDATA COMPAT-INTERNALの内の1つでなくては
ならないことが判る。このように、制御ベクトル発生手
段32は固定フィールド法を用いて、ENCIPHERオペレー
ションがこれら三つのタイプのキーにおいてのみ行われ
るという要件を強要する。固定フィールド発生器A86
のルールは二つの部分すなわち(1)CVタイプ依存ル
ールと(2)非CVタイプ依存ルールに分けられる。後
者のルールは入力OPコード50(例えばキーフォー
ム、キー部分等)にのみ依存する。固定フィールド発生
器A86は変更された制御ベクトルC′を固定フィール
ド発生器B88に送る。この例のC′はユーザ定義の入
力CV Cinと同じであり、その理由はDATA COMPAT −
INTERNALキーを入力として用いるOPコード'ENCIPHER'
についての所定の固定フィールド仕様のすべてをCin8
2が満たすからである。
【0045】固定フィールド発生器B88はCVC′の
残りの、定義されないフィールドをセットするために一
連の、OPコードに依存しない固定ルールを実行する。
これらフィールドはすべての制御ベクトル(例えばアン
チバリアントビットの位置と値)またはすべての現イン
プリメンテーション内の制御ベクトル(例えば予約ビッ
トおよび拡張ビット)に共通の或る値を含む。固定フィ
ールド発生器B88の出力は制御ベクトルC″であり、
これはアジャストイーブンパリティ要素80に加えられ
る。この要素80の出力は偶数パリティに調整された制
御ベクトルC=X′00003C003F00000
0′であり、これは以降の暗号処理のためにワーキング
レジスタ38に記憶される。
【0046】図11〜13の例は入力制御ベクトルCin
=X′00003C003000000′から出力CV
C=X′00003C00F000000′への変換を
示す。ENCIPHER要求において与えられるキーKがユーザ
からのCVCinでなく上記のCVCを用いて暗号化され
ないかぎり、CF4はこのキーKを正しくは回復しな
い。かくして、CVエンフォースメントのフィールド固
定法の適用はユーザが実際のCVCを与え、それによ
り、それに関連するキーKが暗号化されるような場合で
あることが好ましい。この場合、Cが制御ベクトル発生
手段32から変更されずに与えられるならば、要求され
たオペレーションについての固定フィールドエンフォー
スメントの基本ルールを満足し、キーKはCF4内で回
復される。固定フィールド法の利点は、ユーザ定義可能
なフィールドを許しつつ入力パラメータにもとづいたC
Vの選択されたフィールドのエンフォースメントを許す
ことである。他の利点(図11〜13の例に示す)はユ
ーザが入力CVの僅かな、良好に定義されたフィールド
を特定するだけでよいということである。このCV構造
の残りの部分はCF4の制御ベクトル発生手段32内の
固定フィールドルールにより与えることが出来る。
【0047】図14および図15は1個の制御ベクトル
C1が機能的に関係する制御ベクトルC2を構成するた
めに用いられるようにしたCVエンフォースメントの発
生法の変更例を示す。特に図14,15は128ビット
IMPORTERキー(すなわちキー暗号化レシーバキー)KK
の左半分64ビットKK1Lに関連する与えられた制御
ベクトルC1からその右半分の64ビットKK1Rにつ
いての制御ベクトルC2をとり出す方法を示す。情報選
択手段30(図2)から入力チャンネル45を介して入
る選択された入力情報はサービス要求OPコード50′
RTMK′と他の入力パラメータ52を含む。RTMK
はインポートフォームe* KK1.C3(K)(すなわ
ちIMPORTERキーにより暗号化される)のキーがオペレー
ションフォームe* KM,C4CK)(すなわち局所マ
スタキーKMで暗号化される)に変換されるように要求
する。IMPORTERキーの左および右の64ビットは夫々フ
ォームe* KM.C1(KK1L)とe* KM.C2
(KK1R)でCF4の命令に与えられる。
【0048】CV C1,C3,C4は他のパラメータ
52の部分として制御ベクトル発生手段32に与えら
れ、CV検査要素90においてCVエンフォースメント
のCV検査法を用いて検査される。これら値がCV検査
要素90内の検査を通ると、それらの関連キーと共に記
憶されていくワーキングレジスタ38に直接入れられ
る。(C4は対応入力キーを有しない。C4は暗号変換
手段36により、出力チャンネル14を介して要求をし
たCFAP6に出力するために、回復した平文キーKを
暗号化するために用いられる。)前記出願の明細書では
CV検査を通らない場合にはオペレーションがアボート
される。他のオプションとしてCV C1,C3,C4
も発生され、テーブル索引で選ばれまたは制御ベクトル
発生手段32への入力である他のパラメータ52から別
のCVエンフォースメント手段90にフィールド固定さ
れる。いずれにしてもCVC1は右CV発生器92に与
えられ、発生器92が左半分CVC1を対応する右半分
CVC2に変換する。C1とC2並びにC3とC4はワ
ーキングレジスタ38内のそれらの位置に送られる。
【0049】図15は右CV発生器92の要素およびそ
こでの処理の流れを示す。キータイプIMPORTER(左半
分)(図5)についての入力制御ベクトルC1は対応す
るIMPORTER(右半分)CVC2をとり出すのに必要なキ
ーフォームビットで変換される。C2のキーフォームビ
ット以外のすべてのビットはC1のビットと同じであ
る。
【0050】CVエンフォースメントの発生法のこの変
更例は、暗号装置の外のユーザにより管理されるべき冗
長なCVの数が少なくなるという利点を有する。この方
法は、1つのCVが要求された暗号サービスを満足する
ように用いるべき付加CVにマッピングされるように固
定の関係(または制御ベクトル発生手段32に対し他の
入力パラメータ52でパラメータ化される関係)を有す
る任意のCVに適用しうる。
【0051】図16は暗号変換手段36の命令記憶手段
94が暗号装置の命令レパートリ内の夫々定義された命
令について一群の適用可能な制御ベクトルを含むCVエ
ンフォースメントのテーブル索引法の変更例を示す。命
令記憶手段94は一群の実行可能なルーチン用の記憶手
段を含み、各ルーチンは1個の暗号装置命令のすべてま
たは一部を処理するのに必要なコードを含む。暗号変換
手段36の命令プロセッサ96は、情報選択手段30
(図2)からチャンネル42を介して受けるOPコード
50に対応するルーチンコードを命令記憶手段94から
とり出して実行する。命令プロセッサ96はチャンネル
42を介して入る選ばれた入力情報内の他の処理パラメ
ータ52を用いて適正な実行可能なコードをとり出す。
【0052】命令記憶手段94は暗号変換手段36内で
行われる夫々の暗号命令について一群の予定の制御ベク
トルC1,…,Cnを含む。かくして、暗号サービス要
求の処理において用いるための1以上の制御ベクトルを
選択するという図2の制御ベクトル発生手段32の機能
は暗号変換手段36で行われる。各暗号命令についての
制御ベクトルはその命令に関連したコードブロック内に
テーブル形に記憶されあるいは命令記憶手段94内の共
通データブロック内で他のそのようなCVテーブルと共
にグルーブとされる。いずれの場合でも命令記憶手段9
4の実行可能な命令は、要求された暗号命令を処理する
に必要な夫々の制御ベクトルCi の位置に対するコード
化されたリファレンスを含む。これらコード化されたリ
ファレンスは命令記憶手段94に記憶された共通のCV
テーブルに対するインデクスの形をとるか、あるいは、
特定のOPコード50について命令プロセサ96により
とり出されて処理される、実行可能なコードブロック内
のデータ項目として組込まれたCVに対する直接メモリ
アドレスの形であってもよい。
【0053】命令プロセッサ96はこのようにOPコー
ド50を用いて命令記憶手段94から一群の実行可能コ
ードと一群の制御ベクトルC1,…,Cnを選択する。
命令プロセッサ96はワーキングレジスタ38から入力
チャンネル46を介して、選ばれた制御ベクトルC1,
…Cnに対応する一群のキーK1,…,Knを受け、C
Vとキーを用いて、暗号化されたキーをクリアまたは再
暗号化クリアキーにもどす。命令プロセッサ96は暗号
変換手段36内にクリア形で安全に記憶されたキーまた
は暗号変数(例えばシステムマスタキーKM98)をも
用いる。例えば命令プロセッサ96は命令記憶手段94
からとり出した制御ベクトルC1とマスタキーKM98
を用いてe* KM.C1(K)の形で暗号化されたデー
タキーを解読する。クリアキーKは命令プロセッサによ
り、要求された暗号命令を満足するため、例えばキーK
で平文データを暗号化し、暗号文をチャンネル14を介
して要求を出したCFAP6に与えるために用いられ
る。
【0054】CVエンフォースメントのこのテーブル索
引法の変更例は、暗号命令を処理するに必要な制御ベク
トルがその命令を行う実行可能コードと共に記憶される
という利点を有する。暗号装置のユーザは暗号サービス
の要求をなすとき命令に制御ベクトルを入れる必要はな
い。CVは要求されたOPコード50および他の入力パ
ラメータ52にもとづき命令プロセッサ96により選ば
れる。このように暗号装置に対するインターフェースは
簡略化される。更に、ユーザは暗号装置の外での制御ベ
クトルを管理から解放される。
【図面の簡単な説明】
【図1】暗号システムの主要要件を示すブロック図。
【図2】暗号装置の論理要素を示すブロック図であっ
て、制御ベクトル発生手段とキーソース手段が暗号装置
に与えられる入力情報にもとづき夫々1個の制御ベクト
ルCと暗号キーKを発生し、そしてこの制御ベクトル発
生手段がCVエンフォースメントの1以上の異なるモー
ドを行うごとくなっている。
【図3】制御ベクトル発生手段とキーソース手段が暗号
装置に加えられる入力情報から複数の制御ベクトル−暗
号キー対(C,K)を発生すべく拡張されたブロック
図。
【図4】キーソース手段の要素とそこでのデータフロー
を示す図であって、キーソース手段が暗号サービス要求
において暗号装置に与えられる選ばれた入力情報からラ
ンダムキーを発生しあるいはキーを選択するごとくなっ
ている。
【図5】暗号サービス要求において暗号装置に与えられ
る選ばれた入力情報を制御ベクトル発生手段がマッピン
グする一群の制御ベクトルを示す図。
【図6】制御ベクトル発生手段が暗号サービス要求から
の選ばれた入力情報を用いてテーブルインデクスを計算
するようになったCVエンフォースメントの一方法を示
しており、このテーブルインデクスが暗号装置内の制御
ベクトルテーブルに記憶された制御ベクトル値をポイン
トし、かくして制御ベクトル発生手段が一群の予定の、
記憶された値から一つの制御ベクトルを選び出力するよ
うにする方法を示す図。
【図7】制御ベクトル発生手段が暗号サービス要求から
の選ばれた入力情報を用いて制御ベクトルを動的に発生
するようになったCVエンフォースメントの他の一方法
を示す図。
【図8】図7のCV発生法の一例を図9と組合せて示す
ものであり、DATA COMPAT-INTERNAL制御ベクトルが暗号
サービス要求内で選ばれた入力情報内の、暗号装置に与
えられる入力動作コードと動作モードパラメータにもと
づき発生されるようにしたものを示す第1部分の図。
【図9】図8と組合されて1つのCV発生法を示す第2
部分の図。
【図10】制御ベクトル発生手段が入力制御ベクトルを
受けて暗号サービス要求内で選択された入力情報内の、
暗号装置に加えられる入力動作コードと他の入力パラメ
ータとにもとづき一群のフィールドを所定の値に固定
(すなわちオーバレイ)されるようにしたCVエンフォ
ースメントの他の方法を示す図。
【図11】図10に示すCVフィールド一固定法の一例
を図12および13と組合せて示すものであって、DATA
COMPAT - INTERNAL制御ベクトルがユーザ定義可能なフ
ィールドについての一群の使用属性を含む入力制御ベク
トルのスケルトンから発生されるようにしたものを示す
第1部分の図。
【図12】図11および13と組合されてCVフィール
ド固定法を示す第2部分の図。
【図13】図11および12と組合されてCVフィール
ド固定法を示す第3部分の図。
【図14】1以上の制御ベクトルが暗号サービス要求内
で暗号装置に加えられる入力制御ベクトルから内部的に
とり出されるようにしたCVエンフォースメントのCV
発生方法の他の実施例を図15と組合せて示すものであ
って、128ビットIMPORTER(キー暗号化)キーの右側
64ビットに関連する制御ベクトルがその128ビット
IMPORTERキーの右64ビットに関連した入力制御ベクト
ルから内部的にとり出されるようにした例を示す第1部
分の図。
【図15】図14と組合されて1つのCV発生法を示す
第2部分の図。
【図16】1以上の制御ベクトルが暗号装置の命令レパ
ートリ内の夫々の暗号命令についての対応する一群の実
行可能コードを含む命令記憶手段に記憶された一群の所
定の値から選ばれるようにした、CVエンフォースメン
トのテーブル索引法の変更例を示す図。
【符号の説明】
100 暗号システムA 8 アプリケーションプログラム(APPL) 6 暗号装置アクセスプログラム(CFAP) 4 暗号装置(CF) 10 入力チャンネル 16 出力チャンネル 18 アプリケーションプログラミングインターフェー
ス(API) 20 装置アクセスプログラムインターフェース(FA
PI) 30 情報選択手段 32 制御ベクトル発生手段 34 キーソース手段 36 暗号変換手段 38 ワーキングレジスタ 40 出力チャンネル 44 入力チャンネル 54 乱数発生器 56 キー出力セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アン、ブイ、リ アメリカ合衆国バージニア州、マナサ ス、バトルフィールド、ドライブ、 10227 (72)発明者 スティーブン、エム、マトヤス アメリカ合衆国バージニア州、マナサ ス、セダー、リッジ、ドライブ、10298 (72)発明者 ロスチスラウ、プリマク アメリカ合衆国バージニア州、ダムフリ ース、フェアーウェイ、ドライブ、 15900 (72)発明者 ジョン、ディー、ウィルキンス アメリカ合衆国バージニア州、ソマービ ル、ピー、オー、ボックス、8 (56)参考文献 特開 平2−106787(JP,A)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】暗号キーを用いて暗号動作を行う物理的に
    安全保障された暗号装置を有し、該暗号装置の外部から
    適用プログラムが暗号装置に対して暗号キーによる動作
    のための暗号サービス要求を与え、該暗号キーは制御ベ
    クトルに関連されており、該制御ベクトルの各々は予め
    定義された値のフィールドを有し、該フィールドは関連
    する暗号キーが実行することをそのオリジネータにより
    許可された機能を定義するようになっているデータ処理
    システムにおける、前記暗号装置内で暗号動作を行なう
    装置であって、 暗号サービス要求を含む入力情報を受ける入力端を有
    し、前記暗号サービス要求に応答して前記暗号装置内部
    で制御ベクトルを発生し、その出力端に前記制御ベクト
    ルを与える前記暗号装置内部の制御ベクトル発生手段
    と、 暗号サービス要求を含む入力情報を受ける入力端を有
    し、前記暗号サービス要求に応答して前記暗号装置内部
    で前記制御ベクトルに関連づけられたキー値を発生し、
    その出力端に前記キー値を与える前記暗号装置内部のキ
    ー・ソース手段と、 前記入力情報を受ける第1入力端と、前記制御ベクトル
    及び前記キー値を受ける第2入力端とを有し、前記制御
    ベクトル及び前記関連するキー値を用いて前記入力情報
    を出力情報に暗号的に変換するための前記暗号装置内部
    の暗号変換装置とを備えた、暗号装置内で暗号動作を行
    うための装置。
  2. 【請求項2】前記制御ベクトル発生手段は、 前記制御ベクトルを記憶する手段と、 前記暗号サービス要求に応じて前記制御ベクトル発生手
    段の出力端を介して前記暗号変換装置に前記制御ベクト
    ルを出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
    作を行うための装置。
  3. 【請求項3】前記制御ベクトル発生手段は、 前記暗号サービス要求に関連したインデクス値によりア
    クセス可能な制御ベクトルのテーブルを有する記憶装置
    と、 前記記憶装置からアクセスされた制御ベクトルを前記暗
    号サービス要求に応じて前記制御ベクトル発生手段から
    前記暗号変換装置へ出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
    作を行うための装置。
  4. 【請求項4】前記制御ベクトル発生手段は、 前記暗号サービス要求に応じて前記暗号変換装置への出
    力となる前記制御ベクトルを含む命令であって、要求さ
    れた暗号サービスの実行のため前記暗号変換装置へ出力
    されるべき命令を記憶するための命令記憶手段を更に含
    んでいる請求項1に記載の暗号装置内で暗号動作を行う
    ための装置。
  5. 【請求項5】前記制御ベクトル発生手段は、 暗号サービス要求を受けるための前記入力端に接続され
    る入力端を有し、前記暗号サービス要求をそれに応じた
    前記暗号変換装置への出力である制御ベクトルに変換す
    るためのサービス要求変換手段を更に含んでいる請求項
    1に記載の暗号装置内で暗号動作を行うための装置。
  6. 【請求項6】前記暗号サービス要求は所定の値をもつフ
    ィールドを有する第1部分と可変の値をもつフィールド
    を有する第2部分を有し、 前記制御ベクトル発生手段は、前記第1部分および第2
    部分から一つの制御ベクトルを形成してその制御ベクト
    ルをこの暗号サービス要求に応じて前記暗号変換装置に
    出力する請求項1に記載の暗号装置内で暗号動作を行う
    ための装置。
  7. 【請求項7】前記制御ベクトル発生手段は1組の予め定
    義された制御ベクトルの中から制御ベクトルを選択し、
    前記暗号サービス要求に応じて、選択された制御ベクト
    ルを前記出力端に与える、 請求項1に記載の暗号装置内で暗号動作を行うための装
    置。
  8. 【請求項8】前記制御ベクトル発生手段は前記1組の予
    め定義された制御ベクトルをルックアップ・テーブルに
    記憶している、 請求項7に記載の暗号装置内で暗号動作を行うための装
    置。
  9. 【請求項9】前記入力情報はマスターキーと前記制御ベ
    クトルの論理的組合せにより形成されるキーにより暗号
    化される値を含んでいる請求項1に記載の暗号装置内で
    暗号動作を行うための装置。
JP3159632A 1990-08-22 1991-06-04 暗号動作を行う装置 Expired - Lifetime JP2689998B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57401290A 1990-08-22 1990-08-22
US574012 1990-08-22

Publications (2)

Publication Number Publication Date
JPH04240888A JPH04240888A (ja) 1992-08-28
JP2689998B2 true JP2689998B2 (ja) 1997-12-10

Family

ID=24294324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3159632A Expired - Lifetime JP2689998B2 (ja) 1990-08-22 1991-06-04 暗号動作を行う装置

Country Status (4)

Country Link
US (1) US5432849A (ja)
EP (1) EP0471939B1 (ja)
JP (1) JP2689998B2 (ja)
DE (1) DE69130658T2 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9112644D0 (en) * 1991-06-12 1991-07-31 Int Computers Ltd Data processing system with cryptographic facility
US6865551B1 (en) 1994-11-23 2005-03-08 Contentguard Holdings, Inc. Removable content repositories
US7117180B1 (en) 1994-11-23 2006-10-03 Contentguard Holdings, Inc. System for controlling the use of digital works using removable content repositories
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US20050149450A1 (en) * 1994-11-23 2005-07-07 Contentguard Holdings, Inc. System, method, and device for controlling distribution and use of digital works based on a usage rights grammar
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
GB9503738D0 (en) * 1995-02-24 1995-04-19 Int Computers Ltd Cryptographic key management
US5583939A (en) * 1995-06-01 1996-12-10 Chung N. Chang Secure, swift cryptographic key exchange
US5758562A (en) * 1995-10-11 1998-06-02 Schneider (Usa) Inc. Process for manufacturing braided composite prosthesis
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5933503A (en) * 1996-03-15 1999-08-03 Novell, Inc Controlled modular cryptography apparatus and method
US6581162B1 (en) * 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
US5987130A (en) * 1997-03-31 1999-11-16 Chang; Chung Nan Simiplified secure swift cryptographic key exchange
US7325077B1 (en) * 1997-08-21 2008-01-29 Beryl Technical Assays Llc Miniclient for internet appliance
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
US6701433B1 (en) 1998-03-23 2004-03-02 Novell, Inc. Method and apparatus for escrowing properties used for accessing executable modules
US6751735B1 (en) 1998-03-23 2004-06-15 Novell, Inc. Apparatus for control of cryptography implementations in third party applications
US6615350B1 (en) 1998-03-23 2003-09-02 Novell, Inc. Module authentication and binding library extensions
US6532451B1 (en) 1998-03-23 2003-03-11 Novell, Inc. Nested strong loader apparatus and method
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
US7356688B1 (en) 1999-04-06 2008-04-08 Contentguard Holdings, Inc. System and method for document distribution
US6937726B1 (en) 1999-04-06 2005-08-30 Contentguard Holdings, Inc. System and method for protecting data files by periodically refreshing a decryption key
US7286665B1 (en) 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US6859533B1 (en) 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme
US6289450B1 (en) 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
ES2391763T3 (es) 2000-04-07 2012-11-29 Collagen Matrix, Inc. Dispositivo de embolización
US7073199B1 (en) 2000-08-28 2006-07-04 Contentguard Holdings, Inc. Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US7412605B2 (en) 2000-08-28 2008-08-12 Contentguard Holdings, Inc. Method and apparatus for variable encryption of data
US7362859B1 (en) * 2000-10-06 2008-04-22 Sandia Corporation Enhancement of utilization of encryption engine
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US6978376B2 (en) 2000-12-15 2005-12-20 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US20030220880A1 (en) * 2002-01-17 2003-11-27 Contentguard Holdings, Inc. Networked services licensing system and method
US6754642B2 (en) 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7206765B2 (en) * 2001-01-17 2007-04-17 Contentguard Holdings, Inc. System and method for supplying and managing usage rights based on rules
WO2002057922A1 (en) 2001-01-17 2002-07-25 Contentguard Holdings, Inc. Method and apparatus for managing digital content usage rights
US20020122553A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and apparatus for lightweight rekeying of a master key in a single sign-on system
US20030043852A1 (en) * 2001-05-18 2003-03-06 Bijan Tadayon Method and apparatus for verifying data integrity based on data compression parameters
US7222104B2 (en) * 2001-05-31 2007-05-22 Contentguard Holdings, Inc. Method and apparatus for transferring usage rights and digital work having transferrable usage rights
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US6976009B2 (en) 2001-05-31 2005-12-13 Contentguard Holdings, Inc. Method and apparatus for assigning consequential rights to documents and documents having such rights
US7152046B2 (en) * 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6973445B2 (en) * 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US6895503B2 (en) * 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
WO2002101494A2 (en) * 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Protected content distribution system
US7774280B2 (en) * 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
KR20030096250A (ko) 2001-06-07 2003-12-24 콘텐트가드 홀딩즈 인코포레이티드 디지털 권리 관리시스템에서 다중 신뢰구역들을 지원하기위한 방법 및 장치
JP4787434B2 (ja) * 2001-08-24 2011-10-05 富士通コンポーネント株式会社 暗号化方法、通信システム、データ入力装置
US7274792B2 (en) * 2002-08-09 2007-09-25 Broadcom Corporation Methods and apparatus for initialization vector processing
US7925891B2 (en) * 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7458102B2 (en) * 2004-08-17 2008-11-25 Emc Corporation Information security architecture for remote access control using non-bidirectional protocols
US7438078B2 (en) * 2005-08-05 2008-10-21 Peter Woodruff Sleeping bag and system
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
JP5277576B2 (ja) * 2007-07-18 2013-08-28 株式会社リコー 情報処理装置、暗号処理プログラム
JP2009027525A (ja) * 2007-07-20 2009-02-05 Nec Corp 光伝送システムおよび光伝送方法
US8953789B2 (en) 2011-06-01 2015-02-10 International Business Machines Corporation Combining key control information in common cryptographic architecture services
FR2980285B1 (fr) * 2011-09-15 2013-11-15 Maxim Integrated Products Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
US9252944B2 (en) 2014-03-21 2016-02-02 International Business Machines Corporation Key wrapping for common cryptographic architecture (CCA) key token
US9607159B2 (en) * 2014-12-10 2017-03-28 International Business Machines Corporation Intelligent key selection and generation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4850017A (en) * 1987-05-29 1989-07-18 International Business Machines Corp. Controlled use of cryptographic keys via generating station established control values
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
DE68926076T2 (de) * 1988-08-11 1996-11-14 Ibm Sichere Schlüsselverwaltung mittels erweiterten Steuervektoren
EP0354774B1 (en) * 1988-08-11 1996-04-10 International Business Machines Corporation Data cryptography using control vectors
US4924514A (en) * 1988-08-26 1990-05-08 International Business Machines Corporation Personal identification number processing using control vectors
CA1319198C (en) * 1988-08-29 1993-06-15 Stephen M. Matyas Secure management of keys using extended control vectors
US4924515A (en) * 1988-08-29 1990-05-08 International Business Machines Coprporation Secure management of keys using extended control vectors
US5103478A (en) * 1989-04-27 1992-04-07 International Business Machines Corporation Secure management of keys using control vectors with multi-path checking
US4918728A (en) * 1989-08-30 1990-04-17 International Business Machines Corporation Data cryptography operations using control vectors
US4993069A (en) * 1989-11-29 1991-02-12 International Business Machines Corporation Secure key management using control vector translation
US5007089A (en) * 1990-04-09 1991-04-09 International Business Machines Corporation Secure key management using programable control vector checking

Also Published As

Publication number Publication date
DE69130658D1 (de) 1999-02-04
EP0471939A2 (en) 1992-02-26
EP0471939A3 (en) 1992-06-03
DE69130658T2 (de) 1999-07-22
US5432849A (en) 1995-07-11
JPH04240888A (ja) 1992-08-28
EP0471939B1 (en) 1998-12-23

Similar Documents

Publication Publication Date Title
JP2689998B2 (ja) 暗号動作を行う装置
US5081677A (en) Crypotographic key version control facility
KR100308322B1 (ko) 특별한암호화기능들을사용하여데이터의강력한암호화또는해독화를수행하는방법및장치
US4941176A (en) Secure management of keys using control vectors
EP0658022B1 (en) Cryptographic key generation using sequential concatenation
US5214698A (en) Method and apparatus for validating entry of cryptographic keys
US5479512A (en) Method and apparatus for performing concryption
EP0531784B1 (en) Apparatus for encryption and decryption using split key
EP0002390B1 (en) Method for cryptographic file security in multiple domain data processing systems
EP0002579A1 (en) A method of creating a secure data file
US6845159B1 (en) Processing method and apparatus for converting information from a first format into a second format
US9178703B2 (en) Method of protecting a control vector in an optional block of a standard key block
US20020138750A1 (en) Method of enabling one or more functional blocks of a controller
KR101999209B1 (ko) 가상 함수 테이블 포인터 암호화 시스템 및 그 방법
EP0356065B1 (en) Secure management of keys using control vectors
US20130058487A1 (en) Method of building optional blocks
US20120311324A1 (en) Method of mapping key information
EP3930254B1 (en) Method for setting permissions for cryptographic keys, computer program and cryptographic processing system
JP2000076144A (ja) 論理回路、マイクロコンピュータ、および論理回路・記憶回路間の通信方法
US20210240863A1 (en) Integrated circuit configured to perform symmetric encryption operatoins with secret key protection
Costa et al. Integrity: An Object-relational Framework for Data Security.
JP2003333036A (ja) メッセージ認証装置、メッセージ認証方法とメッセージ認証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体
JPH0744375A (ja) 暗号化データ処理装置
EP0993143A1 (en) Processing method and apparatus for converting information from a first format into a second format
US20130054624A1 (en) Method of parsing optional block data

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070829

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 14