JP2008085986A - データ変換装置と電子装置とデータ変換方法 - Google Patents
データ変換装置と電子装置とデータ変換方法 Download PDFInfo
- Publication number
- JP2008085986A JP2008085986A JP2007161528A JP2007161528A JP2008085986A JP 2008085986 A JP2008085986 A JP 2008085986A JP 2007161528 A JP2007161528 A JP 2007161528A JP 2007161528 A JP2007161528 A JP 2007161528A JP 2008085986 A JP2008085986 A JP 2008085986A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- selector
- output
- data conversion
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
Abstract
【解決手段】 レジスタ36の設定に基づいて、第1セレクタ33と第2セレクタ34と暗号化・復号化器31と乱数発生器32に対してモード又はパラメータを設定し、PATAデバイスI/F30から入力されたデータを暗号化・復号化器31によって暗号化してSATAホストI/F35から出力するように設定するか、PATAデバイスI/F30から入力されたデータを乱数発生器32によって発生させた乱数に置き換えてSATAホストI/F35から出力するように設定するか、SATAホストI/F35から入力された暗号化データを暗号化・復号化器31によって復号化してPATAデバイスI/F30から出力するように設定するかのいずれか一つの設定に切り換える。
【選択図】 図1
Description
そこで、電子装置に予め高性能なCPUを搭載することにより、上述のような生産性が落ちるのを防ぐことができるが、機能追加がなければ必要以上に高価なCPUを搭載していることになって、電子装置の製造コストが上昇するという問題が生じる。
また、電子装置の本体の拡張スロットにデータの暗号化・復号化を行うためのデバイスをオプションとして追加する場合も、ユーザサイドでの対応は可能であるが、他のオプションの装着によって空きスロットがなければ対応できないという物理的な制約を持っており、電子装置の構成によっては対応できなくなるという問題が生じる。
(1)第1の入出力手段と、第2の入出力手段と、暗号化手段と、復号化手段と、乱数発生手段を有し、上記第1の入出力手段から入力されたデータを上記暗号化手段によって暗号化して上記第2の入出力手段から出力するように設定する第1の設定手段と、上記第1の入出力手段から入力されたデータを上記乱数発生手段によって発生させた乱数に置き換えて上記第2の入出力手段から出力するように設定する第2の設定手段と、上記第2の入出力手段から入力された暗号化データを上記復号化手段によって復号化して上記第1の入出力手段から出力するように設定する第3の設定手段と、上記第1乃至第3の設定手段のいずれか一つの手段に設定させる手段を備えたデータ変換装置。
(3)上記のようなデータ変換装置において、上記第1の入出力手段と上記第2の入出力手段が共にシリアル方式でデータを入出力する手段であるデータ変換装置。
(4)上記のようなデータ変換装置において、上記第1の入出力手段と上記第2の入出力手段のいずれか一方がパラレル方式でデータを入出力する手段であり、もう一方がシリアル方式でデータを入出力する手段であるデータ変換装置。
(5)上記のようなデータ変換装置において、上記暗号化手段によるデータの暗号化を予め設定したデータ単位毎に行うようにしたデータ変換装置。
(6)上記のようなデータ変換装置において、上記データ単位は最小記録単位であるデータ変換装置。
(8)入力されたデータを暗号化して出力する第1の工程と、入力されたデータを予め発生させた乱数に置き換えて出力する第2の工程と、入力された暗号化データを復号化して出力する第3の工程と、上記第1乃至第3の工程のいずれか一つの工程を選択して実行するデータ変換方法。
(9)上記のようなデータ変換方法において、上記データの入出力をパラレル方式で行うデータ変換方法。
(10)上記のようなデータ変換方法において、上記データの入出力をシリアル方式で行うデータ変換方法。
(12)上記のようなデータ変換方法において、上記データの暗号化を予め設定したデータ単位毎に行うデータ変換方法。
(13)上記のようなデータ変換方法において、上記データ単位は最小記録単位であるデータ変換方法。
また、この発明による電子装置は、上記のようなデータ変換装置を備えることにより、電子装置に大幅な変更を加えなくても外部記憶装置に対して読み書きするデータに所定の処理を施す機能を実行することができる。
〔実施例〕
図2は、この発明の一実施例であるデータ変換装置の外観斜視図である。
図1は、図2に示すデータ変換装置の機能構成を示すブロック図である。
したがって、このデータ変換装置1を用いることにより、電子装置2に対して、外部記憶装置に記憶するデータのデータ保護のためのデータの暗号化と復号化の機能と、外部記憶装置への書き込みデータを乱数に置き換えて外部記憶装置に記憶されたデータに上書きさせることによるデータ消去機能とを容易に付加することができる。
上記各機能は、ASIC10の処理によって実現される。
上記ATAとは、米国規格協会(ANSI)によって標準化されたIDEの正式な規格である。
また、SATAコネクタ12にSATAケーブル5の一方の端子を接続し、そのSATAケーブル5のもう一方の端子をSATAインタフェース(図示を省略)を有するハードディスク装置(SATAHDD)3を接続することにより、SATAHDD3との間ではシリアル方式でデータのやり取りを行う。
すなわち、2種類のインタフェース間でのデータ転送におけるブリッジ機能を有する。
PATAデバイスI/F30は、電子装置2との間でパラレル方式でデータを入出力する第1の入出力手段である。
暗号化・復号化器31は、PATAデバイスI/F30から入力されたデータを暗号化する暗号化手段と、SATAホストI/F35から入力された暗号化データを復号化する復号化手段である。その暗号化と復号化のアルゴリズムには、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)を含む各種のアルゴリズムがあり、いずれのアルゴリズムを用いても良い。また、データのみを暗号化、復号化処理を行い、コマンド(命令)については無変換とする機能も有している。
第1セレクタ33は、レジスタ36の設定により、PATAデバイスI/F30、又は暗号化・復号化器31から入力したデータのいずれか一方を選択して出力するように切り換える。また、第2セレクタ34から入力したデータを、PATAデバイスI/F30、又は暗号化・復号化器31へ出力するように切り換える。
第2セレクタ34は、レジスタ36の設定により、第1セレクタ33から入力したデータをそのまま出力するか、あるいは乱数発生器32から出力された乱数に置き換えて出力するかのいずれか一方に切り換える。また、SATAホストI/F35から入力したデータを第1セレクタ33へ出力する。
SATAホストI/F35は、SATAHDD3との間でシリアル方式でデータを入出力する第2の入出力手段である。
まず、電子装置2は、自装置とSATAHDD3との間にデータ変換装置1が装着されてSATAHDD3が外部接続され、電子装置2及びSATAHDD3の電源投入後、電子装置2の全体の制御を司るホストコントローラ20ではデータ変換装置1のASIC10がHDDのように見えており、このホストコントローラ20により、PATAデバイスI/F30のコンフィグレーション(初期化)を行う。
さらに、電子装置2のレジスタI/F21により、データ変換装置1のレジスタ36に、暗号化・復号化器31へのモードとパラメータ、第1セレクタ33と第2セレクタ34へのデータパスの切り換え選択のモード、又は乱数発生器32へのモードとパラメータの設定を行うと共に、ホストコントローラ20が、SATAホストI/F35及びSATAHDD3のコンフィグレーション(初期化)を行う。
図3は、図2に示すデータ変換装置1のASIC10のモード又はパラメータの設定処理を示すフローチャート図である。
この処理は、ステップ(図中「S」で示す)1でレジスタに乱数消去モードが設定されたか否かを判断し、乱数消去モードの設定でなければ、ステップ2で暗号化モード・復号化モードか否かを判断する。
ステップ7では、セレクタに設定されたパラメータによって暗号化・復号化器に秘密鍵の値を設定する。
ステップ8では、セレクタに設定されたパラメータによって暗号化・復号化器に初期ベクタを設定する。この処理は、暗号化・復号化器にCBCモードで暗号化又は復号化を行わせるときに行う。
ステップ10では、セレクタに設定されたモードによって乱数発生器と第2セレクタを乱数書込モードに設定する。この乱数書込モードの設定は、乱数発生器に対しては、乱数を発生して第2セレクタへ出力するように動作させる設定であり、第2セレクタに対しては第1セレクタから出力されるデータを乱数発生器から出力される乱数に置き換えてSATAホストI/Fへ出力するように切り換える設定である。
ステップ11では、セレクタに設定されたパラメータによって乱数発生器に乱数発生の際に用いる初期ベクタの値を設定する。
ステップ13では、セレクタの設定によって乱数発生器と第2セレクタを非乱数書込モードに設定する。この非乱数書込モードの設定は、乱数発生器に対しては乱数を発生させないように動作させる設定であり、第2セレクタに対しては第1セレクタから入力したデータをそのままSATAホストI/Fへ出力するように切り換える設定である。
このようにして、上述の処理を終えると、データ変換装置の初期設定が終了する。
電子装置2は、データ変換装置1のPATAデバイスI/F30の初期化を行い、レジスタI/F21によってデータ変換装置1のレジスタ36に、暗号化モードと、暗号化の種類のモード(例えば、CBCモード、ECBモード)、暗号化の際の鍵長(暗号鍵の長さ)のパラメータ、秘密鍵(暗号鍵)のパラメータ、初期ベクタのパラメータを書き込んで設定する。
このようにして、電子装置2に対して容易にデータの暗号化の機能を提供することができる。
電子装置2は、データ変換装置1のPATAデバイスI/F30の初期化を行い、レジスタI/F21によってデータ変換装置1のレジスタ36に、復号化モードと、暗号化の種類のモード(例えば、CBCモード、ECBモード)、暗号化の際の鍵長(暗号鍵の長さ)のパラメータ、秘密鍵(暗号鍵)のパラメータ、初期ベクタのパラメータを書き込んで設定する。
このようにして、電子装置2に対して容易に暗号化データの復号化の機能を提供することができる。
電子装置2は、データ変換装置1のPATAデバイスI/F30の初期化を行い、レジスタI/F21によってデータ変換装置1のレジスタ36に、スルーモードと、非乱数書込モードを書き込んで設定する。
データ変換装置1は、レジスタ36に設定されたモードに基づいて、第1セレクタ33をスルーモードに設定し、乱数発生器32と第2セレクタ34を非乱数書込モードに設定する。
また、電子装置2のホストコントローラ20から発行されたリードコマンドに応じてSATAHDD3からデータが読み出されて、データ変換装置1へ出力されると、データ変換装置1のSATAホストI/F35によってデータを入力し、そのデータを第2セレクタ34はそのまま第1セレクタ33へ出力し、第1セレクタ33もそのままPATAデバイスI/F30へ出力し、SATAHDD3から読み出したデータをPATAデバイスI/F30を介してそのまま電子装置2へ送る。
電子装置2は、データ変換装置1のPATAデバイスI/F30の初期化を行い、レジスタI/F21によってデータ変換装置1のレジスタ36に、スルーモードと、乱数書込モードと、乱数発生のための初期ベクタのパラメータを書き込んで設定する。
データ変換装置1は、レジスタ36に設定されたモードに基づいて、第1セレクタ33をスルーモードに設定し、乱数発生器32と第2セレクタ34を乱数書込モードに設定し、乱数発生器に初期ベクタのパラメータを設定する。
このようにして、電子装置2に対して容易に乱数によるデータ消去の機能を提供することができる。
したがって、ファイルをひとかたまりとして暗号化してしまうと、暗号化のモードによっては、一部分だけを取り出す場合でも、それより前のデータをすべて復号化しなければならない場合がある。
これでは、ファイルの後端になればなるほど復号化にかかる時間が長くなるという、不都合が生じることになる。
図4は、セクタ単位で暗号化するときのデータの流れを示す説明図である。
同図に示すように、電子装置2から第1セクタ、第2セクタ、第3セクタ、……のようにセクタ単位で送られるデータ50をPATAデバイスI/F30で入力すると、暗号化・復号化器31の暗号化器31aによって各セクタ毎に暗号化し、SATAホストI/F35を介してSATAHDD3へ第1セクタ、第2セクタ、第3セクタ、……のようにセクタ単位で暗号化された暗号化データ51を書き込む。
同図に示すように、SATAHDD3から第1セクタ、第2セクタ、第3セクタ、……のようにセクタ単位で読み出された暗号化データ51をSATAホストI/F35で入力すると、暗号化・復号化器31の復号化器31bによって各セクタ毎に復号化し、PATAデバイスI/F30を介して電子装置2へ第1セクタ、第2セクタ、第3セクタ、……のようにセクタ単位で復号化されたデータ50を送る。
このようにして、読み出したい部分のデータを短時間で復号化することができる。
また、暗号化されたデータを読み出す際に、任意の位置のデータを読み出すためにファイルを先頭から読み出さなければならないといった無駄な処理時間を削減できる。
さらに、ファイル中の任意の位置から必要な分だけのリードが可能となる。
あるいはまた、図8に示すように、SATAデバイスI/F38とPATAホストI/F35を設けたASIC42と、SATAコネクタ14とSATAコネクタ12をそれぞれ設けたデータ変換装置9にすれば、SATAインタフェースを備えたSATAHDD3を接続した場合に電子装置2へ上述の機能を提供することができる。
また、SDカードを含む不揮発性メモリカードに対するデータの読み書きを行うメモリカードインタフェースを設けるようにしても上述の機能を上述と同様にして提供することができる。
このデータ変換装置70では、上述のデータ変換装置における外部記憶装置側のインタフェースに代えて、SDカードを含むメモリカード60を装着し、メモリカード60に対するデータの読み書きを行うメモリカードインタフェース39を設けたASIC44を備えており、上述と同様にして、電子装置とメモリカードとの間のデータ変換と暗号化と複合化を含む所定の処理を施す。
なお、同図では、電子装置側のインタフェースがPATAデバイスI/Fの場合を示しているが、SATAデバイスI/Fの場合でも、上述と同様に実施することができる。
また、パラレルATAインタフェースとシリアルATAインタフェースの変換機能、パラレルATAインタフェースとメモリカードインタフェースの変換機能、シリアルATAインタフェースとメモリカードインタフェースの変換機能も提供することで、装着できる外部記憶装置とメモリカードの選択肢が広がる。
さらに、画像形成装置を含む電子装置に、上述したASICを搭載することにより、画像データや通信データ、アドレス帳などの機密情報を、装置の生産性を落とすことなくハードディスク、光ディスク、メモリカードに暗号化して保存することが可能であり、不要になったデータは乱数による上書き消去を行うことでデータの安全性/機密性を高めることができる。
さらに、上述したASICを搭載することにより、DVD、CDを含むリムーバブルメディアに記録された画像データや通信データ、アドレス帳を含む機密情報を、装置の生産性を落とすことなくハードディスクに暗号化して保存することが可能になる。
また、上述のデータ変換装置を外部記憶装置側に設けるようにしても良い。
この実施例では、上述した実施例のデータ変換装置に、さらにデータ再送機能を設けている。
このデータ再送機能は、電子装置と外部記憶装置又は電子装置とメモリカードとの間のデータ転送時にデータ転送エラーが発生した場合、電子装置、外部記憶装置又はメモリカードからデータを再送せずに済むように、データ変換装置が電子装置と外部記憶装置又は電子装置とメモリカードとの間で転送されるデータを一時的に保持し、データ転送エラーが発生したときに再送するものである。また、このデータの再送を所定回数あるいは所定条件を満たすまで繰り返すリトライ動作を含むようにしても良い。
図10は、この発明の他の実施例であるデータ変換装置の機能構成を示すブロック図であり、図1と共通する部分には、同一符号を付してその説明を省略する。
このデータ変換装置71は、図1に示したデータ変換装置に新たに、第3セレクタ80,第4セレクタ81,第5セレクタ82,コマンド処理回路83,第6セレクタ84,第1バッファメモリ85,第2バッファメモリ86を設けたASIC44を備えている。
また、レジスタ36は、上述した機能の他に、第3セレクタ80、第4セレクタ81、第5セレクタ82、第6セレクタ53に対するデータパスの選択切り換えのモードの設定を行う手段の機能も果たす。
第4セレクタ81は、レジスタ36の設定により、第3セレクタ80、第5セレクタ82、又は暗号化・復号化器31から入力したデータのいずれか一方を選択して出力するように切り換える。
第5セレクタ82は、レジスタ36の設定により、第4セレクタ81、暗号化・復号化器31、又は第6セレクタ84から入力したデータのいずれか一方を選択して出力するように切り換える。
第6セレクタ84は、レジスタ36の設定により、第5セレクタ82から入力したデータを第1バッファメモリ85、又は第2バッファメモリ86のいずれか一方を選択して出力するように切り換える。また、第1バッファメモリ85、又は第2バッファメモリ86から入力したデータを第5セレクタ82へ出力する。
第1バッファメモリ85と第2バッファメモリ86は、例えば、それぞれ128セクタ分のデータを格納できるだけの容量を持ち、電子装置2とSATAHDD3との間で転送されるデータを一時的に保持する複数個のバッファメモリである。
まず、SATAHDD3から129セクタ以上256セクタ以下のデータを読み出すときの処理を説明する。
[フェーズa1]
電子装置2のホストコントローラ20がSATAHDD3に記憶されているN(N>128)セクタのデータのリードコマンドをデータ変換装置71へ発行(出力)すると、データ変換装置71はPATAデバイスI/F30によって受信し、第3セレクタ80を介してコマンド処理回路83へ送る。
コマンド処理回路83は、Nセクタのリードコマンドのうち、前半の128セクタ分のリードコマンドを作成し、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行(出力)する。
SATAホストI/F35は、コマンド処理回路83から前半の128セクタ分のリードコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数まで前半の128セクタ分のリードコマンドの再送を実行する。
SATAHDD3は、データ変換装置71から上記前半の128セクタ分のリードコマンドを受信すると、該当するデータを読み出してデータ変換装置71へ返送する。
データ変換装置71は、SATAホストI/F35によってSATAHDD3から返送される前半の128セクタ分のデータを受信すると、第1セレクタ33は第1バッファメモリ85へのパスに切り換え、上記受信したデータを第2セレクタ34と第1セレクタ33を介して第1バッファメモリ85へ格納する。
ここで、SATAHDD3からのデータ返送が失敗し、正しいデータを受信できなかった場合、上記フェーズa2からの処理を予め設定したリトライ回数まで繰り返し、SATAHDD3からデータを取得する。
データ変換装置71は、第1バッファメモリ85に上記前半の128セクタ分のデータを格納すると、コマンド処理回路83が、Nセクタのリードコマンドのうち、残りの後半のN−128セクタ分のリードコマンドを作成し、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行する。
SATAホストI/F35は、コマンド処理回路83から後半のN−128セクタ分のリードコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数まで後半のN−128セクタ分のリードコマンドの再送を実行する。
SATAHDD3は、データ変換装置71から上記後半のN−128セクタ分のリードコマンドを受信すると、該当するデータを読み出してデータ変換装置71へ返送する。
データ変換装置71は、SATAホストI/F35によってSATAHDD3から返送される後半のN−128セクタ分のデータを受信すると、第1セレクタ33は第2バッファメモリ86へのパスに切り換え、上記受信したデータを第2セレクタ34と第1セレクタ33を介して第2バッファメモリ86へ格納する。
ここで、SATAHDD3からのデータ返送が失敗し、正しいデータを受信できなかった場合、上記フェーズa4からの処理を予め設定したリトライ回数まで繰り返し、SATAHDD3からデータを取得する。
データ変換装置71は、第1バッファメモリ85と第2バッファメモリ86にそれぞれ正しいデータが格納され、上記電子装置2からのリードコマンドに基づくNセクタのデータを保持すると、第6セレクタ84を含む各セレクタの切り換えと、暗号化されたデータの場合は上述の実施例と同様にして暗号化・復号化部31で復号化し、そのままのデータはそのままで、第1バッファメモリ85に格納されたデータを先に、第2バッファメモリ86に格納されたデータを後にそれぞれ順に電子装置2へ出力する。
[フェーズb1]
電子装置2のホストコントローラ20がSATAHDD3に記憶されているN(N≦128)セクタのデータのリードコマンドをデータ変換装置71へ発行(出力)すると、データ変換装置71はPATAデバイスI/F30によって受信し、第3セレクタ80を介してコマンド処理回路83へ送る。
コマンド処理回路83は、Nセクタのリードコマンドを、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行する。
SATAホストI/F35は、コマンド処理回路83からNセクタ分のリードコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数までN分のリードコマンドの再送を実行する。
SATAHDD3は、データ変換装置71からNセクタ分のリードコマンドを受信すると、該当するデータを読み出してデータ変換装置71へ返送する。
データ変換装置71は、SATAホストI/F35によってSATAHDD3から返送されるNセクタ分のデータを受信すると、第1セレクタ33は第1バッファメモリ85へのパスに切り換え、上記受信したデータを第2セレクタ34と第1セレクタ33を介して第1バッファメモリ85へ格納する。
ここで、SATAHDD3からのデータ返送が失敗し、正しいデータを受信できなかった場合、上記フェーズb2からの処理を予め設定したリトライ回数まで繰り返し、SATAHDD3からデータを取得する。
データ変換装置71は、第1バッファメモリ85に正しいデータが格納され、上記電子装置2からのリードコマンドに基づくNセクタのデータを保持すると、第6セレクタ84を含む各セレクタの切り換えと、暗号化されたデータの場合は上述の実施例と同様にして暗号化・復号化部31で復号化し、そのままのデータはそのままで、第1バッファメモリ85に格納されたデータを電子装置2へ出力する。
まず、SATAHDD3に129セクタ以上のデータを書き込むときの処理を説明する。
[フェーズc1]
電子装置2のホストコントローラ20がSATAHDD3に対するN(N>128)セクタのデータのライトコマンドをデータ変換装置71へ発行(出力)すると、データ変換装置71はPATAデバイスI/F30によって受信し、第3セレクタ80を介してコマンド処理回路83へ送る。
コマンド処理回路83は、Nセクタのライトコマンドのうち、前半の128セクタ分のライトコマンドを作成し、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行(出力)する。
SATAホストI/F35は、コマンド処理回路83から前半の128セクタ分のライトコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数まで前半の128セクタ分のライトコマンドの再送を実行する。
SATAHDD3は、データ変換装置71から上記前半の128セクタ分のライトコマンドを受信すると、データ待ちをする。
データ変換装置71は、上記前半の128セクタ分のライトコマンドの発行が成功したら、第1バッファメモリ85に格納された128セクタ分のデータを第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ出力する。SATAホストI/F35は、そのデータをSATAHDD3へ出力する。
ここで、SATAHDD3へのデータ送信が成功した場合はフェーズc6へ移行し、SATAHDD3へのデータ送信が失敗し、正しいデータを送信できなかった場合、フェーズc4へ移行する。
コマンド処理回路83は、上記前半の128セクタ分のライトコマンドを、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行する。
SATAホストI/F35は、コマンド処理回路83から前半の128セクタ分のライトコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数まで前半の128セクタ分のライトコマンドの再送を実行し、SATAHDD3へコマンドが正しく発行できたら、フェーズc5へ移行する。
また、データ変換装置71は、この間は電子装置2のホストコントローラ20からの新規のコマンドを受け付けないようにする。
SATAホストI/F35は、第1バッファメモリ85に格納された前半の128セクタ分のデータをSATAHDD3へ出力し、その出力が成功した場合はフェーズc6へ移行し、その出力に失敗した場合は、上記フェーズc4からの処理を予め設定したリトライ回数まで繰り返し、SATAHDD3へデータを出力する。
また、データ変換装置1は、この間は電子装置2のホストコントローラ20からの新規のコマンドを受け付けないようにする。
データ変換装置71は、SATAHDD3への第1バッファメモリ85の上記前半の128セクタ分のデータ出力を成功すると、コマンド処理回路83が、Nセクタのライトコマンドのうち、残りの後半のN−128セクタ分のライトコマンドを作成し、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行する。
SATAホストI/F35は、コマンド処理回路83から後半の128セクタ分のライトコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数まで後半の128セクタ分のライトコマンドの再送を実行する。
また、データ変換装置71は、この間は電子装置2のホストコントローラ20からの新規のコマンドを受け付けないようにする。
SATAHDD3は、データ変換装置71から上記後半のN−128セクタ分のライトコマンドを受信すると、データ待ちをする。
データ変換装置71は、上記後半のN−128セクタ分のライトコマンドの発行が成功したら、第2バッファメモリ86に格納されたN−128セクタ分のデータを第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ出力する。SATAホストI/F35は、そのデータをSATAHDD3へ出力する。
ここで、SATAHDD3へのデータ送信が成功した場合は電子装置2からのライトコマンドが正常終了したことになるので、電子装置2からの新規のコマンドの受付を可能にする。
一方、SATAHDD3へのデータ送信が失敗し、正しいデータを送信できなかった場合、フェーズc6へ戻って処理を繰り返し、その間は、電子装置2からの新規のコマンドを受け付けないようにする。
[フェーズd1]
電子装置2のホストコントローラ20がSATAHDD3に対するN(N≦128)セクタのデータのライトコマンドをデータ変換装置71へ発行(出力)すると、データ変換装置71はPATAデバイスI/F30によって受信し、第3セレクタ80を介してコマンド処理回路83へ送る。
コマンド処理回路83は、Nセクタのライトコマンドを、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行(出力)する。
SATAホストI/F35は、コマンド処理回路83からライトコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数までNセクタ分のライトコマンドの再送を実行する。
SATAHDD3は、データ変換装置71から上記Nセクタ分のライトコマンドを受信すると、データ待ちをする。
データ変換装置71は、上記Nセクタ分のライトコマンドの発行が成功したら、第1バッファメモリ85に格納されたNセクタ分のデータを第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ出力する。SATAホストI/F35は、そのデータをSATAHDD3へ出力する。
ここで、SATAHDD3へのデータ送信が成功した場合は電子装置2からのライトコマンドが正常終了したことになるので、電子装置2からの新規のコマンドの受付を可能にする。
一方、SATAHDD3へのデータ送信が失敗し、正しいデータを送信できなかった場合、フェーズd2へ戻って処理を繰り返し、その間は、電子装置2からの新規のコマンドを受け付けないようにする。
また、上記バッファメモリを比較的少ない容量の複数個のバッファメモリに分割して持つことにより、通信エラー時の再送にかかるオーバヘッドを低減することができる。
上記実施例では、128セクタ分の容量を持つ2個のバッファメモリを設けた場合の構成を説明したが、例えば、64セクタ分の容量を持つ4個のバッファメモリを設けるようにしても上述と同様にして実施することができる。
この実施例では、上述した実施例のデータ再送機能を設けたデータ変換装置について、複数個のバッファメモリを1つのバッファメモリで実現する場合のデータ変換装置を説明する。
図11は、この発明の他の実施例であるデータ変換装置の機能構成を示すブロック図であり、図10と共通する部分には、同一符号を付してその説明を省略する。
このデータ変換装置72では、上述の第6セレクタと第1バッファメモリ85と第2バッファメモリ86に代えて、第5セレクタ82と第1セレクタ33との間にバッファメモリ87を設けたASIC45を備えている。
ここで、例えば、SATAHDD3に128セクタ以下のデータを書き込むときの処理を説明する。この場合、バッファメモリ87の容量は128セクタ分有ればよい。
電子装置2のホストコントローラ20がSATAHDD3に対するN(N≦128)セクタのデータのライトコマンドをデータ変換装置72へ発行(出力)すると、データ変換装置72はPATAデバイスI/F30によって受信し、第3セレクタ80を介してコマンド処理回路83へ送る。
コマンド処理回路83は、Nセクタのライトコマンドを、第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ発行(出力)する。
SATAホストI/F35は、コマンド処理回路83からライトコマンドを受信すると、SATAHDD3へそのコマンドを発行する。そのコマンドの発行が失敗した場合、予め設定したリトライ回数までNセクタ分のライトコマンドの再送を実行する。
SATAHDD3は、データ変換装置1から上記Nセクタ分のライトコマンドを受信すると、データ待ちをする。
データ変換装置72は、上記Nセクタ分のライトコマンドの発行が成功したら、バッファメモリ87に格納されたNセクタ分のデータを第1セレクタ33と第2セレクタ34を介してSATAホストI/F35へ出力する。SATAホストI/F35は、そのデータをSATAHDD3へ出力する。
ここで、SATAHDD3へのデータ送信が成功した場合は電子装置2からのライトコマンドが正常終了したことになるので、電子装置2からの新規のコマンドの受付を可能にする。
一方、SATAHDD3へのデータ送信が失敗し、正しいデータを送信できなかった場合、フェーズe2へ戻って処理を繰り返し、その間は、電子装置2からの新規のコマンドを受け付けないようにする。
例えば、256セクタ分のデータ転送を考えてみる。
SATAI/F上で128セクタ分のデータ転送時におけるエラー発生率を10−12と仮定すると、256セクタのデータ転送の場合、エラーの発生確率は2倍の10−11と考えられる。
さらに、256セクタのデータ転送の間に1回、エラーが発生した場合に再送しなければならないデータサイズは、バッファメモリを2個設けた場合では128セクタ、バッファメモリを1個設けた場合では256セクタとなり、1個設けた場合は2個設けた場合の2倍になる。
また、データ再送1回を含めた総転送データサイズは、バッファメモリを2個設けた場合で256+128=384セクタになるのに対し、バッファメモリを1個設けた場合では256×2=512セクタとなる。
さらに、エラーの発生し易さを考慮すると、バッファメモリを1個設けた場合では256×3=768セクタとなる。
なお、上述の説明では、図1に示したデータ変換装置にデータ再送機能を設けた場合について説明したが、図6〜図9に示したデータ変換装置についても同様にして実現することができる。
また、上述の実施例では、シリアルインタフェースとパラレルインタフェースとメモリカードインタフェースについて説明したが、この実施例のデータ変換装置は、IEEEインタフェース、USBインタフェースを含むインタフェース全般についても上述と同じように適用することができる。
Claims (13)
- 第1の入出力手段と、第2の入出力手段と、暗号化手段と、復号化手段と、乱数発生手段とを有し、前記第1の入出力手段から入力されたデータを前記暗号化手段によって暗号化して前記第2の入出力手段から出力するように設定する第1の設定手段と、前記第1の入出力手段から入力されたデータを前記乱数発生手段によって発生させた乱数に置き換えて前記第2の入出力手段から出力するように設定する第2の設定手段と、前記第2の入出力手段から入力された暗号化データを前記復号化手段によって復号化して前記第1の入出力手段から出力するように設定する第3の設定手段と、前記第1乃至第3の設定手段のいずれか一つの手段に設定させる手段とを備えたことを特徴とするデータ変換装置。
- 前記第1の入出力手段と前記第2の入出力手段が共にパラレル方式でデータを入出力する手段であることを特徴とする請求項1記載のデータ変換装置。
- 前記第1の入出力手段と前記第2の入出力手段が共にシリアル方式でデータを入出力する手段であることを特徴とする請求項1記載のデータ変換装置。
- 前記第1の入出力手段と前記第2の入出力手段のいずれか一方がパラレル方式でデータを入出力する手段であり、もう一方がシリアル方式でデータを入出力する手段であることを特徴とする請求項1記載のデータ変換装置。
- 前記暗号化手段によるデータの暗号化を予め設定したデータ単位毎に行うようにしたことを特徴とする請求項1乃至4のいずれか一項に記載のデータ変換装置。
- 前記データ単位は最小記録単位であることを特徴とする請求項5記載のデータ変換装置。
- 請求項1乃至6のいずれか一項に記載のデータ変換装置を備えたことを特徴とする複写機、印刷装置、ファクシミリ装置、コンピュータ、及びそれらの複合機を含む電子装置。
- 入力されたデータを暗号化して出力する第1の工程と、入力されたデータを予め発生させた乱数に置き換えて出力する第2の工程と、入力された暗号化データを復号化して出力する第3の工程と、前記第1乃至第3の工程のいずれか一つの工程を選択して実行することを特徴とするデータ変換方法。
- 前記データの入出力をパラレル方式で行うことを特徴とする請求項8記載のデータ変換方法。
- 前記データの入出力をシリアル方式で行うことを特徴とする請求項8記載のデータ変換方法。
- 前記データの入力と出力をそれぞれパラレル方式とシリアル方式で行う、あるいは前記データの入力と出力をそれぞれシリアル方式とパラレル方式で行うことを特徴とする請求項8記載のデータ変換方法。
- 前記データの暗号化を予め設定したデータ単位毎に行うことを特徴とする請求項8乃至11のいずれか一項に記載のデータ変換方法。
- 前記データ単位は最小記録単位であることを特徴とする請求項12記載のデータ変換方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007161528A JP2008085986A (ja) | 2006-08-30 | 2007-06-19 | データ変換装置と電子装置とデータ変換方法 |
EP07114446A EP1895441A1 (en) | 2006-08-30 | 2007-08-16 | Data conversion unit, data conversion method, and electronic apparatus using the data conversion unit |
US11/845,313 US7511636B2 (en) | 2006-08-30 | 2007-08-27 | Data conversion unit, data conversion method, and electronic apparatus using the data conversion unit |
KR1020070086126A KR20080021520A (ko) | 2006-08-30 | 2007-08-27 | 데이터 변환 장치, 이 데이터 변환 장치를 구비한 전자장치 및 데이터 변환 방법 |
CN2007101471948A CN101136979B (zh) | 2006-08-30 | 2007-08-30 | 数据转换单元、使用其的电子装置、以及数据转换方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006233017 | 2006-08-30 | ||
JP2007161528A JP2008085986A (ja) | 2006-08-30 | 2007-06-19 | データ変換装置と電子装置とデータ変換方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008085986A true JP2008085986A (ja) | 2008-04-10 |
Family
ID=38664051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007161528A Pending JP2008085986A (ja) | 2006-08-30 | 2007-06-19 | データ変換装置と電子装置とデータ変換方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7511636B2 (ja) |
EP (1) | EP1895441A1 (ja) |
JP (1) | JP2008085986A (ja) |
KR (1) | KR20080021520A (ja) |
CN (1) | CN101136979B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010084562A1 (ja) * | 2009-01-21 | 2010-07-29 | パナソニック株式会社 | 携帯端末、映像データ補修方法及びプログラム |
JP2015170952A (ja) * | 2014-03-06 | 2015-09-28 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
JP2018078610A (ja) * | 2017-12-15 | 2018-05-17 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423789B1 (en) * | 2007-05-22 | 2013-04-16 | Marvell International Ltd. | Key generation techniques |
JP5102082B2 (ja) * | 2008-03-18 | 2012-12-19 | 株式会社リコー | 画像形成装置 |
US8510560B1 (en) | 2008-08-20 | 2013-08-13 | Marvell International Ltd. | Efficient key establishment for wireless networks |
US8296555B2 (en) | 2008-09-18 | 2012-10-23 | Marvell World Trade Ltd. | Preloader |
CN101795334B (zh) * | 2009-02-02 | 2012-06-06 | 联想(北京)有限公司 | 待输出数据处理装置和方法 |
JP5364840B2 (ja) * | 2010-02-22 | 2013-12-11 | 株式会社東芝 | 暗号化装置 |
US8645716B1 (en) | 2010-10-08 | 2014-02-04 | Marvell International Ltd. | Method and apparatus for overwriting an encryption key of a media drive |
US9436629B2 (en) | 2011-11-15 | 2016-09-06 | Marvell World Trade Ltd. | Dynamic boot image streaming |
US9575768B1 (en) | 2013-01-08 | 2017-02-21 | Marvell International Ltd. | Loading boot code from multiple memories |
US9736801B1 (en) | 2013-05-20 | 2017-08-15 | Marvell International Ltd. | Methods and apparatus for synchronizing devices in a wireless data communication system |
US9521635B1 (en) | 2013-05-21 | 2016-12-13 | Marvell International Ltd. | Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system |
US9836306B2 (en) | 2013-07-31 | 2017-12-05 | Marvell World Trade Ltd. | Parallelizing boot operations |
IL243789A0 (en) | 2016-01-26 | 2016-07-31 | Winbond Electronics Corp | Split calculation of the next state to prevent analysis by energy consumption |
EP3427435A1 (en) | 2016-03-08 | 2019-01-16 | Marvell World Trade Ltd. | Methods and apparatus for secure device authentication |
CN107786331B (zh) * | 2017-09-28 | 2020-03-17 | 平安普惠企业管理有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11249826A (ja) * | 1998-03-03 | 1999-09-17 | Fujitsu Ltd | 光磁気ディスク制御装置 |
JP2000228060A (ja) * | 1998-12-02 | 2000-08-15 | Olympus Optical Co Ltd | 可搬型記憶媒体を用いたデータ記録/再生装置 |
JP2003198531A (ja) * | 2001-12-27 | 2003-07-11 | Denso Corp | 共通鍵暗号通信方法及び装置 |
JP2004022104A (ja) * | 2002-06-18 | 2004-01-22 | Toshiba Corp | 信号処理装置、信号処理方法、及び記憶媒体 |
JP2005309148A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | データ変換装置およびデータ変換方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4003203B2 (ja) * | 2000-08-10 | 2007-11-07 | サイファーゲート株式会社 | 暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体 |
JP2003006144A (ja) | 2001-06-26 | 2003-01-10 | Hitachi Ltd | 半導体集積回路及びコンピュータ読取り可能な記録媒体 |
CN1359071A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 彻底删除硬盘文件的方法 |
JP4351071B2 (ja) | 2002-04-03 | 2009-10-28 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Ata/sata複合コントローラ |
JP2004106503A (ja) | 2002-09-20 | 2004-04-08 | Ricoh Co Ltd | 画像形成装置 |
KR100604833B1 (ko) * | 2004-02-18 | 2006-07-26 | 삼성전자주식회사 | 기록 매체의 데이터 보안 소거 방법 및 이를 이용한디스크 드라이브 |
JP2005346123A (ja) | 2004-05-31 | 2005-12-15 | Toshiba Corp | パラレルインタフェースコネクタを備えたストレージ装置及び同装置に適用される変換コネクタ |
US7958292B2 (en) * | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
JP2006018428A (ja) | 2004-06-30 | 2006-01-19 | Toshiba Corp | 情報処理装置 |
-
2007
- 2007-06-19 JP JP2007161528A patent/JP2008085986A/ja active Pending
- 2007-08-16 EP EP07114446A patent/EP1895441A1/en not_active Ceased
- 2007-08-27 KR KR1020070086126A patent/KR20080021520A/ko not_active Application Discontinuation
- 2007-08-27 US US11/845,313 patent/US7511636B2/en not_active Expired - Fee Related
- 2007-08-30 CN CN2007101471948A patent/CN101136979B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11249826A (ja) * | 1998-03-03 | 1999-09-17 | Fujitsu Ltd | 光磁気ディスク制御装置 |
JP2000228060A (ja) * | 1998-12-02 | 2000-08-15 | Olympus Optical Co Ltd | 可搬型記憶媒体を用いたデータ記録/再生装置 |
JP2003198531A (ja) * | 2001-12-27 | 2003-07-11 | Denso Corp | 共通鍵暗号通信方法及び装置 |
JP2004022104A (ja) * | 2002-06-18 | 2004-01-22 | Toshiba Corp | 信号処理装置、信号処理方法、及び記憶媒体 |
JP2005309148A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | データ変換装置およびデータ変換方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010084562A1 (ja) * | 2009-01-21 | 2010-07-29 | パナソニック株式会社 | 携帯端末、映像データ補修方法及びプログラム |
JP5414699B2 (ja) * | 2009-01-21 | 2014-02-12 | パナソニック株式会社 | 携帯端末、映像データ補修方法及びプログラム |
US9049492B2 (en) | 2009-01-21 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Portable terminal, video data repair method and program |
JP2015170952A (ja) * | 2014-03-06 | 2015-09-28 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
JP2018078610A (ja) * | 2017-12-15 | 2018-05-17 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1895441A1 (en) | 2008-03-05 |
KR20080021520A (ko) | 2008-03-07 |
US7511636B2 (en) | 2009-03-31 |
CN101136979B (zh) | 2011-04-20 |
CN101136979A (zh) | 2008-03-05 |
US20080136685A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008085986A (ja) | データ変換装置と電子装置とデータ変換方法 | |
KR101394710B1 (ko) | 단일 명령어를 이용한 다수 모드에서의 aes 암호화 또는 암호 해독 수행 | |
JP6067757B2 (ja) | ストレージ装置とホスト間でデータ伝送を保護するためのストレージ・コントローラ・バス・インターフェースの使用 | |
JP5134894B2 (ja) | ストレージ装置及び暗号鍵変更方法 | |
JP2012090286A (ja) | イン−ストリームデータ暗号化/復号の機能を有するメモリシステム | |
US20130290736A1 (en) | Data storage device, data control device and method for encrypting data | |
JP2004226969A (ja) | 暗号システム及び多様なモードを支援する方法 | |
JP2008252174A (ja) | コンテンツ処理装置、暗号処理方法及びプログラム | |
JP4596538B2 (ja) | 情報処理装置、記録媒体、およびプログラム | |
JP5118494B2 (ja) | イン−ストリームデータ暗号化/復号の機能を有するメモリシステム | |
JP4619361B2 (ja) | 暗号化指示情報を有する記録媒体 | |
JP2009111687A (ja) | 記憶装置、暗号化データ処理方法 | |
JP2008524969A5 (ja) | ||
JP2004199688A (ja) | 安全なドライバ | |
JP4791741B2 (ja) | データ処理装置とデータ処理方法 | |
JP2010010824A (ja) | 電子装置、および著作権保護チップ | |
US20100138670A1 (en) | Storage apparatus and data writing method | |
JP2007336446A (ja) | データ暗号化装置 | |
JP4853026B2 (ja) | 情報処理装置及びプログラム | |
JP5532516B2 (ja) | ストレージ装置、及び、暗号鍵の変更方法 | |
JP5481354B2 (ja) | 情報処理装置 | |
JP2007193800A (ja) | カード認証システムのセキュリティレベルを向上させる装置及び方法 | |
JP2010219883A (ja) | 画像形成装置および画像形成方法 | |
JP2008310678A (ja) | 記憶装置、情報機器、及びコンテンツ変換方法 | |
JP4867935B2 (ja) | 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120807 |