説明

暗号処理装置

【課題】 外部からのアクセスによって鍵値の信号を読み取ることを防ぐ暗号処理装置を提供する。
【解決手段】 鍵生成回路204が、CPU101からのアクセスに応答して、鍵値を生成し、共通鍵暗号処理ブロック201が、鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力されたデータを暗号化処理して出力する暗号処理装置に関する。
【背景技術】
【0002】
パーソナルコンピュータ(以下、PCという。)等の補助記憶装置のデータには、貴重な財産的価値があるため、これを適切に保護することが従来から重要視されている。特に、インターネットなどのネットワークへの常時接続環境が整備されている今日においては、ネットワークを経由して補助記憶装置に不正アクセスされることがあることから、これを効果的に防止するためのファイアウォールなど機密情報、重要情報の漏えい防止技術が注目されている。たとえば、ハードディスクに記憶されている情報を暗号化処理して保護する装置が存在する。
【0003】
ところが、ネットワークなどを経由する補助記憶装置への不正アクセスに加えて、実際にPCが置かれている場所に物理的に侵入して補助記憶装置内の貴重な情報を盗み取るといった犯罪も少なくないため、物理的侵入をも想定したセキュリティ対策を行う必要がある。
【0004】
また、物理的侵入を防止する手段が万全であったとしても、PCを廃棄する場合などに補助記憶装置の物理フォーマットを怠ってしまう等の人為的なミスで、補助記憶装置の内容が漏洩することもある。
【0005】
このため、物理的侵入を防止する対策を講じるだけでなく、これに加えて、万一、物理的侵入を許してしまった場合や、PCごと他者の手に渡ってしまった場合にも、補助記憶装置の内容が読み取られないようにすることがより重要な技術であるといえる。
【0006】
そこで、従来技術では、ハードディスク(補助記憶装置)とPCとの間に、データ転送を制御するためのセキュリティボード(データ保護装置)を配置して、PCから出力されるデータを当該セキュリティボードにおいて暗号化した上でハードディスクに記憶するとともに、当該セキュリティボードにマスタキーを装着している場合にのみ補助記憶装置に記憶したデータを復号しながら読み出すことを可能にして、正当な権限のある者のみが補助記憶装置内のデータにアクセスできるようにしてデータの保護を図るものがある。
【0007】
特許文献1記載のシステムでは、ファイルシステムが有する暗号化コーポーネント自身がAES(Advanced Encryption Standard)を用いて固定の鍵を生成している。
【0008】
【特許文献1】特開2005−158043号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の暗号処理装置は、外部から直接に暗号化処理時の鍵値を書き込む回路構成であるため、鍵値の信号を容易に読み取られるという問題がある。
【0010】
本発明の目的は、外部からのアクセスによって鍵値の信号を読み取ることを防ぐ暗号処理装置を提供することである。
【課題を解決するための手段】
【0011】
本発明は、入力されたデータを暗号化処理して出力する暗号化処理装置において、
制御回路からのアクセスに応答して、鍵値を生成する鍵生成回路と、
鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する共通鍵暗号処理ブロックとを備えることを特徴とする暗号処理装置である。
【0012】
また本発明は、鍵生成回路は、
非同期関係の信号をラッチするためのメタ・ステーブル設計回路と、
最大鍵長分のフリップフロップを備えたシフトレジスタ回路と、
シフトレジスタ回路を動作または停止させるイネーブル信号を発生するイネーブルレジスタで構成されることを特徴とする。
【0013】
また本発明は、非同期関係の信号は、複数のクロック信号から選択することを特徴とする。
【0014】
また本発明は、イネーブルレジスタのみが外部からアクセス可能に構成されることを特徴とする。
【0015】
また本発明は、外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成されることを特徴とする。
【0016】
また本発明は、シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することを特徴とする。
【発明の効果】
【0017】
本発明によれば、鍵生成回路が、制御回路からのアクセスに応答して、鍵値を生成し、共通鍵暗号処理ブロックが、鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する。
【0018】
これにより、外部から直接に暗号化処理時の鍵値を書き込む構成とは異なり、鍵値の生成およびデータの暗号化を行うことができるので、鍵値の信号を読み取られることを防ぐことが可能となる。
【0019】
また本発明によれば、シフトレジスタ回路は最大鍵長分のフリップフロップを備え、メタ・ステーブル設計回路が非同期関係の信号をラッチする。
【0020】
イネーブルレジスタは、シフトレジスタ回路を動作または停止させるイネーブル信号を発生する。
【0021】
また本発明によれば、イネーブルレジスタのみが外部からアクセス可能に構成される。
これにより、さらに確実に、鍵値の信号を読み取られることを防ぐことが可能となる。
【0022】
また本発明によれば、非同期関係の信号は、複数のクロック信号から選択することができる。
【0023】
また本発明によれば、外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成される。
【0024】
これにより、外部から読み取り可能なシフトレジスタからリードすることにより制御回路など外部から鍵値を知ることが可能となる。
【0025】
また本発明によれば、シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することができる。
【発明を実施するための最良の形態】
【0026】
以下、図面を用いて本発明の実施形態を説明する。
図1は、本発明の実施の一形態である暗号処理装置1の構成を示すブロック図である。
【0027】
暗号処理装置1は、CPU101、ROM102、RAM103、第1LSI104、第2LSI105、HDD106で構成される。
【0028】
CPU(中央演算処理装置)101は、暗号処理装置1の全体を制御する。ROM( Read Only Memory)102は、暗号処理装置1を動作させるためのファームウェアプログラムが格納されており、CPU101動作開始時に読み出され、制御に使用される。
【0029】
RAM(Random Access Memory)103は、ROM102から読み出したプログラムを展開する際に使用される記憶領域としての使用や、装置動作中の各種制御値等を一時的に格納する領域として使用される。
【0030】
第1LSI(Large Scale Integration)104は、共通鍵暗号生成機能を有する。第2LSI105は、第1LSI104に対してデータ信号を送受信するものである。HDD(Hard Disk Drive)106は、暗号化後のデータを保存する記憶装置である。
【0031】
それぞれの回路はデータバス107によりデータの送受信が可能に構成されており、さらに第1LSI104と第2LSI105との間にLSIデータバス108が設けられ、直接にデータのやりとりが可能となっている。
【0032】
図2は、第1LSI104の構成を示すブロック図である。
第1LSI104は、共通鍵暗号処理ブロック201、システムバスI/F(インターフェイス)202、HDD I/F203、鍵供給回路204、CPU I/F208を含んで構成される。
【0033】
システムバスI/F202は、第2LSI105から送信されるデータを、共通鍵暗号処理ブロック201に送るためのインターフェイスである。HDD I/F203は、暗号化処理後のデータを、HDD106に送信するためのインターフェイスである。
【0034】
データの暗号化時には、データはシステムバスI/F202を介して第2LSI105から、共通鍵暗号処理ブロック201を経て暗号化され、HDD I/F203を通じてHDD106に記憶される。
【0035】
データの複合化時には、データはHDD I/F203を介してHDD106から読み出され、共通鍵暗号処理ブロック201で復号されて、システムバスI/F202を通じて第2LSI105へ出力される。これは、一般的なデータ転送方向であるが、例えば、HDD106に保存された暗号化されていないデータを暗号化して外部へ転送する場合は、暗号化・復号化時に転送されるデータの流れは上記とは逆方向となる。
【0036】
鍵生成回路204は、メタ・ステーブル設計回路205、256ビットシフトレジスタ回路206、イネーブルレジスタ回路207で構成され、共通鍵暗号処理ブロック201に対して暗号化・復号化時に使用する暗号鍵を供給する。
【0037】
メタ・ステーブル設計回路205は、クロックAと非同期関係にあるデータ信号(クロックB)をクロックAで2回ラッチした後、シフトレジスタ回路206に出力する。
【0038】
ここでクロックAは、フリップフロップ回路のクロックとして使用する。また、クロックBは、鍵生成回路204内でデータとして使用する。
【0039】
256ビットシフトレジスタ回路206は、共通鍵暗号処理ブロック201でデータを暗号化処理するときの鍵値を決定する。
【0040】
ビット幅について、本実施形態では、256ビットとしているが、暗号化形式に従って設定されるものであり、128ビットや512ビットなどの任意のビット幅であってもよい。また、シフトレジスタ回路206には、シフトレジスタ機能の動作・停止イネーブル信号が設定されており、停止状態のときは値を保持し続けるため、共通鍵暗号処理ブロック201に対して鍵値を供給するための機能も併せ持つ。
【0041】
イネーブルレジスタ回路207は、CPU101からCPU I/F208を介して入力されたコントロール信号に基づいて、シフトレジスタ回路206を動作させ、または停止する信号を256ビットシフトレジスタ回路206に出力する。
【0042】
具体的には、CPU101から入力されたコントロール信号が「1」のとき、シフトレジスタ回路206を動作させ、「0」のとき、シフトレジスタ回路206を停止させる。
【0043】
このイネーブルレジスタ回路207の停止信号の発生タイミングによって、256ビットシフトレジスタ回路206で生成される鍵値が決定する。
【0044】
図3は、イネーブルレジスタ回路207の出力波形の例を示す図である。
イネーブルレジスタ回路207からの出力には、データの暗号化処理時の鍵値を決定するWAIT期間とアクティブ期間とが含まれる。
【0045】
WAIT期間では、CPU101が、シフトレジスタ回路206に対して信号値「1」を、ライトアクセスするまで待つための任意の期間で、アクティブ期間は、CPU101が、シフトレジスタ回路206に対して信号値「0」をライトアクセスするまで待つための任意の期間である。
【0046】
WAIT期間とアクティブ期間によって、シフトレジスタ回路206で生成される鍵値が決定される。
【0047】
図4は、データの暗号化処理時の鍵生成処理を示すフローチャートである。
まず、ステップS1でCPU101が起動し、ステップS2でCPU101がプログラム乱数を生成し、イネーブルレジスタ回路207に「1」をライトアクセスするまでのWAIT期間を決定する。さらに、ステップS3で、CPU101がプログラム乱数を生成し、イネーブルレジスタ回路207に「0」をライトアクセスするまでのアクティブ期間を決定する。
【0048】
ステップS4では、ステップS2で決定したWAIT期間が経過したかどうかを判断し、経過していればステップS5に進み、経過していなければ待機する。
【0049】
ステップS5では、イネーブルレジスタ回路207の出力信号をON「1」にする。ステップS6では、ステップS3で決定したアクティブ期間が経過したかどうかを判断し、経過していればステップS7に進み、経過していなければ待機する。
【0050】
ステップS7では、イネーブルレジスタ回路207の出力信号をOFF「0」にする。
ステップs8では、WAIT期間とアクティブ期間とによって、生成の度に異なる値となる暗号・復号化鍵が生成される。
【0051】
以上のように、本発明では、暗号処理回路である第1LSI104において、暗号化時のAES鍵を生成し、その鍵を使用して、第2LSI105などから入力されたデータの暗号化処理を行い出力するので、外部から直接に暗号化処理時の鍵値を書き込む回路構成とは異なり、鍵値が読み取られることを困難にすることができる。
【0052】
次に本発明の他の実施形態について説明する。
図5は、本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
【0053】
本実施形態では、第1LSI104に、外部からアクセス可能なシフトレジスタを追加した構成となっている。
【0054】
図2で示した構成との違いは、第2シフトレジスタ501および第2イネーブルイネーブルレジスタ回路502が追加されたことである。したがって、以下では、第2シフトレジスタ501および第2イネーブルイネーブルレジスタ回路502について主に説明し、他の構成については、前述の第1LSI104と同じ参照符号を付して説明を省略する。
【0055】
前述の図2に示した第1LSI104の回路構成は、暗号鍵のセキュリティ管理を行う上で非常に堅牢なシステムとなるが、一つの問題点がある。暗号化したデータを第1LSI104の外部で復号化して使用する場合、暗号化で使用した鍵値を復号化のために外部で知る必要がある。
【0056】
このような問題を解決するために、鍵生成用のシフトレジスタとして第2シフトレジスタ501をさらに有する構成とする。
【0057】
第2シフトレジスタ501は、CPU101からCPU I/F208を介してリード・ライトアクセス可能とし、リードすることにより外部から鍵値を知ることが可能となる。また、ライトすることにより鍵値としてCPU101から任意の値を指定できる。
【0058】
さらに、イネーブルレジスタ502を備えることにより、鍵値の自動生成も可能である。また、どちらの鍵値を利用するかは、イネーブルレジスタ502が選択することができる。
【0059】
さらに他の実施形態について説明する。
図6は、本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
【0060】
本実施形態では、第1LSI104に入力されるクロックを選択するためのセレクタを追加した構成となっている。
【0061】
図2で示した構成との違いは、第1セレクタ601および第2セレクタ602が追加されたことである。したがって、以下では、第1セレクタ601および第2セレクタ602について主に説明し、他の構成については、前述の第1LSI104と同じ参照符号を付して説明を省略する。
【0062】
メタ・ステーブル設計回路205で発生させるクロックAとクロックBの周波数関係は、理想的な乱数に近い鍵値を生成するためにお互いに関連性の低いクロックを選択する必要がある。しかし、システムによっては、想定していたクロック周波数が変更になることがあるため、クロックを選択可能な構成とする。
【0063】
具体的には、クロック選択には、シフトレジスタ回路206のデータ端子に入力する信号を選択する第1セレクタ601と、シフトレジスタクロックに入力する信号を選択する第2セレクタ602を有する。
【0064】
第1セレクタ601および第2セレクタ602には、それぞれ周波数が異なるクロックA、クロックB、クロックCが入力され、これらの中から鍵値を生成するためのクロックを選択してメタ・ステーブル設計回路205およびシフトレジスタ回路206に出力される。
【0065】
クロックの選択は、お互いに関連性の低いクロックを選択することが好ましく、第1セレクタ601および第2セレクタ602によるクロック選択は、CPU101から第1セレクタ601および第2セレクタ602のレジスタ設定によって行う構成とする。
【図面の簡単な説明】
【0066】
【図1】本発明の実施の一形態である暗号化処理装置1の構成を示すブロック図である。
【図2】第1LSI104の構成を示すブロック図である。
【図3】イネーブルレジスタ回路207の出力波形の例を示す図である。
【図4】データの暗号化処理時の鍵生成処理を示すフローチャートである。
【図5】本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
【図6】本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
【符号の説明】
【0067】
1 暗号処理装置
101 CPU
102 ROM
103 RAM
104 第1LSI
105 第2LSI
106 HDD
201 共通鍵暗号処理ブロック
202 システムバスI/F(インターフェイス)
203 HDD I/F
204 鍵供給回路
208 CPU I/F

【特許請求の範囲】
【請求項1】
入力されたデータを暗号化処理して出力する暗号化処理装置において、
制御回路からのアクセスに応答して、鍵値を生成する鍵生成回路と、
鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する共通鍵暗号処理ブロックとを備えることを特徴とする暗号処理装置。
【請求項2】
鍵生成回路は、
非同期関係の信号をラッチするためのメタ・ステーブル設計回路と、
最大鍵長分のフリップフロップを備えたシフトレジスタ回路と、
シフトレジスタ回路を動作または停止させるイネーブル信号を発生するイネーブルレジスタで構成されることを特徴とする請求項1記載の暗号処理装置。
【請求項3】
非同期関係の信号は、複数のクロック信号から選択することを特徴とする請求項2記載の暗号処理装置。
【請求項4】
イネーブルレジスタのみが外部からアクセス可能に構成されることを特徴とする請求項2に記載の暗号処理装置。
【請求項5】
外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成されることを特徴とする請求項4記載の暗号処理装置。
【請求項6】
シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することを特徴とする請求項2記載の暗号処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate