Nothing Special   »   [go: up one dir, main page]

JP6789906B2 - データ蓄積装置 - Google Patents

データ蓄積装置 Download PDF

Info

Publication number
JP6789906B2
JP6789906B2 JP2017180715A JP2017180715A JP6789906B2 JP 6789906 B2 JP6789906 B2 JP 6789906B2 JP 2017180715 A JP2017180715 A JP 2017180715A JP 2017180715 A JP2017180715 A JP 2017180715A JP 6789906 B2 JP6789906 B2 JP 6789906B2
Authority
JP
Japan
Prior art keywords
state
mode
command
data storage
storage device
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.)
Expired - Fee Related
Application number
JP2017180715A
Other languages
English (en)
Other versions
JP2019057811A (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.)
Kioxia Corp
Original Assignee
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2017180715A priority Critical patent/JP6789906B2/ja
Priority to TW106143297A priority patent/TWI669609B/zh
Priority to CN201810010082.6A priority patent/CN109522738B/zh
Priority to US15/913,963 priority patent/US10698838B2/en
Publication of JP2019057811A publication Critical patent/JP2019057811A/ja
Application granted granted Critical
Publication of JP6789906B2 publication Critical patent/JP6789906B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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
    • G06F21/602Providing cryptographic facilities or services
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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
    • 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/79Protecting 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 semiconductor storage media, e.g. directly-addressable memories
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

本発明の実施形態は、データ蓄積装置に関する。
近年、データの漏洩防止に対する関心が高まっている。その対策の一つとして、データの暗号化が広く行われている。また、データを暗号化して蓄積する暗号化機能を搭載するデータ蓄積装置を用いることも一般的になりつつある。
特表2010−503090号公報 特表2014−513484号公報 特表2016−535476号公報
Trusted Computing Group, Storage Work Group Storage Security Subsystem Class: Enterprise Specification <URL: https://trustedcomputinggroup.org/storage-work-group-storage-security-subsystem-class-enterprise-specification/> Trusted Computing Group, Storage Work Group Storage Security Subsystem Class: Opal (URL: https://trustedcomputinggroup.org/storage-work-group-storage-security-subsystem-class-opal/>
たとえばSSD(Solid State Drive)やHDD(Hard Disk Drive)などのデータ蓄積装置は、大きく分けて、主に企業向けであるサーバ用として利用される場合と、PC(Personal Computer)用として利用される場合とが想定される。また、データ蓄積装置に搭載される暗号化機能は、現状、サーバ用とPC用とで異なるモジュール(ファームウェア)が実装されている。換言すれば、暗号化機能を搭載するデータ蓄積装置は、サーバ用とPC用とで異なる製品として製造・流通している。
暗号化機能を搭載するデータ蓄積装置が、サーバ用とPC用とで異なる製品として存在することは、供給者側の視点に立つと、2種類の製品を製造することが必要となり、顧客側の視点に立つと、購入や在庫管理を各々行うことが必要となる。
本発明が解決しようとする課題は、サーバ用またはPC用のいずれとしても利用することができる暗号化機能搭載のデータ蓄積装置を提供することである。
実施形態によれば、不揮発性メモリと、コントローラとを具備する。前記コントローラは、暗号化による前記不揮発性メモリ上のデータの保護を、第1の用途向けの第1のモードまたは第2の用途向けの第2のモードのいずれかによって実行する。前記コントローラは、初期設定保存部と、モード設定部とを具備する。前記初期設定保存部は、前記第1のモードまたは前記第2のモードのいずれにも設定されていない初期状態であって、データの保護機能が非稼働の状態である第1の状態を再現するための第1の初期設定と、前記第1のモード下における初期状態であって、データの保護機能が非稼働の状態である第2の状態を再現するための第2の初期設定と、前記第2のモード下における初期状態であって、データの保護機能が非稼働の状態である第3の状態を再現するための第3の初期設定とを保存する。前記モード設定部は、前記第1の状態にある場合において前記第1のモードの設定を要求する第1のコマンドに応じて、前記初期設定保存部が保存する前記第2の初期設定を用いて前記第1の状態から前記第2の状態へ移行する第1の処理を実行し、前記第1の状態にある場合において前記第2のモードの設定を要求する第2のコマンドに応じて、前記初期設定保存部が保存する前記第3の初期設定を用いて前記第1の状態から前記第3の状態へ移行する第2の処理を実行する。
第1実施形態のデータ蓄積装置の構成の一例を示す図。 第1実施形態のデータ蓄積装置が具備するコントローラの機能ブロックの一例を示す図。 第1実施形態のデータ蓄積装置がサーバ用またはPC用のいずれとしても利用することができるようにするために備える仕組みの概要を説明するための図。 第1実施形態のデータ蓄積装置で管理されるPINの種類を示す図。 第1実施形態のデータ蓄積装置の状態移行に関するコマンドおよびその発行権限の一例を示す図。 第1実施形態のデータ蓄積装置が初期イメージを保持するパターンのバリエーションを示す図。 第1実施形態の記憶装置において想定され得る使用事例を説明するための第1の図。 第1実施形態の記憶装置において想定され得る使用事例を説明するための第2の図。 第1実施形態の記憶装置において想定され得る使用事例を説明するための第3の図。 第2実施形態のデータ蓄積装置が具備するコントローラの機能ブロックの一例を示す図。 第2実施形態のデータ蓄積装置の状態移行に関するコマンドおよびその発行権限の一例を示す図。 第2実施形態のデータ蓄積装置における暗号鍵の保持状態の遷移の一例を示す図。 第3実施形態のデータ蓄積装置が具備するコントローラの機能ブロックの一例を示す図。 第3実施形態のデータ蓄積装置がShadow MBRの消去有無を指定できるようにするために備える仕組みの概要を説明するための図。 Shadow MBRの概要を説明するための図。 第4実施形態のデータ蓄積装置が具備するコントローラの機能ブロックの一例を示す図。 第4実施形態のデータ蓄積装置がEnterpriseモード−Opalモード間をダイレクトに遷移することができるようにするために備える仕組みの概要を説明するための図。 第4実施形態のデータ蓄積装置の状態移行に関するコマンドおよびその発行権限の一例を示す図。
以下、実施の形態について図面を参照して説明する。
(第1実施形態)
まず、第1実施形態について説明する。
図1は、本実施形態に係るデータ蓄積装置1の構成の一例を示す図である。このデータ蓄積装置1は、暗号化機能を搭載するストレージであり、たとえばSSDやHDDなどとして実現され得る。図1に示すように、データ蓄積装置1は、コントローラ11と、揮発性メモリ12と、不揮発性メモリ13とを有している。
コントローラ11は、ホスト装置2からreadまたはwriteのコマンドを受け付け、揮発性メモリ12をキャッシュとして使用しながら、ホスト装置2から要求されたデータの不揮発性メモリ13からの読み出し、または、ホスト装置2から転送されるデータの不揮発性メモリ13への書き込みを行う処理回路である。なお、キャッシュは、コントローラ11内に設けられてもよい。つまり、揮発性メモリ12は必須ではない。なお、揮発性メモリ12は、キャッシュとして以外にも、たとえば不揮発性メモリ13からのプログラムのロード先や当該プログラムの作業領域などとして使用され得る。
コントローラ11は、データを不揮発性メモリ13へ書き込む場合、そのデータを暗号鍵によって暗号化し、一方、データを不揮発性メモリ13から読み出す場合、暗号化されているデータを、暗号化に用いた同じ暗号鍵によって復号する。コントローラ11は、この暗号鍵を更新することによって、不揮発性メモリ13上のデータを一括的に無効化することができる。暗号鍵の更新は、たとえば、乱数を発生させ、暗号鍵の値を当該発生させた乱数の値に置き換えることによって実行される。また、コントローラ11は、このような暗号化によるデータの保護を、Enterpriseモード(第1のモード)またはOpalモード(第2のモード)のいずれかによって実行する。Enterpriseモードは、データ蓄積装置1が主に企業向けであるサーバ用として利用される場合に設定されるモードであり、Opalモードは、PC用として利用される場合に設定されるモードである。たとえば、Enterpriseモードは、TCG(Trusted Computing Group) Enterprise規格に準拠して動作するモードであり、また、Opalモードは、TCG Opal規格に準拠して動作するモードである。つまり、本実施形態のデータ蓄積装置1は、サーバ用またはPC用のいずれとしても利用することができるものであり、以下、この点について詳述する。
なお、EnterpriseモードとOpalモードとの間には、たとえば、Opalモードでは起動時の認証機構(Shadow MBR)を構築する機能が必須であるのに対して、Enterpriseモードでは不要であったり、Opalモードでは管理者権限でユーザ領域のUnlockとデータ消去が可能であるのに対して、Enterpriseモードでは管理者権限であってもユーザ領域のUnlockは不可(Eraseのみ可能)であり、データ消去しかできなかったりといった違いが存在する。
揮発性メモリ12は、たとえばDRAM(Dynamic RAM)である。また、不揮発性メモリ13は、たとえばNANDフラッシュメモリやハードディスクである。
データ蓄積装置1とホスト装置2とは、たとえば、TCG SIIS(Storage Interface Interactions Specification)仕様に規定される、SCSIインタフェース、ATAインタフェース、NVM Express(NVMe(登録商標))、e・MMCインタフェースなどによって接続される。図1には、データ蓄積装置1とホスト装置2とが、NVMe(登録商標)インタフェースによって接続されている例を示している。
ホスト装置2は、データ蓄積装置1をストレージとして利用する、データ蓄積装置1に対してreadやwriteを発行する装置であり得るが、ここでは、データ蓄積装置1をEnterpriseモードに設定したり、データ蓄積装置1をOpalモードに設定したり、データ蓄積装置1をEnterpriseモードからOpalモードに切り替えたり、データ蓄積装置1をOpalモードからEnterpriseモードに切り替えたりするためのモード設定・モード切替用の装置であることを想定する。
図2は、コントローラ11の機能ブロックの一例を示す図である。
図2に示すように、コントローラ11は、インタフェース処理部111、コマンド処理部112、認可処理部113、設定管理部114および初期設定保存部115を有している。また、コントローラ11は、状態管理部116、モード設定部117、処理反映部118、初期化処理部119および鍵管理部120を有している。さらに、コントローラ11は、暗号処理部121およびread/write処理部122を有している。
図1に示した不揮発性メモリ13の所定の領域には、コントローラ11に様々な手順を実行させるためのプログラムが格納されている。このプログラムは、たとえばデータ蓄積装置1の起動時などに、コントローラ11が具備するプロセッサによって、その一部または全部が、図1に示した揮発性メモリ12(コントローラ11内に設けられる、キャッシュとしても用いられる揮発性メモリであってもよい。)にロードされる。コントローラ11のプロセッサは、揮発性メモリ12上のプログラムを実行する。このプログラムの記述によって、図2に示される各処理部を含む様々な処理部をコントローラ11内に構築することができる。
ここで、コントローラ11の各処理部の理解を助けるために、図3を参照して、本実施形態のデータ蓄積装置1が、サーバ用またはPC用のいずれとしても利用することができるようにするために備える仕組みの概要について説明する。
本実施形態のデータ蓄積装置1は、第1に、データ蓄積装置1が取り得る状態、換言すれば、データ蓄積装置1が管理し得る状態として、符号S1で示されるNeutral Original Factory State (Neutral OFS:第1の状態)と、符号S2で示されるEnterprise Original Factory State (Enterprise OFS:第2の状態)とを追加する。
Neutral OFSは、EnterpriseモードまたはOpalモードのいずれにも設定されていない非稼働(Inactive)の状態であって、たとえば出荷時の初期状態である。Enterprise OFSは、Enterpriseモードにおける初期状態である。
符号S3で示されるOpal Original Factory State (Opal OFS:第3の状態)と、符号S5で示されるOpal Active (第5の状態)とは、たとえば、TCG Opal規格において定義されている、データ蓄積装置1が取り得る既存の状態、換言すれば、データ蓄積装置1が管理し得る既存の状態である。Opal OFSは、Opalモードにおける初期状態(出荷状態)であり、Opal Activeは、Opalモードで稼働中の状態である。また、符号4で示されるEnterprise Active(第4の状態)は、Enterpriseモードで稼働中の状態である。従来、データ蓄積装置1は、サーバ用またはPC用のいずれか向けの製品として製造され、サーバ用の製品は、顧客の要望に沿った設定がなされたEnterprise Activeの状態で出荷され、PC用の製品は、顧客が設定を行うOpal OFSの状態で出荷される。つまり、従来、データ蓄積装置1は、PC用の製品として製造・出荷される場合において、Opal OFSの状態に復帰(Opal OFSの状態を再現)するための初期イメージ(初期設定)のみを保持する。これに対して、Neutral OFSとEnterprise OFSとを追加する本実施形態のデータ蓄積装置1は、Neutral OFS用の初期イメージと、Enterprise OFS用の初期イメージと、Opal OFS用の初期イメージとの複数の初期イメージを保持する。ここで、初期イメージとは、たとえば、所定の初期設定が適用されたファーム(プログラム)イメージである。あるいは、初期イメージは、所定の初期設定を格納する設定ファイルなどであってもよい。
なお、Enterprise OFSおよびOpal OFSの初期イメージは、generic(標準仕様)とcustomized(特別仕様)とが、たとえば排他選択的に存在し得る。genericは、製造・販売元が定める初期設定が適用され、一方、customizedは、顧客の要望に沿った初期設定が適用される。たとえば、Enterprise OFSについてはユーザ数を(generic時における数から)増減させたり、Opal OFSについては管理者PIN(Personal Identification Number)の初期値を(たとえばgenericではマニュアルなどに記載の値であるものを)その時の所有者PINの値にしたりといった変更が施される。また、Enterprise OFSとOpal OFSとのそれぞれについて、genericとcustomizedとの双方の初期イメージを保持し、いずれか一方を選択して使用できるようにしてもよい。
また、本実施形態のデータ蓄積装置1は、第2に、Neutral OFSの状態においてEnterpriseモードを設定し、Enterprise OFSの状態へ移行させるコマンド(Enterprise mode:第1のコマンド[b1])と、Neutral OFSの状態においてOpalモードを設定し、Opal OFSの状態へ移行させるコマンド(Opal mode:第2のコマンド[b2])と、Enterprise Activeの状態またはOpal Activeの状態からNeutral OFSの状態に移行させるコマンド(Neutral Revert:第7のコマンド[b3])とを新設する。さらには、本実施形態のデータ蓄積装置1は、Enterprise OFSの状態からEnterprise Activeの状態に移行させるコマンド(Activate(Enterprise):第3のコマンド[b11])と、Enterprise Activeの状態からEnterprise OFSの状態に移行させるコマンド(Revert(Enterprise):第5のコマンド[b12])とについても新設する。
なお、Activate(Enterprise)およびRevert(Enterprise)は、後述する既存のActivateおよびRevertと共通化してもよい。より詳しくは、Enterprise OFSの状態においてActivateが発行されたならば、Activate(Enterprise)と解釈し、Opal OFSの状態においてActivateが発行されたならば、既存のActivateと解釈し、また、Enterprise Activeの状態においてRevertが発行されたならば、Revert(Enterprise) と解釈し、Opal Activeの状態においてRevertが発行されたならば、既存のRevertと解釈するようにしてもよい。
また、たとえばEnterprise mode (w/param)の(w/param)は、Enterprise modeがパラメータ付きで発行され得ることを示している(with parameter)。たとえばEnterprise OFSの初期イメージとしてgenericとcustomizedとの双方が保持されている場合、パラメータによって、それらのうちのいずれを選択して使用するのかを指定することができるようにしてもよい。
さらに、本実施形態のデータ蓄積装置1は、Enterprise mode、Opal modeおよびNeutral Revertを発行するための専用の権限(Authority)を定義する。権限の種類については後述するが、Enterprise modeにおいては、管理者PIN(Admin PIN)およびユーザPIN(User PIN)に加えて、専用PINを定義し、Opal modeにおいては、所有者PIN(SID PIN)、管理者PIN(Admin PIN)およびユーザPIN(User PIN)に加えて、専用PINを定義する。Activate(Enterprise)およびRevert(Enterprise)を発行する権限は、管理者PINに与えられる。専用PINは、変更不可とすること、または、一定の条件下においてのみ変更可能とすることが好ましい。
Opal OFSの状態からOpal Activeの状態に移行させるコマンド(Active:第4のコマンド[b13])と、Opal Activeの状態からOpal OFSの状態に移行させるコマンド(Revert:第6のコマンド[b14])は、たとえば、TCG Opal規格において定義されている既存のコマンドであり、その発行権限は、所有者PINに与えられる。
Revert(Enterprise)によってEnterprise OFSの状態に移行する場合と、RevertによってOpal OFSの状態に移行する場合と、Neutral RevertによってNeutral OFSの状態に移行する場合とのいずれの場合も、暗号鍵の更新によるデータの無効化が行われ、また、その時の状態(Enterpriseモード下またはOpalモード下)において管理されるPINの初期化が行われる。
つまり、本実施形態のデータ蓄積装置1は、出荷時の状態(Neutral OFSの状態)においてEnterpriseモードを設定することによってサーバ用として利用し得るし、出荷時の状態(Neutral OFSの状態)においてOpalモードを設定することによってPC用として利用し得る。さらに、本実施形態のデータ蓄積装置1は、サーバ用として利用していたものを、出荷時の状態(Neutral OFSの状態)に戻して、PC用に転用し得るし、PC用として利用していたものを、出荷時の状態(Neutral OFSの状態)に戻して、サーバ用に転用し得る。また、専用の権限を定義することで、その権限者以外によるモード切り替えを制限することができる。
以上を踏まえて、図2に戻り、コントローラ11の各処理部について説明する。
インタフェース処理部111は、ホスト装置2との間でたとえばNVMe(登録商標)規格に準拠したプロトコルによって通信する。より詳しくは、インタフェース処理部111は、ホスト装置2から発行されるコマンドを受信してコマンド処理部112へ引き渡すとともに、そのコマンドに対応する処理の結果をコマンド処理部112から受け取ってホスト装置2へ送信する。
コマンド処理部112は、まず、インタフェース処理部111から受け取ったコマンドを認可処理部113に転送する。認可処理部113は、ホスト装置2の操作者が、そのコマンドを発行する権限を有するか否かを判定し、その結果をコマンド処理部112に通知する。コマンド処理部112は、権限を有するとの通知を認可処理部113から受けた場合、インタフェース処理部111から受け取ったコマンドを、そのコマンドに対応する処理を実行する処理部に転送する。
認可処理部113は、コマンドの発行権限の有無を、そのコマンドを発行する権限が与えられたPINで認証が成功しているかによって判定する。PINによる認証は、設定管理部114の認証処理部114Bによって実行される。設定管理部114は、PIN管理部114Aを有している。認証処理部114Bは、PIN管理部114Aが管理するPINに基づき、認証を実行する。図4に、PIN管理部114Aが管理するPINの種類を示す。
図4に示すように、PIN管理部114Aは、Enterpriseモードの場合、管理者PIN、専用PINおよびユーザPINを管理する。専用PINは、前述した、Neutral Revertを発行する権限が与えられた新たに定義されるPINである。また、PIN管理部114Aは、Opalモードの場合、所有者PIN、管理者PIN、専用PINおよびユーザPINを管理する。この専用PINも、前述した、Neutral Revertを発行する権限が与えられた新たに定義されるPINである。また、PIN管理部114Aは、EnterpriseモードまたはOpalモードのいずれにも設定されていない場合、つまり、Neutral OFSの状態にある場合、少なくとも専用PINを管理する。この専用PINは、前述した、Enterprise mode、Opal modeおよびNeutral Revertを発行する権限が与えられた新たに定義されるPINである。つまり、本実施形態のデータ蓄積装置1におけるPIN管理部114Aは、専用PINをさらに管理するように機能追加されている。
専用PIN以外のPINは、ホスト装置2からコマンドを発行することによって変更することができる。このコマンドも、インタフェース処理部111およびコマンド処理部112経由で認可処理部113に転送され、その発行権限の有無が判定される。権限を有する場合、そのコマンドは設定管理部114に転送され、PIN管理部114Aが管理するPINの変更が実行される。専用PINの値は、たとえば、データ蓄積装置1の製造・販売元から顧客側の特定者のみに通知され、または、データ蓄積装置1の製造・販売元において管理される。また、専用PINについても、たとえばNeutral OFSの状態にある場合においてのみ変更することができるようにしてもよい。
また、PINによる認証も、ホスト装置2からのコマンドの発行に起因して実行されるものであって、そのコマンドが、インタフェース処理部111およびコマンド処理部112経由で認可処理部113に転送され、さらに、認可処理部113から設定管理部114に転送されて、認証処理部114Bによって、PIN管理部114Aが管理するPINに基づく認証が実行される。認証処理部114Bは、たとえば、ホスト装置2の操作者にPINの入力を促し、入力されたPINとPIN管理部114Aが管理するPINとを比較して、ホスト装置2の操作者を認証する。
図5に、本実施形態のデータ蓄積装置1の状態移行に関するコマンドおよびその発行権限の一例を示す。
図5中、(A)は、EnterpriseモードまたはOpalモードのいずれにも設定されていないNeutral OFSの状態において発行されるコマンドを示し、(B)は、Enterpriseモード下において発行されるコマンドを示し、(C)は、Opalモード下において発行されるコマンドを示している。
また、図5中の符号b1〜b3,b11〜14は、図5中の符号b1〜b3,b11〜14と対応している。前述したように、Enterprise mode(b1)、Opal mode(b2)、Neutral Revert(b3)、Revert(Enterprise)(b12)およびActivate(Enterprise)(b11)は、新設のコマンドであって、Enterprise mode(b1)、Opal mode(b2)およびNeutral Revert(b3)を発行する権限は、専用PINに与えられ、Revert(Enterprise)(b12)およびActivate(Enterprise)(b11)を発行する権限は、管理者PINに与えられる。また、Revert(B14)およびActivate(B13)は、たとえば、TCG Opal規格において定義されている既存のコマンドであって、それらを発行する権限は、所有者PINに与えられる。たとえばEnterprise mode(b1)の発行時、認可処理部113は、専用PINで認証が成功している場合に限り、当該Enterprise modeの実行について許可と判定する。
初期設定保存部115は、Neutral OFSイメージ151と、Enterprise OFSイメージ152と、Opal OFSイメージ153とを保持する。Neutral OFSイメージ151は、Neutral Revertの発行によってNeutral OFSの状態に移行(Neutral OFSの状態を再現)するための前述したNeutral OFS用の初期イメージである。Enterprise OFSイメージ152は、Enterprise modeまたはRevert(enterprise) の発行によってEnterprise OFSの状態に移行(Enterprise OFSの状態を再現)するための前述したEnterprise OFS用の初期イメージである。Opal OFSイメージ153は、Opal modeまたはRevertの発行によってOpal OFSの状態に移行(Opal OFSの状態を再現)するための前述したOpal OFS用の初期イメージである。つまり、本実施形態のデータ蓄積装置1における初期設定保存部115は、Enterprise OFSとOpal OFSとの両方の初期イメージを保存する。
なお、前述したように、Enterprise OFSおよびOpal OFSの初期イメージは、genericとcustomizedとが排他選択的に存在し得るし、または、それらの両方が存在し、それらを排他選択的に使用し得る。図2に示したEnterprise OFSイメージ152およびOpal OFSイメージ153は、genericの初期イメージである。したがって、初期設定保存部115によって保持される初期イメージは、Neutral OFSイメージ151と、Enterprise OFSイメージ152と、Opal OFSイメージ153とに限られない。たとえば、図6に示すように、(A)Neutral OFSイメージ151と、Enterprise OFSのcustomizedの初期イメージであるEnterprise OFS(customized)イメージ152−2と、Opal OFSイメージ153とを保持する、(B)Neutral OFSイメージ151と、Enterprise OFSイメージ152と、Opal OFSのcustomizedの初期イメージであるOpal OFS(customized)イメージ153−2とを保持する、(C)Neutral OFSイメージ151と、Enterprise OFS(customized)イメージ152−2と、Opal OFS(customized)イメージ153−2とを保持する、(D)Neutral OFSイメージ151と、Enterprise OFSイメージ152と、Enterprise OFS(customized)イメージ152−2と、Opal OFSイメージ153と、Opal OFS(customized)イメージ153−2とを保持する、なども考えられる。
状態管理部116は、データ蓄積装置1が、Neutral OFS、Enterprise OFS、Opal OFS、Enterprise ActiveまたはOpal Activeのいずれの状態にあるのかを管理する。つまり、本実施形態のデータ蓄積装置1における状態管理部116は、Neutral OFSの状態とEnterprise OFSの状態とをさらに管理するように機能追加されている。
モード設定部117は、Enterprise modeまたはOpal modeが発行された場合であって、認可処理部113によってその実行について許可と判断された場合に、コマンド処理部112から転送されてくる当該Enterprise modeまたはOpal modeに対応する処理を実行する。より詳しくは、データ蓄積装置1を、Neutral OFSの状態からEnterprise OFSの状態に移行させる処理(第1の処理)またはNeutral OFSの状態からOpal OFSの状態に移行させる処理(第2の処理)を実行する。認可処理部113は、状態管理部116によって管理される状態がNeutral OFSの状態ではない場合、エラーをコマンド処理部112に通知する。モード設定部117は、Neutral OFSの状態からEnterprise OFSの状態またはOpal OFSの状態への移行を完了させた場合、その状態遷移を状態管理部116に通知するとともに、処理完了をコマンド処理部112に通知する。このモード設定部117は、本実施形態のデータ蓄積装置1固有の処理部である。
処理反映部118は、Activate(Enterprise)またはActivateが発行された場合であって、認可処理部113によってその実行について許可と判断された場合に、コマンド処理部112から転送されてくる当該Activate(Enterprise) またはActivateに対応する処理を実行する。より詳しくは、データ蓄積装置1を、Enterprise OFSの状態からEnterprise Activeの状態に移行させる処理(第3の処理)またはOpal OFSの状態からOpal Activeの状態に移行させる処理(第4の処理)を実行する。認可処理部113は、状態管理部116によって管理される状態がEnterprise OFSの状態ではない場合(Activate(Enterprise)発行時)またはOpal OFSの状態ではない場合(Activate発行時)、エラーをコマンド処理部112に通知する。モード設定部117は、Enterprise OFSの状態からEnterprise Activeの状態への移行またはOpal OFSの状態からOFS Activeの状態への移行を完了させた場合、その状態遷移を状態管理部116に通知するとともに、処理完了をコマンド処理部112に通知する。つまり、本実施形態のデータ蓄積装置1における処理反映部118は、Activate(Enterprise)に応じて、Enterprise OFSの状態からEnterprise Activeの状態に移行させる処理を実行するように機能追加されている。
初期化処理部119は、Revert(Enterprise)、RevertまたはNeutral Revertが発行された場合であって、認可処理部113によってその実行について許可と判断された場合に、コマンド処理部112から転送されてくる当該Revert(Enterprise)、RevertまたはNeutral Revertに対応する処理を実行する。より詳しくは、初期設定保存部115に保持される初期イメージを用いて、データ蓄積装置1を、Enterprise Activeの状態からEnterprise OFSの状態に移行させる処理(第5の処理)、Opal Activeの状態からOpal OFSの状態に移行させる処理(第6の処理)またはEnterprise Activeの状態もしくはOpal Activeの状態からNeutral OFSの状態に移行させる処理(第7の処理)を実行する。認可処理部113は、状態管理部116によって管理される状態がEnterprise Activeの状態ではない場合(Revert(Enterprise)発行時)またはOpal Activeの状態ではない場合(Revert発行時)、エラーをコマンド処理部112に通知する(Neutral Revert発行時は、Enterprise ActiveまたはOpal Activeのいずれの状態でもない場合)。モード設定部117は、Enterprise Activeの状態からEnterprise OFSもしくはNeutral OFSの状態への移行またはOpal Activeの状態からOpal OFSもしくはNeutral OFSの状態への移行を完了させた場合、その状態遷移を状態管理部116に通知するとともに、処理完了をコマンド処理部112に通知する。つまり、本実施形態のデータ蓄積装置1における初期化処理部119は、Neutral Revertに応じて、データ蓄積装置1を、Enterprise ActiveまたはOpal Activeの状態からNeutral OFSの状態に移行させる処理を実行するように機能追加されている。また、本実施形態のデータ蓄積装置1における初期化処理部119は、Revert(Enterprise)に応じて、データ蓄積装置1を、Enterprise Activeの状態からEnterprise OFSの状態に移行させる処理も実行するように機能追加されている。
また、初期化処理部119は、データ蓄積装置1を、Neutral OFS、Enterprise OFSまたはOpal OFSの状態に移行させる場合、不揮発性メモリ13上のデータを無効化するために、暗号鍵を管理する鍵管理部120に対して、暗号鍵の更新を指示する。暗号鍵が更新されると、不揮発性メモリ13上に蓄積されている暗号化されたデータを正しく復号することができなくなるので、データが一括的に無効化されることになる。なお、この更新後は、更新後の暗号鍵を使って、データの暗号化と、暗号化されたデータの復号とが行われることになる。つまり、暗号鍵の更新は、データ蓄積装置1を使用できないようにするものではない。
暗号処理部121は、鍵管理部120によって管理される暗号鍵を使って、不揮発性メモリ13に書き込まれるデータを暗号化し、または、不揮発性メモリ13から読み出された暗号化されているデータを復号する処理を実行する。そして、read/write処理部122は、不揮発性メモリ13からデータを読み出し、または、不揮発性メモリ13にデータを書き込む処理を実行する。
次に、図7乃至図9を参照して、以上のような構成を有する本実施形態のデータ蓄積装置1において想定され得る使用事例について説明する。
ここでは、たとえば、サーバやPCを販売する企業(サーバベンダ)が、データ蓄積装置1の製造・販売元(サプライヤ)からデータ蓄積装置1を購入し、販売品であるサーバやPCに適用する場合を想定する。
図7中、サーバ3は、サーバベンダが販売するコンピュータであり、たとえばその筐体内に多数のデータ蓄積装置1が収容される。なお、クライアント機器4は、たとえばサーバベンダからサーバ3を購入して使用する企業の社員など(エンドユーザ)が使用するコンピュータである。ネットワークNは、サーバ3とクライアント機器4とを繋ぐたとえばインターネットなどのネットワークである。
また、図7中、ストレージ設定用機器2−1は、たとえばデータ蓄積装置1の在庫管理者が使用するコンピュータであり、サーバ管理者機器2−2は、たとえばサーバ3の運用管理者が使用するコンピュータであり、PC2−3は、サーバベンダが販売するたとえばノートPCなどのコンピュータである。ストレージ設定用機器2−1は、(専用PINにて認証が成功しているという条件下で)図1および図2に示されるホスト装置2としてEnterprise mode、Opal mode、Neutral Revertを発行し得る。サーバ管理者機器2−2は、(管理者PINにて認証が成功しているという条件下で)図1および図2に示されるホスト装置2としてActivate(Enterprise)、Revert(Enterprise)を発行し得る。PC2−3は、(所有者PINにて認証が成功しているという条件下で)図1および図2に示されるホスト装置2としてActivate、Revertを発行し得る。
サーバベンダは、サーバ3用およびPC2−3用としてサプライヤからデータ蓄積装置1を購入して適用する場合、従来、たとえば、サーバ3用のデータ蓄積装置1をいくつ購入して、PC2−3用のデータ蓄積装置1をいくつ購入するかや、サーバ3用のデータ蓄積装置1はいくつ在庫が存在して、PC2−3用のデータ蓄積装置1はいくつ在庫が存在するかなど、購入や在庫管理をサーバ3用とPC2−3用とで各々行うことが必要であった。これに対して、本実施形態のデータ蓄積装置1は、サーバ3用またはPC2−3用のいずれとしても利用することができるので、サーバベンダは、サーバ3用なのかPC2−3用なのかを区別する必要なく、サプライヤからデータ蓄積装置1を一括して購入することができる。一方、サプライヤは、サーバ用とPC用との2種類の製品(2種類のデータ蓄積装置1)を製造することが不要となる。
データ蓄積装置1は、Neutral OFSの状態でサプライヤから出荷される。また、サプライヤからは、出荷されたデータ蓄積装置1の専用PINの値が購入者(たとえばサーバベンダの在庫管理者)に通知される。在庫管理者は、この専用PINを使って、ストレージ設定用機器2−1により、サーバ3に適用するデータ蓄積装置1については、Enterprise modeを発行して、Enterpriseモードに設定することで、Enterprise OFSの状態に移行させ(a1)、PC2−3に適用するデータ蓄積装置1については、Opal modeを発行して、Opalモードに設定することで、Opal OFSの状態に移行させる(a2)。
Enterprise OFSの状態でサーバ3に収容されたデータ蓄積装置1は、(管理者PINにて認証が成功している)サーバ管理者機器2−2からActive(Enterprise)の発行を受けて、Enterprise Activeの状態に移行する。または、(管理者PINで認証が成功している)ストレージ設定用機器2−1でデータ蓄積装置1をEnterprise Activeの状態に移行させて、Enterprise Activeの状態のデータ蓄積装置1をサーバ3に収容するようにしてもよい。(管理者PINにて認証が成功している)サーバ管理者機器2−2からは、Revert(Enterprise)を発行することが可能であり、Enterprise OFSの状態に移行させることができる。
同様に、Opal OFSの状態でPC2−3に収容されたデータ蓄積装置1は、(所有者PINにて認証が成功している)PC2−3からActiveの発行を受けて、Activeの状態に移行する。(所有者PINにて認証が成功している)PC2−3からは、Revertを発行することが可能であり、Opal OFSの状態に移行させることができる。
また、本実施形態のデータ蓄積装置1は、たとえば、サーバ3用からPC2−3用に流用することなどが可能である(a3)。逆に、PC2−3用からサーバ3用への流用も可能である(a4)。換言すれば、Enterpriseモード−Opalモード間でのモード切り替えが可能である。サーバ3用からPC2−3用に流用されるデータ蓄積装置1は、Enterprise Activeの状態でサーバ3から取り外され、(専用PINにて認証が成功している)ストレージ設定用機器2−1からNeutral Revertの発行を受け、Neutral OFSの状態に移行する。Neutral OFSの状態は、出荷時の状態なので、前述の手順で、Opal OFSの状態に移行した後、PC2−3に収容される。
PC2−3用からサーバ3用に流用されるデータ蓄積装置1も、Opal Activeの状態でPC2−3から取り外され、(専用PINにて認証が成功している)ストレージ設定用機器2−1からNeutral Revertの発行を受け、Neutral OFSの状態に移行する。Neutral OFSの状態に移行した後は、前述の手順で、Enterprise OFSまたはEnterprise Activeの状態に移行した後、サーバ3に収容される。
なお、サプライヤから出荷されるデータ蓄積装置1の状態は、必ずしもNeutral OFSの状態としなくともよい。たとえば、サーバ用とPC用とで個別にサーバベンダからの発注を受け、Enterprise OFSまたはEnterprise Activeの状態のデータ蓄積装置1と、Opal OFSの状態のデータ蓄積装置1とを納品するようにしてもよい。たとえばサーバ用のデータ蓄積装置1をPC用に流用したいという事情がサーバベンダ側に生じた場合、図8に示すように、そのデータ蓄積装置1をサーバベンダから回収し、サプライヤが、(専用PINにて認証が成功している)ストレージ設定用機器2−1によって、EnterpriseモードからOpalモードへの切り替えを行った上で、サーバベンダに返却するようにしてもよい。この場合、専用PINの値をサーバベンダに通知することは不要である。PC用のデータ蓄積装置1をサーバ用に流用したいという事情がサーバベンダ側に生じた場合も同様である。専用PINの値をサーバベンダに通知することが不要となると、サプライヤにおいては、たとえばサーバベンダごとに専用PINの値を分けて管理するといったことを行う必要がなくなり、管理すべき専用PINの数を大幅に削減することができる。
また、たとえば図9に示すように、サプライヤ側のストレージ設定用機器2−1−1とサーバベンダ側のストレージ設定用機器2−1−2とをネットワークN2で接続し、サーバベンダ側のストレージ設定用機器2−1−2に収容されたデータ蓄積装置1へサプライヤ側のストレージ設定用機器2−1−1からリモートでアクセスできるようにして、サプライヤ側のストレージ設定用機器2−1−1から(サーバベンダ側のストレージ設定用機器2−1−2経由で)データ蓄積装置1へ直接的に専用PINを送信できるようにしてもよい。この場合も、たとえば、サーバ用のデータ蓄積装置1をPC用に流用したいという事情がサーバベンダ側に生じた場合において、専用PINの値をサーバベンダに通知することを不要とすることができる。
つまり、データ蓄積装置1のモード設定やモード切り替えについて、サーバベンダ側において実行可能とすることは必須ではない。この場合も、サプライヤにおいては、サーバ用とPC用との2種類の製品を製造することが不要となるという効果がある。
このように、本実施形態のデータ蓄積装置1は、サーバ用またはPC用のいずれとしても利用することができる。
(第2実施形態)
次に、第2実施形態について説明する。第1実施形態と同一の構成要素については、同一の符号を使用し、重複する説明は省略する。
図10は、本実施形態に係るデータ蓄積装置1が具備するコントローラ11の機能ブロックの一例を示す図である。
図10に示すように、本実施形態のデータ蓄積装置1は、コントローラ11の初期化処理部119が、鍵更新選択部119Aを具備する。
鍵更新選択部119Aは、Enterprise Activeの状態からEnterprise OFSの状態またはOpal Activeの状態からOpal OFSの状態に移行する場合において、データを無効化しない、つまり、暗号鍵の更新を行わないオプションを提供するために設けられる処理部である。そのために、本実施形態のデータ蓄積装置1においては、たとえば、図11に示すように、Enterprise OFSの状態に移行するためのコマンドとして、RevertSP(Enterprise)(b12−2)を新設するとともに、Opal OFSの状態に移行するためのコマンドとして、RevertSP(b14−2)を新設する。図5と同様、図11中、(A)は、EnterpriseモードまたはOpalモードのいずれにも設定されていないNeutral OFSの状態において発行されるコマンドを示し、(B)は、Enterpriseモード下において発行されるコマンドを示し、(C)は、Opalモード下において発行されるコマンドを示している。RevertSP(Enterprise)またはRevertSPが発行された場合、鍵更新選択部119Aは、暗号鍵の更新を行わないと判断する。なお、Activate(Enterprise)およびRevert(Enterprise)と同様、RevertSP(Enterprise)は、RevertSPと共通化してもよい。つまり、Enterprise ActiveまたはOpal Activeのいずれの状態にあるかによって、RevertSP(Enterprise)またはRevertSPのいずれであるのかを判断してもよい。また、RevertSP(Enterprise)およびRevertSPを新設することに代えて、Revert(Enterprise)またはRevertにパラメータを付すことで、暗号鍵の更新を行うか否かを指定することができるようにしてもよい(w/param)。
初期化処理部119は、鍵更新選択部119Aによって暗号鍵の更新を行うと判断された場合、鍵管理部120に対して、暗号鍵の更新を指示し、一方、鍵更新選択部119Aによって暗号鍵の更新を行わないと判断された場合、鍵管理部120に対する暗号鍵の更新の指示は行わない。
RevertSP(Enterprise)およびRevertSPを新設することによって、本実施形態のデータ蓄積装置1においては、Enterpriseモード下において使用される暗号鍵と、Opalモード下において使用される暗号鍵との両方が、鍵管理部120によって管理され得る。つまり、本実施形態のデータ蓄積装置1における鍵管理部120は、2つの鍵を管理するように機能追加されている。初期化処理部119は、暗号鍵の更新を鍵管理部120に指示する場合、それらのうちのいずれを更新するのかを指示する。より詳しくは、初期化処理部119は、RevertSP(Enterprise)が発行された場合であって、状態管理部116によって管理される状態がEnterprise Activeである場合、Enterpriseモード下において使用される暗号鍵の更新を鍵管理部120に指示し、RevertSPが発行された場合であって、状態管理部116によって管理される状態がOpal Activeである場合、Opalモード下において使用される暗号鍵の更新を鍵管理部120に指示する。
図12に、暗号鍵の保持状態の遷移の一例を示す。
図12中、Act-Oは、Activateを表し、Act-Eは、Activate(Enterprise)を表している。また、Rvtは、Revert(Enterprise)またはRevertを表し、RvSPは、RevertSP(Enterprise)またはRevertSPを表している。さらに、No keyは、Opalモード下において使用される暗号鍵およびEnterpriseモード下において使用される暗号鍵のいずれもが保持されていない状態を表し、Opal keyは、Opalモード下において使用される暗号鍵のみが保持されている状態を表し、Ent keyは、Enterpriseモード下において使用される暗号鍵のみが保持されている状態を表し、Both keysは、Opalモード下において使用される暗号鍵およびEnterpriseモード下において使用される暗号鍵の両方が保持されている状態を表している。
図12に示すように、Enterpriseモード下において使用される暗号鍵が保持されていない状態で、Activate(Enterprise)が発行されると、Enterpriseモード下において使用される暗号鍵が生成されて保持される。同様に、Opalモード下において使用される暗号鍵が保持されていない状態で、Activateが発行されると、Opalモード下において使用される暗号鍵が生成されて保持される。Enterpriseモード下において使用される暗号鍵が保持されている状態で、Activate(Enterprise)が発行された場合は、当該保持されている暗号鍵が継続して保持(使用)される。同様に、Opalモード下において使用される暗号鍵が保持されている状態で、Activateが発行された場合は、当該保持されている暗号鍵が継続して保持(使用)生成されて保持される。
また、図12に示すように、RevertSP(Enterprise)またはRevertSPが発行された場合、暗号鍵の更新は行われずに、その時点で保持されている暗号鍵は継続して保持されることとなり、Revert(Enterprise)が発行された場合、Enterpriseモード下において使用される暗号鍵のみの更新が行われて、Opalモード下において使用される暗号鍵が保持されているならば、その暗号鍵は継続して保持されることとなり、Revertが発行された場合、Opalモード下において使用される暗号鍵のみの更新が行われて、Enterpriseモード下において使用される暗号鍵が保持されているならば、その暗号鍵は継続して保持されることとなる。
このオプションの提供によって、本実施形態のデータ蓄積装置1においては、初期化後(Enterprise OFSまたはOpal OFSの状態への移行後)におけるデータアクセスを許可するという運用も可能となる。
たとえば、あるデータ蓄積装置1がOpalモード→Enterpriseモード→Opalモードと使用された場合を想定する。また、このデータ蓄積装置1は、不揮発性メモリ13が複数のパーティションに分けられ、Opalモードの場合とEnterpriseモードの場合とで異なるパーティションが用いられるものと想定する。このような場合、たとえば、Opal用の暗号鍵を更新しないようにモードの切り替えを行えば、1回目のOpalモード時に不揮発性メモリ13に蓄積されたデータを(Enterpriseモードを経由した後の)2回目のOpalモード時に利用することが可能となる。
(第3実施形態)
次に、第3実施形態について説明する。第1実施形態または第2実施形態と同一の構成要素については、同一の符号を使用し、重複する説明は省略する。
図13は、本実施形態に係るデータ蓄積装置1が具備するコントローラ11の機能ブロックの一例を示す図である。
図13に示すように、本実施形態のデータ蓄積装置1は、コントローラ11の初期化処理部119が、Shadow MBR更新選択部119Bを具備する。
前述したように、Opalモードでは、Shadow MBRを構築する機能が必須である。このShadow MBRは、Opal OFSの状態への復帰時に消去される。この点に関して、Shadow MBR更新選択部119Bは、Opal OFSの状態への復帰時にShadow MBRを消去しないオプションを提供する。ここで、Shadow MBRの消去とは、Shadow MBRを初期化(ゼロ化)すること、より詳しくは、プリブート認証を実行するプログラムを稼働させるべくShadow MBRに記憶されている情報を消去することである。
たとえば、図14に示すように、Opal Activeの状態からOpal OFSの状態に移行させるコマンドであるRevertにパラメータを付すことができるようにし、このパラメータによって、Shadow MBRを消去するか否かを指定できるようにしてもよい(b14´)。または、Revertとは別のコマンドを新設し、それらを使い分けることによって、Shadow MBRを消去するか否かを指定できるようにしてもよい.
Shadow MBRを消去しない場合の初期化処理部119の手順として、たとえば、Shadow MBRを退避してから、初期設定保存部115に保存されるOpal OFSイメージ153で初期化した後、待避しておいたShadow MBRを戻すことなどが考えられる。
ここで、図15を参照して、Shadow MBRの概要について説明する。
Shadow MBR52は、プリブート認証などと称される認証を行うためにデータ蓄積装置1内に構築される。Shadow MBR52が構築されたデータ蓄積装置1に対して、ホスト装置2がMBR(Real MBR)51へのアクセスを行うと、まず、そのアクセス先がShadow MBR52に変換される(f1)。Shadow MBR52は、認証プログラム52Aを有し、認証プログラム52Aは、Real MBR51へアクセスしようとするホスト装置2に対して、たとえばPINの転送を要求する。ホスト装置2から転送されるPINが、データ蓄積装置1内において管理されるPINと一致する場合、認証プログラム52Aは、認証成立(認証成功)と判定し、Real MBR51の起動プロセスを開始させる(f2)。これにより、ホスト装置2とデータ蓄積装置1との接続が確立する(f3)。
Opal OFSの状態への復帰時にShadow MBRを消去しないオプションの提供によって、本実施形態のデータ蓄積装置1においては、Opal OFSの状態への復帰前に構築されていたShadow MBRを継続して利用すること、つまり、Shadow MBRを再構築(再設定)する手間を省くことが可能となる。
(第4実施形態)
次に、第4実施形態について説明する。第1実施形態乃至第3実施形態と同一の構成要素については、同一の符号を使用し、重複する説明は省略する。
図16は、本実施形態に係るデータ蓄積装置1が具備するコントローラ11の機能ブロックの一例を示す図である。
図16に示すように、本実施形態のデータ蓄積装置1は、コントローラ11の初期化処理部119が、ダイレクト遷移処理部119Cを具備する。
第1実施形態乃至第3実施形態においては、Enterpriseモード−Opalモード間の切り替え時には、Neutral OFSの状態を介在させていた。より詳しくは、EnterpriseモードからOpalモードへの切り替えは、Enterprise Activeの状態においてNeutral Revertを発行してNeutral OFSの状態に移行し、当該Neutral OFSの状態においてOpal modeを発行してOpal OFSの状態に移行することで実施する。また、OpalモードからEnterpriseモードへの切り替えは、Opal Activeの状態においてNeutral Revertを発行してNeutral OFSの状態に移行し、当該Neutral OFSの状態においてEnterprise modeを発行してEnterprise OFSの状態に移行することで実施する。
ダイレクト遷移処理部119Cは、これらとは別の手順で、図17に示すように、Opal Activeの状態からNeutral OFSの状態を経ずにEnterprise OFSの状態に移行すること(b4)と、Enterprise Activeの状態からNeutral OFSの状態を経ずにOpal OFSの状態に移行すること(b5)を可能とするために設けられる処理部である。そのために、本実施形態のデータ蓄積装置1においては、図17および図18に示すように、Opal Activeの状態から直接的にEnterprise OFSの状態に移行するためのコマンドとして、Enterprise Revert(第8のコマンド[b4])を新設するとともに、Enterprise Activeの状態から直接的にOpal OFSの状態に移行するためのコマンドとして、Opal Revert(第9のコマンド[b5])を新設する。Enterprise RevertおよびOpal Revertを発行する権限は、専用PINに与えられる。図5と同様、図18中、(A)は、EnterpriseモードまたはOpalモードのいずれにも設定されていないNeutral OFSの状態において発行されるコマンドを示し、(B)は、Enterpriseモード下において発行されるコマンドを示し、(C)は、Opalモード下において発行されるコマンドを示している。
ダイレクト遷移処理部119Cは、Enterprise Revertが発行された場合、初期設定保存部115に保持される初期イメージを用いて、データ蓄積装置1を、Opal Activeの状態からEnterprise OFSの状態に移行させる処理(第8の処理)を実行する。また、ダイレクト遷移処理部119Cは、Opal Revertが発行された場合、初期設定保存部115に保持される初期イメージを用いて、データ蓄積装置1を、Enterprise Activeの状態からOpal OFSの状態に移行させる処理(第9の処理)を実行する。
また、Enterprise RevertおよびOpal Revertについては、パラメータを付すことができるようにして、初期イメージとして、genericまたはcustomizedのいずれかを指定することができるようにしてもよい。
たとえば、Enterprise RevertまたはOpal Revertによって、Enterprise OFSまたはOpal OFSの状態に移行する場合、初期化処理部119は、鍵管理部120に対する暗号鍵の更新の指示を行わないようにしてもよい。つまり、EnterpriseモードまたはOpalモードの一方において蓄積されたデータを、EnterpriseモードまたはOpalモードの他方で初期化された後に使用できるようにしてもよい。
このように、本実施形態のデータ蓄積装置1においては、Enterpriseモード−Opalモード間の直接的な遷移が可能となる。
以上のように、前述した各実施形態に係るデータ蓄積装置1によれば、サーバ用またはPC用のいずれとしても利用することができる暗号化機能搭載のデータ蓄積装置を提供することが実現される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…データ蓄積装置、11…コントローラ、12…揮発性メモリ、13…不揮発性メモリ、111…インタフェース処理部、112…コマンド処理部、113…認可処理部、114…設定管理部、114A…PIN管理部、114B…認証処理部、115…初期設定保存部、116…状態管理部、117…モード設定部、118…処理反映部、119…初期化処理部、119A…鍵更新選択部、119B…Shadow MBR更新選択部、119C…ダイレクト遷移処理部、120…鍵管理部、121…暗号処理部、122…read/write処理部。

Claims (14)

  1. 不揮発性メモリと、
    暗号化による前記不揮発性メモリ上のデータの保護を、第1の用途向けの第1のモードまたは第2の用途向けの第2のモードのいずれかによって実行するコントローラと、
    を具備し、
    前記コントローラは、
    前記第1のモードまたは前記第2のモードのいずれにも設定されていない初期状態であって、データの保護機能が非稼働の状態である第1の状態を再現するための第1の初期設定と、前記第1のモード下における初期状態であって、データの保護機能が非稼働の状態である第2の状態を再現するための第2の初期設定と、前記第2のモード下における初期状態であって、データの保護機能が非稼働の状態である第3の状態を再現するための第3の初期設定とを保存する初期設定保存部と、
    前記第1の状態にある場合において前記第1のモードの設定を要求する第1のコマンドに応じて、前記初期設定保存部が保存する前記第2の初期設定を用いて前記第1の状態から前記第2の状態へ移行する第1の処理を実行し、前記第1の状態にある場合において前記第2のモードの設定を要求する第2のコマンドに応じて、前記初期設定保存部が保存する前記第3の初期設定を用いて前記第1の状態から前記第3の状態へ移行する第2の処理を実行するモード設定部と、
    を具備するデータ蓄積装置。
  2. 前記第2の状態にある場合において前記第1のモード下でデータの保護機能が稼働する状態である第4の状態への移行を要求する第3のコマンドに応じて、前記第2の状態から前記第4の状態へ移行する第3の処理を実行し、前記第3の状態にある場合において前記第2のモード下でデータの保護機能が稼働する状態である第5の状態への移行を要求する第4のコマンドに応じて、前記第3の状態から前記第5の状態へ移行する第4の処理を実行する処理反映部と、
    前記第4の状態にある場合において前記第2の状態への移行を要求する第5のコマンドに応じて、データの暗号化または暗号化されたデータの復号に用いられる暗号鍵を更新することによって前記不揮発性メモリに蓄積されるデータを無効化するとともに、ホスト装置の利用者を認証するためのPIN(Personal Identification Number)を初期化して、前記初期設定保存部が保存する前記第2の初期設定を用いて前記第4の状態から前記第2の状態へ移行する第5の処理を実行し、前記第5の状態にある場合において前記第3の状態への移行を要求する第6のコマンドに応じて、前記暗号鍵の更新および前記PINの初期化を行って、前記初期設定保存部が保存する前記第3の初期設定を用いて前記第5の状態から前記第3の状態へ移行する第6の処理を実行し、前記第4の状態または前記第5の状態にある場合において前記第1の状態への移行を要求する第7のコマンドに応じて、前記暗号鍵の更新および前記PINの初期化を行って、前記初期設定保存部が保存する前記第1の初期設定を用いて前記第4の状態または前記第5の状態から前記第1の状態へ移行する第7の処理を実行する初期化処理部と、
    を具備する請求項1に記載のデータ蓄積装置。
  3. 前記PINを管理するPIN管理部と、
    前記PIN管理部によって管理されるPINを用いて、前記ホスト装置の利用者を認証する認証処理部と、
    前記ホスト装置からコマンドが発行された場合、前記認証処理部による認証が前記コマンドの発行権限が付されたPINを用いて成功しているか否かを判定し、前記コマンドの発行権限が付されたPINを用いて成功している場合、前記コマンドに対応する処理の実行を許可する認可処理部と、
    を具備し、
    前記PIN管理部は、管理者権限の管理者PINと、一般ユーザ権限のユーザPINとに加えて、前記第1のコマンド、前記第2のコマンドおよび前記第7のコマンドの発行権限が与えられた専用PINを管理する、
    請求項2に記載のデータ蓄積装置。
  4. 前記専用PINは、変更不可である請求項3に記載のデータ蓄積装置。
  5. 前記専用PINは、前記第1の状態にある場合においてのみ変更可能である請求項3に記載のデータ蓄積装置。
  6. 前記第1の状態、前記第2の状態、前記第3の状態、前記第4の状態または前記第5の状態のいずれの状態にあるかを管理する状態管理部を具備する請求項2乃至5のいずれか1項に記載のデータ蓄積装置。
  7. 前記初期化処理部は、前記第5の処理または前記第6の処理の実行時における前記暗号鍵の更新有無を選択する鍵更新選択部を具備する請求項2乃至6のいずれか1項に記載のデータ蓄積装置。
  8. 前記暗号鍵は、前記第1のモード用の第1の暗号鍵と、前記第2のモード用の第2の暗号鍵とを含み、
    前記初期化処理部は、前記第5の処理の実行時において前記鍵更新選択部によって前記暗号鍵を更新することが選択された場合、前記第1の暗号鍵の更新を実行し、前記第6の処理の実行時において前記鍵更新選択部によって前記暗号鍵を更新することが選択された場合、前記第2の暗号鍵の更新を実行する、
    請求項7に記載のデータ蓄積装置。
  9. 前記第2のモードは、プリブート認証機構を構築する機能を有するモードであり、
    前記初期化処理部は、前記第6の処理の実行時における前記プリブート認証機構の初期化有無を選択するプリブート認証機構更新選択部を具備する、
    請求項2乃至8のいずれか1項に記載のデータ蓄積装置。
  10. 前記初期化処理部は、前記第1のモードから前記第2のモードへの切り替えを要求するコマンドであって、前記第4の状態にある場合において前記第3の状態への移行を要求する第8のコマンドに応じて、前記初期設定保存部が保存する前記第3の初期設定を用いて前記第4の状態から前記第3の状態へ移行する第8の処理を実行し、前記第2のモードから前記第1のモードへの切り替えを要求するコマンドであって、前記第5の状態にある場合において前記第2の状態への移行を要求する第9のコマンドに応じて、前記初期設定保存部が保存する前記第2の初期設定を用いて前記第5の状態から前記第2の状態へ移行する第9の処理を実行する請求項2乃至9のいずれか1項に記載のデータ蓄積装置。
  11. 前記初期化処理部は、前記第8の処理または前記第9の処理を実行する場合、前記不揮発性メモリに蓄積されるデータの無効化を行わない請求項10に記載のデータ蓄積装置。
  12. 前記初期設定保存部は、前記第2の初期設定および前記第3の初期設定の一方または両方について標準仕様および特別仕様の2種類を保存し、
    前記初期化処理部は、前記第5のコマンド、前記第6のコマンドまたは前記第7のコマンドに付されるパラメータに基づき、前記標準仕様または前記特別仕様の一方を選択して用いる、
    請求項2乃至11のいずれか1項に記載のデータ蓄積装置。
  13. 前記初期設定保存部は、前記第2の初期設定および前記第3の初期設定の一方または両方について、前記標準仕様および前記特別仕様として、異なる初期設定が適用され、プログラムが各々格納される2種類の初期イメージを保存する請求項12項に記載のデータ蓄積装置。
  14. 前記第1のモードは、TCG(Trusted Computing Group) Enterprise規格に準拠して動作するモードであり、前記第2のモードは、TCGOpal規格に準拠して動作するモードである請求項1乃至13のいずれか1項に記載のデータ蓄積装置。
JP2017180715A 2017-09-20 2017-09-20 データ蓄積装置 Expired - Fee Related JP6789906B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017180715A JP6789906B2 (ja) 2017-09-20 2017-09-20 データ蓄積装置
TW106143297A TWI669609B (zh) 2017-09-20 2017-12-11 Data accumulation device
CN201810010082.6A CN109522738B (zh) 2017-09-20 2018-01-05 数据储存装置
US15/913,963 US10698838B2 (en) 2017-09-20 2018-03-07 Data storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017180715A JP6789906B2 (ja) 2017-09-20 2017-09-20 データ蓄積装置

Publications (2)

Publication Number Publication Date
JP2019057811A JP2019057811A (ja) 2019-04-11
JP6789906B2 true JP6789906B2 (ja) 2020-11-25

Family

ID=65720328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017180715A Expired - Fee Related JP6789906B2 (ja) 2017-09-20 2017-09-20 データ蓄積装置

Country Status (4)

Country Link
US (1) US10698838B2 (ja)
JP (1) JP6789906B2 (ja)
CN (1) CN109522738B (ja)
TW (1) TWI669609B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10732889B2 (en) * 2018-03-12 2020-08-04 Dell Products, L.P. Information handling system with multi-key secure erase of distributed namespace
US11595204B2 (en) * 2019-06-04 2023-02-28 EMC IP Holding Company LLC Adaptive re-keying in a storage system
US11714925B2 (en) * 2020-12-09 2023-08-01 Micron Technology, Inc. Assuring integrity and secure erasure of critical security parameters
IL290753A (en) * 2022-02-20 2023-09-01 Nuvoton Technology Corp Low-latency encryption for ddr-dram memory
CN115859395A (zh) * 2023-03-02 2023-03-28 北京神州慧安科技有限公司 一种具有防盗功能的硬盘及其应用的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278838A (ja) * 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
JP2004178337A (ja) * 2002-11-28 2004-06-24 Hitachi Ltd 記憶装置システム、記憶装置、計算機およびプログラム
CN1595517A (zh) * 2003-09-10 2005-03-16 西安三茗科技有限责任公司 一种硬盘分区安全锁定的方法
CA2558309A1 (en) * 2004-03-05 2005-09-15 Secure Systems Limited Partition access control system and method for controlling partition access
JP4576894B2 (ja) * 2004-06-14 2010-11-10 ソニー株式会社 情報管理装置及び情報管理方法
US8230235B2 (en) 2006-09-07 2012-07-24 International Business Machines Corporation Selective encryption of data stored on removable media in an automated data storage library
WO2008046101A2 (en) * 2006-10-13 2008-04-17 Ariel Silverstone Client authentication and data management system
JP2009110428A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 情報処理装置および制御方法
US8358783B2 (en) * 2008-08-11 2013-01-22 Assa Abloy Ab Secure wiegand communications
US8230238B2 (en) * 2008-08-25 2012-07-24 International Business Machines Corporation Estimating power consumption in a computing environment
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
JP5370695B2 (ja) * 2011-03-11 2013-12-18 日本電気株式会社 記憶装置制御システム及び記憶装置制御システムの記憶装置管理方法
US9069703B2 (en) * 2011-04-29 2015-06-30 Seagate Technology Llc Encrypted-transport solid-state disk controller
US9087210B2 (en) * 2011-07-27 2015-07-21 Seagate Technology Llc Techniques for secure storage hijacking protection
KR101271996B1 (ko) * 2011-09-02 2013-06-05 엘지전자 주식회사 외부기기 리스트 제공방법 및 그를 이용한 영상 표시 기기
US9772875B2 (en) * 2011-11-29 2017-09-26 Dell Products L.P. Multiple framework level modes
EP2795513A4 (en) * 2011-12-22 2015-12-16 Intel Corp SYSTEMS AND METHODS FOR PROVIDING PROTECTION AGAINST MALICIOUS SOFTWARE ON STORAGE DEVICES
SG11201507023XA (en) * 2013-03-04 2015-10-29 Docusign Inc Systems and methods for cloud data security
US9575885B2 (en) * 2013-06-11 2017-02-21 Silicon Motion, Inc. Data storage apparatus for scrambled data and management method thereof
WO2015054083A1 (en) 2013-10-07 2015-04-16 Semper Fortis Solutions LLC System and method for encryption key management, federation and distribution
CN105989299A (zh) * 2014-11-13 2016-10-05 株式会社东芝 存储装置的管理方法及计算机系统
US9659170B2 (en) * 2015-01-02 2017-05-23 Senteon LLC Securing data on untrusted devices
JP2017010347A (ja) * 2015-06-24 2017-01-12 株式会社東芝 情報処理装置
JP6260675B2 (ja) * 2016-11-24 2018-01-17 株式会社リコー 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
CN109522738A (zh) 2019-03-26
TW201915753A (zh) 2019-04-16
JP2019057811A (ja) 2019-04-11
CN109522738B (zh) 2023-07-18
TWI669609B (zh) 2019-08-21
US20190087353A1 (en) 2019-03-21
US10698838B2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
JP6789906B2 (ja) データ蓄積装置
US8856553B2 (en) Managing self-encrypting drives in decentralized environments
US9292222B2 (en) Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface
US9202059B2 (en) Methods, systems, and apparatuses for managing a hard drive security system
TWI763780B (zh) 儲存裝置
US20190147160A1 (en) Virtual machine manager facilitated selective code integrity enforcement
US11507284B2 (en) Storage device and control method
JP5640845B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US20140037093A1 (en) Method of managing key for secure storage of data and apparatus therefor
US8266449B2 (en) Security for storage devices
US8955150B2 (en) Apparatus and method for managing digital rights using virtualization technique
EP3120291A1 (en) Rapid data protection for storage devices
TWI423064B (zh) A method and apparatus for coupling a computer memory and a motherboard
KR20120104175A (ko) 일회기록 다회판독 메모리 장치의 인증 및 보안
CN103262092A (zh) 基于储存驱动器的防恶意软件方法和装置
US8966280B2 (en) Storage device, memory device, control device, and method for controlling memory device
JP2020520518A (ja) 独立した復元領域を有する補助記憶装置およびこれを適用した機器
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
CN109804598A (zh) 用于在管理控制器所拥有的加密器中存储管理员秘密的系统和方法
JP2021077208A (ja) ストレージ装置
US10956564B2 (en) Systems and methods for key-based isolation of system management interrupt (SMI) functions and data
US20120303943A1 (en) Information processing apparatus and authentication control method
CN113642050B (zh) 自配置加密硬盘及其配置方法、系统及系统的启动方法
JP2013062616A (ja) 記憶装置、データ記憶方法、及びデータコントローラ
US10699033B2 (en) Secure enablement of platform features without user intervention

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200917

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: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201104

R150 Certificate of patent or registration of utility model

Ref document number: 6789906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees