JP2003526965A - 公開暗号制御ユニット及びそのシステム - Google Patents

公開暗号制御ユニット及びそのシステム

Info

Publication number
JP2003526965A
JP2003526965A JP2000618806A JP2000618806A JP2003526965A JP 2003526965 A JP2003526965 A JP 2003526965A JP 2000618806 A JP2000618806 A JP 2000618806A JP 2000618806 A JP2000618806 A JP 2000618806A JP 2003526965 A JP2003526965 A JP 2003526965A
Authority
JP
Japan
Prior art keywords
applet
cryptographic
integrity
key
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000618806A
Other languages
English (en)
Other versions
JP2003526965A5 (ja
Inventor
ケー スプレイグ,スティーヴン
ジェイ カズマークザック,グレゴリー
Original Assignee
ウェイヴ システムズ コーポレイション
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 ウェイヴ システムズ コーポレイション filed Critical ウェイヴ システムズ コーポレイション
Publication of JP2003526965A publication Critical patent/JP2003526965A/ja
Publication of JP2003526965A5 publication Critical patent/JP2003526965A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Abstract

(57)【要約】 汎用利用が可能な、公開暗号制御ユニット(暗号ユニット)が多数の独立ユーザに共有される暗号システムに使用される。汎用コンピュータに周辺装置として装着される暗号ユニットが、暗号化された保全アプレットの、それぞれの保全アプレットが実行される、暗号ユニットのオンボードRAMへのロード及びオンボードRAMからのアンロードを行う。暗号ユニット及び暗号ユニットがその一部をなすシステムは、あらかじめ認可された保全アプレットだけにロード及び実行の許可が与えられる、保全された内部環境を提供する。暗号ユニット内の計算実行環境は、それぞれの暗号ユニットと交信する暗号統括センター(OPC)により保全される。ソフトウエア開発者は企画された保全アプレットを、企画された保全アプレットを配布する前に、企画された保全アプレットに必要な許可を得るためにOPCに提出する。必要な許可の全てがOPCから得られた場合にのみ、企画された保全アプレットは暗号ユニットへのロード及び実行が許されるであろう。第1の保全アプレットの実行が終了すると、暗号ユニットは今ロードされている第1の保全アプレットを暗号化された形態でPCのハードディスクにアンロード(スワップアウト)し、次の保全アプレットをロード(スワップイン)する。それぞれの保全アプレットの暗号コンテキストはPCのハードディスクに格納されたファイルに保存される。このようにして、汎用暗号ユニットが複数の独立ユーザの間で利用される。

Description

【発明の詳細な説明】
【0001】発明の属する技術分野 本発明は暗号システムに関する。特に、本発明はキー管理システム及び汎用公
開暗号制御ユニットに関する。
【0002】発明の背景 多くのコンピュータアプリケーションは1つまたはそれ以上の保全機能を果た
す必要がある。コンピュータプログラムの保全機能は、ユーザによる不正操作に
対して強く抵抗する、コンピュータプログラムの特徴または動作である。
【0003】 例えば、その後はソフトウエアプログラムが実行できなくなる、有効期限をソ
フトウエアプログラムにもたせることができる。しかし、一般的なソフトウエア
有効期間限定機能は、ローカルコンピュータのクロックを有効期限前の時刻にリ
セットすることによるか、あるいはローカルコンピュータのクロックをチェック
するプログラム部分を飛び越すようにソフトウエアを改変することにより容易に
無効にされるので、安全が保証されない。
【0004】 別の例として、ローカル暗号化データベースの従量有料使用に対する課金の目
的でローカル暗号化データベースからアクセスされるデータレコードを保持する
コンピュータプログラムは一般に、2つの重要なレジスタを有する。第1のレジ
スタは過去のデータ使用量を表し、第2のレジスタはクレジット残高を表す。し
かし、使用量レジスタ及びクレジットレジスタの更新が保全された機能でない場
合には、ユーザは使用量レジスタの内容を少なくするか、及び/またはクレジッ
トレジスタの内容を大きくして、システムを無効にすることができるであろう。
同様に、レンタル料課金の目的でそれ自体の使用の記録を保持するレンタルソフ
トウエアには、ユーザによるレンタルアカウントレジスタ並びにその他の重要な
内部レジスタ及び機能の不正操作を防止する保全機能が必要である。
【0005】 別の例として、リモートアクセスデータベースはデータベースへのアクセスに
対して正規ユーザに課金することがある。データベースへのアクセスを許可する
前にそれぞれのユーザの身元を認証するために、保全機能が必要とされることが
多い。また別の保全機能はキー管理、すなわち正規ユーザへの暗号キーの配布で
ある。
【0006】 保全機能方策の一部類は、ソフトウエアに保全機能を実装することである。ソ
フトウエアへの保全機能の実装には経済的であるという利点がある。ソフトウエ
ア実装には普遍的であるという利点もある。しかし、ソフトウエアへのソフトウ
エア保全機能の実装は、ハードウエアへの保全機能の実装ほどの安全保障になら
ない。一方、保全機能のハードウエア実装はソフトウエアよりコストがかかり、
それぞれのアプリケーション専用のハードウエアが必要となり得る。それぞれの
アプリケーションがそれぞれ専用のハードウエアを必要とすれば、保全機能のハ
ードウエア実装は普遍的ではない。
【0007】発明の概要 本発明は、暗号制御ユニットを、多数の独立ユーザに共有されるシステムにお
いて普遍的に利用できる公開暗号制御ユニット(暗号ユニット)として用いるため
の方法及びシステムに具現化される。
【0008】 暗号ユニットは、暗号ユニットリソースの保全された共通使用を可能にするた
めの専用ハードウエア及びファームウエアを有する汎用コンピュータプロセッサ
を備える。詳しくは、暗号ユニットはマイクロプロセッサコアを、リードオンリ
メモリ(ROM)制御プログラミング専用カーネル、汎用ランダムアクセスメモリ
(RAM)、リアルタイムクロック及びホスト(すなわち、デスクトップPCへの
またはそれからの)入力/出力インターフェースを備える。さらに、暗号ユニッ
トはDES(データ暗号化規格)エンジン、暗号キーのための保全された不揮発性
記憶装置、署名レジストリーRAM及び専用アクセスレジスタを備える。
【0009】 暗号ユニットは、デスクトップPCのような、いかなる汎用コンピュータにも
周辺装置として装着される。暗号ユニットを“公開”暗号制御ユニットとする理
由は、保全されたコンピューティングリソースとしてPC上で実行されている主
プリケーションプログラムに利用できることである。
【0010】 暗号ユニットリソースを使用するために、保全機能に対応する主アプリケーシ
ョンプログラム部分がPCに格納される。本明細書では保全アプレットと称され
る保全機能が、それぞれの保全アプレットが実行される、暗号ユニットのオンボ
ードRAMにロード及びアンロードされる。ダウンロードされてブラウザ内部で
実行されるジャバ(Java(登録商標))アプレットに類似して、保全アプレットは
、適当なコンピューティングエンティティにロードされること及び1つまたはそ
れ以上の保全機能を果たすことが目的とされる移植可能で実行可能なファイルで
ある。この意味において、暗号ユニットはいわば、保全アプリケーション(アプ
レット)の実行に適合された専用コプロセッサである。
【0011】 PCは、アプレットを実行して保全機能の結果をPCに戻す、暗号ユニットの
プログラム制御メモリに保全アプレットをロードさせる。しかし、一般的なコプ
ロセッサとは異なり、暗号ユニットへのアクセスはデスクトップPCの制御の下
だけでは行われない。すなわち、デスクトップPCだけではいかなる保全アプレ
ットもロードして実行することができない。暗号ユニット及び暗号ユニットがそ
の一部をなすシステムが、いくつかの保全アプレットだけが暗号ユニット内部へ
のロード及び実行の許可を与えられる、保全された内部環境を提供する。
【0012】 暗号ユニット内のコンピューティング環境を保全するため、暗号統括センター
(OPC)が用意され、OPCは暗号ユニットと交信する。詳しくは、暗号ユニッ
トは、新しい保全アプレットと初めて遭遇したとき、その新しい保全アプレット
の公開暗号ユニットでの実行が許可される前にOPCと交信する。暗号ユニット
は新しい暗号ユニットがデスクトップPCに初めて装着されたときにもOPCと
交信する。暗号ユニットはまた定期的にもOPCと交信する。さらに、ソフトウ
エア開発者も、ある保全アプレットを配布する前に、前記保全アプレットをロー
ドして暗号ユニット内で実行するために必要な許可を得る目的のためにOPCと
交信する。必要な許可の全てがOPCから得られた場合にのみ、保全アプレット
の暗号ユニット内へのロード及び実行が可能となる。
【0013】オペレーティングシステム 暗号ユニットオペレーティングシステム(O/S)は、ROMローダー制御プロ
グラム及びネイティブモード保全アプレットの、2つのパートからなる。ROM
ローダー制御プログラムは、暗号ユニットのROMに格納される小さくまとめら
れた制御プログラミング専用カーネルである。フロッピー(登録商標)ディスク
、CDROMまたは電話モデムで配布することができるネイティブモード保全ア
プレットは、一般にデスクトップPCのハードディスクに格納される、移植可能
で書込可能なファイルである。
【0014】 重要な保全機能は、ROMローダー制御プログラムに実装される。詳しくは、
ROMローダー制御プログラムが、暗号ユニット及び外部リソースへの及びこれ
らからの、ネイティブモード保全アプレットのロード及びアンロードを含む、保
全アプレットのロード及びアンロードを制御する。
【0015】 ネイティブモード保全アプレットは、暗号ユニットの初回使用に際してOPC
にその暗号ユニットを登録すること及び個々のアプリケーション保全アプレット
のそれぞれの初回使用に対して許可を与えることの2つの主要な機能を有する。
原則として、暗号ユニットがOPCと交信するときは必ずネイティブモード保全
アプレットが用いられる。
【0016】システムオペレーション 自分たちの保全ソフトウエアアプリケーションに公開暗号ユニットを用いるこ
とを望んでいるアプリケーション開発者は、初めに、企画された保全アプレット
を審査のためにOPCに提出しなければならない。企画された保全アプレットは
保全基準を含むある規準を満たさなければならない。例えば、企画された保全ア
プレットは暗号ユニットのオンボードRAMに入るに十分に小さくなければなら
ない。OPCはさらに、企画された保全アプレットを保全基準とのコンプライア
ンスについて審査する。
【0017】 保全コンプライアンス試験が全て完了すると、OPCは企画された保全アプレ
ットの暗号ユニット使用について許可を与えるかまたは拒否する。企画された保
全アプレットの使用許可は、認可された保全アプレットへのシリアルナンバー及
びコードキーCの割当てからなる。シリアルナンバー及びコードキーCはOPC
のアプレットレジストリーに格納される。開発者は、認可された保全アプレット
を暗号化するプロセスにおいてコードキーCを用い、暗号化された保全アプレッ
トを識別するためにシリアルナンバーを用いる。
【0018】 デスクトップPCの起動初期化時に、暗号ユニットROMローダー制御プログ
ラムは、ネイティブモード保全アプレットを暗号ユニットのオンボードRAMに
ロードする。ROMローダー制御プログラムはネイティブモード保全アプレット
を、暗号ユニットへのロード及び実行をOPCから既に許可が与えられているか
のように扱う。
【0019】 ROMローダー制御プログラムは、多数のユーザの間での暗号ユニットの汎用
使用を容易にする。詳しくは、ROMローダー制御プログラムは、第1のアプリ
ケーション保全アプレットをオンボードRAMにロード(スワップイン)するため
の余裕をつくるために、ネイティブモード保全アプレットを暗号ユニットのオン
ボードRAMからデスクトップPCのハードディスクにアンロード(スワップア
ウト)する。
【0020】 ROMローダー制御プログラムは次いで、第1のアプリケーション保全アプレ
ットをロードしながら査閲する。ロードされた第1のアプリケーション保全アプ
レットに暗号ユニットリソースへのアクセス権が与えられていることが確認され
た後に、暗号ユニットのマイクロプロセッサが第1の保全アプレットを実行し、
よって暗号ユニットの制御は第1の保全アプレットに引き渡される。
【0021】 第1の保全アプレットの実行が終了すると、暗号ユニットは、今ロードされて
いる第1の保全アプレットを暗号化された形態でPCのハードディスクにアンロ
ード(スワップアウト)し、次の保全アプレットをロード(スワップイン)する。そ
れぞれの保全アプレットの暗号コンテキストはPCのハードディスクに格納され
るファイルに保存される。このようにして、複数の独立ユーザの間で汎用暗号ユ
ニットが利用される。
【0022】 未知のアプリケーション保全アプレット(すなわち、ここでの特定の暗号ユニ
ットにこれまで一度もロードされたことのない保全アプレット)に遭遇した場合
には、ROMローダー制御プログラムはネイティブモード保全アプレットにスワ
ップして戻り、ネイティブモード保全アプレットがOPCとの保全交信セッショ
ンを確立する。未知のアプリケーション保全アプレットを書いたソフトウエア開
発者がその保全アプレットのロード及び実行の許可をOPCから既に与えられて
いれば、暗号ユニットは未知のアプリケーション保全アプレットを解読して実行
するために必要な暗号キーをOPCから受け取るであろう。同時に、OPCは暗
号ユニットユーザの身元をアプレットレジストリーに記録し、よってOPCがロ
ード及び実行の許可を与えていた保全アプレットに暗号ユニットを関連付ける。
その後は、暗号ユニットはOPCと改めて交信することなくその保全アプレット
をロード及びアンロードするであろう。
【0023】 最後に、実行中のアプリケーション保全アプレットがない場合には、ROMロ
ーダー制御プログラムはネイティブモード保全アプレットをスワップインして暗
号ユニットのオンボードRAMに戻す。このようにして、独立ユーザのそれぞれ
がそれぞれの個別保全アプリケーションに対して暗号ユニットを使用する。すな
わち、複数の独立ユーザが汎用暗号ユニットを利用して、複数の個別保全アプリ
ケーションを使用する。
【0024】発明の詳細な説明 システムオペレーション 図1に示される公開暗号システムのブロック図は、暗号統括センター(OPC)
21,デスクトップPC22,ソフトウエア開発者PC10、及び配布メディア
20を含む。ソフトウエア開発者は保全アプレット14を作成するためにソフト
ウエア開発者ツールキット12を使用する。保全アプレット14は主ソフトウエ
アアプリケーション16の一部として所定の保全機能を達成するように構成され
る。ソフトウエア開発者は、アプレットエンコーダ18で暗号化された保全アプ
レット14を含むソフトウエアアプリケーション16を、何らかの配布メディア
20により配布する。
【0025】 保全アプレット14を暗号化するため、PC10側のソフトウエア開発者は電
話モデム接続のような保全通信リンクを通してリクエスト15をOPC21に送
信する。リクエスト15には企画された保全アプレット14の実物が含まれる。
リクエスト15に応答して、企画された保全アプレット14が保全基準とのコン
プライアンスに関してOPC21で審査される。例えば、企画された保全アプレ
ット14は禁制キーへのアクセス及び出力を試みたり、内部の経過時間カウンタ
(保全されたタイムクロック)を不正操作したり、あるいは機密領域へのアクセス
を自らに許可するための(以下で論じる)許可ビットを設定したりするべきではな
い。企画された保全アプレット14がいずれかの理由で保全基準を満たしていな
ければ、登録を拒否されるであろう。
【0026】 他方で、OPC21が保全アプレット14の登録を認可すれば、OPC21は
アプレット14に関連付けられる一意的なシリアルナンバー(S/N)17及び任
意のコードキーC19を選定することになる。S/N17及びコードキーC19
は、リクエスト15のために用いられたものと同じ保全された電話モデム接続に
よりOPC21からソフトウエア開発者PC10に送信される。OPC21は、
発行済S/N及び対応する発行済コードキーCのデータベースをアプレットレジ
ストリー23に保持する。このようにして、企画されたアプレットはOPC21
により公式に登録され、いずれの公開暗号制御ユニットでの使用(すなわち実行)
についても許可が与えられる。
【0027】 PC10側のソフトウエア開発者は、認可された保全アプレット14を暗号化
するために、受け取ったコードキーCをアプレットエンコーダー18プロセスに
用いる。PC10側のソフトウエア開発者はさらに、認可された保全アプレット
14を識別するために、受け取ったS/N17をアプレットエンコーダー18プ
ロセスに用いる。完成した(コードキーC19を用いて暗号化され、S/N17
を用いて識別される)保全アプレットは、ソフトウエアアプリケーション16に
組み込まれ、フィロッピーディスク、CDROM、地上波放送、衛星放送、ケー
ブルテレビジョンシステム等のような何らかの配布メディア20によりデスクト
ップPC22に配布される。
【0028】 ソフトウエアアプリケーション16のデスクトップPC22へのインストール
後、暗号化された保全アプレットはハードディスク26に格納されている。ハー
ドディスク26は一般に、デスクトップPC22上で用いられている複数のソフ
トウエアアプリケーションに対応する複数の暗号化された保全アプレット28,
30,32を保持する。格納されたアプレットのそれぞれは、S/N32Aのよ
うな、識別S/Nをもつ。デスクトップPC22はさらに、標準PCバス25を
介して接続された、モデム24,CPU34,ROM36,タイムクロック39
,RAM40及び入力/出力インターフェース42のような標準的PCコンポー
ネントを備える。さらにデスクトップPC22は、バス25に接続された、一意
的なユニット識別番号(UID)44Aを有する暗号ユニット44を備える。
【0029】 動作時には、デスクトップ22のハードディスク26に格納されたソフトウエ
アアプリケーション16は暗号化されたアプレット32の実行を初めに要求し、
デスクトップPC22はOPC21との保全交信セッションを確立する。デスク
トップPC22は暗号化されたアプレット22の使用についてOPC21の許可
を要請する。許可を得るため、暗号ユニット22はそのUID44A及び保全ア
プレット32のS/N32AをOPC21に送信する。
【0030】 OPC21は、既に支給済の一意的なS/N17を、対応する任意の支給済コ
ードキーCをアプレットレジストリー23内で捜すために用いる。OPC21は
また、トランザクション(暗号ユニット44によるS/N32Aの使用)をアプレ
ットレジストリー23に追加入力する。アプレットレジストリー23は、全ての
登録済保全アプレットS/N,それぞれのS/Nに対応するコードキーC及び、
対応するそれぞれの保全アプレットの実行許可が与えられている全ての暗号ユニ
ットUIDの記録である。例えば、レジストリー23は暗号コードキーC=zに
対応する暗号化されたアプレットS/N32Aが登録されていること、及び暗号
ユニットUID=44AがS/N=32Aをもつ登録済アプレットの解読及びラ
ン(実行)の許可を得ていることを示す。
【0031】公開暗号制御ユニット 図2の公開暗号制御ユニット44は、マイクロプロセッサ206,RAM22
2,224及びROM208を備える。RAMは署名レジストリー224及び主
暗号プログラム制御222の格納領域に割り当てられる。ROM208はO/S
のローダー制御プログラム部を入れている。暗号ユニット44には、DESエン
ジン218,不揮発性メモリ220,経過時間(リアルタイム)カウンタ204,
及びアクセス制御レジスタ212も備える。ホスト(デスクトップ)PCインター
フェース202が暗号ユニット44とホストPCとの間の交信のために備えられ
る。暗号ユニット44内の交信は、暗号ユニット44内のコンポーネント間でア
ドレス及びデータを伝える汎用データバス210を通して行われる。
【0032】 DESエンジン218は暗号ユニット44の保護された環境内における暗号操
作を容易にする。例えば、内部の不揮発性メモリ220が暗号キーの保全された
格納を提供する。経過時間カウンタ204が、暗号ユニット44の保全された環
境内で、不正操作を受けない時間及び日付計算を可能にする。経過時間カウンタ
204の読出または書込、不揮発性メモリ220のキー格納領域の内容へのアク
セスまたは内容の変更、署名レジストリー224の内容へのアクセスまたは内容
の変更のような、危険な操作はハードウエアにより制限されている。詳しくは、
暗号ユニットへのアクセスがアクセスレジスタ212の個々の(以下で論じられ
る)許可ビット216を設定することにより制御される。
【0033】 アクセスレジスタ212は、プログラム制御RAM222にロードされた保全
アプレットを暗号ユニット44の保全性の脆弱化から守るための特殊な保護機構
を備える。詳しくは、アクセスレジスタ212は許可レジスタを備え、与えられ
た保全アプレットがどのリソースにアクセスを許されるであろうかをアクセスレ
ジスタ212の個々の許可ビット216が定める。例えば、結線プログラム信号
(許容レベル制御)226が、署名レジストリー224,経過時間カウンタ204
並びにクライアントキー及び保全キー格納領域220の全てまたは一部へのアク
セスが、RAM222にロードされた、与えられた保全アプレットに許されるか
否かについて結線プログラムされた制限を与える。秘密クライアントキーはそれ
ぞれの暗号ユニットで一意的であり、製造時にその他の暗号キーとともに不揮発
性メモリ220に格納される。
【0034】 RAM222にある、与えられた保全アプレットは、アクセスレジスタ212
から許可が与えられているときにしか危険な操作に入る(読出または書込を行う)
ことができない。許可レジスタは、解読された保全アプレットからローダー制御
ROM208プログラムによりロードされる。不正アクセスに対するさらなる予
防策として、許可レジスタ216はローダー制御ROM208にある実行命令か
らしかアクセスできない。許可レジスタに新しい値が書き込まれるときは必ずア
ドレス検出214が行われる。詳しくは、ローダー制御ROMが許可ビットのロ
ードを行っていることをアドレス検出214が示す場合でない限り、アドレス検
出214からの書込イネーブル信号はアクティブにならないであろう。このよう
にすれば、ローダー制御ROM208からの適切な命令シーケンスによらない限
り許可レジスタ216にロードすることはできない。よって、RAM222から
実行されている保全アプレットが許可レジスタ216の許可ビットを変更するこ
とはできない。
【0035】アクセスレジスタの許可ビット アクセスレジスタ212の個々の許可ビット216は経過時間カウンタ204
の制御を与える。詳しくは、経過時間カウンタ204を読み出し得るか否かを1
つの許可ビットが制御し、経過時間カウンタ204に書き込み得るか否かを別の
1つの許可ビットが制御する。OPCだけに、ネイティブモード保全アプレット
を介する、経過時間カウンタに値を書き込むための(許可ビットの設定を介する)
許可が与えられる。
【0036】 アクセスレジスタ212の個々の許可ビット216は不揮発性メモリ220に
あるクライアントキー及び保全キー格納領域に対する制御を与える。詳しくは、
アプレットがクライアントキーの(書込みではなく)読出しのためのアクセスでき
るか否かを1つの許可ビットが決定する。クライアントキーは工場でインストー
ルされ、変更できない。どのソフトウエハ開発者も、保全アプレットに関する暗
号計算にクライアントキーを用いることができる。
【0037】 不揮発性メモリ220に格納されるその他のキーには、特定のソフトウエア開
発者のための秘密キーがある。すなわち、あるソフトウエア開発者は共通クライ
アントキーを使用することができない。代わりに、秘密キーをそのようなソフト
ウエア開発者専用にすることができる。そのような場合、専用秘密キーに対応す
る許可ビットはそのソフトウエア開発者による保全アプレットの専用秘密キーへ
のアクセスを許可する。他のソフトウエア開発者による保全アプレットはそのよ
うな専用秘密キーのための許可ビットを設定せず、したがって専用秘密キーへの
アクセスできないであろう。さらに、アクセスレジスタ212の別の許可ビット
216は、ロードされた保全アプレットが不揮発性メモリ220にある古い専用
秘密キーに新しい専用秘密キーを上書きできるか否かを定める。専用秘密キーに
加えて、不揮発性メモリ220は公開−秘密キー対の公開キー部分を認証するた
めに用いられるデジタル証明書を格納できる。
【0038】 アクセスレジスタ212の個々の許可ビット216は、どの保全アプレットを
暗号ユニットにロード及びアンロードできるかについてのアクセス制御をさらに
与えるために、RAMの署名レジストリー部224とともに用いられる。詳しく
は、署名レジストリーの選ばれたエントリーに抹消フラッグを設定することによ
り選ばれた保全アプレットが抹消されるであろう。暗号チップは、その後は、署
名レジストリーの抹消フラッグで指定された保全アプレットをロードまたはアン
ロードしないであろう。最後に、OPCは、暗号ユニット44を停止させる適当
な許可ビット216を設定することにより暗号ユニット44全体を停止できる。
停止された暗号ユニット44は、暗号ユニット44がOPCにより再起動されな
い限り、いかなる保全アプレットも実行できない。
【0039】保全アプレット登録 上述したように、アプリケーション開発者は保全アプレットを主アプリケーシ
ョンプログラムの一部として構成する。保全アプレットは暗号ユニット44上で
特定的に実行されるために書かれる。保全アプレットは暗号ユニットのオンボー
ドRAM(図2の222)に入るに十分に小さくまとまっていなければならない。
大きすぎてオンボードRAMに入りきらない保全アプレットは、2つのパート、
すなわち2つの保全アプレットに分割することができる。開発者が保全アプレッ
トをOPCに登録してからでなければ、保全アプレットを主アプリケーションプ
ログラムとともに配布し、暗号ユニット上で実行することはできない。上述した
ように、開発者はOPCとの保全交信セッションを確立する。OPCとの保全交
信に適当なシステムが、米国特許第5,615,264号、第5,761,28
3号及び第5,764,762号に示されている。
【0040】 図5は、開発者のリクエストによる、OPCにおける保全アプレット登録プロ
セスを示す。ステップ510において、OPCが保全アプレット登録のリクエス
トを受信する。リクエストには企画された保全アプレットの実物が含まれる。ス
テップ512において、OPCは企画された保全アプレットを適当な暗号基準に
関して審査する。例えば、企画された保全アプレットは、個々の暗号ユニットの
それぞれに対して一意的であるクライアントキー、またはその他の保全キーを発
見しようと試みることができない。コードをエクスポートすることも、余分なコ
ードをインポートすることもできない。間接プログラムジャンプは、プログラム
ループに指標が付けられるので、保全上リスクを負う。システムの保全が受けた
侵襲からの経験の結果、企画された保全アプレットが安全であり、適切に構成さ
れていることを保証するための数多くの試験を構築することができる。企画され
た保全アプレットがいずれかの試験に合格することができなければ、ステップ5
12で、OPCは企画された保全アプレットの登録を拒否する。
【0041】 全ての試験に合格すれば、OPCはシリアルナンバーS/N及び暗号コードキ
ーCをステップ514で選定する。OPCはまた、ステップ514で、S/N及
びコードキーCをアプレットレジストリー(図1の23)に入力する。登録プロセ
スは、ステップ516で、新しく登録されたアプレットに対するS/N及びコー
ドキーCをソフトウエア開発者に送信することにより完了する。
【0042】用いられる暗号規約 図3A,3B,9A及び9Bは、暗号操作を表すシンボルを示す。本明細書で
用いられるように、暗号化及び解読のための好ましいプロセスは、データ通信用
暗号標準(DES)である。
【0043】 簡潔に言えば、DESの電子コードブックモード(ECB)にしたがって、64
ビット(8バイト)の入力ブロックが56ビットキーにより64ビットの出力ブロ
ックに変換される。解読のためには、64入力ビットを同じ56ビットキーを用
いて64出力ビットに変換する、反転プロセスが実行される。DESキーは一般
に、それぞれのバイトが7ビット+1パリティビットをもつ、8バイト量の64
ビットすなわち56キービット+8パリティビットで表される。
【0044】 本明細書で用いられるように、秘密キーを用いて変数に暗号操作を施すことは
秘密キーを用いてその変数(通常はキー)を暗号化(または解読)して別のキーを生
成することを意味する。暗号化は単キーを用いて、あるいは3重キーセットのよ
うな複数キーを用いて行うことができる。特に断らない限り、暗号化及び解読は
3重キーセットを用いるDES暗号化または解読のECBモードを意味するもの
とする。3重キー暗号化に対しては、DESを用いて変数を暗号化するために、
3つのキー(キー1,キー2,キー3)からなるキーセットが以下のように用いら
れる:キー1で暗号化し、キー2で解読して、キー3で暗号化する。3重キー解
読はこの反転−キー3による解読、キー2による暗号化、次いでキー1による解
読である。CBCは初期ベクトルIVを用いるDES標準の暗号ブロック連鎖方
式を意味するものとする。特に断らない限り、CBC−DES暗号化または解読
のためのIVはゼロとする。
【0045】暗号ユニットの初期化及び登録 図7は、ROMローダー制御プログラムによる暗号ユニットの初期化及び登録
の方法を示す。電源が入ると、ステップ710で、(図2のROM208にある)
ROMローダー制御プログラムが初期ネイティブモード保全アプレットをハード
ディスク(図1の26)からオンボードRAM(図2の222)にロードする。RO
Mローダー制御プログラムは初期ネイティブモード保全アプレットを、既に認可
されており、固定キーで暗号化されているものと見なす。初期ネイティブモード
保全アプレットは、アクセスレジスタ216の全許可ビットをイネーブルにする
ことにより、暗号ユニットの全リソースへのアクセスが許される。ロード後、暗
号ユニットの制御はオンボードRAMにロードされたばかりの初期ネイティブモ
ード保全アプレットに渡される。
【0046】 暗号ユニットの初回使用時であれば、ステップ712で、登録プロセスが開始
される。OPCとの保全交信セッションがステップ714で確立され、暗号ユニ
ットはOPC716との登録プロセスに入る。登録は、ユーザを識別するデータ
(氏名、住所等)を入力すること及びユーザデータを暗号ユニットのUIDととも
にOPCに送信することからなる。ステップ714におけるOPC716との交
信セッション中に、OPC716には、初期ネイティブモード保全アプレットを
更新するためのいかなるプログラム変更もダウンロードする機会がある。登録プ
ロセスの完了後、プログラム制御はデスクトップPCに戻される。暗号ユニット
は次いで、デスクトップPCが第1の保全アプレットを暗号ユニットにロードし
て実行する準備ができるまで、待ち状態に入る。
【0047】登録済保全アプレットの暗号化 保全アプレットは暗号化される。図3Aは保全アプレットの暗号化に暗号化キ
ーセットを用いるフローチャート図である。ソフトウエア開発者は所望の保全ア
プレット322から始める。上述したように、保全アプレット322はソフトウ
エア開発者により既にOPCに送られ、アプレットS/N320及びコードキー
C318がアプレット登録プロセスの一部として既に受け取られている。
【0048】 ソフトウエア開発者は、自己選択コードキーA(プログラマーキー)をステップ
302で選定する。コードキーAは次いで、コードキーCにより暗号化器304
で暗号化されて、暗号化されたコードキーA'がつくられる。保全アプレット3
22には、暗号化器324でコードキーAによる3重キーCBC暗号化を施され
る。メッセージ認証コード(MAC)が暗号化器326で計算される。(操作検出
コードとしても知られる)MACは、暗号化されたパケットの内容が変更されて
いないことを検証するために暗号化されたパケットの受領者によりチェックされ
る、暗号化されたパケットに添付されるデジタル署名である。MACは、ステッ
プ306で、S/N320,コードキーA'及び暗号化器324の出力からの暗
号化された保全アプレットを集成して保全パケットにすることにより生成される
【0049】 保全パケット306を集成する目的は、暗号化器326においてMAC316
を生成し、この生成されたMAC316を保全パケットに添付して、保全ページ
をつくることである。暗号化器328でコードキーC318を用いてS/N32
0を暗号化することにより開発者MACキーがつくられる。MAC署名自体は、
暗号化器326で保全パケット306に3重キーCBC暗号化を施すことにより
生成される。詳しくは、暗号化器326の出力の最終部分が、保全パケット30
6に添付されるMAC署名316になる。
【0050】 計算されたMACは、暗号ユニットから出力されてホストPCのハードディス
ク26に最終的に格納される保全ページ308をつくるために、保全パケット3
06と結合される。
【0051】 暗号化された保全アプレットをPCのハードディスク記憶装置に格納するため
の保全記憶ページのフォーマットが図4に示される。保全記憶ページは、(S/
N320にコードキーA'312が続き、さらに暗号化された保全アプレット3
14が続く)保全パケットから始まり、計算されたMAC316で終わる。
【0052】保全アプレットの初回ロード及び解読 暗号ユニットは、図3Bの暗号化キーセットフローチャート図に示されるよう
にして、初めて遭遇した、暗号化された保全アプレットを解読する。この場合は
以前に実行されたことのない保全アプレットの初めてのロードであるから、RA
Mのアプレット署名レジストリー部224にはS/N310が見つからないであ
ろう(S/Nが署名レジストリー部に見つかる場合には、暗号化されたアプレッ
トが以前に実行されたことがあり、図9Aが適用できるであろう)。先に述べた
ように、初めて遭遇した保全アプレットに対しては、ネイティブモード保全アプ
レットがS/N338をOPCに送信し、OPCからコードキーC336を受信
している。
【0053】 初めに、解読器330でコードキーC336を用いてコードキーA'312を
解読することによりソフトウエア開発者コードキーAが復元される。解読器33
2で、暗号化された保全アプレット314に、解読器330の出力からの復元さ
れたコードキーAを用いて3重キーCBC解読が施される。保全パケット(S/
N310,コードキーA'312及び暗号化された保全アプレット314)に対す
るMACが、開発者MACキーを用いて3重キーCBC暗号化器340で計算さ
れる。開発者MACキーは、暗号化器340のキー入力に接続された暗号化器3
48でコードキーCを用いてS/N338を暗号化することにより計算される。
【0054】 暗号化器340の出力における計算されたMACは、受け取られたMAC31
6とコンパレータ342で比較される。計算されたMACと受け取られたMAC
とが一致する場合は(344)、ANDゲート334がイネーブルにされ、解読器
332の出力にある解読された保全アプレットがオンボードRAMの暗号制御部
222に格納される。しかし、計算されたMACと受け取られたMACとが一致
しない場合には(346)、保全アプレットはオンボードRAM222へのロード
及び実行が許可されないであろう。結局、ANDゲート334はイネーブルにさ
れず、解読器332の出力にある解読された保全アプレットはオンボードRAM
の暗号制御部222に格納されない。エラーメッセージがデスクトップPCに返
される。
【0055】保全アプレットのロードに対するOPC制御 本システムは保全アプレットを指定された暗号ユニットにロードしてよいか否
かについてのOPC制御を与える。図6はOPCにおける初回ロード制御プロセ
スを示す。デスクトップPCからのS/Nをステップ610でOPCが受け取る
と、OPCはアプレットが有効なS/Nを有しているか否かをステップ612で
チェックする。有していなければ、OPCは保全アプレットが“無効”であると
いうエラーメッセージを返す。OPCは、S/Nが初めは有効であったとしても
その後に抹消されているか否かについてステップ614でチェックする。抹消さ
れていれば、OPCは保全アプレットが“抹消済”であるというエラーメッセー
ジを返す。OPCは、UIDで識別される、指定された暗号ユニットがここでの
特定の保全アプレットのロードを許可されるか否かをステップ616でチェック
する。許可されなければ、OPCは保全アプレットのロードは“不許可”である
というエラーメッセージを返す。S/Nが有効であり、抹消されておらず、暗号
ユニットが保全アプレットのロードを許可されていれば、ステップ618で、コ
ードキーCがOPCにあるアップレットレジストリーで捜し出されて、暗号ユニ
ットに送信される。
【0056】 このようにして、OPCは保全アプレットの初回インストレーションに対する
制御を維持する。例えば、保全アプレットが問題を修正するために書き直されて
いれば、OPCは暗号ユニットへの以前のバージョンのインストールをその後の
ユーザに許可しないであろう。あるUIDをもつ暗号ユニットが脆弱化されてい
ることがわかれば、そのUIDをもつ暗号ユニットには以降の保全アプレットの
ロードが許可されないであろう。
【0057】ROMローダー制御O/S−暗号コンテキストのスワップ 暗号ユニットのROMローダー制御プログラム(O/S)は複数ユーザを同時に
サポートする。ユーザ間での切換えを行うため、今の保全アプレットの暗号コン
テキストが暗号ユニットからアンロードされ、デスクトップPCのハードディス
クに格納される。次いで、以前に実行された保全アプレットの以前に格納された
暗号コンテキストをデスクトップPCのハードディスクから取り戻すことにより
、暗号ユニットは、そのような以前に実行された保全アプレットに対応する、以
前の暗号状態に復旧される。本明細書で用いられる、“暗号化された保全アプレ
ット”、“暗号コンテキスト”及び“暗号化コンテキストにある(をもつ、また
は、を含む)暗号化された保全アプレット”という用語は、全て実質的に等価な
用語であるとされる。
【0058】 本実施形態において、ソフトウエア開発者は、プログラムが存在する前にオン
ボードRAMの暗号プログラム制御部分222(図2)に暗号パラメータをセーブ
するように保全アプレットを構成する。ソフトウエア開発者には、どの保全パラ
メータが保全アプリケーションに必要であり、暗号ユニットを以前の暗号状態に
復旧して保全アプリケーションを継続するために必要となるであろうかがわかっ
ている。
【0059】 暗号ユニットの暗号パラメータの全てが暗号ユニットの復旧に必要となるよう
な保全アプリケーションがある。暗号パラメータのサブセットだけが必要となる
ような保全アプリケーションも他にある。別の実施形態において、暗号ユニット
は自体(暗号ユニット)の全暗号状態を、それぞれの保全アプレットに付帯する個
別ファイルに自動的に格納する。後者の場合、暗号状態の切換(暗号コンテキス
トの格納及び復旧)作業は、暗号ユニットの動作により自動的に実行され、開発
者ソフトウエアは介在しない。
【0060】 本実施形態において、ある保全アプレットに対する暗号コンテキストファイル
は保全アプレットに加えて暗号ユニットの暗号状態を含む。暗号コンテキストの
フォーマットは表I:
【表1】 に与えられる。
【0061】 クリアテキストヘッダーを除き、暗号コンテキストは暗号化される。クリアテ
キストヘッダーは以下のフィールドからなる: シリアルナンバー(S/N):S/Nは保全アプレットに対して登録プロセス時
にソフトウエア開発者に発行された原シリアルナンバーである; サイズ:暗号ユニットからアンロードされてハードディスクに格納されるべき
暗号コンテキストのバイト数に相当する; リビジョン#:初めに登録された保全アプレットの変更を追跡するために用い
られる; タイムスタンプ:アンローディング時刻における暗号ユニットのリアルタイム
クロックの内容に相当する。
【0062】 暗号コンテキストの暗号化部分は以下のフィールドからなる: プログラムデータ:プログラム実行中になされたいかなる改変も含む保全アプ
レット; ヒープ(短期記憶領域):アンロード直前の暗号ユニットの暗号状態を表すパラ
メータ; スタック:ネストされたサブルーチンに対する復帰アドレスのようなプログラ
ムスタック格納領域; MAC/署名:暗号コンテキスト全体について計算されたMAC。
【0063】 オンボードRAMの署名レジストリー部224は表II:
【表2】 のフォーマットを有する。ここで: S/N:アプレットのシリアルナンバー; MAC:PCのハードディスクに格納されたアプレット暗号コンテキストに対
するメッセージ認証コード; フラッグ:抹消されたアプレットの以降のいかなる使用も禁止するためにOP
Cにより設定される、アプレット抹消フラッグを含む署名レジストリーに格納さ
れたフラッグ; である。
【0064】図8AのROMローダー制御O/S−スワップアウト ROMローダー制御プログラム(O/S)のスワップアウト部のフローチャート
図が図8Aに示される。オペレーティングシステムのスワップアウト部の機能は
、暗号ユニットで今実行されている、暗号コンテキストを含む、保全アプレット
をデスクトップPCのハードディスクにアンロードすることである。例えば、保
全アプレットは、実行中に改変され、暗号コンテキストの一部をなす、内部レジ
スタ格納領域、スタックポインタ及びその他のプログラムパラメータをもつこと
ができる。
【0065】 図8Aにおいて、今の保全アプレットがステップ810で終了すると、暗号ユ
ニットの暗号状態がステップ812でオンボードRAMにセーブされる。格納さ
れる暗号状態は、DESエンジン(図2の218)の状態及び暗号ユニットを前記
今の状態に復旧するに必要なその他のどのような変数も含む。次いで、RAMの
内容が(図9Bに示される暗号キーセットにより)ステップ814で暗号化される
。クリアテキストヘッダー及びS/Nを含む、暗号化されたRAM内容に対する
MACがステップ816で計算され、このMACがステップ818でRAMの署
名レジストリー224に格納(または更新)される。保全ページがステップ820
で集成され、ステップ822でデスクトップPCのハードディスクに格納される
【0066】図8BのROMローダー制御O/S−スワップイン ROMローダー制御プログラム(O/S)のスワップイン部のフローチャート図
が図8Bに示される。オペレーティングシステムのスワップイン部の機能は、暗
号ユニットで実行するためにオンボードRAMに次の保全アプレットをロードす
ることであり、前記次の保全アプレットに対応する以前の暗号コンテキストを、
もしあれば、デスクトップPCのハードディスクから復旧させることを含む。
【0067】 図8Bにおいて、保全アプレットをオンボードRAMにロードするときになる
と、ROMローダー制御プログラムがまずRAMの署名レジストリー部(図2の
224)にS/Nがあるか否かをステップ830でチェックする。署名レジスト
リー224にS/Nが存在するかまたはしないかにより、この暗号ユニットがこ
の特定の保全アプレットを以前に実行したことがあるかないかが決定される。
【0068】 アプレットS/Nがレジストリーになければ、暗号ユニットはこの特定の保全
アプレットをこれまでに実行したことはない。次いで、プログラムは署名レジス
トリーが一杯であるかあるいはさらに入力する余裕があるかを確認するためのチ
ェックをステップ834で行う。署名レジストリーが一杯であれば、“レジスト
リー一杯”というエラーメッセージが返される。署名レジストリーに余裕があれ
ば、ROMローダー制御プログラムは、図6にしたがって上述したようにOPC
との保全交信を確立するネイティブモード保全アプレットを、ステップ838で
スワップインする。
【0069】 図6にともなって上述したように、ネイティブモード保全アプレットは上記の
保全アプレットのS/Nをステップ838でOPCに送信し、ステップ839で
コードキーCを入手する。やはり上述したように、暗号ユニットはこの保全アプ
レットを解読し、保全アプレットに対するMACを計算するために、受け取った
コードキーCをステップ837で用いる。ある暗号ユニットに初めてロードされ
た保全アプレットに対する解読キーセットは、図3Bにともなって上述した。
【0070】 暗号ユニットがこの特定の保全アプレットを以前に実行したことがあれば、ス
テップ830でS/Nがレジストリーに見いだされるであろう。そのような場合
には、ステップ832でRAMの署名レジストリー部(図2の224)からMAC
が取り戻される。ステップ836で保全アプレットが(その暗号コンテキストと
ともに)解読され、MACが計算される。格納されたアプレットを解読し、MA
Cを計算するためのキーセットは図9Aとともに以下で説明される。
【0071】 スワップインプロセスのこの段階においては、ROMローダー制御プログラム
(O/S)が暗号ユニットのオンボードRAMにロードしようとしている(暗号コ
ンテキストをもつ)保全アプレットにともなう3つのMACがある。署名レジス
トリーから取り戻された第1のMAC,デスクトップPCから格納された暗号コ
ンテキストとともに取り戻された第2のMAC及び入ってくる暗号化されたアプ
レットに対して計算された第3のMACがある。ステップ840で3つのMAC
の全てが互いに等しければ、ステップ842で、解読された保全アプレットがR
AMの暗号プログラム制御部にロードされ、この保全アプレットの実行が開始さ
れる。そうでなければ、ステップ840で“アクセス拒否”というエラーメッセ
ージがPCに返される。
【0072】暗号コンテキストファイル 図9A(スワップイン)及び図9B(スワップアウト)はそれぞれ、RAMの暗号
プログラム制御部222とデスクトップPCのハードディスク26の間で(それ
ぞれの暗号コンテキストにある)保全アプレットをスワップするための解読及び
暗号化キーセットを示す。詳しくは、図9Aは保全アプレットに対応する暗号コ
ンテキストを解読してPCのハードディスクから暗号ユニットのRAMにロード
(スワップイン)するための方法及びシステムを示すブロック図である。図9Bは
保全アプレットに対応する暗号コンテキストを暗号化して暗号ユニットのRAM
からPCのハードディスクにアンロード(スワップアウト)するための方法及びシ
ステムを示す。
【0073】暗号コンテキストのスワップアウト−図9B 図9Bにおいては、RAMの暗号プログラム制御部222の内容が、ハードデ
ィスク26内の暗号化されたファイル962Aとしてアンロードされなければな
らない。RAMの署名レジストリー部224はアンロードされない。第1固定ス
トリングA940,第2固定ストリングB956及び、クライアントキー942
と称される、秘密キーに基づいて様々な暗号化キーが生成される。クライアント
キー942はプログラマブルメモリ(図2の220)に格納される。クライアント
キー942用メモリは一般に不揮発性であり、ヒューズリンク、EEPROM,
電池でバックアップされたRAM等のような、いずれか適当な不揮発性メモリに
より実装することができる。格納されたクライアントキー942はそれぞれの暗
号ユニットについて一意的であり、製造時に組み込まれる。
【0074】 第1固定ストリングA940は暗号化器944でクライアントキー942を用
いて暗号化される。暗号化器944の出力は、暗号化器946で、アンロードさ
れるべきアプレットのS/N(クリアテキスト)を暗号化するためのキーとして用
いられる。暗号化器946の出力は、3重キーCBC暗号化器948で保全アプ
レットを暗号化するためのキーとして用いられる。保全アプレットをスワップア
ウトするための(暗号化器948への)暗号化キーは、保全アプレットの初回ロー
ドに用いられたキーと同じではないことに注意されたい。保全アプレットの初回
ロードに対して、用いられるキーは開発者コードキーAであった。図9Bにおい
て、アンロードに用いられるキーは、固定ストリングA940,S/N及びクラ
イアントキー942の関数である。それぞれのクライアントキーはそれぞれの暗
号ユニットについて一意的であるから、スワップアウトされてハードディスク2
6に格納された暗号コンテキストを、別の暗号ユニットにスワップして戻すこと
はできない。すなわち、保全パケットがクライアントキーを用いて暗号ユニット
からハードディスクにスワップアウトされてしまえば、スワップアウトされた(
暗号コンテキストにある)保全パケットを、異なるクライアントキーをもつ、異
なる暗号ユニットにロードすることはできない。
【0075】 (保全アプレットを含む)暗号コンテキストに対するMACを生成するため、保
全パケット950が集成される。保全パケット950は、暗号化前の保全アプレ
ットのS/N及び暗号化された(暗号コンテキストをもつ)保全アプレットからな
る。MACは、暗号化器954の出力から得られるキーを用いて保全パケットに
3重キーCBC暗号化を施すことにより生成される。図9Bからわかるように、
暗号化器954から出力されるMACキーは、固定ストリングB,(暗号化器9
46を経由した)S/N,並びに(暗号化器944及び946を経由した)クライ
アントキー942及び固定ストリングA940の関数である。
【0076】 詳しくは、暗号化器946の出力は、固定ストリングBを3重キーCBC暗号
化器952へのMACキーに暗号化する、暗号化器954への暗号化キーとして
の入力される。暗号化器952の出力にあるMACは、保全ページ958をつく
るために、保全パケットとともに集成される。保全ページ958は、スワップア
ウトされたネイティブモード保全アプレットの暗号コンテキスト960だけでな
く、他の暗号コンテキスト962Nとも一緒に、ハードディスク26に962A
として格納される。
【0077】暗号コンテキストのスワップイン−図9A 暗号ユニットが同時多発保全アプリケーションの間で切り換えられる場合に、
図9Aの既に格納されている暗号コンテキスト912,918A〜928Nが、
ハードディスク26からオンボードRAMの暗号プログラム制御部222にロー
ドされる。暗号ユニットは既に格納されている暗号コンテキスト912,918
A〜928Nをそれぞれのロード及び実行が許されるか否かを確認するために、
署名レジストリー224の内容を用いる。暗号コンテキスト912にあるネイテ
ィブモード保全アプレットは、暗号ユニットで実行される他の同時多発保全アプ
レット918A〜928Nと同じ態様で、暗号ユニットにスワップインされ、暗
号ユニットからスワップアウトされる。
【0078】 図9A(スワップイン)のキーセットは、図9B(スワップアウト)におけるキー
セットの反転暗号プロセスを実行する。詳しくは、固定ストリングA910が暗
号化器916でクライアントキー914を用いて暗号化される。暗号化器916
の出力は、ロードされるべき保全アプレットのS/N及び暗号コンテキスト91
8Aを、暗号化器920で暗号化するためのキーとして用いられる。暗号化器9
20の出力は、保全アプレット暗号コンテキストを3重キーCBC解読器922
で解読するためのアプレット解読キーとして用いられる。保全アプレットをスワ
ップインするための(解読器922への)アプレット解読キーは、スワップアウト
時に保全プレットの暗号化に用いられたキーと同じである。
【0079】 暗号コンテキスト918AのためのMACキーが、暗号化器932でアプレッ
ト解読キー(暗号化器920の出力)を用いて固定ストリングB930を初めに暗
号化することにより計算される。暗号化器932の出力は次いで、暗号化器92
6で、暗号コンテキスト918Aの保全ページ部に対して計算されるMACをつ
くるためのキーとして用いられる。このMACをチェックするため、格納された
MACがRAMの署名レジストリー部224から取り戻される。次いで、暗号化
器926の出力からの計算されたMAC,署名レジストリー224からの格納さ
れたMAC及び暗号コンテキスト918Aから受け取られたMACの3つの全て
が、コンパレータ928で比較される。3つのMACの全てが一致すればステッ
プ934に進み、受け取られた保全アプレットをRAMの暗号プログラム制御部
222にロードするためにANDゲート924がイネーブルにされる。3つのM
ACの内のいずれか1つでも他のMACと一致しなければステップ936に進み
、受け取られた保全アプレットをRAMの暗号プログラム制御部222にロード
するためのANDゲート924はイネーブルにされない。
【0080】保全アプレットのスワッピング 保全アプレットは1パスまたは2パスプロセスで暗号ユニットにスワップする
ことができる。2パスプロセスは上述されている。すなわち、オンボードRAM
の暗号プログラム制御部に暗号化された保全アプレットをロードする前に、RO
Mローダー制御プログラムが暗号化された保全アプレットを査閲する。2パス実
施形態においては、MAC署名検査が全て合格であれば、次の第2パスにおいて
保全アプレットが解読されてオンボードRAMにロードされる。第1パスでロー
ドが許されなければ、保全アプレットのいかなる部分も第2パスでオンボードR
AMにロードされることはないであろう。
【0081】 1パス実施形態においては、ROMローダー制御プログラムが暗号化された保
全アプレットを査閲すると同時に、暗号化された保全アプレットの解読及びオン
ボードRAMの暗号プログラム部への解読された保全アプレットのロードが行わ
れる。MAC署名試験(図8Bのステップ840)に合格しなければ、ロードされ
たばかりの保全アプレットに暗号ユニットに対する制御が渡されない。代わりに
、次の保全アプレットまたはネイティブモード保全アプレットがオンボードRA
Mの暗号プログラム部に、先にロードされ許可されなかった保全アプレットを上
書きして、ロードされる。しかし、MAC署名検査に合格すれば、ROMローダ
ー制御プログラムはロードされたばかりの保全アプレットに暗号ユニットに対す
る制御を渡す。
【0082】 2パス実施形態は一般に、MAC署名試験が全て行われるまでは新しい保全ア
プレットのいかなる部分もRAMの暗号プログラム制御部222にロードされな
いから、より安全である。1パス実施形態は一般に、新しい保全アプレットが第
2パスを待たずにオンボードRAMで実行を開始するので、保全アプレットのス
ワップがより速くなる。
【0083】OPCによる暗号ユニットの監査 図1の暗号ユニット44はOPC21により定期的に監査される。すなわち、
少なくとも月に1回、あるいは選ばれたその他のいずれかの時間間隔で、暗号ユ
ニット44はOPC21との交信セッションを開始する。交信は、モデム24を
介してダイヤルアップ接続するか、またはTCP/IPプロトコルを介してイン
ターネットに接続することで行うことができる。いずれの場合にも、暗号ユニッ
ト44の状態がOPC21に報告される。定期的交信の目的は、暗号ユニット4
4の状態をOPC21が期待する状態と一致させることである。
【0084】 例えば、OPC21との定期交信時に、経過時間カウンタ204(図2)が期待
値に対してチェックされ、必要であれば同期される。経過時間のいかなる大きな
不一致も不正操作の徴候であり得るし、OPCによる暗号ユニットの停止を生じ
させ得る。OPCは、アクセスレジスタ212の許可ビット216の1つまたは
それ以上を設定して、暗号ユニットを停止させることができる。停止されてしま
えば、停止された暗号ユニットはいかなる保全アプレットもロードまたは実行す
ることができない。
【0085】 また、OPC21との定期交信時に、その暗号ユニットでどの保全アプレット
がロードされて実行されたかを検分するために署名レジストリー(図2の224)
がチェックされる。保全アプレットが後に抹消されていれば(すなわち、その保
全アプレットのシステム全体にわたる実行許可が取り下げられていれば)、その
保全アプレットに対応する抹消フラッグが署名レジスタに設定されているであろ
う。その後は、許容レベル制御(図2の226)と連携して、暗号ユニット44が
抹消された保全アプレットをスワップイン(ロード)することはないであろう。
【図面の簡単な説明】
【図1】 本発明にしたがう公開暗号システムのブロック図
【図2】 本発明にしたがう公開暗号制御ユニットのブロック図
【図3A】 本発明にしたがう、暗号化されたアプレットを生成するための方法及びシステ
ムを示すフローチャート図
【図3B】 本発明にしたがう、暗号化されたアプレットを解読して公開暗号制御ユニット
のオンボードRAMに解読されたアプレットをロードするための方法及びシステ
ムを示すフローチャート図
【図4】 PCのハードディスク記憶装置に暗号化された保全アプレットを格納するため
の保全メモリページフォーマットの図
【図5】 本発明にしたがう、開発者のリクエストによる暗号統括センターにおける保全
アプレット登録プロセスを示すフローチャート図
【図6】 本発明にしたがう、暗号統括センターにおける保全アプレットのデスクトップ
PC初期化プロセスを示すフローチャート図
【図7】 本発明にしたがう、O/SのROMローダー制御プログラム部による暗号ユニ
ット初期化の方法を示すフローチャート図
【図8A】 本発明にしたがう、保全アプレットを暗号ユニットからPCにアンロード(ス
ワップアウト)するための方法を示す、O/SのROMローダー制御プログラム
部のフローチャート図
【図8B】 本発明にしたがう、保全アプレットをPCから暗号ユニットにロード(スワッ
プイン)するための方法を示す、O/SのROMローダー制御プログラム部のフ
ローチャート図
【図9A】 本発明にしたがう、保全アプレットに対応する暗号コンテキストを解読してP
Cのハードディスクから暗号ユニットのRAMにロード(スワップイン)するため
の方法及びシステムを示すブロック図
【図9B】 本発明にしたがう、保全アプレットに対応する暗号コンテキストを暗号化して
暗号ユニットのRAMからPCのハードディスクにアンロード(スワップアウト)
するための方法及びシステムを示すブロック図
【符号の説明】
10 ソフトウエア開発者PC 12 ソフトウエア開発者ツールキット 14 保全アプレット 15 リクエスト 16 ソフトウエアアプリケーション 17 シリアルナンバー 18 アプレットエンコーダー 19 コードキーC 20 配布メディア 21 暗号統括センター(OPC) 22 デスクトップPC 23 アプレットレジストリー 24 モデム 25 PCバス 26 ハードディスク 28 ネイティブ保全アプレット 30,32 暗号化された保全アプレット 34 CPU 36 ROM 38 タイムクロック 40 RAM 42 入力/出力インターフェース 44 公開暗号制御ユニット
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B076 FA00 FA13 FA19 5J104 AA01 AA16 EA01 EA16 JA13 NA02 PA07 【要約の続き】 レットを暗号化された形態でPCのハードディスクにア ンロード(スワップアウト)し、次の保全アプレットをロ ード(スワップイン)する。それぞれの保全アプレットの 暗号コンテキストはPCのハードディスクに格納された ファイルに保存される。このようにして、汎用暗号ユニ ットが複数の独立ユーザの間で利用される。

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 暗号制御ユニットを有するユーザコンピュータ、ソフトウエ
    ア開発者コンピュータ及び暗号統括センタを含む暗号キー配布システムにおいて
    : 前記ソフトウエア開発者コンピュータにおいて第1の保全アプレットを生成す
    るステップ; 前記第1の保全アプレットを前記ソフトウエア開発者コンピュータから前記暗
    号統括センターに送信するステップ; 前記ソフトウエア開発者コンピュータにおいて前記暗号統括センターから第1
    の暗号キーを受信するステップ; 前記ソフトウエア開発者コンピュータにおいて前記暗号統括センターから第1
    のシリアルナンバーを受信するステップ; 前記第1の保全アプレットを暗号化するプロセスにおいて前記第1の暗号キー
    を用いて第1の暗号化された保全アプレットを作成するステップ; 前記第1の暗号化された保全アプレットに前記第1のシリアルナンバーを添付
    して第1の保全パケットを作成するステップ;及び 前記第1の保全パケットを前記ユーザコンピュータに配布するステップ; を含むことを特徴とする方法。
  2. 【請求項2】 前記暗号制御ユニットがプログラム制御メモリを備え、前記
    方法が: 前記第1のシリアルナンバーを前記暗号制御ユニットから前記暗号統括センタ
    ーに送信するステップ; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するステップ; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するステップ;及び 前記第1の保全アプレットを前記プログラム制御メモリにロードするステップ
    ; をさらに含むことを特徴とする請求項1記載の方法。
  3. 【請求項3】 前記第1の保全アプレットを暗号化するプロセスにおいて前
    記第1の暗号キーを用いて第1の暗号化された保全アプレットを作成する前記ス
    テップが: 前記ソフトウエア開発者コンピュータにおいて前記第1の保全アプレットをプ
    ログラマーキーを用いて暗号化して、第1のプログラマー暗号化保全アプレット
    を作成するステップ; 前記ソフトウエア開発者コンピュータにおいて前記プログラマーキーを前記第
    1の暗号キーを用いて暗号化して、第1の暗号化されたプログラマーキーを作成
    するステップ;及び 前記第1の暗号化されたプログラマーキーを前記第1のプログラマー暗号化保
    全アプレットに添付して、前記第1の暗号化された保全アプレットを作成するス
    テップ; をさらに含むことを特徴とする請求項1記載の方法。
  4. 【請求項4】 前記ソフトウエア開発者コンピュータが、前記第1の暗号化
    された保全アプレット内の第1の暗号化されたプログラマーキーを作成するため
    の、前記第1の暗号キーを用いて暗号化されるプログラマーキーをさらに備え、
    前記ユーザコンピュータにおいて前記第1の暗号化された保全アプレットから前
    記第1の保全アプレットを解読するプロセスにおいて前記第1の暗号キーを使用
    する前記ステップが: 前記ユーザコンピュータにおいて前記第1のプログラマー暗号化保全アプレッ
    トを含む前記第1の保全パケットを受け取るステップ; 前記ユーザコンピュータにおいて前記第1の暗号キーを用いて前記第1の暗号
    化されたプログラマーキーを解読して、復元されたプログラマーキーを作成する
    ステップ;及び 前記復元されたプログラマーキーを用いて前記第1のプログラマー暗号化保全
    アプレットを解読して、前記第1の保全アプレットを復元するステップ; を含むことを特徴とする請求項2記載の方法。
  5. 【請求項5】 複数の保全アプレット、暗号キー及びシリアルナンバー間の
    対応を記録する保全アプレットレジストリーテーブルを格納するステップをさら
    に含み、前記保全アプレットレジストリーテーブルが、前記第1の保全アプレッ
    トに前記第1のシリアルナンバー及び前記第1の暗号キーが対応することを示す
    エントリーを有することを特徴とする請求項1記載の方法。
  6. 【請求項6】 前記ユーザコンピュータに第1のユーザ識別番号が与えられ
    ており、前記方法が: 前記ユーザコンピュータから前記暗号統括センターに前記第1のユーザ識別番
    号を送信するステップ;及び 複数の保全アプレット、暗号キー、シリアルナンバー及びユーザ識別番号間の
    対応を記録する保全アプレットレジストリーテーブルを格納するステップ; をさらに含み: 前記保全アプレットレジストリーテーブルが、前記第1の保全アプレットに前
    記第1のシリアルナンバー、前記第1の暗号キー及び前記第1のユーザ識別番号
    が対応することを示すエントリーを有する; ことを特徴とする請求項2記載の方法。
  7. 【請求項7】 前記ユーザコンピュータがユーザコンピュータハードディス
    ク記憶装置をさらに備え、前記システムが第2のソフトウエア開発者コンピュー
    タ、並びに対応する第2のシリアルナンバー及び第2の暗号キーを有する第2の
    保全アプレットをさらに含み、前記方法が: 第1のユーザコンピュータキーを用いるプロセスにおいて前記ユーザ制御メモ
    リの内容を暗号化して、第1の暗号化された保全コンテキストを作成するステッ
    プ; 前記第1の暗号化された保全コンテキストを前記ユーザコンピュータハードデ
    ィスク記憶装置に格納するステップ;及び 前記プログラム制御メモリに前記第2の保全アプレットをロードするステップ
    ; をさらに含むことを特徴とする請求項2記載の方法。
  8. 【請求項8】 請求項7記載の方法において: 第2のユーザコンピュータキーを用いるプロセスにおいて前記ユーザ制御メモ
    リの内容を暗号化して、第2の暗号化された保全コンテキストを作成するステッ
    プ; 前記第2の暗号化された保全コンテキストを前記ユーザコンピュータハードデ
    ィスク記憶装置に格納するステップ; 前記第1のユーザコンピュータキーを用いるプロセスにおいて前記第1の暗号
    化された保全コンテキストを解読して、第1の保全コンテキストを復元するステ
    ップ;及び 前記プログラム制御メモリに前記第1の保全コンテキストをロードするステッ
    プ; をさらに含むことを特徴とする方法。
  9. 【請求項9】 暗号制御ユニットを有するユーザコンピュータ、ソフトウエ
    ア開発者コンピュータ及び暗号統括センタを含む暗号キー配布システムにおいて
    : 前記ソフトウエア開発者コンピュータにおいて第1の保全アプレットを生成す
    るための手段; 前記第1の保全アプレットを前記ソフトウエア開発者コンピュータから前記暗
    号統括センターに送信するための手段; 前記ソフトウエア開発者コンピュータにおいて前記暗号統括センターから第1
    の暗号キーを受信するための手段; 前記ソフトウエア開発者コンピュータにおいて前記暗号統括センターから第1
    のシリアルナンバーを受信するための手段; 前記第1の保全アプレットを暗号化するプロセスにおいて前記第1の暗号キー
    を用いて第1の暗号化された保全アプレットを作成するための手段; 前記第1の暗号化された保全アプレットに前記第1のシリアルナンバーを添付
    して第1の保全パケットを作成するための手段;及び 前記第1の保全パケットを前記ユーザコンピュータに配布するための手段; を備えることを特徴とするシステム。
  10. 【請求項10】 前記暗号制御ユニットがプログラム制御メモリを備え、前
    記システムが: 前記第1のシリアルナンバーを前記暗号制御ユニットから前記暗号統括センタ
    ーに送信するための手段; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するための手段; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するための手段;及び 前記第1の保全アプレットを前記プログラム制御メモリにロードするための手
    段; をさらに備えることを特徴とする請求項9記載のシステム。
  11. 【請求項11】 前記第1の保全アプレットを暗号化するプロセスにおいて
    前記第1の暗号キーを用いて第1の暗号化された保全アプレットを作成するため
    の前記手段が: 前記ソフトウエア開発者コンピュータにおいて前記第1の保全アプレットをプ
    ログラマーキーを用いて暗号化して、第1のプログラマー暗号化保全アプレット
    を作成するための手段; 前記ソフトウエア開発者コンピュータにおいて前記プログラマーキーを前記第
    1の暗号キーを用いて暗号化して、第1の暗号化されたプログラマーキーを作成
    するための手段;及び 前記第1の暗号化されたプログラマーキーを前記第1のプログラマー暗号化保
    全アプレットに添付して、前記第1の暗号化された保全アプレットを作成するた
    めの手段; をさらに備えることを特徴とする請求項9記載のシステム。
  12. 【請求項12】 前記ソフトウエア開発者コンピュータが、前記第1の暗号
    化された保全アプレット内の第1の暗号化されたプログラマーキーを作成するた
    めの前記第1の暗号キーを用いて暗号化されるプログラマーキーをさらに備え、
    前記ユーザコンピュータにおいて前記第1の暗号化された保全アプレットから前
    記第1の保全アプレットを解読するプロセスにおいて前記第1の暗号キーを使用
    するための前記手段が: 前記ユーザコンピュータにおいて前記第1のプログラマー暗号化保全アプレッ
    トを含む前記第1の保全パケットを受け取るための手段; 前記ユーザコンピュータにおいて前記第1の暗号キーを用いて前記第1の暗号
    化されたプログラマーキーを解読して、復元されたプログラマーキーを作成する
    ための手段;及び 前記復元されたプログラマーキーを用いて前記第1のプログラマー暗号化保全
    アプレットを解読して、前記第1の保全アプレットを復元するための手段; を備えることを特徴とする請求項10記載のシステム。
  13. 【請求項13】 複数の保全アプレット、暗号キー及びシリアルナンバー間
    の対応を記録する保全アプレットレジストリーテーブルを格納するための手段を
    さらに備え、前記保全アプレットレジストリーテーブルが、前記第1の保全アプ
    レットに前記第1のシリアルナンバー及び前記第1の暗号キーが対応することを
    示すエントリーを有することを特徴とする請求項9記載のシステム。
  14. 【請求項14】 前記ユーザコンピュータに第1のユーザ識別番号が与えら
    れており、前記システムが: 前記ユーザコンピュータから前記暗号統括センターに前記第1のユーザ識別番
    号を送信するための手段;及び 複数の保全アプレット、暗号キー、シリアルナンバー及びユーザ識別番号間の
    対応を記録する保全アプレットレジストリーテーブルを格納するための手段; をさらに備え: 前記保全アプレットレジストリーテーブルが、前記第1の保全アプレットに前
    記第1のシリアルナンバー、前記第1の暗号キー及び前記第1のユーザ識別番号
    が対応することを示すエントリーを有する; ことを特徴とする請求項10記載のシステム。
  15. 【請求項15】 前記ユーザコンピュータがユーザコンピュータハードディ
    スク記憶装置をさらに備え、前記システムが第2のソフトウエア開発者コンピュ
    ータ、並びに対応する第2のシリアルナンバー及び第2の暗号キーを有する第2
    の保全アプレットを含み、前記システムが: 第1のユーザコンピュータキーを用いるプロセスにおいて前記ユーザ制御メモ
    リの内容を暗号化して、第1の暗号化された保全コンテキストを作成するための
    手段; 前記第1の暗号化された保全コンテキストを前記ユーザコンピュータハードデ
    ィスク記憶装置に格納するための手段;及び 前記プログラム制御メモリに前記第2の保全アプレットをロードするための手
    段; をさらに備えることを特徴とする請求項10記載のシステム。
  16. 【請求項16】 請求項15記載のシステムにおいて: 第2のユーザコンピュータキーを用いるプロセスにおいて前記ユーザ制御メモ
    リの内容を暗号化して、第2の暗号化された保全コンテキストを作成するための
    手段; 前記第2の暗号化された保全コンテキストを前記ユーザコンピュータハードデ
    ィスク記憶装置に格納するための手段; 前記第1のユーザコンピュータキーを用いるプロセスにおいて前記第1の暗号
    化された保全コンテキストを解読して、第1の保全コンテキストを復元するため
    の手段;及び 前記プログラム制御メモリに前記第1の保全コンテキストをロードするための
    手段; をさらに備えることを特徴とするシステム。
  17. 【請求項17】 暗号制御ユニットを有するユーザコンピュータ、ソフトウ
    エア開発者コンピュータ及び暗号統括センターを含み、前記ソフトウエア開発者
    コンピュータが第1の保全アプレットを生成し、第1の暗号キーを用いるプロセ
    スにおいて前記第1の保全アプレットを暗号化して第1の暗号化された保全アプ
    レットを作成し、前記第1の暗号化された保全アプレットを前記ユーザコンピュ
    ータに配布する、暗号キー配布システムにおいて、前記暗号統括センターにおけ
    る暗号キー配布方法が: 前記暗号統括センターにおいて前記ソフトウエア開発者コンピュータから前記
    第1の保全アプレットを受信するステップ; 前記暗号統括センターから前記ソフトウエア開発者コンピュータに第1のシリ
    アルナンバーを送信するステップ; 前記暗号統括センターから前記ソフトウエア開発者コンピュータに第1の暗号
    キーを送信するステップ; 前記暗号統括センターにおいて前記暗号制御ユニットから前記第1のシリアル
    ナンバーを受信するステップ;及び 前記暗号統括センターから前記暗号制御ユニットに前記第1の暗号キーを送信
    するステップ; を含むことを特徴とする方法。
  18. 【請求項18】 前記暗号制御ユニットがプログラム制御メモリを備え、前
    記方法が: 前記暗号制御ユニットにおいて前記第1のシリアルナンバーが与えられた前記
    第1の暗号化された保全アプレットを受け取るステップ; 前記暗号制御ユニットから前記暗号統括センターに前記第1のシリアルナンバ
    ーを送信するステップ; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するステップ; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するステップ;及び 前記プログラム制御メモリに前記第1の保全アプレットをロードするステップ
    ; をさらに含むことを特徴とする請求項17記載の方法。
  19. 【請求項19】 ソフトウエア開発者コンピュータ及び暗号統括センターを
    有し、前記ソフトウエア開発者コンピュータが第1のシリアルナンバーで識別さ
    れる第1の保全アプレットを生成し、第1の暗号キーを用いるプロセスにおいて
    前記第1の保全アプレットを暗号化して第1の暗号化された保全アプレットを作
    成する、暗号キー配布システムであって、プログラム制御メモリをもつ暗号制御
    ユニットを有するユーザコンピュータをさらに含む前記システムにおいて: 前記暗号制御ユニットにおいて前記第1のシリアルナンバーが与えられた前記
    第1の暗号化された保全アプレットを受け取るステップ; 前記暗号統括センターに前記第1のシリアルナンバーを送信するステップ; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するステップ; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するステップ;及び 前記プログラム制御メモリに前記第1の保全アプレットをロードするステップ
    ; を含むことを特徴とする方法。
  20. 【請求項20】 暗号制御ユニットを有するユーザコンピュータ、ソフトウ
    エア開発者コンピュータ及び暗号統括センターを含み、前記ソフトウエア開発者
    コンピュータが第1の保全アプレットを生成し、第1の暗号キーを用いるプロセ
    スにおいて前記第1の保全アプレットを暗号化して第1の暗号化された保全アプ
    レットを作成し、前記第1の暗号化された保全アプレットを前記ユーザコンピュ
    ータに配布する、暗号キー配布システムにおいて、前記暗号統括センターにおけ
    る暗号キー配布システムが: 前記暗号統括センターにおいて前記ソフトウエア開発者コンピュータから前記
    第1の保全アプレットを受信するための手段; 前記暗号統括センターから前記ソフトウエア開発者コンピュータに第1のシリ
    アルナンバーを送信するための手段; 前記暗号統括センターから前記ソフトウエア開発者コンピュータに第1の暗号
    キーを送信するための手段; 前記暗号統括センターにおいて前記暗号制御ユニットから前記第1のシリアル
    ナンバーを受信するための手段;及び 前記暗号統括センターから前記暗号制御ユニットに前記第1の暗号キーを送信
    するための手段; を備えることを特徴とするシステム。
  21. 【請求項21】 前記暗号制御ユニットがプログラム制御メモリを備え、前
    記システムが: 前記暗号制御ユニットにおいて前記第1のシリアルナンバーが与えられた前記
    第1の暗号化された保全アプレットを受け取るための手段; 前記暗号制御ユニットから前記暗号統括センターに前記第1のシリアルナンバ
    ーを送信するための手段; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するための手段; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するための手段;及び 前記プログラム制御メモリに前記第1の保全アプレットをロードするための手
    段; をさらに備えることを特徴とする請求項20記載のシステム。
  22. 【請求項22】 ソフトウエア開発者コンピュータ及び暗号統括センターを
    有し、前記ソフトウエア開発者コンピュータが第1のシリアルナンバーで識別さ
    れる第1の保全アプレットを生成し、第1の暗号キーを用いるプロセスにおいて
    前記第1の保全アプレットを暗号化して第1の暗号化された保全アプレットを作
    成する、暗号キー配布システムであって、プログラム制御メモリをもつ暗号制御
    ユニットを有するユーザコンピュータをさらに含む前記システムにおいて: 前記暗号制御ユニットにおいて前記第1のシリアルナンバーが与えられた前記
    第1の暗号化された保全アプレットを受け取るための手段; 前記暗号統括センターに前記第1のシリアルナンバーを送信するための手段; 前記暗号制御ユニットにおいて前記暗号統括センターから前記第1の暗号キー
    を受信するための手段; 前記第1の暗号化された保全アプレットから前記第1の保全アプレットを解読
    するプロセスにおいて前記第1の暗号キーを使用するための手段;及び 前記プログラム制御メモリに前記第1の保全アプレットをロードするための手
    段; を備えることを特徴とするシステム。
JP2000618806A 1999-05-17 2000-05-15 公開暗号制御ユニット及びそのシステム Pending JP2003526965A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/313,295 1999-05-17
US09/313,295 US6449720B1 (en) 1999-05-17 1999-05-17 Public cryptographic control unit and system therefor
PCT/US2000/013239 WO2000070429A1 (en) 1999-05-17 2000-05-15 Public cryptographic control unit and system therefor

Publications (2)

Publication Number Publication Date
JP2003526965A true JP2003526965A (ja) 2003-09-09
JP2003526965A5 JP2003526965A5 (ja) 2007-07-26

Family

ID=23215163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000618806A Pending JP2003526965A (ja) 1999-05-17 2000-05-15 公開暗号制御ユニット及びそのシステム

Country Status (8)

Country Link
US (1) US6449720B1 (ja)
EP (1) EP1190291A1 (ja)
JP (1) JP2003526965A (ja)
CN (1) CN1350670A (ja)
AU (1) AU5133500A (ja)
HK (1) HK1046973A1 (ja)
TW (1) TW475103B (ja)
WO (1) WO2000070429A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310517A (ja) * 2006-05-17 2007-11-29 Sony Corp 情報処理装置および情報処理方法、並びにプログラム

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001053909A2 (en) * 2000-01-18 2001-07-26 Telcordia Technologies, Inc. Method and systems for data security
US6895506B1 (en) * 2000-05-16 2005-05-17 Loay Abu-Husein Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
SG118081A1 (en) * 2000-07-24 2006-01-27 Sony Corp Information processing method inter-task communication method and computer-excutable program for thesame
US20020095382A1 (en) * 2001-01-10 2002-07-18 Hiroki Taoka Content decryption device
US20020114457A1 (en) * 2001-01-26 2002-08-22 Takahiro Sato LSI having interpreter function and information recording/reproducing apparatus using the same
DE10105053A1 (de) * 2001-02-05 2002-08-29 Hmd Software Ag Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet
US20040015958A1 (en) * 2001-05-15 2004-01-22 Veil Leonard Scott Method and system for conditional installation and execution of services in a secure computing environment
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
CN1162783C (zh) * 2001-11-09 2004-08-18 汪文虎 一种信息安全方法
US20030196113A1 (en) * 2002-04-10 2003-10-16 Chris Brown System and method for providing a secure environment for performing conditional access functions for a set top box
US7350069B2 (en) * 2002-04-18 2008-03-25 Herz Frederick S M System and method which employs a multi user secure scheme utilizing shared keys
US7631318B2 (en) * 2002-06-28 2009-12-08 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
US7254719B1 (en) 2002-08-08 2007-08-07 Briceno Marc A Method and system for protecting software
WO2004070587A1 (en) * 2003-02-03 2004-08-19 Nokia Corporation Architecture for encrypted application installation
JP4371711B2 (ja) * 2003-06-11 2009-11-25 キヤノン株式会社 情報処理装置およびその制御方法、並びに、コンピュータプログラム
US7792300B1 (en) * 2003-09-30 2010-09-07 Oracle America, Inc. Method and apparatus for re-encrypting data in a transaction-based secure storage system
US7657036B2 (en) * 2004-09-21 2010-02-02 Qualcomm Incorporated Determining a session encryption key during a broadcast/multicast service session using secure real-time transport protocol
JP2006133038A (ja) * 2004-11-04 2006-05-25 Denso Corp ナビゲーション装置
US20060117004A1 (en) * 2004-11-30 2006-06-01 Hunt Charles L System and method for contextually understanding and analyzing system use and misuse
US7899754B2 (en) * 2004-12-03 2011-03-01 International Business Machines Corporation Enablement of system features with improved feature key
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
FR2880441B1 (fr) * 2004-12-31 2010-06-18 Trusted Logic Chargement dynamique securise
US7337578B2 (en) * 2005-03-21 2008-03-04 Darren Edward Pieczynski Planer board lighting device
JP4851182B2 (ja) * 2005-12-28 2012-01-11 ルネサスエレクトロニクス株式会社 マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム
JP4881023B2 (ja) * 2006-02-01 2012-02-22 キヤノン株式会社 情報処理装置及び当該装置におけるオブジェクト指向プログラムの実行方法とそのプログラム
US8165963B2 (en) * 2006-05-04 2012-04-24 Avaya Inc. License scheme for use with stackable devices
JP2009537042A (ja) * 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド 保安データを管理する装置およびその方法
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8559637B2 (en) * 2008-09-10 2013-10-15 Verizon Patent And Licensing Inc. Securing information exchanged via a network
US8271995B1 (en) * 2008-11-10 2012-09-18 Google Inc. System services for native code modules
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US8589667B2 (en) 2010-04-19 2013-11-19 Apple Inc. Booting and configuring a subsystem securely from non-local storage
US9009472B2 (en) * 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations
US9887838B2 (en) * 2011-12-15 2018-02-06 Intel Corporation Method and device for secure communications over a network using a hardware security engine
EP2819057B1 (en) * 2013-06-24 2017-08-09 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product
EP3020013A4 (en) * 2013-07-12 2017-02-15 Google, Inc. Systems, methods, and computer program products for enabling instrument credentials
US9967319B2 (en) * 2014-10-07 2018-05-08 Microsoft Technology Licensing, Llc Security context management in multi-tenant environments
US9116768B1 (en) * 2014-11-20 2015-08-25 Symantec Corporation Systems and methods for deploying applications included in application containers
EP3048553B1 (en) * 2015-01-22 2019-06-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for distributing applets, and entities for distributing applets
CN114616569A (zh) * 2020-02-27 2022-06-10 谷歌有限责任公司 利用外部资源的安全元件

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744377A (ja) * 1993-07-30 1995-02-14 Nippon Telegr & Teleph Corp <Ntt> 流通ソフトウェア偽造防止方法と装置
JPH08166879A (ja) * 1994-06-10 1996-06-25 Sun Microsyst Inc 提供用ソフトウェアの安全性強化方法及び装置
JPH08305558A (ja) * 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
JPH0922352A (ja) * 1995-07-07 1997-01-21 Mitsubishi Electric Corp 著作権管理装置
JPH0944353A (ja) * 1995-07-31 1997-02-14 Toshiba Corp 復号鍵管理方法およびその方法が適用されるコンピュータ、並びに復号鍵を使用したソフトウェア流通方法および流通システム
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
JPH10301772A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
WO1998052161A2 (en) * 1997-05-15 1998-11-19 Mondex International Limited Key transformation unit for an ic card
JPH10312277A (ja) * 1997-05-13 1998-11-24 Nakamichi Corp ソフトウェア配給方法
JP2001525956A (ja) * 1997-05-15 2001-12-11 モンデックス インターナショナル リミテッド アプリケーション履歴リストを有する集積回路カード
JP2001527675A (ja) * 1997-05-15 2001-12-25 モンデックス インターナショナル リミテッド Icカード配送鍵セット

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301231A (en) 1992-02-12 1994-04-05 International Business Machines Corporation User defined function facility
US5615264A (en) 1995-06-08 1997-03-25 Wave Systems Corp. Encrypted data package record for use in remote transaction metered data system
JPH10107787A (ja) 1996-09-27 1998-04-24 Mitsubishi Corp データ管理システム
US6105008A (en) * 1997-10-16 2000-08-15 Visa International Service Association Internet loading system using smart card
US6178504B1 (en) * 1998-03-12 2001-01-23 Cheyenne Property Trust C/O Data Securities International, Inc. Host system elements for an international cryptography framework
US6233341B1 (en) * 1998-05-19 2001-05-15 Visto Corporation System and method for installing and using a temporary certificate at a remote site
US6112246A (en) * 1998-10-22 2000-08-29 Horbal; Mark T. System and method for accessing information from a remote device and providing the information to a client workstation

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744377A (ja) * 1993-07-30 1995-02-14 Nippon Telegr & Teleph Corp <Ntt> 流通ソフトウェア偽造防止方法と装置
JPH08166879A (ja) * 1994-06-10 1996-06-25 Sun Microsyst Inc 提供用ソフトウェアの安全性強化方法及び装置
JPH08305558A (ja) * 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
JPH0922352A (ja) * 1995-07-07 1997-01-21 Mitsubishi Electric Corp 著作権管理装置
JPH0944353A (ja) * 1995-07-31 1997-02-14 Toshiba Corp 復号鍵管理方法およびその方法が適用されるコンピュータ、並びに復号鍵を使用したソフトウェア流通方法および流通システム
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
JPH10301772A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
JPH10312277A (ja) * 1997-05-13 1998-11-24 Nakamichi Corp ソフトウェア配給方法
WO1998052161A2 (en) * 1997-05-15 1998-11-19 Mondex International Limited Key transformation unit for an ic card
JP2001525956A (ja) * 1997-05-15 2001-12-11 モンデックス インターナショナル リミテッド アプリケーション履歴リストを有する集積回路カード
JP2001525957A (ja) * 1997-05-15 2001-12-11 モンデックス インターナショナル リミテッド Icカードのための鍵配送ユニット
JP2001527675A (ja) * 1997-05-15 2001-12-25 モンデックス インターナショナル リミテッド Icカード配送鍵セット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310517A (ja) * 2006-05-17 2007-11-29 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
US8468493B2 (en) 2006-05-17 2013-06-18 Sony Corporation Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
US6449720B1 (en) 2002-09-10
AU5133500A (en) 2000-12-05
EP1190291A1 (en) 2002-03-27
TW475103B (en) 2002-02-01
WO2000070429A1 (en) 2000-11-23
CN1350670A (zh) 2002-05-22
HK1046973A1 (zh) 2003-01-30

Similar Documents

Publication Publication Date Title
JP2003526965A (ja) 公開暗号制御ユニット及びそのシステム
KR100809977B1 (ko) 집적 시스템 내에서의 보안 운영의 활성화 방법, 보안 운영의 초기화 방법, 암호화된 데이터의 변환 방법 및 집적 시스템 기능의 복원 방법
CN109284586B (zh) 一种软件授权许可实现方法和装置
US6334118B1 (en) Software rental system and method for renting software
US7461268B2 (en) E-fuses for storing security version data
US7725614B2 (en) Portable mass storage device with virtual machine activation
US20020157010A1 (en) Secure system and method for updating a protected partition of a hard drive
EP0302710A2 (en) A method of controlling the use of computer programs
US8190912B2 (en) Program development method, program development supporting system, and program installation method
JPH10171648A (ja) アプリケーションを認証する装置
US20080126705A1 (en) Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
US20040236959A1 (en) Security key generation method
JP2005293357A (ja) ログインシステム及び方法
JP2779092B2 (ja) Icカードとそのデータ記憶用メモリの消去方法
JP2003523003A (ja) 他のソフトウェアの使用を正当なユーザのみに規制するためのソフトウェアおよびその方法
CA2638955C (en) Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP2002189526A (ja) 配信システム
US20070106616A1 (en) License information management apparatus and license information management method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110208