JP2689998B2 - 暗号動作を行う装置 - Google Patents
暗号動作を行う装置Info
- Publication number
- JP2689998B2 JP2689998B2 JP3159632A JP15963291A JP2689998B2 JP 2689998 B2 JP2689998 B2 JP 2689998B2 JP 3159632 A JP3159632 A JP 3159632A JP 15963291 A JP15963291 A JP 15963291A JP 2689998 B2 JP2689998 B2 JP 2689998B2
- Authority
- JP
- Japan
- Prior art keywords
- cryptographic
- control vector
- key
- service request
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
ムおよび方法に関し、特にセキュリティの向上のために
データ処理システムで用いられる暗号システムおよび方
法に関する。
(出願日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以
上のフィールドを含むデータ構造である。この制御ベク
トルはキー発生時にキーのオリジネータにより特定され
る。上記出願の明細書は更に指定された使用がこの暗号
アーキテクチャのキー使用検証機構により強制されるこ
とを保証するために一貫性をもって制御ベクトルをキー
値に結合する方法を開示している。
われるべき要求されたキー管理機能を示すオペレーショ
ンコードと共に物理的に安全な暗号装置内の制御ベクト
ル検査ユニットに送られるように構成されたキー使用検
証法である。この制御ベクトル検査ユニットは夫々の送
られた制御ベクトル内の種々のフィールドの内容を検査
し、比較するために一群の検査ルールを用いる。制御ベ
クトルが要求されたキー管理機能に関連した検査ルール
を満足すれば、制御ベクトル検査ユニットが許可信号
を、要求されたキー管理機能を完結することの出来る暗
号ファシリティ内の命令プロセッサに送る。1個あるい
はそれ以上の制御ベクトルがこれら検査ルールを満足し
ないならば、不許可信号が出され、そして命令実行はア
ボートされる。
ル、すなわち暗号装置の夫々の実行可能な命令に対しハ
ードワイヤードまたはハードコーデッドされる静的ルー
ル、ユーザまたはインプリメンタが制御ベクトル変換を
用いて基本的な検査ルール群を増補しうるようにするパ
ラメトリックルールおよび検査目安を暗号装置外部の貯
蔵部から制御ベクトル検査ユニットに安全且つ動的にロ
ードしうるようにするプログラム可能検査ルール、をつ
くる種々の方法を示している。
する制御ベクトル内にキーオリジネータにより定義され
た使用属性を規定することにもとづいていることは当業
者には明らかである。総体的に、これらキー使用検証法
は制御ベクトル(CV)エンフォースメントとして知ら
れている。このCVエンフォースメントのすべてに共通
な特性はCV検査の概念、すなわちユーザから暗号装置
に送られる1組以上の制御ベクトルの種々の所定のフィ
ールドおよび値に一群の検査ルールを適用することであ
る。
Vを管理しなければならない。CV管理は制御ベクトル
の定義、分配および記憶を指す総合的な用語である。例
えばCVエンフォースメントのCV検査法ではキー管理
要求の処理のためにキーが暗号装置に与えられるときC
Vがそのキーを伴わねばならないから、暗号装置のユー
ザはキーのオリジネータのCVコピーを維持しなければ
ならない。(CVはそのキーの要求された使用を認証す
るため、およびそのキーの平文フォームを適正に回復す
るための両方に必要である。)CV検査法では更にユー
ザが暗号化キーの発生または処理の前に各CVの全内容
を定義しなければならない。ユーザはまた暗号キーが他
のシステムに出されるときそのキーと共にCVを分配し
なければならない。
管理の必要性を減少またはなくす制御ベクトルエンフォ
ースメント用の安全方法を提供することである。
記憶手段をなくすことである。
的制御ベクトルの値が未知であるとき暗号キーを検証
し、それを回復することを許す制御ベクトルエンフォー
スメント用安全方法を提供することである。
報から内部的に制御ベクトルをとり出しうる制御ベクト
ルエンフォースメント用安全方法を提供することであ
る。
されるインデクスにもとづき制御ベクトルが暗号装置内
の記憶手段から選ばれる制御ベクトルエンフォースメン
ト用安全方法を提供することである。
ベクトルエンフォースメントの幾つかのモードを用いる
本発明の安全暗号動作により達成される。本発明は暗号
装置に与えられる暗号サービス要求に含まれるデータに
もとづき制御ベクトルを発生し、選択しまたはとり出す
種々の方法を開示する。制御ベクトルの発生、とり出し
または選択は暗号装置の安全境界内で行われるから、そ
れにもとづく制御ベクトルエンフォースメントは高い安
全性をもって行われる。
すべてを移すことにより多くの利点が得られることは当
業者には明らかである。本発明は暗号装置に供給される
入力情報にもとづきCVを暗号装置内で発生しあるいは
獲得しうるようにする異なるCVエンフォースメントを
与える。これら利点のいくつかは次のものを含む。
性) ・使用性の向上(より簡単な命令インターフェース) ・記憶機構の縮小(暗号装置外で記憶されるCVの減
少) 本発明はまた、CV管理能力がユーザと暗号装置とによ
り共用されるようにするCVエンフォースメントモード
を与える。このモードはCVの種々の部分が最大許容値
範囲をもって使用属性についてユーザにより特定されう
ることを特徴とする。しかしながら、CVの固定部分は
要求された動作、および一群の予定値に限られる範囲を
もつ使用属性についての他の入力情報にもとづき暗号装
置により特定される。
のモードは、定義されたキータイプとキー利用のセット
が充分に定義される暗号インプリメンテーションに特に
適用しうる。そのようなシステムでのそれらモードの使
用により、暗号装置内のCVエンフォースメント機構の
動作と検査の複雑性が低下する。
ン)プログラム(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のインターフェースの
機能のある程度の説明は本発明を理解する上で有効であ
る。
2によりCF4に与えられる一群の入力情報を介して外
部から呼び出しうる1以上の暗号命令からなる群をサポ
ートする。この入力情報はオペレーションコード、クリ
アおよび/または暗号キーパラメータ、平文データまた
は暗号文データ、等の形の暗号サービス要求を含むこと
が出来る。オペレーションコードすなわちOPコードは
CF4で行われるべき暗号命令をこの暗号命令群の内か
ら選ぶ。入力情報の他の部分はOPコードにより識別さ
れる暗号処理に用いられる制御またはデータパラメータ
である。この入力情報はOPコードおよびデータパラメ
ータを識別する、予定のフィールドと値をもつ構造化制
御ブロックの形でもよく、あるいは、CF4が暗号サー
ビス要求により選ばれた命令を実行するのに必要な入力
情報のすべてを受けてしまうまで入力チャンネル12を
介して個々のデータ項目として送られてもよい。
の入力チャンネル12の入力情報を一群の出力情報に変
換し、この出力情報はFAPI20の出力チャンネルに
もどされる。命令の実行はCF4の物理的な安全境界内
で完全に生じ、それ故平文の形の入力暗号化キーおよび
データそして他の中間的な結果に対し高い完全性と秘密
性を与える。
4は各暗号キーがその発生時にそれに割当てられた使用
属性と確実に一致するように用いられるようにする。ア
ーキテクチャ上、これら使用属性はキー暗号化キーと構
造化データ値とを結合することにより一つのキーに不可
分に関連づけられる。CF4の境界外に記憶されるとき
にそのキーを暗号化する。キーがCF4の境界外に記憶
されるときにはそのキーはこのキー暗号化キーにより暗
号化される。この構造化データ値は制御ベクトル(C
V)であり、これはキー発生時に定義された使用属性に
対応する所定の値のフィールド群を含む。キーのCV
(つまり使用属性)がCF4内で処理されることを確か
なものとするためにCF4で用いられる機構が、CVエ
ンフォースメントである。
として知られるCVエンフォースメントの方法を開示し
ている。制御ベクトル検査ではCF4は入力情報ブロッ
クとしてCF4に与えられる各CV内の種々のフィール
ドを検査するためにCF4内で記憶された固定の、ある
いは可変の、あるいはパラメータ化されたルール群を用
いる。与えられたCVの内容が要求された暗号命令に関
連する検査ルールを満たせばCF4はその要求された暗
号変換を許可する。これらCV内の1以上がルールを満
たさない場合にはその命令はアボートされる。各CVは
関連するキーに密着しているから、そしてそのキーを発
生させた正しいCVを特定することなしにはCF4内で
そのキーを回復しえないから、CV検査ルールを満たす
と共に暗号化キーの適正な内部回復をもたらす別のCV
をCF4に不法侵入者が与える機会はない。
ベクトルの値がCFAP6からCF4に与えられるので
はなく各命令呼出しにおいてパスされた入力情報の内容
にもとづきCF4により内部的に計算されるようになっ
ているCVエンフォースメントの他のモードを提案する
ものである。これらの方法はCVの一部あるいは多分す
べてをCF4の外に記憶し、かつFAPI20を通す必
要がないという利点を有している。その理由は、CVま
たはその一部分がCF4内部でとり出されるからであ
る。
報はFAPI20の入力チャンネル12を介してCF4
に入る。FAPI20は「通過」形インターフェースで
よく、あるいはこの入力情報をCF4の内部要素に受け
入れうる形に変換するのに必要なフォーマットおよびタ
イプ変換機能を行うものでよい。同様に、暗号サービス
要求を処理した結果を表わす出力情報はFAPI20の
出力チャンネル14を介してCF4からもどされる。F
APIはこの出力情報を、装置呼出しアクセスプログラ
ム(例えば図1のCFAP6)に対して受け入れ可能な
形に変換するのに必要なデータフォーマットおよびタイ
プ変換機能を行う。
御ベクトル発生手段32、キーソース手段34および暗
号変換手段36を含む。情報選択手段30は入力チャン
ネル12から入力情報を受ける。この入力情報はCF4
の命令レパートリィ内の、暗号変換手段36内で行われ
る複数の命令の内の1個を選択するオペレーションコー
ド(OPコード)またはトークン値からなる。更に、こ
の入力情報は次の内の1つ以上を含むことが出来る。
は他のキー暗号化キー)の関数(例えば排他−OR)で
あるキー暗号化キーおよび暗号化されたキーのタイプお
よび使用属性を定義する制御ベクトルにより暗号化され
る各平文キー ・制御ベクトル選択パラメータ ・他のプロセス特有のパラメータ。
々のパラメータを必要に応じてCF4の他の要素に方向
づける。このパラメータ選択及び方向づけはOPコード
のみに、あるいはOPコードと、一つの与えられたOP
コード内の処理オプションを更に定義するモードセレク
タのような他のプロセス特有のパラメータとにもとづい
ている。
36により用いられるべき制御ベクトルCを発生しある
いはとり出すものであり、そのベクトルに関連する暗号
キーKを処理する。制御ベクトル発生手段32はかくし
て本発明の関連するCVエンフォースメントの別方法を
行う。手段32はワーキングレジスタ38に記憶すべく
出力チャンネル48にその発生されたまたはとり出され
た制御ベクトルCを出力する。一般に、制御ベクトル発
生手段32は図3に示すようにワーキングレジスタ38
に記憶されるべき、順序を与えられた制御ベクトル群C
1,C2,…,Cnの形で複数の制御ベクトルを発生し
出力する。
使用されるべき暗号キー値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に関連づけられる。
キー出力セレクタ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)にセットする。
2の出力、すなわち順序をもつ制御ベクトルC1,…,
Cnの群は一群のワーキングレジスタ38内でキーソー
ス手段の出力すなわち順序づけられたn個のキー値K
1,…,Knと結合される。ワーキングレジスタ38の
内容はデータチャンネル46により暗号変換装置36に
送られる。情報選択手段30はOPコードと他の選択さ
れた入力情報をデータチャンネル42を介して暗号変換
手段36に送る。
た入力情報およびワーキングレジスタ38の内容を用い
てOPコードに関連した暗号サービスを行う。暗号処理
の結果は出力チャンネル14を介して出力情報の形で暗
号装置呼出しアクセスプログラム(例えば図1のCFA
P6)に出力される。これらの結果はまた次の命令呼出
しで用いるためにCF4内の記憶レジスタに記憶され
る。CF4の命令レパートリィ内の他の暗号命令は出力
を発生せず、それらの命令はCF4の処理形態を変える
のみである(例えばクリアクリプト装置命令であり、こ
れはCF4内のすべてのワーキングレジスタの内容をク
リアにする)。
々すなわち制御ベクトル発生手段32、キーソース手段
34、または暗号変換手段36に組込むことが出来る。
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に示す。
なわち発生法を示す。この発生法では制御ベクトル発生
手段32は情報選択手段30から入力チャンネル45を
介して入る選択された入力情報を受ける。この選択され
た入力情報は暗号装置により行われるべき特定のオペレ
ーション(すなわち命令)を識別するOPコード50を
含む。OPコード50と他の入力パラメータ52はサー
ビス要求変換手段70に与えられる。この手段70はO
Pコード50と他のパラメータ52を用いて一群のCV
発生パラメータ72を発生し、これらパラメータ72が
CV発生機能74に与えられる。機能74はこれら発生
パラメータを用いてワーキングレジスタ38に出力チャ
ンネル84を介して与えるべきCVまたは順序のついた
CV群を構成する。
はアルゴリズム手段を用いてOPコード50と他の入力
パラメータ52をCV発生パラメータ72に変換するこ
とが出来る。パラメータ72はCVフィールド名および
対応する値の、パラメータ化された高レベルのリストで
構成することが出来る。例えば次のようなものである。
フィールド値キーワード対を特定のCVフィールド位置
に変換して夫々の定義された対に関連する所定の意味に
もとづき2進コード化する。
に暗号サービス要求内に与えられるOPコード50と他
の入力パラメータ52にもとづきCVのスケルトンを構
成してもよい。サービス要求変換手段70はこのように
入力パラメータにより決まる値を有するCVフィールド
の限られた部分集合を初期化しうる。残りの、入力パラ
メータに対し依存性をもたないCVスケルトンのフィー
ルドはCV発生機能74で初期化される。そのような依
存性のないCVフィールドは予約フィールド(ゼロに初
期化される)、CVタイプには無関係に固定された位置
と値をもつフィールド(アンチバリアントビット等)、
および他のインプリメンテーション定数(拡張フィール
ド等)を含むことが出来る。
存機能とCV発生機能74のパラメータ非依存機能は制
御ベクトル発生手段32内で一つの要素に組合せること
が出来る。更に入力パラメータ52はオペレーションモ
ードパラメータ(例えばデフォールトDATA PRIVACYキー
ではなくDATA COMPAT-INTERNALキーを用いるようにENCI
PHER要求を制限するパラメータMODE='COMPAT')を含む
ことが出来る。入力パラメータ52はまたCVのスケル
トンまたは完全なCVを含むことが出来、それから制御
ベクトル発生手段32が暗号変換手段36での次の暗号
変換のためにワーキングレジスタ38に記憶するための
関連CVをとり出すことが出来る。
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ステートメント群に与えて、要
求された暗号変換に適用する一群の実行可能なステート
メントをアルゴリズム的に選択する。この場合、次のス
テートメントが選ばれて実行される。
る。これらコメントは等号の左側で変更される適用可能
なCVフィールドの名前と、フィールドがセットされつ
つあるニーモニック値をあげている。サービス要求変換
手段70は出力CVCの、入力パラメータおよびCVタ
イプに依存するフィールドを発生するように作用する
(この例における場合のように)。CV,C′のスケル
トンはサービス要求変換手段70から出る。図8および
図9は64ビットCVC′を8個の16進バイトとして
示している(「XX」は非定義または未知を示す)。
発生手段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として出力される。
ル索引法と同様に入力パラメータ(OPコード、モー
ド:等)から制御ベクトルを内部的に計算することを特
徴とする。しかしながらこの発生法ではCVのフィール
ドはアルゴリズム、またはテーブルまたは両者の組合せ
で動的に構成される。入力CVは付加的な機能的に関係
したCVを構成するためのテンプレートとしても用いら
れる。その例を図14および図15に示す。
の方法、すなわちフィールド固定法を示す。この方法は
一群のアルゴリズムまたはテーブル駆動のルールを用い
て一群の入力CV内の特定のフィールドを無効にし、そ
れにより処理に用いられたCVが所定の仕様に確実に適
合するようにする。ユーザが定義するフィールドのイン
プリメンテーションをサポートするために、このフィー
ルド固定法は、定義された仕様に合わせるために変更し
なければならない入力CVのフィールドを変更するだけ
である。他のすべてのフィールドは変更されずに通され
る。この方法はテーブル索引法および発生法とは異なっ
ており、CVが維持され、かつCF4に対し各暗号サー
ビス要求によりFAPI20を介してユーザにより与え
られるという点でCV検査(CV Checking)(前記米
国出願に示されている)に近いものである。この方法は
CV検査とは次の点で異なる。すなわち、CVフィール
ドの内容(例えばフィールドXYZが値B′101′を
有する)を検査するのではなく、CVフィールドに要求
される内容を強制的に含めさせる(フィールドXYZを
前の内容には無関係にB′101′にセットすることに
より)。暗号装置内でCVフィールドの内容を予定の値
に強制的にセットするプロセスを「フィールド固定」ま
たは単に「固定」と呼ぶ。
フィールド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に送られ
る。
ントのフィールド固定法の一例を示す。図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が満たすからである。
残りの、定義されないフィールドをセットするために一
連の、OPコードに依存しない固定ルールを実行する。
これらフィールドはすべての制御ベクトル(例えばアン
チバリアントビットの位置と値)またはすべての現イン
プリメンテーション内の制御ベクトル(例えば予約ビッ
トおよび拡張ビット)に共通の或る値を含む。固定フィ
ールド発生器B88の出力は制御ベクトルC″であり、
これはアジャストイーブンパリティ要素80に加えられ
る。この要素80の出力は偶数パリティに調整された制
御ベクトルC=X′00003C003F00000
0′であり、これは以降の暗号処理のためにワーキング
レジスタ38に記憶される。
=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内の
固定フィールドルールにより与えることが出来る。
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の命令に与えられる。
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内のそれらの位置に送られる。
こでの処理の流れを示す。キータイプIMPORTER(左半
分)(図5)についての入力制御ベクトルC1は対応す
るIMPORTER(右半分)CVC2をとり出すのに必要なキ
ーフォームビットで変換される。C2のキーフォームビ
ット以外のすべてのビットはC1のビットと同じであ
る。
更例は、暗号装置の外のユーザにより管理されるべき冗
長なCVの数が少なくなるという利点を有する。この方
法は、1つのCVが要求された暗号サービスを満足する
ように用いるべき付加CVにマッピングされるように固
定の関係(または制御ベクトル発生手段32に対し他の
入力パラメータ52でパラメータ化される関係)を有す
る任意のCVに適用しうる。
94が暗号装置の命令レパートリ内の夫々定義された命
令について一群の適用可能な制御ベクトルを含むCVエ
ンフォースメントのテーブル索引法の変更例を示す。命
令記憶手段94は一群の実行可能なルーチン用の記憶手
段を含み、各ルーチンは1個の暗号装置命令のすべてま
たは一部を処理するのに必要なコードを含む。暗号変換
手段36の命令プロセッサ96は、情報選択手段30
(図2)からチャンネル42を介して受けるOPコード
50に対応するルーチンコードを命令記憶手段94から
とり出して実行する。命令プロセッサ96はチャンネル
42を介して入る選ばれた入力情報内の他の処理パラメ
ータ52を用いて適正な実行可能なコードをとり出す。
行われる夫々の暗号命令について一群の予定の制御ベク
トルC1,…,Cnを含む。かくして、暗号サービス要
求の処理において用いるための1以上の制御ベクトルを
選択するという図2の制御ベクトル発生手段32の機能
は暗号変換手段36で行われる。各暗号命令についての
制御ベクトルはその命令に関連したコードブロック内に
テーブル形に記憶されあるいは命令記憶手段94内の共
通データブロック内で他のそのようなCVテーブルと共
にグルーブとされる。いずれの場合でも命令記憶手段9
4の実行可能な命令は、要求された暗号命令を処理する
に必要な夫々の制御ベクトルCi の位置に対するコード
化されたリファレンスを含む。これらコード化されたリ
ファレンスは命令記憶手段94に記憶された共通のCV
テーブルに対するインデクスの形をとるか、あるいは、
特定のOPコード50について命令プロセサ96により
とり出されて処理される、実行可能なコードブロック内
のデータ項目として組込まれたCVに対する直接メモリ
アドレスの形であってもよい。
ド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に与えるために用いられ
る。
引法の変更例は、暗号命令を処理するに必要な制御ベク
トルがその命令を行う実行可能コードと共に記憶される
という利点を有する。暗号装置のユーザは暗号サービス
の要求をなすとき命令に制御ベクトルを入れる必要はな
い。CVは要求されたOPコード50および他の入力パ
ラメータ52にもとづき命令プロセッサ96により選ば
れる。このように暗号装置に対するインターフェースは
簡略化される。更に、ユーザは暗号装置の外での制御ベ
クトルを管理から解放される。
て、制御ベクトル発生手段とキーソース手段が暗号装置
に与えられる入力情報にもとづき夫々1個の制御ベクト
ルCと暗号キーKを発生し、そしてこの制御ベクトル発
生手段がCVエンフォースメントの1以上の異なるモー
ドを行うごとくなっている。
装置に加えられる入力情報から複数の制御ベクトル−暗
号キー対(C,K)を発生すべく拡張されたブロック
図。
を示す図であって、キーソース手段が暗号サービス要求
において暗号装置に与えられる選ばれた入力情報からラ
ンダムキーを発生しあるいはキーを選択するごとくなっ
ている。
る選ばれた入力情報を制御ベクトル発生手段がマッピン
グする一群の制御ベクトルを示す図。
の選ばれた入力情報を用いてテーブルインデクスを計算
するようになったCVエンフォースメントの一方法を示
しており、このテーブルインデクスが暗号装置内の制御
ベクトルテーブルに記憶された制御ベクトル値をポイン
トし、かくして制御ベクトル発生手段が一群の予定の、
記憶された値から一つの制御ベクトルを選び出力するよ
うにする方法を示す図。
の選ばれた入力情報を用いて制御ベクトルを動的に発生
するようになったCVエンフォースメントの他の一方法
を示す図。
ものであり、DATA COMPAT-INTERNAL制御ベクトルが暗号
サービス要求内で選ばれた入力情報内の、暗号装置に与
えられる入力動作コードと動作モードパラメータにもと
づき発生されるようにしたものを示す第1部分の図。
部分の図。
受けて暗号サービス要求内で選択された入力情報内の、
暗号装置に加えられる入力動作コードと他の入力パラメ
ータとにもとづき一群のフィールドを所定の値に固定
(すなわちオーバレイ)されるようにしたCVエンフォ
ースメントの他の方法を示す図。
を図12および13と組合せて示すものであって、DATA
COMPAT - INTERNAL制御ベクトルがユーザ定義可能なフ
ィールドについての一群の使用属性を含む入力制御ベク
トルのスケルトンから発生されるようにしたものを示す
第1部分の図。
ド固定法を示す第2部分の図。
ド固定法を示す第3部分の図。
で暗号装置に加えられる入力制御ベクトルから内部的に
とり出されるようにしたCVエンフォースメントのCV
発生方法の他の実施例を図15と組合せて示すものであ
って、128ビットIMPORTER(キー暗号化)キーの右側
64ビットに関連する制御ベクトルがその128ビット
IMPORTERキーの右64ビットに関連した入力制御ベクト
ルから内部的にとり出されるようにした例を示す第1部
分の図。
第2部分の図。
ートリ内の夫々の暗号命令についての対応する一群の実
行可能コードを含む命令記憶手段に記憶された一群の所
定の値から選ばれるようにした、CVエンフォースメン
トのテーブル索引法の変更例を示す図。
ス(API) 20 装置アクセスプログラムインターフェース(FA
PI) 30 情報選択手段 32 制御ベクトル発生手段 34 キーソース手段 36 暗号変換手段 38 ワーキングレジスタ 40 出力チャンネル 44 入力チャンネル 54 乱数発生器 56 キー出力セレクタ
Claims (9)
- 【請求項1】暗号キーを用いて暗号動作を行う物理的に
安全保障された暗号装置を有し、該暗号装置の外部から
適用プログラムが暗号装置に対して暗号キーによる動作
のための暗号サービス要求を与え、該暗号キーは制御ベ
クトルに関連されており、該制御ベクトルの各々は予め
定義された値のフィールドを有し、該フィールドは関連
する暗号キーが実行することをそのオリジネータにより
許可された機能を定義するようになっているデータ処理
システムにおける、前記暗号装置内で暗号動作を行なう
装置であって、 暗号サービス要求を含む入力情報を受ける入力端を有
し、前記暗号サービス要求に応答して前記暗号装置内部
で制御ベクトルを発生し、その出力端に前記制御ベクト
ルを与える前記暗号装置内部の制御ベクトル発生手段
と、 暗号サービス要求を含む入力情報を受ける入力端を有
し、前記暗号サービス要求に応答して前記暗号装置内部
で前記制御ベクトルに関連づけられたキー値を発生し、
その出力端に前記キー値を与える前記暗号装置内部のキ
ー・ソース手段と、 前記入力情報を受ける第1入力端と、前記制御ベクトル
及び前記キー値を受ける第2入力端とを有し、前記制御
ベクトル及び前記関連するキー値を用いて前記入力情報
を出力情報に暗号的に変換するための前記暗号装置内部
の暗号変換装置とを備えた、暗号装置内で暗号動作を行
うための装置。 - 【請求項2】前記制御ベクトル発生手段は、 前記制御ベクトルを記憶する手段と、 前記暗号サービス要求に応じて前記制御ベクトル発生手
段の出力端を介して前記暗号変換装置に前記制御ベクト
ルを出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
作を行うための装置。 - 【請求項3】前記制御ベクトル発生手段は、 前記暗号サービス要求に関連したインデクス値によりア
クセス可能な制御ベクトルのテーブルを有する記憶装置
と、 前記記憶装置からアクセスされた制御ベクトルを前記暗
号サービス要求に応じて前記制御ベクトル発生手段から
前記暗号変換装置へ出力する手段と、 を更に含んでいる請求項1に記載の暗号装置内で暗号動
作を行うための装置。 - 【請求項4】前記制御ベクトル発生手段は、 前記暗号サービス要求に応じて前記暗号変換装置への出
力となる前記制御ベクトルを含む命令であって、要求さ
れた暗号サービスの実行のため前記暗号変換装置へ出力
されるべき命令を記憶するための命令記憶手段を更に含
んでいる請求項1に記載の暗号装置内で暗号動作を行う
ための装置。 - 【請求項5】前記制御ベクトル発生手段は、 暗号サービス要求を受けるための前記入力端に接続され
る入力端を有し、前記暗号サービス要求をそれに応じた
前記暗号変換装置への出力である制御ベクトルに変換す
るためのサービス要求変換手段を更に含んでいる請求項
1に記載の暗号装置内で暗号動作を行うための装置。 - 【請求項6】前記暗号サービス要求は所定の値をもつフ
ィールドを有する第1部分と可変の値をもつフィールド
を有する第2部分を有し、 前記制御ベクトル発生手段は、前記第1部分および第2
部分から一つの制御ベクトルを形成してその制御ベクト
ルをこの暗号サービス要求に応じて前記暗号変換装置に
出力する請求項1に記載の暗号装置内で暗号動作を行う
ための装置。 - 【請求項7】前記制御ベクトル発生手段は1組の予め定
義された制御ベクトルの中から制御ベクトルを選択し、
前記暗号サービス要求に応じて、選択された制御ベクト
ルを前記出力端に与える、 請求項1に記載の暗号装置内で暗号動作を行うための装
置。 - 【請求項8】前記制御ベクトル発生手段は前記1組の予
め定義された制御ベクトルをルックアップ・テーブルに
記憶している、 請求項7に記載の暗号装置内で暗号動作を行うための装
置。 - 【請求項9】前記入力情報はマスターキーと前記制御ベ
クトルの論理的組合せにより形成されるキーにより暗号
化される値を含んでいる請求項1に記載の暗号装置内で
暗号動作を行うための装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57401290A | 1990-08-22 | 1990-08-22 | |
US574012 | 1990-08-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04240888A JPH04240888A (ja) | 1992-08-28 |
JP2689998B2 true JP2689998B2 (ja) | 1997-12-10 |
Family
ID=24294324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3159632A Expired - Lifetime JP2689998B2 (ja) | 1990-08-22 | 1991-06-04 | 暗号動作を行う装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5432849A (ja) |
EP (1) | EP0471939B1 (ja) |
JP (1) | JP2689998B2 (ja) |
DE (1) | DE69130658T2 (ja) |
Families Citing this family (73)
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 |
US20050149450A1 (en) * | 1994-11-23 | 2005-07-07 | Contentguard Holdings, Inc. | System, method, and device for controlling distribution and use of digital works based on a usage rights grammar |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US5629980A (en) * | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
US7117180B1 (en) | 1994-11-23 | 2006-10-03 | Contentguard Holdings, Inc. | System for controlling the use of digital works using removable content repositories |
US6865551B1 (en) | 1994-11-23 | 2005-03-08 | Contentguard Holdings, Inc. | Removable content repositories |
GB9503738D0 (en) * | 1995-02-24 | 1995-04-19 | Int Computers Ltd | Cryptographic key management |
US5583939A (en) * | 1995-06-01 | 1996-12-10 | Chung N. Chang | Secure, swift cryptographic key exchange |
US5758562A (en) * | 1995-10-11 | 1998-06-02 | Schneider (Usa) Inc. | Process for manufacturing braided composite prosthesis |
JP2000503154A (ja) | 1996-01-11 | 2000-03-14 | エムアールジェイ インコーポレイテッド | デジタル所有権のアクセスと分配を制御するためのシステム |
US5933503A (en) * | 1996-03-15 | 1999-08-03 | Novell, Inc | Controlled modular cryptography apparatus and method |
US6581162B1 (en) * | 1996-12-31 | 2003-06-17 | Compaq Information Technologies Group, L.P. | Method for securely creating, storing and using encryption keys in a computer system |
US6233684B1 (en) * | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US5987130A (en) * | 1997-03-31 | 1999-11-16 | Chang; Chung Nan | Simiplified secure swift cryptographic key exchange |
US7325077B1 (en) * | 1997-08-21 | 2008-01-29 | Beryl Technical Assays Llc | Miniclient for internet appliance |
US6333983B1 (en) | 1997-12-16 | 2001-12-25 | International Business Machines Corporation | Method and apparatus for performing strong encryption or decryption data using special encryption functions |
US6308266B1 (en) * | 1998-03-04 | 2001-10-23 | Microsoft Corporation | System and method for enabling different grades of cryptography strength in a product |
US6532451B1 (en) | 1998-03-23 | 2003-03-11 | Novell, Inc. | Nested strong loader apparatus and method |
US6701433B1 (en) | 1998-03-23 | 2004-03-02 | Novell, Inc. | Method and apparatus for escrowing properties used for accessing executable modules |
US6751735B1 (en) | 1998-03-23 | 2004-06-15 | Novell, Inc. | Apparatus for control of cryptography implementations in third party applications |
US6615350B1 (en) | 1998-03-23 | 2003-09-02 | Novell, Inc. | Module authentication and binding library extensions |
US7068787B1 (en) | 1998-10-23 | 2006-06-27 | Contentguard Holdings, Inc. | System and method for protection of digital works |
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 |
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 |
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 |
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 |
US7206941B2 (en) * | 2000-08-28 | 2007-04-17 | Contentguard Holdings, Inc. | Method and apparatus for validating security components through a request for content |
US6931545B1 (en) * | 2000-08-28 | 2005-08-16 | Contentguard Holdings, Inc. | Systems and methods for integrity certification and verification of content consumption environments |
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 |
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 |
US20030220880A1 (en) * | 2002-01-17 | 2003-11-27 | Contentguard Holdings, Inc. | Networked services licensing system and method |
US7206765B2 (en) * | 2001-01-17 | 2007-04-17 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights based on rules |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
JP2004519763A (ja) | 2001-01-17 | 2004-07-02 | コンテントガード ホールディングズ インコーポレイテッド | ディジタルコンテンツと関連付けられた使用権を操作して、ディジタルコンテンツを管理するシステム及び方法 |
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 |
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 |
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 |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US7222104B2 (en) * | 2001-05-31 | 2007-05-22 | Contentguard Holdings, Inc. | Method and apparatus for transferring usage rights and digital work having transferrable usage rights |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
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 |
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 |
US7152046B2 (en) * | 2001-05-31 | 2006-12-19 | Contentguard Holdings, Inc. | Method and apparatus for tracking status of resource in a system for managing use of the resources |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US7774280B2 (en) * | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
AU2002305814B2 (en) | 2001-06-07 | 2004-06-10 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
WO2002101494A2 (en) * | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Protected content distribution system |
JP4787434B2 (ja) * | 2001-08-24 | 2011-10-05 | 富士通コンポーネント株式会社 | 暗号化方法、通信システム、データ入力装置 |
US7274792B2 (en) * | 2002-08-09 | 2007-09-25 | Broadcom Corporation | Methods and apparatus for initialization vector processing |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7458102B2 (en) * | 2004-08-17 | 2008-11-25 | Emc Corporation | Information security architecture for remote access control using non-bidirectional protocols |
US7438078B2 (en) * | 2005-08-05 | 2008-10-21 | Peter Woodruff | Sleeping bag and system |
US8356178B2 (en) * | 2006-11-13 | 2013-01-15 | Seagate Technology Llc | Method and apparatus for authenticated data storage |
JP5277576B2 (ja) * | 2007-07-18 | 2013-08-28 | 株式会社リコー | 情報処理装置、暗号処理プログラム |
JP2009027525A (ja) * | 2007-07-20 | 2009-02-05 | Nec Corp | 光伝送システムおよび光伝送方法 |
US8953789B2 (en) | 2011-06-01 | 2015-02-10 | International Business Machines Corporation | Combining key control information in common cryptographic architecture services |
FR2980285B1 (fr) * | 2011-09-15 | 2013-11-15 | Maxim Integrated Products | Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise |
US9252944B2 (en) | 2014-03-21 | 2016-02-02 | International Business Machines Corporation | Key wrapping for common cryptographic architecture (CCA) key token |
US9607159B2 (en) * | 2014-12-10 | 2017-03-28 | International Business Machines Corporation | Intelligent key selection and generation |
Family Cites Families (11)
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 |
-
1991
- 1991-06-04 JP JP3159632A patent/JP2689998B2/ja not_active Expired - Lifetime
- 1991-06-18 DE DE69130658T patent/DE69130658T2/de not_active Expired - Lifetime
- 1991-06-18 EP EP91109953A patent/EP0471939B1/en not_active Expired - Lifetime
-
1993
- 1993-08-10 US US08/103,953 patent/US5432849A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0471939A2 (en) | 1992-02-26 |
DE69130658D1 (de) | 1999-02-04 |
DE69130658T2 (de) | 1999-07-22 |
EP0471939B1 (en) | 1998-12-23 |
EP0471939A3 (en) | 1992-06-03 |
JPH04240888A (ja) | 1992-08-28 |
US5432849A (en) | 1995-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2689998B2 (ja) | 暗号動作を行う装置 | |
US5081677A (en) | Crypotographic key version control facility | |
US6333983B1 (en) | Method and apparatus for performing strong encryption or decryption 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 | |
EP0002579A1 (en) | A method of creating a secure data file | |
US20030084308A1 (en) | Memory encryption | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
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 | |
US20210240863A1 (en) | Integrated circuit configured to perform symmetric encryption operatoins with secret key protection | |
KR101999209B1 (ko) | 가상 함수 테이블 포인터 암호화 시스템 및 그 방법 | |
EP0356065B1 (en) | Secure management of keys using control vectors | |
US20130058487A1 (en) | Method of building optional blocks | |
US20120311324A1 (en) | Method of mapping key information | |
JP2003333036A (ja) | メッセージ認証装置、メッセージ認証方法とメッセージ認証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体 | |
EP3930254B1 (en) | Method for setting permissions for cryptographic keys, computer program and cryptographic processing system | |
JP2000076144A (ja) | 論理回路、マイクロコンピュータ、および論理回路・記憶回路間の通信方法 | |
Costa et al. | Integrity: An Object-relational Framework for Data Security. | |
JPH0744375A (ja) | 暗号化データ処理装置 | |
EP0993143A1 (en) | Processing method and apparatus for converting information from a first format into a second format |
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 |