JPH087528B2 - 暗号処理装置及び方法 - Google Patents
暗号処理装置及び方法Info
- Publication number
- JPH087528B2 JPH087528B2 JP3167079A JP16707991A JPH087528B2 JP H087528 B2 JPH087528 B2 JP H087528B2 JP 3167079 A JP3167079 A JP 3167079A JP 16707991 A JP16707991 A JP 16707991A JP H087528 B2 JPH087528 B2 JP H087528B2
- Authority
- JP
- Japan
- Prior art keywords
- master key
- key
- version number
- register
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
【0001】
【産業上の利用分野】本発明は汎用コンピュータの内部
における暗号の利用に関するものである。より詳しく
は、本発明はデータ暗号化アルゴリズムを用いて他のキ
ーを暗号化する際に使用するマスター・キーを変更する
ためのマスター・キー変更法に関するものである。
における暗号の利用に関するものである。より詳しく
は、本発明はデータ暗号化アルゴリズムを用いて他のキ
ーを暗号化する際に使用するマスター・キーを変更する
ためのマスター・キー変更法に関するものである。
【0002】
【従来の技術】ファイル、プログラム、ハードウェア等
のシステム資源をコンピュータの複数のエンド・ユーザ
の間で共用するということが行なわれているが、エンド
・ユーザ数が増加するにつれて、また更に分散システム
又は遠隔通信の利用が進むにつれて、より大規模でより
複雑なコンピュータをベースにした情報システムが作ら
れるようになってきている。その種のシステムにおいて
は、安全性の手段が何ら講じられていない通信線を介し
て機密データを送信しなければならないこともあり、し
かもその送信量が増大してきている。通信線が安全な状
態にないことから、制御された環境又は保護された環境
の外部において伝送せざるを得ない機密データに関して
は、盗聴又は改竄に対する懸念が高まっており、また機
密データは、それを余りに長期に亙って保持していると
外部に知られてしまうおそれがあるということも懸念さ
れている。データの安全性のための手段として、暗号方
式が有効であることが認識されており、その理由は暗号
方式ではデータを送信するための媒体やデータを記憶さ
せておく媒体を防護するのではなく、データそのものを
防護するからである。
のシステム資源をコンピュータの複数のエンド・ユーザ
の間で共用するということが行なわれているが、エンド
・ユーザ数が増加するにつれて、また更に分散システム
又は遠隔通信の利用が進むにつれて、より大規模でより
複雑なコンピュータをベースにした情報システムが作ら
れるようになってきている。その種のシステムにおいて
は、安全性の手段が何ら講じられていない通信線を介し
て機密データを送信しなければならないこともあり、し
かもその送信量が増大してきている。通信線が安全な状
態にないことから、制御された環境又は保護された環境
の外部において伝送せざるを得ない機密データに関して
は、盗聴又は改竄に対する懸念が高まっており、また機
密データは、それを余りに長期に亙って保持していると
外部に知られてしまうおそれがあるということも懸念さ
れている。データの安全性のための手段として、暗号方
式が有効であることが認識されており、その理由は暗号
方式ではデータを送信するための媒体やデータを記憶さ
せておく媒体を防護するのではなく、データそのものを
防護するからである。
【0003】暗号方式は、平文と呼んでいるメッセージ
・データを暗号化してそれを暗号文と呼んでいる理解困
難なデータへ変換するための方法及び暗号文を解読して
平文に戻すための方法に関するものである。暗号化/解
読のための変換処理を実行する際には、暗号キーに従っ
て制御されるようにした暗号関数又は暗号アルゴリズム
を用いるようにしている。暗号キーは、それを使用する
ことによって平文と暗号文との間の可能なあり得る多く
の関係の中から、1つの関係を選択するものである。従
来技術においては、データ処理システムの中のデータの
安全性を強化するための多種多様なアルゴリズムが開発
されている。それらのアルゴリズムのうちの幾つかを例
示するならば、1974年3月12日発行の米国特許第
3796830号に記載されているものや1974年3
月19日発行の米国特許第3798359号に記載され
ているものがある。また、更に別のより新しいデータ処
理システムにおけるデータの安全性のためのアルゴリズ
ムとして、1976年5月18日発行の米国特許第39
58081号に記載されているものがある。この米国特
許のアルゴリズムは、米国規格基準局によってデータ暗
号処理規格アルゴリズム(data encryption standard a
lgorithm: DESアルゴリズム)として採用されたもの
であり、連邦情報処理規格公報の1977年1月15日
号(FIPS−PUB−46)に記載されている。
・データを暗号化してそれを暗号文と呼んでいる理解困
難なデータへ変換するための方法及び暗号文を解読して
平文に戻すための方法に関するものである。暗号化/解
読のための変換処理を実行する際には、暗号キーに従っ
て制御されるようにした暗号関数又は暗号アルゴリズム
を用いるようにしている。暗号キーは、それを使用する
ことによって平文と暗号文との間の可能なあり得る多く
の関係の中から、1つの関係を選択するものである。従
来技術においては、データ処理システムの中のデータの
安全性を強化するための多種多様なアルゴリズムが開発
されている。それらのアルゴリズムのうちの幾つかを例
示するならば、1974年3月12日発行の米国特許第
3796830号に記載されているものや1974年3
月19日発行の米国特許第3798359号に記載され
ているものがある。また、更に別のより新しいデータ処
理システムにおけるデータの安全性のためのアルゴリズ
ムとして、1976年5月18日発行の米国特許第39
58081号に記載されているものがある。この米国特
許のアルゴリズムは、米国規格基準局によってデータ暗
号処理規格アルゴリズム(data encryption standard a
lgorithm: DESアルゴリズム)として採用されたもの
であり、連邦情報処理規格公報の1977年1月15日
号(FIPS−PUB−46)に記載されている。
【0004】
【発明が解決しようとする課題】安全性を保つようにし
た暗号処理システムにおいて重要なことは、機密保護機
構の外部にキーが暴露されることがあってはならないと
いうことである。しかしながら通常は全てのキーを機密
保護機構の内部に閉じ込めて外部に出さないようにする
ということは、実際的でないためそうする代わりにそれ
らのキーを更にマスター・キーで暗号化するようにして
いる。これによって、機密保護機構の内部に閉じ込めて
おかねばならないキーはそのマスター・キーだけとな
る。また、そのようにしたシステムではそのマスター・
キーを定期的に変更するようになっており、その際には
通常の処理動作を甚だしく中断することなくマスター・
キーの変更が行なえるようにしておく必要がある。
た暗号処理システムにおいて重要なことは、機密保護機
構の外部にキーが暴露されることがあってはならないと
いうことである。しかしながら通常は全てのキーを機密
保護機構の内部に閉じ込めて外部に出さないようにする
ということは、実際的でないためそうする代わりにそれ
らのキーを更にマスター・キーで暗号化するようにして
いる。これによって、機密保護機構の内部に閉じ込めて
おかねばならないキーはそのマスター・キーだけとな
る。また、そのようにしたシステムではそのマスター・
キーを定期的に変更するようになっており、その際には
通常の処理動作を甚だしく中断することなくマスター・
キーの変更が行なえるようにしておく必要がある。
【0005】マスター・キーを変更するための処理動作
は、複数のステップから成る処理動作である。そこで、
それら複数のステップの集合体のことを変更プロセスと
呼んでいる。また、その変更プロセスの実行期間中の新
たなマスター・キーが有効になる瞬間を、スイッチオー
バーと呼んでいる。
は、複数のステップから成る処理動作である。そこで、
それら複数のステップの集合体のことを変更プロセスと
呼んでいる。また、その変更プロセスの実行期間中の新
たなマスター・キーが有効になる瞬間を、スイッチオー
バーと呼んでいる。
【0006】変更プロセスの処理の一部として以前のマ
スター・キーで暗号化しているキーを新たなマスター・
キーで暗号化したキーへと変換する処理(暗号化更新処
理)を行なう必要がある。この変換を可能とするために
は、機密保護機構の内部において以前のマスター・キー
と新たなマスター・キーとの両方を同時に利用可能とし
ておく必要がある。また、変更プロセスはそのうちのあ
る部分はスイッチオーバー以前に実行し、別の部分はス
イッチオーバー以後に実行する。スイッチオーバー以前
には、この変更プロセスに関わる2つのマスター・キー
は夫々現行マスター・キー及び新マスター・キーと呼ば
れている。スイッチオーバー以後には、それらは夫々旧
マスター・キー及び現行マスター・キーと呼ばれるよう
になる。
スター・キーで暗号化しているキーを新たなマスター・
キーで暗号化したキーへと変換する処理(暗号化更新処
理)を行なう必要がある。この変換を可能とするために
は、機密保護機構の内部において以前のマスター・キー
と新たなマスター・キーとの両方を同時に利用可能とし
ておく必要がある。また、変更プロセスはそのうちのあ
る部分はスイッチオーバー以前に実行し、別の部分はス
イッチオーバー以後に実行する。スイッチオーバー以前
には、この変更プロセスに関わる2つのマスター・キー
は夫々現行マスター・キー及び新マスター・キーと呼ば
れている。スイッチオーバー以後には、それらは夫々旧
マスター・キー及び現行マスター・キーと呼ばれるよう
になる。
【0007】キーの暗号化更新処理にはかなりの時間が
かかるため、スイッチオーバー以前にできるだけ多くの
キーの変換を完了しておくことが望ましい。例えばIB
M社のMVS/SP等のシステムでは、そのシステムの
中の変換を必要とする複数のキーのうちの大部分を暗号
キー・データ・セット(cryptographic key data set:
CKDS)と呼ぶ特別のデータ・セットの中に入れて置
くようにしている。そして、CKDSに入れてあるそれ
らキーについては、マスター・キーの変更の直前にバッ
チ処理方式で新しいバージョンのCKDSへと暗号化更
新することができるようにしてある。しかしながら、全
てのキーをCKDSの中に保持しているわけではなく、
またアプリケーション・プログラムの中にはCKDSの
エントリの古いコピーを保持しているものがある可能性
もある。それらのキーが置かれている位置を同定するこ
とは容易でないため、それらのキー変換はスイッチオー
バー以後に行なわざるを得ない。
かかるため、スイッチオーバー以前にできるだけ多くの
キーの変換を完了しておくことが望ましい。例えばIB
M社のMVS/SP等のシステムでは、そのシステムの
中の変換を必要とする複数のキーのうちの大部分を暗号
キー・データ・セット(cryptographic key data set:
CKDS)と呼ぶ特別のデータ・セットの中に入れて置
くようにしている。そして、CKDSに入れてあるそれ
らキーについては、マスター・キーの変更の直前にバッ
チ処理方式で新しいバージョンのCKDSへと暗号化更
新することができるようにしてある。しかしながら、全
てのキーをCKDSの中に保持しているわけではなく、
またアプリケーション・プログラムの中にはCKDSの
エントリの古いコピーを保持しているものがある可能性
もある。それらのキーが置かれている位置を同定するこ
とは容易でないため、それらのキー変換はスイッチオー
バー以後に行なわざるを得ない。
【0008】暗号キーの利用を制御するための方法とし
て「制御ベクトル」方式がある。この方式を記載したも
のとしては、1990年5月8日発行のS・M・マチャ
スら(S. M. Matyas et al. )による米国特許第492
4514号、同じく1990年5月8日発行のS・M・
マチャスら(S. M. Matyas et al. )による米国特許第
4924515号、また1990年4月17日発行のD
・エイブラハムら(D.Abraham et al. )による米国特
許第4918728号、それにS・M・マチャスら(S.
M. Matyas et al. )による米国特許第4941176
号があり、これらの米国特許はいずれも本願の出願人に
譲渡されているものである。
て「制御ベクトル」方式がある。この方式を記載したも
のとしては、1990年5月8日発行のS・M・マチャ
スら(S. M. Matyas et al. )による米国特許第492
4514号、同じく1990年5月8日発行のS・M・
マチャスら(S. M. Matyas et al. )による米国特許第
4924515号、また1990年4月17日発行のD
・エイブラハムら(D.Abraham et al. )による米国特
許第4918728号、それにS・M・マチャスら(S.
M. Matyas et al. )による米国特許第4941176
号があり、これらの米国特許はいずれも本願の出願人に
譲渡されているものである。
【0009】
【課題を解決するための手段】本発明はマスター・キー
を用いる暗号処理機構を利用するようにしたプログラム
と、その暗号処理機構の中に設定されるマスター・キー
とを整合させることができるようにし、しかもシステム
の動作を中断させることなくマスター・キーの変更を行
なえるようにする手段を提供するものである。
を用いる暗号処理機構を利用するようにしたプログラム
と、その暗号処理機構の中に設定されるマスター・キー
とを整合させることができるようにし、しかもシステム
の動作を中断させることなくマスター・キーの変更を行
なえるようにする手段を提供するものである。
【0010】動作について説明すると、このマスター・
キー変更処理は次のステップから成るものである。
キー変更処理は次のステップから成るものである。
【0011】1.最初に、新マスター・キーの値を機密
保護機構へ入力する。この入力は通常は幾つかの部分に
分けて行なうようにし、機密保護機構の内部において、
それら複数の部分の間の排他的ORを取るようにする。
それら複数の部分の各々を夫々異なった個人に入力させ
るようにすれば、誰もそのキー全体を知らないようにす
ることができる。
保護機構へ入力する。この入力は通常は幾つかの部分に
分けて行なうようにし、機密保護機構の内部において、
それら複数の部分の間の排他的ORを取るようにする。
それら複数の部分の各々を夫々異なった個人に入力させ
るようにすれば、誰もそのキー全体を知らないようにす
ることができる。
【0012】2.新マスター・キーの複数の部分の全て
の入力が完了し、そしてそれら部分の結合が完了したな
らば、制御プログラムはその新マスター・キーに対応し
た許可用パターンと検証用パターンとを算出し、それら
を将来の使用に備えてセーブする。許可用パターンはパ
スワードと同様に使用するものであるため機密にしてお
かねばならない。一方、検証用パターンは氏名と同様に
使用するものであるため機密にしておく必要はない。こ
れら両パターンはいずれも新マスター・キーから「一方
向関数」を用いて導出するようにしている。これら2つ
のパターンの相違はそれらの利用の仕方にあるのであっ
てそれらの導出の仕方にあるのではない。
の入力が完了し、そしてそれら部分の結合が完了したな
らば、制御プログラムはその新マスター・キーに対応し
た許可用パターンと検証用パターンとを算出し、それら
を将来の使用に備えてセーブする。許可用パターンはパ
スワードと同様に使用するものであるため機密にしてお
かねばならない。一方、検証用パターンは氏名と同様に
使用するものであるため機密にしておく必要はない。こ
れら両パターンはいずれも新マスター・キーから「一方
向関数」を用いて導出するようにしている。これら2つ
のパターンの相違はそれらの利用の仕方にあるのであっ
てそれらの導出の仕方にあるのではない。
【0013】3.次に制御プログラムはバッチ処理方式
でキー変換処理を実行する。このとき、現行CKDSの
中の全てのエントリを変換する。この変換の結果は新C
KDSの中に入れるようにする。
でキー変換処理を実行する。このとき、現行CKDSの
中の全てのエントリを変換する。この変換の結果は新C
KDSの中に入れるようにする。
【0014】4.次に、スイッチオーバーを実行する。
このスイッチオーバーは制御プログラムが新マスター・
キーを稼動状態へ移行させることによって行なう。これ
によって現行マスター・キー・レジスタの内容が旧マス
ター・キー・レジスタの中へ複写され、新マスター・キ
ー・レジスタの内容が現行マスター・キー・レジスタの
中へ複写され、そして新マスター・キー・レジスタの内
容がクリアされる。更には、この稼動状態へ移行させる
命令に伴ってマスター・キー・バージョン番号レジスタ
の更新も行なう。この更新は通常、制御プログラムによ
ってマスター・キー・バージョン番号が「1」だけイン
クリメントされるようにしておく。
このスイッチオーバーは制御プログラムが新マスター・
キーを稼動状態へ移行させることによって行なう。これ
によって現行マスター・キー・レジスタの内容が旧マス
ター・キー・レジスタの中へ複写され、新マスター・キ
ー・レジスタの内容が現行マスター・キー・レジスタの
中へ複写され、そして新マスター・キー・レジスタの内
容がクリアされる。更には、この稼動状態へ移行させる
命令に伴ってマスター・キー・バージョン番号レジスタ
の更新も行なう。この更新は通常、制御プログラムによ
ってマスター・キー・バージョン番号が「1」だけイン
クリメントされるようにしておく。
【0015】5.残りのキーはスイッチオーバー移行後
に最初にそのキーを使用したときに変換を施すようにす
る。
に最初にそのキーを使用したときに変換を施すようにす
る。
【0016】アプリケーション・プログラムがキーの生
成を要求してきたときには、生成して更にマスター・キ
ーで暗号化したキーと、暗号化に使用したそのマスター
・キーに対応した検証用パターンとを含んだキー・トー
クンをそのアプリケーション・プログラムへ返すように
している。そのアプリケーション・プログラムは、後刻
暗号処理機構の暗号処理演算を求める要求を発する際に
は、そのキー・トークンを暗号処理機構が利用できるよ
うに送出する。暗号処理機構は送られてきたそのキー・
トークンを用いて、そのキー・トークンの中のキーの暗
号化に使用したマスター・キーのバージョン番号を求め
る。更に、暗号処理機構はこうして求めたその要求に関
するバージョン番号と、現行マスター・キーのバージョ
ン番号とを比較し、それらが一致していなかったならば
例外判定を発生する。
成を要求してきたときには、生成して更にマスター・キ
ーで暗号化したキーと、暗号化に使用したそのマスター
・キーに対応した検証用パターンとを含んだキー・トー
クンをそのアプリケーション・プログラムへ返すように
している。そのアプリケーション・プログラムは、後刻
暗号処理機構の暗号処理演算を求める要求を発する際に
は、そのキー・トークンを暗号処理機構が利用できるよ
うに送出する。暗号処理機構は送られてきたそのキー・
トークンを用いて、そのキー・トークンの中のキーの暗
号化に使用したマスター・キーのバージョン番号を求め
る。更に、暗号処理機構はこうして求めたその要求に関
するバージョン番号と、現行マスター・キーのバージョ
ン番号とを比較し、それらが一致していなかったならば
例外判定を発生する。
【0017】この例外判定の発生によって暗号処理サポ
ート・プログラムはそのキーがまだ変換されていないこ
とを知らされる。この場合、暗号処理サポート・プログ
ラムはそのキーの変換を行ない、この変換キーを使用
し、そしてその変換キーを将来の使用に備えてアプリケ
ーション・プログラムへ返す。これらを実行したなら
ば、暗号処理サポート・プログラムは今度は現行バージ
ョン番号の下でしかも適切に暗号化したキーを使用し
て、最初に受け取った命令の実行に再び取りかかること
ができる。このようにすることによって、システムのマ
スター・キーの値をアプリケーション・プログラムに対
して暴露することなく、しかも活動中の暗号処理機能を
中断することなく、そのマスター・キーを変更すること
が可能となる。
ート・プログラムはそのキーがまだ変換されていないこ
とを知らされる。この場合、暗号処理サポート・プログ
ラムはそのキーの変換を行ない、この変換キーを使用
し、そしてその変換キーを将来の使用に備えてアプリケ
ーション・プログラムへ返す。これらを実行したなら
ば、暗号処理サポート・プログラムは今度は現行バージ
ョン番号の下でしかも適切に暗号化したキーを使用し
て、最初に受け取った命令の実行に再び取りかかること
ができる。このようにすることによって、システムのマ
スター・キーの値をアプリケーション・プログラムに対
して暴露することなく、しかも活動中の暗号処理機能を
中断することなく、そのマスター・キーを変更すること
が可能となる。
【0018】従って本発明の目的は動作を中断すること
のない優れたマスター・キー変更法を提供することにあ
る。
のない優れたマスター・キー変更法を提供することにあ
る。
【0019】本発明の更なる目的はマスター・キー変更
の際のインテグリティを優れたものとすることにある。
の際のインテグリティを優れたものとすることにある。
【0020】本発明の更なる目的はシステムの暗号処理
機構の機能を利用する権利を規制するための機構を提供
することにある。
機構の機能を利用する権利を規制するための機構を提供
することにある。
【0021】
【実施例】図1は本発明が動作するための動作環境を示
したものである。システム101は暗号処理機構102
を含んでいる。この暗号処理機構102はデータの暗号
化又は復号化等の暗号処理演算を安全に実行できるよう
にしたものであり、またその暗号処理演算を実行する際
には、暗号変換アルゴリズム機能を持たせたエンジン1
03を使用するようにしている。この場合の暗号変換ア
ルゴリズムは例えば米国規格基準局のDESアルゴリズ
ム等である(このアルゴリズムは1977年1月15日
付の米国連邦情報処理規格公報(FIPS公報第46
号)に記載されている)。暗号処理機構102はこのD
ESエンジン103に加えて更に演算論理機構(AL
U)113を含んでいる。このALU113は必要なデ
ータ移動を行なう際に使用するものであると共に、暗号
処理機構102から付与される種々の作業を実行する上
で必要な論理演算を実行するためにも使用する。このA
LU113には暗号処理機構102の中央データ流れ制
御装置として機能を持たせてある。この暗号処理機構1
02の中では情報の流れは、先ずその情報をゲーティン
グしてALU113の中へ入れ、その後にこのALU1
13の出力をゲーティングして暗号処理機構102の中
の任意のレジスタへ出力するという経路を取るようにし
ている。また、この暗号処理アルゴリズムは機密のキー
を使用してその動作を制御するものとしてある。即ち、
暗号化演算及び復号化演算を実行させるためには然るべ
き情報をALU113を通してデータ・レジスタ114
とキー・レジスタ115の夫々の入力部へ転送し、更に
それらのレジスタからDESエンジン103へ転送す
る。そしてこのDESエンジン103の演算結果をAL
U113を通してゲーティングして、この暗号処理機構
102の中の然るべきレジスタへ転送するようにしてい
る。
したものである。システム101は暗号処理機構102
を含んでいる。この暗号処理機構102はデータの暗号
化又は復号化等の暗号処理演算を安全に実行できるよう
にしたものであり、またその暗号処理演算を実行する際
には、暗号変換アルゴリズム機能を持たせたエンジン1
03を使用するようにしている。この場合の暗号変換ア
ルゴリズムは例えば米国規格基準局のDESアルゴリズ
ム等である(このアルゴリズムは1977年1月15日
付の米国連邦情報処理規格公報(FIPS公報第46
号)に記載されている)。暗号処理機構102はこのD
ESエンジン103に加えて更に演算論理機構(AL
U)113を含んでいる。このALU113は必要なデ
ータ移動を行なう際に使用するものであると共に、暗号
処理機構102から付与される種々の作業を実行する上
で必要な論理演算を実行するためにも使用する。このA
LU113には暗号処理機構102の中央データ流れ制
御装置として機能を持たせてある。この暗号処理機構1
02の中では情報の流れは、先ずその情報をゲーティン
グしてALU113の中へ入れ、その後にこのALU1
13の出力をゲーティングして暗号処理機構102の中
の任意のレジスタへ出力するという経路を取るようにし
ている。また、この暗号処理アルゴリズムは機密のキー
を使用してその動作を制御するものとしてある。即ち、
暗号化演算及び復号化演算を実行させるためには然るべ
き情報をALU113を通してデータ・レジスタ114
とキー・レジスタ115の夫々の入力部へ転送し、更に
それらのレジスタからDESエンジン103へ転送す
る。そしてこのDESエンジン103の演算結果をAL
U113を通してゲーティングして、この暗号処理機構
102の中の然るべきレジスタへ転送するようにしてい
る。
【0022】データの暗号化処理に使用する夫々のキー
は暗号キー・データ・セット(Crypto Key Data Set:C
KDS)104の中に暗号化した形で保持してある。そ
れらのキーはこのデータ・セット104に保持されてい
るときにはそれらのキー自身がこのシステムのマスター
・キー(MK)によって暗号化されており、このマスタ
ー・キーはキー入力装置105からキー記憶装置106
を介して安全な暗号処理機構102へ入力されるように
してある。図示の好適実施例では先に言及した制御ベク
トル法を用いてキーの分離を行なっているため制御ベク
トル・テーブル107の中に必要な複数の制御ベクトル
を保持してある。それらの制御ベクトルはマスター・キ
ーとの間で排他的ORを取るためのものであり、DES
エンジン103が使用するものである。後の説明によっ
て明らかとなる理由により新たに入力したマスター・キ
ーはすぐには稼動状態のマスター・キーとはせず、その
前に一時的にマスター・キー・アレイ108の中の新マ
スター・キー・レジスタ(NMKレジスタ)の中に保持
するようにしている。そして、その新たに入力したマス
ター・キーを稼動状態へ移行させるには後述するセット
・マスター・キー命令(SMK命令)を用いて同じマス
ター・キー・アレイ108の領域内の稼動中マスター・
キー・レジスタの中へ移動させるようにする。更にこの
時点で(この時点を「カットオーバー」又は「スイッチ
オーバー」と呼ぶ)それまで稼働中マスター・キーであ
ったマスター・キーをキー・レジスタ・アレイ108の
中の旧マスター・キー・レジスタ(OMKレジスタ)へ
移す。続いて、現行マスター・キーに関連づけてバージ
ョン番号を発生してそれをマスター・キー・バージョン
番号レジスタ(MKVNレジスタ)110に記憶する。
通常の暗号処理演算を実行する際にはその動作の一部と
して参照マスター・キー・バージョン番号(RMKV
N)109がソース・オペランド118と共に、暗号処
理機構102へ転送されてくるのでその参照マスター・
キー・バージョン番号109をこのマスター・キー・バ
ージョン番号レジスタ110の内容と比較する。この比
較はマスター・キー・バージョン番号比較回路117で
行なう。更にこれと共に、その参照マスター・キー・バ
ージョン番号109と「0」との間の比較も行なう。こ
の比較はゼロ試験回路119で行なう。そして、その参
照マスター・キー・バージョン番号が「0」であるか、
またはその参照マスター・キー・バージョン番号がこの
マスター・キー・バージョン番号レジスタ110の内容
と一致していないかのいずれの場合にも、その通常暗号
処理演算を拒絶するようにしている。
は暗号キー・データ・セット(Crypto Key Data Set:C
KDS)104の中に暗号化した形で保持してある。そ
れらのキーはこのデータ・セット104に保持されてい
るときにはそれらのキー自身がこのシステムのマスター
・キー(MK)によって暗号化されており、このマスタ
ー・キーはキー入力装置105からキー記憶装置106
を介して安全な暗号処理機構102へ入力されるように
してある。図示の好適実施例では先に言及した制御ベク
トル法を用いてキーの分離を行なっているため制御ベク
トル・テーブル107の中に必要な複数の制御ベクトル
を保持してある。それらの制御ベクトルはマスター・キ
ーとの間で排他的ORを取るためのものであり、DES
エンジン103が使用するものである。後の説明によっ
て明らかとなる理由により新たに入力したマスター・キ
ーはすぐには稼動状態のマスター・キーとはせず、その
前に一時的にマスター・キー・アレイ108の中の新マ
スター・キー・レジスタ(NMKレジスタ)の中に保持
するようにしている。そして、その新たに入力したマス
ター・キーを稼動状態へ移行させるには後述するセット
・マスター・キー命令(SMK命令)を用いて同じマス
ター・キー・アレイ108の領域内の稼動中マスター・
キー・レジスタの中へ移動させるようにする。更にこの
時点で(この時点を「カットオーバー」又は「スイッチ
オーバー」と呼ぶ)それまで稼働中マスター・キーであ
ったマスター・キーをキー・レジスタ・アレイ108の
中の旧マスター・キー・レジスタ(OMKレジスタ)へ
移す。続いて、現行マスター・キーに関連づけてバージ
ョン番号を発生してそれをマスター・キー・バージョン
番号レジスタ(MKVNレジスタ)110に記憶する。
通常の暗号処理演算を実行する際にはその動作の一部と
して参照マスター・キー・バージョン番号(RMKV
N)109がソース・オペランド118と共に、暗号処
理機構102へ転送されてくるのでその参照マスター・
キー・バージョン番号109をこのマスター・キー・バ
ージョン番号レジスタ110の内容と比較する。この比
較はマスター・キー・バージョン番号比較回路117で
行なう。更にこれと共に、その参照マスター・キー・バ
ージョン番号109と「0」との間の比較も行なう。こ
の比較はゼロ試験回路119で行なう。そして、その参
照マスター・キー・バージョン番号が「0」であるか、
またはその参照マスター・キー・バージョン番号がこの
マスター・キー・バージョン番号レジスタ110の内容
と一致していないかのいずれの場合にも、その通常暗号
処理演算を拒絶するようにしている。
【0023】暗号処理演算を行なった場合、その処理結
果を返すためにはその処理結果の情報をゲーティング
し、ALU113を通して出力レジスタ116へ転送す
るようにする。またその際にはALU113の中で必要
な制御ベクトル107とマスター・キー・アレイ108
の中のマスター・キーとの間の排他的ORを取るように
している。
果を返すためにはその処理結果の情報をゲーティング
し、ALU113を通して出力レジスタ116へ転送す
るようにする。またその際にはALU113の中で必要
な制御ベクトル107とマスター・キー・アレイ108
の中のマスター・キーとの間の排他的ORを取るように
している。
【0024】この暗号処理機構102の管理は暗号処理
サポート・プログラム111に行なわせており、この暗
号処理サポート・プログラム111には更にCKDS1
04の管理も併せて行なわせている。更にまたこの暗号
処理サポート・プログラム111には暗号処理サポート
を必要としているアプリケーション・プログラムとこの
暗号処理機構102との間のインターフェース機能も受
け持たせてある。
サポート・プログラム111に行なわせており、この暗
号処理サポート・プログラム111には更にCKDS1
04の管理も併せて行なわせている。更にまたこの暗号
処理サポート・プログラム111には暗号処理サポート
を必要としているアプリケーション・プログラムとこの
暗号処理機構102との間のインターフェース機能も受
け持たせてある。
【0025】図8はマスター・キー・アレイ108の好
適実施例を図示したものである。同図に示した複数のマ
スター・キー・レジスタ(MKレジスタ)は2つのマス
ター・キーを保持するための各々が128ビットの2個
のレジスタ(801と802)と3ビットの状態レジス
タ(803)とから成るものであり、後者の状態レジス
タ803は前者の2つのMKレジスタ801、802の
現行状態を表示するためのレジスタである。可能な構成
態様としては、これ以外にも多くの種類があるが図8に
示したこの構成態様とすればスイッチオーバーを実行す
る際に2個のMKレジスタ801、802の中に保持し
ている情報を移動させる必要がなく、3ビットの状態レ
ジスタ803の値を変更するだけでスイッチオーバーを
実行することができる。
適実施例を図示したものである。同図に示した複数のマ
スター・キー・レジスタ(MKレジスタ)は2つのマス
ター・キーを保持するための各々が128ビットの2個
のレジスタ(801と802)と3ビットの状態レジス
タ(803)とから成るものであり、後者の状態レジス
タ803は前者の2つのMKレジスタ801、802の
現行状態を表示するためのレジスタである。可能な構成
態様としては、これ以外にも多くの種類があるが図8に
示したこの構成態様とすればスイッチオーバーを実行す
る際に2個のMKレジスタ801、802の中に保持し
ている情報を移動させる必要がなく、3ビットの状態レ
ジスタ803の値を変更するだけでスイッチオーバーを
実行することができる。
【0026】図8に示した表804は状態レジスタ80
3の使用法を示したものである。初期状態(状態「11
1」)では、2個のMKレジスタはいずれも空らの状態
にある。レジスタA(801)の方に新マスター・キー
を入力した後にもレジスタB(802)はなお空らのま
まである(状態「011」)。最初のスイッチオーバー
の時点でこの新マスター・キーが現行マスター・キーに
なり、そのため新マスター・キー・レジスタは空らにな
る(状態「000」)。そしてその次のマスター・キー
をマスター・キー・レジスタB(802)へ初めて入力
したときに状態は「010」になる。続いて、次のスイ
ッチオーバーの時点でそのときまで現行マスター・キー
だったものが旧マスター・キーになり、そのときまで新
マスター・キーだったものが現行マスター・キーになる
(状態「101」)。また、以上とは異なった3個のレ
ジスタ(新、旧、現行に夫々対応させたレジスタ)を用
いた実施例とすることも可能であることは言うまでもな
い。システムのマスター・キーを変更することができる
ような設定状態とするためには先ず第1にキー入力装置
105を介して暗号処理機構102へ新マスター・キー
を入力する必要がある。新たに入力されたこのマスター
・キーはマスター・キー・アレイ108に記憶されるこ
とになる。
3の使用法を示したものである。初期状態(状態「11
1」)では、2個のMKレジスタはいずれも空らの状態
にある。レジスタA(801)の方に新マスター・キー
を入力した後にもレジスタB(802)はなお空らのま
まである(状態「011」)。最初のスイッチオーバー
の時点でこの新マスター・キーが現行マスター・キーに
なり、そのため新マスター・キー・レジスタは空らにな
る(状態「000」)。そしてその次のマスター・キー
をマスター・キー・レジスタB(802)へ初めて入力
したときに状態は「010」になる。続いて、次のスイ
ッチオーバーの時点でそのときまで現行マスター・キー
だったものが旧マスター・キーになり、そのときまで新
マスター・キーだったものが現行マスター・キーになる
(状態「101」)。また、以上とは異なった3個のレ
ジスタ(新、旧、現行に夫々対応させたレジスタ)を用
いた実施例とすることも可能であることは言うまでもな
い。システムのマスター・キーを変更することができる
ような設定状態とするためには先ず第1にキー入力装置
105を介して暗号処理機構102へ新マスター・キー
を入力する必要がある。新たに入力されたこのマスター
・キーはマスター・キー・アレイ108に記憶されるこ
とになる。
【0027】既述の如く、許可用パターンはパスワード
としての性質を持つものであり、従って機密に保ってお
く必要があるが、一方検証用パターンは氏名と同様に扱
われるものであるため機密にしておく必要はない。この
「検証用パターン」は新マスター・キー、稼動中マスタ
ー・キー及び旧マスター・キーのいずれに対しても要求
されるようにすることができるが、そのようにした理由
は検証用パターンは既述の如く「機密事項」としてはい
ないからである。これに対して「許可用パターン」は機
密事項であるため、新マスター・キーに対してのみ要求
されるようにすることができる。(この許可用パターン
は現行マスター・キーに対応させて暗号処理機構におい
て内部的に生成するものあるが、現行マスター・キーの
ために外部に明らかとされることはない)。暗号処理サ
ポート・プログラム111はこれら2種類のパターンの
値を生成するよう暗号処理機構102に対して要求を送
出する。
としての性質を持つものであり、従って機密に保ってお
く必要があるが、一方検証用パターンは氏名と同様に扱
われるものであるため機密にしておく必要はない。この
「検証用パターン」は新マスター・キー、稼動中マスタ
ー・キー及び旧マスター・キーのいずれに対しても要求
されるようにすることができるが、そのようにした理由
は検証用パターンは既述の如く「機密事項」としてはい
ないからである。これに対して「許可用パターン」は機
密事項であるため、新マスター・キーに対してのみ要求
されるようにすることができる。(この許可用パターン
は現行マスター・キーに対応させて暗号処理機構におい
て内部的に生成するものあるが、現行マスター・キーの
ために外部に明らかとされることはない)。暗号処理サ
ポート・プログラム111はこれら2種類のパターンの
値を生成するよう暗号処理機構102に対して要求を送
出する。
【0028】図2は「マスター・キー検証用パターン発
生」機能と、「マスター・キー許可用パターン発生」機
能とを図示したものである。(図中に「E」と記したブ
ロック25は一般的なDESアルゴリズムの下における
暗号化論理処理機能を表わしており、また「+」と記し
たブロック26は排他的OR演算を表わしている。尚、
この種の表記法は図3以降の図面においても使用す
る)。これら2つの機能は互いに定数21として使用す
る値が異なっており、またパターンを生成する際の許可
条件が異なっており、その許可条件はキーに対応させて
パターンを生成する際のそのキーが異なれば異なったも
のとなる。あるマスター・キーに対応させてパターンを
生成するには、先ず最初にそのマスター・キーの左側部
分22を定数を用いて暗号化し、そしてその暗号化した
結果と、元の左側部分22との間の排他的ORを取る。
更に、この排他的ORの結果を暗号キーとして使用して
そのマスター・キーの右側部分23を暗号化し、そして
その暗号化した結果と元の右側部分23との間の排他的
ORを取る。こうして最終的に得たパターン24は、こ
の処理の開始点としていずれの定数を用いたかに応じて
検証用パターンと許可用パターンとのいずれかになって
いる。このパターン24を命令の結果を示すオペランド
として返すようにし、そしてCKDSのヘッダ・レコー
ド(図6Cの63A)に記憶させておく。(このヘッダ
には制御情報を含んでいる。ここに含まれた制御情報に
は生成の日付、生成の時刻、最新の更新の日付/時刻、
連続番号(これは変更を行なうたびに更新する番号であ
る)、マスター・キー検証用パターン、それにマスター
・キー許可用パターン等がある)。
生」機能と、「マスター・キー許可用パターン発生」機
能とを図示したものである。(図中に「E」と記したブ
ロック25は一般的なDESアルゴリズムの下における
暗号化論理処理機能を表わしており、また「+」と記し
たブロック26は排他的OR演算を表わしている。尚、
この種の表記法は図3以降の図面においても使用す
る)。これら2つの機能は互いに定数21として使用す
る値が異なっており、またパターンを生成する際の許可
条件が異なっており、その許可条件はキーに対応させて
パターンを生成する際のそのキーが異なれば異なったも
のとなる。あるマスター・キーに対応させてパターンを
生成するには、先ず最初にそのマスター・キーの左側部
分22を定数を用いて暗号化し、そしてその暗号化した
結果と、元の左側部分22との間の排他的ORを取る。
更に、この排他的ORの結果を暗号キーとして使用して
そのマスター・キーの右側部分23を暗号化し、そして
その暗号化した結果と元の右側部分23との間の排他的
ORを取る。こうして最終的に得たパターン24は、こ
の処理の開始点としていずれの定数を用いたかに応じて
検証用パターンと許可用パターンとのいずれかになって
いる。このパターン24を命令の結果を示すオペランド
として返すようにし、そしてCKDSのヘッダ・レコー
ド(図6Cの63A)に記憶させておく。(このヘッダ
には制御情報を含んでいる。ここに含まれた制御情報に
は生成の日付、生成の時刻、最新の更新の日付/時刻、
連続番号(これは変更を行なうたびに更新する番号であ
る)、マスター・キー検証用パターン、それにマスター
・キー許可用パターン等がある)。
【0029】上記装置が新マスタ・キーを暗号処理機構
102へ入力完了したならば、次に必要なことはCKD
Sに入れてある夫々のキーを現行マスター・キーで暗号
化した状態から新マスター・キーで暗号化した状態へと
暗号化しなおす(即ち暗号化更新を行なう)ことであ
る。これは暗号処理サポート・プログラムに実行させる
ようにしており、暗号処理サポート・プログラムはその
ためにCKDSの中に入れてあるそれらのキーを記憶装
置の中へ読み出した上で、暗号処理機構102へ向けて
「新マスター・キーへの暗号化更新」命令(RTNMK
命令)を送出して、暗号処理機構102に安全にキーの
暗号化更新処理を行なわせる。図3はこのRTNMK命
令の動作を図示したものである。
102へ入力完了したならば、次に必要なことはCKD
Sに入れてある夫々のキーを現行マスター・キーで暗号
化した状態から新マスター・キーで暗号化した状態へと
暗号化しなおす(即ち暗号化更新を行なう)ことであ
る。これは暗号処理サポート・プログラムに実行させる
ようにしており、暗号処理サポート・プログラムはその
ためにCKDSの中に入れてあるそれらのキーを記憶装
置の中へ読み出した上で、暗号処理機構102へ向けて
「新マスター・キーへの暗号化更新」命令(RTNMK
命令)を送出して、暗号処理機構102に安全にキーの
暗号化更新処理を行なわせる。図3はこのRTNMK命
令の動作を図示したものである。
【0030】図3において、先ず該当する制御ベクトル
値CVi の選択を行ない、それにはそのRTNMK命令
のオペランド(このオペランドは図6Aに61Cで示し
たキー・トークンの一部である制御ベクトルそれ自体か
ら得られるものである)として供給されたインデクス
(i) を用いて暗号処理機構102の中の読み出し専用テ
ーブルからその制御ベクトル値CVi を選択するように
している。次に、現行マスター・キー(即ち稼動中マス
ター・キー)の左側部分とこの制御ベクトルCVi との
間の排他的ORを取り、その排他的ORの結果を用いて
入力キー36を復号化321する(この入力キー36は
現行(稼動中)マスター・キーとこの制御ベクトルCV
i との間の排他的ORを取った結果を用いて暗号化した
ものである)。この復号化によって得た値を更に暗号化
331し(この暗号化は現行マスター・キーの右側部分
とこの制御ベクトルCVi とを用いて行なう)そしてこ
の暗号化によって得た値を更に復号化322する(この
復号化は現行マスター・キーの左側部分とこの制御ベク
トルCVi とを用いて行なう)。ここまでの処理によっ
て得た中間値を続いて新マスター・キーの夫々左側部分
を用いて暗号化341し、右側部分を用いて復号化35
1し、更に左側部分を用いて暗号化342する(これら
の暗号化及び復号化には制御ベクトルCVi も併せて使
用する)。こうして最終的に得た値37は新マスター・
キーで暗号化された(ただしこれは新マスター・キーと
然るべき制御ベクトルとの間の排他的ORを取った結果
を用いて暗号化されているという意味である)入力キー
となっている。
値CVi の選択を行ない、それにはそのRTNMK命令
のオペランド(このオペランドは図6Aに61Cで示し
たキー・トークンの一部である制御ベクトルそれ自体か
ら得られるものである)として供給されたインデクス
(i) を用いて暗号処理機構102の中の読み出し専用テ
ーブルからその制御ベクトル値CVi を選択するように
している。次に、現行マスター・キー(即ち稼動中マス
ター・キー)の左側部分とこの制御ベクトルCVi との
間の排他的ORを取り、その排他的ORの結果を用いて
入力キー36を復号化321する(この入力キー36は
現行(稼動中)マスター・キーとこの制御ベクトルCV
i との間の排他的ORを取った結果を用いて暗号化した
ものである)。この復号化によって得た値を更に暗号化
331し(この暗号化は現行マスター・キーの右側部分
とこの制御ベクトルCVi とを用いて行なう)そしてこ
の暗号化によって得た値を更に復号化322する(この
復号化は現行マスター・キーの左側部分とこの制御ベク
トルCVi とを用いて行なう)。ここまでの処理によっ
て得た中間値を続いて新マスター・キーの夫々左側部分
を用いて暗号化341し、右側部分を用いて復号化35
1し、更に左側部分を用いて暗号化342する(これら
の暗号化及び復号化には制御ベクトルCVi も併せて使
用する)。こうして最終的に得た値37は新マスター・
キーで暗号化された(ただしこれは新マスター・キーと
然るべき制御ベクトルとの間の排他的ORを取った結果
を用いて暗号化されているという意味である)入力キー
となっている。
【0031】このようにしてCKDS内の全てのキーの
変換を完了したならば、この変換によって得た新バージ
ョンのCKDSをセーブしておいた検証用パターン(V
P)及び許可用パターン(AP)と共に直接アクセス記
憶装置(DASD)へ書き込む。そして暗号処理サポー
ト・プログラムは新マスター・キーを稼動状態にすべき
旨の要求を受け取ったときに(A)この新バージョンの
CKDSをそのDASDから記憶装置の中へ読み出し
(このときこの新CKDSに入れられている複数のキー
が新マスター・キーで暗号化されていることを検証す
る。この検証はこの新CKDSと共にセーブしてある許
可用パターンを新マスター・キーの(生成し直した)許
可用パターンと比較することによって行なうようにして
いる。そして次に(B)暗号処理機構102へ向けて
「セット・マスター・キー」命令(SMK命令)を発す
ると共に、新マスター・キーに合わせて生成した許可用
パターンと新マスター・キー・バージョン番号とを転送
する。
変換を完了したならば、この変換によって得た新バージ
ョンのCKDSをセーブしておいた検証用パターン(V
P)及び許可用パターン(AP)と共に直接アクセス記
憶装置(DASD)へ書き込む。そして暗号処理サポー
ト・プログラムは新マスター・キーを稼動状態にすべき
旨の要求を受け取ったときに(A)この新バージョンの
CKDSをそのDASDから記憶装置の中へ読み出し
(このときこの新CKDSに入れられている複数のキー
が新マスター・キーで暗号化されていることを検証す
る。この検証はこの新CKDSと共にセーブしてある許
可用パターンを新マスター・キーの(生成し直した)許
可用パターンと比較することによって行なうようにして
いる。そして次に(B)暗号処理機構102へ向けて
「セット・マスター・キー」命令(SMK命令)を発す
ると共に、新マスター・キーに合わせて生成した許可用
パターンと新マスター・キー・バージョン番号とを転送
する。
【0032】パワー・オン・リセット動作を行なう際に
は、その動作の一部としてまた初期プログラム・ロード
動作(IPL)の際にも、暗号処理機構102の中のマ
スター・キー・バージョン番号(MKVN)を「0」に
セットするようにしている。参照マスター・キー・バー
ジョン番号(RMKVN)が「0」である場合には、通
常の暗号処理命令を拒絶するようにしているため、前述
のMKVNレジスタ110が「0」以外の値にセットす
るまでは、通常の暗号演算動作は決して行なわない。図
4(B)は「セットMKVNレジスタ」命令(SMR命
令)の処理を図示したものである。暗号処理機構102
は先ず410において、マスター・キー・アレイ108
の中に記憶させてある現行マスター・キーに対応した許
可用パターン(AP)を生成し(このパターンの生成は
図2に示したロジックに従って行なう)そしてこの生成
した許可用パターン(AP)の値と入力された許可用パ
ターン(AP)の値とを比較する(411)。次に、こ
の比較の結果を調べ(412)それらの値が互いに一致
していなかったならば例外判定を表示する(413)。
一方、それらパターンの値が一致していたならば入力さ
れたバージョン番号(新MKVN)を暗号処理機構10
2の中のMKVNレジスタ110の中に記憶させる(4
14)。このように、このセットMKVNレジスタ命令
はマスター・キーの許可用パターンの値が一致しない限
り決してその実行が成功成功裡に完了することがないよ
うにしてあるため、アプリケーション・プログラムそれ
自体がマスター・キーの許可用パターンを「知って」い
るのでない限りそのアプリケーション・プログラムが暗
号処理機構102を利用することは不可能となってい
る。尚、続いてセット・マスター・キー処理(SMK処
理)を実行し、その際バージョン番号を「1」だけイン
クリメントする。
は、その動作の一部としてまた初期プログラム・ロード
動作(IPL)の際にも、暗号処理機構102の中のマ
スター・キー・バージョン番号(MKVN)を「0」に
セットするようにしている。参照マスター・キー・バー
ジョン番号(RMKVN)が「0」である場合には、通
常の暗号処理命令を拒絶するようにしているため、前述
のMKVNレジスタ110が「0」以外の値にセットす
るまでは、通常の暗号演算動作は決して行なわない。図
4(B)は「セットMKVNレジスタ」命令(SMR命
令)の処理を図示したものである。暗号処理機構102
は先ず410において、マスター・キー・アレイ108
の中に記憶させてある現行マスター・キーに対応した許
可用パターン(AP)を生成し(このパターンの生成は
図2に示したロジックに従って行なう)そしてこの生成
した許可用パターン(AP)の値と入力された許可用パ
ターン(AP)の値とを比較する(411)。次に、こ
の比較の結果を調べ(412)それらの値が互いに一致
していなかったならば例外判定を表示する(413)。
一方、それらパターンの値が一致していたならば入力さ
れたバージョン番号(新MKVN)を暗号処理機構10
2の中のMKVNレジスタ110の中に記憶させる(4
14)。このように、このセットMKVNレジスタ命令
はマスター・キーの許可用パターンの値が一致しない限
り決してその実行が成功成功裡に完了することがないよ
うにしてあるため、アプリケーション・プログラムそれ
自体がマスター・キーの許可用パターンを「知って」い
るのでない限りそのアプリケーション・プログラムが暗
号処理機構102を利用することは不可能となってい
る。尚、続いてセット・マスター・キー処理(SMK処
理)を実行し、その際バージョン番号を「1」だけイン
クリメントする。
【0033】図4(A)はSMK処理を図示したもので
ある。暗号処理機構102は先ず41においてマスター
・キー・アレイ108の中に記憶させてある新マスター
・キーに対応した許可用パターン(AP)を生成し(こ
のパターンの生成は図2に示したロジックに従って行な
う)そして、この生成した許可用パターン(AP)の値
と入力された許可用パターン(AP)の値とを比較する
(42)。次に、この比較の結果を調べ(43)、それ
らの値が互いに一致していなかったならば例外判定を表
示する(44)。一方、それらパターンの値が一致して
いたならば入力されたバージョン番号を暗号処理機構1
02の中のMKVNレジスタ110の中に記憶させる
(45)。次に、新マスター・キー(NMK)が稼動中
マスター・キー(MK)の位置を占めるようにする(4
6)(稼動中マスター・キーの位置は、状態レジスタ8
03によって指定する)と共にそれまで稼動中マスター
・キー(MK)だったものが旧マスター・キー(OM
K)の位置を占めるようにする。
ある。暗号処理機構102は先ず41においてマスター
・キー・アレイ108の中に記憶させてある新マスター
・キーに対応した許可用パターン(AP)を生成し(こ
のパターンの生成は図2に示したロジックに従って行な
う)そして、この生成した許可用パターン(AP)の値
と入力された許可用パターン(AP)の値とを比較する
(42)。次に、この比較の結果を調べ(43)、それ
らの値が互いに一致していなかったならば例外判定を表
示する(44)。一方、それらパターンの値が一致して
いたならば入力されたバージョン番号を暗号処理機構1
02の中のMKVNレジスタ110の中に記憶させる
(45)。次に、新マスター・キー(NMK)が稼動中
マスター・キー(MK)の位置を占めるようにする(4
6)(稼動中マスター・キーの位置は、状態レジスタ8
03によって指定する)と共にそれまで稼動中マスター
・キー(MK)だったものが旧マスター・キー(OM
K)の位置を占めるようにする。
【0034】本暗号処理サポート・プログラムはその
「新たに現行マスター・キーとなった」マスター・キー
に対応したエントリをマスター・キー検証用ブロック
(MKVB)の中に記憶させると共に(62A、62
B)、「それまで現行マスター・キーであった」マスタ
ー・キーに対応したエントリを旧マスター・キーに対応
したエントリとする(62C、62D)。尚、最後にC
KDSポインタ(CKDSを保持しているデータ空間の
ALETとそのデータ空間内のCKDSのベース・アド
レスとから成る)とを切り換えて、それより以後は現行
CKDSが使用されるようにする。
「新たに現行マスター・キーとなった」マスター・キー
に対応したエントリをマスター・キー検証用ブロック
(MKVB)の中に記憶させると共に(62A、62
B)、「それまで現行マスター・キーであった」マスタ
ー・キーに対応したエントリを旧マスター・キーに対応
したエントリとする(62C、62D)。尚、最後にC
KDSポインタ(CKDSを保持しているデータ空間の
ALETとそのデータ空間内のCKDSのベース・アド
レスとから成る)とを切り換えて、それより以後は現行
CKDSが使用されるようにする。
【0035】以上に説明した新マスター・キーを稼動状
態へ移行させるための処理の全ては、暗号処理サポート
・プログラムによって(MVS中において例えばメモリ
間ロックを使用することによって)シリアル化してあ
る。また、CKDSポインタの切り換え処理はSMK命
令の実行(及びそのSMK命令の実行が成功裏に完了し
たか否かの検査)と共に、CPUロック式の1単位の作
業によりシリアル化してある。
態へ移行させるための処理の全ては、暗号処理サポート
・プログラムによって(MVS中において例えばメモリ
間ロックを使用することによって)シリアル化してあ
る。また、CKDSポインタの切り換え処理はSMK命
令の実行(及びそのSMK命令の実行が成功裏に完了し
たか否かの検査)と共に、CPUロック式の1単位の作
業によりシリアル化してある。
【0036】あるアプリケーション・プログラムがマス
ター・キーの変更の直前に暗号機能を使用し始めた場合
には、「スイッチオーバー」以後そのアプリケーション
・プログラムは不適当なマスター・キー(即ち旧マスタ
ー・キー)で暗号化された暗号キーを使用することにな
る。図(9)に示したのはアプリケーション・プログラ
ムが送出する典型的な要求のフォーマットを示したもの
である。このフォーマットはキー・トークン901(図
6(A)参照)、テキスト長902、入力エリアのアド
レス903、出力エリアのアドレス904及びその他の
夫々が固有の機能に関連した、ただし本発明には関係し
ないパラメータ905を含んでいる。暗号処理サポート
・プログラムは、この図9(A)のフォーマットを暗号
処理機構が使用する図9(B)に示したフォーマットへ
と変換する。この図9(B)のフォーマットはバージョ
ン番号906、暗号化したキー907、オペランド長9
08、第1オペランドのアドレス909、第2オペラン
ドのアドレス910及びその他の関連パラメータ911
を含んでいる。
ター・キーの変更の直前に暗号機能を使用し始めた場合
には、「スイッチオーバー」以後そのアプリケーション
・プログラムは不適当なマスター・キー(即ち旧マスタ
ー・キー)で暗号化された暗号キーを使用することにな
る。図(9)に示したのはアプリケーション・プログラ
ムが送出する典型的な要求のフォーマットを示したもの
である。このフォーマットはキー・トークン901(図
6(A)参照)、テキスト長902、入力エリアのアド
レス903、出力エリアのアドレス904及びその他の
夫々が固有の機能に関連した、ただし本発明には関係し
ないパラメータ905を含んでいる。暗号処理サポート
・プログラムは、この図9(A)のフォーマットを暗号
処理機構が使用する図9(B)に示したフォーマットへ
と変換する。この図9(B)のフォーマットはバージョ
ン番号906、暗号化したキー907、オペランド長9
08、第1オペランドのアドレス909、第2オペラン
ドのアドレス910及びその他の関連パラメータ911
を含んでいる。
【0037】このフォーマット変換処理の実行の際に
は、その処理の一部としてキー・トークンの中のMKV
P(図6(A))とMKVBの中のCMKVP及びOM
KVP(図6(B))の夫々との間の比較を行なうよう
にしている。キー・トークンの中のMKVPがCMKV
Pと一致していた場合には、そのキー・トークンの中の
暗号化処理済キーをそのままの形で使用することができ
る。一方、そのキー・トークンの中のMKVPがCMK
VPとは一致していなかったがOMKVPとは一致して
いた場合には、その暗号化処理済キーに対してRFOM
K命令を用いて変換を施さねばならない。通常は、マス
ター・キーの更新が行なわれていたならば、このキー・
トークンの中のMKVPの検査を行なったときにそのマ
スター・キーの更新の事実を検出することができる。し
かしながら、このMKVPの検査を行なった後の実質的
な暗号処理命令を発するときになってからマスター・キ
ーの更新が行なわれる可能性もある。このような事態が
発生し得る場合としては、暗号処理命令の実行が非常に
長時間に亙って継続された場合、または暗号処理命令の
実行中にページ・フォールトが発生した場合或いは暗号
処理命令のパラメータの設定の時点とその暗号処理命令
の実行の時点との間でタスクが中断されてスワップ・ア
ウトされた場合等がある。図5は暗号処理サポート・プ
ログラムの中のこの種の場合に対処するための制御の流
れを図示したものである。尚、アプリケーション・プロ
グラムは「キー・トークン」を送出する際には暗号化処
理済キー及びその他のパラメータ(機能標識、入力デー
タ、等)をまとめて送出しており、これについては図6
(A)の61を参照されたい。
は、その処理の一部としてキー・トークンの中のMKV
P(図6(A))とMKVBの中のCMKVP及びOM
KVP(図6(B))の夫々との間の比較を行なうよう
にしている。キー・トークンの中のMKVPがCMKV
Pと一致していた場合には、そのキー・トークンの中の
暗号化処理済キーをそのままの形で使用することができ
る。一方、そのキー・トークンの中のMKVPがCMK
VPとは一致していなかったがOMKVPとは一致して
いた場合には、その暗号化処理済キーに対してRFOM
K命令を用いて変換を施さねばならない。通常は、マス
ター・キーの更新が行なわれていたならば、このキー・
トークンの中のMKVPの検査を行なったときにそのマ
スター・キーの更新の事実を検出することができる。し
かしながら、このMKVPの検査を行なった後の実質的
な暗号処理命令を発するときになってからマスター・キ
ーの更新が行なわれる可能性もある。このような事態が
発生し得る場合としては、暗号処理命令の実行が非常に
長時間に亙って継続された場合、または暗号処理命令の
実行中にページ・フォールトが発生した場合或いは暗号
処理命令のパラメータの設定の時点とその暗号処理命令
の実行の時点との間でタスクが中断されてスワップ・ア
ウトされた場合等がある。図5は暗号処理サポート・プ
ログラムの中のこの種の場合に対処するための制御の流
れを図示したものである。尚、アプリケーション・プロ
グラムは「キー・トークン」を送出する際には暗号化処
理済キー及びその他のパラメータ(機能標識、入力デー
タ、等)をまとめて送出しており、これについては図6
(A)の61を参照されたい。
【0038】図5において501では、暗号処理要求の
キー・トークンの中に入れられて供給された検証用パタ
ーン(VP)(図6(A)の61B)と同じものが暗号
処理サポート・プログラムが維持しているマスター・キ
ー検証用ブロック(MKVB)(図6(B)の62を参
照されたい)と名付けたテーブルの中に存在しているか
否かを調べる検査を行なう。もし供給された検証用パタ
ーンと同じものがMKVBの中に存在していなかったな
らば(例えばマスター・キー変更サイクルが2サイクル
分経過する間、アプリケーション・プログラムが1つの
キーを保持し続けた後にそのキーを使用しようとした場
合等)、アプリケーション・プログラムへエラー表示を
返すようにする。一方、供給された検証用パターンと同
じものがMKVBの中に存在していた場合には、その同
一の検証用パターンに対応したMKVNを取り出す(5
02)(この「対応したMKVN」とは、その同一の検
証用パターンが現行マスター・キー(稼動中マスター・
キー)の検証用パターンであったならばCMKVN(6
2B)のことであり、また、旧マスター・キーの検証用
パターンであったならばOMKVN(62D)のことで
ある)。続いて、暗号処理機構102へ向けて暗号処理
要求命令を送出する(503)と共に、取り出したバー
ジョン番号(MKVN)を転送する。
キー・トークンの中に入れられて供給された検証用パタ
ーン(VP)(図6(A)の61B)と同じものが暗号
処理サポート・プログラムが維持しているマスター・キ
ー検証用ブロック(MKVB)(図6(B)の62を参
照されたい)と名付けたテーブルの中に存在しているか
否かを調べる検査を行なう。もし供給された検証用パタ
ーンと同じものがMKVBの中に存在していなかったな
らば(例えばマスター・キー変更サイクルが2サイクル
分経過する間、アプリケーション・プログラムが1つの
キーを保持し続けた後にそのキーを使用しようとした場
合等)、アプリケーション・プログラムへエラー表示を
返すようにする。一方、供給された検証用パターンと同
じものがMKVBの中に存在していた場合には、その同
一の検証用パターンに対応したMKVNを取り出す(5
02)(この「対応したMKVN」とは、その同一の検
証用パターンが現行マスター・キー(稼動中マスター・
キー)の検証用パターンであったならばCMKVN(6
2B)のことであり、また、旧マスター・キーの検証用
パターンであったならばOMKVN(62D)のことで
ある)。続いて、暗号処理機構102へ向けて暗号処理
要求命令を送出する(503)と共に、取り出したバー
ジョン番号(MKVN)を転送する。
【0039】暗号処理機構102は暗号処理演算を実行
する(ただし転送されてきたそのバージョン番号が稼動
中マスター・キーに関連したバージョン番号と一致して
いなかったならば「不成功」表示を返すようにする)。
次に、暗号処理サポート・プログラムは504におい
て、暗号処理要求が成功裏に実行完了したか否かを検査
し、もし成功していたならば、その検査の結果を表わす
データをアプリケーション・プログラムへ返すようにす
る。一方、それが成功していなかったならば、505に
おいて、そのバージョン番号が有効バージョン番号であ
るか(即ち現行バージョン番号であるか)否かを検査す
る(この検査は固有の応答コードを調べることによって
行なう)。そして、そのバージョン番号が現行バージョ
ン番号であったならば、暗号処理機構102のエラー
(即ち実行の不成功)は何らかの別の原因によるもので
あったのであるから、アプリケーション・プログラムへ
エラー表示を返すようにする。
する(ただし転送されてきたそのバージョン番号が稼動
中マスター・キーに関連したバージョン番号と一致して
いなかったならば「不成功」表示を返すようにする)。
次に、暗号処理サポート・プログラムは504におい
て、暗号処理要求が成功裏に実行完了したか否かを検査
し、もし成功していたならば、その検査の結果を表わす
データをアプリケーション・プログラムへ返すようにす
る。一方、それが成功していなかったならば、505に
おいて、そのバージョン番号が有効バージョン番号であ
るか(即ち現行バージョン番号であるか)否かを検査す
る(この検査は固有の応答コードを調べることによって
行なう)。そして、そのバージョン番号が現行バージョ
ン番号であったならば、暗号処理機構102のエラー
(即ち実行の不成功)は何らかの別の原因によるもので
あったのであるから、アプリケーション・プログラムへ
エラー表示を返すようにする。
【0040】一方、そのバージョン番号が現行マスター
・キー・バージョン番号ではなかったならば、506に
おいて、「旧マスター・キーからの暗号化更新」処理
(RFOMK処理)の実行を既に試みたか否かを調べ
る。そして、RFOMK処理を既に実行していたなら
ば、エラー表示を返すようにする。 一方、まだRFO
MK処理を実行していなかったならば、507におい
て、このバージョン番号に関連した検証用パターンと同
じ検証用パターンがMKVBの中に存在しているか否か
を調べる。もし同じものが存在していなかったならば
(これは501において検査を行なってからこのときま
での間にマスター・キーが変更されたことを示してい
る)アプリケーション・プログラムへエラー表示を(原
因コードを付して)返すようにする。
・キー・バージョン番号ではなかったならば、506に
おいて、「旧マスター・キーからの暗号化更新」処理
(RFOMK処理)の実行を既に試みたか否かを調べ
る。そして、RFOMK処理を既に実行していたなら
ば、エラー表示を返すようにする。 一方、まだRFO
MK処理を実行していなかったならば、507におい
て、このバージョン番号に関連した検証用パターンと同
じ検証用パターンがMKVBの中に存在しているか否か
を調べる。もし同じものが存在していなかったならば
(これは501において検査を行なってからこのときま
での間にマスター・キーが変更されたことを示してい
る)アプリケーション・プログラムへエラー表示を(原
因コードを付して)返すようにする。
【0041】一方、その検証用パターンと同じものがM
KVBの中に存在していたならば(この場合、その検証
用パターンと同じものとは図6に62Cで示したOMK
VPである)、暗号処理機構102へ向けて「旧マスタ
ー・キーからの暗号化更新」命令(RFOMK命令)を
発すると共に(508)そのOMKVPと暗号化処理済
キーとを転送する。(RFOMK処理の詳細については
後の説明を参照されたい)。このRFOMK処理が成功
裏に実行完了したならば(509)、この時点でキーは
既に現行マスター・キーで暗号化された状態にあり、そ
れゆえ(62Aで示したMKVBから得られる)現行マ
スター・キーに対応した検証用パターンと、(RFOM
K処理を実行して得た)この新たに暗号化しなおした暗
号化処理済キーとを含んだ新たなキー・トークンを暗号
処理処理演算要求と共に改めて送出する(503)。ま
た、アプリケーション・プログラムへは、以後の動作に
おいて使用するためのものとして新たに構成し直したト
ークン(新たな暗号化処理済キーと検証用パターンとを
含んでいる)をこれより返す旨の表示を返すようにす
る。
KVBの中に存在していたならば(この場合、その検証
用パターンと同じものとは図6に62Cで示したOMK
VPである)、暗号処理機構102へ向けて「旧マスタ
ー・キーからの暗号化更新」命令(RFOMK命令)を
発すると共に(508)そのOMKVPと暗号化処理済
キーとを転送する。(RFOMK処理の詳細については
後の説明を参照されたい)。このRFOMK処理が成功
裏に実行完了したならば(509)、この時点でキーは
既に現行マスター・キーで暗号化された状態にあり、そ
れゆえ(62Aで示したMKVBから得られる)現行マ
スター・キーに対応した検証用パターンと、(RFOM
K処理を実行して得た)この新たに暗号化しなおした暗
号化処理済キーとを含んだ新たなキー・トークンを暗号
処理処理演算要求と共に改めて送出する(503)。ま
た、アプリケーション・プログラムへは、以後の動作に
おいて使用するためのものとして新たに構成し直したト
ークン(新たな暗号化処理済キーと検証用パターンとを
含んでいる)をこれより返す旨の表示を返すようにす
る。
【0042】図7は「旧マスター・キーからの暗号化更
新」命令(RFOMK命令)のロジックを示したもので
ある。同図において、先ず該当する制御ベクトルCVi
を選択する(71)。続いて、旧マスター・キーの左側
部分とこの制御ベクトルCVi との間の排他的ORを取
り、その排他的ORの結果を使用して入力キー76を復
号化721する(この入力キー76は旧マスター・キー
と制御ベクトルCViとの間の排他的ORを取った結果
を用いて暗号化したものである)。この復号化によって
得た値を更に暗号化731し(この暗号化は、旧マスタ
ー・キーの右側部分と制御ベクトルCVi とを用いて行
なう)、そしてこの暗号化によって得た値を更に復号化
722する(この復号化は、旧マスター・キーの左側部
分と制御ベクトルCVi とを用いて行なう)。ここまで
の処理によって得た中間値を、続いて、現行マスター・
キーの夫々左側部分を用いて暗号化741し、右側部分
を用いて復号化751し、更に左側部分を用いて暗号化
742する(これらの暗号化及び復号化には、制御ベク
トルCVi も併せて使用する)。こうして最終的に得た
値77は現行(稼動中)マスター・キーで暗号化した
(ただし、これは現行マスター・キーと然るべき制御ベ
クトルとの間の排他的ORを取った結果を用いて暗号化
しているという意味である)入力キーとなっている。
新」命令(RFOMK命令)のロジックを示したもので
ある。同図において、先ず該当する制御ベクトルCVi
を選択する(71)。続いて、旧マスター・キーの左側
部分とこの制御ベクトルCVi との間の排他的ORを取
り、その排他的ORの結果を使用して入力キー76を復
号化721する(この入力キー76は旧マスター・キー
と制御ベクトルCViとの間の排他的ORを取った結果
を用いて暗号化したものである)。この復号化によって
得た値を更に暗号化731し(この暗号化は、旧マスタ
ー・キーの右側部分と制御ベクトルCVi とを用いて行
なう)、そしてこの暗号化によって得た値を更に復号化
722する(この復号化は、旧マスター・キーの左側部
分と制御ベクトルCVi とを用いて行なう)。ここまで
の処理によって得た中間値を、続いて、現行マスター・
キーの夫々左側部分を用いて暗号化741し、右側部分
を用いて復号化751し、更に左側部分を用いて暗号化
742する(これらの暗号化及び復号化には、制御ベク
トルCVi も併せて使用する)。こうして最終的に得た
値77は現行(稼動中)マスター・キーで暗号化した
(ただし、これは現行マスター・キーと然るべき制御ベ
クトルとの間の排他的ORを取った結果を用いて暗号化
しているという意味である)入力キーとなっている。
【0043】以上に本発明の具体的な実施例を幾つか開
示したが、当業者には容易に理解されるように、本発明
の概念及び範囲から逸脱することなくそれらの具体的な
実施例に対して変更を加えることが可能である。
示したが、当業者には容易に理解されるように、本発明
の概念及び範囲から逸脱することなくそれらの具体的な
実施例に対して変更を加えることが可能である。
【図1】暗号処理機構と、暗号処理サポート・プログラ
ムと、暗号キー・データ・セット(CKDS)と、アプ
リケーション・プログラムとの間の相互関係を示したシ
ステム図である。
ムと、暗号キー・データ・セット(CKDS)と、アプ
リケーション・プログラムとの間の相互関係を示したシ
ステム図である。
【図2】マスター・キー検証用パターン生成(GMKV
P)機能及びマスター・キー許可用パターン生成(GM
KAP)機能を示したブロック図である。
P)機能及びマスター・キー許可用パターン生成(GM
KAP)機能を示したブロック図である。
【図3】新マスター・キーへの暗号化更新(RTNM
K)命令を示したブロック図である。
K)命令を示したブロック図である。
【図4】(A)はセット・マスター・キー(SMK)処
理を示したフローチャート、また(B)はセット・マス
ター・キー・バージョン番号レジスタ(SMR)処理を
示したフローチャートである。
理を示したフローチャート、また(B)はセット・マス
ター・キー・バージョン番号レジスタ(SMR)処理を
示したフローチャートである。
【図5】マスター・キーの変更の直後に暗号処理機能を
要求したアプリケーション・プログラムに対処するため
の制御の流れを示したフローチャートである。
要求したアプリケーション・プログラムに対処するため
の制御の流れを示したフローチャートである。
【図6】(A)はキー・トークンのフォーマット、
(B)はマスター・キー検証用ブロック(MKVB)の
フォーマット、そして(C)はCKDSのフォーマット
を示す制御ブロック図である。
(B)はマスター・キー検証用ブロック(MKVB)の
フォーマット、そして(C)はCKDSのフォーマット
を示す制御ブロック図である。
【図7】旧マスター・キーからの暗号化更新(RFOM
K)命令を示したブロック図である。
K)命令を示したブロック図である。
【図8】2個のマスター・キー・レジスタと、状態レジ
スタと、可能なあり得るレジスタ状態とを示した、マス
ター・キー・アレイのブロック図である。
スタと、可能なあり得るレジスタ状態とを示した、マス
ター・キー・アレイのブロック図である。
【図9】(A)は、アプリケーション・プログラムが発
する典型的な暗号処理要求命令の一般的なフォーマット
を示した模式図、(B)はその暗号処理要求命令を暗号
処理サポート・プログラムが処理した後の一般的なフォ
ーマットを示した模式図である。
する典型的な暗号処理要求命令の一般的なフォーマット
を示した模式図、(B)はその暗号処理要求命令を暗号
処理サポート・プログラムが処理した後の一般的なフォ
ーマットを示した模式図である。
61 キー・トークン 62 マスター・キー検証用ブロック(MKVB) 101 暗号処理システム 102 暗号処理機構 103 DESエンジン 104 暗号キー・データ・セット(CKDS) 105 キー入力装置 106 キー記憶装置(KSU) 107 制御ベクトル・テーブル 108 マスター・キー・アレイ 110 マスター・キー・バージョン番号レジスタ(M
KVNレジスタ) 111 暗号処理サポート・プログラム 112 アプリケーション・プログラム 113 演算論理機構(ALU) 114 データ・レジスタ 115 キー・レジスタ 116 出力レジスタ 117 マスター・キー・バージョン番号比較回路 801 マスター・キー・レジスタ 802 マスター・キー・レジスタ 803 状態レジスタ
KVNレジスタ) 111 暗号処理サポート・プログラム 112 アプリケーション・プログラム 113 演算論理機構(ALU) 114 データ・レジスタ 115 キー・レジスタ 116 出力レジスタ 117 マスター・キー・バージョン番号比較回路 801 マスター・キー・レジスタ 802 マスター・キー・レジスタ 803 状態レジスタ
フロントページの続き (72)発明者 マイケル・ジェームズ・ケリー アメリカ合衆国12603、ニューヨーク州 ポウキープシー、グレンウッド・ロード 4番地 (72)発明者 ロナルド・モートン・スミス アメリカ合衆国12590、ニューヨーク州 ウァッピンガーズ・フォールズ、シダー・ ミル・ロープ 15番地 (72)発明者 ジュリアン・トーマス アメリカ合衆国12603、ニューヨーク州 ポウキープシー、ロムボート・ロード 135番地 (72)発明者 フィル・チ−チュン・イェー アメリカ合衆国12603、ニューヨーク州 ポウキープシー、ラウンド・ヒル・ロード 88番地
Claims (10)
- 【請求項1】非中断式の動的なマスター・キー変更を行
う暗号処理装置であって、 a)暗号マスター・キーで暗号化した供給されたキーを
使用して供給されたデータに対して暗号処理演算を実行
するための暗号処理エンジンと、 b) 1)第1マスター・キーを保持するための第1マ
スター・キー・レジスタ、 2)第2マスター・キーを保持するための第2マスター
・キー・レジスタ、 3)前記第1マスター・キー・レジスタ及び前記第2マ
スター・キー・レジスタの空き状態、新マスター・キー
を保持している状態、現行マスター・キーを保持してい
る状態又は旧マスター・キーを保持している状態を表す
複数の起こり得る状態値を持つ状態レジスタ、 を備えた前記マスター・キー・レジスタと、 c)前記供給されたキーが前記現行マスター・キーで暗
号化されていることを確保する手段と、 を備えた暗号処理装置。 - 【請求項2】前記供給されたキーが前記現行マスター・
キーで暗号化されていることを確保する手段が、 c−1)前記現行マスター・キー・レジスタに前記現行
マスター・キーを置く際に前記現行マスター・キーに関
連づけて供給されるマスター・キー・バージョン番号を
保持するためのマスター・キー・バージョン番号レジス
タと、 c−2)前記供給されたキーの暗号化に使用した暗号キ
ーを識別するためのキー・トークン手段と、 c−3)前記供給されたキーの暗号化の際に使用した前
記暗号キーと前記現行マスター・キーとの間の不一致を
識別するための例外判定手段と、 c−4)前記例外判定手段に応答して、前記不一致の原
因が、前記供給されたキーの暗号化に使用した前記暗号
キーが現時点においては前記旧マスター・キー・レジス
タ内にあることによることを検証するための検証手段
と、 c−5)前記検証手段が前記不一致が前記原因によるも
のであると検証したときに、前記供給されたキーを前記
旧マスター・キー・レジスタに保持してある前記旧マス
ター・キーによる暗号化から前記現行マスター・キー・
レジスタに保持してある前記現行マスター・キーによる
暗号化へ更新するための暗号化更新手段と、 を備えていることを特徴とする請求項1記載の暗号処理
装置。 - 【請求項3】前記キー・トークン手段がこれに関連した
マスター・キーに対し一方向関数によって一義的に関連
付けられたマスター・キー検証用パターンを含んでいる
ことを特徴とする請求項2記載の暗号処理装置。 - 【請求項4】前記検証手段が現行マスター・キー・エン
トリと旧マスター・キー・エントリとを含んでいるマス
ター・キー検証用ブロックを備えていることを特徴とす
る請求項3記載の暗号処理装置。 - 【請求項5】前記現行マスター・キー・エントリが前記
現行マスター・キーに関連付けられた前記マスター・キ
ー・バージョン番号と前記現行マスター・キーに関連付
けられた前記マスター・キー検証用パターンとを含んで
おり、且つ前記旧マスター・キー・エントリが前記旧マ
スター・キーに関連付けられた前記マスター・キー・バ
ージョン番号と前記旧マスター・キーに関連付けられた
前記マスター・キー検証用パターンとを含んでいること
を特徴とする請求項4記載の暗号処理装置。 - 【請求項6】暗号キー・データ・セット中のキーが前記
旧マスター・キー、前記現行マスター・キー又は前記新
マスター・キーで暗号化されていることを検証するため
の手段を更に備えたことを特徴とする請求項5記載の暗
号処理装置。 - 【請求項7】前記現行マスター・キーで暗号化してある
キーを前記新マスター・キーで暗号化した状態へ更新す
るための暗号化更新手段を更に備えたことを特徴とする
請求項2記載の暗号処理装置。 - 【請求項8】前記暗号処理装置の機能を利用できるプロ
セッサを、これに関連したマスター・キーから一方向関
数によって導出した許可用パターンを保持しているプロ
セッサに限るようにする暗号処理機能利用規制手段を更
に備えたことを特徴とする請求項2記載の暗号処理装
置。 - 【請求項9】前記暗号処理機能利用規制手段が、 前記暗号処理装置を包含しているシステムが初期プログ
ラム・ロードされるか又はパワー・オン・リセットされ
たときに、前記マスター・キー・バージョン番号レジス
タをある所定値にリセットするためのリセット手段と、 前記マスター・キー・バージョン番号レジスタが前記所
定値を保持しているときには前記暗号マスター・キーを
必要とするいかなる暗号処理演算をも阻止する暗号処理
演算阻止手段と、 あるマスター・キー・バージョン番号供給元が前記許可
用パターンを併せて供給していない場合にはそのマスタ
ー・キー・バージョン番号供給元によって前記マスター
・キー・バージョン番号レジスタが前記所定値以外の値
にセットされるのを阻止するマスター・キー・バージョ
ン番号レジスタ・セット阻止手段と、 を備えたことを特徴とする請求項8記載の暗号処理装
置。 - 【請求項10】暗号処理装置を制御する現行マスター・
キーの動的且つ非中断式の変更をデータ処理システムで
行なうための方法であって、 a)前記現行マスター・キーに現行バージョン番号を関
連付けるステップと、 b)前記現行マスター・キーをマスター・キー・バージ
ョン番号レジスタ内の関連する新マスター・キー・バー
ジョン番号を有する新マスター・キーで置換し、この置
換以後は前記現行マスター・キーは旧マスター・キーと
し、前記新マスター・キーは現行マスター・キーとし、
前記現行マスター・キー・バージョン番号は旧マスター
・キー・バージョン番号とし、前記新マスター・キー・
バージョン番号は前記現行マスター・キー・バージョン
番号とするステップと、 c)暗号処理機能に対する要求の一部としてある供給さ
れたユーザ・キーに一義的に関連付けられた供給された
トークンを送出するステップと、 d)前記供給されたユーザ・キーに関連付けられた供給
されたバージョン番号を判定するステップと、 e)前記供給されたバージョン番号と前記現行バージョ
ン番号を比較し、比較結果が不一致を表わすならば例外
判定を表わす信号を送出するステップと、 f)前記比較結果として例外判定を表わす信号が送出さ
れた場合、前記供給されたバージョン番号が前記旧マス
ター・キー・バージョン番号と一致していたならば前記
被供給ユーザ・キーを前記旧マスター・キーで暗号化さ
れた状態から前記現行マスター・キーで暗号化された状
態へ暗号化更新するステップと、 g)暗号化更新した前記供給さらたユーザ・キーを用い
て前記暗号処理機能に対する前記要求について続行する
ステップと、 h)前記システムのシステム・リセット又は初期プログ
ラム・ロードが行なわれた際に、それに付随して前記マ
スター・キー・バージョン番号レジスタを所定値にリセ
ットするステップと、 i)前記現行マスター・キーから一方向関数を用いて許
可用パターンを導出するステップと、 j)前記マスター・キー・バージョン番号レジスタに前
記所定値が保持されているときには、前記現行マスター
・キーを必要とするいかなる暗号処理機能をも阻止する
ステップと、 k)マスター・キー・バージョン番号を前記所定値以外
の値に首尾よくリセットするためにマスター・キー・バ
ージョン番号リセット機能に対して前記許可用パターン
の送出を要求するステップと、 よりなる方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/576,562 US5081677A (en) | 1990-08-31 | 1990-08-31 | Crypotographic key version control facility |
US576562 | 1990-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0619392A JPH0619392A (ja) | 1994-01-28 |
JPH087528B2 true JPH087528B2 (ja) | 1996-01-29 |
Family
ID=24304946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3167079A Expired - Fee Related JPH087528B2 (ja) | 1990-08-31 | 1991-07-08 | 暗号処理装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5081677A (ja) |
EP (1) | EP0472939B1 (ja) |
JP (1) | JPH087528B2 (ja) |
DE (1) | DE69129778T2 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5309516A (en) * | 1990-12-07 | 1994-05-03 | Hitachi, Ltd. | Group cipher communication method and group cipher communication system |
US5177791A (en) * | 1991-08-30 | 1993-01-05 | International Business Machines Corp. | Secure translation of usage-control values for cryptographic keys |
US5272752A (en) * | 1992-03-16 | 1993-12-21 | Scientific-Atlanta, Inc. | Authorization code lockout mechanism for preventing unauthorized reception of transmitted data |
FR2698195B1 (fr) * | 1992-11-19 | 1994-12-16 | Gemplus Card Int | Procédé et circuit de cryptage et d'authentification pour carte à mémoire synchrone. |
US5377264A (en) * | 1993-12-09 | 1994-12-27 | Pitney Bowes Inc. | Memory access protection circuit with encryption key |
ATE189570T1 (de) * | 1994-02-24 | 2000-02-15 | Merdan Group Inc | Verfahren und einrichtung zum aufbau einer kryptographischen verbindung zwischen elementen eines systems |
US5787172A (en) * | 1994-02-24 | 1998-07-28 | The Merdan Group, Inc. | Apparatus and method for establishing a cryptographic link between elements of a system |
US5412723A (en) * | 1994-03-01 | 1995-05-02 | International Business Machines Corporation | Mechanism for keeping a key secret from mobile eavesdroppers |
GB9418709D0 (en) * | 1994-09-16 | 1994-11-16 | Chantilley Corp Ltd | Secure computer network |
WO1996008775A1 (en) * | 1994-09-16 | 1996-03-21 | Philips Electronics N.V. | Software programmable bus disable system |
US5960086A (en) * | 1995-11-02 | 1999-09-28 | Tri-Strata Security, Inc. | Unified end-to-end security methods and systems for operating on insecure networks |
FR2760871B1 (fr) | 1997-03-13 | 1999-04-16 | Bull Cp8 | Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe |
IL121551A (en) * | 1997-08-14 | 2003-04-10 | Diversinet Corp | System and method for reliable key transfer |
JP3877388B2 (ja) * | 1997-09-16 | 2007-02-07 | 三菱電機株式会社 | 情報提供システム |
US6539092B1 (en) * | 1998-07-02 | 2003-03-25 | Cryptography Research, Inc. | Leak-resistant cryptographic indexed key update |
FR2789536B1 (fr) * | 1999-02-08 | 2001-03-09 | Bull Sa | Dispositif et procede d'authentification d'un utilisateur a distance |
FI990810A (fi) * | 1999-04-13 | 2000-10-14 | Nokia Networks Oy | Menetelmä ja järjestelmä tiedon päivittämiseksi puhelinkeskusjärjestel mässä |
FI109499B (fi) | 1999-04-13 | 2002-08-15 | Nokia Corp | Menetelmä ja järjestelmä puhelinkeskusjärjestelmässä |
US6912655B1 (en) | 1999-08-09 | 2005-06-28 | Tristrata Security Inc. | Network security architecture system utilizing seals |
JP4370721B2 (ja) * | 2000-04-06 | 2009-11-25 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、キー更新端末装置、世代管理キー更新方法、および情報記録媒体、並びにプログラム提供媒体 |
US6950522B1 (en) * | 2000-06-15 | 2005-09-27 | Microsoft Corporation | Encryption key updating for multiple site automated login |
WO2002011139A1 (fr) * | 2000-07-31 | 2002-02-07 | Sony Corporation | Support d'enregistrement, procede d'enregistrement et/ou de reproduction pour support d'enregistrement, et dispositif d'enregistrement et/ou de reproduction pour support d'enregistrement |
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 |
MXPA03000471A (es) * | 2001-05-22 | 2003-10-14 | Koninkl Philips Electronics Nv | Transportador de grabacion para almacenar un trabajo digital. |
US7203317B2 (en) * | 2001-10-31 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | System for enabling lazy-revocation through recursive key generation |
US7085386B2 (en) * | 2001-12-07 | 2006-08-01 | Activcard | System and method for secure replacement of high level cryptographic keys in a personal security device |
CN100553192C (zh) * | 2003-12-26 | 2009-10-21 | 三菱电机株式会社 | 认证装置、被认证装置以及密钥更新方法 |
CA2536611C (en) * | 2004-06-14 | 2013-01-15 | Research In Motion Limited | Method and system for securing data utilizing redundant secure key storage |
US7461268B2 (en) * | 2004-07-15 | 2008-12-02 | International Business Machines Corporation | E-fuses for storing security version data |
US7971070B2 (en) * | 2005-01-11 | 2011-06-28 | International Business Machines Corporation | Read/write media key block |
CN100452737C (zh) * | 2005-11-02 | 2009-01-14 | 华为技术有限公司 | 数字家庭网络中的版权管理方法及数字家庭网络系统 |
US7729496B2 (en) * | 2006-02-28 | 2010-06-01 | International Business Machines Corporation | Efficient key updates in encrypted database systems |
JP2009111687A (ja) * | 2007-10-30 | 2009-05-21 | Fujitsu Ltd | 記憶装置、暗号化データ処理方法 |
US8122501B2 (en) * | 2008-06-20 | 2012-02-21 | International Business Machines Corporation | Traitor detection for multilevel assignment |
US8108928B2 (en) * | 2008-06-20 | 2012-01-31 | International Business Machines Corporation | Adaptive traitor tracing |
US8422684B2 (en) * | 2008-08-15 | 2013-04-16 | International Business Machines Corporation | Security classes in a media key block |
US8571209B2 (en) | 2009-01-19 | 2013-10-29 | International Business Machines | Recording keys in a broadcast-encryption-based system |
US8661536B2 (en) * | 2010-03-17 | 2014-02-25 | Microsoft Corporation | Side channel attack analysis |
US9811477B2 (en) * | 2015-10-07 | 2017-11-07 | Sandisk Technologies Llc | Memory system and method for writing data to a block of an erased page |
CN113627936A (zh) * | 2021-08-16 | 2021-11-09 | 中国工商银行股份有限公司 | 一种新旧密码过渡过程中的加密方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4588991A (en) * | 1983-03-07 | 1986-05-13 | Atalla Corporation | File access security method and means |
US4972472A (en) * | 1985-03-15 | 1990-11-20 | Tandem Computers Incorporated | Method and apparatus for changing the master key in a cryptographic system |
FR2601795B1 (fr) * | 1986-07-17 | 1988-10-07 | Bull Cp8 | Procede pour diversifier une cle de base et pour authentifier une cle ainsi diversifiee comme ayant ete elaboree a partir d'une cle de base predeterminee, et systeme pour la mise en oeuvre |
US4941176A (en) * | 1988-08-11 | 1990-07-10 | International Business Machines Corporation | Secure management of keys using control vectors |
-
1990
- 1990-08-31 US US07/576,562 patent/US5081677A/en not_active Expired - Fee Related
-
1991
- 1991-07-08 JP JP3167079A patent/JPH087528B2/ja not_active Expired - Fee Related
- 1991-07-31 EP EP91112873A patent/EP0472939B1/en not_active Expired - Lifetime
- 1991-07-31 DE DE69129778T patent/DE69129778T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69129778T2 (de) | 1999-03-11 |
JPH0619392A (ja) | 1994-01-28 |
EP0472939B1 (en) | 1998-07-15 |
EP0472939A1 (en) | 1992-03-04 |
DE69129778D1 (de) | 1998-08-20 |
US5081677A (en) | 1992-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH087528B2 (ja) | 暗号処理装置及び方法 | |
US5214698A (en) | Method and apparatus for validating entry of cryptographic keys | |
EP0583140B1 (en) | System for seamless processing of encrypted and non-encrypted data and instructions | |
US7136488B2 (en) | Microprocessor using asynchronous public key decryption processing | |
US5432849A (en) | Secure cryptographic operations using control vectors generated inside a cryptographic facility | |
US20190236314A1 (en) | Secure processor and a program for a secure processor | |
US7673155B2 (en) | Microprocessor with improved task management and table management mechanism | |
US4847902A (en) | Digital computer system for executing encrypted programs | |
US7673152B2 (en) | Microprocessor with program and data protection function under multi-task environment | |
US8522041B2 (en) | System and method for efficiently performing a data encryption operation | |
EP0482371B1 (en) | Method and apparatus for controlling the use of a public key, based on the level of integrity for the key | |
US20080010686A1 (en) | Confidential Information Processing Device | |
GB2367164A (en) | Securely storing and executing a program | |
CN111814162B (zh) | 一种基于定制硬件安全属性的内核敏感数据保护方法 | |
US7603566B2 (en) | Authenticated process switching on a microprocessor | |
JP4643702B2 (ja) | マイクロプロセッサ | |
JP2005094790A (ja) | ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法 | |
JP3982530B2 (ja) | ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法 | |
JP2010055423A (ja) | マイクロプロセッサ | |
US20240171387A1 (en) | Providing Data to be Protected in a Secured Execution Environment of a Data Processing System | |
KR20170104082A (ko) | 슬레이브 장치 및 그를 포함하는 컴퓨팅 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |