JP4829639B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP4829639B2
JP4829639B2 JP2006048943A JP2006048943A JP4829639B2 JP 4829639 B2 JP4829639 B2 JP 4829639B2 JP 2006048943 A JP2006048943 A JP 2006048943A JP 2006048943 A JP2006048943 A JP 2006048943A JP 4829639 B2 JP4829639 B2 JP 4829639B2
Authority
JP
Japan
Prior art keywords
data
storage device
command
hdd
information
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.)
Active
Application number
JP2006048943A
Other languages
English (en)
Other versions
JP2007226667A (ja
JP2007226667A5 (ja
Inventor
秋生 伊藤
信博 田頭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006048943A priority Critical patent/JP4829639B2/ja
Priority to CN200710078952A priority patent/CN100587677C/zh
Priority to EP07250680.1A priority patent/EP1830300B1/en
Priority to EP12187108.1A priority patent/EP2544122B1/en
Priority to EP19168762.3A priority patent/EP3543893A1/en
Priority to US11/678,192 priority patent/US8539605B2/en
Priority to KR1020070018600A priority patent/KR100937784B1/ko
Publication of JP2007226667A publication Critical patent/JP2007226667A/ja
Publication of JP2007226667A5 publication Critical patent/JP2007226667A5/ja
Priority to US13/235,905 priority patent/US8839359B2/en
Application granted granted Critical
Publication of JP4829639B2 publication Critical patent/JP4829639B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Description

本発明は、データ処理装置およびデータ処理方法に関するものである。
コンピュータシステムにおいて、データは外部記憶装置に保持されることが多い。外部記憶装置は、HDDに代表されるように、コンピュータシステムとはケーブル(例えば、IDE、SCSI、USB、IEEE1395)等で接続されていて、コンピュータシステムとの物理的な一体感が小さく、分離することが可能である。したがって、外部記憶装置をコンピュータシステムから分離し、解析することによって、外部記憶装置内のデータが漏洩してしまうという脅威が存在する。
上記の脅威に対抗する対策の一つとして、外部記憶装置に保持するデータを暗号化する方法がある。この方法は、外部記憶装置に書き込むデータを暗号化し、また外部記憶装置から読み込みデータを復号することによって、外部記憶装置に保持されているデータの漏洩を防止するものである。
既存のコンピュータシステムに、新たに暗号化復号機能を追加する方法として、以下の3つの方法が考えられる。
第1の方法は、コンピュータシステムに暗号化復号機能を新規に追加する方法である。この方法の場合、既存のコンピュータシステムに対して、暗号化復号機能を新規に追加する必要があり、コンピュータシステムの変更が大きくなるという問題がある。
第2の方法は、外部記憶装置に暗号化復号機能を追加する方法である。この方法の場合、外部記憶装置自身に暗号化復号機能を追加する必要があり、汎用的な外部記憶装置が利用できないという問題がある。
第3の方法は、コンピュータシステムと外部記憶装置との間をブリッジする新たな装置を設ける方法である。なお、第3の方法に関連したて提案として、特許文献1(特開平4−98552号公報)と特許文献2(特開平11−85621号公報)がある。
特許文献1は、暗号化手段、復号手段、データ処理手段および外部記憶装置から構成される電子ファイリング装置であって、外部記憶装置に記録するデータを暗号化し、外部記憶装置から読み出すデータを復号する。また、暗号化または復号に必須の情報を取り外し可能な構造を有する。
特許文献2は、コンピュータシステムと外部記憶装置の間に接続される記録データ暗号化装置102であり、鍵情報を記憶する記憶手段と、コンピュータシステムから送られたデータを前記鍵情報を加味して暗号化し外部記憶装置へ転送する暗号化手段を備える。また、外部記憶装置から読み出した暗号化されたデータを前記鍵情報を加味して復号化しコンピュータシステムへ転送する復号化手段と、暗号化手段と復号化手段を監視しそれらの動作を制御するプロトコル制御手段を備える。このような構成により、コンピュータシステムおよび外部記憶装置に変更を加えることなく、外部記憶装置に記憶するデータの暗号化を実現し、外部記憶装置内のデータの漏洩を防止している。また、鍵情報をICカード等の着脱可能な第2の外部記憶装置に記憶可能である。
特開平4−98552号公報 特開平11−85621号公報
上記特許文献1は、イメージスキャナ、ディスプレイ、プリンタまたは操作パネルを制御するデータ処理手段が暗号化手段および復号手段を制御している。つまり、当該従来例は、暗号化手段および復号手段がデータ処理手段から分離可能となっており、物理的な構成においては上記第3の方法(ブリッジする新たな装置を設ける方法)に分類できる。
しかし、データ処理手段が暗号化手段および復号手段を制御しており、機能的な構成においては上記第1の方法(コンピュータシステムに暗号化復号機能を追加する方法)であり、コンピュータシステムの変更が大きくなるという問題がある。
上記特許文献2は、コンピュータシステムおよび外部記憶装置に変更を加えることなく、外部記憶装置に記憶するデータを暗号化し、外部記憶装置内のデータの漏洩を防止した。つまり、外部記憶装置単体の盗難という脅威に対しては、データの暗号化によって対抗していた。しかし、暗号化で利用した鍵情報は、記録データ暗号化装置に保持されている。つまり、外部記憶装置と記録データ暗号化装置のセットで盗難された場合、外部記憶装置と記録データ暗号化装置をセットで異なるコンピュータシステムに接続することで容易に外部記憶装置のデータにアクセスすることが可能となるという問題がある。
なお、従来の方法は、鍵情報をICカード等の着脱可能な第2の外部記憶装置に記憶可能である。しかし、外部記憶装置、記録データ暗号化装置および第2の外部記憶装置のセットで盗難された場合、前述と同様に外部記憶装置のデータにアクセスすることができ、本質的な問題解決になっていない。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、記憶装置と記憶装置を制御する制御装置の間に接続され、記憶装置に記憶されるデータのセキュリティを適切に保つことができるデータ処理装置を提供することである。なお、このデータ処理装置においては、記憶装置とデータ処理装置がセットで盗難された場合でも記憶装置へアクセスすることを防止する仕組を提供する。さらに、記憶装置にアクセスするコマンドをデータ処理装置が認識し、制限することで、記憶装置への不要なアクセスを防止して、セキュリティを強化する仕組を提供するものである。
記憶装置と前記記憶装置を制御する制御装置の間に接続されるデータ処理装置であって、前記制御装置から受信して前記記憶装置へ転送すべきデータに対して暗号化処理を実行する暗号化手段と、前記記憶装置から受信して前記制御装置へ転送すべきデータに対して復号化処理を実行する復号化手段と、前記制御装置からコマンドを受信する受信手段と、前記受信手段が受信したコマンドのうち前記記憶装置へ送信すべきコマンドを特定するための特定情報を記憶する記憶手段と、前記記憶手段に記憶された前記特定情報に基づいて、前記受信手段が受信したコマンドを前記記憶装置へ送信するか否かを判断する判断手段と、前記判断手段により前記記憶装置へ送信すると判断されたコマンドを前記記憶装置へ送信する送信手段と、前記制御装置とデータ処理装置の間で認証を行う認証手段と、前記認証手段による認証前には前記記憶装置へのアクセスを遮断する遮断モードとし、前記認証手段による認証終了後には前記記憶装置へのアクセスを許可するアクセスモードとするように、前記データ処理装置の動作モードを制御する動作モード制御手段とを有し、前記判断手段は、前記動作モードに応じて、前記記憶装置へ送信すると判断するコマンドを異ならせることを特徴とする。
本発明によれば、記憶装置と前記記憶装置を制御する制御装置の間に接続され、記憶装置に記憶されるデータのセキュリティを適切に保つデータ処理装置を提供することができる。
〔第1実施形態〕
本発明の実施形態について図面を参照して詳細に説明する。
図1は,本発明のデータ処理装置としてのデータ暗号化装置を適用可能なシステムの一例を示すブロック図である。
まず、本発明のデータ暗号化装置の利用環境について説明し、次に、データ暗号化装置の構成を説明し、最後に、データ暗号化装置でデータの機密性を維持する動作を説明する。
<データ暗号化装置の利用環境>
図1に示すように、データ暗号化装置102は、コンピュータシステム(制御装置)100と外部記憶装置としてのHDD103間をブリッジするように接続される。データ暗号化装置102は、コンピュータシステム100が備えるHDDコントローラ101と、HDD103の間にデータの暗号化を行う回路基板(ボード)として機能する。なお、データ暗号化装置102は、コンピュータシステム100及びHDD103と、汎用のインターフェース(例えば、ATAバスインターフェース)を介して接続されている。このようにデータ暗号化装置102を接続する際に、汎用のインターフェースを用いることで、コンピュータシステム100や外部記憶装置103の構成を変更する必要がない。
データ暗号化装置102は、コンピュータシステム100から送信されたデータを暗号化し、HDD103に転送し、かつHDD103から読み込まれたデータを復号化してコンピュータシステム100に転送する。なお、HDD103には、後述するように、データ暗号化装置102が保持する鍵により暗号化されたデータが記憶されるため、第三者がHDD103のみを持ち出されたとしてもHDD103をデータ暗号化装置102なしにはデータを復号化することができない。よって、HDD103のみが持ち出されたとしても、データのセキュリティを保つことができる。
コンピュータシステム100は、バンキングシステム、DTP(DeskTop Publishing)システム、またはMFP(Multi Function peripheral)等のデータ処理装置であり、特定のデータ処理装置に限定しない。外部記憶装置は、データを保持する装置であって、HDD(Hard Disk Drive)、またはCD−R/CD−RW/DVD−R/DVD−RWのような書き換え可能な磁気ディスク等であり、特定の外部記憶装置に限定しない。なお、図1では、一例としてHDDと記載している。
なお、本実施形態において、コンピュータシステム100は、大きな筐体や入退室管理が実施されている居室に設置されている筐体であり、物理的に盗難が困難であるものと想定する。したがって、本実施形態においては、HDD103やデータ暗号化装置102が盗難されることによるデータ漏洩を防止する点に着目する。
<データ暗号化装置102の構成>
図1に示すように、データ暗号化装置102は、コンピュータシステム100内のHDDコントローラ101とHDD103に挿入される。コンピュータシステム100のHDDコントローラ101とデータ暗号化装置102、及びデータ暗号化装置102とHDD103は、HDDの汎用的な通信規格であるもATAバス(104及び105)で接続される。データ暗号化装置102は、HDDコントローラ101からHDD103へ送られる制御コマンドの解釈処理、HDD103へ格納するデータの暗号化処理、及びHDD103から読み出したデータの復号化処理を行う。
CPU106はデータ暗号化装置102の全体を制御するものである。また、メモリ111は、CPU106が実行する制御プログラム、及び各種のデータの格納が可能である。メモリ111は、データの暗号化で必要な鍵情報などのデータを格納することができる不揮発性メモリとして機能する。RAM112は、CPU106がメモリ111から読み出した制御プログラム等を実行するためのワークメモリとして用いられる。
ATAバスセレクタ(ATA BUS SELECTOR)107は、HDDコントローラ101とHDD103とを接続するためのインターフェースである。
デバイスI/F(DEVICE I/F)108は、ATAバスセレクタ107を介してHDDコントローラ101とアドレス・データバス113を接続するためのインターフェースである。
コンピュータシステム100のHDDコントローラ101は、HDD103を制御するための制御コマンドを発行し、発行された制御コマンドは、デバイスI/F108で一旦受信される。実行可能であると判断されたコマンドはCPU106からホストI/F(HOST I/F)110に対して発行され、HDD103へ送られる。
CPU106は、コンピュータシステム100から受信したデータをHDD103へ格納する際には、受信したデータを、暗号・復号部109で暗号化してHDD103へ転送する。また、CPU106は、HDD103からデータを読み出してコンピュータシステム100に送信する際には、暗号・復号部109でデータを復号化して、ATAバス(ATA BUS)104を介してコンピュータシステム100へ転送する。
暗号・復号部109は、コンピュータシステム100から送信されたデータをHDD103へ格納する際にデータの暗号化を行うとともに、HDD103からデータを読み出してコンピュータシステム100に転送する際にデータの復号化を行うブロックである。
なお、暗号・復号部109が行うデータの暗号化においては、種々の暗号化アルゴリズムを用いることができる。例えば、AES(Advanced Encryption Standard)など共通鍵暗号方式、RSAなど公開鍵暗号方式、または共通鍵方式と公開鍵方式を組み合わせたハイブリッド方式などが利用可能である。
ホストI/F110は、ATAバスセレクタ107を介してHDD103とアドレス・データバス113を接続するためのインターフェースである。
また、データ暗号化装置102内の各ブロックは、アドレス・データバス113を介してCPU106により制御される。
なお、データ暗号化装置102は、ATAバスセレクタ107により、HDDコントローラ101とHDD103に対する通信を全て標準インターフェース(ATAバスインターフェース)を介して実行することが可能である。
以下、データ暗号化装置102の機能について説明する。なお、データ暗号化装置102は、以下の各機能をメモリ111に格納されているプログラムを実行することに実現する。
<認証機能>
データ暗号化装置102は、ATAバスと接続するインターフェース(ATAバスセレクタ107)を有しているので、ATAバスと接続するインターフェースを有するコンピュータシステムであれば、どのようなシステムとも物理的には接続可能である。しかし、データ暗号化装置102が、どのようなコンピュータシステムとも接続可能な構成としてしまうと、問題が生じる。例えば、データ暗号化装置102及びHDD103が第三者により盗難されてしまった場合、盗難されたものがコンピュータシステム100とは別のコンピュータシステムに接続されることで、HDD103に記憶されたデータの内容が漏洩してしまう可能性がある。そこで、本実施形態では、データ暗号化装置102に、データ暗号化装置102が接続されるコンピュータシステムが正当なコンピュータシステムであるかどうかを認証するための認証機能を設けている。
なお、認証機能を実現するための具体的な方法としては、種々の方法を用いることができるが、例えば以下の方法がある。
第1の方法は、コンピュータシステム100とデータ暗号化装置102の各々に共通の認証情報を保持させておく。そして、コンピュータシステム100から受信した認証情報とデータ暗号化装置102で保持している認証情報が一致する場合に、コンピュータシステム100が正当であると認証する方法である。
また、第2の方法は、コンピュータシステム100とデータ暗号化装置102の各々に共通の認証情報を保持させておく。そして、認証情報を用いてチャレンジアンドレスポンス認証することにより、コンピュータシステムが正当であることを認証する方法である。
また、第3の方法は、データ暗号化装置102にコンピュータシステム100の公開鍵証明書を保持させておく。そして、データ暗号化装置102がコンピュータシステム100のデジタル署名を受信し、デジタル署名を検証することにより、コンピュータシステム100が正当であることを認証する方法である。なお、データ暗号化装置102は、デジタル署名を受信するとともに公開鍵証明書を受信するようにしても良い。
<暗号化・復号機能>
暗号化・復号機能は、暗号・復号部109が、鍵情報を用いてコンピュータシステム100から送信されたデータを暗号化し、HDD103から読み込んだデータを復号する機能である。
<制御機能>
制御機能は、コンピュータシステム100から送信された情報がコマンド等の制御情報であるか、またはデータであるかを判断し、データの場合だけ暗号・復号部109を動作させ暗号化する機能である。なお、制御機能は、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。さらに、制御機能は、HDD103から読み込んだ情報がコンピュータシステム100から送信された制御情報に対する応答等の制御情報であるか、またはデータであるかを判断し、データの場合だけ暗号・復号部109を動作させ復号する。
なお、制御機能は、暗号・復号部109で用いる鍵情報が存在しない等の初期状態である場合、コンピュータシステム100とHDD103間の情報の送受信を遮断する。鍵情報の存在の有無は、後述の状態管理機能によって判断される。
<鍵生成機能>
次に、暗号・復号部109がデータの暗号化・復号化をするために用いる鍵情報を生成する鍵生成機能について説明する。
ここで、暗号・復号部109が用いる鍵情報は、第三者に漏洩するとHDD103内の暗号化されたデータの復号化が可能となってしまう情報である。従って、暗号・復号部109が用いる鍵情報は、データ暗号化装置102以外には漏洩しないようにする必要がある。そこで、データ暗号化装置102は、自装置内で鍵情報を生成する鍵生成機能を有している。
鍵生成機能を実現するために、データ暗号化装置102は、コンピュータシステム100からコンピュータシステム100の固有情報(以下、固有情報)を受信する。固有情報は個々のコンピュータシステム100に固有の情報であって、シリアル番号、LAN I/Fを持つコンピュータシステム100におけるMACアドレス、またはそれらの情報を組み合わせた情報など、さまざまな情報を利用することが可能である。
鍵生成機能は、コンピュータシステム100から受信した固有情報とメモリ111に保持しているシード情報から鍵情報を生成する。なお、シード情報の生成方法は、鍵情報の生成方法と暗号化アルゴリズムに依存する。乱数を暗号化アルゴリズムにおける鍵情報として利用できる場合は、シード情報も乱数または擬似乱数として生成することも可能である。一方、特定の条件を満たす情報を暗号化アルゴリズムにおける鍵情報として利用しなければならない場合は、例えば、鍵情報を生成し、生成した鍵情報とシード情報から「鍵情報=f(シード情報,固有情報)」を満たすシード情報を求める必要がある。
ここで、固有情報とシード情報から鍵情報を生成する方法としては種々の方法を用いることができるが、例えば以下の方法が考えられる。
(1)固有情報とシード情報の排他的論理和を鍵情報とする方法。
(2)一方向性ハッシュ関数に固有情報とシード情報を入力し、出力された情報を鍵情報とする方法。
(3)固有情報を暗号化関数の鍵とし、シード情報を暗号化処理し、出力された情報を鍵情報とする方法。
(4)シード情報を暗号化関数の鍵とし、固有情報を暗号化処理し、出力された情報を鍵情報とする方法。
(5)DH(Diffie-Hellman)鍵共有方式(RFC 2631)に基づいて鍵情報を共有する方法。
ただし、データ暗号化装置102だけが鍵情報を保持できればよいので、例えば、シード情報をデータ暗号化装置102のDH鍵共有方式の秘密鍵とし、固有情報をデータ暗号化装置102の公開鍵とコンピュータシステムの固有の情報から得られる情報とする。
上記の各方法は、固有情報とシード情報から鍵情報を生成する一例であって、本実施形態における鍵情報の生成方法は、2入力の関数f「鍵情報=f(シード情報,固有情報)」であればどのような関数でもよい。
また、鍵情報と鍵情報検証情報とをセットで鍵情報として管理することで、鍵情報の正当性を検証することも可能である。なお、鍵情報検証情報は、一例として、鍵情報のハッシュ値が考えられる。
<状態管理機能>
状態管理機能は、データ暗号化装置102の状態に関して、初期状態であるか否かを判断するものである。
ここで、「初期状態」とは、鍵生成機能で鍵情報を生成するときに利用する鍵のシード情報がメモリ111に保持されていて鍵情報を生成可能な状態である場合に対応する。また、「初期状態でない」とは、シード情報をメモリ111に保持しておらず鍵情報を生成不可能な状態である場合に対応する。
なお、状態管理機能では、シード情報がメモリ111に保持されていないと判断した場合に、シード情報を新たに生成し、生成したシード情報をメモリ111に保持させる。なお、シード情報は、データ暗号化装置102に固有の情報であり、データ暗号化装置102以外の装置からは知ることができない情報である。
<データ暗号化装置102の動作について>
以下、図2を参照して、本実施形態におけるデータ暗号化装置102の動作を説明する。
図2は、本実施形態における第1の制御処理プログラムの一例を示すフローチャートである。なお、このフローチャートの処理は、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。なお、図中、S301〜S307は各ステップを示す。
まず、ステップS301において、CPU106は状態管理機能により、データ暗号化装置102のメモリ111内に保持されているシード情報の有無を検査する。そして、CPU106は、シード情報がメモリ111に保持されていないと判定した場合には、ステップS302に処理を進める。ステップS302で、CPU106は、状態管理機能により、シード情報を新たに生成し、メモリ111内に格納する。
一方、ステップS301で、CPU106が、データ暗号化装置102のメモリ111内にシード情報が保持されていると判定した場合、そのままステップS302に処理を進める。
次に、ステップS303で、CPU106は、認証機能により、コンピュータシステム100が正当であるか否かを認証する。CPU106は、認証に成功するまで認証処理を繰り返す。
そして、CPU106は、コンピュータシステム100の認証に成功したと判定した場合には、ステップS304に処理を進める。ステップS304で、CPU106は、コンピュータシステム100から固有情報を受信する。
そして、CPU106は鍵生成機能により、固有情報とシード情報から鍵情報を生成し、暗号・復号部109にセットする。なお、鍵情報として鍵情報検証情報をセットで管理している場合、生成した鍵情報の正当性を検証することが可能である。
次に、ステップS306において、CPU106は状態管理機能によりデータ暗号化装置102の状態を監視する。そして、CPU106は、鍵情報を保持していない等の初期状態となった場合、制御機能によりコンピュータシステム100とHDD103間の情報の送受信を遮断するように制御する。なお、状態管理機能は、鍵情報の正当性を検証可能であって、鍵情報の正当性を検証できなかった場合、鍵情報を保持していないと判断することも可能である。
一方、ステップS306で、CPU106は制御機能により、コンピュータシステム100から送信された情報がコマンド等の制御情報であるか、又はデータであるかを判断する。そして、コンピュータシステム100から送信された情報がデータであると判定した場合のみ、ステップS307に処理を以降させ、暗号・復号部109を動作させて、該データを暗号化する。さらに、CPU106は制御機能により、HDD103から読み込んだ情報が応答等の制御情報であるか、又はデータであるかを判断し、データであると判定した場合のみ、ステップS307に処理を以降させ、暗号・復号部109を動作させ復号する。なお、暗号・復号部109は、ステップS305で生成した鍵情報を用いて、データの暗号化または復号を行う。
以上の手順によって、HDD103に保持されているデータを暗号化することを実現できる。
<データの暗号化・復号化処理の詳細>
図2のステップS306に示したデータの暗号化及び復号化に関して、図3,図4のデータのフローを例示して詳細に説明する。
図3は、コンピュータシステム100から送信されるデータをHDD103に書き込む場合のデータフローを示す図である。
図3に示すように、CPU106の制御機能は、コンピュータシステム100から実行可能な「コマンド」と「データ」からなる情報を受け取る。ここで、この「コマンド」はHDD103へのデータの書き込みに相当する制御情報であり、「データ」はHDD103に書き込まれるデータとする。
CPU106の制御機能は、暗号・復号部109を動作させ、「データ」を暗号化する。そして、CPU106の制御機能は、「コマンド」と暗号化処理によって得られた「暗号化データ」からなる情報をHDD103に送信する。
次に、CPU106の制御機能は、HDD103から、暗号化データがHDD103に書き込まれたことに応じて送信される「応答」を受け取り、制御情報である「応答」をそのままコンピュータシステム100へ送信する。
図4は、コンピュータシステム100が、データをHDD103から読み込む場合のデータフローを示す図である。
CPU106の制御機能は、コンピュータシステム100から実行可能な「コマンド」を受け取る。ここで、この「コマンド」はHDD103からのデータの読み込みに相当する制御情報である。
CPU106の制御機能は、コンピュータシステム100から受信した「コマンド」をそのままHDD103に送信する。
次に、CPU106の制御機能は、HDD103から、暗号化データがHDD103から読み込まれたことに応じて送信される「応答」と「暗号化データ」を受け取る。
さらに、CPU106の制御機能は、暗号・復号部109を動作させ、HDD103から読み込んだ「暗号化データ」を復号化する。そして、CPU106の制御機能は、「応答」と「データ」(復号済)からなる情報をコンピュータシステム100へ送信する。
なお、図3および図4に示したデータフローは、一例である。複数のインターフェースに係る具体的なデータフローは、コンピュータシステム100とデータ暗号化装置102間のインターフェースの仕様、およびデータ暗号化装置102とHDD103間のインターフェース仕様に依存する。
例えば、「データ」がなく、「コマンド」と「応答」だけのデータフローも考えら得る。さらに、コンピュータシステム100とデータ暗号化装置102間のインターフェースとデータ暗号化装置102とHDD103間のインターフェースが異なる場合も考えられる。この場合、CPU106の制御機能は、データの暗号化復号処理に加えて、インターフェース仕様の変換処理を同時に行うことで実現可能である。
なお、図3および図4で示したとおり、データ暗号化装置102において暗号化される情報は「データ」である。したがって、鍵情報を保持しない等、データ暗号化装置102が初期状態の場合、CPU106の制御機能は、コンピュータシステム100とHDD103間の送受信を遮断する情報を「データ」に限定することも可能である。
また、上述のとおり、データ暗号化装置102におけるコンピュータシステム100の認証方法はさまざまな方法を利用できる。
したがって、ステップS303のコンピュータシステム100の認証時に、コンピュータシステム100から固有情報を受信することも可能である。例えば、コンピュータシステム100からデジタル署名と公開鍵証明書を受信して認証する認証方法の場合、公開鍵証明書をコンピュータシステム100の固有情報として利用することができる。このように、ステップS303において、コンピュータシステム100の固有情報を受信可能な場合、ステップS304を省略することも可能である。
本実施形態は、コンピュータシステム100とHDD103をインターフェースを介して接続するデータ暗号化装置102であって、CPU106の制御により暗号・復号部109でHDD103に書き込むデータを暗号化するものである。本実施形態では、この構成によって、HDD103に記憶されるデータの機密性を保つことができる。
特に暗号化または復号化に用いる鍵情報は、コンピュータシステム100の固有情報とデータ暗号化装置102に固有のシード情報から生成される。そのため、コンピュータシステム100とデータ暗号化装置102の異なる組から正当な鍵情報を生成することができない。
さらに、コンピュータシステム100の固有情報の受信前にコンピュータシステム100を認証することによって、正当なコンピュータシステム100の固有情報の受信を実現している。
従って、データ暗号化装置102とHDD103をセットで盗難されたとしても、HDD103内のデータの機密性を維持することができる。また、データ暗号化装置102は、状態管理機能によって、鍵情報に関する状態としてシード情報の有無を管理し、鍵情報を保持していない場合は自動的に鍵情報を生成するためのシード情報を生成するので、鍵情報の管理の自動化を実現している。
<データ暗号化装置102の動作モード>
以下、データ暗号化装置102の動作モードについて、図5を用いて説明する。
図5は、データ暗号化装置102の動作モードを説明する状態遷移図である。
データ暗号化装置102の動作モードは、大きく分けて「遮断モード」と「起動モード」の2種類がある。また、「起動モード」には、「通常モード」と「バイパスモード」と「暗号・復号モード」が含まれるものとする。なお、データ暗号化装置102をいずれのモードにて動作させるかは、CPU106がメモリ111に記憶されたプログラムを実行することにより判断するものとする。
データ暗号化装置102に電源が投入されると、データ暗号化装置102は、まず遮断モードS701に設定される。この遮断モードは、HDDコントローラ101が送信する如何なる情報もHDD103へ到達させないモードである。
このとき、HDDコントローラ101からHDD103へのアクセスであるレジスタのリードライトは、全てデータ暗号化装置102に対して行われ、HDD103へのアクセスは遮断される。
また、このとき使用可能なコマンドは、HDD103にアクセスするために使用する通常コマンド以外の、新たに定義した拡張コマンド(後述する図8)のみが使用可能である。
この遮断モードS701においてCPU106は、前述した認証機能のみが実行可能である。認証機能によりコンピュータシステム100が正当であると認証された場合にのみ、データ暗号化装置102は、遮断モードS701から通常モードS702に移行できる。
なお、HDDコントローラ101が発行するコマンドがHDD103にて実行可能か不可能であるかは、データ暗号化装置102内のメモリ111に格納された参照データに基づいて判断される。データ暗号化装置102は、HDDコントローラ101が発行するコマンドを、図1に示したATAバスセレクタ107を介してデバイスI/F108にて受信し、アドレス・データバス113を介してCPU106が認識する。そして、CPU106が、メモリ111内の参照データと比較し、コマンドがHDD103にて実行可能かを判断する。
通常モードS702は、HDDコントローラ101がHDD103に対してアクセスを行うモードである。ただし、HDDコントローラ101が発行するコマンドは全てデータ暗号化装置102がHDD103にて実行可能か否かを判断し、実行可能なコマンド(図9)のみがHDD103へ渡される。それ以外のコマンドは、実行不可能なコマンドとしてHDD103に転送しないものとする。
コンピュータシステム100から受信したコマンドが実行可能であるか不可能であるかの判断は、上述の遮断モードS701と同様であり、動作モードごとにメモリ111内の参照データを変更している。ただし、実行可能なコマンドは動作モード毎に異なる。
また、通常モードS702において、CPU106により実行可能であると判断されたコマンドは、ホストI/F110に対してCPU106により設定される。そして、データ暗号化装置102により、ATAバスセレクタ107を介してHDD103へ転送(発行)される。
次に、HDD103に対するレジスタアクセスコマンド(後述する「PIO READ」タイプのコマンド)を受け取ると、データ暗号化装置102は動作モードを通常モードS702からバイパスモードS703へ移行させる。詳細は後述する。
一方、データ暗号化装置102は、コンピュータシステム100から、HDD103に対するデータの格納,読み出しを示すDMA転送タイプのコマンドを受け取ると、動作モードを通常モードS702から暗号・復号モードS704へ移行させる。
また、この通常モードS702で、特別に定義された拡張コマンドの内「CHANG INTERCEPT」コマンド(図8)を受信すると、データ暗号化装置102は動作モードを通常モードS702から遮断モードS701へ移行させる。
バイパスモードS703は、通常モードS702において、HDD103へのレジスタアクセス(「PIO READ」タイプのアクセス)行うときに実行されるモードである。このバイパスモードS703は、HDDコントローラ101のレジスタアクセスをHDD103へバイパスさせるモードである。HDD103のレジスタデータのコンピュータシステム100への転送完了後、データ暗号化装置102は動作モードをバイパスモードS703から通常モードS702へ移行させる。
暗号・復号モードS704は、DMA転送によるHDD103へのデータ格納、読み出し時にデータに対してデータを暗号化または復号化するモードである。データ暗号化装置102は、DMA転送が完了した時点で動作モードを暗号・復号モードS704から通常モードS702へ移行させる。
<ATAバスセレクタ107の構成>
以下、図6を参照して、図1に示したATAバスセレクタ107の構成について説明する。
図6は、図1に示したATAバスセレクタ107の構成を説明するブロック図である。
図6に示すように、HDDコントローラ101は、HDDコントローラ101サイド入出力信号801と接続され、信号の入出力が行われる。また、HDD103は、HDD103サイド入出力信号802と接続されている。
HDDコントローラ101サイド入出力信号801は、セレクタ803を介してデバイスI/F108あるいはバイパス回路804に接続される。
同様に、HDD103サイド入出力信号802は、セレクタ805を介して、ホストI/F110あるいはバイパス回路804に接続される。
各セレクタ803,805は、制御回路806を介してCPU106により制御される。
HDDコントローラ101とHDD103は、バイパス回路804を介して接続されたり、暗号・復号部109を介してデータ転送されたり、あるいはCPU106を介して接続される。
<ATAバスセレクタ107の動作>
以下、図7を用いて、データ暗号化装置102の各動作モードにおける図6に示したATAバスセレクタ107の動作について説明する。
図7は、データ暗号化装置102の各動作モードにおける図6に示したATAバスセレクタ107の動作について説明する図であり、各動作モードにおけるデータバスの接続関係および転送方向を示す。
図7に示すように、太い線の矢印は、データの送受信行うPIO/DMAバスを示す。また、細い線の矢印は、動作設定、状態確認などで使用するレジスタ等のアクセスを示す。
図7(a)を参照して、遮断モードにおけるATAバスセレクタ107の動作について説明する。
このとき、ATAバスセレクタ107内のHDDコントローラ101サイドの入出力信号はデバイスI/F108に接続され、HDD103サイドの入出力信号はホストI/F110に接続される。
これにより、相互認証が終了するまでHDDコントローラ101からHDD103へのいかなるアクセスも禁止される。
図7(b)を参照して、通常モードにおけるATAバスセレクタ107の動作について説明する。
通常モードでは、PIO/DMAバスは、デバイスI/F108と、ホストI/F110に接続される。
また、図7(b)では、HDDコントローラ101からHDD103のレジスタへの書き込みアクセスが発行されると(「W」)、HDDコントローラ101サイドの入出力信号から、アクセスするレジスタの種類に応じて、アクセス先が変更されることを示す。例えば、デバイスI/F108内のレジスタだけに書き込まれたり、あるいはHDD103サイドの入出力信号にそのまま接続されHDD103内のレジスタだけに書き込まれたり、あるいは双方に書き込まれることを示す。例えば、HDDコントローラ101からパラメータを設定するレジスタにアクセスすると、データはデータ暗号化装置102とHDD103内の双方のレジスタに書き込まれる。
レジスタリード(「R」)においても同様で、HDD103のデータがそのまま読み出せたり、ホストI/F110で読まれたデータをデバイスI/F108を介して読み出したりすることを示す。
図7(c)を参照して、バイパスモードにおけるATAバスセレクタ107の動作について説明する。
バイパスモードにおいては、ホストサイドの入出力信号と、HDD103サイドの入出力信号は、直接接続される。一部のレジスタの書き込みアクセスに関しては、HDD103 のレジスタと、デバイスI/F108内のレジスタに同じものが書かれる。
<データ暗号化装置が遮断モードにて実行可能な拡張コマンド>
図8は、データ暗号化装置102が実行可能な拡張コマンドを示す図である。
図8に示す拡張コマンドは、通常のHDDアクセスで使用されるATAコマンドとは異なり、データ暗号化装置102のみが処理可能なコマンドである。これらのコマンドは、図1に示したメモリ111内に実行可能な拡張コマンドとして登録されている。
図8に示す拡張コマンドは、図5に示した遮断モードS701において、データ暗号化装置102が実行可能なコマンドである。
図8において、コマンド名1001は、動作可能なコマンドの名称を示す。タイプ1002は、アクセスの種類を示す。例えば、「Non DATA」タイプはデータの転送を伴わないコマンドであり、ステータスの確認、遮断モードから通常モードへ移行などがある。「WRITE」タイプ,「READ」タイプはデータの書き込み、読み出しを伴うコマンドであり、バージョン情報の取得、認証のチャレンジで使用される。
<データ暗号化装置が通常モードにて実行可能なATAコマンド>
図9は、データ暗号化装置102が通常モードS702において実行可能なコマンドを示す図である。なお、HDDコントローラ101からHDD103に対して転送可能なコマンドは、図9に示すコマンドに限定される。これは、データ暗号化装置102がコンピュータシステム100を正当なものと認証して通常モードにて動作する場合に限って、図9に示すコマンドが実行可能となることを意味する。このような構成とすることで、HDD103に対する不要なアクセスが防止されセキュリティを確保することができる。これらのコマンドは、図1に示したメモリ111内にATAコマンドとして登録されている。
図9において、コマンド名1101は、実行可能なコマンドの名称を示す。タイプ1102は、アクセスの種類を示す。「NonDATA」転送タイプはデータの転送を伴わないコマンドである。「PIO READ」転送タイプは、データの読み出しを伴うコマンドである。「DMA」転送(暗号・復号)タイプは、データの書き込み、読み出しを伴うコマンドである。
なお、「PIO READ」転送タイプは、コンピュータシステム100内のメインメモリとHDD103との間のデータ転送を、コンピュータシステム100内のCPUが管理して行うタイプのコマンドである。
一方、「DMA」転送タイプは、コンピュータシステム100内のRAMとHDD103との間のデータ転送を、コンピュータシステム100内のCPUを介さずに行うタイプのコマンドである。
通常モードS702において、HDDコントローラ101からコマンドが発行されるとデータ暗号化装置102内部でコマンドを一旦保持し、CPU106がそのコマンドがHDD103にて実行可能かをチェックする。そして、HDD103にて実行可能なコマンド(図9に示すコマンド)のみが、HDD103へ送られる。実行不可能であると判断されたコマンド(図9に示す以外のコマンド)については、HDD103へは送られずにエラー(アボートエラー)としてHDDコントローラ101へ通知される。
<コンピュータシステム100を認証する認証処理の詳細>
以下、図10,図11を用いてHDDコントローラ101とデータ暗号化装置102間の認証処理について説明を行う。なお、認証処理を行うケースとしては、データ暗号化装置102を初めてHDDコントローラ101に接続したケースと、データ暗号化装置102とHDDコントローラ101が予め接続されているケースの2種類がある。図10を用いてデータ暗号化装置102を初めてHDDコントローラ101に接続した設置時の状態での認証処理を説明する。
図10は、本実施形態における第2の制御処理プログラムの一例を示すフローチャートであり、コンピュータシステム100に初めてデータ暗号化装置102が設置されたときのケースに対応する。なお、図10において、S1201〜S1215は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
ステップS1201において、コンピュータシステム100、データ暗号化装置102、HDD103の全てに電源が入力される。そして、ステップS1202において、データ暗号化装置102のCPU106は、データ暗号化装置102を遮断モードで起動する。
また、HDDコントローラ101は、ステップS1203において、データ暗号化装置102がコンピュータシステム100に接続されているか否かの確認を行う。ここでは、コンピュータシステム100がデータ暗号化装置102に接続されているものとする。次に、ステップS1204において、HDDコントローラ101はデータ暗号化装置102に対して、「GET STATUS」コマンド(図8)を発行し、データ暗号化装置102の動作状態を認識する。初めてデータ暗号化装置102を設置したときには、未だ鍵情報が生成されていないので、ステップS1205において、データ暗号化装置102のCPU106は、未インストールのステータスをHDDコントローラ101に戻す。
未インストール状態を認識した場合、HDDコントローラ101は、ステップS1206において、インストールの実行コマンド「INSTALL」をデータ暗号化装置102に送信する。
これに応じて、データ暗号化装置102は、ステップS1207において、鍵情報を生成するためのシード情報を生成する。
また、ステップS1208において、HDDコントローラ101は、コンピュータシステム100の固有情報をデータ暗号化装置102に送信する。
固有情報を受信したデータ暗号化装置102のCPU106は、ステップS1209において、固有情報をRAM112に保持する。
次に、ステップS1210において、データ暗号化装置102のCPU106は、シード情報と固有情報に基づいて、鍵情報を生成し、メモリ111に書き込む。鍵情報の生成が終了すると、ステップS1211において、データ暗号化装置102のCPU106は、鍵情報の生成が終了したことを示すステータスをHDDコントローラ101に返信する。
これを受けて、HDDコントローラ101は、データ暗号化装置102にて鍵情報が生成されたことを認識する。そして、ステップS1212において、「CHANGE NORMAL」コマンド(通常モードへ移行するコマンド)を、データ暗号化装置102に送信する。
これを受けて、データ暗号化装置102のCPU106は、鍵情報の生成が終わったことで、コンピュータシステム100が正当なものと認証されたとみなす。そして、ステップS1213において、データ暗号化装置102の動作モードを遮断モードから通常モードへ移行させる。通常モード移行後、ステップS1214において、データ暗号化装置102のCPU106は、通常モードに移行した旨を示すステータスをHDDコントローラ101に返す。
これを受け取った後、HDDコントローラ101は、ステップS1215において、ATAの各種コマンドをデータ暗号化装置102に送信する。そして、データ暗号化装置102は、HDDコントローラ101から受信したATAコマンドに基づいて制御を行う。
以下、図13を用いてデータ暗号化装置102とHDDコントローラ101が予め接続されているケースにおける認証処理を説明する。
図11A,図11Bは、本実施形態における第3の制御処理プログラムの一例を示すフローチャートであり、コンピュータシステム100にデータ暗号化装置102が予め接続されているケースに対応する。なお、図11において、S1301〜S1325は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
なお、ここでは、認証方法として、チャレンジアンドレスポンス認証方法を用いる例を説明するが、認証方法は他の方法であっても良い。
ステップS1301において、コンピュータシステム100、データ暗号化装置102、HDD103の全てに電源が入力される。ステップS1302において、データ暗号化装置102のCPU106は、データ暗号化装置102を遮断モードで起動する。
また、HDDコントローラ101は、ステップS1303において、データ暗号化装置102がコンピュータシステム100に接続されているか否かの確認を行う。ここでは、コンピュータシステム100がデータ暗号化装置102に接続されているものとする。次に、ステップS1304において、HDDコントローラ101はデータ暗号化装置102に対して、「GET STATUS」コマンド(図8)を発行し、データ暗号化装置102の動作状態を認識する。ここでは、既にデータ暗号化装置102をコンピュータシステム100に接続済であり鍵情報が生成済なので、データ暗号化装置102のCPU106は、ステップS1305において、インストール済みのステータスをHDDコントローラ101に戻す。
インストール済み状態を認識した場合、HDDコントローラ101は、ステップS1306,S1307において、チャレンジの実行を示すチャレンジコマンド「SEND CHA1」,チャレンジ乱数をデータ暗号化装置102に送信して、認証確認に移る。
これを受けたデータ暗号化装置102のCPU106は、ステップS1308において、HDDコントローラ101へステータスを返信する。
続いて、ステップS1309において、HDDコントローラ101は、レスポンス要求コマンド「REQUEST CHA1」をデータ暗号化装置102に送信する。これを受けたデータ暗号化装置102のCPU106は、ステップS1310において、上述のチャレンジ乱数に対応するレスポンスをHDDコントローラ101へ返信する。さらに、ステップS1311において、データ暗号化装置102のCPU106は、ステータスをHDDコントローラ101へ返信する。
上記レスポンスを受けて、HDDコントローラ101はレスポンスが正しいか判断し、正しければ、ステップS1315に処理を移行させ、データ暗号化装置102からHDDコントローラ101へのチャレンジの実行に移る。
ステップS1312において、HDDコントローラ101は、チャレンジ実行の要求を行うコマンド「REQUEST CHA2」をデータ暗号化装置102に送信する。
これを受けたデータ暗号化装置102のCPU106は、ステップS1313,S1314において、チャレンジ乱数,ステータスをHDDコントローラ101へ送信する。
これを受けたHDDコントローラ101は、ステップS1315,S1316において、レスポンスの実行を要求するコマンド,レスポンスをデータ暗号化装置102に送信する。
このレスポンスを受けてデータ暗号化装置102は、レスポンスが正しいか判断し、ステータスを返信する。正しければ、認証終了となり、ステップS1317に処理を移し、鍵情報の作成に移る。なお、以下のステップS1318〜S1325は、図10のステップS1208〜S1215と同一であるので説明は省略する。
<起動モードにおける動作の詳細>
図5で示したように、遮断モードS701で認証が終了すると、通常モードS702に移行する。以下、図12〜図15を用いて、起動モードで実行可能なコマンドの詳細シーケンスを示す。
起動モードで実行可能なコマンドは、図9に示したものであり、データの転送タイプで3つにわけられる。データ転送を伴わない「NonDATA」転送タイプ、「PIO READ」転送タイプ、「DMA」転送(暗号・復号)タイプの3つである。順に説明する。
(1)NonDATA転送タイプ
「NonDATA転送タイプ」のコマンドの実行は、2ステップの処理で行われる。まず、HDDコントローラ101は、実行するコマンドに必要なパラメータを設定する。設定されたパラメータは、HDD103のコマンドブロック内の関連するレジスタ(T/Fレジスタ,I/Oレジスタやコマンドブロックレジスタなどとも呼ばれる)に書き込まれる。
次に、HDDコントローラ101は、データ暗号化装置102のコマンドレジスタに「NonDATA」転送タイプのコマンドコードを書き込む。これにより、HDD103は、(一旦、データ暗号化装置102を介して)コマンドを実行する。
なお、パラメータ設定を行うレジスタやコマンドコードを書き込むレジスタには、HDDコントローラ101から書き込む場合と、読み出す場合で、意味の異なるものがある。ERROR/FEATURESレジスタや、STATUS/COMMANDレジスタなどで、読み出し時にはHDDのエラーやステータスを示すが、書き込み時にはコマンドの実行を示す。
「NonDATA」転送タイプのコマンドとしては、RECALIBRATE、SEEKなどのコマンドがある。
RECALOBRATEコマンドは、HDD103のREZERO動作を行うもので、SEEKコマンドは、HDDの指定されたトラックへのシークおよびヘッドの選択が行われる。
以下、図12のフローチャートを用いて説明する。
図12は、本実施形態における第4の制御処理プログラムの一例を示すフローチャートであり、「NonDATA」転送タイプのコマンドシーケンスに対応する。なお、図中、S1401〜S1411は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
まず、通常モードにおいて、HDDコントローラ101は、「NonDATA」転送タイプのコマンドの発行を行う場合、ステップS1401で、HDD103にアクセスするためにパラメータ設定を行う。パラメータ設定とは、データ暗号化装置102が有するレジスタとHDD103が有するレジスタの両方にデータ転送を実行するためのパラメータを設定する動作である。
続いて、ステップS1402において、HDDコントローラ101は、データ暗号化装置102が有するコマンドレジスタに、HDD103にて実行させるATAコマンド(NonDATA転送タイプのコマンド)を発行する。HDDコントローラ101からNonDATA転送タイプのATAコマンドを受信したデータ暗号化装置102は、デバイスI/F108のレジスタにATAコマンドを設定する。
そして、ステップS1403において、データ暗号化装置102のCPU106は、コマンドレジスタに設定されたコマンドがHDD103にて実行可能なコマンドであるか否かの判断を行う。そして、実行可能なコマンド(メモリ111内の参照データ内に登録されているコマンド(図9))のみHDD103のコマンドレジスタに設定を行う(転送する)。即ち「NonDATA」転送のコマンドは、一旦、データ暗号化装置102で実行可能か否かが確認され、実行可能なコマンドのみHDD103へ転送される。ここでは、NonDATAタイプのATAコマンドはHDD103にて実行可能と判断されデータ暗号化装置102からHDD103に転送されるものとする。
するとステップS1404において、HDD103は、データ暗号化装置102から転送されたATAコマンドを解釈して実行し、コマンド処理が終了する。そして、HDD103は、ステップS1405において、割り込み信号をデータ暗号化装置102に出力する。この割り込み信号は、データ暗号化装置102にだけに出力される。この割り込み信号を受けたデータ暗号化装置102のCPU106は、ステップS1406において、HDD103のレジスタから、スタータス、エラーなどの情報を読み出す。
HDD103のレジスタがデータ暗号化装置102により読まれると、ステップS1407において、HDD103は割り込み信号を元に戻す(クリアする)。
次に、ステップS1408において、データ暗号化装置102のCPU106は、HDD103のレジスタから読み出したHDD103のステータス,エラーのデータをデータ暗号化装置102のレジスタに設定する。そして、ステップS1409において、データ暗号化装置102のCPU106は、HDDコントローラ101へ割り込み信号を送信する。
HDDコントローラ101は、データ暗号化装置102から割り込み信号が入力されたので、ステップS1410において、データ暗号化装置102のレジスタから、ステータス,エラー等の情報を読み出す。
これに応じて、ステップS1411において、データ暗号化装置102のCPU106は、割り込み信号を元に戻し(クリアし)、「Non Data」転送タイプのコマンドが終了する。
(2)PIO READ転送タイプ
以下、図13を用いて、「PIO READ」転送タイプのコマンドのフローについて説明する。
通常モードで実行可能な「PIO READ」転送タイプのコマンドとしては、図9に示したように「IDENTIFY DEVICE」コマンドがある。「IDENTIFY DEVICE」コマンドを実行すると、HDD103のパラメータ情報(512バイト)を読み出すことができる。パラメータ情報としては、HDD103が有するシリンダ数、ヘッド数、HDD103のシリアル番号、などのHDD103に固有の情報である。このHDD103に固有の情報は、HDDコントローラ101からHDD103へ書き込まれたデータとは異なる。即ち、HDD103に固有の情報は暗号化されていないデータである。
図13は、本実施形態における第5の制御処理プログラムの一例を示すフローチャートであり、「PIO READ」転送タイプのコマンドシーケンスに対応する。なお、図13において、S1501〜S1518は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
まず、通常モードにおいて、HDDコントローラ101は、「PIO READ」転送タイプのコマンドの発行を行う場合、ステップS1501で、レジスタにHDD103にアクセスするためのパラメータ設定を行う。パラメータ設定は、データ暗号化装置102とHDD103の両方のレジスタに設定される。
続いて、ステップS1502において、HDDコントローラ101は、データ暗号化装置102が有するコマンドレジスタに、HDD103にて実行させるATAコマンド(PIO READ転送タイプのコマンド)を発行する。HDDコントローラ101からPIO READ転送タイプのATAコマンドを受信したデータ暗号化装置102は、デバイスI/F108のレジスタにATAコマンドを設定する。
そして、ステップS1503において、データ暗号化装置102のCPU106は、コマンドレジスタに設定されたコマンドがHDD103にて実行可能なコマンドであるか否かの判断を行う。そして、実行可能なコマンド(メモリ111内の参照データ内に登録されているコマンド(図9))のみHDD103のコマンドレジスタに設定を行う(転送する)。即ち「PIO READ」転送のコマンドは、一旦、データ暗号化装置102で実行可能か否かが確認され、実行可能なコマンドのみHDD103へ転送される。ここでは、PIO READタイプのATAコマンドはHDD103にて実行可能と判断されデータ暗号化装置102からHDD103に転送されるものとする。
ステップS1504において、HDD103は、データ暗号化装置102から転送されたATAコマンドを解釈して実行する。例えば、「IDENTIFY DEVICE」コマンドであると、HDD103内のセクタバッファに要求されたパラメータ情報を入れて、レジスタに発行されたコマンドに対するステータスを書き込む。そして、ステップS1505において、HDD103は、割り込み信号をデータ暗号化装置102に出力する。
この割り込み信号を受信したデータ暗号化装置102のCPU106は、ステップS1506において、HDD103のレジスタを読みだし、HDD103のスタータスを確認する。HDD103のレジスタがデータ暗号化装置102により読まれると、HDD103は、ステップS1507において、割り込み信号を元に戻す(クリアする)。
次に、ステップS1508において、データ暗号化装置102のCPU106は、データ暗号化装置102の動作モードを通常モードからバイパスモードへ移行させるための設定をATAバスセレクタ107に対して行う。バイパスモード設定が終了すると、ステップS1509において、データ暗号化装置102のCPU106は、HDDコントローラ101へ割り込み信号を出力し、HDD103の準備ができていることを通知する。
この割り込み信号を受けたHDDコントローラ101は、ステップS1510において、HDD103レジスタからHDD103のステータス・エラー等の情報を読み出す。ここで、HDD103のスタータスレジスタから情報が読み出されたことを、データ暗号化装置102が認識し、ステップS1511において、割り込み信号をHDDコントローラ101に出力する。
その後、ステップS1512において、HDDコントローラ101は、HDD103内のセクタバッファに設定されたデータ(パラメータ情報等)を読み出す。
そして、所定数のデータの読み出しが終了すると、データ暗号化装置102のCPU106がこれを監視し、ステップS1514において、バイパスモードが終了するようにATAバスセレクタ107に設定する。
バイパスモードが終了すると、ステップS1515において、データ暗号化装置102のCPU106は、ステータスとエラーの状態をデータ暗号化装置102のレジスタをセットする。さらに、データ暗号化装置102のCPU106は、ステップS1516において、HDDコントローラ101へ割り込み信号を出力する。
HDDコントローラ101は、データ暗号化装置102から割り込み信号が入力されたので、ステップS1517において、データ暗号化装置102のステータスとエラーレジスタを読み出す。
これに応じてデータ暗号化装置102のCPU106は、ステップS1518において、割り込み信号を元に戻し(クリアし)、「PIO READ」転送タイプのコマンドが終了する。
(3)DMA転送タイプ
続いて、図14を用いてHDD103へのデータの書き込み、読み出しを行うDMA転送について説明する。
DMA転送としては、HDD103からデータを読み出す「READ DMA」と、HDD103へデータを書き込む「WRITE DMA」の2種類がある。「WRITE DMA」時には、データ暗号化装置102でデータの暗号化を行い、「READ DMA」時には、データの復号化を行う。
図14は、本実施形態における第6の制御処理プログラムの一例を示すフローチャートであり、DMA転送タイプのコマンドシーケンスに対応する。なお、図中、S1601〜S1615は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
まず、通常モードにおいて、HDDコントローラ101は、DMA転送タイプのコマンドの発行を行う場合、ステップS1601で、HDD103にアクセスするためにパラメータ設定を行う。
続いて、ステップS1602において、HDDコントローラ101は、データ暗号化装置102が有するコマンドレジスタに、HDD103にて実行させるATAコマンド(DMA転送タイプのコマンド)を発行する。HDDコントローラ101からDMA転送タイプのATAコマンドを受信したデータ暗号化装置102は、デバイスI/F108のレジスタにATAコマンドを設定する。
そして、ステップS103において、データ暗号化装置102のCPU106は、コマンドレジスタに設定されたコマンドがHDD103にて実行可能なコマンドであるか否かの判断を行う。そして、実行可能なコマンド(メモリ111内の参照データ内に登録されているコマンド(図9))のみHDD103のコマンドレジスタに設定を行う(転送する)。即ち、DMA転送のコマンドは、一旦、データ暗号化装置102で実行可能か否かが確認され、実行可能なコマンドのみHDD103へ転送される。ここでは、DMA転送タイプのATAコマンドはHDD103にて実行可能と判断され、データ暗号化装置102からHDD103に転送されるものとする。
すると、HDD103はDMA転送の準備を行い、準備が終了すると、ステップS1604において、データ暗号化装置102へDMA転送要求信号を出力する。
データ暗号化装置102のCPU106は、HDD103からDMA転送要求信号を受け取ると、ステップS1605において、暗号・復号部109が暗号化を行うか復号化を行うかの設定を行う。CPU106は、HDDコントローラ101が発行したコマンド名がREAD_DMAであれば暗号・復号部109に復号化を行うよう設定し、WRITE_DMAであれば暗号・復号部109に暗号化を行うよう設定する。
続いて、データ暗号化装置102のCPU106は、ステップS1606において、DMA転送要求をHDDコントローラ101へ出力する。
その後、ステップS1607において、HDDコントローラ101とHDD103は、データ暗号化装置102を介してDMA転送を行う。なお、DMA転送時に、データ暗号化装置102の暗号・復号部109は、DMA転送されるデータの暗号化あるいは復号化を実行する。
そして、所定データ数のDMA転送が終了すると、ステップS1607において、HDD103は、割り込み信号をデータ暗号化装置102へ出力する。
この割り込み信号を受信したデータ暗号化装置102のCPU106は、HDD103のステータスレジスタを確認する。これに応じて、HDD103は、ステップS1610において、割り込み信号を元に戻す(クリアする)。
これに応じて、データ暗号化装置102のCPU106は、ステップS1611で、HDD103からHDDコントローラ101へのデータのDMA転送を停止させる。DMA転送が終了すると、データ暗号化装置102のCPU106は、内部の設定を行いデータ暗号化装置102の状態を暗号・復号モードから通常モードに移行させる。
次に、ステップS1612において、データ暗号化装置102のCPU106は、ステップS1609でHDD103のステータスレジスタから読み出したステータス,エラーの状態を示す情報を、データ暗号化装置102のレジスタに記憶させる。さらにステップS1613において、データ暗号化装置102のCPU106は、HDDコントローラ101へ割り込み信号を送信する。
HDDコントローラ101は、データ暗号化装置102から割り込み信号が入力されたので、ステップS1614において、データ暗号化装置102のレジスタに記憶されたHDD103のステータス,エラーの情報を読み出す。
これに応じて、データ暗号化装置102のCPU106は、ステップS1615において、割り込み信号を元に戻し(クリアし)、DMA転送タイプのコマンドが終了する。
(4)PIO WRITEタイプ
続いて、図15を用いてHDDへのデータの書き込みを行う「PIO WRITE」転送タイプのコマンドを扱う処理について説明する。
一般的なATAコマンドには、HDDへのデータ書き込みコマンドとして、「WRITE MULTIPLE」コマンド等の「PIO WRITE」転送タイプのコマンドがある。しかし、本実施形態では、HDD103に対するデータの書き込みを制限する。そのため、使用可能なコマンド(HDD103にて実行可能なコマンド)に「WRITE MULTIPLE」コマンド等の「PIO WRITE」転送タイプのコマンドは認めていない。即ち、メモリ111内の参照データ内に使用可能なATAコマンドとして登録していない。
このため、HDDコントローラ101により「WRITE MULTIPLE」コマンド等の「PIO WRITE」転送タイプコマンドが発行されても、データ暗号化装置102のCPU106は、HDD103にて実行不可能と判断し、HDD103へはコマンドを転送しない。
図15は、本実施形態における第7の制御処理プログラムの一例を示すフローチャートであり、「PIO WRITE」転送タイプのコマンドシーケンスに対応する。なお、図15において、S1701〜S1706は各ステップを示す。なお、このフローチャートにおいてデータ暗号化装置102のステップは、CPU106がメモリ111に格納されるプログラムを実行することにより実現される。また、HDDコントローラ101のステップは、HDDコントローラ101内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。さらに、HDD103のステップは、HDD103内の図示しないCPUがメモリに格納されるプログラムを実行することにより実現される。
まず、通常モードにおいて、HDDコントローラ101は、「PIO WRITE」転送タイプのコマンドの発行を行う場合、ステップS1701で、レジスタにHDD103にアクセスするためのパラメータ設定を行う。パラメータ設定は、データ暗号化装置102とHDD103の両方のレジスタに設定される。
続いて、ステップS1702において、HDDコントローラ101は、データ暗号化装置102が有するコマンドレジスタに、HDD103にて実行させるATAコマンド(「PIO WRITE」転送タイプのコマンド)を発行する。HDDコントローラ101からPIO WRITE転送タイプのATAコマンドを受信したデータ暗号化装置102は、デバイスI/F108のレジスタにATAコマンドを設定する。
そして、ステップS1703において、データ暗号化装置102のCPU106は、コマンドレジスタに設定されたコマンドがHDD103にて実行可能なコマンドであるか否かの判断を行う。そして、実行可能なコマンド(メモリ111内の参照データ内に登録されているコマンド(図9))のみHDD103のコマンドレジスタに設定を行う(転送する)。即ち、「PIO WRITE」転送のコマンドは、データ暗号化装置102で実行不可能なコマンドであると確認され、HDD103へは転送されない。
ステップS1703において、データ暗号化装置102のCPU106は、コマンドエラーである旨の情報をデータ暗号化装置102のレジスタに設定して、ステップS1704において、HDDコントローラ101へ割り込み信号を送信する。
HDDコントローラ101は、データ暗号化装置102から割り込み信号が入力されたので、ステップS1705において、データ暗号化装置102のステータス,エラーのレジスタを読み出す。これにより、HDDコントローラ101は、コマンドエラーであることを確認できる。
そしてステップS1706において、データ暗号化装置102のCPU106は、割り込み信号を元に戻し(クリアし)、「PIO WRITE」転送タイプのコマンドがエラー終了する。
例えば、コンピュータシステム100をMFPとすると、上述の「PIO WRITE」転送タイプのコマンドは、MFPでは標準で使用されない。よって、図15に示したように、MFPが標準で使用しないコマンド(例えば、「PIO WRITE」転送タイプのコマンド)が不正に発行された場合、HDD103への転送を禁止する。この構成により、データが暗号化されずにバイパスしてHDD103へ転送されてしまうことを確実に防止することができる。
よって、本実施形態の構成では、HDD103とデータ暗号化装置102をセットで盗難され、他のコンピュータシステムに接続された場合でも、データの漏洩を防止することができる。
なお、本実施形態では、一例として「PIO WRITE」転送タイプのコマンドを、HDD103への転送を禁止するコマンドとして説明した。しかし、データ暗号化装置102のCPU106は、メモリ111内の参照データ(図9)にATAコマンドとして登録されていないコマンドは、全て通常モードでは、実行不可能なコマンドとして、HDD103への転送を禁止するように制御する。これによりHDD103のデータセキュリティを確保することができる。
なお、メモリ111内の参照データに登録されているコマンド、登録されていないコマンドは、それぞれ上述した例(図8,図9)に限られるものではない。
以上説明したように、本実施形態のデータ暗号化装置102は、コンピュータシステムおよび外部記憶装置間をブリッジするものである。そして、CPU106の制御の元、暗号・復号部109で、HDD103に書き込むデータを暗号化することによって、HDD103のデータの機密性を維持することを実現している。特に、暗号化または復号に用いる鍵情報は、コンピュータシステムの固有情報とデータ暗号化装置102の固有情報から生成されるため、コンピュータシステムとデータ暗号装置の異なる組から正当な鍵情報を生成することができず、高い機密性を実現可能である。
また、コンピュータシステム100がHDD103にアクセス前に、コンピュータシステム100とデータ暗号化装置102との認証を設け、認証が正常に終了しないとHDD103にアクセスできない構成となっている。
また、認証終了後、HDD103にアクセスする際にも、コンピュータシステム100が発行するコマンドは全てデータ暗号化装置102が認識する。データ暗号化装置102のCPU106は、コマンドが実行可能であるか判断し、実行するコマンドを制限し、不要なHDD103へのアクセスを防止している。
さらに、データ暗号化装置102は、HDDコントローラ101とHDD103に対するこれらの通信,データの送受信を全て標準インタフェースを介して実行することが可能であり、追加の信号線を必要としない。即ち、コンピュータシステムや外部記憶装置の仕様を変更する必要がない。
以上のような構成により、コンピュータシステムと外部記憶装置の間に挿入して、データの暗号化を行うデータ暗号化装置において、データのセキュリティを適切に保つことができる等の効果を奏する。
従って、データ暗号化装置と外部記憶装置のセットで盗難された場合にも高度に機密性を維持可能なデータ暗号化記憶システムを、既存のコンピュータシステム及び外部記憶装置の仕様を変更することなく、低コストで構築することができる等の効果を奏する。
なお、上述した図8,図9で示した各種コマンドの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図16に示すメモリマップを参照して、本発明に係るデータ暗号化装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
図16は、本発明に係るデータ暗号化装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図2,図10,図11A,図11B,図12,図13,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した実施形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
以上示したように、本実施形態によれば、記憶装置(HDD103)と記憶装置を制御する制御装置(HDDコントローラ101)の間に接続され、記憶装置と制御装置との間で転送されるデータのセキュリティを適切に保つデータ処理装置(記録データ暗号化装置102)を提供することができる等の効果を奏する。
本発明のデータ暗号化装置102を適用可能なシステムの一例を示すブロック図である。 本発明における第1の制御処理プログラムの一例を示すフローチャートである。 データを外部記憶装置(HDD)に書き込む場合のデータフローを示す図である。 データを外部記憶装置(HDD)から読み込む場合のデータフローを示す図である。 データ暗号化装置102の動作モードを説明する状態遷移図である。 図1に示したATAバスセレクタの構成を説明するブロック図である。 データ暗号化装置の各動作モードにおける図6に示したATAバスセレクタの動作について説明する図である。 データ暗号化装置の実行可能な拡張コマンドを示す図である。 データ暗号化装置が通常モードにおいて実行可能なコマンドを示す図である。 本発明における第2の制御処理プログラムの一例を示すフローチャートである。 本発明における第3の制御処理プログラムの一例を示すフローチャートである。 本発明における第3の制御処理プログラムの一例を示すフローチャートである。 本発明における第4の制御処理プログラムの一例を示すフローチャートである。 本発明における第5の制御処理プログラムの一例を示すフローチャートである。 本発明における第6の制御処理プログラムの一例を示すフローチャートである。 本発明における第7の制御処理プログラムの一例を示すフローチャートである。 本発明に係るデータ暗号化装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
符号の説明
100 コンピュータシステム
101 HDDコントローラ
102 データ暗号化装置
102 記録データ暗号化装置
103 外部記憶装置(HDD)
105 ATAバス
106 CPU
107 ATAバスセレクタ
109 暗号・復号部
111 メモリ
112 RAM
113 アドレス・データバス

Claims (6)

  1. 記憶装置と前記記憶装置を制御する制御装置の間に接続されるデータ処理装置であって、
    前記制御装置から受信して前記記憶装置へ転送すべきデータに対して暗号化処理を実行する暗号化手段と、
    前記記憶装置から受信して前記制御装置へ転送すべきデータに対して復号化処理を実行する復号化手段と、
    前記制御装置からコマンドを受信する受信手段と、
    前記受信手段が受信したコマンドのうち前記記憶装置へ送信すべきコマンドを特定するための特定情報を記憶する記憶手段と、
    前記記憶手段に記憶された前記特定情報に基づいて、前記受信手段が受信したコマンドを前記記憶装置へ送信するか否かを判断する判断手段と、
    前記判断手段により前記記憶装置へ送信すると判断されたコマンドを前記記憶装置へ送信する送信手段と、
    前記制御装置とデータ処理装置の間で認証を行う認証手段と、
    前記認証手段による認証前には前記記憶装置へのアクセスを遮断する遮断モードとし、前記認証手段による認証終了後には前記記憶装置へのアクセスを許可するアクセスモードとするように、前記データ処理装置の動作モードを制御する動作モード制御手段とを有し、
    前記判断手段は、前記動作モードに応じて、前記記憶装置へ送信すると判断するコマンドを異ならせることを特徴とするデータ処理装置。
  2. 記憶装置と前記記憶装置を制御する制御装置の間に接続されるデータ処理装置であって、
    前記制御装置から受信して前記記憶装置へ転送すべきデータに対して暗号化処理を実行する暗号化手段と、
    前記記憶装置から受信して前記制御装置へ転送すべきデータに対して復号化処理を実行する復号化手段と、
    前記制御装置からコマンドを受信する受信手段と、
    前記受信手段が受信したコマンドのうち前記記憶装置へ送信すべきコマンドを特定するための特定情報を記憶する記憶手段と、
    前記記憶手段に記憶された前記特定情報に基づいて、前記受信手段が受信したコマンドを前記記憶装置へ送信するか否かを判断する判断手段と、
    前記判断手段により前記記憶装置へ送信すると判断されたコマンドを前記記憶装置へ送信する送信手段と、
    前記暗号化処理及び前記復号化処理で使用する鍵情報を生成するためのシード情報を記憶するシード情報記憶手段と、
    前記シード情報記憶手段に記憶されるシード情報と前記制御装置の固有情報とに基づいて前記鍵情報を生成する鍵生成手段を有し、
    前記暗号化処理及び前記復号化処理は、前記鍵生成手段に基づいて生成された鍵情報を用いて行われることを特徴とするデータ処理装置。
  3. データ処理装置が起動される度に前記制御装置から前記制御装置の固有情報を取得する取得手段を有し、
    前記鍵生成手段は、前記シード情報記憶手段に記憶されるシード情報と前記取得された制御装置の固有情報とに基づいてデータ処理装置が起動される度に前記鍵情報を生成することを特徴とする請求項に記載のデータ処理装置。
  4. 記憶装置と前記記憶装置を制御する制御装置の間に接続され、前記制御装置から受信して前記記憶装置へ転送すべきデータに対して暗号化処理を実行する暗号化手段と、前記記憶装置から受信して前記制御装置へ転送すべきデータに対して復号化処理を実行する復号化手段とを有するデータ処理装置におけるデータ処理方法であって、
    前記制御装置からコマンドを受信する受信ステップと、
    前記受信ステップにて受信されるコマンドのうち前記記憶装置へ送信すべきコマンドを特定するための特定情報に基づいて、前記受信ステップで受信したコマンドを前記記憶装置へ送信するか否かを判断する判断ステップと、
    前記判断ステップにより前記記憶装置へ送信すると判断されたコマンドを前記記憶装置へ送信する送信ステップと、
    前記制御装置とデータ処理装置の間で認証を行う認証ステップと、
    前記認証ステップによる認証前には前記記憶装置へのアクセスを遮断する遮断モードとし、前記認証ステップによる認証終了後には前記記憶装置へのアクセスを許可するアクセスモードとするように、前記データ処理装置の動作モードを制御する動作モード制御ステップとを有し、
    前記判断ステップは、前記動作モードに応じて、前記記憶装置へ送信すると判断するコマンドを異ならせることを特徴とするデータ処理方法。
  5. 記憶装置と前記記憶装置を制御する制御装置の間に接続され、前記制御装置から受信して前記記憶装置へ転送すべきデータに対して暗号化処理を実行する暗号化手段と、前記記憶装置から受信して前記制御装置へ転送すべきデータに対して復号化処理を実行する復号化手段とを有するデータ処理装置におけるデータ処理方法であって、
    前記制御装置からコマンドを受信する受信ステップと、
    前記受信ステップにて受信されるコマンドのうち前記記憶装置へ送信すべきコマンドを特定するための特定情報に基づいて、前記受信ステップで受信したコマンドを前記記憶装置へ送信するか否かを判断する判断ステップと、
    前記判断ステップにより前記記憶装置へ送信すると判断されたコマンドを前記記憶装置へ送信する送信ステップと、を有し、
    前記データ処理装置は、前記暗号化処理及び前記復号化処理で使用する鍵情報を生成するためのシード情報を記憶するシード情報記憶手段をさらに有し、
    前記データ処理方法は、前記シード情報記憶手段に記憶されるシード情報と前記制御装置の固有情報とに基づいて前記鍵情報を生成する鍵生成ステップをさらに有し、
    前記暗号化処理及び前記復号化処理は、前記鍵生成ステップに基づいて生成された鍵情報を用いて行われることを特徴とするデータ処理方法。
  6. データ処理装置が起動される度に前記制御装置から前記制御装置の固有情報を取得する取得ステップを有し、
    前記鍵生成ステップは、前記シード情報記憶手段に記憶されるシード情報と前記取得された制御装置の固有情報とに基づいてデータ処理装置が起動される度に前記鍵情報を生成することを特徴とする請求項に記載のデータ処理方法。
JP2006048943A 2006-02-24 2006-02-24 データ処理装置およびデータ処理方法 Active JP4829639B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2006048943A JP4829639B2 (ja) 2006-02-24 2006-02-24 データ処理装置およびデータ処理方法
CN200710078952A CN100587677C (zh) 2006-02-24 2007-02-16 数据处理设备和数据处理方法
EP12187108.1A EP2544122B1 (en) 2006-02-24 2007-02-19 Device and method for data encryption on a storage device
EP19168762.3A EP3543893A1 (en) 2006-02-24 2007-02-19 Data processing device and data processing method
EP07250680.1A EP1830300B1 (en) 2006-02-24 2007-02-19 Device and method for data encryption on a storage device
US11/678,192 US8539605B2 (en) 2006-02-24 2007-02-23 Data processing device and data processing method
KR1020070018600A KR100937784B1 (ko) 2006-02-24 2007-02-23 데이터 처리 장치 및 데이터 처리 방법
US13/235,905 US8839359B2 (en) 2006-02-24 2011-09-19 Data processing device and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006048943A JP4829639B2 (ja) 2006-02-24 2006-02-24 データ処理装置およびデータ処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011180202A Division JP4981981B2 (ja) 2011-08-22 2011-08-22 データ処理装置およびデータ処理方法

Publications (3)

Publication Number Publication Date
JP2007226667A JP2007226667A (ja) 2007-09-06
JP2007226667A5 JP2007226667A5 (ja) 2009-04-09
JP4829639B2 true JP4829639B2 (ja) 2011-12-07

Family

ID=38038074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006048943A Active JP4829639B2 (ja) 2006-02-24 2006-02-24 データ処理装置およびデータ処理方法

Country Status (5)

Country Link
US (2) US8539605B2 (ja)
EP (3) EP3543893A1 (ja)
JP (1) JP4829639B2 (ja)
KR (1) KR100937784B1 (ja)
CN (1) CN100587677C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216402B2 (en) 2018-05-18 2022-01-04 Canon Kabushiki Kaisha Storage system and control method thereof

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4829639B2 (ja) 2006-02-24 2011-12-07 キヤノン株式会社 データ処理装置およびデータ処理方法
JP5266713B2 (ja) * 2007-10-23 2013-08-21 日本電気株式会社 情報処理装置、プログラム、外部暗号化システム、及び、外部暗号化方法
JP2009294975A (ja) * 2008-06-06 2009-12-17 Oki Electric Ind Co Ltd 記録情報管理装置、記録情報管理方法及びプログラム
CN101714090B (zh) * 2008-10-08 2013-02-27 英业达股份有限公司 开机方法
US9286493B2 (en) * 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
US9734356B2 (en) 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
JP5445096B2 (ja) * 2009-12-15 2014-03-19 富士通株式会社 情報処理装置、コマンド判定プログラム、およびコマンド判定方法
JP5743475B2 (ja) * 2010-09-28 2015-07-01 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20120166792A1 (en) * 2010-12-22 2012-06-28 Tat Kin Tan Efficient nemo security with ibe
JP5775367B2 (ja) * 2011-06-06 2015-09-09 キヤノン株式会社 情報処理装置及びその制御方法と、ミラーリングシステム及びraid制御装置
KR101236991B1 (ko) * 2011-10-24 2013-02-25 한국전자통신연구원 하드디스크 암호화를 위한 장치 및 방법
CN103136126A (zh) * 2011-12-05 2013-06-05 杭州华澜微科技有限公司 一种可保障数据安全性的数据安全存储设备的实现方法
CN104158666A (zh) * 2014-08-28 2014-11-19 电子科技大学 实现智能手环与智能移动终端的绑定和认证方法
US9858429B2 (en) * 2014-12-01 2018-01-02 Samsung Electronics Co., Ltd. Methods of data transfer in electronic devices
JP2017163280A (ja) 2016-03-08 2017-09-14 キヤノン株式会社 情報処理装置及び情報処理装置における暗号化ユニットの搭載判別方法、及びプログラム
KR102067425B1 (ko) * 2017-10-11 2020-02-11 한국전자통신연구원 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2733220B2 (ja) * 1986-09-30 1998-03-30 シャープ株式会社 複合型画像処理装置
US5045875A (en) 1988-01-11 1991-09-03 Canon Kabushiki Kaisha Camera with automatic focusing device
JPH01185621A (ja) 1988-01-20 1989-07-25 Canon Inc Afカメラの露出制御装置
JPH0498552A (ja) 1990-08-17 1992-03-31 Fujitsu Ltd 電子ファイリング装置
JPH1185621A (ja) 1997-09-12 1999-03-30 Nec Corp 記録データ暗号化装置
JP2000215147A (ja) 1999-01-27 2000-08-04 Toshiba Corp ディスク記憶装置及び同装置に適用するコマンド制御方法
WO2000057290A1 (fr) * 1999-03-19 2000-09-28 Hitachi, Ltd. Processeur d'informations
US7278016B1 (en) 1999-10-26 2007-10-02 International Business Machines Corporation Encryption/decryption of stored data using non-accessible, unique encryption key
EE200000390A (et) * 2000-11-02 2002-06-17 Artec Design Group O� Protokolli analüüsil baseeruv andmete krüpteerimisseade
KR100445288B1 (ko) * 2001-11-17 2004-08-21 에노바 테크놀로지 코퍼레이션 데이터저장을 위한 암호화-암호해독 장치
US7363425B2 (en) * 2001-12-28 2008-04-22 Hewlett-Packard Development Company, L.P. System and method for securing drive access to media based on medium identification numbers
JP4122777B2 (ja) * 2002-01-18 2008-07-23 日本ビクター株式会社 コンテンツ記録再生装置
JP2003281071A (ja) * 2002-03-20 2003-10-03 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
US20030188162A1 (en) * 2002-03-29 2003-10-02 Brant Candelore Locking a hard drive to a host
US7352867B2 (en) * 2002-07-10 2008-04-01 General Instrument Corporation Method of preventing unauthorized distribution and use of electronic keys using a key seed
US7076666B2 (en) * 2002-10-17 2006-07-11 Sony Corporation Hard disk drive authentication for personal video recorder
WO2005029272A2 (en) * 2003-09-15 2005-03-31 Acres Gaming Incorporated Method and device for data protection and security in a gaming machine
KR100774531B1 (ko) * 2003-10-24 2007-11-08 (주) 미석이노텍 암호화 칩을 이용한 저장매체 데이터 보안 장치
US7549044B2 (en) * 2003-10-28 2009-06-16 Dphi Acquisitions, Inc. Block-level storage device with content security
CN1304915C (zh) * 2004-01-16 2007-03-14 西北工业大学 计算机硬盘数据加密方法及其装置
CA2558309A1 (en) * 2004-03-05 2005-09-15 Secure Systems Limited Partition access control system and method for controlling partition access
JP4698982B2 (ja) * 2004-04-06 2011-06-08 株式会社日立製作所 暗号処理を行うストレージシステム
JP4829639B2 (ja) 2006-02-24 2011-12-07 キヤノン株式会社 データ処理装置およびデータ処理方法
US8464073B2 (en) * 2006-09-13 2013-06-11 Stec, Inc. Method and system for secure data storage
US20080184035A1 (en) * 2007-01-30 2008-07-31 Technology Properties Limited System and Method of Storage Device Data Encryption and Data Access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216402B2 (en) 2018-05-18 2022-01-04 Canon Kabushiki Kaisha Storage system and control method thereof

Also Published As

Publication number Publication date
EP2544122A2 (en) 2013-01-09
EP2544122A3 (en) 2014-04-02
US8839359B2 (en) 2014-09-16
KR100937784B1 (ko) 2010-01-20
US8539605B2 (en) 2013-09-17
JP2007226667A (ja) 2007-09-06
EP1830300A3 (en) 2010-02-24
KR20070088389A (ko) 2007-08-29
EP1830300B1 (en) 2019-05-08
CN100587677C (zh) 2010-02-03
CN101025714A (zh) 2007-08-29
EP2544122B1 (en) 2019-05-22
EP3543893A1 (en) 2019-09-25
EP1830300A2 (en) 2007-09-05
US20070204171A1 (en) 2007-08-30
US20120008770A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
JP4829639B2 (ja) データ処理装置およびデータ処理方法
JP4999736B2 (ja) データ処理装置
KR101657613B1 (ko) 보안 저장 장치에 저장된 디지털 컨텐츠의 백업
JP2008123490A (ja) データストレージデバイス
US20040230817A1 (en) Method and system for disaster recovery of data from a storage device
EP2020108A2 (en) System and method for drm translation
EP2466511B1 (en) Media storage structures for storing content and devices for using such structures
JP5052878B2 (ja) 記憶装置及び利用者認証方法
WO2006004130A1 (ja) データ管理方法、そのプログラム及びプログラムの記録媒体
JP2004295358A (ja) 情報処理装置、その暗号処理システム及び外部記憶装置の制御方法
JP2009526472A (ja) 実時間鍵生成を含むデータ・セキュリティ
JP2008005408A (ja) 記録データ処理装置
JP5676145B2 (ja) 記憶媒体、情報処理装置およびコンピュータプログラム
JP2008084081A (ja) 機密情報の漏洩防止システム、機密情報の漏洩防止方法、記録媒体、及びプログラム
JP2007282064A (ja) データ処理装置、データ処理方法、記憶媒体、プログラム
JP5127989B2 (ja) データ処理装置およびデータ処理方法
JP4981981B2 (ja) データ処理装置およびデータ処理方法
JP2008017119A (ja) 記録データ処理装置
JP2006031575A (ja) ハードディスクセキュリティ管理システムおよびその方法
JP5539024B2 (ja) データ暗号化装置およびその制御方法
Dolgunov Enabling optimal security for removable storage devices
JP2022131749A (ja) 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
KR101569124B1 (ko) 인증 시스템 및 방법

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4829639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3