JP7249968B2 - 情報処理装置およびストレージ - Google Patents

情報処理装置およびストレージ Download PDF

Info

Publication number
JP7249968B2
JP7249968B2 JP2020040206A JP2020040206A JP7249968B2 JP 7249968 B2 JP7249968 B2 JP 7249968B2 JP 2020040206 A JP2020040206 A JP 2020040206A JP 2020040206 A JP2020040206 A JP 2020040206A JP 7249968 B2 JP7249968 B2 JP 7249968B2
Authority
JP
Japan
Prior art keywords
program
memory
information processing
magnetic disk
digital signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020040206A
Other languages
English (en)
Other versions
JP2021140678A (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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2020040206A priority Critical patent/JP7249968B2/ja
Priority to US17/002,968 priority patent/US11888990B2/en
Publication of JP2021140678A publication Critical patent/JP2021140678A/ja
Application granted granted Critical
Publication of JP7249968B2 publication Critical patent/JP7249968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/577Assessing vulnerabilities and evaluating computer system security
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/3247Cryptographic 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 involving digital signatures
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Description

本実施形態は、情報処理装置に関する。
従来、コンピュータプログラム(以降、プログラムと表記する)に従って動作する情報処理装置において、プログラムが、例えば暴走状態や無限ループ状態などの、正規の動作の実現が困難な状態になる場合がある。この状態を障害状態と表記する。障害状態は、プログラムのバグなどの内的要因によっても起こり得るし、プログラムが格納されたメモリの部分破壊またはハードウェアの障害などの外的要因によっても起こり得る。
情報処理装置の主たる動作を司るプログラムが障害状態になった場合、情報処理装置は、専用の解析プログラムを、割り込みに応じて起動する技術がある。情報処理装置は、解析プログラムに従って、情報処理装置の内部に蓄積されたログを収集したり、情報処理装置が具備するメモリの内容を収集したりすることができる。
しかしながら、解析プログラムは、改竄されたり、壊れたりしている場合があり得る。また、解析プログラムの位置を指すベクタテーブルの改竄により、解析プログラムの替わりに不正なプログラム(例えば情報処理装置を乗っ取るためのプログラム)が起動されることがあり得る。これらの場合、解析プログラムに期待された本来の動作を実現することは困難である。換言すると、セキュアにプログラムを解析することが困難である。
特開2009-9372号公報 特許第5049288号公報
一つの実施形態は、可及的にセキュアにプログラムの解析を行うことができる情報処理装置を提供することを目的とする。
一つの実施形態によれば、情報処理装置は、揮発性の第1メモリと、書き換え不可能な不揮発性の第2メモリと、プロセッサと、を備える。第1メモリには、第1プログラムと、第2プログラムと、第2プログラムのデジタル署名と、がロードされる。第2メモリには、第3プログラムおよび公開鍵が格納されている。プロセッサは、第1プログラムの実行中に特定の条件が成立した場合に、デジタル署名と公開鍵とに基づく第2プログラムの検証を第2メモリに格納された第3プログラムに従って実行する。検証結果が合格である場合に、プロセッサは、第1プログラムの解析を第2プログラムに従って実行する。検証結果が不合格である場合に、プロセッサは、第1プログラムの解析を実行しない。情報処理装置は、磁気ディスクをさらに備える。第1プログラムは、ホストからの要求に応じた磁気ディスクへのアクセス制御をプロセッサに実行させるファームウェアである。
実施形態にかかる情報処理装置が適用された磁気ディスク装置のハードウェア構成の一例を示す模式的な図。 実施形態にかかる情報処理装置が適用された磁気ディスク装置のいくつかの特徴を説明するための模式的な図。 実施形態にかかる情報処理装置が適用された磁気ディスク装置を製造する際の製造者による処理の一例を示すフローチャート。 実施形態にかかる情報処理装置が適用された磁気ディスク装置のパワーオン時の動作の一例を示すフローチャート。 実施形態にかかる情報処理装置が適用された磁気ディスク装置が割り込み要求を生成する動作の一例を示すフローチャート。 実施形態にかかる情報処理装置が適用された磁気ディスク装置の、割り込み要求が生成された際の動作の一例を示すフローチャート。 実施形態の変形例1にかかるマスクROMの構成を示す模式的な図。 実施形態の変形例2にかかる起動方法を示すフローチャート。 実施形態の変形例2にかかる別の起動方法を示すフローチャート。
以下では、一例として、実施形態にかかる情報処理装置が適用された磁気ディスク装置について説明する。なお、実施形態にかかる情報処理装置を適用できる装置は磁気ディスク装置だけに限定されない。実施形態にかかる情報処理装置は、コンピュータプログラムが格納されるメモリと、当該コンピュータプログラムを実行するプロセッサと、を備えた任意の装置に適用され得る。以下に添付図面を参照して、実施形態にかかる情報処理装置が適用された磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
図1は、実施形態にかかる情報処理装置が適用された磁気ディスク装置のハードウェア構成の一例を示す模式的な図である。磁気ディスク装置1は、例えばサーバであるホスト2と接続されている。磁気ディスク装置1は、ホスト2から送られてくるデータを記憶するストレージとして機能する。なお、ホスト2は、サーバだけに限定されない。
ホスト2と磁気ディスク装置1とは、所定の規格のインタフェースによって接続されている。インタフェースは例えば、SAS(Serial Attached Small Computer System Interface)またはSATA(Serial Advanced Technology Attachment)である。接続するインタフェースが準拠する規格はこれらに限定されない。
磁気ディスク装置1は、外部I/F(Interface)コントローラ11、CPU(Central Processing Unit)12、RSA(Rivest-Shamir-Adleman cryptosystem)回路13、UART(Universal Asynchronous Receiver/Transmitter)14、割り込みコントローラ15、RAM(Random Access memory)16、マスクROM17、OTP(One Time Programmable)18、デバイスコントローラ19、FROM(Flash Read Only Memory)20、SPI(Serial Peripheral Interface)21、第1バス22、第2バス23、および磁気ディスク24を備えている。
磁気ディスク24は、データを記憶することができる磁性体を表面に有しているディスクである。例えば、磁気ディスク24の径方向には同心円の形状の複数のトラックが所定のピッチで設けられている。各トラックの周上には多数のセクタが連続的に形成されている。各セクタは、データの書き換えが自在に構成されている。それぞれ多数のセクタを有する複数のトラックによって、データの記録が可能な記録面が構成される。つまり、磁気ディスク24は、大容量を有する、書き換え可能な不揮発性メモリである。
なお、図1では、磁気ディスク24に対するデータの書き込み/読み出しを行う磁気ヘッド、磁気ヘッドを支持するアクチュエータアーム、アクチュエータアームを駆動するヴォイスコイルモータ、磁気ディスク24を回転させるスピンドルモータ、などの図示が省略されている。
外部I/Fコントローラ11、CPU12、RSA回路13、UART14、割り込みコントローラ15、RAM16、マスクROM17、OTP18、デバイスコントローラ19、およびSPI21は、例えば、コントローラ基板10に実装されている。なお、コントローラ基板10に実装される要素はこれらに限定されない。
第1バス22は、ホスト2から送られてきたデータ(即ちユーザデータ)の転送に利用される。第2バス23は、ホスト2からの要求に応じた磁気ディスク24へのアクセス制御のためのコマンド、信号、情報、などの転送に利用される。
外部I/Fコントローラ11、RAM16、および磁気ディスク24は、第1バス22に接続されている。また、CPU12、UART14、OTP18、RSA回路13、RAM16、マスクROM17、SPI21、およびデバイスコントローラ19は、第2バス23に接続されている。
外部I/Fコントローラ11は、ホスト2との通信を行うインタフェース装置である。外部I/Fコントローラ11は、ホスト2から受信した要求をCPU12に転送することができる。外部I/Fコントローラ11は、ホスト2から送られてきたユーザデータを、RAM16にバッファすることができる。外部I/Fコントローラ11は、磁気ディスク24からRAM16に読み出されたユーザデータをホスト2に転送することができる。なお、外部I/Fコントローラ11は、実施形態にかかる第1インタフェースに相当する。
CPU12は、種々のプログラムを実行することができるプロセッサである。CPU12は、プログラムに応じた機能を実現する。
RSA回路13は、公開鍵暗号の1つであるRSAによって暗号化されたデータを復号化する。実施形態では、RSA回路13は、デジタル署名を用いた検証に使用される。
UART14は、外部のコンピュータが接続され得るインタフェース装置である。なお、UART14は、実施形態にかかる第2インタフェースに相当する。
割り込みコントローラ15は、特定の事象が発生したときに割り込み要求を生成する。割り込みコントローラ15は、割り込み要求をCPU12に通知する。
実施形態では、割り込みコントローラ15は、UART14に調査PC(Personal Computer)3が接続されたことを検知すると、割り込み要求を生成する。調査PC3は、プログラムを解析するためのコンピュータである。
UART14に調査PC3が接続されたことを割り込みコントローラ15が検知する仕組みは、任意に構成され得る。一例では、割り込みコントローラ15は、調査PC3とUART14とが通電されたことで接続を検知する。別の例では、割り込みコントローラ15は、調査PC3とUART14との間でコマンドの送受信が開始されたことで、接続を検知する。
RAM16は、揮発性メモリである。RAM16は、各種プログラムがロードされる領域をCPU12に提供する。その他、RAM16は、ホスト2と磁気ディスク24との間で転送されるユーザデータのバッファとして機能する。なお、RAM16は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。RAM16を構成するメモリはこれらに限定されない。
マスクROM17は、書き換え不可能な不揮発性メモリである。マスクROM17の内容は、工場において磁気ディスク装置1のハードウェアを製造する際に固定される。
OTP18は、一度だけデータを書き込むことができ、その後は、データの更新ができない不揮発性メモリである。OTP18の内容は、磁気ディスク装置1のハードウェアが製造された後に固定され得る。
デバイスコントローラ19は、磁気ディスク24に対して磁気ヘッドを介したアクセス、即ちデータの書き込みおよび読み出しができるコントローラである。デバイスコントローラ19は、リードライトチャネルとも称され得る。デバイスコントローラ19は、RAM16にバッファされたユーザデータを磁気ディスク24に書き込むことができる。また、デバイスコントローラ19は、磁気ディスク24から読み出されたユーザデータをRAM16に送ることができる。
FROM20は、書き換え可能な不揮発性メモリである。
SPI21は、FROM20に対してシリアル通信でアクセスするためのインタフェース装置である。
ここで、CPU12およびRSA回路13は、実施形態にかかるプロセッサに相当する。しかしながら、RSA回路13は必ずしもプロセッサに含まれなくてもよい。
また、RAM16は、実施形態にかかる第1メモリに相当する。マスクROM17およびOTP18は、実施形態にかかる第2メモリに相当する。
また、FROM20または磁気ディスク24は、実施形態にかかる第3メモリに相当する。
また、第2メモリのうちのマスクROM17は、実施形態にかかる第4メモリに相当する。第2メモリのうちのOTP18は、実施形態にかかる第5メモリに相当する。
図2は、実施形態にかかる情報処理装置が適用された磁気ディスク装置1のいくつかの特徴を説明するための模式的な図である。揮発性メモリ30は、RAM16に相当する。不揮発性メモリ40は、FROM20または磁気ディスク24に相当する。
不揮発性メモリ40には、メインプログラム100と、解析プログラム200と、解析プログラム200のデジタル署名201と、が予め格納されている。
メインプログラム100は、磁気ディスク装置1の主たる動作を司るプログラムである。つまり、メインプログラム100は、ホスト2からの要求に応じた磁気ディスク24へのアクセス制御をCPU12に実行させるファームウェアである。
解析プログラム200は、メインプログラム100の解析をCPU12に実行させるプログラムである。
デジタル署名201は、解析プログラム200に対して秘密鍵を用いて符号化(暗号化)することで生成されたデータである。暗号化は、RSA方式による。
なお、メインプログラム100、解析プログラム200、およびデジタル署名201は、揮発性メモリ30にロードされる。以下、揮発性メモリ30にロードされた各プログラムおよびデジタル署名を、メインプログラム100a、解析プログラム200a、およびデジタル署名201aと表記する。CPU12は、メインプログラム100aに従ってホスト2からの要求に応じた磁気ディスク24へのアクセス制御を実現する。また、CPU12は、解析プログラム200aに従って、メインプログラム100aの解析を行う。
マスクROM17には、IPL(Initial Program Loader)500と、署名チェックプログラム300と、が予め書き込まれている。
IPL500は、磁気ディスク装置1のパワーオン時にメインプログラム100を不揮発性メモリ40から揮発性メモリ30にロードするためのプログラムである。
署名チェックプログラム300は、主に2つの処理をCPU12に実行させる。
1つ目の処理は、解析プログラム200とデジタル署名201とを不揮発性メモリ40から揮発性メモリ30にロードする。
2つ目の処理は、解析プログラム200aの真正性(authenticity)を、デジタル署名201aと、公開鍵202とに基づいて検証する。
OTP18には、公開鍵202と、署名チェックプログラム300の位置を示すアドレス値400と、が予め書き込まれている。
CPU12は、磁気ディスク装置1のパワーオン時にはIPL500に従って、メインプログラム100を不揮発性メモリ40から揮発性メモリ30にロードして、メインプログラム100aを起動する(S1)。
なお、CPU12は、メインプログラム100aの実行中に、動作状態を示す情報を適時、ログ600として不揮発性メモリ40に記録することができる。動作状態を示す情報は、例えば、環境温度、磁気ディスク装置1が受けた振動、パワーオン回数、パワーオン時間、エラー発生回数、などを含み得る。
CPU12がメインプログラム100aの実行中に、内的要因または外的要因によってメインプログラム100aが障害状態になる場合がある。ユーザは、メインプログラム100aが障害状態になった可能性を認識すると、メインプログラム100aの解析のために、磁気ディスク装置1に調査PC3を接続することができる。調査PC3は、磁気ディスク装置1がホスト2に接続され、かつ通電された状態で、USART14に接続され得る。
割り込みコントローラ15は、UART14に調査PC3が接続されたことを検知すると、割り込み要求を生成してCPU12に送る(S2)。割り込み要求を受信したCPU12は、アドレス値400を参照することによって署名チェックプログラム300の位置を特定する(S3)。そして、CPU12は、署名チェックプログラム300を起動する(S4)。
S3およびS4では、メインプログラム100aに属する現在実行中の命令の次に実行される命令が格納された位置を示すアドレス値が、スタックポインタが示す位置に退避される。このとき、汎用レジスタの値も退避される。その後、プログラムカウンタにアドレス値400がセットされることで、メインプログラム100aから署名チェックプログラム300に制御が移る。メインプログラム100aは、一時停止された状態のまま維持される。
続いて、CPU12は、署名チェックプログラム300に従って、解析プログラム200およびデジタル署名201を不揮発性メモリ40から揮発性メモリ30にロードする(S5)。続いて、CPU12は、署名チェックプログラム300に従って、公開鍵202と、デジタル署名201aと、に基づいて、解析プログラム200aの真正性を検証する(S6)。
S6の処理では、CPU12は、RSA回路13に、解析プログラム200aの検証を指示し、RSA回路13は検証を実施する。または、CPU12がS6の処理を全て実行してもよい。
デジタル署名201は、解析プログラム200のハッシュ値を秘密鍵を用いて符号化することによって生成されている。S6では、プロセッサ(CPU12またはRSA回路13)は、デジタル署名201aを公開鍵202を用いて復号化することによってハッシュ値を復元するとともに、解析プログラム200aのハッシュ値を演算する。
公開鍵202が符号化に用いた秘密鍵と対応し、かつ、解析プログラム200aおよびデジタル署名201aの何れも正常であれば、復号化によって得られたハッシュ値と、解析プログラム200aから得られたハッシュ値と、が一致する。よって、解析プログラム200aは真正であると判断される。つまり、検証結果は合格(pass)とされる。
なお、解析プログラム200aが正常とは、解析プログラム200aが改竄も破壊もされていないことをいう。解析プログラム200aが異常とは、解析プログラム200aが改竄または破壊されていることをいう。
公開鍵202が当該秘密鍵と対応しないか、解析プログラム200aまたはデジタル署名201aが異常である場合、双方のハッシュ値は互いに異なる。よって、解析プログラム200aは真正ではないと判断される。つまり、検証結果は不合格(fail)とされる。
検証結果が合格である場合、CPU12は、解析プログラム200aによる制御の下で解析のための動作を実現する。具体的には、CPU12は、調査PC3からのコマンドに応じて、不揮発性メモリ40からログ600を収集したり、揮発性メモリ30の内容(具体的にはメインプログラム100aの一部または全部)を収集したりすることができる(S7)。
解析中、メインプログラム100aは、割り込み発生時から一時停止状態で維持されている。よって、メインプログラム100aに改竄や破壊があれば、CPU12は、そのような箇所の情報を収集することができる。
CPU12は、収集した情報を調査PC3からのコマンドに応じて調査PC3に送信したりすることができる。CPU12は、調査PC3からUART14を介して終了コマンドを受信すると、解析プログラム200aに基づいた解析を終了する。
解析終了後の処理は、任意に構成され得る。一例では、解析プログラム200aからメインプログラム100aに制御が復帰してもよい。具体的には、先に退避されていたアドレス値が、プログラムカウンタにセットされる。また、退避されていた汎用レジスタの値も復帰される。これによって、解析プログラム200aからメインプログラム100aに制御が復帰する。
別の例では、ユーザは、磁気ディスク装置1への電力の供給を遮断することで、磁気ディスク装置1をパワーオフしてもよい。
検証結果が不合格である場合、CPU12は、解析プログラム200aに従った動作を実行しない。一例では、制御が署名チェックプログラム300からメインプログラム100aに復帰する。または、CPU12は、署名チェックプログラム300に従って、調査PC3に解析プログラム200aが異常である旨を通知してもよい。ユーザは、当該通知を認識すると、磁気ディスク装置1への電力の供給を遮断することで、磁気ディスク装置1をパワーオフしてもよい。
このように、実施形態によれば、割り込みが発生した場合に、解析プログラム200aに対し、デジタル署名201aを用いた真正性の検証が実施される。検証結果が合格である場合、解析プログラム200aが実行される。検証結果が不合格である場合、解析プログラム200aは実行されない。よって、解析プログラム200aが正常である場合にのみ、メインプログラム100aの解析を進めることが可能となる。
さらに、検証を行うための署名チェックプログラム300および公開鍵202は、書き換え不可能なマスクROM17またはOTP18に格納されている。従って、署名チェックプログラム300や公開鍵202の改竄は不可能である。よって、解析プログラム200aの検証をセキュアに実行することが可能である。
上記の2つの理由により、実施形態によれば、セキュアにメインプログラム100aの解析を行うことが可能となる。
なお、メインプログラム100、101aは、実施形態にかかる第1プログラムに相当する。解析プログラム200、200aは、実施形態にかかる第2プログラムに相当する。署名チェックプログラム300は、実施形態にかかる第3プログラムに相当する。
次に、磁気ディスク装置1の実施形態にかかる情報処理装置としての動作を詳細に説明する。図3は、実施形態にかかる情報処理装置が適用された磁気ディスク装置1を製造する際の製造者による処理の一例を示すフローチャートである。
まず、製造者は、マスクROM17にIPL500と署名チェックプログラム300とを書き込む(S101)。続いて、製造者は、解析プログラム200を不揮発性メモリ40に書き込む(S102)。また、製造者は、デジタル署名201を所定の秘密鍵を用いて生成して、当該デジタル署名201を不揮発性メモリ40に書き込む(S103)。
続いて、製造者は、署名チェックプログラム300の位置を示すアドレス値400と、所定の秘密鍵に対応した公開鍵202と、をOTP18に書き込む(S104)。
なお、IPL500および署名チェックプログラム300はマスクROM17に格納されることとしているので、S101の処理は、磁気ディスク装置1のハードウェアの製造時に実施される。
これに対して、アドレス値400および公開鍵202は、OTP18に格納され、解析プログラム200およびデジタル署名201は、不揮発性メモリ40に格納されることとしている。よって、S102~S104の処理は、ハードウェアの製造が終わった後に実施される。
つまり、署名チェックプログラム300はハードウェアの製造時に書き込まれ、公開鍵202、解析プログラム200、およびデジタル署名201は、ハードウェアの製造後に書き込まれ得る。したがって、多数の磁気ディスク装置1が製造される場合、署名チェックプログラム300を全ての磁気ディスク装置1で共通化する一方、公開鍵202とデジタル署名201との組み合わせを装置単位で異ならせるといったことが可能となる。なお、公開鍵202とデジタル署名201との組み合わせは、全ての磁気ディスク装置1で共通化され得ることは言うまでもない。
図4は、実施形態にかかる情報処理装置が適用された磁気ディスク装置1のパワーオン時の動作の一例を示すフローチャートである。
パワーオン時には、CPU12は、IPL500に従って、メインプログラム100を不揮発性メモリ40から揮発性メモリ30にロードする(S201)。そして、CPU12は、メインプログラム100aに基づく磁気ディスク装置1の制御を開始する(S202)。つまり、CPU12は、ホスト2からの要求に応じた磁気ディスク24へのアクセス制御を開始する。
図5は、実施形態にかかる情報処理装置が適用された磁気ディスク装置1が割り込み要求を生成する動作の一例を示すフローチャートである。
ユーザが、磁気ディスク装置1の挙動が通常と異なることを察知するなどによって、メインプログラム100aが障害状態になった可能性を認識すると(S301)、ユーザは、調査PC3をUART14に接続する(S302)。割り込みコントローラ15は、調査PC3がUART14に接続されたことを検知するに応じて、割り込み要求を生成し、CPU12に送信する(S303)。
図6は、実施形態にかかる情報処理装置が適用された磁気ディスク装置1の、割り込み要求が生成された際の動作の一例を示すフローチャートである。
CPU12は、割り込み要求を受信すると、メインプログラム100aからアドレス値400が示す位置に格納されている署名チェックプログラム300の実行を開始する(S401)。
続いて、CPU12は、署名チェックプログラム300に従って、解析プログラム200とデジタル署名201とを不揮発性メモリ40から揮発性メモリ30にロードする(S402)。
続いて、CPU12は、公開鍵202と、デジタル署名201aと、に基づいて、解析プログラム200aの真正性を検証する(S403)。S403では、CPU12が単独で検証してもよいし、CPU12がRSA回路13に検証させてもよい。
検証結果が合格である場合(S404:Yes)、CPU12は、解析プログラム200aに従った動作を開始する(S405)。そして、解析プログラム200aに従った動作の一環として、CPU12は、調査PC3からのコマンドに応じて、揮発性メモリ30内の内容(例えばメインプログラム100aの一部または全部)や不揮発性メモリ40内のログを収集して、調査PC3に送信する(S406)。
ユーザは、必要な情報を調査PC3によって収集して、解析が終了すると、調査PC3から磁気ディスク装置1に終了コマンドを送信することができる。磁気ディスク装置1が当該終了コマンドを受信すると(S407)、制御が解析プログラム200aからメインプログラム100aに復帰し(S408)、動作が終了する。
また、検証結果が不合格である場合(S404:No)、S408の処理が実行される。なお、検証結果が不合格である場合の動作、および終了コマンドを受信した後の動作は、図6に説明された例に限定されない。例えば、CPU12は、署名チェックプログラム300に従って、調査PC3に解析プログラム200aが異常である旨を通知してもよい。ユーザは、当該通知を認識すると、磁気ディスク装置1への電力の供給を遮断することで、磁気ディスク装置1をパワーオフしてもよい。
磁気ディスク装置1のパワーオフによって、メインプログラム100a、解析プログラム200a、およびデジタル署名201aは、揮発性メモリ30から失われる。そして、次に磁気ディスク装置1がパワーオンされた際には、図4に示された動作が実行される。これにより、不揮発性メモリ40から揮発性メモリ30に再度、メインプログラム100がロードされることになる。
また、終了コマンドを調査PC3によって磁気ディスク装置1に送信した後においても、ユーザは、磁気ディスク装置1への電力の供給を遮断することで、磁気ディスク装置1をパワーオフしてもよい。
以上述べたように、実施形態によれば、第1メモリである揮発性メモリ30(RAM16)には、メインプログラム100a、解析プログラム200a、およびデジタル署名201aがロードされる。第2メモリであるマスクROM17またはOTP18には、署名チェックプログラム300と、公開鍵202と、が格納されている。CPU12は、メインプログラム100aの実行中に特定の割り込みが発生した場合に、デジタル署名201aと公開鍵202とに基づいて解析プログラム200aの検証を署名チェックプログラム300に従って実行する。検証結果が合格である場合に、CPU12は、メインプログラム100aを解析プログラム200aに従って解析する。検証結果が不合格である場合に、CPU12は、解析しない。したがって、解析プログラム200aの検証かつメインプログラム100aの解析をセキュアに実行することが可能である。
この技術と比較される技術(比較例1と称する)として、磁気ディスク装置のパワーオン時に解析プログラムおよびデジタル署名が揮発性メモリにロードされる技術がある。例えば、解析プログラムは、メインプログラムに含まれ、デジタル署名は、解析プログラムを含むメインプログラムから生成され得る。比較例1によれば、解析プログラムおよびデジタル署名が揮発性メモリにロードされてから実際に使用されるまでの期間が長い。したがって、当該期間に、揮発性メモリ内の解析プログラムが改竄されたり、メインプログラムの暴走によって解析プログラムが破壊されたりする可能性がある。
これに対し、実施形態によれば、メインプログラム100aの解析が必要となったときに解析プログラム200が第3のメモリである不揮発性メモリ40から揮発性メモリ30にロードされる。よって、比較例1に比べ、よりセキュアな状態で解析プログラム200aを使用することが可能である。
さらに、解析プログラム200およびデジタル署名201が書き換え可能な不揮発性メモリ40に格納されている。例えば、磁気ディスク装置1の出荷後、製造者は、新しい解析プログラム200とデジタル署名201との対を作成する。ユーザは、不揮発性メモリ40に格納されている解析プログラム200とデジタル署名201との対を新しく更新させることができる。製造者は、解析プログラム200とデジタル署名201を新しく作成する際、以前に使用された秘密鍵と同じ秘密鍵を使用する。これによって、新しく更新された場合であっても、検証の際に、OTP18内の公開鍵202を用いることが可能である。
また、実施形態によれば、CPU12は、第5のメモリであるOTP18に格納されたアドレス値を参照することによって、第4のメモリであるマスクROMに格納された署名チェックプログラム300の位置を特定するように構成されている。
書き換え不可能な不揮発性メモリに格納されたアドレス値400に基づいて署名チェックプログラム300の位置が特定されることから、署名チェックプログラム300をセキュアに起動することが可能である。よって、例えば、割り込み要求に応じて不正なプログラムを起動させるなどによって磁気ディスク装置1を乗っ取ることが、非常に困難になる。
なお、CPU12は、割り込み要求を受信したとき、OTP18から必ずしも直接にアドレス値400を取得しなくてもよい。例えば、CPU12は、OTP18に格納されたアドレス値400を、所定のタイミングでベクタテーブルとして揮発性メモリ30にロードする。そして、CPU12は、割り込み要求を受信したとき、揮発性メモリ30内のベクタテーブルを参照することで、署名チェックプログラム300の位置を特定してもよい。
また、実施形態によれば、署名チェックプログラム300は、マスクROM17に格納される。公開鍵202は、磁気ディスク装置1のハードウェアの製造後にOTP18に格納されている。デジタル署名201は、不揮発性メモリ40に格納されることから、公開鍵202とデジタル署名201との組み合わせを装置単位で異ならせるといったことが容易となる。
なお、署名チェックプログラム300および公開鍵202の位置は、上記した例に限定されない。例えば、署名チェックプログラム300および公開鍵202は、ともにマスクROM17に格納されてもよい。
また、実施形態によれば、第1プログラムであるメインプログラム100、100aは、ホスト2からの要求に応じた磁気ディスク24へのアクセス制御をCPU12に実行させるファームウェアである。しかしながら、解析の対象はファームウェアに限定されない。任意のコンピュータプログラムが解析プログラム200による解析の対象とされ得る。
(変形例1)
以上の説明では、CPU12は、OTP18に格納されたアドレス値400を参照することによって署名チェックプログラム300の位置を特定した。署名チェックプログラム300の位置の特定方法はこれに限定されない。署名チェックプログラム300の位置の特定方法の他の変形例によれば、バンク切り替えによって署名チェックプログラム300の位置が特定される。
図7は、実施形態の変形例1にかかるマスクROM17の構成を示す模式的な図である。マスクROM17は、複数のバンク170に分割されている。なお、図7では、複数のバンク170のうちの、3つのバンク170-1、170-2、170-3が図示されている。バンク170の数は、2つであってもよいし、4以上であってもよい。
第1のバンク170-1の先頭位置には、IPL500が格納されており、第2のバンク170-2の先頭位置には、署名チェックプログラム300が格納されている。
CPU12は、磁気ディスク装置1のパワーオン時には、第1のバンク170-1の先頭位置に制御を移すことで、格納されたIPL500に従った動作を開始する。そして、CPU12は、割り込み要求を受信すると、マスクROM17のバンク切り替えを実施する。第2のバンク170-2の先頭位置に制御を移すことで、CPU12は、格納された署名チェックプログラム300に従った動作を開始する。
このように、複数のバンクに分割されたマスクROM17のバンク切り替えによって、署名チェックプログラム300を起動することが可能である。マスクROM17を用いる場合、OTP18に署名チェックプログラム300の位置を示すアドレス値400を書き込むことを不要とすることができる。
(変形例2)
以上の説明では、割り込みコントローラ15は、調査PC3の接続に応じて割り込み要求を生成し、CPU12は、当該割り込み要求を契機として署名チェックプログラム300の起動を行った。署名チェックプログラム300の起動の契機はこれに限定されない。
図8は、実施形態の変形例2にかかる起動方法を示すフローチャートである。CPU12は、磁気ディスク装置1がパワーオンされてからの経過時間または前回に署名チェックプログラム300が実行されてからの経過時間が所定のしきい値に達したか否かを判定する(S501)。経過時間が所定のしきい値に達していない場合(S501:No)、CPU12は、S501の処理を再び実行する。経過時間が所定のしきい値に達した場合(S501:Yes)、CPU12は、署名チェックプログラム300を起動し(S502)、動作を終了する。
なお、調査PC3は、UART14に接続されていてもよいし、UART14に接続されていなくてもよい。調査PC3がUART14に接続されている場合には、S502では、図6に示された一連の動作が実行され得る。
調査PC3がUART14に接続されていない場合にも、S502では、図6に示された一連の動作が実行され得る。ただし、解析プログラム200aの検証結果が合格であった場合、CPU12は、S406において、調査PC3からのコマンドを要することなく解析する。例えば、CPU12は、解析プログラム200aに従って、揮発性メモリ30内の内容や不揮発性メモリ40内のログ600を自動で収集して、収集したこれらの情報に基づいて解析し得る。CPU12は、収集したこれらの情報を調査PC3に送信しない。CPU12は、解析が終了すると、終了コマンドを要することなく、S408の処理を実行し得る。
図9は、実施形態の変形例2にかかる別の起動方法を示すフローチャートである。CPU12は、磁気ディスク装置1がパワーオンされてからの磁気ディスク24へのアクセス量、前回に署名チェックプログラム300が実行されてからの磁気ディスク24へのアクセス量が、所定のしきい値に達したか否かを判定する(S601)。
アクセス量として、書き込み量だけがカウントされてもよいし、読み出し量だけがカウントされてもよい。あるいは、書き込み量と読み出し量との合計がカウントされてもよい。アクセス量は、データのサイズによって表されるものであってもよいし、コマンド数によって表されるものであってもよい。
アクセス量が所定のしきい値に達していない場合(S601:No)、CPU12は、S601の処理を再び実行する。アクセス量が所定のしきい値に達した場合(S601:Yes)、CPU12は、署名チェックプログラム300を起動し(S602)、動作を終了する。S602の処理の具体例は、図8に係る説明におけるS502の処理と同様である。
このように、予め設定された時間周期が経過する毎に署名チェックプログラム300が実行されてもよい。また、磁気ディスク24へのアクセス量が予め設定された量に達する毎に署名チェックプログラム300が実行されてもよい。
実施形態およびその変形例によれば、プロセッサは、第1プログラムの実行中に特定の条件が成立した場合に、第1メモリ内のデジタル署名と第2メモリ内の公開鍵とに基づく第1メモリ内の第2プログラムの検証を第3プログラムに従って実行する。検証結果が合格である場合に、プロセッサは、第1メモリ内の第1プログラムの解析を第1メモリ内の第2プログラムに従って実行する。検証結果が不合格である場合に、プロセッサは、第1メモリ内の第2プログラムに従った解析を実行しない。これによって、セキュアに第1プログラムの解析を行うことが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 磁気ディスク装置、2 ホスト、3 調査PC、10 コントローラ基板、11 外部I/Fコントローラ、12 CPU、13 RSA回路、14 UART、15 割り込みコントローラ、16 RAM、17 マスクROM、18 OTP、19 デバイスコントローラ、20 FROM、21 SPI、22 第1バス、23 第2バス、24 磁気ディスク、30 揮発性メモリ、40 不揮発性メモリ、100,100a メインプログラム、170,170-1,170-2,170-3 バンク、200,200a 解析プログラム、201,201a デジタル署名、202 公開鍵、300 署名チェックプログラム、400 アドレス値、500 IPL、600 ログ。

Claims (10)

  1. 第1プログラムと、第2プログラムと、前記第2プログラムのデジタル署名と、がロードされる揮発性の第1メモリと、
    第3プログラムおよび公開鍵が格納された書き換え不可能な不揮発性の第2メモリと、
    前記第1プログラムの実行中に特定の条件が成立した場合に、前記デジタル署名と前記公開鍵とに基づく前記第2プログラムの検証を前記第2メモリに格納された前記第3プログラムに従って実行し、検証結果が合格である場合に、前記第1プログラムの解析を前記第2プログラムに従って実行し、前記検証結果が不合格である場合に、前記第1プログラムの解析を実行しない、プロセッサと、
    を備え
    磁気ディスクをさらに備え、
    前記第1プログラムは、ホストからの要求に応じた前記磁気ディスクへのアクセス制御を前記プロセッサに実行させるファームウェアである、
    情報処理装置。
  2. 前記第2プログラムと、前記デジタル署名と、が格納された書き換え可能な不揮発性の第3メモリをさらに備え、
    前記プロセッサは、前記特定の条件が成立した場合に、前記第2プログラムと、前記デジタル署名と、を前記第3プログラムに従って前記第3メモリから前記第1メモリにロードする、
    請求項1に記載の情報処理装置。
  3. 第1プログラムと、第2プログラムと、前記第2プログラムのデジタル署名と、がロードされる揮発性の第1メモリと、
    第3プログラムおよび公開鍵が格納された書き換え不可能な不揮発性の第2メモリと、
    前記第1プログラムの実行中に特定の条件が成立した場合に、前記デジタル署名と前記公開鍵とに基づく前記第2プログラムの検証を前記第2メモリに格納された前記第3プログラムに従って実行し、検証結果が合格である場合に、前記第1プログラムの解析を前記第2プログラムに従って実行し、前記検証結果が不合格である場合に、前記第1プログラムの解析を実行しない、プロセッサと、
    を備え、
    ホストが接続される第1インタフェースと、
    調査コンピュータが接続される第2インタフェースと、
    割り込みコントローラと、
    をさらに備え、
    前記割り込みコントローラは、前記調査コンピュータが前記第2インタフェースに接続されるに応じて割り込み要求を生成し、
    前記特定の条件が成立することは、前記割り込み要求が生成されたことである、
    情報処理装置。
  4. 前記第2プログラムと、前記デジタル署名と、が格納された書き換え可能な不揮発性の第3メモリをさらに備え、
    前記プロセッサは、前記特定の条件が成立した場合に、前記第2プログラムと、前記デジタル署名と、を前記第3プログラムに従って前記第3メモリから前記第1メモリにロードする、
    請求項3に記載の情報処理装置。
  5. 磁気ディスクをさらに備え、
    前記第1プログラムは、ホストからの要求に応じた前記磁気ディスクへのアクセス制御を前記プロセッサに実行させるファームウェアである、
    請求項3または4に記載の情報処理装置。
  6. 前記特定の条件は、予め設定された時間周期が経過することである、
    請求項1または2に記載の情報処理装置。
  7. 前記特定の条件は、前記磁気ディスクへのアクセス量に関する条件である、
    請求項1または2に記載の情報処理装置。
  8. 前記第2メモリには、前記第2メモリ内の前記第3プログラムの位置を示すアドレス値が格納され、
    前記プロセッサは、前記特定の条件が成立した場合に、前記第2メモリに格納された前記アドレス値を参照することによって前記第3プログラムの位置を特定する、
    請求項1からの何れか一項に記載の情報処理装置。
  9. 前記第2メモリは、IPL(Initial Program Loader)が先頭位置に格納された第1のバンクと、前記第3プログラムが先頭位置に格納された第2のバンクと、を備え、
    前記プロセッサは、前記情報処理装置のパワーオン時には前記第1のバンクの先頭位置に格納された前記IPLに従って前記第1プログラムのロードを実行し、前記特定の条件が成立した場合には前記第2のバンクの先頭位置に格納された前記第3プログラムを実行するように構成されている、
    請求項1からの何れか一項に記載の情報処理装置。
  10. 請求項1から9の何れか一項に記載の情報処理装置を備えたストレージ。
JP2020040206A 2020-03-09 2020-03-09 情報処理装置およびストレージ Active JP7249968B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020040206A JP7249968B2 (ja) 2020-03-09 2020-03-09 情報処理装置およびストレージ
US17/002,968 US11888990B2 (en) 2020-03-09 2020-08-26 Information processing device controlling analysis of a program being executed based on a result of verification of an analysis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020040206A JP7249968B2 (ja) 2020-03-09 2020-03-09 情報処理装置およびストレージ

Publications (2)

Publication Number Publication Date
JP2021140678A JP2021140678A (ja) 2021-09-16
JP7249968B2 true JP7249968B2 (ja) 2023-03-31

Family

ID=77556212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020040206A Active JP7249968B2 (ja) 2020-03-09 2020-03-09 情報処理装置およびストレージ

Country Status (2)

Country Link
US (1) US11888990B2 (ja)
JP (1) JP7249968B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4814993B2 (ja) 2007-03-27 2011-11-16 富士通株式会社 デバッグ対象機器、該認証プログラム、及びデバッグ認証方法
WO2012049750A1 (ja) 2010-10-14 2012-04-19 トヨタ自動車 株式会社 車両データ取得システム及び車両データ取得方法
JP2014048866A (ja) 2012-08-31 2014-03-17 Dainippon Printing Co Ltd アプリケーションプログラムの実行方法
JP2015036847A (ja) 2013-08-12 2015-02-23 株式会社東芝 半導体装置
JP2016038779A (ja) 2014-08-08 2016-03-22 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
JP2017033248A (ja) 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム
US20170249456A1 (en) 2014-11-14 2017-08-31 Huawei Technologies Co., Ltd. Application program integrity verification method and network device
JP2018195329A (ja) 2018-07-19 2018-12-06 株式会社東芝 情報処理装置

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226257A (ja) * 1986-03-27 1987-10-05 Toshiba Corp 演算処理装置
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
US5349680A (en) * 1990-11-07 1994-09-20 Kabushiki Kaisha Toshiba Information processing apparatus for executing application programs under control of a system program
JPH04213109A (ja) * 1990-12-07 1992-08-04 Toshiba Corp 磁気ディスク制御装置
JP3590075B2 (ja) * 1992-01-20 2004-11-17 株式会社東芝 仮想記憶方式のデータ処理装置及び方法
US5659759A (en) * 1992-09-21 1997-08-19 Kabushiki Kaisha Toshiba Data processing device having improved interrupt controller to process interrupts of different priority levels
JPH06236299A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd システム監視方法及び監視装置
JPH10171665A (ja) * 1996-12-09 1998-06-26 Toshiba Corp ジャンプコード・ジェネレータ、割り込みプログラム選択装置、割り込みプログラム選択方式、及び計算機
JP3397230B2 (ja) * 1997-05-28 2003-04-14 松下電器産業株式会社 デバッグシステム
JPH11175412A (ja) * 1997-12-12 1999-07-02 Nec Corp ディスク制御装置における状態情報採取方式及びプログラムを記録した機械読み取り可能な記録媒体
US6775778B1 (en) * 1998-05-29 2004-08-10 Texas Instruments Incorporated Secure computing device having boot read only memory verification of program code
US6553513B1 (en) * 1999-02-19 2003-04-22 Texas Instruments Incorporated Emulation suspend mode with differing response to differing classes of interrupts
JP3873603B2 (ja) * 1999-10-22 2007-01-24 株式会社日立製作所 ディジタル署名方法および装置
US7270193B2 (en) * 2000-02-14 2007-09-18 Kabushiki Kaisha Toshiba Method and system for distributing programs using tamper resistant processor
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
JP2002063084A (ja) * 2000-08-21 2002-02-28 Toshiba Corp パケット転送装置、パケット転送方法、及びそのプログラムが格納された記憶媒体
DE10062995A1 (de) * 2000-12-16 2002-07-11 Micronas Gmbh Unterbrecher-Steuereinrichtung
JP4230122B2 (ja) * 2001-03-30 2009-02-25 株式会社ルネサステクノロジ マイクロコンピュータ、書込み方法及び消去方法
JP2003067222A (ja) * 2001-08-28 2003-03-07 Hitachi Ltd 業務フローの稼動情報取得方法および業務フローシステム
JP2004171416A (ja) * 2002-11-21 2004-06-17 Ntt Docomo Inc 通信端末、価値実体提供サーバ、アプリケーション配信サーバ、電子購買支援システム、電子購買支援方法、及び電子購買支援プログラム
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20050273757A1 (en) * 2004-06-07 2005-12-08 Anderson Craig D Methods, systems, and computer program products for summarizing operational behavior of a computer program
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法
WO2008056700A1 (fr) 2006-11-09 2008-05-15 Panasonic Corporation Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals
CN101606164B (zh) * 2007-02-09 2013-03-27 株式会社Ntt都科摩 终端装置以及软件检查方法
US7904651B2 (en) * 2007-02-28 2011-03-08 Hitachi, Ltd. Storage device with disk power control based on logical storage area
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
JP2009187049A (ja) * 2008-02-01 2009-08-20 Fujitsu Ltd 装置
JP5346608B2 (ja) * 2009-02-06 2013-11-20 Kddi株式会社 情報処理装置およびファイル検証システム
JP2011159349A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 磁気ディスク装置、制御方法および情報処理装置
JP4834774B2 (ja) * 2010-02-26 2011-12-14 株式会社東芝 データ記憶装置のコントローラ、データ記憶装置及びその制御方法
US9392017B2 (en) * 2010-04-22 2016-07-12 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for inhibiting attacks on embedded devices
US8645714B2 (en) * 2010-05-25 2014-02-04 Via Technologies, Inc. Branch target address cache for predicting instruction decryption keys in a microprocessor that fetches and decrypts encrypted instructions
JP4886877B2 (ja) * 2010-05-31 2012-02-29 株式会社東芝 記録媒体制御装置、及びその方法
JP5368490B2 (ja) * 2011-01-24 2013-12-18 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
EP2506176A1 (en) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
TWI557746B (zh) * 2011-05-10 2016-11-11 電子戰協會公司 實施微電腦為基的電路之內容驗證的系統及方法
JP5127955B2 (ja) * 2011-05-24 2013-01-23 株式会社東芝 情報記録装置、及び情報記録方法
JP4908649B2 (ja) * 2011-06-28 2012-04-04 株式会社東芝 記録装置およびヘッド突出量制御方法
JP5543949B2 (ja) * 2011-09-21 2014-07-09 株式会社東芝 制御装置およびモニタプログラム
JP5796447B2 (ja) * 2011-10-07 2015-10-21 株式会社リコー 情報処理装置、正当性検証方法、正当性検証プログラム
TWI559167B (zh) * 2011-11-04 2016-11-21 系微股份有限公司 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
WO2013161974A1 (ja) * 2012-04-24 2013-10-31 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5702352B2 (ja) * 2012-10-31 2015-04-15 株式会社オプティム ユーザ端末、信頼性管理サーバ、不正遠隔操作防止方法、及び不正遠隔操作防止プログラム
JP6279217B2 (ja) * 2013-03-08 2018-02-14 株式会社東芝 Icカード、電子装置、及び携帯可能電子装置
JP6067449B2 (ja) * 2013-03-26 2017-01-25 株式会社東芝 情報処理装置、情報処理プログラム
EP2979214A4 (en) * 2013-03-28 2016-11-30 Irdeto Bv DETECTION OF SOFTWARE APPLICATION FOLDS
KR101584218B1 (ko) * 2013-10-17 2016-01-12 주식회사 씽크풀 애플리케이션 제어방법 및 이를 위한 제어시스템
KR20150045053A (ko) * 2013-10-17 2015-04-28 주식회사 씽크풀 애플리케이션 제어방법 및 이를 위한 제어시스템
JP5899384B1 (ja) * 2014-06-13 2016-04-06 アーティス株式会社 アプリケーションプログラム
US9390258B2 (en) * 2014-07-16 2016-07-12 General Electric Company Systems and methods for verifying the authenticity of an application during execution
US9612899B2 (en) * 2015-03-04 2017-04-04 International Business Machines Corporation Collaborative collection of diagnostics data of software programs
US9454461B1 (en) * 2015-04-15 2016-09-27 International Business Machines Corporation Call stack display with program flow indication
JP6791134B2 (ja) * 2015-06-16 2020-11-25 日本電気株式会社 分析システム、分析方法、分析装置及び、コンピュータ・プログラム
KR20150099697A (ko) * 2015-08-11 2015-09-01 주식회사 씽크풀 애플리케이션 제어방법 및 이를 위한 제어시스템
KR102029045B1 (ko) * 2017-11-17 2019-10-07 주식회사 바이널익스피리언스 이동 단말기의 사용을 제한하고, 상기 이동 단말기에 설치된 애플리케이션의 유해 점수를 계산하는 디지털 디톡스 프로그램과 디지털 디톡스 서비스 제공 방법
CN109992437B (zh) * 2017-12-29 2020-08-14 华为技术有限公司 硬盘闪断的处理方法、装置、设备和存储介质
JP7052396B2 (ja) * 2018-02-13 2022-04-12 日本電気株式会社 資料採取サーバ、資料採取システム、資料採取方法および資料採取プログラム
JP7152920B2 (ja) * 2018-09-28 2022-10-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP7187267B2 (ja) * 2018-10-31 2022-12-12 キヤノン株式会社 情報処理装置及びその制御方法
KR102537788B1 (ko) * 2018-11-28 2023-05-30 삼성전자주식회사 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법
JP2020095470A (ja) * 2018-12-12 2020-06-18 キヤノン株式会社 情報処理装置及びその制御方法
JP7263101B2 (ja) * 2019-04-26 2023-04-24 キヤノン株式会社 情報処理装置、データ検証方法
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4814993B2 (ja) 2007-03-27 2011-11-16 富士通株式会社 デバッグ対象機器、該認証プログラム、及びデバッグ認証方法
WO2012049750A1 (ja) 2010-10-14 2012-04-19 トヨタ自動車 株式会社 車両データ取得システム及び車両データ取得方法
JP2014048866A (ja) 2012-08-31 2014-03-17 Dainippon Printing Co Ltd アプリケーションプログラムの実行方法
JP2015036847A (ja) 2013-08-12 2015-02-23 株式会社東芝 半導体装置
JP2016038779A (ja) 2014-08-08 2016-03-22 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
US20170249456A1 (en) 2014-11-14 2017-08-31 Huawei Technologies Co., Ltd. Application program integrity verification method and network device
JP2017033248A (ja) 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム
JP2018195329A (ja) 2018-07-19 2018-12-06 株式会社東芝 情報処理装置

Also Published As

Publication number Publication date
JP2021140678A (ja) 2021-09-16
US20210281423A1 (en) 2021-09-09
US11888990B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
US7818556B2 (en) Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update
US7681071B2 (en) Storage apparatus, control method therefor and program
US8789137B2 (en) Data processing device
US20100058066A1 (en) Method and system for protecting data
US20050229033A1 (en) Disk array controller and information processing apparatus
US10720225B2 (en) Information processing apparatus, control method thereof, and storage mediumMD
JP4941556B2 (ja) 暗号化装置、暗号化方法および暗号化プログラム
US20080126784A1 (en) Storage apparatus, control method, and control device
JP2008046791A (ja) 記憶装置、ファームウェア更新方法、及び制御装置
US11604599B2 (en) Methods and apparatus for use in sanitizing a network of non-volatile memory express devices
US20060259814A1 (en) Method and system for optimizing testing of memory stores
US8964237B2 (en) Imaging device including wear leveling for non-volatile memory and secure erase of data
JP2006236193A (ja) 起動プログラム実行方法、デバイス、記憶媒体及びプログラム
US20100199106A1 (en) Magnetic disk apparatus and cipher key updating method
US6480933B1 (en) Disk cache device and method for secure writing of hard disks in mass memory subsystems
US11455115B2 (en) Storage device
US20150006911A1 (en) Wear Leveling Non-Volatile Memory and Secure Erase of Data
JP7249968B2 (ja) 情報処理装置およびストレージ
JP2004341768A (ja) 磁気ディスク装置、暗号処理方法及びプログラム
US20100299555A1 (en) Protection of data on failing storage devices
US20060277353A1 (en) Virtual tape library device, virtual tape library system, and method for writing data to a virtual tape
US20100191944A1 (en) Data storage apparatus
US20210279371A1 (en) Cryptographic apparatus and self-test method of cryptographic apparatus
US7694071B1 (en) Disk drives and methods allowing configurable zoning
CN113127896B (zh) 基于独立加密芯片的数据处理方法及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R150 Certificate of patent or registration of utility model

Ref document number: 7249968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150