JP2014229329A - 電子機器および暗号化制御方法 - Google Patents

電子機器および暗号化制御方法 Download PDF

Info

Publication number
JP2014229329A
JP2014229329A JP2013107261A JP2013107261A JP2014229329A JP 2014229329 A JP2014229329 A JP 2014229329A JP 2013107261 A JP2013107261 A JP 2013107261A JP 2013107261 A JP2013107261 A JP 2013107261A JP 2014229329 A JP2014229329 A JP 2014229329A
Authority
JP
Japan
Prior art keywords
sector
data
encryption
read
storage area
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
Application number
JP2013107261A
Other languages
English (en)
Inventor
明美 香山
Akemi Kayama
明美 香山
武田 淳
Atsushi Takeda
淳 武田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013107261A priority Critical patent/JP2014229329A/ja
Priority to US14/166,631 priority patent/US20140351604A1/en
Publication of JP2014229329A publication Critical patent/JP2014229329A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

【課題】ハードディスクドライブのような記憶装置を確実に暗号化することができる電子機器を実現する。
【解決手段】電子機器は、記憶装置と、暗号化手段とを具備する。前記暗号化手段は、前記記憶装置の複数のセクタを暗号化する。前記暗号化手段は、前記複数のセクタの暗号化中にデータを読み出すことができない不良セクタが検出された場合、不良セクタ修復処理を実行し、前記不良セクタのアドレス情報を所定の記憶領域に記憶する(S66)。
【選択図】図6

Description

本発明の実施形態は、電子機器および同電子機器に適用される暗号化制御方法に関する。
近年、タブレットコンピュータ、ノートブック型パーソナルコンピュータ(PC)といった種々の電子機器が開発されている。この種の電子機器の多くは、ハードディスクドライブ(HDD)などの補助記憶装置を備えている。
最近では、補助記憶装置内のハードディスク等の記憶媒体に記録されるデータを暗号化する暗号化技術も開発されている。データを暗号化することによって、情報の漏洩等を防止することができる。
特開2006−92651号公報
しかしながら、ハードディスクの暗号化中にデータの読み込みができないようなセクタが検出される場合がある。この場合、このセクタを暗号化することはできなくなる。しかし、このセクタのデータは後に読み出し可能となる場合がある。よって、暗号化されていないセクタの存在は、情報の漏洩の危険を増す要因となりうる。
本発明の目的は、ハードディスクドライブのような記憶装置を確実に暗号化することができる電子機器および暗号化制御方法を提供することである。
実施形態によれば、電子機器は、記憶装置と、暗号化手段とを具備する。前記暗号化手段は、前記記憶装置の複数のセクタを暗号化する。前記暗号化手段は、前記複数のセクタの暗号化中にデータを読み出すことができない不良セクタが検出された場合、前記不良セクタのアドレス情報を所定の記憶領域に記憶する。
実施形態に係る電子機器の外観を示す斜視図。 同実施形態に係る電子機器のシステム構成例を示す図。 同実施形態に係る電子機器によって実行される暗号化制御処理の概要を説明するための図。 同実施形態に係る電子機器によって実行される暗号化制御プログラムの構成を示すブロック図。 同実施形態に係る電子機器によって実行される暗号化制御処理の手順を示すフローチャート。 同実施形態に係る電子機器によって実行される暗号化制御処理における不良セクタ修復処理の手順を示すフローチャート。 同実施形態に係る電子機器によって実行される暗号化制御処理における書き込み要求に対する処理の手順を示すフローチャート。 同実施形態に係る電子機器によって実行される暗号化制御処理における読み込み要求に対する処理の手順を示すフローチャート。 同実施形態に係る電子機器によって実行される暗号化制御処理によって記憶される不良セクタリストの一例を説明するための図である。
以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、本実施形態に係る電子機器の構成について説明する。この電子機器は、ノートブックタイプのパーソナルコンピュータまたはタブレット端末等の各種電子機器として実現され得る。以下では、この電子機器が、ノートブックタイプのパーソナルコンピュータ10として実現されている場合を想定する。
図1は、ディスプレイユニットが開いた状態のコンピュータ10を正面側から見た斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とを備える。ディスプレイユニット12には、液晶表示装置(LCD)31のような表示装置が組み込まれている。さらに、ディスプレイユニット12の上端部には、カメラ(Webカメラ)32が配置されている。また、本コンピュータ10は、バッテリ20から電力を受けるように構成されている。
ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面がディスプレイユニット12で覆われる閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、タッチパッド14、指紋センサ15、本コンピュータ10をパワーオン/オフするための電源スイッチ16、およびスピーカ18A、18Bが配置されている。また、コンピュータ本体11の左側面には、USBデバイスを接続するためのUSBコネクタ22が設けられている。
また、コンピュータ本体11には、電源コネクタ21が設けられている。電源コネクタ21はコンピュータ本体11の側面、例えば左側面に設けられている。この電源コネクタ21には、外部電源装置が取り外し自在に接続される。外部電源装置としては、ACアダプタを用いることができる。ACアダプタは商用電源(AC電力)をDC電力に変換する電源装置である。
バッテリ20は、例えば、コンピュータ本体11の後端部に取り外し自在に装着される。バッテリ20は本コンピュータ10に内蔵されるバッテリであってもよい。
本コンピュータ10は、外部電源装置からの電力またはバッテリ20からの電力によって駆動される。本コンピュータ10の電源コネクタ21に外部電源装置が接続されているならば、本コンピュータ10は外部電源装置からの電力によって駆動される。また、外部電源装置からの電力は、バッテリ20を充電するためにも用いられる。本コンピュータ10の電源コネクタ21に外部電源装置が接続されていない期間中は、本コンピュータ10はバッテリ20からの電力によって駆動される。
さらに、コンピュータ本体11には、幾つかのUSBポート22、HDMI(High-definition multimedia interface)(登録商標)出力端子23、およびRGBポート24が設けられている。
コンピュータ本体11には、ハードディスクドライブ、ソリッドストードライブ、といった大容量の記憶装置が設けられている。この記憶装置は、システムデータおよびユーザデータを含む様々なデータを記憶可能な不揮発性ストレージとして機能する。本コンピュータ10は、この記憶装置の全記憶領域を暗号化するための暗号化機能を有している。記憶装置の全記憶領域を暗号化することにより、万が一、本コンピュータ10から記憶装置が抜き取られた場合でも、第三者がデータにアクセスするのを防止することが出来る。
図2は、本コンピュータ10のシステム構成を示している。
本コンピュータ10は、CPU111、システムコントローラ112、主メモリ113、グラフィクスプロセッシングユニット(GPU)114、サウンドコーデック115、BIOS−ROM116、ハードディスクドライブ(HDD)117、光ディスクドライブ(ODD)118、BT(Bluetooth(登録商標))モジュール120、無線LANモジュール121、SDカードコントローラ122、PCI EXPRESSカードコントローラ123、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)130等を備えている。
CPU111は、本コンピュータ10の各コンポーネントの動作を制御するプロセッサである。このCPU111は、HDD117から主メモリ113にロードされる各種ソフトウェアを実行する。このソフトウェアは、オペレーティングシステム(OS)201、デバイスドライバ202、および各種アプリケーションプログラムを含む。さらに、このアプリケーションプログラムは、暗号化制御プログラム203を含む。暗号化制御プログラム203は、HDD117の全記憶領域をセクタ単位で暗号化するプログラムである。なお、暗号化制御プログラム203は、例えば、OS201が起動している際、バックグラウンドで動作していてもよいし、OS201からの指示により起動してもよい。また、暗号化制御プログラム203は、例えば、ユーザの操作に応じて、暗号化を開始することもできる。
HDD117の全記憶領域には、データ領域のみならず、システム領域、プログラム記憶領域等も含まれる。HDD117の全記憶領域を暗号化することにより、高いセキュリティー性を得ることができる。また、暗号化制御プログラム203は、ソフトウェア(OS201、各種アプリケーションプログラム等)とHDD117との間に介在することができる。すなわち、暗号化制御プログラム203は、ソフトウェアからの書き込み要求を受けた際には、書き込み要求に含まれるデータを暗号化し、そして暗号化されたデータをHDD117に書き込む。また、ソフトウェアからの読み込み要求を受けた際には、暗号化制御プログラム203は、HDD117から暗号化されたデータを読み出し、この読み出されたデータを復号し、復号されたデータをソフトウェアに送る。これにより、ソフトウェアの実行中にHDD117の暗号化を行うことが出来る。
また、CPU111は、不揮発性メモリであるBIOS−ROM116に格納された基本入出力システム(BIOS)も実行する。BIOSはハードウェア制御のためのシステムプログラムである。
GPU114は、本コンピュータ10のディスプレイモニタとして使用されるLCD31を制御する表示コントローラである。GPU114は、ビデオメモリ(VRAM)114Aに格納された表示データからLCD31に供給すべき表示信号(LVDS信号)を生成する。さらに、GPU114は、表示データからアナログRGB信号およびHDMIビデオ信号を生成することもできる。アナログRGB信号はRGBポート24を介して外部ディスプレイに供給される。HDMI出力端子23は、HDMIビデオ信号(非圧縮のデジタル映像信号)と、デジタルオーディオ信号とを一本のケーブルで外部ディスプレイに送出することができる。HDMI制御回路119は、HDMIビデオ信号およびデジタルオーディオ信号をHDMI出力端子23を介して外部ディスプレイに送出するためのインタフェースである。
システムコントローラ112は、CPU111と各コンポーネントとの間を接続するブリッジデバイスである。システムコントローラ112は、HDD117を制御するためのシリアルATAコントローラを内蔵している。さらに、システムコントローラ112は、LPC(Low PIN Count)バス上の各デバイスとの通信を実行する。
EC/KBC130は、LPCバスに接続されている。EC/KBC130、電源コントローラ(PSC)141、およびバッテリ20は、ICバスのようなシリアルバスを介して相互接続されている。
EC/KBC130は、本コンピュータ10の電力管理を実行するための電力管理コントローラであり、例えば、キーボード(KB)13およびタッチパッド14などを制御するキーボードコントローラを内蔵したワンチップマイクロコンピュータとして実現されている。EC/KBC130は、ユーザによる電源スイッチ16の操作に応じて本コンピュータ10をパワーオンおよびパワーオフする機能を有している。
次に、図3を参照して、本実施形態の概要について説明する。
図3に示すように、HDD117の全記憶領域が第1セクタから第nセクタまでのn個のセクタを有している場合、HDD117は第1セクタ、第2セクタ、・・・、第kセクタ、・・・、第nセクタの順に暗号化される。なお、第1セクタは、例えば、全記憶領域に含まれる複数のセクタの内の先頭のセクタである。先頭のセクタは、例えば、セクタ番号が最小であるセクタである。また、第nセクタは、例えば、全記憶領域に含まれる複数のセクタの内の最後のセクタである。最後のセクタは、例えば、セクタ番号が最大であるセクタである。
また、HDD117の暗号化中に、データを読み出すことができない不良セクタが検出される場合がある。このような場合、本実施形態では、暗号化制御プログラム203は、検出された不良セクタのアドレス情報を所定の記憶領域(不良セクタリスト)に記憶し、HDD117の暗号化を継続して実行する。そして、HDD117の暗号化完了後に、不良セクタリストに登録された不良セクタ(暗号化されていないセクタ)に向けられたソフトウェアからのアクセス要求があった場合、暗号化制御プログラム203は、このアクセス要求が向けられた不良セクタの修復(暗号化)を行う。そのため、あるセクタが不良セクタとして検出された場合でも、このセクタの暗号化をスキップすることによってHDD117の暗号化を完了させることが出来る。そして、不良セクタリストに基づき、暗号化されていない各セクタの修復および暗号化を行うことが出来る。よって、HDD117の暗号化を確実に行うことができる。なお、本実施形態では、不良セクタリストを、検出された不良セクタを修復することを目的として使用するではなく、暗号化されていないセクタに対して後に暗号化処理を行うことを目的として使用する。この意味で、不良セクタリストは、暗号化がスキップされたセクタのリストであると言える。
不良セクタとは、上述したように、データを読み出すことができないセクタである。例えば、データが誤り訂正符号(ECC)とともに記録されており、ECCを用いてもデータのエラーを訂正することができないような場合、エラーを訂正することができないデータが格納されているセクタが不良セクタとして検出される。
不良セクタのアドレス情報は、HDD117上における不良セクタの位置を示す情報である。不良セクタのアドレス情報は、例えば、論理ブロックアドレス(LBA)を含む情報である。
不良セクタに向けられたアクセスとは、不良セクタに対してデータを書き込むための要求、または不良セクタからデータを読み出すための要求、等である。
不良セクタを修復するとは、不良セクタを、データを読み出し及びデータの書き込みが可能な通常セクタにすることである。
具体的には、図1に示すように、第kセクタが不良セクタとして検出された場合、第kセクタのアドレス情報を不良セクタリストに記憶する。そして、第kセクタに対する暗号化がスキップされる。そして、第kセクタの次のセクタである第k+1セクタから第nセクタまで暗号化が行われる。なお、第k+1セクタから第nセクタまで暗号化している際、不良セクタが検出された場合、その検出されたセクタのアドレス情報が不良セクタリストに記憶される。そして、第nセクタに対する暗号化を行った後、検出された不良セクタ、例えば第kセクタを修復する。第kセクタを修復する処理は、例えば、第kセクタに向けられたソフトウェアからの書き込み要求/読み込み要求が受信された際に実行される。第kセクタに向けられたソフトウェアからの書き込み要求を受信した時、暗号化制御プログラム203は、書き込み要求に含まれるデータを暗号化し、暗号化されたデータを第kセクタに書き込む。暗号化されたデータの書き込みが成功すれば、つまり、第kセクタの暗号化が完了すれば、暗号化制御プログラム203は、第kセクタのアドレス情報を不良セクタリストから削除する。第kセクタに向けられたソフトウェアからの読み込み要求を受信した時、暗号化制御プログラム203は、第kセクタからデータを読み出す。データの読み出しに成功すれば、暗号化制御プログラム203は、このデータを暗号化し、暗号化されたデータを第kセクタに書き込む。暗号化されたデータの書き込みが成功すれば、つまり、第kセクタの暗号化が完了すれば、そして第kセクタのアドレス情報を不良セクタリストから削除する。このように、ソフトウェアからの書き込み要求/読み込み要求に応答して不良セクタを修復するための処理、換言すれば、暗号化されていないセクタを暗号化する処理、を自動的に行うことにより、効率よく不良セクタの修復および暗号化を行うことが出来る。
なお、不良セクタが検出された後、第nセクタまで暗号化を行うよりも前に、不良セクタの修復を行ってもよい。
次に、図4を参照して、暗号化制御プログラム203の構成について説明する。
暗号化制御プログラム203は、制御部40を備える。制御部40は、読み出し部41、書き込み部42、暗号化部43、記録部44、修復部45、空きクラスタ判定部46、及び不良セクタ検出部47を備える。また、暗号化制御プログラム203は、OS201及びデバイスドライバ202と連携して動作する。
デバイスドライバ202は、HDD177をリード/ライトアクセスするためのドライバプログラムである。暗号化制御プログラム203は、デバイスドライバ202を介してHDD177へのデータ書き込みおよびHDD177からのデータ読み出しを行うことが出来る。不良セクタ検出部47は、不良セクタを検出する。
空きクラスタ判定部46は、不良セクタ検出部47によって検出された不良セクタが空きクラスタであるか否かを判定する。空きクラスタは、OS201のファイルシステムによって使用されていないクラスタである。使用されていないクラスタとは、例えば、有効なデータが書き込まれているクラスタである。また、空きクラスタであるか否かの判定は、使用中のクラスタをチェックするために用意されたOS201の関数を用いて行うことが出来る。また、空きクラスタであるか否かの判定は、ファイルのデータが書き込まれている場所を管理しているFATまたはNTFSを解析することによって行うこともできる。
制御部40は、HDD177を暗号化している期間中に、データを読み出すことができない不良セクタを検出し、その検出した不良セクタのアドレス情報を記憶部48の不良セクタリストに記憶する。
読み出し部41は、OS201等のソフトウェアからの読み込み要求に応じて、HDD117からデータを読み出す。書き込み部42は、OS201等のソフトウェアからの書き込み要求に応じて、HDD117にデータを書き込む。暗号化部43は、読み出し部41によって読み出されたデータを暗号化する。暗号化されたデータは、書き込み部42によってHDD117に書き込まれる。
記録部44は、不良セクタのアドレス情報を記憶部48内の不良セクタリストに記録する。記録部44は、例えば、HDD117内のハードディスク等の不揮発性メモリである。
修復部45は、不良セクタリストに基づき、不良セクタを修復する。また、修復部45は、不良セクタ検出部47によって不良セクタが検出された場合に、検出された不良セクタを修復する処理を即座に実行することもできる。この場合、修復部45は、不良セクタ検出部47によって検出された不良セクタが有効データを保持しない空きクラスタであるか否かを判定する。不良セクタが空きクラスタの一部である場合には、修復部45は、不良セクタを修復するためにダミーデータを不良セクタに書き込む。そして、修復部45は、ダミーデータを不良セクタから読み出す。ダミーデータの読み出しが成功すれば、この不良セクタのアドレス情報は不良セクタリストに記憶されない。
不良セクタリストは、不良セクタ検出部47によって検出された不良セクタのリストである。なお、上述のように、検出された不良セクタに対して修復部45による修復が即座に行われる場合には、この修復によって修復できなかった不良セクタ(修復不可セクタ)のみが不良セクタリストに記憶される。
なお、修復部45は、暗号化中に不良セクタの修復を行ってもよいし、暗号化が完了した後不良セクタの修復を行ってもよい。
また、修復部45は、不良セクタが検出された後、暗号化が完了する前に、不良セクタに対する上述したような書き込み要求または読み出し要求があった場合、その要求に応じて、不良セクタの修復を行ってもよい。
次に、図5のフローチャートを参照して、本実施形態の暗号化制御処理の手順について説明する。
暗号化制御プログラム203は、HDD117の全記憶領域内の全てのセクタそれぞれに対して以下の処理を実行する。
暗号化制御プログラム203は、まず、対象のセクタからデータを読み出す(ステップS50)。次に、暗号化制御プログラム203は、このセクタからデータを読み出すことに成功したか否か、換言すると不良セクタが検出されたか否か、を判定する(ステップS51)。暗号化制御プログラム203は、データを読み出すことに成功した場合(ステップS51のYES)、読み出したデータを暗号化する(ステップS52)。次に、暗号化制御プログラム203は、暗号化したデータを、このセクタに書き込む(ステップS53)。暗号化制御プログラム203は、ステップS51において、データを読み出すことに失敗した場合(ステップS51のNO)、ステップS54に進む。暗号化制御プログラム203は、ステップS54において、不良セクタを修復する処理を行うことができる。
次に、図6のフローチャートを参照して、本実施形態の暗号化制御処理における不良セクタの修復処理の手順について説明する。図6は、図5のステップS54の処理をより詳細に説明した図である。
暗号化制御プログラム203は、不良セクタに対応するクラスタが空きクラスタであるか否かを判定する(ステップS60)。暗号化制御プログラム203は、不良セクタに対応するクラスタが空きクラスタである場合(ステップS60のYES)、不良セクタにダミーデータを書き込む(ステップS61)。次に、暗号化制御プログラム203は、不良セクタからダミーデータを読み出す(ステップS62)。暗号化制御プログラム203は、不良セクタからダミーデータを読み出せたかどうかに応じて、不良セクタの修復に成功したか否かを判定する(ステップS63)。暗号化制御プログラム203は、不良セクタからダミーデータを読み出すことができた場合、不良セクタの修復に成功したと判定する。暗号化制御プログラム203は、不良セクタの修復に成功した場合(ステップS63のYES)、読み出したダミーデータを暗号化する(ステップS64)。暗号化制御プログラム203は、その暗号化したダミーデータを不良セクタに書き込む(ステップS65)。
また、暗号化制御プログラム203は、不良セクタに対応するクラスタが空きクラスタでない場合(ステップS60のNO)、または、不良セクタの修復に失敗した場合(ステップS63のNO)、不良セクタリストに不良セクタのアドレス情報を記録する(ステップS66)。
なお、暗号化制御プログラム203は、不良セクタを検出した場合、図6に示すような不良セクタの修復処理を行うことなく、その不良セクタのアドレス情報を不良セクタリストに記録しても良い。
次に、図7のフローチャートを参照して、不良セクタリストに登録されたセクタに向けられた書き込み要求を受信した際に暗号化制御プログラム203によって実行される処理の手順について説明する。
暗号化制御プログラム203は、HDD117にデータを書き込むための書き込み要求がOS201等からきた場合、図7に示すような処理を開始する。暗号化制御プログラム203は、書き込み要求に含まれるデータを暗号化し、暗号化したデータを、書き込み要求に含まれる論理ブロックアドレスに対応するセクタに書き込む(ステップS70)。次に、暗号化制御プログラム203は、不良セクタリストを参照して、データが書き込まれるセクタが不良セクタリストに記録された不良セクタか否かを判定する(ステップS71)。暗号化制御プログラム203は、データが書き込まれるセクタが不良セクタリストに記録された不良セクタである場合(ステップS71のYES)、その不良セクタに対するデータの書き込みが成功したか否かを判定する(ステップS72)。ステップS72では、不良セクタからデータを読み出し、データを読み出せたか否かに応じて、不良セクタに対するデータの書き込みが成功したか否かを判定してもよい。
暗号化制御プログラム203は、不良セクタに対するデータの書き込みに成功した場合(ステップS72のYES)、データの書き込みに成功した不良セクタのアドレス情報を、不良セクタリストから削除する(ステップS73)。換言すると、暗号化制御プログラム203は、不良セクタに対するデータの書き込みに成功した場合(ステップS72のYES)、この不良セクタを修復対象セクタから除外する(ステップS73)。このように、暗号化したデータが不良セクタリストに登録されている不良セクタに対して書き込まれた場合、この不良セクタに対する暗号化処理が行われたことになるため、この不良セクタを不良セクタリストから除外する。
暗号化制御プログラム203は、データが書き込まれるセクタが不良セクタリストに記録された不良セクタでない場合(ステップS71のNO)、または、その不良セクタに対するデータの書き込みが失敗した場合(ステップS72のNO)、図7に示す暗号化制御処理を終了する。
次に、図8のフローチャートを参照して、不良セクタリストに登録されたセクタに向けられた読み込み要求を受信した際に暗号化制御プログラム203によって実行される処理の手順について説明する。
暗号化制御プログラム203は、HDD117からデータを読み出すための読み込み要求がOS201等からきた場合、図8に示すような処理を開始する。暗号化制御プログラム203は、読み込み要求に応じて、読み出し要求によって指定される論理ブロックアドレスに対応するセクタからデータを読み出す(ステップS81)。暗号化制御プログラム203は、このセクタが不良セクタリストに記録されている不良セクタか否かを判定する(ステップS82)。
暗号化制御プログラム203は、このセクタが不良セクタリストに記録されている不良セクタであると判定した場合(ステップS82のYES)、不良セクタからデータを読み出すことに成功したか否かを判定する(ステップS83)。なお、一般的に、不良セクタに対して再度読み出しを行うことによって、磁気が強まり、不良セクタからデータを読み出すことができる場合がある。
暗号化制御プログラム203は、不良セクタからデータを読み出すことに成功した場合(ステップS83のYES)、この不良セクタから読み出したデータを暗号化する(ステップS84)。暗号化制御プログラム203は、その暗号化したデータをこのされた不良セクタ(修復されたセクタ)に書き込む(ステップS85)。暗号化制御プログラム203は、暗号化したデータが書き込まれたこの不良セクタのアドレス情報を、不良セクタリストから削除する(ステップS86)。換言すると、暗号化制御プログラム203は、暗号化したデータが書き込まれたこの不良セクタを修復対象であるセクタから除外する(ステップS86)。
また、暗号化制御プログラム203は、ステップS81において読み出したデータが暗号化されている場合、この読み出したデータを復号し、換言すると暗号化を解除するための処理を行い、復号したデータをOS201等に送る。
次に、図9を参照して、不良セクタリストの一例について説明する。
不良セクタリスト90は、図9に示すように、不良セクタそれぞれに対応する論理ブロックアドレス(LBA)を不良セクタアドレスとして含んでいる。
不良セクタアドレスは、不良セクタのハードディスク上における位置を示す情報である。不良セクタアドレスは、図9に示すように、例えば「0x00001234」のように記録される。
以上説明したように、本実施形態においては、セクタ単位でデータを記録可能なハードディスクのような記憶装置をセクタ単位で暗号化している期間中にデータを読み出すことができない不良セクタが検出された場合、検出した不良セクタのアドレス情報が記憶される。そのため、このアドレス情報を使用して、後に、この不良セクタを暗号化する処理を行うことが出来る。また、暗号化中に不良セクタが検出された場合に不良セクタに対して修復処理および暗号化処理を行うことによって、不良セクタの暗号化を完了させることもできる。また、不良セクタリストに記録された不良セクタに対して書き込み要求がきた場合、書き込み要求に応じたデータを暗号化して不良セクタに書き込み、書き込みが成功した場合、不良セクタリストから不良セクタを除外することにより、暗号化が必要な不良セクタを減少させることができる。また、不良セクタリストに記録された不良セクタに読み出し要求がきた場合、読み出しが成功すれば、不良セクタの暗号化を行い不良セクタリストから不良セクタを除外することにより、暗号化が必要な不良セクタを減少させることができる。また、暗号化中に不良セクタ(第1のセクタ)を検出した場合、その不良セクタ(第1のセクタ)に対応するクラスタが空きクラスタであれば、その不良セクタ(第1のセクタ)に対してダミーデータの書き込みと再読み出しを行うことによりその不良セクタ(第1のセクタ)を修復することができ、書き込んだダミーデータの読み出しに成功した場合、暗号化を再度行うことによりその不良セクタ(第1のセクタ)の暗号化を完了させることができる。
なお、本実施形態において、HDD117を暗号化する場合について説明したが、所定の単位で暗号化可能なソリッドステートドライブ(SSD)等の不揮発性メモリに対しても上述したような暗号化制御処理を行うことができる。
また、本実施形態で説明した暗号化制御プログラム203の機能は、専用LSI、DSP、またはマイクロコンピュータのようなハードウェアによって実現してもよい。
なお、本実施形態の暗号化制御処理の手順は全てソフトウェアによって実行することができるので、この暗号化制御処理の手順を実行するコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…コンピュータ(電子機器)、43…暗号化部、44…記録部、45…修復部、46…空きクラスタ判定部、117…ハードディスクドライブ(HDD)、203…暗号化制御プログラム。

Claims (13)

  1. 記憶装置と、
    前記記憶装置の複数のセクタを暗号化する暗号化手段とを具備し、
    前記暗号化手段は、前記複数のセクタの暗号化中にデータを読み出すことができない不良セクタが検出された場合、前記不良セクタのアドレス情報を所定の記憶領域に記憶する、電子機器。
  2. 前記暗号化手段は、
    前記電子機器上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた書き込み要求を受けた場合、
    前記書き込み要求に含まれるデータを暗号化し、
    暗号化されたデータを前記第1セクタに書き込み、
    前記第1のセクタへの前記暗号化されたデータの書き込みが成功した場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する請求項1記載の電子機器。
  3. 前記暗号化手段は、
    前記電子機器上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた読み込み要求を受けた場合、
    前記第1セクタからデータを読み出し、
    前記第1セクタからのデータの読み出しが成功した場合、前記読み出したデータを暗号化し、前記暗号化したデータを前記第1のセクタに書き込み、前記第1のセクタへの前記暗号化したデータの書き込みが成功した場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する請求項1記載の電子機器。
  4. 前記暗号化手段は、
    前記複数のセクタの暗号化中に前記不良セクタが検出された場合、
    前記不良セクタが空きクラスタであるか否かを判定し、
    前記不良セクタが空きクラスタである場合、ダミーデータを前記不良セクタに書き込み、
    前記不良セクタから前記ダミーデータデータを読み出し、
    前記不良セクタから前記ダミーデータが読み出せた場合、前記ダミーデータを暗号化し、前記暗号化されたダミーデータを前記不良セクタに書き込み、前記不良セクタのアドレス情報を前記所定の記憶領域に記憶せずに前記暗号化を継続する請求項1記載の電子機器。
  5. 前記暗号化手段は、前記不良セクタから前記ダミーデータが読み出せなかった場合、前記不良セクタのアドレス情報を前記所定の記憶領域に記憶する請求項4記載の電子機器。
  6. 前記不良セクタのアドレス情報は、前記不良セクタに割り当てられた論理ブロックアドレスを含む請求項1記載の電子機器。
  7. 前記記憶装置はハードディスクドライブまたはソリッドステートドライブを含む請求項1記載の電子機器。
  8. 電子機器の記憶装置をセクタ単位で暗号化する暗号化方法であって、
    前記記憶装置の複数のセクタを暗号化し、
    前記複数のセクタの暗号化中にデータを読み出すことができない不良セクタが検出された場合、前記不良セクタのアドレス情報を所定の記憶領域に記憶する暗号化制御方法。
  9. 前記電子機器上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた書き込み要求を受けた場合、
    さらに、前記書き込み要求に含まれるデータを暗号化し、
    暗号化されたデータを前記第1セクタに書き込み、
    前記暗号化されたデータを前記第1セクタに書き込めた場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する請求項8記載の暗号化制御方法。
  10. 前記電子機器上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた読み込み要求を受けた場合、
    さらに、前記第1セクタからデータを読み出し、
    前記第1セクタからデータが読み出せた場合、前記読み出したデータを暗号化し、前記暗号化したデータを前記第1のセクタに書き込み、前記第1のセクタへの前記暗号化したデータの書き込みが成功した場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する請求項8記載の暗号化制御方法。
  11. コンピュータによって実行されるプログラムであって、
    前記コンピュータの記憶装置の複数のセクタを暗号化する手順と、
    前記複数のセクタの暗号化中にデータを読み出すことができない不良セクタが検出された場合、前記不良セクタのアドレス情報を所定の記憶領域に記憶する手順とを前記コンピュータに実行させるためのプログラム。
  12. 前記コンピュータ上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた書き込み要求を受けた場合、
    前記書き込み要求に含まれるデータを暗号化する手順と、
    暗号化されたデータを前記第1セクタに書き込む手順と、
    前記暗号化されたデータを前記第1セクタに書き込めた場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する手順とを前記コンピュータにさらに実行させる請求項11記載のプログラム。
  13. 前記コンピュータ上で実行されるソフトウェアからアドレス情報が前記所定の記憶領域に記憶された第1セクタに向けられた読み込み要求を受けた場合、
    前記第1セクタからデータを読み出す手順と、
    前記第1セクタからデータが読み出せた場合、前記読み出したデータを暗号化し、前記暗号化したデータを前記第1のセクタに書き込み、前記第1のセクタへの前記暗号化したデータの書き込みが成功した場合、前記第1セクタのアドレス情報を前記所定の記憶領域から削除する手順とを前記コンピュータにさらに実行させる請求項11記載のプログラム。
JP2013107261A 2013-05-21 2013-05-21 電子機器および暗号化制御方法 Pending JP2014229329A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013107261A JP2014229329A (ja) 2013-05-21 2013-05-21 電子機器および暗号化制御方法
US14/166,631 US20140351604A1 (en) 2013-05-21 2014-01-28 Electronic device and encryption control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013107261A JP2014229329A (ja) 2013-05-21 2013-05-21 電子機器および暗号化制御方法

Publications (1)

Publication Number Publication Date
JP2014229329A true JP2014229329A (ja) 2014-12-08

Family

ID=51936215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013107261A Pending JP2014229329A (ja) 2013-05-21 2013-05-21 電子機器および暗号化制御方法

Country Status (2)

Country Link
US (1) US20140351604A1 (ja)
JP (1) JP2014229329A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9640217B1 (en) 2015-11-30 2017-05-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for flaw scan with interleaved sectors

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272085B1 (en) * 1997-02-14 2001-08-07 Sony Corporation Data recording/reproducing method and device
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
JP4698840B2 (ja) * 1999-03-15 2011-06-08 ユーキューイー,エルエルシー 蓄積媒体上でコピー保護を提供するための方法及びシステム及び、そのようなシステムで使用される蓄積媒体
KR101284057B1 (ko) * 2009-03-18 2013-08-23 후지쯔 가부시끼가이샤 연산 처리 장치, 데이터 소거 방법, 프로그램, 기억 매체, 및 원격 조작 시스템
US20140082324A1 (en) * 2012-09-14 2014-03-20 Reuven Elhamias Method and Storage Device for Using File System Data to Predict Host Device Operations

Also Published As

Publication number Publication date
US20140351604A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
US8745328B2 (en) Updating error correction codes for data blocks
TWI479359B (zh) 指令執行方法、記憶體控制器與記憶體儲存裝置
US9417967B2 (en) Computing device and method for automatically recovering bios of computing device
US8996933B2 (en) Memory management method, controller, and storage system
US20190050312A1 (en) Method and system for a high-priority read based on an in-place suspend/resume write
US8589669B2 (en) Data protecting method, memory controller and memory storage device
JP6609472B2 (ja) 電子機器、方法およびプログラム
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
US10929251B2 (en) Data loss prevention for integrated memory buffer of a self encrypting drive
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
TW201217968A (en) Data writing method, memory controller and memory storage apparatus
JP2017033500A (ja) 記憶装置およびデータ退避方法
TWI722496B (zh) 使用者資料的加解密方法及裝置
TWI446172B (zh) 記憶體儲存裝置、其記憶體控制器與存取方法
US8886962B2 (en) Systems and methods for disk encryption with two keys
JP6055047B1 (ja) 不揮発性記憶装置の消去システム、不揮発性記憶装置、外部消去装置および方法
US10191533B2 (en) Method of enabling sleep mode, memory control circuit unit and storage apparatus
JP2007122772A (ja) 情報処理装置、データ記憶方法、およびデータ記憶プログラム
KR102180972B1 (ko) 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
JP2014229329A (ja) 電子機器および暗号化制御方法
CN115793980A (zh) 数据存储方法和数据存储的装置
TWI741271B (zh) 資料保護方法以及相關儲存裝置
JP6235211B2 (ja) 方法及び装置
KR20140090416A (ko) 데이터 저장 장치의 동작 방법
TWI407304B (zh) Speed ​​up access to data