JP2009075474A - 暗号処理装置 - Google Patents
暗号処理装置 Download PDFInfo
- Publication number
- JP2009075474A JP2009075474A JP2007246085A JP2007246085A JP2009075474A JP 2009075474 A JP2009075474 A JP 2009075474A JP 2007246085 A JP2007246085 A JP 2007246085A JP 2007246085 A JP2007246085 A JP 2007246085A JP 2009075474 A JP2009075474 A JP 2009075474A
- Authority
- JP
- Japan
- Prior art keywords
- counter value
- block
- generated
- cryptographic processing
- processing apparatus
- 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
Links
Images
Abstract
【課題】 カウンタ値とデータとを関連付けたテーブルを作成することなく暗号化、復号化することができる暗号処理装置を提供する
【解決手段】 AES暗号処理ブロック201が、第2LSI105からのデータを暗号化および復号化する際、カウンタ値生成ブロック204がカウンタ値を生成する。このカウンタ値生成ブロック204は、暗号化データを記憶するHDD106のアドレス値に基づいてカウンタ値を生成する。
【選択図】 図2
Description
本発明は、入力されたデータを暗号化処理して出力する暗号処理装置に関する。
パーソナルコンピュータ(以下、PCという。)やディジタル複合機等の補助記憶装置のデータには、貴重な財産的価値があるため、これを適切に保護することが従来から重要視されている。特に、インターネットなどのネットワークへの常時接続環境が整備されている今日においては、PCのみならず組み込みシステムに対してもセキュリティホールを探索しネットワークを経由して補助記憶装置に不正アクセスされることがあることから、これを効果的に防止するためのファイアウォールなど機密情報、重要情報の漏えい防止技術が注目されている。たとえば、ハードディスクに記憶されている情報を暗号化処理して保護する装置が存在する。
ところが、ネットワークなどを経由する補助記憶装置への不正アクセスに加えて、実際にPCが置かれている場所に物理的に侵入して補助記憶装置内の貴重な情報を盗み取るといった犯罪も少なくないため、物理的侵入をも想定したセキュリティ対策を行う必要がある。
また、物理的侵入を防止する手段が万全であったとしても、PCを廃棄する場合などに補助記憶装置の物理フォーマットを怠ってしまう等の人為的なミスで、補助記憶装置の内容が漏洩することもある。
このため、物理的侵入を防止する対策を講じるだけでなく、これに加えて、万一、物理的侵入を許してしまった場合や、PCごと他者の手に渡ってしまった場合にも、補助記憶装置の内容が読み取られないようにすることがより重要な技術であるといえる。
そこで、従来技術では、ハードディスク(補助記憶装置)とPCとの間に、データ転送を制御するためのセキュリティボード(データ保護装置)を配置して、PCから出力されるデータを当該セキュリティボードにおいて暗号化した上でハードディスクに記憶するとともに、当該セキュリティボードにマスタキーを装着している場合にのみ補助記憶装置に記憶したデータを復号しながら読み出すことを可能にして、正当な権限のある者のみが補助記憶装置内のデータにアクセスできるようにしてデータの保護を図るものがある。
特許文献1記載のシステムでは、ファイルシステムが有する暗号化コーポーネント自身がAES(Advanced Encryption Standard)を用いて固定の鍵を生成している。
特許文献2記載のデータ端末装置では、暗号化されたコンテンツデータおよびコンテンツデータを再生するためのライセンスを格納する領域を指定するためのエントリ番号と、暗号化コンテンツデータとのファイル名とを関連付けて記憶している。
従来の暗号処理装置は、外部から直接に暗号化処理時の鍵値を書き込む回路構成であるため、鍵値の信号を容易に読み取られるという問題がある。
AESによる暗号化処理の動作モードの1つであるCTR(Counter)モードでは、データを暗号化した上でハードディスク等の外部記憶装置へ保存する際、暗号化に使用したカウンタ値生成方法とデータとの関連付けを示すテーブルを作成し、CPUがアクセスできるメモリ領域にこのテーブルを格納しておく必要がある。しかし、外部記憶装置の大容量化に伴い、作成するテーブル自体の容量も大きくなってしまう。
また、保存したデータ単位の一部のみをハードディスクから読み出す場合、そのデータ単位の初期カウンタ値をテーブルから読み出し、読み出したいデータを復号化するためのカウンタ初期値を計算する必要がある。
本発明の目的は、カウンタ値とデータとを関連付けたテーブルを作成することなく暗号化、復号化することができる暗号処理装置を提供することである。
本発明は、入力されたデータを暗号化処理し、外部記憶装置に出力する暗号化処理装置において、
データを暗号化および復号化する暗号処理ブロックと、
暗号化および復号化に必要な補助値を生成する生成ブロックとを有し、
前記生成ブロックは、データが記憶される前記外部記憶装置のアドレス値に基づいて前記補助値を生成することを特徴とする暗号処理装置である。
データを暗号化および復号化する暗号処理ブロックと、
暗号化および復号化に必要な補助値を生成する生成ブロックとを有し、
前記生成ブロックは、データが記憶される前記外部記憶装置のアドレス値に基づいて前記補助値を生成することを特徴とする暗号処理装置である。
また本発明は、前記暗号処理ブロックは、AESによる暗号化および復号化を行い、
前記補助値は、AESのCTRモードにおけるカウンタ値であることを特徴とする。
前記補助値は、AESのCTRモードにおけるカウンタ値であることを特徴とする。
また本発明は、前記生成ブロックは、複数の生成方式によってカウンタ値を生成可能に構成されることを特徴とする。
また本発明は、前記生成ブロックは、前記アドレス値と、1セクタのデータ量を暗号化処理の単位データ量で除した値とを組み合わせてカウンタ初期値を生成することを特徴とする。
また本発明は、前記カウンタ値は、ビット幅を任意に設定でき、保存ビット位置を変更することが可能なビット構成を有することを特徴とする。
また本発明は、生成されたカウンタ値を変換する変換ブロックをさらに有することを特徴とする。
また本発明は、前記変換ブロックは、生成されたカウンタ値のビット入れ替えを行うことを特徴とする。
また本発明は、前記変換ブロックは、生成されたカウンタ値のビット反転を行うことを特徴とする。
また本発明は、前記変換ブロックは、生成されたカウンタ値のビットコピーを行うことを特徴とする。
また本発明は、前記変換ブロックは、生成されたカウンタ値のビット演算を行うことを特徴とする。
また本発明は、前記変換ブロックは、生成されたカウンタ値をハッシュ関数変換することを特徴とする。
また本発明は、前記変換ブロックは、複数種類の変換方式を有し、使用する変換方式が選択可能に構成されることを特徴とする。
また本発明は、前記カウンタ値を生成する第2生成ブロックをさらに有し、
生成された2つのカウンタ値から1つのカウンタ値を演算することを特徴とする。
生成された2つのカウンタ値から1つのカウンタ値を演算することを特徴とする。
また本発明は、前記第2生成ブロックは、前記生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算することを特徴とする。
また本発明は、前記生成ブロックは、前記第2生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算することを特徴とする。
また本発明は、前記生成ブロックと前記第2生成ブロックは、同時にカウンタ値を生成し、生成された2つのカウンタ値から1つのカウンタ値を演算することを特徴とする。
また本発明は、前記暗号処理ブロックは、生成されたカウンタ値を使用するか否かを選択可能に構成されることを特徴とする。
本発明によれば、暗号処理ブロックがデータを暗号化および復号化する際に必要な補助値を、生成ブロックが生成する。この生成ブロックは、データが記憶される前記外部記憶装置のアドレス値に基づいて前記補助値を生成する。
また本発明によれば、暗号処理ブロックは、AESによる暗号化および復号化を行い、前記補助値は、AESのCTRモードにおけるカウンタ値である。
これにより、暗号化するデータごとにカウンタ値を生成したり、データとカウンタ初期値とを関連付けるテーブルを作成、記憶する必要がないので、暗号化に必要な演算量および記憶容量を削減することができる。さらに、暗号化されたデータの途中から、または一部分のみを復号化したい場合に、アドレス値からカウンタ初期値を即座に算出することができる。
また本発明によれば、前記生成ブロックは、複数の生成方式によってカウンタ値を生成することができるので、よりセキュリティ機能を向上させることができる。
また本発明によれば、前記生成ブロックは、前記アドレス値と、1セクタのデータ量を暗号化処理の単位データ量で除した値とを組み合わせてカウンタ初期値を生成する。
また本発明によれば、前記カウンタ値は、ビット幅を任意に設定でき、保存ビット位置を変更することができる。
これにより、単位セクタ量、アドレス単位が異なる外部記憶装置にも対応することができる。
また本発明によれば、生成されたカウンタ値を変換する変換ブロックをさらに有する。
変換ブロックによる変換方法としては、生成されたカウンタ値のビット入れ替え、
生成されたカウンタ値のビット反転、生成されたカウンタ値のビットコピー、生成されたカウンタ値のビット演算などが適用可能である。また、生成されたカウンタ値をハッシュ関数変換することもできる。
変換ブロックによる変換方法としては、生成されたカウンタ値のビット入れ替え、
生成されたカウンタ値のビット反転、生成されたカウンタ値のビットコピー、生成されたカウンタ値のビット演算などが適用可能である。また、生成されたカウンタ値をハッシュ関数変換することもできる。
また本発明によれば、使用する変換方式が選択可能に構成されるので、カウンタ値の類推が困難となり、セキュリティ機能を向上させることができる。
また本発明によれば、前記カウンタ値を生成する第2生成ブロックをさらに有し、生成された2つのカウンタ値から1つのカウンタ値を演算する。
このとき、前記第2生成ブロックが、前記生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算してもよく、前記生成ブロックが、前記第2生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算してもよい。さらに、前記生成ブロックと前記第2生成ブロックが、同時にカウンタ値を生成し、生成された2つのカウンタ値から1つのカウンタ値を演算してもよい。
これにより、カウンタ値の類推が困難となり、セキュリティ機能を向上させることができる。
また本発明によれば、前記暗号処理ブロックは、生成されたカウンタ値を使用するか否かを選択可能に構成される。
生成されたカウンタ値を使用する場合は、CTRモードで暗号化を行い、使用しない場合は、CTRモード以外の他のモード、たとえばECB、CBC、CFB、OFBなどの各モードで暗号化を行う。何らかの原因でCTRモードによる暗号化ができなくなった場合、他のモードに移行することにより装置を継続的に動作させることができる。
以下、図面を用いて本発明の実施形態を説明する。
図1は、本発明の実施の一形態である暗号処理装置1の構成を示すブロック図である。
図1は、本発明の実施の一形態である暗号処理装置1の構成を示すブロック図である。
暗号処理装置1は、CPU101、ROM102、RAM103、第1LSI104、第2LSI105、HDD106で構成される。
CPU(中央演算処理装置)101は、暗号処理装置1の全体を制御する。ROM(
Read Only Memory)102は、暗号処理装置1を動作させるためのファームウェアプログラムが格納されており、CPU101動作開始時に読み出され、制御に使用される。
Read Only Memory)102は、暗号処理装置1を動作させるためのファームウェアプログラムが格納されており、CPU101動作開始時に読み出され、制御に使用される。
RAM(Random Access Memory103は、ROM102から読み出したプログラムを展開する際に使用される記憶領域としての使用や、装置動作中の各種制御値等を一時的に格納する領域として使用される。
第1LSI(Large Scale Integration)104は、共通鍵暗号生成機能を有する。第2LSI105は、第1LSI104に対してデータ信号を送受信するものである。HDD(Hard Disk Drive)106は、暗号化後のデータを保存する記憶装置である。
それぞれの回路はデータバス107によりデータの送受信が可能に構成されており、さらに第1LSI104と第2LSI105との間にLSIデータバス108が設けられ、直接にデータのやりとりが可能となっている。
図2は、第1LSI104の構成を示すブロック図である。
第1LSI104は、AES暗号処理ブロック201、システムバスI/F(インターフェイス)202、HDD I/F203、カウンタ値生成ブロック204、CPU I/F205を含んで構成される。
第1LSI104は、AES暗号処理ブロック201、システムバスI/F(インターフェイス)202、HDD I/F203、カウンタ値生成ブロック204、CPU I/F205を含んで構成される。
AES暗号処理ブロック201は、共通鍵暗号方式であるAESによってデータの暗号化・復号化を行うハードウェア回路である。
システムバスI/F202は、第2LSI105から送信されるデータを、AES暗号処理ブロック201に送るためのインターフェイスである。HDD I/F203は、暗号化処理後のデータを、HDD106に送信するためのインターフェイスである。
データの暗号化時には、データはシステムバスI/F202を介して第2LSI105から、AES暗号処理ブロック201を経て暗号化され、HDD I/F203を通じてHDD106に記憶される。
データの複合化時には、データはHDD I/F203を介してHDD106から読み出され、共通鍵暗号処理ブロック201で復号されて、システムバスI/F202を通じて第2LSI105へ出力される。これは、一般的なデータ転送方向であるが、たとえば、HDD106に保存された暗号化されていないデータを暗号化して外部へ転送する場合は、暗号化・復号化時に転送されるデータの流れは上記とは逆方向となる。
カウンタ値生成ブロック204は、AES暗号処理ブロック201に対して暗号化・復号化処理に使用するカウンタ値を生成して供給する。
ここで、カウンタ値は、AESの動作モードの1つであるCTRモードにおいて使用される。AESは、暗号化の対象となるデータを128ビット毎のブロック単位に分割し、1ブロック毎に暗号化・復号化の処理を順次実施するが、CTRモードの場合は1ブロックのデータにつき同じ128ビットのカウンタ値を必要とし、128ビットのデータと128ビットのカウンタ値を使って暗号、復号処理を実現する。
CPU I/F205は、CPU101とのデータの通信を行なうためのインターフェイスである。CPU101は、CPU I/F205を介して第1LSI104に対して書き込みおよび読み出しを行い、第1LSI104の各種動作モード設定や、データ転送の起動を行う。
CTRモードにおいては、暗号化されたデータを復号化する際に、暗号化時に使用したカウンタ値と全く同じカウンタ値をAES暗号処理ブロック201に与えなければ暗号化されたデータを復号化することができない。したがって、復号化のためには、暗号化時にどのような規則に従ってカウンタ値を生成したかをCPU101が記憶しておく必要がある。
規則の一例としては、カウンタ初期値、カウントアップ値、カウンタ最小値、カウンタ最大値等の設定がある。従来の技術では、これらカウンタ値の生成規則を、暗号化してハードディスクへ記憶するデータ単位毎にテーブルとして保有し、CPU101による読み出し、書き込み可能なメモリ領域にテーブルを保存しておく。復号化時には、復号化したいデータのテーブル情報を読み出すことによって、カウンタ値生成規則を認識して復号化処理を正しく実施する。
しかし、このテーブル情報はハードディスクへ保存するデータ量が大きくなると、当然それに伴って情報量が多くなり、プログラム容量も増加してしまう。そこで、本発明では、カウンタ値をハードディスクのアドレスに関連付けて生成することによって、テーブルを用いることなくCTRモードでの復号化を可能とするものである。
ハードディスクへ暗号化データを保存する際、ハードディスクのどのアドレスへ保存するかを必ず決定しなければならない。ここで、アドレスとは、LBA(Logical Block
Addressing)、CHS(Cylinder Head Sector)等、ハードディスクのデータ保存位置を規定する値のことを指す。一般的に、ハードディスクを含む大容量外部記憶装置は、規定のデータ量を1セクタとし、このセクタ単位で前述のLBA、CHS等のアドレス値が割り当てられている。ハードディスクであればセクタ単位は512バイトであることが多い。
Addressing)、CHS(Cylinder Head Sector)等、ハードディスクのデータ保存位置を規定する値のことを指す。一般的に、ハードディスクを含む大容量外部記憶装置は、規定のデータ量を1セクタとし、このセクタ単位で前述のLBA、CHS等のアドレス値が割り当てられている。ハードディスクであればセクタ単位は512バイトであることが多い。
ここで、AESの暗号処理ブロック単位は128ビット、つまり16バイトであるため、1セクタ512バイトのデータをAES暗号処理する場合、32回の処理を順次実施する計算になる。そこで、アクセスするアドレス値を32倍した値をカウンタ値の初期値として与える。
図3は、カウンタ値のビット割り当てを説明するための図である。図に示すように、128ビットのビット列において、下位5ビットをセクタ内アドレスビット、上位48ビットをセクタアドレスビットとする。さらに、カウントアップ値は、AES暗号処理ブロック201で128ビットを処理する毎に1ずつ増加させる。このように定義すると、以下のようなカウンタ値生成となる。
たとえば、ハードディスクのアドレス値「1」に対して1024バイト(2セクタ分)のデータを書き込みするとき、カウンタ初期値は、1×32=32となる。カウントアップ値は128ビット処理毎に1ずつ増加するため、カウンタ値は32、33、34…増加し、512バイト(1セクタ)最後のカウンタ値は63となる。そして、ハードディスクアドレス値が「2」である2セクタ目の最初のカウンタ値は64であり、セクタアドレスビットは「2」となるため、ハードディスクアドレス値とカウンタ値の一部であるセクタアドレスビットとを完全に一致させることが可能となる。
ハードディスクからデータを読み出す場合には、書き込みデータのアドレス値である「1」を元にカウンタ初期値を算出することによって復号化が可能となる。また、2セクタ目、つまりハードディスクアドレス値が「2」のデータのみを読み出すことが必要な場合でもアドレス値「2」を元にカウンタ初期値を算出する(2×32=64)ことによってデータ途中からでも容易に復号化が可能となる。
外部記憶装置のセクタ単位は前述のように必ず512バイトであるとは限らない。また、ハードディスクのアドレス情報であるLBAであれば48ビットであるが、アドレス情報のビット幅についても装置によって異なる。したがって、様々な単位セクタ量やアドレス単位を持った装置に対応するため、セクタ内アドレスビットとセクタアドレスビットとはビット幅を変更可能に設定することが好ましい。
図4は、カウンタ値の可変なビット割り当てを説明するための図である。セクタ内アドレスビットをbit3〜bit0までの4ビットとし、セクタアドレスビットをbit91〜bit4までの88ビットに割り当てた例である。この場合、セクタ単位は256バイトとなる。
図5は、本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
本実施形態では、第1LSI104に、カウンタ値生成ブロック204で生成したカウンタ値を変換し、変換カウンタ値をAES暗号処理ブロック201に与えている。
図2で示した構成との違いは、カウンタ値変換ブロック301が追加されたことである。したがって、以下では、カウンタ値変換ブロック301について主に説明し、他の構成については、前述の第1LSI104と同じ参照符号を付して説明を省略する。
前述の図2に示した第1LSI104の回路構成は、カウンタ値がハードディスクアドレス値そのものとなり、暗号解析しようとしたときに容易に類推される可能性が高い値となっている。そこで、カウンタ値生成ブロック204で生成されたカウンタ値をカウンタ値変換ブロック301で変換することによってAES暗号処理ブロック201に与えるカウンタ値を容易に類推できないようにすることが好ましい。
カウンタ値の変換には以下のような例が挙げられる。変換例としては、生成された128ビットのカウンタ値のビットを並べ変えたり、反転したり、コピーしたりといったビット変換を実施する。
図6は、ビット並び替えおよび反転によるカウンタ値の変換例を示す図である。
ビット並び替えは、図6(a)に示すように、128ビットのカウンタ値をランダムに並び替えている。ビット反転は、図6(b)に示すように、カウンタ値をビット毎に「1」を「0」に、「0」を「1」に反転変換している。
ビット並び替えは、図6(a)に示すように、128ビットのカウンタ値をランダムに並び替えている。ビット反転は、図6(b)に示すように、カウンタ値をビット毎に「1」を「0」に、「0」を「1」に反転変換している。
図7は、ビットコピーによるカウンタ値の変換例を示す図である。
セクタ内アドレスビット、セクタアドレスビットをカウンタ値128ビットのうち使用していないビットに再度割り振ることによりカウンタ値を変化させている。
セクタ内アドレスビット、セクタアドレスビットをカウンタ値128ビットのうち使用していないビットに再度割り振ることによりカウンタ値を変化させている。
図示しないが、カウンタ値と任意の値による演算を実施することでビット変換を実施してもよい。
また、生成された128ビットのカウンタ値をハッシュ関数に通すことによりランダムデータとなるよう変換し、AES暗号処理ブロック201に渡すことも可能である。なお、ハッシュ関数により変換を行う場合は、ハッシュ関数値を記憶しておく必要があるが、少なくとも1つの装置に1つの関数値を記憶しておけば十分である。
このように、生成されたカウンタ値を定義に従って変換することにより元のカウンタ値の類推を簡単に行えないようにしている。
図8は、本発明の他の実施形態である暗号化処理装置のうち第1LSI104の構成を示すブロック図である。
本実施形態では、第1LSI104に、2つのカウンタ値生成ブロックによって生成し生成したカウンタ値をAES暗号処理ブロック201に与えている。
図2で示した構成との違いは、カウンタ値生成ブロックB401が追加されたことである。したがって、以下では、カウンタ値生成ブロックB401について主に説明し、他の構成については、前述の第1LSI104と同じ参照符号を付して説明を省略する。
カウンタ値生成ブロックA204は、図2のカウンタ値生成ブロック204と同じである。カウンタ値生成ブロックA204で生成したカウンタ値を、カウンタ値生成ブロックB401へ入力し、カウンタ値生成ブロックB401で生成する任意のカウンタ値と演算することによりAES暗号処理ブロック201へ入力するカウンタ値を生成する。
生成された2つのカウンタ値は、たとえばカウンタ値全ビットの四則計算、カウンタ値を任意のビット領域に分割し、領域毎に異なった四則計算を行うなどしてAES暗号処理ブロック201へ入力するカウンタ値を生成する。
カウンタ値生成ブロックB401は、ビット変換処理と同様、カウンタ値生成ブロックA204で生成されたカウンタ値を、容易に予想できない値に変換する。カウンタ値生成ブロックA204とカウンタ値生成ブロックB401の並び順は反対であってもよく、カウンタ値生成ブロックB401が先にカウンタ値を生成する場合は、カウンタ値生成ブロックB401にて演算処理を実行する。また、カウンタ値生成ブロックA204とカウンタ値生成ブロックB401によって2つのカウンタ値を同時に生成し、生成した2つのカウンタ値を演算する構成でも構わない。
図9は、第1LSI104の動作設定処理を示すフローチャートである。
まず、ステップS1では、CPU101が各種I/Fの動作設定を実施する。たとえば、システムバスI/F202およびHDD I/F203を、読み出しか書き込みのいずれかに設定したり、データ転送量の設定や各種I/F独自の必要設定を実施する。
まず、ステップS1では、CPU101が各種I/Fの動作設定を実施する。たとえば、システムバスI/F202およびHDD I/F203を、読み出しか書き込みのいずれかに設定したり、データ転送量の設定や各種I/F独自の必要設定を実施する。
次にステップS2では、AES暗号処理ブロック201の動作モードの設定を行なう。動作モードとしては、CPU101が「暗号化処理を設定する。」または、「復号化処理を設定する。」のいずれかのモードに設定する他に、「鍵長を設定する。」、「暗号・復号のモード設定(ECB/CBC等)をする」等、暗号処理における基本的な動作設定を行う。
ステップS3では、カウンタ値生成ブロック204の動作モードを設定する。ここでは、カウンタ値の生成を実施する、しないの設定や、データ転送量設定、カウンタ初期値となるLBA値の設定を実施する。また、暗号化が解析された際に使用する全く別のカウンタ値を生成することを想定し、動作方法を選択する。
ステップS4では、カウンタ値変換ブロック301の動作モードを設定する。ここでは、カウンタ値生成ブロック204によって生成された値を変換するカウンタ値変換ブロック301の動作方法を設定する。ビット変換、ビット反転、ハッシュ関数使用等、カウンタ変換ブロックの動作方法を選択する。
ステップS5では、CPU101のライト信号によって、データの転送をスタートする。本装置の場合、通常ハードディスクがデータ転送のマスターを担うため、CPU101はHDD I/F203に対してデータ転送指示を行う。
1 暗号処理装置
101 CPU
102 ROM
103 RAM
104 第1LSI
105 第2LSI
106 HDD
201 AES暗号処理ブロック
202 システムバスI/F(インターフェイス)
203 HDD I/F
204 カウンタ値生成ブロック
205 CPU I/F
101 CPU
102 ROM
103 RAM
104 第1LSI
105 第2LSI
106 HDD
201 AES暗号処理ブロック
202 システムバスI/F(インターフェイス)
203 HDD I/F
204 カウンタ値生成ブロック
205 CPU I/F
Claims (17)
- 入力されたデータを暗号化処理し、外部記憶装置に出力する暗号化処理装置において、
データを暗号化および復号化する暗号処理ブロックと、
暗号化および復号化に必要な補助値を生成する生成ブロックとを有し、
前記生成ブロックは、データが記憶される前記外部記憶装置のアドレス値に基づいて前記補助値を生成することを特徴とする暗号処理装置。 - 前記暗号処理ブロックは、AESによる暗号化および復号化を行い、
前記補助値は、AESのCTRモードにおけるカウンタ値であることを特徴とする請求項1記載の暗号処理装置。 - 前記生成ブロックは、複数の生成方式によってカウンタ値を生成可能に構成されることを特徴とする請求項2記載の暗号処理装置。
- 前記生成ブロックは、前記アドレス値と、1セクタのデータ量を暗号化処理の単位データ量で除した値とを組み合わせてカウンタ初期値を生成することを特徴とする請求項2記載の暗号処理装置。
- 前記カウンタ値は、ビット幅を任意に設定でき、保存ビット位置を変更することが可能なビット構成を有することを特徴とする請求項2記載の暗号処理装置。
- 生成されたカウンタ値を変換する変換ブロックをさらに有することを特徴とする請求項2記載の暗号処理装置。
- 前記変換ブロックは、生成されたカウンタ値のビット入れ替えを行うことを特徴とする請求項6記載の暗号処理装置。
- 前記変換ブロックは、生成されたカウンタ値のビット反転を行うことを特徴とする請求項6記載の暗号処理装置。
- 前記変換ブロックは、生成されたカウンタ値のビットコピーを行うことを特徴とする請求項6記載の暗号処理装置。
- 前記変換ブロックは、生成されたカウンタ値のビット演算を行うことを特徴とする請求項6記載の暗号処理装置。
- 前記変換ブロックは、生成されたカウンタ値をハッシュ関数変換することを特徴とする請求項6記載の暗号処理装置。
- 前記変換ブロックは、複数種類の変換方式を有し、使用する変換方式が選択可能に構成されることを特徴とする請求項6記載の暗号処理装置。
- 前記カウンタ値を生成する第2生成ブロックをさらに有し、
生成された2つのカウンタ値から1つのカウンタ値を演算することを特徴とする請求項2記載の暗号処理装置。 - 前記第2生成ブロックは、前記生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算することを特徴とする請求項13記載の暗号処理装置。
- 前記生成ブロックは、前記第2生成ブロックが生成したカウンタ値と自らが生成したカウンタ値とから1つのカウンタ値を演算することを特徴とする請求項13記載の暗号処理装置。
- 前記生成ブロックと前記第2生成ブロックは、同時にカウンタ値を生成し、生成された2つのカウンタ値から1つのカウンタ値を演算することを特徴とする請求項13記載の暗号処理装置。
- 前記暗号処理ブロックは、生成されたカウンタ値を使用するか否かを選択可能に構成されることを特徴とする請求項1記載の暗号処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007246085A JP2009075474A (ja) | 2007-09-21 | 2007-09-21 | 暗号処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007246085A JP2009075474A (ja) | 2007-09-21 | 2007-09-21 | 暗号処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009075474A true JP2009075474A (ja) | 2009-04-09 |
Family
ID=40610468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007246085A Pending JP2009075474A (ja) | 2007-09-21 | 2007-09-21 | 暗号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009075474A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012151805A (ja) * | 2011-01-21 | 2012-08-09 | Sharp Corp | データ暗号化装置、及び、メモリカード |
-
2007
- 2007-09-21 JP JP2007246085A patent/JP2009075474A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012151805A (ja) * | 2011-01-21 | 2012-08-09 | Sharp Corp | データ暗号化装置、及び、メモリカード |
US8555084B2 (en) | 2011-01-21 | 2013-10-08 | Sharp Kabushiki Kaisha | Data encryption device and memory card |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428306B2 (en) | Encryption apparatus and method for providing an encrypted file system | |
JP4551802B2 (ja) | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 | |
CN108449172B (zh) | 加密/解密方法和计算设备的集成电路 | |
EP2619705B1 (en) | A tweakable encryption mode for memory encryption with protection against replay attacks | |
JP5417092B2 (ja) | 暗号化属性を用いて高速化された暗号法 | |
JP6067757B2 (ja) | ストレージ装置とホスト間でデータ伝送を保護するためのストレージ・コントローラ・バス・インターフェースの使用 | |
CN102611549B (zh) | 数据加密设备和存储卡 | |
JPH11272561A (ja) | 記憶媒体のデータ保護方法、その装置及びその記憶媒体 | |
CN103154963A (zh) | 对地址的加扰和对需存储于存储设备中的写入数据的加密 | |
Khati et al. | Full disk encryption: bridging theory and practice | |
JP2006085676A (ja) | 暗号化命令処理装置 | |
KR101117588B1 (ko) | 암호화 표시정보를 갖는 기록매체 | |
JPWO2006033347A1 (ja) | 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置 | |
JP5703714B2 (ja) | データ処理装置およびデータ処理システムとデータ処理プログラムならびにアクセス制限方法 | |
JP2007336446A (ja) | データ暗号化装置 | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
JP2009075474A (ja) | 暗号処理装置 | |
JP2010219883A (ja) | 画像形成装置および画像形成方法 | |
JP2011123229A (ja) | プログラムコード暗号化装置及びプログラム | |
JP7063628B2 (ja) | 暗号化装置、暗号化方法およびプログラム | |
US20230208821A1 (en) | Method and device for protecting and managing keys | |
JP5539024B2 (ja) | データ暗号化装置およびその制御方法 | |
JP2004038476A (ja) | 暗号化装置及び暗号化システム | |
JP3797531B2 (ja) | ディジタルデータの不正コピー防止システム | |
JP2007074701A (ja) | 情報安全の暗号方法、情報安全の復号方法及びパソコンにより読取可能な記録メディア |