JP2689998B2 - Device for cryptographic operation - Google Patents

Device for cryptographic operation

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
Japanese (ja)
Other versions
JPH04240888A (en
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/en
Application granted granted Critical
Publication of JP2689998B2 publication Critical patent/JP2689998B2/en
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

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は一般にデータ処理システ
ムおよび方法に関し、特にセキュリティの向上のために
データ処理システムで用いられる暗号システムおよび方
法に関する。
FIELD OF THE INVENTION The present invention relates generally to data processing systems and methods, and more particularly to cryptographic systems and methods used in data processing systems for improved security.

【0002】[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以
上のフィールドを含むデータ構造である。この制御ベク
トルはキー発生時にキーのオリジネータにより特定され
る。上記出願の明細書は更に指定された使用がこの暗号
アーキテクチャのキー使用検証機構により強制されるこ
とを保証するために一貫性をもって制御ベクトルをキー
値に結合する方法を開示している。
2. Description of the Related Art US Patent Application No. 55502 (filing date March 1987, later US Patent No. 4,850,
No. 017) and No. 231114 (filing date 19
August 11, 1988, later US Patent No. 4,941, 176
No. 4014486 (filed on Aug. 30, 1989, later U.S. Pat. No. 4,918,728), and No. 398300 (filed Aug. 2, 1989).
No. 398299 (filed on August 2, 1989)
4th, later became U.S. Pat. Nos. 4,924,515) and 344165 (filing date April 27, 1989).
Japan and later became US Pat. No. 5,103,478),
No. 443418 (filed Nov. 29, 1989,
US Pat. Nos. 4,993,069) and 506319 (filed April 9, 1990, later became US Pat. No. 5,007,089) A cryptographic architecture for verifying that the key management function required for a cryptographic key in a processing system is permitted by the originator of the key is shown, and a key usage verification method based on a control vector check is shown. A control vector is a data structure that contains one or more fields of predetermined value that collectively describe the intended use of the associated cryptographic key . This control vector is specified by the key originator when the key is generated. The specification of the above application further states that the specified use is enforced by the key usage verification mechanism of this cryptographic architecture.
It discloses a method of binding control vectors to key values in a consistent manner to ensure that

【0003】制御ベクトル検査は、制御ベクトルが、行
われるべき要求されたキー管理機能を示すオペレーショ
ンコードと共に物理的に安全な暗号装置内の制御ベクト
ル検査ユニットに送られるように構成されたキー使用検
証法である。この制御ベクトル検査ユニットは夫々の送
られた制御ベクトル内の種々のフィールドの内容を検査
し、比較するために一群の検査ルールを用いる。制御ベ
クトルが要求されたキー管理機能に関連した検査ルール
を満足すれば、制御ベクトル検査ユニットが許可信号
を、要求されたキー管理機能を完結することの出来る暗
ファシリティ内の命令プロセッサに送る。1個あるい
はそれ以上の制御ベクトルがこれら検査ルールを満足し
ないならば、不許可信号が出され、そして命令実行はア
ボートされる。
The control vector check is a key usage verification configured such that the control vector is sent to a control vector check unit in a physically secure cryptographic device with an operation code indicating the required key management function to be performed. Is the law. The control vector checking unit uses a set of checking rules to check and compare the contents of various fields within each sent control vector. If the control vector satisfies the check rule associated with the required key management function, the control vector check unit sends a grant signal to the instruction processor in the cryptographic facility that can complete the required key management function. If one or more control vectors do not satisfy these checking rules, a disallow signal is issued and instruction execution is aborted.

【0004】上記出願の明細書は制御ベクトル検査ルー
ル、すなわち暗号装置の夫々の実行可能な命令に対しハ
ードワイヤードまたはハードコーデッドされる静的ルー
ル、ユーザまたはインプリメンタが制御ベクトル変換を
用いて基本的な検査ルール群を増補しうるようにするパ
ラメトリックルールおよび検査目安を暗号装置外部の貯
蔵部から制御ベクトル検査ユニットに安全且つ動的にロ
ードしうるようにするプログラム可能検査ルール、をつ
くる種々の方法を示している。
The specification of the above-mentioned application is based on a control vector check rule, that is, a static rule hard-wired or hard-coded for each executable instruction of a cryptographic device. Methods for creating parametric rules that enable augmentation of various test rules and programmable test rules that enable safe and dynamic loading of test criteria into a control vector test unit from a store external to a cryptographic device Is shown.

【0005】すべてのキー使用検証法は暗号キーと関連
する制御ベクトル内にキーオリジネータにより定義され
た使用属性を規定することにもとづいていることは当業
者には明らかである。総体的に、これらキー使用検証法
は制御ベクトル(CV)エンフォースメントとして知ら
れている。このCVエンフォースメントのすべてに共通
な特性はCV検査の概念、すなわちユーザから暗号装置
に送られる1組以上の制御ベクトルの種々の所定のフィ
ールドおよび値に一群の検査ルールを適用することであ
る。
It will be apparent to those skilled in the art that all key usage verification methods are based on defining the usage attributes defined by the key originator in the control vector associated with the cryptographic key. Collectively, these key usage verification methods are known as control vector (CV) enforcement. A common property of all of this CV enforcement is the concept of CV checking, that is, the application of a set of checking rules to various predetermined fields and values of one or more sets of control vectors sent by the user to the cryptographic device. .

【0006】CV検査法ではユーザが暗号装置の外でC
Vを管理しなければならない。CV管理は制御ベクトル
の定義、分配および記憶を指す総合的な用語である。例
えばCVエンフォースメントのCV検査法ではキー管理
要求の処理のためにキーが暗号装置に与えられるときC
Vがそのキーを伴わねばならないから、暗号装置のユー
ザはキーのオリジネータのCVコピーを維持しなければ
ならない。(CVはそのキーの要求された使用を認証
るため、およびそのキーの平文フォームを適正に回復す
るための両方に必要である。)CV検査法では更にユー
ザが暗号化キーの発生または処理の前に各CVの全内容
を定義しなければならない。ユーザはまた暗号キーが他
のシステムに出されるときそのキーと共にCVを分配し
なければならない。
In the CV inspection method, the user does not have the C
You have to manage V. CV management is a general term that refers to control vector definition, distribution and storage. For example, in the CV enforcement CV inspection method, when a key is given to a cryptographic device for processing a key management request, C
The user of the cryptographic device must maintain a CV copy of the originator of the key, since V must be accompanied by that key. (The CV is needed both to authenticate the requested use of the key and to properly recover the plaintext form of the key.) CV verification also requires the user to encrypt the key. The full contents of each CV must be defined prior to the occurrence or processing of the. The user must also distribute the CV with the cryptographic key as it is issued to other systems.

【0007】それ故本発明の目的は暗号装置外でのCV
管理の必要性を減少またはなくす制御ベクトルエンフォ
ースメント用の安全方法を提供することである。
Therefore, the object of the present invention is to provide a CV outside the cryptographic device.
It is to provide a safe method for control vector enforcement that reduces or eliminates the need for management.

【0008】本発明の他の目的は暗号装置外でのCVの
記憶手段をなくすことである。
Another object of the present invention is to eliminate the storage means of the CV outside the encryption device.

【0009】本発明の他の目的はキーと結合された明示
的制御ベクトルの値が未知であるとき暗号キーを検証
し、それを回復することを許す制御ベクトルエンフォー
スメント用安全方法を提供することである。
Another object of the invention is to provide a secure method for control vector enforcement that allows the cryptographic key to be verified and recovered when the value of the explicit control vector associated with the key is unknown. That is.

【0010】本発明の他の目的は暗号装置に入る入力情
報から内部的に制御ベクトルをとり出しうる制御ベクト
ルエンフォースメント用安全方法を提供することであ
る。
Another object of the present invention is to provide a security method for control vector enforcement capable of internally extracting a control vector from input information entering a cryptographic device.

【0011】本発明の他の目的は、暗号装置外でとり出
されるインデクスにもとづき制御ベクトルが暗号装置内
の記憶手段から選ばれる制御ベクトルエンフォースメン
ト用安全方法を提供することである。
Another object of the present invention is to provide a security method for control vector enforcement in which a control vector is selected from a storage means in the cryptographic device based on an index taken out of the cryptographic device.

【0012】[0012]

【課題を解決するための手段及び作用】上記目的は制御
ベクトルエンフォースメントの幾つかのモードを用いる
本発明の安全暗号動作により達成される。本発明は暗号
装置に与えられる暗号サービス要求に含まれるデータに
もとづき制御ベクトルを発生し、選択しまたはとり出す
種々の方法を開示する。制御ベクトルの発生、とり出し
または選択は暗号装置の安全境界内で行われるから、そ
れにもとづく制御ベクトルエンフォースメントは高い安
全性をもって行われる。
The above objective is accomplished by the secure cryptographic operation of the present invention which employs several modes of control vector enforcement. The present invention discloses various methods of generating, selecting or retrieving a control vector based on the data contained in a cryptographic service request provided to a cryptographic device. Since the generation, extraction or selection of the control vector is performed within the security boundary of the cryptographic device, the control vector enforcement based on it is performed with high security.

【0013】暗号装置自体にCV管理能力の一部または
すべてを移すことにより多くの利点が得られることは当
業者には明らかである。本発明は暗号装置に供給される
入力情報にもとづきCVを暗号装置内で発生しあるいは
獲得しうるようにする異なるCVエンフォースメントを
与える。これら利点のいくつかは次のものを含む。
It will be apparent to those skilled in the art that many benefits can be obtained by transferring some or all of the CV management capabilities to the cryptographic device itself. The present invention provides different CV enforcements that allow CVs to be generated or obtained within the cryptographic device based on the input information provided to the cryptographic device. Some of these advantages include:

【0014】 ・信頼性の向上(暗号装置により維持されるCVの完全
性) ・使用性の向上(より簡単な命令インターフェース) ・記憶機構の縮小(暗号装置外で記憶されるCVの減
少) 本発明はまた、CV管理能力がユーザと暗号装置とによ
り共用されるようにするCVエンフォースメントモード
を与える。このモードはCVの種々の部分が最大許容値
範囲をもって使用属性についてユーザにより特定されう
ることを特徴とする。しかしながら、CVの固定部分は
要求された動作、および一群の予定値に限られる範囲を
もつ使用属性についての他の入力情報にもとづき暗号装
置により特定される。
-Improvement of reliability (integrity of CV maintained by cryptographic device) -Improvement of usability (simpler instruction interface) -Reduction of storage mechanism (reduction of CV stored outside cryptographic device) The invention also provides a CV enforcement mode that allows CV management capabilities to be shared by users and cryptographic devices. This mode is characterized in that different parts of the CV can be specified by the user for usage attributes with a range of maximum allowed values. However, the fixed part of the CV is specified by the cryptographic device based on the requested action and other input information about the usage attribute with a range limited to a set of expected values.

【0015】本発明によるCVエンフォースメントの別
のモードは、定義されたキータイプとキー利用のセット
が充分に定義される暗号インプリメンテーションに特に
適用しうる。そのようなシステムでのそれらモードの使
用により、暗号装置内のCVエンフォースメント機構の
動作と検査の複雑性が低下する。
Another mode of CV enforcement according to the present invention is particularly applicable to cryptographic implementations where the defined key type and set of key usages are well defined. The use of those modes in such systems reduces the complexity of operation and checking of the CV enforcement mechanism within the cryptographic device.

【0016】[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のインターフェースの
機能のある程度の説明は本発明を理解する上で有効であ
る。
DETAILED DESCRIPTION FIG. 1 shows a cryptographic system A100 that includes one or more application programs (APPL) 8, cryptographic device access program (CFAP) 6, and cryptographic device (CF) 4. APPL8 is CFAP
Application programming interface from 6 (AP
I) Issue a cryptographic service request via the input channel 10 of 18. On the other hand, the CFAP 6 is an input channel 12 of the device access program interface (FAPI) 20.
Call one or more instructions of CF4 via. The CF4 executes the called instructions and outputs the processing result to the FAPI.
Return to CFAP 6 via 20 output channels 14. CFAP 6 then returns the result of the set of instruction calls, or some function of the result, to APPL 8 via output channel 16 of API 18. Details of the individual elements within the cryptographic system and the interfaces between the elements are given in the specification of said application. However, CFA
Some explanation of the functionality of the P6, CF4 and FAPI 20 interfaces is helpful in understanding the present invention.

【0017】CF4はFAPI20の入力チャンネル1
2によりCF4に与えられる一群の入力情報を介して外
部から呼び出しうる1以上の暗号命令からなる群をサポ
ートする。この入力情報はオペレーションコード、クリ
アおよび/または暗号キーパラメータ、平文データまた
は暗号文データ、等の形の暗号サービス要求を含むこと
が出来る。オペレーションコードすなわちOPコードは
CF4で行われるべき暗号命令をこの暗号命令群の内か
ら選ぶ。入力情報の他の部分はOPコードにより識別さ
れる暗号処理に用いられる制御またはデータパラメータ
である。この入力情報はOPコードおよびデータパラメ
ータを識別する、予定のフィールドと値をもつ構造化制
御ブロックの形でもよく、あるいは、CF4が暗号サー
ビス要求により選ばれた命令を実行するのに必要な入力
情報のすべてを受けてしまうまで入力チャンネル12を
介して個々のデータ項目として送られてもよい。
CF4 is an input channel 1 of FAPI20.
2 supports a group of one or more cryptographic instructions that can be called externally via a group of input information provided to CF4. This input information may include a cryptographic service request in the form of an operation code, clear and / or cryptographic key parameters, plaintext data or ciphertext data, and so on. The operation code, that is, the OP code, selects a cryptographic command to be performed by CF4 from this cryptographic command group. The other part of the input information is the control or data parameter used in the cryptographic process identified by the OP code. This input information may be in the form of a structured control block with predetermined fields and values identifying the OP code and data parameters, or the input information required by CF4 to execute the instruction selected by the cryptographic service request. May be sent as individual data items via the input channel 12 until all have been received.

【0018】CF4は入力情報を用いて、FAPI20
の入力チャンネル12の入力情報を一群の出力情報に変
換し、この出力情報はFAPI20の出力チャンネルに
もどされる。命令の実行はCF4の物理的な安全境界内
で完全に生じ、それ故平文の形の入力暗号化キーおよび
データそして他の中間的な結果に対し高い完全性と秘密
性を与える。
The CF4 uses the input information to send the FAPI20
The input information of the input channel 12 is converted into a group of output information, and this output information is returned to the output channel of the FAPI 20. Execution of the instructions occurs entirely within the physically secure boundaries of CF4, thus providing high integrity and confidentiality to the input encryption key and data in plaintext and other intermediate results.

【0019】前記出願の明細書に示されるように、CF
4は各暗号キーがその発生時にそれに割当てられた使用
属性と確実に一致するように用いられるようにする。
ーキテクチャ上、これら使用属性はキー暗号化キーと構
造化データ値とを結合することにより一つのキーに不可
分に関連づけられる。CF4の境界外に記憶されるとき
にそのキーを暗号化する。キーがCF4の境界外に記憶
されるときにはそのキーはこのキー暗号化キーにより暗
号化される。この構造化データ値は制御ベクトル(C
V)であり、これはキー発生時に定義された使用属性に
対応する所定の値のフィールド群を含む。キーのCV
(つまり使用属性)がCF4内で処理されることを確か
なものとするためにCF4で用いられる機構が、CVエ
ンフォースメントである。
As indicated in the specification of said application, CF
4 ensures that each cryptographic key is used to ensure that it matches the usage attribute assigned to it when it occurred. A
Due to the architecture, these usage attributes are synonymous with key encryption keys.
Cannot be combined into one key by combining with the built-in data value
Associated with minutes. When stored outside the boundaries of CF4
To encrypt that key. Key is stored outside the boundary of CF4
Key is encrypted by this key encryption key.
Will be converted. This structured data value is a control vector (C
V), which is the usage attribute defined when the key was generated.
It includes a field group of corresponding predetermined values. CV of the key
Make sure (that is, usage attribute) is processed in CF4
The mechanism used in CF4 to achieve this is CV enforcement.

【0020】前記米国出願の明細書は制御ベクトル検査
として知られるCVエンフォースメントの方法を開示し
ている。制御ベクトル検査ではCF4は入力情報ブロッ
クとしてCF4に与えられる各CV内の種々のフィール
ドを検査するためにCF4内で記憶された固定の、ある
いは可変の、あるいはパラメータ化されたルール群を用
いる。与えられたCVの内容が要求された暗号命令に関
連する検査ルールを満たせばCF4はその要求された暗
号変換を許可する。これらCV内の1以上がルールを満
たさない場合にはその命令はアボートされる。各CVは
関連するキーに密着しているから、そしてそのキーを発
生させた正しいCVを特定することなしにはCF4内で
そのキーを回復しえないから、CV検査ルールを満たす
と共に暗号化キーの適正な内部回復をもたらす別のCV
をCF4に不法侵入者が与える機会はない。
The specification of the aforementioned US application discloses a method of CV enforcement known as control vector checking. In the control vector check, CF4 uses a fixed, variable or parameterized set of rules stored in CF4 to check the various fields in each CV provided to CF4 as input information blocks. If the contents of the given CV satisfy the check rule associated with the requested cryptographic instruction, CF4 permits the requested cryptographic conversion. If one or more of these CVs do not satisfy the rule, the instruction is aborted. Since each CV is closely attached to its associated key, and that key cannot be recovered in CF4 without identifying the correct CV that generated that key, the CV checking rules are met and the encryption key is Another CV that results in proper internal recovery of
There is no opportunity for trespassers to give to CF4.

【0021】本発明は、キーパラメータに関連する制御
ベクトルの値がCFAP6からCF4に与えられるので
はなく各命令呼出しにおいてパスされた入力情報の内容
にもとづきCF4により内部的に計算されるようになっ
ているCVエンフォースメントの他のモードを提案する
ものである。これらの方法はCVの一部あるいは多分す
べてをCF4の外に記憶し、かつFAPI20を通す必
要がないという利点を有している。その理由は、CVま
たはその一部分がCF4内部でとり出されるからであ
る。
The present invention allows the value of the control vector associated with the key parameter to be calculated internally by CF4 based on the contents of the input information passed in each instruction call rather than being given to CF4 by CFAP6. The present invention proposes another mode of CV enforcement. These methods have the advantage of storing some or perhaps all of the CV outside of CF4 and not having to pass FAPI 20. The reason is that CV or a part thereof is taken out inside CF4.

【0022】図2はCF4の要素を示しており、入力情
報はFAPI20の入力チャンネル12を介してCF4
に入る。FAPI20は「通過」形インターフェースで
よく、あるいはこの入力情報をCF4の内部要素に受け
入れうる形に変換するのに必要なフォーマットおよびタ
イプ変換機能を行うものでよい。同様に、暗号サービス
要求を処理した結果を表わす出力情報はFAPI20の
出力チャンネル14を介してCF4からもどされる。F
APIはこの出力情報を、装置呼出しアクセスプログラ
ム(例えば図1のCFAP6)に対して受け入れ可能な
形に変換するのに必要なデータフォーマットおよびタイ
プ変換機能を行う。
FIG. 2 shows the elements of CF4, and the input information is CF4 via the input channel 12 of the FAPI20.
to go into. FAPI 20 may be a "pass-through" type interface, or may perform the necessary format and type conversion functions to convert this input information into a form acceptable to the internal elements of CF4. Similarly, output information representing the result of processing the cryptographic service request is returned from the CF 4 via the output channel 14 of the FAPI 20. F
The API performs the data format and type conversion functions necessary to convert this output information into an acceptable form for a device call access program (eg CFAP 6 in FIG. 1).

【0023】内部的にはCF4は情報選択手段30、制
御ベクトル発生手段32、キーソース手段34および暗
号変換手段36を含む。情報選択手段30は入力チャン
ネル12から入力情報を受ける。この入力情報はCF4
の命令レパートリィ内の、暗号変換手段36内で行われ
る複数の命令の内の1個を選択するオペレーションコー
ド(OPコード)またはトークン値からなる。更に、こ
の入力情報は次の内の1つ以上を含むことが出来る。
Internally, the CF 4 includes an information selecting means 30, a control vector generating means 32, a key source means 34 and an encryption converting means 36. The information selection means 30 receives input information from the input channel 12. This input information is CF4
Of the instruction repertoire, the operation code (OP code) or the token value for selecting one of the plurality of instructions executed in the cryptographic conversion means 36. In addition, this input information can include one or more of the following:

【0024】 ・処理されるべき平文または暗号文データ ・クリア(すなわち平文)暗号キー ・暗号化暗号キーすなわちシステムマスタキー(あるい
は他のキー暗号化キー)の関数(例えば排他−OR)で
あるキー暗号化キーおよび暗号化されたキーのタイプお
よび使用属性を定義する制御ベクトルにより暗号化され
る各平文キー ・制御ベクトル選択パラメータ ・他のプロセス特有のパラメータ。
-Plain text or ciphertext data to be processed-Clear (that is, plaintext) encryption key-Encryption encryption key, that is, key encryption that is a function (for example, exclusive-OR) of the system master key (or other key encryption key) Each plaintext key encrypted by a control vector that defines the encryption key and the type and usage attributes of the encrypted key. Control vector selection parameters. Other process specific parameters.

【0025】情報選択手段30は入力情報に含まれる種
々のパラメータを必要に応じてCF4の他の要素に方向
づける。このパラメータ選択及び方向づけはOPコード
のみに、あるいはOPコードと、一つの与えられたOP
コード内の処理オプションを更に定義するモードセレク
タのような他のプロセス特有のパラメータとにもとづい
ている。
The information selection means 30 directs the various parameters contained in the input information to other elements of CF4 as required. This parameter selection and orientation can be done only for the OP code, or with the OP code and one given OP.
It is based on other process-specific parameters such as mode selectors that further define processing options in the code.

【0026】制御ベクトル発生手段32は暗号変換手段
36により用いられるべき制御ベクトルCを発生しある
いはとり出すものであり、そのベクトルに関連する暗号
キーKを処理する。制御ベクトル発生手段32はかくし
て本発明の関連するCVエンフォースメントの別方法を
行う。手段32はワーキングレジスタ38に記憶すべく
出力チャンネル48にその発生されたまたはとり出され
た制御ベクトルCを出力する。一般に、制御ベクトル発
生手段32は図3に示すようにワーキングレジスタ38
に記憶されるべき、順序を与えられた制御ベクトル群C
1,C2,…,Cnの形で複数の制御ベクトルを発生し
出力する。
The control vector generating means 32 generates or takes out the control vector C to be used by the cipher conversion means 36, and processes the cipher key K associated with the vector. The control vector generating means 32 thus performs the relevant method of CV enforcement of the present invention. Means 32 outputs the generated or fetched control vector C to output channel 48 for storage in working register 38. In general, the control vector generating means 32 has a working register 38 as shown in FIG.
An ordered control vector group C to be stored in
A plurality of control vectors in the form of 1, C2, ..., Cn are generated and output.

【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に関連づけられる。
The key source means 34 generates or obtains the cryptographic key value K to be used by the cryptographic conversion means 36. The key source means 34 receives selected input information including an instruction OP code and other parameters, and outputs a cryptographic key value K via an output channel 40 to be stored in a working register 38 together with its associated control vector C. To do. The output key value K is randomly generated in the key source means 34 or is extracted from the clear or encrypted key parameters in the selected input information entered from the information selection means 30 via the input channel 44. It
The key value K represents a clear or encrypted key. For example, if the key value K is randomly generated, K is defined as a random clear key K'encrypted by a key formed by the exclusive OR of the control vector C and the master key KM. This is K = e * KM. C
Notated as (K '). Where * KM is 128-bit K
Means M (64 bits without *).
Generally, the key source means 34 selects and outputs a plurality of key values in the form of a key group having an order of clear and encryption keys K1, ..., Kn as shown in FIG. Key value K
Each i is associated with one corresponding control vector Ci output by the control vector generating means 32.

【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)にセットする。
FIG. 4 shows the elements of the key source means 34.
The key output selector 56 selects each of the output key values Ki from the set of the input clear or encrypted key values Key 1, ..., Key j included in the selected input information or the output of the random number generator 54. To do. The selection process of each key value Ki is the instruction OP code 50 and the information selection means 30 shown in FIG.
Based on other parameters 52 extracted from the selected input information entering the input channel 44 from. For example, C
F4 must generate a randomly generated 64-bit key K, encrypted with a key encryption key formed by exclusive-ORing a 128-bit key encryption key KK with a 128-bit control vector C3. Cryptographic service request such as "must have"
Let's consider the keyset (GKS) generation at X). KK is e * KM. C1 (KKL), e
* KM. It is stored in encrypted form as C2 (KKR), where KKL is the left 64 bits of KK and KKR is the right 64 bits of it. The input information of this cryptographic service request includes an OP code, a mode, an encrypted key KK and other information necessary for reconstructing the control vectors C1, C2, C3. Selected input information to the key source means 34 on the input channel 44 is the OP code, mode and key parameter e * KM. C1 (KKL) and e * K
M. Includes C2 (KKR) only. Key output selector 56
Defines its output selection criteria using OP code 50 and mode 52 as follows: K1 is the first of random number generator 54
Set to the 64-bit output K of the input key; K2 is the left 64-bit of the input key encryption key e * KM. Set C1 (KKL); K3 is the input key Encryption key right 64 bits e * K
M. Set to C2 (KKR).

【0029】図3にもどると、制御ベクトル発生手段3
2の出力、すなわち順序をもつ制御ベクトルC1,…,
Cnの群は一群のワーキングレジスタ38内でキーソー
ス手段の出力すなわち順序づけられたn個のキー値K
1,…,Knと結合される。ワーキングレジスタ38の
内容はデータチャンネル46により暗号変換装置36に
送られる。情報選択手段30はOPコードと他の選択さ
れた入力情報をデータチャンネル42を介して暗号変換
手段36に送る。
Returning to FIG. 3, the control vector generating means 3
2 outputs, that is, control vectors C1, ..., With order
The group of Cn is the output of the key source means in the group of working registers 38, ie the n ordered key values K.
1, ..., Kn. The contents of the working register 38 are sent to the cipher conversion device 36 by the data channel 46. The information selection means 30 sends the OP code and other selected input information to the encryption conversion means 36 via the data channel 42.

【0030】暗号変換手段36はOPコード、選択され
た入力情報およびワーキングレジスタ38の内容を用い
てOPコードに関連した暗号サービスを行う。暗号処理
の結果は出力チャンネル14を介して出力情報の形で暗
号装置呼出しアクセスプログラム(例えば図1のCFA
P6)に出力される。これらの結果はまた次の命令呼出
しで用いるためにCF4内の記憶レジスタに記憶され
る。CF4の命令レパートリィ内の他の暗号命令は出力
を発生せず、それらの命令はCF4の処理形態を変える
のみである(例えばクリアクリプト装置命令であり、こ
れはCF4内のすべてのワーキングレジスタの内容をク
リアにする)。
The cipher conversion means 36 uses the OP code, the selected input information and the contents of the working register 38 to perform the cipher service related to the OP code. The result of the cryptographic processing is output via the output channel 14 in the form of output information to the cryptographic device calling access program (eg, CFA in FIG. 1).
It is output to P6). These results are also stored in a storage register in CF4 for use in the next instruction call. Other cryptographic instructions in the instruction repertoire of CF4 produce no output, they only change the processing of CF4 (eg, clear crypto device instructions, which are the contents of all working registers in CF4). Clear).

【0031】情報選択手段30の機能は他の主要素の夫
々すなわち制御ベクトル発生手段32、キーソース手段
34、または暗号変換手段36に組込むことが出来る。
The function of the information selecting means 30 can be incorporated in each of the other main elements, that is, the control vector generating means 32, the key source means 34, or the cipher conversion means 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に示す。
As mentioned above, the control vector generating means 32 performs another method of CV enforcement. In particular, the present invention discloses three different means of CV enforcement (and several variants of each): Internal CV table lookup Internal CV generation Masking or "bit fixed" CV enforcement. The implementation method must select a complete CV or multiple CVs for each requested cryptographic operation. An acceptable set of control vectors for each cryptographic operation must be defined by and under the control of the physical or logical security element of the cryptographic device. Thus, the user of the device has no means to remove the key types and usage restrictions defined by the implementor and the authorized system administrator. FIG. 5 shows the role of the control vector generating means, which selects one or more control vectors from the group of defined CVs based on the selected input information from the cryptographic service request to CF4. In the example of FIG. 5, IMPORTER (right half) CV is selected from the group. This CV type may be selected for re-encipher to master key (RTMK) operation or other operation to process an encrypted key-encrypted receiver key. The defined control vector group shown in FIG. 5 is not broad, and their values represent a general example of each CV type. This "general" refers to an example of a control vector that has the control attributes that allow maximum functionality for a given key type and use and impose minimal constraints. Thus, this defined set of control vectors can be expanded to include further examples of each CV type where functionality is further constrained or given some user definable fields. In FIG. 6, the CV required to process the cryptographic service request is stored in the control vector generating means 32.
One method of CV enforcement to be selected from the table of FIG. In this method, the "table indexing method", the control vector generating means 32 receives the selected input information from the information selecting means 30 via the input channel 45. This selected input information includes an OP code 50 that identifies the particular operation (or instruction) to be performed by the cryptographic device. OP code 50
And other input parameters 52 are provided to the CV table index selection function 65. The CV table index selection function 65 is a scheduled table of control vectors, that is, C
Calculate the index 66 pointing to an input or ordered group of inputs in the V-table 68. Selected CV
Is output by the control vector generating means 32 for storage in the working register 38. The CV table index selection function 65 can use a mathematical hash function to convert the input OP code 50 and other parameters 52 into a selection index 66. Alternatively, the index selection function 65 uses an algorithm (such as a group of "CASE" statements) to calculate the index 66.
Can be used. Alternatively, the select function element may be outside CF4 and CFAP 6 computes index 66 and provides it to CF4 via the input information, where it is simply verified by the CV table index select function. In this case, the verification process may be a simple algorithm that compares the selected index against a set of valid indexes for a given OP code. The table lookup method is characterized by the advantage that for most instructions the control vector does not pass through the interface of FAPI 20 and therefore the CV need not be stored or managed by the user of CF4. One variation of the CV enforcement table look-up method in which the instruction storage means of the cryptographic conversion means 36 includes a set of applicable control vectors for each defined instruction in the instruction repertoire of the cryptographic device. Shown in.

【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群を構成する。
FIG. 7 shows another CV enforcement method, that is, a generation method. In this generating method, the control vector generating means 32 receives the selected input information entered from the information selecting means 30 via the input channel 45. This selected input information includes an OP code 50 that identifies the particular operation (ie, instruction) to be performed by the cryptographic device. The OP code 50 and other input parameters 52 are given to the service request conversion means 70. This means 70 is O
A group of CVs using the P-code 50 and other parameters 52
Generation parameters 72 are generated and these parameters 72 are provided to the CV generation function 74. Function 74 uses these generated parameters to construct a CV or ordered CV group to be provided to working register 38 via output channel 84.

【0034】サービス要求変換手段70はテーブルまた
はアルゴリズム手段を用いてOPコード50と他の入力
パラメータ52をCV発生パラメータ72に変換するこ
とが出来る。パラメータ72はCVフィールド名および
対応する値の、パラメータ化された高レベルのリストで
構成することが出来る。例えば次のようなものである。
The service request conversion means 70 can convert the OP code 50 and other input parameters 52 into CV generation parameters 72 using a table or algorithm means. The parameter 72 can consist of a high level, parameterized list of CV field names and corresponding values. For example:

【0035】 USAGE=E,D,MG,MV EXPORT=NO KEY−FORM=64LEFT KEY−PART=NO CV発生機能74はそのようなリストを解釈して夫々の
フィールド値キーワード対を特定のCVフィールド位置
に変換して夫々の定義された対に関連する所定の意味に
もとづき2進コード化する。
USAGE = E, D, MG, MV EXPORT = NO KEY-FORM = 64 LEFT KEY-PART = NO CV generation function 74 interprets such a list to identify each field value keyword pair with a particular CV field position. To a binary code based on a predetermined meaning associated with each defined pair.

【0036】あるいは、サービス要求変換手段70は単
に暗号サービス要求内に与えられるOPコード50と他
の入力パラメータ52にもとづきCVのスケルトンを構
成してもよい。サービス要求変換手段70はこのように
入力パラメータにより決まる値を有するCVフィールド
の限られた部分集合を初期化しうる。残りの、入力パラ
メータに対し依存性をもたないCVスケルトンのフィー
ルドはCV発生機能74で初期化される。そのような依
存性のないCVフィールドは予約フィールド(ゼロに初
期化される)、CVタイプには無関係に固定された位置
と値をもつフィールド(アンチバリアントビット等)、
および他のインプリメンテーション定数(拡張フィール
ド等)を含むことが出来る。
Alternatively, the service request converting means 70 may simply construct the skeleton of the CV based on the OP code 50 and the other input parameters 52 given in the cryptographic service request. The service request conversion means 70 can thus initialize a limited subset of CV fields whose values depend on the input parameters. The remaining fields of the CV skeleton that have no dependency on the input parameters are initialized by the CV generation function 74. Such independent CV fields are reserved fields (initialized to zero), fields with fixed position and value independent of CV type (anti-variant bit, etc.),
And other implementation constants (such as extension fields).

【0037】サービス要求変換手段70のパラメータ依
存機能とCV発生機能74のパラメータ非依存機能は制
御ベクトル発生手段32内で一つの要素に組合せること
が出来る。更に入力パラメータ52はオペレーションモ
ードパラメータ(例えばデフォールトDATA PRIVACYキー
ではなくDATA COMPAT-INTERNALキーを用いるようにENCI
PHER要求を制限するパラメータMODE='COMPAT')を含む
ことが出来る。入力パラメータ52はまたCVのスケル
トンまたは完全なCVを含むことが出来、それから制御
ベクトル発生手段32が暗号変換手段36での次の暗号
変換のためにワーキングレジスタ38に記憶するための
関連CVをとり出すことが出来る。
The parameter-dependent function of the service request conversion means 70 and the parameter-independent function of the CV generation function 74 can be combined into one element in the control vector generation means 32. In addition, the input parameters 52 are operation mode parameters (eg ENCI to use the DATA COMPAT-INTERNAL key instead of the default DATA PRIVACY key).
It may include a parameter MODE = 'COMPAT') that limits the PHER request. The input parameters 52 can also include the skeleton of the CV or the complete CV, from which the control vector generation means 32 takes the associated CV for storage in the working register 38 for the next cipher conversion in the cipher conversion means 36. You can put it out.

【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ステートメント群に与えて、要
求された暗号変換に適用する一群の実行可能なステート
メントをアルゴリズム的に選択する。この場合、次のス
テートメントが選ばれて実行される。
8 and 9 show the control vector generating means 3
An example of a CV enforcement generation method performed in 2 is shown. In this example, OP code 50 includes an ENCIPHER service request and the other input parameter 52 includes a COMPAT mode limit. The purpose of the control vector generating means 32 is to use the encrypted form e * KM. A control vector C used by the cryptographic conversion means 36 to internally recover the DATA COMPAT-INTERNAL key K provided to CF4 as C (K).
Is to occur. When this is recovered, the cryptographic conversion means 36 uses this recovered key K to ENCIPHER some blocks of plaintext data given in the cryptographic service request issued to CF4. The control vector generating means 32 uses the OP code 50 and other mode parameters 5
2 is given to the service request conversion means 70,
DATA COMPAT-INTERNAL Constructs a skeleton of control vector C '. The service request conversion means 70 uses the OP code 50.
And mode 52 to the CASE statement group to algorithmically select a set of executable statements to apply to the requested cryptographic transformation. In this case, the next statement is selected and executed.

【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」は非定義または未知を示す)。
CASE opcode OF / * Set up OP code specific field of control vector * / 'ENCIPHER': / * specific field 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 The expression between '0' / * Software Bit = Unspecified * / '/ *' and '* /' is treated as a comment. These comments give the name of the applicable CV field that is changed to the left of the equal sign and the mnemonic value for which the field is being set. The service request conversion means 70 serves to generate fields of the output CVC depending on the input parameters and the CV type (as in this example). The skeletons of CV and C ′ are output from the service request conversion means 70. 8 and 9 show a 64-bit CVC 'as eight hexadecimal bytes ("XX" indicates undefined or unknown).

【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として出力される。
The skeleton of CVC 'is then given to the control vector generating function 74 of the control vector generating means 32. The control vector generation function 74 uses a fixed CV field generator 76 to set or "fix" the remaining, parameter independent fields of this CV. In this example, these fields consist of some standard reserved fields, some unused software bits, extension bits, etc. Some of these fields are fixed in this implementation (Export
Control and Key Form), which can be considered parameter dependent in other implementations depending on the functional and safety requirements of the user. Output CVC "
Consists of a completely distributed control vector containing the merged output fields of the service request conversion means 70 and the fixed CV field generator 76. The CVC "is adjusted to even parity in the Adjust Even Parity component 80. (It was mentioned above that each byte of the control vector contains a parity bit which must be set to guarantee even parity on a byte-by-byte basis.) General DATA COMPAT IN
The last CVC of the TERNAL CV type C = X'0000
7D0003000000 'is a working register 38
It is output as a control vector C84 to be stored in.

【0041】CVエンフォースメントの発生法はテーブ
ル索引法と同様に入力パラメータ(OPコード、モー
ド:等)から制御ベクトルを内部的に計算することを特
徴とする。しかしながらこの発生法ではCVのフィール
ドはアルゴリズム、またはテーブルまたは両者の組合せ
で動的に構成される。入力CVは付加的な機能的に関係
したCVを構成するためのテンプレートとしても用いら
れる。その例を図14および図15に示す。
The CV enforcement generation method is characterized in that a control vector is internally calculated from input parameters (OP code, mode: etc.) as in the table look-up method. However, in this generation method, the CV field is dynamically configured by an algorithm, a table, or a combination of both. The input CV is also used as a template to construct additional functionally related CVs. Examples thereof are shown in FIGS. 14 and 15.

【0042】図10はCVエンフォースメントの更に他
の方法、すなわちフィールド固定法を示す。この方法は
一群のアルゴリズムまたはテーブル駆動のルールを用い
て一群の入力CV内の特定のフィールドを無効にし、そ
れにより処理に用いられたCVが所定の仕様に確実に適
合するようにする。ユーザが定義するフィールドのイン
プリメンテーションをサポートするために、このフィー
ルド固定法は、定義された仕様に合わせるために変更し
なければならない入力CVのフィールドを変更するだけ
である。他のすべてのフィールドは変更されずに通され
る。この方法はテーブル索引法および発生法とは異なっ
ており、CVが維持され、かつCF4に対し各暗号サー
ビス要求によりFAPI20を介してユーザにより与え
られるという点でCV検査(CV Checking)(前記米
国出願に示されている)に近いものである。この方法は
CV検査とは次の点で異なる。すなわち、CVフィール
ドの内容(例えばフィールドXYZが値B′101′を
有する)を検査するのではなく、CVフィールドに要求
される内容を強制的に含めさせる(フィールドXYZを
前の内容には無関係にB′101′にセットすることに
より)。暗号装置内でCVフィールドの内容を予定の値
に強制的にセットするプロセスを「フィールド固定」ま
たは単に「固定」と呼ぶ。
FIG. 10 shows another method of CV enforcement, that is, a field fixing method. This method uses a group of algorithms or table driven rules to invalidate specific fields in a group of input CVs, thus ensuring that the CVs used in the process meet a given specification. To support the implementation of user-defined fields, this field fixing method only modifies the fields of the input CV that must be modified to meet the defined specifications. All other fields are passed through unchanged. This method differs from the table look-up method and the generation method, in that the CV is maintained and is given by the user via the FAPI 20 for each cryptographic service request to the CF 4 (CV Checking). Is shown). This method differs from the CV inspection in the following points. That is, rather than checking the contents of the CV field (eg, field XYZ has the value B'101 '), the CV field is forced to include the required contents (field XYZ is independent of previous contents). By setting to B'101 '). The process of forcibly setting the contents of the CV field to a predetermined value in the cryptographic device is called "fixed field" or simply "fixed".

【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に送られ
る。
FIG. 10 shows an input control vector 8 having an OP code 50 and five dispersed fields F1, ..., F5.
2 shows a group of selected input information entering the input channel 45 (from the information selection means 30), including 2 and other input parameters 52. Similar to the generation method described above, the field-fixing method is divided into two parts: (1) field fixing based on input parameters, and (2) field fixing independent of input parameters. The fixed field generator A86 receives the input OP code 50, the parameter 52 and the input CV 82 and fixes a group of parameter dependent fields in the input CV. The CV output of the fixed field generator A86 is the fixed field generator B.
88, where some parameter independent CV fields are fixed. Finally, the C88 output of B88 is provided to the Adjust Even Parity element 80 for even parity adjustment. The final control vector C84 consists of several unchanged fields (eg F2 and F5) from the original input CV 82 and a group of fixed fields (eg F1 ', F3', F4 '). CVC8
4 is sent to the working register 38 for the next processing.

【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が満たすからである。
11, 12 and 13 show an example of the field fixing method for CV enforcement. FIG. 11 shows an application program A outside the encryption device, for example, as shown in FIG.
PPL8 or encryption device access program CFAP6
The configuration of the input CV Cin 82 by the user is shown. APPL8 or CFAP6 define a group of variable fields in the control vector Cin. In particular, APPL /
CFAP is CV type, Export Control, Key Usage,
And set some CFAP force bits. In this example, the CFAP usage bit (Cin bit 34
37) CFAP makes the user of the key aware of the password before using the associated key in the cryptographic service request. C
The FAP use bit also allows CFAP to use the key associated with this CV only on weekdays. Another possible encoding for CFAP usage bits is to specify "no password required" or "only used Friday". The enforcement of CFAP usage bits is CFAP (if those bits are examined) and CF (if these bits are used in the CV to recover the associated key and ensure the integrity of the key CV association). It is shared. Configured control vector Cin =
X'0003C003C000000 'represents a skeleton of a CV in that the CV is not fully specified and therefore cannot be used with CF4. FIG. 12 shows a control vector generating means 32 for performing the fixed field method of CV enforcement. The user-configured CV Cin is given to CF 4 via CFAP 6 in the cryptographic service request. The control vector generating means 32 receives the OP code'ENCIPHER '50 and the control vector Cin 82 in the input information 45 selected from the cryptographic service request. Input control vector Cin8
2 is sent to the fixed field generator A86, which uses the input OP code 50 to select a group of executable statements that fix the parameter dependent fields of the input CVCin. The following statement is executed by the OP code 50 which makes'ENCIPHER 'equal to the user-defined CV type (bits 08 ... 14 of Cin). 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 * / This "rule" group ENCI with DATA COMPAT INTERNAL
The ENCIPHER usage bit E is set (already set at input Cin) for the PHER operation, ensuring that the key is 64 bits and not the key part. Figure 1 shows the ENCIPHER request.
In the rule of the fixed field generator A86 of 2, the CV type of the input CV Cin is DATA PRIVACY, DATA ANSI.
, Or one of DATA COMPAT-INTERNAL. Thus, the control vector generation means 32 uses the fixed field method to enforce the requirement that ENCIPHER operations be performed only on these three types of keys. Fixed field generator A86
Rules are divided into two parts: (1) CV type dependent rules and (2) non-CV type dependent rules. The latter rule depends only on the input OP code 50 (eg key form, key part, etc.). The fixed field generator A86 sends the modified control vector C'to the fixed field generator B88. C'in this example is the same as the user-defined input CV Cin for the reason DATA COMPAT-
OP code'ENCIPHER 'using INTERNAL key as input
All of the given fixed field specifications for Cin8
This is because 2 is satisfied.

【0045】固定フィールド発生器B88はCVC′の
残りの、定義されないフィールドをセットするために一
連の、OPコードに依存しない固定ルールを実行する。
これらフィールドはすべての制御ベクトル(例えばアン
チバリアントビットの位置と値)またはすべての現イン
プリメンテーション内の制御ベクトル(例えば予約ビッ
トおよび拡張ビット)に共通の或る値を含む。固定フィ
ールド発生器B88の出力は制御ベクトルC″であり、
これはアジャストイーブンパリティ要素80に加えられ
る。この要素80の出力は偶数パリティに調整された制
御ベクトルC=X′00003C003F00000
0′であり、これは以降の暗号処理のためにワーキング
レジスタ38に記憶される。
The fixed field generator B88 executes a series of OP code independent fixed rules to set the remaining, undefined fields of the CVC '.
These fields contain a value that is common to all control vectors (eg anti-variant bit positions and values) or control vectors (eg reserved bits and extension bits) in all current implementations. The output of the fixed field generator B88 is the control vector C ″,
This is added to the Adjust Even Parity element 80. The output of this element 80 is the control vector C = X'00003C003F00000 adjusted to even parity.
0 ', which is stored in the working register 38 for subsequent cryptographic processing.

【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内の
固定フィールドルールにより与えることが出来る。
The examples of FIGS. 11 to 13 show the input control vector Cin.
= CV output from X'00003C003000000 '
The conversion to C = X'00003C00F000000 'is shown. CF4 will not recover this key K correctly unless the key K given in the ENCIPHER request is encrypted using the above CVC rather than the CVCin from the user. Thus, the application of the CV enforcement field fixation method is preferably the case where the user provides the actual CVC, whereby the key K associated with it is encrypted. In this case, if C is given unchanged from the control vector generating means 32, then the basic rules of fixed field enforcement for the requested operation are satisfied and the key K is recovered in CF4. The advantage of the fixed field method is that it is based on input parameters while allowing user definable fields.
V is to allow enforcement of selected fields. Another advantage (shown in the examples of FIGS. 11-13) is that the user need only identify a few well-defined fields of the input CV. The rest of the CV structure can be given by the fixed field rule in the control vector generating means 32 of CF4.

【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の命令に与えられる。
FIGS. 14 and 15 show a modification of the CV enforcement generation method in which one control vector C1 is used to form a functionally related control vector C2. In particular, Figures 14 and 15 are 128 bits
IMPORTER key (ie key encryption receiver key) KK
The method for extracting the control vector C2 for the right half 64-bit KK1R from the given control vector C1 associated with the left half 64-bit KK1L is shown. The selected input information entered from the information selecting means 30 (FIG. 2) via the input channel 45 is the service request OP code 50 '.
Includes RTMK 'and other input parameters 52. RTMK
Import form e * KK1. Requests that the key of C3 (K) (ie encrypted by IMPORTER key) be transformed into the operation form e * KM, C4CK (ie encrypted by local master key KM). The 64 bits to the left and right of the IMPORTER key are of the form e * KM. C1 (KK1L) and e * KM. C2
It is given to the instruction of CF4 by (KK1R).

【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内のそれらの位置に送られる。
CV C1, C3 and C4 are given to the control vector generating means 32 as a part of other parameters 52, and are inspected in the CV inspection element 90 using the CV inspection CV inspection method. As these values pass the test in CV test element 90, they are placed directly into working register 38, which is stored with their associated keys. (C4 does not have a corresponding input key. C4 is used by the cipher conversion means 36 to encrypt the recovered plaintext key K for output to the requested CFAP 6 via the output channel 14.) In the specification of the application, if the CV inspection is not passed, the operation is aborted. Other options are CV C1, C3, C4
Is also generated and field-fixed to another CV enforcement means 90 from another parameter 52 which is selected in the table index or is an input to the control vector generation means 32. In any case, CVC1 is provided to the right CV generator 92, which converts the left half CVC1 into the corresponding right half CVC2. C1 and C2 and C3 and C4 are sent to their location in working register 38.

【0049】図15は右CV発生器92の要素およびそ
こでの処理の流れを示す。キータイプIMPORTER(左半
分)(図5)についての入力制御ベクトルC1は対応す
るIMPORTER(右半分)CVC2をとり出すのに必要なキ
ーフォームビットで変換される。C2のキーフォームビ
ット以外のすべてのビットはC1のビットと同じであ
る。
FIG. 15 shows the elements of the right CV generator 92 and the processing flow there. The input control vector C1 for the key type IMPORTER (left half) (FIG. 5) is transformed with the keyform bits needed to retrieve the corresponding IMPORTER (right half) CVC2. All bits except C2's keyform bits are the same as C1's.

【0050】CVエンフォースメントの発生法のこの変
更例は、暗号装置の外のユーザにより管理されるべき冗
長なCVの数が少なくなるという利点を有する。この方
法は、1つのCVが要求された暗号サービスを満足する
ように用いるべき付加CVにマッピングされるように固
定の関係(または制御ベクトル発生手段32に対し他の
入力パラメータ52でパラメータ化される関係)を有す
る任意のCVに適用しうる。
This variant of the method of generating CV enforcement has the advantage that the number of redundant CVs to be managed by a user outside the cryptographic device is reduced. This method is parameterized with a fixed relationship (or other input parameter 52 to the control vector generating means 32) such that one CV is mapped to an additional CV to be used to satisfy the required cryptographic service. Can be applied to any CV having a relationship.

【0051】図16は暗号変換手段36の命令記憶手段
94が暗号装置の命令レパートリ内の夫々定義された命
令について一群の適用可能な制御ベクトルを含むCVエ
ンフォースメントのテーブル索引法の変更例を示す。命
令記憶手段94は一群の実行可能なルーチン用の記憶手
段を含み、各ルーチンは1個の暗号装置命令のすべてま
たは一部を処理するのに必要なコードを含む。暗号変換
手段36の命令プロセッサ96は、情報選択手段30
(図2)からチャンネル42を介して受けるOPコード
50に対応するルーチンコードを命令記憶手段94から
とり出して実行する。命令プロセッサ96はチャンネル
42を介して入る選ばれた入力情報内の他の処理パラメ
ータ52を用いて適正な実行可能なコードをとり出す。
FIG. 16 shows a modification of the CV enforcement table look-up method in which the instruction storage means 94 of the cipher conversion means 36 includes a group of applicable control vectors for each defined instruction in the instruction repertoire of the cryptographic device. Show. The instruction storage means 94 includes storage means for a group of executable routines, each routine including the code necessary to process all or part of one cryptographic unit instruction. The instruction processor 96 of the cipher conversion means 36 uses the information selection means 30.
The routine code corresponding to the OP code 50 received from (FIG. 2) via the channel 42 is fetched from the instruction storage means 94 and executed. The instruction processor 96 uses the other processing parameters 52 in the selected input information entered via the channel 42 to retrieve the proper executable code.

【0052】命令記憶手段94は暗号変換手段36内で
行われる夫々の暗号命令について一群の予定の制御ベク
トルC1,…,Cnを含む。かくして、暗号サービス要
求の処理において用いるための1以上の制御ベクトルを
選択するという図2の制御ベクトル発生手段32の機能
は暗号変換手段36で行われる。各暗号命令についての
制御ベクトルはその命令に関連したコードブロック内に
テーブル形に記憶されあるいは命令記憶手段94内の共
通データブロック内で他のそのようなCVテーブルと共
にグルーブとされる。いずれの場合でも命令記憶手段9
4の実行可能な命令は、要求された暗号命令を処理する
に必要な夫々の制御ベクトルCi の位置に対するコード
化されたリファレンスを含む。これらコード化されたリ
ファレンスは命令記憶手段94に記憶された共通のCV
テーブルに対するインデクスの形をとるか、あるいは、
特定のOPコード50について命令プロセサ96により
とり出されて処理される、実行可能なコードブロック内
のデータ項目として組込まれたCVに対する直接メモリ
アドレスの形であってもよい。
The instruction storage means 94 includes a group of scheduled control vectors C1, ..., Cn for each cryptographic instruction performed in the cryptographic conversion means 36. Thus, the function of the control vector generation means 32 of FIG. 2 to select one or more control vectors to be used in the processing of the cryptographic service request is performed by the cryptographic conversion means 36. The control vector for each cryptographic instruction is stored in table form in the code block associated with that instruction or is grooved with other such CV tables in a common data block in the instruction storage means 94. In any case, the instruction storage means 9
The four executable instructions include a coded reference to the location of each control vector Ci required to process the requested cryptographic instruction. These coded references are common CVs stored in the instruction storage means 94.
Takes the form of an index into the table, or
It may be in the form of a direct memory address for a CV embedded as a data item in an executable code block that is fetched and processed by instruction processor 96 for a particular OP code 50.

【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に与えるために用いられ
る。
The instruction processor 96 thus uses the OP code 50 to select a group of executable codes and a group of control vectors C1, ..., Cn from the instruction storage means 94.
The instruction processor 96 receives from the working register 38 via the input channel 46 the selected control vector C1,
, Cn for a group of keys K1, ..., Kn corresponding to Cn,
Use V and key to clear or re-encrypt encrypted key back to clear key. The instruction processor 96 also uses a key or cryptographic variable (e.g., system master key KM98) securely stored in clear in the cryptographic conversion means 36. For example, the instruction processor 96 has the instruction storage means 94.
Control vector C1 and master key KM98 extracted from
Using e * KM. Decrypt the data key encrypted in the form of C1 (K). Since the clear key K satisfies the cryptographic instruction requested by the instruction processor, for example, the key K
Is used to encrypt the plaintext data and provide the ciphertext via the channel 14 to the requesting CFAP 6.

【0054】CVエンフォースメントのこのテーブル索
引法の変更例は、暗号命令を処理するに必要な制御ベク
トルがその命令を行う実行可能コードと共に記憶される
という利点を有する。暗号装置のユーザは暗号サービス
の要求をなすとき命令に制御ベクトルを入れる必要はな
い。CVは要求されたOPコード50および他の入力パ
ラメータ52にもとづき命令プロセッサ96により選ば
れる。このように暗号装置に対するインターフェースは
簡略化される。更に、ユーザは暗号装置の外での制御ベ
クトルを管理から解放される。
This modification of this table look-up method for CV enforcement has the advantage that the control vector needed to process a cryptographic instruction is stored with the executable code that executes the instruction. The user of the cryptographic device does not need to include the control vector in the instruction when making a request for cryptographic services. The CV is selected by the instruction processor 96 based on the requested OP code 50 and other input parameters 52. In this way the interface to the cryptographic device is simplified. Moreover, the user is relieved of control vector control outside the cryptographic device.

【図面の簡単な説明】[Brief description of the drawings]

【図1】暗号システムの主要要件を示すブロック図。FIG. 1 is a block diagram showing the main requirements of a cryptographic system.

【図2】暗号装置の論理要素を示すブロック図であっ
て、制御ベクトル発生手段とキーソース手段が暗号装置
に与えられる入力情報にもとづき夫々1個の制御ベクト
ルCと暗号キーKを発生し、そしてこの制御ベクトル発
生手段がCVエンフォースメントの1以上の異なるモー
ドを行うごとくなっている。
FIG. 2 is a block diagram showing logical elements of a cryptographic device, wherein a control vector generating means and a key source means generate a control vector C and a cryptographic key K, respectively, based on input information given to the cryptographic device, Then, this control vector generation means performs one or more different modes of CV enforcement.

【図3】制御ベクトル発生手段とキーソース手段が暗号
装置に加えられる入力情報から複数の制御ベクトル−暗
号キー対(C,K)を発生すべく拡張されたブロック
図。
FIG. 3 is an expanded block diagram of control vector generation means and key source means for generating a plurality of control vector-cipher key pairs (C, K) from input information applied to a cryptographic device.

【図4】キーソース手段の要素とそこでのデータフロー
を示す図であって、キーソース手段が暗号サービス要求
において暗号装置に与えられる選ばれた入力情報からラ
ンダムキーを発生しあるいはキーを選択するごとくなっ
ている。
FIG. 4 is a diagram showing elements of a key source means and data flow therein, wherein the key source means generates a random key or selects a key from selected input information provided to a cryptographic device in a cryptographic service request. I'm getting along.

【図5】暗号サービス要求において暗号装置に与えられ
る選ばれた入力情報を制御ベクトル発生手段がマッピン
グする一群の制御ベクトルを示す図。
FIG. 5 is a diagram showing a group of control vectors to which selected input information given to a cryptographic device in a cryptographic service request is mapped by control vector generation means.

【図6】制御ベクトル発生手段が暗号サービス要求から
の選ばれた入力情報を用いてテーブルインデクスを計算
するようになったCVエンフォースメントの一方法を示
しており、このテーブルインデクスが暗号装置内の制御
ベクトルテーブルに記憶された制御ベクトル値をポイン
トし、かくして制御ベクトル発生手段が一群の予定の、
記憶された値から一つの制御ベクトルを選び出力するよ
うにする方法を示す図。
FIG. 6 shows a method of CV enforcement in which a control vector generating means calculates a table index using selected input information from a cryptographic service request, and this table index is stored in the cryptographic device. Of the control vector values stored in the control vector table of
FIG. 4 is a diagram showing a method of selecting and outputting one control vector from stored values.

【図7】制御ベクトル発生手段が暗号サービス要求から
の選ばれた入力情報を用いて制御ベクトルを動的に発生
するようになったCVエンフォースメントの他の一方法
を示す図。
FIG. 7 is a diagram showing another method of CV enforcement in which the control vector generating means dynamically generates the control vector using the input information selected from the cryptographic service request.

【図8】図7のCV発生法の一例を図9と組合せて示す
ものであり、DATA COMPAT-INTERNAL制御ベクトルが暗号
サービス要求内で選ばれた入力情報内の、暗号装置に与
えられる入力動作コードと動作モードパラメータにもと
づき発生されるようにしたものを示す第1部分の図。
FIG. 8 shows an example of the CV generation method of FIG. 7 in combination with FIG. 9, in which the DATA COMPAT-INTERNAL control vector is an input operation given to the cryptographic device within the input information selected in the cryptographic service request. The figure of the 1st part showing what was made to generate based on a code and an operation mode parameter.

【図9】図8と組合されて1つのCV発生法を示す第2
部分の図。
FIG. 9 is a second showing one CV generation method in combination with FIG.
Figure of the part.

【図10】制御ベクトル発生手段が入力制御ベクトルを
受けて暗号サービス要求内で選択された入力情報内の、
暗号装置に加えられる入力動作コードと他の入力パラメ
ータとにもとづき一群のフィールドを所定の値に固定
(すなわちオーバレイ)されるようにしたCVエンフォ
ースメントの他の方法を示す図。
FIG. 10 is a block diagram showing an example of the input information selected in the cryptographic service request by the control vector generation means receiving the input control vector;
The figure which shows the other method of CV enforcement which made a group of fields fixed (namely, overlay) to a predetermined value based on the input operation code added to a cryptographic device, and other input parameters.

【図11】図10に示すCVフィールド一固定法の一例
を図12および13と組合せて示すものであって、DATA
COMPAT - INTERNAL制御ベクトルがユーザ定義可能なフ
ィールドについての一群の使用属性を含む入力制御ベク
トルのスケルトンから発生されるようにしたものを示す
第1部分の図。
11 shows an example of the CV field fixing method shown in FIG. 10 in combination with FIG. 12 and FIG.
FIG. 5 is a first part diagram showing a COMPAT-INTERNAL control vector generated from a skeleton of an input control vector containing a set of usage attributes for user-definable fields.

【図12】図11および13と組合されてCVフィール
ド固定法を示す第2部分の図。
FIG. 12 is a second part view showing the CV field fixation method in combination with FIGS. 11 and 13;

【図13】図11および12と組合されてCVフィール
ド固定法を示す第3部分の図。
FIG. 13 is a third part diagram showing the CV field fixation method in combination with FIGS. 11 and 12;

【図14】1以上の制御ベクトルが暗号サービス要求内
で暗号装置に加えられる入力制御ベクトルから内部的に
とり出されるようにしたCVエンフォースメントのCV
発生方法の他の実施例を図15と組合せて示すものであ
って、128ビットIMPORTER(キー暗号化)キーの右側
64ビットに関連する制御ベクトルがその128ビット
IMPORTERキーの右64ビットに関連した入力制御ベクト
ルから内部的にとり出されるようにした例を示す第1部
分の図。
FIG. 14 is a CV enforcement CV in which one or more control vectors are internally derived from an input control vector applied to a cryptographic device within a cryptographic service request.
FIG. 16 shows another embodiment of the generating method in combination with FIG. 15, wherein the control vector associated with the right 64 bits of the 128-bit IMPORTER (key encryption) key is the 128 bits.
The figure of the 1st part which shows the example adapted to be taken out internally from the input control vector related to the right 64 bits of the IMPORTER key.

【図15】図14と組合されて1つのCV発生法を示す
第2部分の図。
FIG. 15 is a second part diagram illustrating one CV generation method in combination with FIG. 14.

【図16】1以上の制御ベクトルが暗号装置の命令レパ
ートリ内の夫々の暗号命令についての対応する一群の実
行可能コードを含む命令記憶手段に記憶された一群の所
定の値から選ばれるようにした、CVエンフォースメン
トのテーブル索引法の変更例を示す図。
FIG. 16 illustrates one or more control vectors selected from a set of predetermined values stored in an instruction storage means that includes a corresponding set of executable code for each cryptographic instruction in the instruction repertoire of the cryptographic device. FIG. 6 is a diagram showing a modified example of the table indexing method for CV enforcement.

【符号の説明】[Explanation of symbols]

100 暗号システムA 8 アプリケーションプログラム(APPL) 6 暗号装置アクセスプログラム(CFAP) 4 暗号装置(CF) 10 入力チャンネル 16 出力チャンネル 18 アプリケーションプログラミングインターフェー
ス(API) 20 装置アクセスプログラムインターフェース(FA
PI) 30 情報選択手段 32 制御ベクトル発生手段 34 キーソース手段 36 暗号変換手段 38 ワーキングレジスタ 40 出力チャンネル 44 入力チャンネル 54 乱数発生器 56 キー出力セレクタ
100 Cryptographic system A 8 Application program (APPL) 6 Cryptographic device access program (CFAP) 4 Cryptographic device (CF) 10 Input channel 16 Output channel 18 Application programming interface (API) 20 Device access program interface (FA)
PI) 30 Information selection means 32 Control vector generation means 34 Key source means 36 Cryptographic conversion means 38 Working register 40 Output channel 44 Input channel 54 Random number generator 56 Key output selector

───────────────────────────────────────────────────── フロントページの続き (72)発明者 アン、ブイ、リ アメリカ合衆国バージニア州、マナサ ス、バトルフィールド、ドライブ、 10227 (72)発明者 スティーブン、エム、マトヤス アメリカ合衆国バージニア州、マナサ ス、セダー、リッジ、ドライブ、10298 (72)発明者 ロスチスラウ、プリマク アメリカ合衆国バージニア州、ダムフリ ース、フェアーウェイ、ドライブ、 15900 (72)発明者 ジョン、ディー、ウィルキンス アメリカ合衆国バージニア州、ソマービ ル、ピー、オー、ボックス、8 (56)参考文献 特開 平2−106787(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Anne, Buoy, Re, Virginia, Manassas, Battlefield, Drive, 10227 (72) Inventor Steven, M, Matoyas Manassas, Cedar, Ridge, Virginia, USA Drive, 10298 (72) Inventor Rothtislaw, Primac, Virginia, United States, Damfries, Fairway, Drive, 15900 (72) Inventor John, Dee, Wilkins United States Virginia, Somerville, Pee, Oh, Box, 8 (56) ) References JP-A-2-106787 (JP, A)

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】暗号キーを用いて暗号動作を行う物理的に
安全保障された暗号装置を有し、該暗号装置の外部から
適用プログラムが暗号装置に対して暗号キーによる動作
のための暗号サービス要求を与え、該暗号キーは制御ベ
クトルに関連されており、該制御ベクトルの各々は予め
定義された値のフィールドを有し、該フィールドは関連
する暗号キーが実行することをそのオリジネータにより
許可された機能を定義するようになっているデータ処理
システムにおける、前記暗号装置内で暗号動作を行なう
装置であって、 暗号サービス要求を含む入力情報を受ける入力端を有
し、前記暗号サービス要求に応答して前記暗号装置内部
で制御ベクトルを発生し、その出力端に前記制御ベクト
ルを与える前記暗号装置内部の制御ベクトル発生手段
と、 暗号サービス要求を含む入力情報を受ける入力端を有
し、前記暗号サービス要求に応答して前記暗号装置内部
で前記制御ベクトルに関連づけられたキー値を発生し、
その出力端に前記キー値を与える前記暗号装置内部のキ
ー・ソース手段と、 前記入力情報を受ける第1入力端と、前記制御ベクトル
及び前記キー値を受ける第2入力端とを有し、前記制御
ベクトル及び前記関連するキー値を用いて前記入力情報
を出力情報に暗号的に変換するための前記暗号装置内部
の暗号変換装置とを備えた、暗号装置内で暗号動作を行
うための装置。
1. A cryptographic service for physically operating a cryptographic device that performs cryptographic operations using a cryptographic key, and an application program from the outside of the cryptographic device for the cryptographic device to operate with the cryptographic key. Request, the cryptographic key is associated with a control vector, each of the control vectors having a field of predefined values, the field being permitted by its originator to perform the associated cryptographic key. A device for performing a cryptographic operation in the cryptographic device in a data processing system adapted to define a function, and having an input end for receiving input information including a cryptographic service request, and responding to the cryptographic service request A control vector generating means inside the cryptographic device for generating a control vector inside the cryptographic device and giving the control vector to the output terminal thereof; No. has an input for receiving the input information including a service request, and generates a key value associated with the control vector within the encryption device in response to the cryptographic service request,
Key source means inside the cryptographic device for giving the key value to its output end, a first input end for receiving the input information, and a second input end for receiving the control vector and the key value, An apparatus for performing a cryptographic operation within a cryptographic device, comprising: a cryptographic conversion device within the cryptographic device for cryptographically converting the input information into output information using a control vector and the associated key value.
【請求項2】前記制御ベクトル発生手段は、 前記制御ベクトルを記憶する手段と、 前記暗号サービス要求に応じて前記制御ベクトル発生手
段の出力端を介して前記暗号変換装置に前記制御ベクト
ルを出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
作を行うための装置。
2. The control vector generation means outputs the control vector to the cryptographic conversion device via a means for storing the control vector and an output end of the control vector generation means in response to the cryptographic service request. An apparatus for performing cryptographic operations in a cryptographic apparatus according to claim 1, further comprising:
【請求項3】前記制御ベクトル発生手段は、 前記暗号サービス要求に関連したインデクス値によりア
クセス可能な制御ベクトルのテーブルを有する記憶装置
と、 前記記憶装置からアクセスされた制御ベクトルを前記暗
号サービス要求に応じて前記制御ベクトル発生手段から
前記暗号変換装置へ出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
作を行うための装置。
3. The control vector generation means stores a storage device having a table of control vectors accessible by an index value related to the cryptographic service request, and a control vector accessed from the storage device in the cryptographic service request. The device for performing a cryptographic operation in the cryptographic device according to claim 1, further comprising: a unit that outputs from the control vector generating unit to the cryptographic conversion device in response thereto.
【請求項4】前記制御ベクトル発生手段は、 前記暗号サービス要求に応じて前記暗号変換装置への出
力となる前記制御ベクトルを含む命令であって、要求さ
れた暗号サービスの実行のため前記暗号変換装置へ出力
されるべき命令を記憶するための命令記憶手段を更に含
んでいる請求項1に記載の暗号装置内で暗号動作を行う
ための装置。
4. The control vector generating means is an instruction including the control vector to be output to the cryptographic conversion device in response to the cryptographic service request, and the cryptographic conversion for executing the requested cryptographic service. An apparatus for performing cryptographic operations in a cryptographic apparatus according to claim 1, further comprising instruction storage means for storing instructions to be output to the apparatus.
【請求項5】前記制御ベクトル発生手段は、 暗号サービス要求を受けるための前記入力端に接続され
る入力端を有し、前記暗号サービス要求をそれに応じた
前記暗号変換装置への出力である制御ベクトルに変換す
るためのサービス要求変換手段を更に含んでいる請求項
1に記載の暗号装置内で暗号動作を行うための装置。
5. The control vector generating means has an input end connected to the input end for receiving a cryptographic service request, and outputs the cryptographic service request to the cryptographic conversion device in response thereto. An apparatus for performing a cryptographic operation in a cryptographic apparatus according to claim 1, further comprising service request conversion means for converting into a vector.
【請求項6】前記暗号サービス要求は所定の値をもつフ
ィールドを有する第1部分と可変の値をもつフィールド
を有する第2部分を有し、 前記制御ベクトル発生手段は、前記第1部分および第2
部分から一つの制御ベクトルを形成してその制御ベクト
ルをこの暗号サービス要求に応じて前記暗号変換装置に
出力する請求項1に記載の暗号装置内で暗号動作を行う
ための装置。
6. The cryptographic service request has a first part having a field having a predetermined value and a second part having a field having a variable value, and the control vector generating means is provided with the first part and the first part. Two
An apparatus for performing a cryptographic operation in a cryptographic apparatus according to claim 1, wherein a control vector is formed from the parts and the control vector is output to the cryptographic conversion apparatus in response to the cryptographic service request.
【請求項7】前記制御ベクトル発生手段は1組の予め定
義された制御ベクトルの中から制御ベクトルを選択し、
前記暗号サービス要求に応じて、選択された制御ベクト
ルを前記出力端に与える、 請求項1に記載の暗号装置内で暗号動作を行うための装
置。
7. The control vector generating means selects a control vector from a set of predefined control vectors,
The device for performing a cryptographic operation in the cryptographic device according to claim 1, wherein a selected control vector is given to the output end in response to the cryptographic service request.
【請求項8】前記制御ベクトル発生手段は前記1組の予
め定義された制御ベクトルをルックアップ・テーブルに
記憶している、 請求項7に記載の暗号装置内で暗号動作を行うための装
置。
8. A device for performing cryptographic operations in a cryptographic device according to claim 7, wherein said control vector generating means stores said set of predefined control vectors in a look-up table.
【請求項9】前記入力情報はマスターキーと前記制御ベ
クトルの論理的組合せにより形成されるキーにより暗号
化される値を含んでいる請求項1に記載の暗号装置内で
暗号動作を行うための装置。
9. The cryptographic device according to claim 1, wherein the input information includes a value encrypted by a key formed by a logical combination of a master key and the control vector. apparatus.
JP3159632A 1990-08-22 1991-06-04 Device for cryptographic operation Expired - Lifetime JP2689998B2 (en)

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 (en) 1992-08-28
JP2689998B2 true JP2689998B2 (en) 1997-12-10

Family

ID=24294324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3159632A Expired - Lifetime JP2689998B2 (en) 1990-08-22 1991-06-04 Device for cryptographic operation

Country Status (4)

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

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
US7117180B1 (en) 1994-11-23 2006-10-03 Contentguard Holdings, Inc. System for controlling the use of digital works using removable content repositories
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
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US6865551B1 (en) 1994-11-23 2005-03-08 Contentguard Holdings, Inc. Removable content repositories
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (en) 1994-11-23 1996-10-11 Xerox Corp Distribution and use control system of digital work and access control method to digital work
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
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc System for controlling access and distribution of digital property
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
US6532451B1 (en) 1998-03-23 2003-03-11 Novell, Inc. Nested strong loader apparatus and method
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
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
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
US7356688B1 (en) 1999-04-06 2008-04-08 Contentguard Holdings, Inc. System and method for document distribution
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
EP1142535B1 (en) 2000-04-07 2012-10-03 Collagen Matrix, Inc. Embolization device
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
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
US7603319B2 (en) 2000-08-28 2009-10-13 Contentguard Holdings, Inc. Method and apparatus for preserving customer identity in on-line transactions
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
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US6754642B2 (en) 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US7206765B2 (en) * 2001-01-17 2007-04-17 Contentguard Holdings, Inc. System and method for supplying and managing usage rights based on rules
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
CN101369299B (en) 2001-01-17 2010-06-09 康坦夹德控股股份有限公司 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
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
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
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
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
US6973445B2 (en) * 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
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
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
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
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US7774280B2 (en) * 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
EP1323018A4 (en) * 2001-06-07 2004-07-07 Contentguard Holdings Inc Protected content distribution system
JP2004530222A (en) 2001-06-07 2004-09-30 コンテントガード ホールディングズ インコーポレイテッド Method and apparatus for supporting multiple zones of trust in a digital rights management system
JP4787434B2 (en) * 2001-08-24 2011-10-05 富士通コンポーネント株式会社 ENCRYPTION METHOD, COMMUNICATION SYSTEM, DATA INPUT DEVICE
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 (en) * 2007-07-18 2013-08-28 株式会社リコー Information processing apparatus and cryptographic processing program
JP2009027525A (en) * 2007-07-20 2009-02-05 Nec Corp Optical transmission system and optical transmission method
US8953789B2 (en) 2011-06-01 2015-02-10 International Business Machines Corporation Combining key control information in common cryptographic architecture services
FR2980285B1 (en) * 2011-09-15 2013-11-15 Maxim Integrated Products SYSTEMS AND METHODS FOR MANAGING CRYPTOGRAPHIC KEYS IN A SECURE MICROCONTROLLER
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
EP0354774B1 (en) * 1988-08-11 1996-04-10 International Business Machines Corporation Data cryptography using control vectors
EP0354770B1 (en) * 1988-08-11 1996-03-27 International Business Machines Corporation Secure management of keys using extended 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
JPH04240888A (en) 1992-08-28
EP0471939B1 (en) 1998-12-23
DE69130658D1 (en) 1999-02-04
DE69130658T2 (en) 1999-07-22
US5432849A (en) 1995-07-11
EP0471939A3 (en) 1992-06-03
EP0471939A2 (en) 1992-02-26

Similar Documents

Publication Publication Date Title
JP2689998B2 (en) Device for cryptographic operation
US5081677A (en) Crypotographic key version control facility
KR100308322B1 (en) Method and apparatus for performing strong encryption or decryption of data using special encryption functions
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
US4203166A (en) Cryptographic file security for multiple domain networks
US20030084308A1 (en) Memory encryption
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 (en) A system and method for encryption of pointers to virtual function tables
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 (en) Logic circuit, microcomputer and communication method between logic circuit and storage device
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 (en) Message authentication device, message authenticating method, message authenticating program, and computer- readable recording medium with the program stored thereon
JPH0744375A (en) Ciphered data processor
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