説明

大容量記憶装置におけるデータの暗号化/復号化の方法

【課題】大容量記憶媒体においてデータの暗号化/復号化を行う方法を提供する。
【解決手段】関連キーを含む多数の異なる暗号化/復号化アルゴリズムを、ハードディスクドライブにおけるブロック/セクターのような、媒体の異なる記憶エリアで利用でき、それによってデータの安全性をかなり増す。加えて、データの安全性を更に増すため前記キーを乱数と組み合わせる方法、ブロック/セクター番号が関連キーと乱数を含むアルゴリズムを選択するために使用され、eメール、ネットワークトラフィックなど、及び別のタイプの電子データを暗号化/復号化するためにも利用できる。確定したキーキャリアに関連して確定したオペレーションシステム及び/または環境を、ディスクシステムのマスターブートレコードを変えることによって選択するためにも使用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを安全に暗号化(暗号にする)、スクランブル、復号化(復号する)及び逆スクランブルする方法、更に詳しくは、大容量記憶バスによって、デジタルカメラ、デジタルサウンド/ビデオレコーダー(コンピューターシステムと称する)に接続された、ディスクユニット、テープユニットまたは別の電子的/機械的/光学的な大容量記憶媒体(大容量記憶装置)のような、大容量記憶装置に書き込むか、それから読み取る時、安全にデータの暗号化及び復号化する方法に関するものである。
【背景技術】
【0002】
コンピューターシステムは、大容量記憶装置にプログラムとデータを記憶している。そのような記憶データへの権限のないアクセスが知られており、その脅威が増している。そのような記憶情報を保護する通常の方法は、コンピューターシステムのユーザーからユーザーネームとパスワードを要求することで、それによってデータに対する権限のないアクセスを避けている。
【0003】
標準的なユーザー確認方法がないと、権限のない人間が大容量記憶装置に記憶された情報のどの部分にもアクセスしても、殆ど気付かなく;権限のない人間が、(外部の大容量記憶ユニットを具備した数個のシステムにおいて、とても簡単に)コンピューターから記憶装置を取り外すことができ、その記憶装置を別のコンピューターシステムの中に入れて、大容量記憶ユニットに記憶された情報を読み込み/使い、任意にデータを変更すること(不正手段)さえもする。大容量記憶データの盗みは実質的に増加しており脅威である。
【0004】
情報を大容量記憶媒体に記憶する前に、暗号化によって情報を安全にすることが知られている。暗号化されたファイルまたはデータセグメントは、それらを使用する前に、復号化しなければならない。データが書き込まれて記憶ユニットに戻される時、データを再び暗号化しなければならない。このプロセスは、ユーザーにとって特別な手順を運用させることになるが、そのような予防措置が使用にとても効果的であるため、よく利用されている。
【0005】
また殆んどのコンピューターオペレーティングシステムでは、現在処理中の情報の作業ファイル(スワップファイル、テンポラリーファイル)を使用するように構成されている。機密データは作業ファイル内に利用可能なように残ることができる。ユーザーがジョブを終了して、データがディスクに書き込まれて、暗号化され、安全になったと思っても、その分野の専門家はデータと資料を作業ファイルから抜き取ることができる。
【0006】
それらの作業コピーが削除された時でも、普通は削除が大容量記憶媒体でエリアをマークするだけで、データを自由に使えて、消去していないので、作業コピーは未だ修復可能である。確実にデータを消去するには、媒体をランダムデータで何度も書き込まなければならず、それで確実に大容量記憶媒体の削除部分で利用可能な情報をなくすようにしている。この手順は大容量媒体の機密である。上記の例が媒体の磁気タイプに関して典型的なものであり、電子/機械/光学的な媒体とは異なっており;書き込みはフラッシュ媒体(flash media)の寿命を劇的に縮めるので、フラッシュ媒体へ何回も書き込んで戻すことはできない。
【0007】
それらの手順は、大量のコンピュータープロセッシング及び特別に設計されたソフトウェアの使用を含んでいる。
【0008】
ソフトウェア暗号化プログラムを使用すると、それを処理する時、割り当て済み暗号化キーが露呈される。権限のない人間、ウィルスプログラム、スパイプログラムなどが、それらの露呈したキーを使用して、記憶されたデータを復号化し得る。
【0009】
大容量記憶データを安全にして上記いくつかの欠点を避けるために、大容量記録装置における全ての記録データを暗号化し、そのような大容量記録装置から読み出される全てのデータを復号化することが可能であることは知られている。
【0010】
この考えの利点は、大容量記憶装置における全てのデータが、常に暗号化されることである。これは専用プログラムを実行させ、大容量装置へ、またそれからのデータストリームを処理することによって、達成される。
【0011】
しかし前記のプログラムを記憶しても、暗号化できない。なぜなら大容量記録装置に記録された情報を復号化できるようにするためには、コンピューターシステムがプログラムの実行を読み取り、スタートできるようにする必要があるからである。もし大容量記録装置に記憶された全ての情報を、暗号化しようとすれば、そこに記憶されたデータを暗号化しないで、プログラムを第二記録装置に記憶させる必要がある。そのようなシステムにおける別の明らかな欠点は、暗号化/復号化プロセスの際に、計算機リソースに対して要求すると、コンピューターシステムのユーザーのためのプロセッサリソースを多く失わせ、暗号化キーを使用する時に暗号化キーを露呈したままになる。
【0012】
米国特許明細書第5,513,262号(van Rumpt 等.)は、電子装置をコンピューターシステムと大容量記憶装置を接続するバスに挿入することによって、コンピューター内の大容量記憶装置を往来して送信されるデータを、暗号化し復号化する電子装置を開示している。
【0013】
接続バスは、例えばハードディスクドライブコントローラーに関する指令コードを流す。指令は、電子装置によって認識され、装置は指令を変えないで通し、その間にコードが電子装置の中の大容量記憶装置を往来する時、データはフライにおいて暗号化/復号化される。
【0014】
暗号化/復号化は、暗号化/復号化アルゴリズム(DSE)と暗号化/復号化キーを電子装置の中を通るデータストリーム(データの流れ)に供給することによって、達成される。しかしその明細書では、キーを安全な方法で符号化/復号化装置に入れる方法を開示していない。
【0015】
一つの可能な解決手段は、ユニットの中でハードコード化されるキーであるが、もし例えば使用したキーが偶然に露出されるなら、置換可能なキーがより好ましい。暗号化/復号化装置の製造は、全ての使用コードのトラックを保持必要もあり、もし例えば使用する電子装置が破損すると、記録データにアクセスするためにはそれを取り替えなければならない。従って、ハードコード化キーを特別な装置にリンクさせるインデックスが必要で、それ自体の安全性に危険がある。
【0016】
キーの置換は、キーをコンピューターシステムから電子装置へ、コンピューターと大容量記憶装置との間の相互連結バスを介して転送することを含んでいる。その手段はコンピューターシステム内の中央プロセッサユニットを具備している。コンピューターシステムに寄生する、ウイルス、ワームまたはトロイの木馬コード(Trojan code)のような不当なソフトウェアが、キーの転送時に乗っ取られ、暗号化が危険にさらされ得る。
【0017】
英国特許出願明細書GB 2,264,374は、ホストコンピューターと大容量記憶装置との間に挿入される別の装置を開示している。データが数個のデータバッファの間を流れ、それは低速テープ記録システムに受け入れ可能であるが、装置の構造は最新の高速ハードディスクドライブに役立たない。更に符号化/復号化は記憶部分におけるデータブロック機構に依存し、それにより暗号化/復号化装置コンピューターシステムを独立させる。しかしその特許明細書は、個別端子を開示しており、そこではコンピューターに中央プロセッシングユニットを具備してなく、オペレーターが暗号化/復号化キーを符号化/復号化装置に直接入れることができる。スマートカードのような個別キー記憶媒体からの個別チャンネル供給キーを使用しても、データストリームを危険にさらし、そして/または操作され得る。
【0018】
従来技術の主な欠点の一つは、これまで知られている全ての方法が一つのアルゴリズムと一つのキーを、記憶媒体の全内容に利用していることである。等しいデータの集合が、キーと使用されている暗号化方法を解読するために使用できる同じパターンで、暗号化しようとしている。シナリオを描写する簡単な例は、英語“is”が例えば“ce”に暗号化される。“is”が英語のテキストにおいてよくあるフレーズであること、この二文字の組み合わせが文章内でかなりよく出る第二のフレーズであること、を認識することによって、この観察とパターンは使用されているコードを解読する助けになる。
【発明の開示】
【発明が解決しようとする課題】
【0019】
添付した特許請求の範囲と本発明の実施形態の例に記載した本発明は、コンピューターシステムまたは類似のシステム環境において大容量記憶媒体を往来する、暗号化/復号化データを記録及び検索できるように、改善した方法を提供する。
【課題を解決するための手段】
【0020】
本発明は、多数の暗号化/復号化アルゴリズム及びキーの一つで、大容量記録媒体におけるアドレス付け可能なエリアに配置されたデータを、暗号化、復号化できる方法を提供し、そこでデータ項目に使用されている現行のアルゴリズム及びキーの選択が、大容量記録媒体において前記アドレス可能エリアをスパン化する上位アドレス限界と下位アドレス限界の物理的なアドレスを基にする。
【0021】
本発明の実施形態による装置の構成は、フライにおいてeメールまたは別のタイプの電子メッセージを暗号化/復号化のために使用できる。キー及びそれに対応するアルゴリズムは、公開キーと私用キーを提供するシステムにできる。この方法で、eメールによる人の連絡が、彼等独自の私用キーと、メッセージを公開キーとアルゴリズムで暗号化して情報を交換することによって、メッセージに対する保護チャンネルを確立することができる。
【発明の効果】
【0022】
本発明の好ましい実施形態において、同じ大容量記憶媒体に記憶された時でも、異なるオペレーティングシステムを全体的に独立且つ分離でき、適切なキーをそのオペレーティング環境のために本発明による装置に挿入すると、コンピューターシステムの中にだけロードできるような、方法を提供する。本発明の一実施例において、コンピューターシステムのユーザー/管理者が、キーを保護チャンネル上の暗号化/復号化装置に転送するキーキャリアに記憶され暗号化された独自のキーを有する。この構成は、ユーザー/管理者に独自のデータファイルと許容オペレーティング環境にアクセスできるようにする。そのようなキーが装置から削除されると、本発明の好ましい実施形態により実行される可能な動作が、以下の中の一つであり得、それはコンピューターを閉じること、直ぐにコンピューター内のプログラムの実行を停止すること、事前に決められた時間間隔の後でプログラムの実行を停止させるか、またはコンピューターシステムを再ブートするまで、コンピューターを作動させたままにすることである。この点で、ブートが再びスタートする時、キーが必要になる。本発明の特別な実施形態による方法は、従来技術を超えてコンピューターサーバーシステム内のデータの安全性を実質的に改善したものである。
本発明の特徴は、キーを本発明の実施形態において動作する暗号化/復号化アルゴリズムに与えるため、安全で干渉しない方法を提供することである。
【図面の簡単な説明】
【0023】
【図1】本発明の実施例の一例の概略図。
【図2】暗号化/復号化キーをスマートカード、または別のタイプのキーのキャリアから、本発明による装置へ伝えるための保護チャンネルの概略図。
【図3】本発明の好ましい実施例による電子装置における機能装置の概略的なレイアウトと相互接続の図。
【図4】本発明の一実施例による暗号化プロセス。
【図5】本発明の一実施例による暗号化プロセスの図。
【図6】本発明による暗号化プロセスの好ましい実施例。
【図7】図3に示された本発明の実施例によるコンパレーターシステムの概略図。
【図8】ディスクシステムのマスターブート記録を交換可能な本発明によるシステム。
【発明を実施するための形態】
【0024】
大容量記憶装置が、(ケーブル、銅、またはファイバーなどのような)大容量記憶バスによって、コンピューターシステムに接続され、大容量記憶バスがデータ、制御コード及び、大容量記憶装置とコンピューターシステムとの間の状況コードを伝える。
【実施例1】
【0025】
そのようなバスシステムと、この目的に私用されるプロトコルに幾つかのタイプがある。それらの一例は、SCSI、IDE、AT、ATA、USB、Fire Wire、Fiber Channelなどである。それらのバスのタイプは、本技術の専門家によく。知られている
【0026】
本発明は、それらバスプロトコルの一つかそれ以上を使用できる。
【0027】
本発明の実施例による電子装置13が、図1に示されている。大容量記憶バスは、装置13を通して、コンピューターに連絡しており、装置13がバスセグメント11を介してコンピューター10と連絡する第一端部12と、バスセグメント15を介して大容量記憶バス装置16と連絡する第二端部14とを備えている。バスセグメント15は典型的に、本技術の専門家とって明らかなように、標準的な大容量記憶バスプロトコルを使用している。バスセグメント11は、セグメント15と同じプロトコルを使用できるが、別に例えば直列バスにでき、その際セグメント15が並列バスである。装置13が何らかの方法で、データを受けるか、またはコンピューターシステム10を大容量記憶装置16にリンクさせる両方の端部を往来するようにデータを伝達する。セグメント11を介してコンピューターシステム10から送信されたデータは、装置13におけるフライで暗号化され、大容量記憶装置16からセグメント15を介してコンピューター10へ送信されたデータが、同じ装置13におけるフライで復号化される。本発明の実施例において、セグメント11とセグメント15は異なるバスプロトコルを利用しており、装置13も二つのプロトコルの間の翻訳プログラムとして役立ち、同時にフライにおいてユーザーデータを暗号化/復号化する。
【0028】
本発明によると、装置13は異なる方法で構成できる。例えば図3に示したような機能装置は、ハードディスクコントローラーの組込部分として構成できる。この場合、バスセグメント11は典型的に、大容量記憶バスである。
【0029】
バス15は典型的に、ハードディスクドライバーシステムに直接接続するように画定される。
【0030】
本発明による実施例の別の例において、装置13はコンピューターシステムのマザーボードの一部になるように設計された回路である。典型的にバスセグメント11は、マザーボードの内部バスを画定することにより実行されるか、マザーボード、例えばダイレクトメモリーアクセスチャンネル(Direct Memory Access channel)におけるプログラム可能な入力/出力装置との接続に合わせて作られている。バスセグメント15は大容量記憶バスである。
【0031】
コンピューターシステムと大容量記憶装置との間で転送されるデータを、二つのカテゴリー:コマンド/コントロールコードとユーザーコードに分けることができる。コマンド/コントロールコードはすべて、状況コード、フォーマッティングコード及び、大容量記憶媒体のデータ編成を特定するコードを含んだ、大容量記憶装置のコマンド/コントロールに関する情報であり、そのオペレーションを行うためのもので、そのロケーションを媒体などに使用するためのものである。
【0032】
コマンド/コントロールコードが、バス11から装置13の第一端部12を介して読み込まれ、そして暗号化または復号化なしで(しかし、ここでは場合によって選択的に行われる)、バス15への第二側部14に関する装置13によって読み込まれる。大容量記憶装置コントローラーが、大容量記憶装置の製造仕様に関連してそれらのコマンド/コントロールに作用する。選択的な指示コマンド/コードの構成が装置13に作用して、装置13の内部で暗号化キー、アルゴリズムと、別の操作関数及び特徴を選択する拡張コントロール/コードを送信するために使用される。
【0033】
そのようなコマンド/コントロールコードを認識する方法の方式を、普通は大容量記憶バスプロトコルで特定される。
【0034】
しかし、いくつかの大容量バスプロトコルにおいて、コマンド/コントロールコードを拡張して、装置13に作用させることが不可能である。本発明の実施例の別の例において、大容量記憶媒体における未使用エリア、典型的に記憶装置制限(隠れエリア)において、データの幾つかのブロックを“借りる”ことが可能である。装置13はコンピューターへの接続ウィンドウのようなエリアを使用でき、本技術の専門家にとって明らかなように、そこでコマンド/コントロールコードを拡張するのと同じ方法を使用できる。コンピューターシステムと装置13は、メッセージ(コマンド、指示、データなど)をウインドウを通して互いに読み込み、書き込みできる。
【0035】
図3を参照すると、ユーザーデータは大容量記憶媒体に記憶されるデータである。DES、AESなどのような暗号化アルゴリズムを上手く文書化するため、暗号化と復号化が、入力としてユーザーデータを送信することによって行われる。本発明によると、暗号化/復号化装置13が、装置13において、電子暗号化/復号化回路セクションを構成している別々のハードウエアセクション41a、41b、41nに接続する内部暗号バス(internal crypto bus)32を有しており、装置13はユーザーデータインプットフローに互いに結びつく特別なアルゴリズムを実行させ、装置13の内の内部バスを介して、装置制御部分30の監視の下に、第一端部12と第二端部14を往来させるように流す。本技術の専門家にとって、各アルゴリズム例えば最大速度の考察のために例えば有線プロセッサ構成において、41a、41b、41nが既知のアルゴリズムのどれか一つを実行するが、特に軍事的な用途、衛星通信など(例えばスクランブルアルゴリズム)の特別な要求に関しても特別に発展的な解決手段が、実行できることは、容易に理解されよう。
【0036】
本発明のまた別の実施例において、アルゴリズムをマイクロコントローラー構成部において実行することができ、特定のアルゴリズムを選択する動作が、マイクロコントローラーにおいて別々のプログラムカウンター内容をロードすることによって実行される。前記プログラムカウンター内容の各々は、共通のプログラムメモリーに記憶された各アルゴリズムのスタートアドレスに対応している。プログラムメモリーは、例えばコンピューターシステム10によりパワーアップ時間で初期化される、固定した非揮発性メモリーまたはランダムアクセスメモリーであり得る。そのような転送も、暗号化でき、且つ/または本技術の専門家にとって明らかに、正確な証認手続を受けることができる。
【0037】
大きな大容量記憶装置は、データを編成してコンピューターシステムによって管理できるようにし、ユーザーまたはアプリケーションプログラムに関する機能ファイルシステムを提供する必要がある。一般的に、基本フォーマットは媒体のブロック/セクター分割である。一般的に、ファイルシステムのように機能的な大容量記憶ソリューションを構成するため、大容量記憶媒体上のエリア内にアドレス可能ユニットを具備したアドレス可能エリアを有する必要がある。大容量記憶媒体におけるアドレス可能エリアは普通、媒体の連続する物理的なアドレス可能エリアであり、アドレス可能エリアのスパンを定義する下位アドレスと上位アドレスによって制限される。大容量記憶システムは通常、例えば異なるタイプの記憶エリアとシステムを定義する理論層の階層に配置される。その一例がRAIDディスクシステム定義である。そのようなエリアに対するアドレスは通常、論理アドレスに関連する。本発明において全ての基準がアドレス、すなわち媒体における物理的アドレスの最下位レベルである。本発明の実施例は、全ての種類の論理記憶層とシステムを物理的媒体の頂部で使用できる。
【0038】
本発明の好ましい実施例によると、そのようなアドレス可能エリア(ブロック/セクター)は、それ独自の暗号化キー及び/またはアルゴリズムによって暗号化できる。装置13におけるブロック40は、ブロック/セクター番号のようなエリアのアドレスを受け、大容量記憶装置16に記憶されるか、それから読み出されるデータ項目に関するアドレス(エリア内のサブアドレス)との数の比較を基に、セクション41a、41b、...、41nにおいて実行されるアルゴリズムの一つを選択する。図7は、コンパレーター回路40を図示している。データのブロックの先頭アドレスと終端アドレス(媒体におけるアドレス可能エリアの制限)を、“Start Block”と“Stop Block”として個々にコンパレーター40に記憶する。ユーザーデータ項目のアドレス(エリア内のサブアドレス)を受けると、ユーザー項目アドレスを前記“Start Block”と“Stop Block”アドレスと比較する。もしユーザーデータ項目アドレスが、“Start Block”と等しいか、それよりも大きく、ユーザーデータ項目アドレスが“Stop Block”と等しいか、それよりも少ないと、コンパレーター回路40におけるブール演算ANDがこの状態を検知して、“is mine”信号をアルゴリズムセクション41a、41b、...、41nの一つへ送信し、それらは特に“is mine”信号で、真であればアルゴリズムを動作できるように接続される。また信号が偽であれば、前記のアルゴリズムの実行を止める。
【0039】
本発明の実施例において、配線プロセッサアルゴリズムセクション41a、41b、...、41nが、アルゴリズムセクションにあるのと同じ数のメモリーセルを具備したメモリーエリアを含んでいる。“is mine”信号を特定のアルゴリズムセクションにリンクさせることは、アルゴリズムセクションの数、でなければ0のアドレスを有したセルに論理1を入れることによって、行われる。各コンパレーターからの各“is mine”信号を、“is mine”信号の数のような対応するアドレスと組み合わせることによって、アルゴリズムの選択は相互交換プログラム可能である。
【0040】
マイクロコントローラーによるアルゴリズム選択の実施例において、関連する“is mine”信号を有したプログラムカウンターの関連する適切な内容が、選択及び相互交換可能なプログラミングを行うことができる。
【0041】
比較配列法(comparison arrangement)がコンパレーター回路40においてn回繰り返され、n個のセクションの各々に対して一回、アルゴリズムを実行する。
【0042】
図4は、データ要素(ブロック/セクターまたはアドレス可能エリア)の暗号化の一例を図示しており、そこではデータが異なっても、同じキーが使用される。
【0043】
図5は、図4のような同じ暗号化方式を図示しているが、この例ではデータ要素の中の二つが同じであり、同じキーを使用している。従って暗号化データ要素が同じであり、安全性にリスクがあり得るパターンを構成する。
【0044】
本発明の好ましい実施例において、コマンド/コントロールコード内のブロック/セクター番号の情報または、特別なアドレス可能エリアに関するコマンドに与えられるアドレス可能エリアについての情報が、ブロック/セクター/アドレス可能エリアに関して独特の任意に発生する数と共に、キーを選択するために使用される(ブロック/セクター/アドレス可能エリアの数とランダム発生表の組み合わせ、もしキーが加算または減算などに関するシンボルであれば、もしキーが数字などであれば、組合せが連結のように構成できる)。この概要は図6で図示されている。
【0045】
任意に生成した数字が、データの二つの同一ブロック(またはデータのシーケンス)が、図5に示したように同一暗号化されないために使用される。乱数を生成し、ブロック/セクター/アドレス可能エリアの番号によって、アドレス付けされた装置13内部の表に記憶される。本発明の実施例には、二つの段階、第一段階でコンパレーター回路40において発生する選択信号“is mine”によって、第二段階でブロック/セクター/アドレス可能エリアの番号で、アドレス付けされる多数の表がある。この構成は、同じブロック/セクター/アドレス可能エリアの番号に関連する同じ乱数を提供し、それによって同じデータ要素の適切な暗号化/復号化を確実なものとし、もし同じデータ要素が発生しても図6のようにキーを使用して、同時に完全なランダムパターンをデータの暗号化フローに提供する。表の内容は、マイクロコントローラー5における装置13の内部で生成できる。
【0046】
図3を参照すると、データブロック(データのシーケンス)をディスクに書き込むため、コンピューターがディスクコントローラーに知らせる必要があり、そこでブロック/セクターの番号によるデータを書き込む。暗号化/復号化装置は、装置13の一部分12を介してブロック/セクター/アドレス可能エリアの番号と共に、コマンドを受け取る。装置13のプロトコル解釈部分30が、これをコマンドとして認識し、装置13の部分14へ、その内部データ経路を介して供給する。プロトコル部分30もこの情報を記憶しており、それを装置13の内部のコンパレーター回路40へ、上記のように(“Start Block”と“Stop Block”アドレス、ユーザーデータ項目のアドレスなど)送る。
【0047】
コンピューターが書き込みコマンドを送信する時、プロトコル部分30が書き込みコマンドを部分14へ送信し、プロトコル部分30をデータ転送するためにセットする。そして、コンピューターがデータ送信を始める。プロトコル部分30が、部分12からバス11を介してデータを収集し、それを32ビット(内部暗号バス32のサイズであるが、そのサイズに限定されない)に積算し、データを暗号バス32へ通す。コンパレーター回路40は適切なアルゴリズムセクションと関連キーを操作可能にし、データを暗号バス32上で適切なアルゴリズムセクション41a、41b、...、及び41nを通らせる。
【0048】
データが大容量記憶装置16から読まれる時、コンピューターが読み込みコマンドを送信し、プロトコル部分30がデータフローを配列して、上記と類似の方法で、装置13の内部の適切な復号機能によりデータが大容量記憶装置からコンピューターへ読めるようにする。
【0049】
読み込み/書き込みデータ通信が始まる時、異なるアルゴリズム(“Start Block”と“Stop Block”アドレス)で暗号化される、大容量記憶媒体におけるアドレス可能エリアに記述するコンパレーターのセットを収容したコンパレーターセクション40が、現行セクターに対応する出力信号“is name”を送り、それによって適切なアルゴリズムセクション41a、42b、...、41nと関連キーを選択する。
【0050】
暗号化/復号化アルゴリズム41a、42b、...、または41nが、それらをビットサイズ、アルゴリズムの使用に関して整えるデータの収集を始める。適切な数のビットが集められると、データが、コンパレーター回路40によって選択された現行アルゴリズムセクション41a、41b、...、41nを通して送信される。暗号化/復号化の後、データが暗号バスビットサイズに分割され、現行アルゴリズム41a、41b、...、41nの出力から送信されて暗号バス32へ戻り、プロトコル部分30へ下がり、データをバス15または11のビットサイズに分割し、データをコンピューター10(復号化)または大容量記憶装置(暗号化)へ送信する。新しいデータブロックが始まると、暗号化セクション41a、41b、...、41nも、コンパレーターから情報を得、CBCまたは安全性を広げるために別の符号化機能を使用できる。
【0051】
プロトコル部分30は、必要な“ハンドシェーク”信号も全て送り出し、それはバスセグメント11及び15の一部である。
【0052】
本発明による方法は、一定の暗号化/復号化アルゴリズムに記述するように限定されるものではない。セクション41a、41b、...、41nが、データのアルゴリズムまたはスクランブルの何れのタイプでも、全て実行できる。本発明の好ましい実施例において、各セクション41a、41b、...、41nが、特別なアルゴリズムに関連するキーについて記憶“スロット”を有する。
【0053】
本発明の最高形式の実施例において、図1及び図2に示したような装置を実行し、信号“is mine”がコンパレーター回路40によって選択された現行アルゴリズムを実行するセクション41a、41b、...、41nを選択する時、キーがメモリー割り当ての際に各セクション41a、41b、41nに、相互交換可能且つ取り替え可能に配置され、それは図7に示しているコンパレーターシステムによって選択される。
【0054】
本発明の好ましい実施例による暗号化/復号化システムを初期設定することは、記憶媒体の異なるブロック/セクターまたはアドレス部分に使用するため、スタートブロックアドレス、ストップブロックアドレス、キー及びそのアルゴリズムセクション41a、41b、...、41nのインジケーターを提供することを含んでいる。図2はスタートブロックアドレス、ストップブロックアドレス、キー及びアルゴリズムインジケーターを含んだ、スマートカード63a(キーキャリア)を読み取るスマートカードリーダー61aを具備したシステムを示している。この情報を装置13に提供する別の手段、赤外線通信リンクまたは無線リンク62bなどが、本発明によると使用できる。
【0055】
装置13が起動する時、内部マイクロコントローラー51がキーキャリア63aからキーを集める。マイクロコントローラーがキーを、安全セクション42を介して適切な暗号化セクションへ送信する。もしマイクロコントローラー51が誤動作コード実行中にスタートしても、安全セクションは、キーが破壊されるのを防止する。マイクロコントローラーは、コンパレーター値もロードする。
【0056】
内部ラム31(ランダムアクセスメモリー)は、大容量記憶装置のアドレス部分と同じ方法で構成されている。それにより本発明に関連して装置の共通の特徴全てが、ラムの内容に適用できる。
【0057】
上記のような機能性を利用するため、上記のような拡張コードがデータのブロックを往来するか、ラム31またはバスセグメント11を介して往来するか、大容量記録装置16をバスセグメント15を介して往来して転送するために利用できる。ラム31にアクセスする別の方法は、それをディスク境界線の外のメモリー場所として使用することで、それによって、たとえ隠れていても、ディスクシステムの一部のようにメモリーにアクセスする。それらの動作はプロトコル部分すなわち装置コントローラー30によって制御される。
【0058】
ラム31ができる一つの動作は、例えばラムが満杯の時、中断を内部マイクロコントローラー51に送信することである。マイクロコントローラー51はその時にラム31からのデータを読み込むことができ、データをプロセッシングする。マイクロコントローラーは、ラム31に書き込むこともできる。コンピューターシステム10は、ラム31からのデータを読むこともできる。簡単な通信プロトコルを生成することによって、マイクロコントローラー51と通信できる。本発明の好ましい実施例において、そのようなプロトコルが実行され、またマイクロコントローラー51が、コンピューターシステム10を介してマイクロコントローラーとキーキャリア63、65の両方への通信チャンネルと、装置13の内部に直接つながる通信チャンネルを有している。それらの通信チャンネルは、キーキャリア63、65にキーをロードするため、並びにアルゴリズムセクション41a、41b、...、41nにキーをロードするために使用される。
【0059】
いずれを実行しても、ラム31は幾つかの有利な適用法で利用できる。本発明の一実施例において、ラムはeメールまたは別のタイプの電子データ、ファイル、ネットワークトラフィックなどを、ラム31にロードし。一つの選択セクション41a、41b、...、41nにおいてラムの内容を暗号化し、暗号化したデータを読み込んでコンピューターシステム10へ戻し、そこでデータに対する更なる動作が行われる。もしデータの長さがラム31の長さがラム31のサイズを超えるなら、通信プロトコルがデータと通信プロトコルを分割して、データの最後まで上記のようなプロセスを介して、データの別のセクションをループする。
【0060】
暗号化eメールまたは別のタイプのデータは例えば復号化する必要があると、コンピューターシステム10の使用が、eメールデータまたはデータをラム31にロードする必要がある。そして装置13が好ましいアルゴリズムを実行し、復号化されたeメールをコンピューター10へ戻すように転送する。この操作用のキーは、安全システムを提供する公用/個人用のキーシステムであり得、安全システムはそこで、本発明によるとキーが暗号化されて、本開示の記載されたような装置13へ転送される時に、キーを決して見せない。
【0061】
本発明の重要な特徴は、暗号化したキーを確実に取り扱えるようにすることである。本発明の好ましい実施例において、先ずキーをコンピューターシステム10からマイクロコントローラーへ転送する。その時、装置13がキーを選択的に暗号化でき、そしてマイクロコンピューター51が転送でき、暗号化したキーをキーキャリア63、65、例えばスマートカードにロードし、この簡単な方法で本発明による方法が、保護チャンネルを提供し、システム内で使用される暗号化した暗号化キーを転送する。
【0062】
本発明の重要な特徴は、スマートカードのようなキーキャリアで暗号化したキーを使用することである。キーキャリアが技術的に、“隠れ”データ内容をキャリア内に入れる。この特徴は、キーの安全性を高める。キーキャリア記述の更に重要な特徴は、キーキャリア自体にセッションのためのランダム暗号化キーを生成させることが可能なことである。この方法で、全てのキープロセスが人によるどのような動作の介入もなしに進行し、それによってキーの安全性が、また更に増す。
【0063】
キーを運ぶキーキャリア63、65が、保護通信チャンネル60を介して装置13へ直接接続される。キー装置インターフェース61は、例えば専用のスマートカードリーダーであり得る。別のタイプのキャリアに関して、それはIRトランシーバー、無線トランシーバー、または別な類似の装置にすることができる。
【0064】
キーが、外部装置65または63に記憶されている。装置13の内部、非揮発性メモリー52、53にキーデータを記憶する方法もあり、ユーザーは認証手続を使用して、それらのキーを操作可能にする(この手続は別の安全プロダクトと共に行うことができる)。
【0065】
本発明は、キーキャリア63、65を往来するデータを暗号化することによって、外部キーのロードを保護する。本発明は、キーキャリア63、65の検知後、装置13が公開キーをキーキャリア63、65に送信する。そしてキーキャリア63、65が公開キーによって、装置13に対するセッションキーを暗号化して、装置13とキーキャリア63、65が通信を開始する。別の方法が、キー交換方式(例えばDiffie-Hellman)を使用して、セッションキーを定義する。セッションキーは、通信チャンネル60において全てのデータを暗号化する。本発明は、チェックメッセージをキーキャリア63、65へ送信し、確実にキーキャリア63、65とキー装置インターフェース61がオンライン状態のままである。このチェックメッセージが、ランダム時間間隔で、充分なデータと共に送信され、確実にキー装置インターフェース61とキーキャリア63、65と装置13が、互いに認証できる。もしキーキャリア63、65が不規則性を検知すると、停止される。もし装置13が不規則性を検知すると、停止される。この方式以外、キーが寿命パラメータを有する。このパラメータは装置13に、キーを削除した後にどの位長い周期でキーが装置13で“存続(live)”するかを示す。キーが削除されると、本発明により、寿命が予定時間周期に達する前に、装置13がキーを停止しない。キーまたはキー装置インターフェース61により“変更”をその他全て検知でき、装置13に全てのキーを停止させる。停止は、キーが装置13からの削除を検知できて、装置13がキーによって定義された保護エリアにもはやアクセスしないことを意味している。
【0066】
ここで図8を参照すると、本発明はデータ中断機能も実行でき;それはセクター/ブロックをタグ付けし、ラム31の内部に内容を記憶し、そして内容を変更するか、または変えることができ、ホストコンピューターシステム10へ送信される。この機能によって、ディスクシステム上で分割表を選択し、分割表を変えてキーのセットに適合させることができ;例えば別のキーセットがシステムを異なるオペレーティングシステムでブートすることができる。一つにキーユニットが、オペレーティングシステム1を起動でき、別のキーユニットがオペレーティングシステム2を起動でき、オペレーティングシステム1及び2がハードディスクドライブにおいて、互いに分離されている。
【0067】
これは本社のコンピューターにおいて有利な機能であり、一人以上のユーザーが必要とする別のコンピューターは専門的にデータのアクセス及び保護を必要とする。
【0068】
図8に示したように、ハードディスクドライブ16を記憶部分の幾つかの独立した分離エリアに分割できる。MBR(Master Boot Record)は必要な情報を入れており、システムがブートされる時、コンピューターシステムが最初にロードされる。MBRの内容がコンピューターシステムに、オペレーティングシステムをハードディスクドライブからロードする方法を指示する。同じハードディスクドライブにおいて異なるオペレーティングシステム用のMBRを、本発明の実施例によると、暗号化キーと共に例えばスマートカードに記憶できる。上記のように、スマートカード上のMBRを、ラム31にロードでき、暗号化し、そしてドライブ13に接続したハードディスクドライブ16のMBRとして使用される。
【0069】
本発明は、コンピューターシステムの2段階ブート化法も提供する。第一に、(装置13において、非揮発性メモリー52または、スマートカードのようなキーキャリアに記憶される)プログラムコードセグメントを、ユーザー/管理者に認証のための方法を与えるホストコンピューターシステム10へ送信する。第二に、認証が成功した後、マスターブートセクターをハードディスクドライブからコンピューターへダウンロードする。
【0070】
本発明は、大容量記憶媒体のアドレス可能な部分に、異なるアルゴリズムと暗号化/復号化キーで記憶されたデータを暗号化/復号化する方法を提供することによって、大容量記憶装置の安全性を増す。
【0071】
本発明の一つの特徴は、記憶媒体の特定のアドレス可能な部分に一つのキーと一つのアルゴリズムを提供することである。
【0072】
本発明のまた別の特徴は、特定のキーとアルゴリズムで記憶媒体のそのようなアドレス可能な部分を、暗号化する時、符号化の後に媒体に設定されたパターンのランダム化のためのキーと共に、乱数を提供することによって、もし連続データレコードが等しく、同じキーとアルゴリズムで暗号化されても、安全性を増すことである。媒体のアドレス可能部分のアドレスまたはブロック/セクター番号についての情報によって選択される乱数で暗号化されたデータを復号化する時、使用される特定の乱数を回復させる表に、乱数が記憶されている。
【産業上の利用可能性】
【0073】
本発明は、特定のオペレーティングシステムとオペレーティング環境を、ハードディスクからコンピューターシステムへ確実にダウンロードするシステムも提供し、そのコンピューターシステムは異なるオペレーティングシステム用のデータファイルと、コンピューターシステムのユーザーとの間も物理的、論理的に完全に分離できる。本発明は、例えばサーバーにおけるデータシステムが盗まれるか削除されて、別のコンピューターシステムへ転送される時、サーバーハードディスクにおけるデータにアクセスするのを防止する、暗号化/復号化方法を提供する。
【0074】
本発明の別の特徴は、本発明による装置とキーのキャリアとの間に、キーを転送する暗号化した通信チャンネルを提供することである。

【特許請求の範囲】
【請求項1】
大容量記憶媒体への又は大容量記憶媒体からのデータストリームの暗号化(暗号にする、スクランブルする)/復号化(復号する、逆スクランブルする)方法であって、データストリームが複数のデータ項目から成り、各それぞれのデータ項目がデータストリームに含まれる一意の関連した物理的アドレスをもち、該物理的アドレスが、それぞれの関連したデータ項目を記憶又は検索できる、大容量記憶媒体における場所を画定する方法において、
大容量記憶媒体を複数のセグメントに分割し、各それぞれのセグメントが、連続して物理的にアドレス可能で読取り可能で/書込み可能である記憶場所を備え、各それぞれのセグメントが、大容量記憶媒体の下方の物理的アドレス及び上方の物理的アドレスによって境界決めされ、それぞれ下方の物理的アドレス及び上方の物理的アドレスの各々が、各それぞれのセグメントの一部であり、
複数の暗号化/暗号化アルゴリズムを、大容量記憶媒体を分割する複数のセグメントの各それぞれのセグメントと関連付け、複数の暗号化/暗号化アルゴリズムの同一のものが異なるセグメントに関連付けでき、
複数の暗号化/復号化キーを、大容量記憶媒体を分割する複数のセグメントの各それぞれのセグメントと関連付け、
データストリームが大容量記憶媒体に向って流れる場合には、各それぞれの関連したデータ項目の物理的アドレスを、大容量記憶媒体を分割しているそれぞれの下方の物理的アドレス及びそれぞれの上方の物理的アドレスと比較し、それにより関連した物理的アドレスの該当する境界セグメントを特定し、
特定したセグメントを用いて、そのセグメントの関連した暗号化アルゴリズム及び相応する関連した暗号化キーを選択して、データ項目を暗号化した後、関連した物理的アドレスで規定したアドレスで、大容量記憶媒体にデータ項目を記憶し、
データストリームが大容量記憶媒体から流れる場合には、各それぞれの関連したデータ項目の物理的アドレスを、大容量記憶媒体を分割しているそれぞれの下方の物理的アドレス及びそれぞれの上方の物理的アドレスと比較し、それにより物理的アドレスの該当する境界セグメントを特定し、
特定したセグメントを用いて、関連した復号化アルゴリズム及び相応する関連した復号化キーを選択して、データ項目を復号化した後、大容量記憶媒体からデータ項目を転送し、
前記アルゴリズム及び前記関連したキーを選択する段階が、
前記上位アドレス限界と下位アドレス限界を対で並べることによって、複数のアドレス可能なエリアの複数のスパンをコレクションする段階と;
一つのアルゴリズムが大容量記憶媒体のアドレス可能エリアの一つ以上のスパンに使用できるように、複数のアドレス可能なエリアの複数のスパンの可能性を除外しない、複数の前記アルゴリズムの一つだけに、複数のアドレス可能なエリアのスパンの前記コレクションにおける一入力がリンクされるようにリンキングを行う段階と;
データ項目のアドレスを、前記コレクションにおける前記上位アドレス限界と下位アドレス限界の全てと比較し、それによって前記データ項目の前記アドレスを包囲する上位アドレス限界と下位アドレス限界の対を検知可能に探索する段階と;
前記データ項目のアドレスの包囲についての情報を含んだ信号又はメッセージを発生し、それにより複数のアドレス可能なエリアのスパンとアルゴリズムとのリンキングを用いることによって、複数の前記暗号化/復号化アルゴリズムの適切な一つを識別する段階;
を含むこと
を特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−141883(P2011−141883A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2011−28383(P2011−28383)
【出願日】平成23年2月14日(2011.2.14)
【分割の表示】特願2003−531293(P2003−531293)の分割
【原出願日】平成14年9月25日(2002.9.25)
【出願人】(504122756)
【Fターム(参考)】