(57)【要約】 【課題】  外部からのアクセスによって鍵値の信号を読み取ることを防ぐ暗号処理装置を提供する。【解決手段】  鍵生成回路２０４が、ＣＰＵ１０１からのアクセスに応答して、鍵値を生成し、共通鍵暗号処理ブロック２０１が、鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する。【選択図】      図２
2009071449.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを暗号化処理して出力する暗号化処理装置において、
制御回路からのアクセスに応答して、鍵値を生成する鍵生成回路と、
鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する共通鍵暗号処理ブロックとを備えることを特徴とする暗号処理装置。
【請求項２】
鍵生成回路は、
非同期関係の信号をラッチするためのメタ・ステーブル設計回路と、
最大鍵長分のフリップフロップを備えたシフトレジスタ回路と、
シフトレジスタ回路を動作または停止させるイネーブル信号を発生するイネーブルレジスタで構成されることを特徴とする請求項１記載の暗号処理装置。
【請求項３】
非同期関係の信号は、複数のクロック信号から選択することを特徴とする請求項２記載の暗号処理装置。
【請求項４】
イネーブルレジスタのみが外部からアクセス可能に構成されることを特徴とする請求項２に記載の暗号処理装置。
【請求項５】
外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成されることを特徴とする請求項４記載の暗号処理装置。
【請求項６】
シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することを特徴とする請求項２記載の暗号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータを暗号化処理して出力する暗号処理装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、ＰＣという。）等の補助記憶装置のデータには、貴重な財産的価値があるため、これを適切に保護することが従来から重要視されている。特に、インターネットなどのネットワークへの常時接続環境が整備されている今日においては、ネットワークを経由して補助記憶装置に不正アクセスされることがあることから、これを効果的に防止するためのファイアウォールなど機密情報、重要情報の漏えい防止技術が注目されている。たとえば、ハードディスクに記憶されている情報を暗号化処理して保護する装置が存在する。
【０００３】
ところが、ネットワークなどを経由する補助記憶装置への不正アクセスに加えて、実際にＰＣが置かれている場所に物理的に侵入して補助記憶装置内の貴重な情報を盗み取るといった犯罪も少なくないため、物理的侵入をも想定したセキュリティ対策を行う必要がある。
【０００４】
また、物理的侵入を防止する手段が万全であったとしても、ＰＣを廃棄する場合などに補助記憶装置の物理フォーマットを怠ってしまう等の人為的なミスで、補助記憶装置の内容が漏洩することもある。
【０００５】
このため、物理的侵入を防止する対策を講じるだけでなく、これに加えて、万一、物理的侵入を許してしまった場合や、ＰＣごと他者の手に渡ってしまった場合にも、補助記憶装置の内容が読み取られないようにすることがより重要な技術であるといえる。
【０００６】
そこで、従来技術では、ハードディスク（補助記憶装置）とＰＣとの間に、データ転送を制御するためのセキュリティボード（データ保護装置）を配置して、ＰＣから出力されるデータを当該セキュリティボードにおいて暗号化した上でハードディスクに記憶するとともに、当該セキュリティボードにマスタキーを装着している場合にのみ補助記憶装置に記憶したデータを復号しながら読み出すことを可能にして、正当な権限のある者のみが補助記憶装置内のデータにアクセスできるようにしてデータの保護を図るものがある。
【０００７】
特許文献１記載のシステムでは、ファイルシステムが有する暗号化コーポーネント自身がＡＥＳ（Advanced Encryption Standard）を用いて固定の鍵を生成している。
【０００８】
【特許文献１】特開２００５−１５８０４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の暗号処理装置は、外部から直接に暗号化処理時の鍵値を書き込む回路構成であるため、鍵値の信号を容易に読み取られるという問題がある。
【００１０】
本発明の目的は、外部からのアクセスによって鍵値の信号を読み取ることを防ぐ暗号処理装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、入力されたデータを暗号化処理して出力する暗号化処理装置において、
制御回路からのアクセスに応答して、鍵値を生成する鍵生成回路と、
鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する共通鍵暗号処理ブロックとを備えることを特徴とする暗号処理装置である。
【００１２】
また本発明は、鍵生成回路は、
非同期関係の信号をラッチするためのメタ・ステーブル設計回路と、
最大鍵長分のフリップフロップを備えたシフトレジスタ回路と、
シフトレジスタ回路を動作または停止させるイネーブル信号を発生するイネーブルレジスタで構成されることを特徴とする。
【００１３】
また本発明は、非同期関係の信号は、複数のクロック信号から選択することを特徴とする。
【００１４】
また本発明は、イネーブルレジスタのみが外部からアクセス可能に構成されることを特徴とする。
【００１５】
また本発明は、外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成されることを特徴とする。
【００１６】
また本発明は、シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、鍵生成回路が、制御回路からのアクセスに応答して、鍵値を生成し、共通鍵暗号処理ブロックが、鍵生成回路で生成された鍵値を用いて、入力されたデータの暗号化処理を行い、暗号化処理されたデータを出力する。
【００１８】
これにより、外部から直接に暗号化処理時の鍵値を書き込む構成とは異なり、鍵値の生成およびデータの暗号化を行うことができるので、鍵値の信号を読み取られることを防ぐことが可能となる。
【００１９】
また本発明によれば、シフトレジスタ回路は最大鍵長分のフリップフロップを備え、メタ・ステーブル設計回路が非同期関係の信号をラッチする。
【００２０】
イネーブルレジスタは、シフトレジスタ回路を動作または停止させるイネーブル信号を発生する。
【００２１】
また本発明によれば、イネーブルレジスタのみが外部からアクセス可能に構成される。
これにより、さらに確実に、鍵値の信号を読み取られることを防ぐことが可能となる。
【００２２】
また本発明によれば、非同期関係の信号は、複数のクロック信号から選択することができる。
【００２３】
また本発明によれば、外部から読み取り可能なシフトレジスタ回路をさらに備え、外部から読み取り不可能なシフトレジスタと選択可能に構成される。
【００２４】
これにより、外部から読み取り可能なシフトレジスタからリードすることにより制御回路など外部から鍵値を知ることが可能となる。
【００２５】
また本発明によれば、シフトレジスタ回路は、イネーブル信号無効時は、鍵保持回路として機能し、暗号処理回路に鍵値を供給することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を用いて本発明の実施形態を説明する。
図１は、本発明の実施の一形態である暗号処理装置１の構成を示すブロック図である。
【００２７】
暗号処理装置１は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、第１ＬＳＩ１０４、第２ＬＳＩ１０５、ＨＤＤ１０６で構成される。
【００２８】
ＣＰＵ（中央演算処理装置）１０１は、暗号処理装置１の全体を制御する。ＲＯＭ（  Read Only Memory）１０２は、暗号処理装置１を動作させるためのファームウェアプログラムが格納されており、ＣＰＵ１０１動作開始時に読み出され、制御に使用される。
【００２９】
ＲＡＭ（Random Access Memory）１０３は、ＲＯＭ１０２から読み出したプログラムを展開する際に使用される記憶領域としての使用や、装置動作中の各種制御値等を一時的に格納する領域として使用される。
【００３０】
第１ＬＳＩ（Large Scale Integration）１０４は、共通鍵暗号生成機能を有する。第２ＬＳＩ１０５は、第１ＬＳＩ１０４に対してデータ信号を送受信するものである。ＨＤＤ（Hard Disk Drive）１０６は、暗号化後のデータを保存する記憶装置である。
【００３１】
それぞれの回路はデータバス１０７によりデータの送受信が可能に構成されており、さらに第１ＬＳＩ１０４と第２ＬＳＩ１０５との間にＬＳＩデータバス１０８が設けられ、直接にデータのやりとりが可能となっている。
【００３２】
図２は、第１ＬＳＩ１０４の構成を示すブロック図である。
第１ＬＳＩ１０４は、共通鍵暗号処理ブロック２０１、システムバスＩ／Ｆ（インターフェイス）２０２、ＨＤＤ  Ｉ／Ｆ２０３、鍵供給回路２０４、ＣＰＵ  Ｉ／Ｆ２０８を含んで構成される。
【００３３】
システムバスＩ／Ｆ２０２は、第２ＬＳＩ１０５から送信されるデータを、共通鍵暗号処理ブロック２０１に送るためのインターフェイスである。ＨＤＤ  Ｉ／Ｆ２０３は、暗号化処理後のデータを、ＨＤＤ１０６に送信するためのインターフェイスである。
【００３４】
データの暗号化時には、データはシステムバスＩ／Ｆ２０２を介して第２ＬＳＩ１０５から、共通鍵暗号処理ブロック２０１を経て暗号化され、ＨＤＤ  Ｉ／Ｆ２０３を通じてＨＤＤ１０６に記憶される。
【００３５】
データの複合化時には、データはＨＤＤ  Ｉ／Ｆ２０３を介してＨＤＤ１０６から読み出され、共通鍵暗号処理ブロック２０１で復号されて、システムバスＩ／Ｆ２０２を通じて第２ＬＳＩ１０５へ出力される。これは、一般的なデータ転送方向であるが、例えば、ＨＤＤ１０６に保存された暗号化されていないデータを暗号化して外部へ転送する場合は、暗号化・復号化時に転送されるデータの流れは上記とは逆方向となる。
【００３６】
鍵生成回路２０４は、メタ・ステーブル設計回路２０５、２５６ビットシフトレジスタ回路２０６、イネーブルレジスタ回路２０７で構成され、共通鍵暗号処理ブロック２０１に対して暗号化・復号化時に使用する暗号鍵を供給する。
【００３７】
メタ・ステーブル設計回路２０５は、クロックＡと非同期関係にあるデータ信号（クロックＢ）をクロックＡで２回ラッチした後、シフトレジスタ回路２０６に出力する。
【００３８】
ここでクロックＡは、フリップフロップ回路のクロックとして使用する。また、クロックＢは、鍵生成回路２０４内でデータとして使用する。
【００３９】
２５６ビットシフトレジスタ回路２０６は、共通鍵暗号処理ブロック２０１でデータを暗号化処理するときの鍵値を決定する。
【００４０】
ビット幅について、本実施形態では、２５６ビットとしているが、暗号化形式に従って設定されるものであり、１２８ビットや５１２ビットなどの任意のビット幅であってもよい。また、シフトレジスタ回路２０６には、シフトレジスタ機能の動作・停止イネーブル信号が設定されており、停止状態のときは値を保持し続けるため、共通鍵暗号処理ブロック２０１に対して鍵値を供給するための機能も併せ持つ。
【００４１】
イネーブルレジスタ回路２０７は、ＣＰＵ１０１からＣＰＵ  Ｉ／Ｆ２０８を介して入力されたコントロール信号に基づいて、シフトレジスタ回路２０６を動作させ、または停止する信号を２５６ビットシフトレジスタ回路２０６に出力する。
【００４２】
具体的には、ＣＰＵ１０１から入力されたコントロール信号が「１」のとき、シフトレジスタ回路２０６を動作させ、「０」のとき、シフトレジスタ回路２０６を停止させる。
【００４３】
このイネーブルレジスタ回路２０７の停止信号の発生タイミングによって、２５６ビットシフトレジスタ回路２０６で生成される鍵値が決定する。
【００４４】
図３は、イネーブルレジスタ回路２０７の出力波形の例を示す図である。
イネーブルレジスタ回路２０７からの出力には、データの暗号化処理時の鍵値を決定するＷＡＩＴ期間とアクティブ期間とが含まれる。
【００４５】
ＷＡＩＴ期間では、ＣＰＵ１０１が、シフトレジスタ回路２０６に対して信号値「１」を、ライトアクセスするまで待つための任意の期間で、アクティブ期間は、ＣＰＵ１０１が、シフトレジスタ回路２０６に対して信号値「０」をライトアクセスするまで待つための任意の期間である。
【００４６】
ＷＡＩＴ期間とアクティブ期間によって、シフトレジスタ回路２０６で生成される鍵値が決定される。
【００４７】
図４は、データの暗号化処理時の鍵生成処理を示すフローチャートである。
まず、ステップＳ１でＣＰＵ１０１が起動し、ステップＳ２でＣＰＵ１０１がプログラム乱数を生成し、イネーブルレジスタ回路２０７に「１」をライトアクセスするまでのＷＡＩＴ期間を決定する。さらに、ステップＳ３で、ＣＰＵ１０１がプログラム乱数を生成し、イネーブルレジスタ回路２０７に「０」をライトアクセスするまでのアクティブ期間を決定する。
【００４８】
ステップＳ４では、ステップＳ２で決定したＷＡＩＴ期間が経過したかどうかを判断し、経過していればステップＳ５に進み、経過していなければ待機する。
【００４９】
ステップＳ５では、イネーブルレジスタ回路２０７の出力信号をＯＮ「１」にする。ステップＳ６では、ステップＳ３で決定したアクティブ期間が経過したかどうかを判断し、経過していればステップＳ７に進み、経過していなければ待機する。
【００５０】
ステップＳ７では、イネーブルレジスタ回路２０７の出力信号をＯＦＦ「０」にする。
ステップｓ８では、ＷＡＩＴ期間とアクティブ期間とによって、生成の度に異なる値となる暗号・復号化鍵が生成される。
【００５１】
以上のように、本発明では、暗号処理回路である第１ＬＳＩ１０４において、暗号化時のＡＥＳ鍵を生成し、その鍵を使用して、第２ＬＳＩ１０５などから入力されたデータの暗号化処理を行い出力するので、外部から直接に暗号化処理時の鍵値を書き込む回路構成とは異なり、鍵値が読み取られることを困難にすることができる。
【００５２】
次に本発明の他の実施形態について説明する。
図５は、本発明の他の実施形態である暗号化処理装置のうち第１ＬＳＩ１０４の構成を示すブロック図である。
【００５３】
本実施形態では、第１ＬＳＩ１０４に、外部からアクセス可能なシフトレジスタを追加した構成となっている。
【００５４】
図２で示した構成との違いは、第２シフトレジスタ５０１および第２イネーブルイネーブルレジスタ回路５０２が追加されたことである。したがって、以下では、第２シフトレジスタ５０１および第２イネーブルイネーブルレジスタ回路５０２について主に説明し、他の構成については、前述の第１ＬＳＩ１０４と同じ参照符号を付して説明を省略する。
【００５５】
前述の図２に示した第１ＬＳＩ１０４の回路構成は、暗号鍵のセキュリティ管理を行う上で非常に堅牢なシステムとなるが、一つの問題点がある。暗号化したデータを第１ＬＳＩ１０４の外部で復号化して使用する場合、暗号化で使用した鍵値を復号化のために外部で知る必要がある。
【００５６】
このような問題を解決するために、鍵生成用のシフトレジスタとして第２シフトレジスタ５０１をさらに有する構成とする。
【００５７】
第２シフトレジスタ５０１は、ＣＰＵ１０１からＣＰＵ  Ｉ／Ｆ２０８を介してリード・ライトアクセス可能とし、リードすることにより外部から鍵値を知ることが可能となる。また、ライトすることにより鍵値としてＣＰＵ１０１から任意の値を指定できる。
【００５８】
さらに、イネーブルレジスタ５０２を備えることにより、鍵値の自動生成も可能である。また、どちらの鍵値を利用するかは、イネーブルレジスタ５０２が選択することができる。
【００５９】
さらに他の実施形態について説明する。
図６は、本発明の他の実施形態である暗号化処理装置のうち第１ＬＳＩ１０４の構成を示すブロック図である。
【００６０】
本実施形態では、第１ＬＳＩ１０４に入力されるクロックを選択するためのセレクタを追加した構成となっている。
【００６１】
図２で示した構成との違いは、第１セレクタ６０１および第２セレクタ６０２が追加されたことである。したがって、以下では、第１セレクタ６０１および第２セレクタ６０２について主に説明し、他の構成については、前述の第１ＬＳＩ１０４と同じ参照符号を付して説明を省略する。
【００６２】
メタ・ステーブル設計回路２０５で発生させるクロックＡとクロックＢの周波数関係は、理想的な乱数に近い鍵値を生成するためにお互いに関連性の低いクロックを選択する必要がある。しかし、システムによっては、想定していたクロック周波数が変更になることがあるため、クロックを選択可能な構成とする。
【００６３】
具体的には、クロック選択には、シフトレジスタ回路２０６のデータ端子に入力する信号を選択する第１セレクタ６０１と、シフトレジスタクロックに入力する信号を選択する第２セレクタ６０２を有する。
【００６４】
第１セレクタ６０１および第２セレクタ６０２には、それぞれ周波数が異なるクロックＡ、クロックＢ、クロックＣが入力され、これらの中から鍵値を生成するためのクロックを選択してメタ・ステーブル設計回路２０５およびシフトレジスタ回路２０６に出力される。
【００６５】
クロックの選択は、お互いに関連性の低いクロックを選択することが好ましく、第１セレクタ６０１および第２セレクタ６０２によるクロック選択は、ＣＰＵ１０１から第１セレクタ６０１および第２セレクタ６０２のレジスタ設定によって行う構成とする。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の一形態である暗号化処理装置１の構成を示すブロック図である。
【図２】第１ＬＳＩ１０４の構成を示すブロック図である。
【図３】イネーブルレジスタ回路２０７の出力波形の例を示す図である。
【図４】データの暗号化処理時の鍵生成処理を示すフローチャートである。
【図５】本発明の他の実施形態である暗号化処理装置のうち第１ＬＳＩ１０４の構成を示すブロック図である。
【図６】本発明の他の実施形態である暗号化処理装置のうち第１ＬＳＩ１０４の構成を示すブロック図である。
【符号の説明】
【００６７】
１  暗号処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  第１ＬＳＩ
１０５  第２ＬＳＩ
１０６  ＨＤＤ
２０１  共通鍵暗号処理ブロック
２０２  システムバスＩ／Ｆ（インターフェイス）
２０３  ＨＤＤ  Ｉ／Ｆ
２０４  鍵供給回路
２０８  ＣＰＵ  Ｉ／Ｆ
【図１】
2009071449.tif 000003
【図２】
2009071449.tif 000004
【図３】
2009071449.tif 000005
【図４】
2009071449.tif 000006
【図５】
2009071449.tif 000007
【図６】
2009071449.tif 000008