JP6368531B2 - 暗号処理装置、暗号処理システム、および暗号処理方法 - Google Patents

暗号処理装置、暗号処理システム、および暗号処理方法 Download PDF

Info

Publication number
JP6368531B2
JP6368531B2 JP2014092865A JP2014092865A JP6368531B2 JP 6368531 B2 JP6368531 B2 JP 6368531B2 JP 2014092865 A JP2014092865 A JP 2014092865A JP 2014092865 A JP2014092865 A JP 2014092865A JP 6368531 B2 JP6368531 B2 JP 6368531B2
Authority
JP
Japan
Prior art keywords
processing
mode
key data
encryption
cryptographic
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
JP2014092865A
Other languages
English (en)
Other versions
JP2015211383A (ja
Inventor
達広 白井
達広 白井
Original Assignee
達広 白井
達広 白井
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 達広 白井, 達広 白井 filed Critical 達広 白井
Priority to JP2014092865A priority Critical patent/JP6368531B2/ja
Priority to EP14187890.0A priority patent/EP2940621B1/en
Priority to US14/508,058 priority patent/US9411984B2/en
Publication of JP2015211383A publication Critical patent/JP2015211383A/ja
Application granted granted Critical
Publication of JP6368531B2 publication Critical patent/JP6368531B2/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/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/72Protecting 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 in cryptographic circuits
    • 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/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
    • 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

Landscapes

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

Description

本発明は、暗号処理装置、暗号処理システム、および暗号処理方法に関し、特に例えば、データを暗号化および復号することが可能な暗号処理装置、暗号処理システム、および暗号処理方法に関する。
従来、暗号鍵を用いて暗号化および復号する装置がある(例えば、特許文献1参照)。例えば、上記特許文献1で開示された装置は、暗号化するプログラムが改ざんされている場合、当該プログラムによる暗号化を不可能にすることによって、不正な暗号化を防止している。
特開2012−165289号公報
しかしながら、さらなるセキュリティの向上が求められており、新たな安全性向上技術が必要となっている。
それ故に、本発明の目的は、新規な、暗号処理装置、暗号処理システム、および暗号処理方法を提供することである。
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
本発明の暗号処理装置の一構成例は、データを暗号化および復号する。暗号処理装置は、鍵データ記憶領域、モード設定手段、および処理制限手段を備える。鍵データ記憶領域は、暗号化および/または復号に用いる複数の鍵データを記憶する。モード設定手段は、鍵データ記憶領域に記憶された複数の鍵データのうち、少なくとも1つの鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて設定する。処理制限手段は、鍵データに対応付けて処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードとモード設定手段において設定されている当該鍵データに対応付けられた処理モードとが一致する場合に限って、当該鍵データを用いた当該処理モードによる処理を許可する。
上記によれば、少なくとも1つの鍵データに暗号化処理および復号処理の何れかの処理モードを対応付けて設定することによって、当該鍵データを使用する処理モードを暗号化処理および復号処理の一方に限定する、新規な暗号処理を実現することができる。
また、暗号化処理および復号処理の何れかの処理モードを対応付けた上記鍵データは、暗号化処理と復号処理とに用いることができる共通鍵の鍵データでもよい。
上記によれば、共通鍵の鍵データを使用する処理モードを暗号化処理および復号処理の一方に限定する、新規な暗号処理を実現することができる。
また、上記鍵データ記憶領域には、暗号処理装置の起動時に鍵データが書き込まれてもよい。上記モード設定手段は、暗号処理装置の起動時に書き込まれた鍵データに対応する処理モードを設定してもよい。
上記によれば、起動時に鍵データおよび当該鍵データに対応する処理モードを設定することによって、他の装置が先に当該設定を行うことを防止することができるとともに、起動直後に暗号処理が可能となる。
また、セキュアなシステムファームウエアの実行によって、上記鍵データ記憶領域に鍵データが書き込まれてもよい。システムファームウエアの実行によって、書き込まれた鍵データに対応する処理モードが上記モード設定手段に設定されてもよい。
上記によれば、鍵データおよび当該鍵データに対応する処理モードの設定がセキュアなシステムファームウエアによって行われるため、設定内容に対する安全性を高めることができる。
また、上記システムファームウエアは、ブートROMに格納されたブートプログラムでもよい。
上記によれば、鍵データおよび当該鍵データに対応する処理モードの設定がブートプログラムによって行われるため、起動時に当該設定を行うことができ、設定内容に対する安全性を高めることができる。
また、上記処理制限手段は、受け付けたモード指定コマンドで指定された処理モードとモード設定手段において設定されている処理モードとが一致しない場合、当該処理モードで用いられる鍵データを鍵データ記憶領域から消去してもよい。
上記によれば、鍵データを消去することによって、当該鍵データを用いて許可されていない処理が行われることを防止することができる。
また、上記処理制限手段は、受け付けたモード指定コマンドで指定された処理モードとモード設定手段において設定されている処理モードとが一致しない場合、当該モード指定コマンドを破棄してもよい。
上記によれば、許可されていない処理モードによる処理を禁止することができる。
また、上記暗号処理装置は、ダミー鍵データ記憶領域を、さらに備えてもよい。ダミー鍵データ記憶領域は、鍵データとは異なるダミー鍵データを記憶する。この場合、上記処理制限手段は、受け付けたモード指定コマンドで指定された処理モードとモード設定手段において設定されている処理モードとが一致しない場合、処理手段においてダミー鍵データを用いて当該処理モードで処理する制御を行ってもよい。
上記によれば、正規な鍵データを用いて許可されていない処理が行われることを防止することができる。
また、上記処理制限手段は、受け付けたモード指定コマンドで指定された処理モードとモード設定手段において設定されている処理モードとが一致しない場合、当該処理モードで処理するためのデータ入力の受付を拒否してもよい。
上記によれば、許可されていない処理モードで入力データを処理することを禁止することができる。
また、上記処理制限手段は、受け付けたモード指定コマンドで指定された処理モードとモード設定手段において設定されている処理モードとが一致しない場合、当該処理モードによって処理されたデータとして当該処理とは異なる処理によって生成されたデータを出力してもよい。
上記によれば、許可されていない処理モードにおいて正規なデータが出力されることを防止することができる。
本発明の暗号処理装置の他の構成例は、データを暗号化および復号する。暗号処理装置は、鍵データ記憶領域、モード設定手段、および処理制限手段を備える。鍵データ記憶領域は、暗号化および/または復号に用いる鍵データを記憶する。モード設定手段は、鍵データ記憶領域に記憶された鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて設定する。処理制限手段は、処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードとモード設定手段において設定されている処理モードとが一致する場合に限って、当該処理モードに対応付けられている鍵データを用いて当該処理モードによる処理を許可する。
上記によれば、記憶された1つの鍵データに暗号化処理および復号処理の何れかの処理モードを対応付けて設定することによって、当該鍵データを使用する処理モードを暗号化処理および復号処理の一方に限定する、新規な暗号処理を実現することができる。
また、本発明は、上記各手段を備える暗号処理システムや上記各手段で行われる動作を含む暗号処理方法の形態で実施されてもよい。
本発明によれば、少なくとも1つの鍵データに暗号化処理および復号処理の何れかの処理モードを対応付けて設定することによって、当該鍵データを使用する処理モードを暗号化処理および復号処理の一方に限定する、新規な暗号処理を実現することができる。
暗号処理ハードウエア3を含む暗号処理システム1の一例を示すブロック図 暗号処理ハードウエア3aの一例を示すブロック図 第1の例の暗号処理ハードウエア3aを含む暗号処理システム1における動作の一例を時間軸に沿って表現した図 暗号処理ハードウエア3bの一例を示すブロック図 第2の例の暗号処理ハードウエア3bを含む暗号処理システム1における動作の一例を時間軸に沿って表現した図 パスワード制御システムの概要の一例を示す図
図1を参照して、本発明の一実施形態に係る暗号処理装置を含む暗号処理システムについて説明する。なお、図1は、暗号処理装置の一例である暗号処理ハードウエア3を含む暗号処理システム1の一例を示すブロック図である。
例えば、暗号処理システム1は、情報処理装置内に設けられる。ここで、暗号処理システム1を含む情報処理装置は、交換可能なメモリカードや光ディスク等の記録媒体内に記憶された、または、サーバや他の装置から受信されたプログラムを実行可能である。また、上記情報処理装置は、携帯ゲーム装置や据置型ゲーム装置であってもよく、一般的なパーソナルコンピュータ、携帯電話機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。なお、上記情報処理装置は、1以上の装置によって構成されてもよく、当該情報処理装置に含まれる暗号処理システム1は、複数の装置に分散して設けられてもよい。
暗号処理システム1は、CPU2、暗号処理ハードウエア3、ROM4、RAM5、NAND6、NAND I/F7等がバス8を介して接続されて構成されている。例えば、バス8は、データ、コマンド、アドレス等の送信に用いられ、一例として、CPU2が実行させる各種命令(コマンド)を送信する。
CPU2は、各種の情報処理を実行するための情報処理手段(コンピュータ)の一例であり、そのチップ内にブートROM21を内蔵している。CPU2は、各種の情報処理の1つとして、ブートROM21内に設定されているデータを用いて、暗号処理ハードウエア3に対する初期設定を行う処理等を実行する機能を有する。例えば、CPU2が所定のプログラムを実行することによって、上記機能が実現される。ROM(Read Only Memory)4およびRAM(Random Access Memory)5、NAND(NAND型フラッシュメモリ)6は、それぞれCPU2がバス8および/またはNAND I/F(インターフェース)7を介してアクセス可能なメモリであり、それぞれCPU2が上記処理を実行する際に用いる各種のデータを記憶する。なお、CPU2が実行するプログラムは、CPU2がアクセス可能な記憶装置(記憶媒体)であればどのようなものに格納されていてもよく、例えば、ROM4やNAND6に格納されていてもよい。上記プログラムは、CPU2を含む情報処理装置内に設けられる記憶装置に格納されてもよいし、CPU2を含む情報処理装置に着脱自在に装着される記憶媒体に格納されてもよい。また、上記プログラムは、CPU2とネットワークを介して接続される記憶装置(サーバ等)に格納されてもよい。CPU2は、上記プログラムの一部または全部を適宜のタイミングでRAM5に読み出し、読み出されたプログラムを実行するようにしてもよい。
次に、図2を参照して、暗号処理ハードウエア3の第1の例(以下、第1の例に係る暗号処理ハードウエア3の参照符号を「3a」とする)について説明する。なお、図2は、暗号処理ハードウエア3aの一例を示すブロック図である。
図2において、暗号処理ハードウエア3aは、鍵設定レジスタ31、モード指定レジスタ32a、データ入力回路33、データ出力回路34、鍵使用制限ロジック回路35a、および暗号復号回路36を備えている。暗号処理ハードウエア3aは、例えば共通鍵暗号方式を用いて入力データを暗号化および/または復号する暗号処理装置として機能する。例えば、暗号処理ハードウエア3aは、AES(Advanced Encryption Standard)暗号方式を用いて暗号化および/または復号が可能であり、一例としてCBC(Cipher Block Chaining)動作モード、CTR(Counter)動作モード、ECB(Electronic CodeBook)動作モード、CFB(Cipher FeedBack)動作モード、OFB(Output FeedBack)操作モード等で動作する。なお、暗号処理ハードウエア3aは、AES暗号方式に限らず、他の暗号化方式を用いて暗号化および/または復号する暗号処理装置であってもよい。
鍵設定レジスタ31は、少なくとも1つの暗号鍵データ(第1の例では1つの暗号鍵データ)を保持する。鍵設定レジスタ31は、いかなるソフトウエアからも書き込むことが可能であるが、読み出すことができない、アクセス制限回路を有している。そして、鍵設定レジスタ31は、暗号処理システム1の起動時に自動的に実行されるセキュアなソフトウエアによって書き込まれた暗号鍵データを保持する。ここで、セキュアなソフトウエアとは、一般的なアプリケーションプログラムとは異なり、プログラムの平文の導出や改ざんができないシステムファームウエア等であり、ブートプログラム、ファームウエア、カーネル等を含んでいる。本実施例では、ブートプログラムは、ブートROM21に格納されており、ファームウエアおよびカーネルは、NAND6に格納されている。なお、鍵設定レジスタ31に保持される暗号鍵データは、暗号鍵データを生成するための種となる暗号種データでもよい。
モード指定レジスタ32aは、鍵設定レジスタ31に保持されている暗号鍵データの用途(例えば、暗号化処理モードおよび復号処理モードの一方)を示すデータを保持する。例えば、第1の例では、鍵設定レジスタ31に書き込まれた暗号鍵データが暗号化処理モードおよび復号処理モードの何れにも用いることができる、いわゆる共通鍵データであっても、その用途が暗号化処理モードおよび復号処理モードの何れか一方に制限される。そして、鍵設定レジスタ31に書き込まれた暗号鍵データの処理モード制限を示すデータ(例えば、暗号化処理モードに用途が制限された暗号鍵データなのか、復号処理モードに用途が制限された暗号鍵データなのかを示す数値データ)が、暗号処理システム1の起動時に自動的に実行されるセキュアなソフトウエアによって、モード指定レジスタ32aに書き込まれる。また、暗号処理ハードウエア3aを用いて他の装置がモード指定レジスタ32aに既に設定されている処理モードと異なる処理モードで処理をする場合は、モード指定レジスタ32aに保持されているデータを要求する処理モードに対応するデータに、当該他の装置によって変更される。
データ入力回路33は、暗号化または復号するために他の装置が暗号処理ハードウエア3aへ送信したデータを受け付けて、暗号処理ハードウエア3aへデータを入力するための入力手段として機能する。データ出力回路34は、暗号処理ハードウエア3aによって処理されたデータを、他の装置へ出力する出力手段として機能する。
鍵使用制限ロジック回路35aは、鍵設定レジスタ31に保持されている暗号鍵データの使用を、設定されている処理モードに応じて制限する。例えば、第1の例における鍵使用制限ロジック回路35aは、モード指定レジスタ32aに保持されているデータが変更されることに応じて、当該データによってその用途が制限されている暗号鍵データを鍵設定レジスタ31から消去する。一例として、鍵設定レジスタ31に保持されている暗号鍵データが復号処理モードにその用途が制限されている状態に対して、他の装置が当該暗号鍵データを暗号化処理モードで使用しようとした場合、当該他の装置がモード指定レジスタ32aに保持されているデータ(すなわち、復号処理モードを示すデータ)を暗号化処理モードに対応するデータに変更する。この場合、鍵使用制限ロジック回路35aは、上記他の装置が使用しようとしている暗号鍵データを鍵設定レジスタ31から消去する。これによって、上記他の装置は、鍵設定レジスタ31に保持されている暗号鍵データを暗号化処理モードで使用できないため、結果的に、共通鍵データであっても当該暗号鍵データの用途が復号処理モードに制限されることになる。
暗号復号回路36は、データ入力回路33に入力したデータを暗号化または復号して、当該処理後のデータをデータ出力回路34へ出力する。例えば、暗号復号回路36は、鍵設定レジスタ31に保持されている暗号鍵データを用いて、モード指定レジスタ32aに保持されている処理モードで入力データを処理し、当該処理後のデータを出力する。なお、暗号復号回路36は、モード指定レジスタ32aに保持されている処理モードに対応する暗号鍵データが鍵設定レジスタ31から消去されている場合、所定の鍵データ(例えば、数値0の鍵データ)を用いて当該処理モードで入力データを処理してもよいし、入力データをそのまま出力データとして出力してもよい。
次に、図3を参照して、第1の例の暗号処理ハードウエア3aを含む暗号処理システム1において行われる動作概要の一例について説明する。なお、図3は、第1の例の暗号処理ハードウエア3aを含む暗号処理システム1における動作の一例を時間軸に沿って表現した図である。
図3において、暗号処理システム1の電源が投入されると、ソフトウエアAは、暗号処理ハードウエア3aを用いた処理を許可する処理モードを設定する。例えば、ソフトウエアAは、セキュアなソフトウエアの一例であるシステムファームウエアである。一例として、ソフトウエアAは、他のソフトウエアからアクセスできないソフトウエアであり、CPU2のチップ内に設けられたブートROM21内に格納されたブートプログラムである。例えば、上記ブートプログラムは、暗号処理システム1の起動時に自動的にCPU2によって実行されるソフトウエアである。
次に、ソフトウエアAは、モード指定値をモード指定レジスタ32aに書き込んで、暗号処理ハードウエア3aによって処理可能な処理モードを制限する。例えば、ソフトウエアAは、復号処理モードを示すモード指定値をモード指定レジスタ32aに書き込んで、暗号処理ハードウエア3aによって処理可能な処理モードを復号処理モードに制限する。
モード指定レジスタ32aに新たなモード指定値が書き込まれた場合、鍵使用制限ロジック回路35aは、鍵設定レジスタ31に保持されている暗号鍵データを消去する。モード指定レジスタ32aは、いかなるソフトウエアからも書き込み可能に構成されているが、新たなモード指定値が書き込まれたり、書き込まれた値が変更されたりした場合、鍵使用制限ロジック回路35aが鍵設定レジスタ31に保持されている暗号鍵データを消去する。
次に、ソフトウエアAは、暗号処理ハードウエア3aによって処理する処理モード(例えば、復号処理モード)に用いる暗号鍵データを鍵設定レジスタ31に書き込む。これによって、暗号処理ハードウエア3aには、暗号処理システム1の電源投入時に、暗号鍵データと当該暗号鍵データを用いて処理可能な制限された処理モードとが設定された状態となる。
上述したように暗号鍵データと制限された処理モードとが設定された状態で、暗号処理ハードウエア3aの外部にある外部装置(ソフトウエアB)から第1の例の暗号処理システム1に対する処理要求が行われた場合を説明する。
例えば、暗号処理ハードウエア3aに設定されている制限された処理モード(例えば、復号処理モード)による処理要求がソフトウエアBから行われる場合、暗号処理ハードウエア3aは、ソフトウエアBから暗号鍵データに対応付けて当該処理モードを指定するモード指定コマンドを取得する。例えば、暗号処理ハードウエア3aは、復号処理モードを示すモード指定値をモード指定レジスタ32aに書き込むコマンドをソフトウエアBから取得する。これに対して、モード指定レジスタ32aには既に復号処理モードを示すモード指定値が設定されているため、モード指定レジスタ32aを書き換える必要がなく、鍵使用制限ロジック回路35aは、鍵設定レジスタ31に保持されている暗号鍵データを維持する。そして、ソフトウエアBから復号処理するための入力データがデータ入力回路33に入力された場合、暗号復号回路36は、鍵設定レジスタ31に保持されている暗号鍵データを用いて入力データを復号処理する。そして、復号されたデータは、データ出力回路34を介して、ソフトウエアBへ出力される。
一方、暗号処理ハードウエア3aに設定されている制限された処理モードとは異なる処理モード(例えば、暗号化処理モード)による処理要求がソフトウエアBから行われる場合も、暗号処理ハードウエア3aは、ソフトウエアBから暗号鍵データに対応付けて当該処理モードを指定するモード指定コマンドを取得する。例えば、暗号処理ハードウエア3aは、暗号化処理モードを示すモード指定値をモード指定レジスタ32aに書き込むコマンドをソフトウエアBから取得する。これに対して、モード指定レジスタ32aには既に復号処理モードを示すモード指定値が設定されているため、モード指定レジスタ32aが暗号化処理モードを示すモード指定値に書き換えられる。したがって、鍵使用制限ロジック回路35aは、モード指定レジスタ32aのモード指定値が書き換えられることに応じて、鍵設定レジスタ31に保持されている暗号鍵データを消去する。そして、ソフトウエアBから暗号化処理するための入力データがデータ入力回路33に入力された場合、暗号復号回路36は、例えば所定の鍵データ(例えば、数値0の鍵データ)を用いて入力データを暗号化処理して出力する。そして、暗号復号回路36から出力されたデータは、データ出力回路34を介して、ソフトウエアBへ出力される。
このように、暗号処理ハードウエア3aに設定されている制限された処理モードとは異なる処理モードによる処理が外部装置から要求された場合、当該処理を要求するモード指定値をモード指定レジスタ32aに設定すると当該処理に必要な暗号鍵データが消去されるため、当該暗号鍵データを維持したまま初期設定された処理モードを変更することができない。また、暗号鍵データは、鍵設定レジスタ31から読み出すこともできない。さらに、ソフトウエアA以外のソフトウエアは、上記暗号鍵データを知らないため、一旦暗号鍵データが鍵設定レジスタ31から消去されてしまうと、正しい暗号鍵データを再設定することもできない。このように、暗号鍵データに処理モード(例えば、暗号化処理モードおよび復号処理モードの何れか)を対応付けて設定することによって、ソフトウエアAによって設定された暗号鍵データが悪用されることを抑止することができる。
なお、上述した暗号処理ハードウエア3の第1の例では、鍵設定レジスタ31に1つの暗号鍵データを保持する場合について説明したが、鍵設定レジスタ31に複数の暗号鍵データを保持してもよい。例えば、暗号化および/または復号するデータの用途(例えば、ハードディスク用データ、ゲームプログラム用データ、セーブ用データ、SDメモリカード用データ、光ディスク用データ、メモリカード用データ、NAND用データ等)、暗号方式、動作モード(例えば、CBC動作モード、CTR動作モード、ECB動作モード、CFB動作モード、OFB操作モード)毎に、暗号鍵データを保持することが考えられる。この場合、鍵設定レジスタ31に保持される暗号鍵データ毎にそれぞれモード指定レジスタを暗号処理ハードウエア3aに設け、複数の暗号鍵データに処理モード(例えば、暗号化処理モードおよび復号処理モードの何れか)をそれぞれ対応付けてモード指定レジスタに設定する。また、外部装置(ソフトウエアB)から暗号鍵データに対応付けて処理モードを指定するモード指定コマンドを取得した場合、当該モード指定コマンドで指示されている暗号鍵データを指定するための鍵番号設定レジスタを暗号処理ハードウエア3aに設け、指定された番号に応じた暗号鍵データとモード指定レジスタとの組を対象として上述した動作を行う。これによって、複数の暗号鍵データが保持される場合も同様に、暗号鍵データの悪用を抑止することができる。
次に、図4を参照して、暗号処理ハードウエア3の第2の例(以下、第2の例に係る暗号処理ハードウエア3の参照符号を「3b」とする)について説明する。なお、図4は、暗号処理ハードウエア3bの一例を示すブロック図である。
図4において、暗号処理ハードウエア3bは、鍵設定レジスタ31、モード指定レジスタ32b、データ入力回路33、データ出力回路34、鍵使用制限ロジック回路35b、暗号復号回路36、モード制限レジスタ37、および設定完了レジスタ38を備えている。暗号処理ハードウエア3bは、暗号処理ハードウエア3aと同様に、例えば共通鍵暗号方式を用いて入力データを暗号化および/または復号する暗号処理装置として機能する。なお、暗号処理ハードウエア3bが処理可能な暗号方式の例についても暗号処理ハードウエア3aと同様であるため、詳細な説明を省略する。また、暗号処理ハードウエア3bに備えられている、鍵設定レジスタ31、データ入力回路33、データ出力回路34、および暗号復号回路36についても、暗号処理ハードウエア3aと同様であるため、同一の参照符号を付して詳細な説明を省略する。
モード指定レジスタ32bは、外部装置から要求された処理モードを示すモード指定値を保持する。例えば、第2の例でも、鍵設定レジスタ31に書き込まれた暗号鍵データが暗号化処理モードおよび復号処理モードの何れにも用いることができる、いわゆる共通鍵データであっても、その用途が暗号化処理モードおよび復号処理モードの何れか一方に制限される。しかしながら、第2の例では、モード指定レジスタ32bにはセキュアなソフトウエアによってモード指定値が書き込まれることはなく、処理要求された処理モードを示すモード指定値が当該要求に応じて書き込まれる。
モード制限レジスタ37は、鍵設定レジスタ31に保持されている暗号鍵データの用途(例えば、暗号化処理モードおよび復号処理モードの一方)を制限するモード制限値を示すデータを保持する。鍵設定レジスタ31に書き込まれた暗号鍵データの処理モード制限を示すデータ(例えば、暗号化処理モードに用途が制限された暗号鍵データなのか、復号処理モードに用途が制限された暗号鍵データなのかを示すデータ)は、暗号処理システム1の起動時に自動的に実行されるセキュアなソフトウエアによって、モード制限レジスタ37に書き込まれる。
設定完了レジスタ38は、モード制限レジスタ37への書き込み可否を制限する。例えば、設定未完了を意味するデータ(例えば、数値0を示すデータ)が設定完了レジスタ38に書き込まれている場合、モード制限レジスタ37への書き込みは可能となるが、設定完了を意味するデータ(例えば、数値1を示すデータ)の書き込みが設定完了レジスタ38に行われると、それ以降、モード制限レジスタ37への書き込みができなくなる。そして、設定完了レジスタ38は、設定完了を意味するデータが書き込まれると、当該設定完了の解除はできない構成になっている。
鍵使用制限ロジック回路35bは、鍵設定レジスタ31に保持されている暗号鍵データの使用を、モード制限レジスタ37に設定されている処理モードに制限する。例えば、第2の例における鍵使用制限ロジック回路35bは、モード制限値が示す処理モードによる処理が要求された場合のみ、モード指定レジスタ32bに対するモード指定を有効にする。具体的には、鍵使用制限ロジック回路35bは、モード指定レジスタ32bへ書き込まれたモード指定値に対応して有効とする処理モードを、モード制限レジスタ37に保持されているモード制限値が示す処理モードに限定する。したがって、外部装置がモード制限レジスタ37に保持されているモード制限値の処理モードしか有効とならないため、共通鍵データであってもモード制限値が示す処理モードに暗号鍵データの用途が制限されることになる。
次に、図5を参照して、第2の例の暗号処理ハードウエア3bを含む暗号処理システム1において行われる動作概要の一例について説明する。なお、図5は、第2の例の暗号処理ハードウエア3bを含む暗号処理システム1における動作の一例を時間軸に沿って表現した図である。
図5において、暗号処理システム1の電源が投入されると、ソフトウエアAは、暗号処理ハードウエア3bを用いた処理を許可する処理モードを設定する。例えば、ソフトウエアAは、セキュアなソフトウエアの一例であるシステムファームウエアである。一例として、ソフトウエアAは、他のソフトウエアからアクセスできないソフトウエアであり、CPU2のチップ内に設けられたブートROM21内に格納されたブートプログラムである。例えば、上記ブートプログラムは、暗号処理システム1の起動時に自動的にCPU2によって実行されるソフトウエアである。
次に、ソフトウエアAは、モード制限値をモード制限レジスタ37に書き込んで、暗号処理ハードウエア3bによって処理可能な処理モードを制限する。例えば、ソフトウエアAは、復号処理モードを示すモード制限値をモード制限レジスタ37に書き込んで、暗号処理ハードウエア3bによって処理可能な処理モードを復号処理モードに制限する。また、ソフトウエアAは、暗号処理ハードウエア3bによって処理する処理モード(例えば、復号処理モード)に用いる暗号鍵データを鍵設定レジスタ31に書き込む。
そして、ソフトウエアAは、設定完了を意味するデータを設定完了レジスタ38に書き込んで、モード制限レジスタ37への書き込みができなくなる状態とする。これらの動作によって、暗号処理ハードウエア3bには、暗号処理システム1の電源投入時に、暗号鍵データと当該暗号鍵データを用いて処理可能な制限された処理モードとが設定され、当該処理モードの設定が変更できない状態となる。
上述したように暗号鍵データと制限された処理モードとが設定された状態で、外部装置(ソフトウエアB)から第2の例の暗号処理システム1に対する処理要求が行われた場合を説明する。
例えば、暗号処理ハードウエア3bに設定されている制限された処理モード(例えば、復号処理モード)による処理要求がソフトウエアBから行われる場合、暗号処理ハードウエア3bは、ソフトウエアBから暗号鍵データに対応付けて当該処理モードを指定するモード指定コマンドを取得する。例えば、暗号処理ハードウエア3bのモード指定レジスタ32aには、復号処理モードを示すモード指定値がソフトウエアBによって書き込まれる。これに対して、鍵使用制限ロジック回路35bは、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致する場合(すなわち、処理要求された処理モードが処理可能な制限された処理モードである場合)、モード指定レジスタ32bに設定された処理モード指定を有効にする。上記処理要求では、モード指定レジスタ32bに設定された処理モードがモード制限レジスタ37に設定されている復号処理モードと同じであるため、鍵使用制限ロジック回路35bは、当該処理要求に応じて鍵設定レジスタ31に保持されている暗号鍵データを用いた復号処理を許可する。そして、ソフトウエアBから復号処理するための入力データがデータ入力回路33に入力された場合、暗号復号回路36は、鍵設定レジスタ31に保持されている暗号鍵データを用いて入力データを復号処理する。そして、復号されたデータは、データ出力回路34を介して、ソフトウエアBへ出力される。
一方、暗号処理ハードウエア3bに設定されている制限された処理モードとは異なる処理モード(例えば、暗号化処理モード)による処理要求がソフトウエアBから行われる場合も、暗号処理ハードウエア3bは、ソフトウエアBから暗号鍵データに対応付けて当該処理モードを指定するモード指定コマンドを取得する。例えば、暗号処理ハードウエア3bのモード指定レジスタ32aには、暗号化処理モードを示すモード指定値がソフトウエアBによって書き込まれる。これに対して、鍵使用制限ロジック回路35bは、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致しない場合(すなわち、処理要求された処理モードが処理可能な制限された処理モードでない場合)、モード指定レジスタ32bに設定された処理モード指定を無効(モード変更をしない)にする。上記処理要求では、モード指定レジスタ32bに設定された処理モードがモード制限レジスタ37に設定されている復号処理モードと異なるため、鍵使用制限ロジック回路35bは、当該処理要求に応じた暗号化処理を許可しない。したがって、ソフトウエアBから暗号化処理するための入力データがデータ入力回路33に入力された場合であっても、暗号復号回路36は、入力データを暗号化処理しない。
このように、暗号処理ハードウエア3bに設定されている制限された処理モードとは異なる処理モードによる処理が外部装置から要求された場合、当該処理を要求するモード指定値がモード指定レジスタ32bに設定されることによる処理が有効とならずにモード変更ができないため、要求された処理を行うことができない。また、暗号鍵データは、鍵設定レジスタ31から読み出すこともできない。このように、暗号鍵データに処理モード(例えば、暗号化処理モードおよび復号処理モードの何れか)を対応付けて設定することによって、ソフトウエアAによって設定された暗号鍵データが悪用されることを抑止することができる。
なお、上述した暗号処理ハードウエア3の第2の例では、鍵設定レジスタ31に1つの暗号鍵データを保持する場合について説明したが、鍵設定レジスタ31に複数の暗号鍵データを保持してもよい。例えば、第1の例と同様に、暗号化および/または復号するデータの用途(例えば、ハードディスク用データ、ゲームプログラム用データ、セーブ用データ、SDメモリカード用データ、光ディスク用データ、メモリカード用データ、NAND用データ等)、暗号方式、動作モード(例えば、CBC動作モード、CTR動作モード、ECB動作モード、CFB動作モード、OFB操作モード)毎に、暗号鍵データを保持することが考えられる。この場合、鍵設定レジスタ31に保持される暗号鍵データ毎にそれぞれモード制限レジスタを暗号処理ハードウエア3bに設け、複数の暗号鍵データに処理モード(例えば、暗号化処理モードおよび復号処理モードの何れか)をそれぞれ対応付けてモード制限レジスタに設定する。また、外部装置(ソフトウエアB)から暗号鍵データに対応付けて処理モードを指定するモード指定コマンドを取得した場合、当該モード指定コマンドで指示されている暗号鍵データを指定するための鍵番号設定レジスタを暗号処理ハードウエア3bに設け、指定された番号に応じた暗号鍵データとモード制限レジスタとの組を対象としてモード指定レジスタ32bに設定された処理モードを有効にするか否かの判定動作を行う。これによって、複数の暗号鍵データが保持される場合も同様に、暗号鍵データの悪用を抑止することができる。
また、上述した暗号処理ハードウエア3の第2の例では、暗号処理ハードウエア3bに設定されている制限された処理モードとは異なる処理モードによる処理が外部装置から要求された場合に、モード変更ができない構成としたが、他の構成によって暗号鍵データの悪用を抑止してもよい。一例として、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致しない場合、鍵使用制限ロジック回路35bが鍵設定レジスタ31に保持されている暗号鍵データを消去してもよい。この場合、外部装置から要求された処理に用いる暗号鍵データが暗号処理ハードウエア3b内に保持されていない状態となるため、当該暗号鍵データの悪用を抑止することができる。
他の例として、暗号処理ハードウエア3b内に予めダミー鍵データを格納しておく。そして、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致しない場合、鍵使用制限ロジック回路35bが鍵設定レジスタ31に保持されている暗号鍵データを上記ダミー鍵データに切り替えてもよい。この場合、外部装置から要求された処理に用いる暗号鍵データがダミー鍵データに切り替えられて当該処理が行われるため、正規な処理結果を得ることができず、当該暗号鍵データの悪用を抑止することができる。なお、上記ダミー鍵データは、ブートプログラムの実行に応じて暗号処理ハードウエア3b内に格納されてもいいし、暗号処理ハードウエア3bの製造時に書き込まれてもよい。
他の例として、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致しない場合、鍵使用制限ロジック回路35bがデータ入力回路33へのデータ入力が受け付けられないようにしてもよい。この場合、外部装置(ソフトウエアB)が処理要求するデータをデータ入力回路33に入力したとしても、当該データが受け付けられないため、鍵設定レジスタ31に保持されている暗号鍵データの悪用を抑止することができる。
他の例として、モード制限レジスタ37に設定されている処理モードとモード指定レジスタ32bに設定されている処理モードとを比較して、双方が一致しない場合、データ出力回路34から出力されるデータが予め設定された固定値(例えば、0)となるように鍵使用制限ロジック回路35bが制御してもよい。この場合、外部装置(ソフトウエアB)が処理要求するデータをデータ入力回路33に入力したとしても、常に固定値のデータがデータ出力回路34から出力されるため、鍵設定レジスタ31に保持されている暗号鍵データの悪用を抑止することができる。
また、上述した暗号処理ハードウエア3の第1の例および第2の例では、処理を許可する処理モードをモード指定レジスタ32aやモード制限レジスタ37に設定しているが、処理を禁止する処理モードをモード指定レジスタ32aやモード制限レジスタ37に設定してもいいことは言うまでもない。
また、上述した暗号処理ハードウエア3の第1の例および第2の例では、暗号鍵データが処理モードに対応付けられて設定される例を用いたが、暗号鍵データが他の情報に対応付けられて設定されてもよい。例えば、暗号化および/または復号する動作モード(例えば、CBC動作モード、CTR動作モード、ECB動作モード、CFB動作モード、OFB操作モード)および当該動作モードで処理を許可する処理モード(例えば、暗号化処理モードおよび復号処理モードの何れか)の組み合わせに用いられる暗号鍵データを設定し、外部装置から取得した動作モードおよび処理モードを示すデータに基づいて、暗号鍵データの使用可否について判定してもよい。
また、上述した暗号処理ハードウエア3の第1の例および第2の例では、暗号鍵データの設定や処理を許可する処理モードの設定を、暗号処理システム1の起動時に自動的に実行されるセキュアなソフトウエアによって行われる例を用いたが、当該設定は暗号処理システム1の起動時でなくてもよい。セキュアなソフトウエアによって上記設定が行われるのであれば、暗号処理システム1の起動後の所定タイミングにおいて当該設定が行われてもよい。
また、上述した説明では、回路やレジスタ等のハードウエアによって暗号処理を制御する手段(暗号処理ハードウエア3)を構成したが、いわゆるソフトウエアによって当該手段を構成してもよい。例えば、上記暗号処理動作を実現するプログラムを実行する制御部(CPU)を備える手段によって、上記暗号処理を制御する手段を構成してもよいこの場合、上記プログラムは、外部メモリ等の外部記憶媒体を通じて暗号処理システム1に供給されるだけでなく、有線または無線の通信回線を通じて暗号処理システム1に供給されてもよい。また、上記プログラムは、暗号処理システム1内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
また、上述した暗号処理ハードウエア3による暗号化および/または復号する処理は、例えば、特定種の装置にのみ実行可能なアプリケーションを実現する際に有効である。例えば、特定のゲーム装置にのみ実行可能なゲームプログラムを実現する場合、当該ゲーム装置にのみ復号可能なゲームプログラムを生成することが考えられる。一例として、ゲームプログラム生成装置において、共通鍵である暗号鍵データAを用いて暗号化したゲームプログラムを生成する。この場合、暗号鍵データAを用いて復号処理ができるゲーム装置のみ当該ゲームプログラムを復号して実行することが可能となり、上記ゲームプログラム生成装置は、特定のゲーム装置にのみ実行可能なゲームプログラムを生成することができる。しかしながら、上記ゲームプログラム生成装置とは異なる別の装置で暗号鍵データAを用いた暗号化処理が可能である場合、当該別の装置で独自のゲームプログラムの生成が可能となってしまう。しかしながら、上記ゲームプログラム生成装置以外の装置では、暗号鍵データAを用いる動作モードを復号処理モードに限定することによって、独自のゲームプログラムが生成されることを防止することができる。
このような効果が得られる他の例としては、ユーザが操作する装置に設定されているパスワード制御が考えられる。上記パスワード制御を用いたシステムでは、ユーザが操作する装置(ユーザ端末装置)において用いられているパスワードをユーザが忘れた場合に、当該パスワード用いるアプリケーション等を管理しているサポートから当該パスワードの代わりとなるマスターコードを受け取ることができる。
例えば、図6に示すように、ユーザ端末装置において上記アプリケーションを実行する際に必要なパスワードをユーザが忘れた場合、所定の操作を行うことによって問い合わせコード(例えば、問い合わせコード123456)を示す文字画像が画面に表示されるとともに、サポートに当該問い合わせコードの連絡を促す画像が画面に表示される。そして、ユーザは、電話やメール等で問い合わせコードをサポートに連絡することによって、マスターコードの連絡を待つ。
サポート側装置は、秘匿数値を用いて連絡された問い合わせコードを演算する演算処理を行う。次に、サポート側装置は、暗号鍵データBを用いて上記演算処理結果を暗号化処理することによって、マスターコード(例えば、マスターコードABCDE)を算出する。そして、ユーザから問い合わせコードの連絡を受けたサポートは、算出されたマスターコードを当該ユーザに連絡する。
マスターコードの連絡を受けたユーザは、当該マスターコードをユーザ端末装置に入力する。ユーザ端末装置は、マスターコードが入力されたことに応じて、サポート側装置が用いたものと同じ暗号鍵データB(すなわち、共通鍵)を用いて当該マスターコードを復号する。また、ユーザ端末装置では、当該ユーザ端末装置内に予め格納されている秘匿数値(典型的には、サポート側装置が用いた秘匿数値と同じ数値)を用いて上記所定の操作に応じて生成された問い合わせコードを演算する演算処理(典型的には、サポート側装置で行った演算と同じ演算処理)が行われる。そして、上記復号処理によって復号されたマスターコードとユーザ端末装置側の演算処理の結果とを照合する照合処理を行い、双方の処理結果が一致する場合に当該復号処理結果を新たなパスワードとして取得する。
上述したパスワード制御では、問い合わせコードが表示されるとともに、暗号鍵データBを用いて復号処理ができるユーザ端末装置のみ新たなパスワードを取得することができる。また、新たなパスワードの元となるマスターコードは、上記演算処理に用いる秘匿数値および演算方法が設定されているとともに、暗号鍵データBを用いて暗号化処理ができる装置(すなわち、サポート側装置)においてのみ生成することができる。しかしながら、上記サポート側装置とは異なる別の装置で暗号鍵データBを用いた暗号化処理が可能である場合、上記演算処理に用いる秘匿数値および演算方法を類推するだけでマスターコードの生成が可能となってしまう。しかしながら、上記サポート側装置以外の装置では、暗号鍵データBを用いる動作モードを復号処理モードに限定することによって、マスターコードが他の装置で生成されることを防止することができる。
また、上述では、1つの暗号処理ハードウエア3で暗号復号処理を行う場合の動作を説明しているが、当該暗号復号処理における動作の少なくとも一部を他の装置で行ってもかまわない。例えば、暗号処理システム1が他の装置(例えば、別のサーバ、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記暗号復号処理における各動作は、当該他の装置が協働することによって実行してもよい。このように、上記暗号復号処理における動作の少なくとも一部を他の装置で行うことによって、上述した暗号復号処理と同様の処理が可能となる。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記動作を協働により実行することも可能となる。なお、これらのシステム形態では、上述した動作をどの装置で行うかについては特に限定されず、どのような分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した暗号復号処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
以上のように、本発明は、新規な、暗号処理装置、暗号処理システム、および暗号処理方法等として有用である。
1…暗号処理システム
2…CPU
3…暗号処理ハードウエア
31…鍵設定レジスタ
32…モード指定レジスタ
33…データ入力回路
34…データ出力回路
35…鍵使用制限ロジック回路
36…暗号復号回路
37…モード制限レジスタ
38…設定完了レジスタ
4…ROM
5…RAM
6…NAND
7…NAND I/F
8…バス

Claims (12)

  1. データを暗号化および復号する暗号処理装置であって、
    暗号化および/または復号に用いる複数の鍵データを記憶する鍵データ記憶領域と、
    前記鍵データ記憶領域に記憶された複数の鍵データのうち、少なくとも1つの鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて設定するモード設定手段と、
    鍵データに対応付けて処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードと前記モード設定手段において設定されている当該鍵データに対応付けられた処理モードとが一致する場合に限って、当該鍵データを用いた当該処理モードによる処理を許可する処理制限手段とを備え
    前記鍵データ記憶領域には、前記暗号処理装置の起動時に前記鍵データが書き込まれ、
    前記モード設定手段は、前記暗号処理装置の起動時に前記書き込まれた鍵データに対応する処理モードを設定する、暗号処理装置。
  2. 前記暗号化処理および復号処理の何れかの処理モードを対応付けた鍵データは、暗号化処理と復号処理とに用いることができる共通鍵の鍵データである、請求項1に記載の暗号処理装置。
  3. セキュアなシステムファームウエアの実行によって、前記鍵データ記憶領域に前記鍵データが書き込まれ、
    前記システムファームウエアの実行によって、前記書き込まれた鍵データに対応する処理モードが前記モード設定手段に設定される、請求項1または2に記載の暗号処理装置。
  4. 前記システムファームウエアは、ブートROMに格納されたブートプログラムである、請求項に記載の暗号処理装置。
  5. 前記処理制限手段は、受け付けた前記モード指定コマンドで指定された処理モードと前記モード設定手段において設定されている処理モードとが一致しない場合、当該処理モードで用いられる鍵データを前記鍵データ記憶領域から消去する、請求項1乃至の何れか1つに記載の暗号処理装置。
  6. 前記処理制限手段は、受け付けた前記モード指定コマンドで指定された処理モードと前記モード設定手段において設定されている処理モードとが一致しない場合、当該モード指定コマンドを破棄する、請求項1乃至の何れか1つに記載の暗号処理装置。
  7. 前記鍵データとは異なるダミー鍵データを記憶するダミー鍵データ記憶領域を、さらに備え、
    前記処理制限手段は、受け付けた前記モード指定コマンドで指定された処理モードと前記モード設定手段において設定されている処理モードとが一致しない場合、処理手段において前記ダミー鍵データを用いて当該処理モードで処理する制御を行う、請求項1乃至の何れか1つに記載の暗号処理装置。
  8. 前記処理制限手段は、受け付けた前記モード指定コマンドで指定された処理モードと前記モード設定手段において設定されている処理モードとが一致しない場合、当該処理モードで処理するためのデータ入力の受付を拒否する、請求項1乃至の何れか1つに記載の暗号処理装置。
  9. 前記処理制限手段は、受け付けた前記モード指定コマンドで指定された処理モードと前記モード設定手段において設定されている処理モードとが一致しない場合、当該処理モードによって処理されたデータとして当該処理とは異なる処理によって生成されたデータを出力する、請求項1乃至の何れか1つに記載の暗号処理装置。
  10. データを暗号化および復号する暗号処理装置であって、
    暗号化および/または復号に用いる鍵データを記憶する鍵データ記憶領域と、
    前記鍵データ記憶領域に記憶された鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて設定するモード設定手段と、
    処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードと前記モード設定手段において設定されている処理モードとが一致する場合に限って、当該処理モードに対応付けられている鍵データを用いて当該処理モードによる処理を許可する処理制限手段とを備え
    前記鍵データ記憶領域には、前記暗号処理装置の起動時に前記鍵データが書き込まれ、
    前記モード設定手段は、前記暗号処理装置の起動時に前記書き込まれた鍵データに対応する処理モードを設定する、暗号処理装置。
  11. データを暗号化および復号する暗号処理装置および当該暗号処理装置を制御するシステムファームウエアを含む暗号処理システムであって、
    前記暗号処理装置は、
    前記システムファームウエアによって、暗号化および/または復号に用いる複数の鍵データが書き込まれる鍵データ記憶領域と、
    前記鍵データ記憶領域に記憶された複数の鍵データのうち、少なくとも1つの鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて、前記システムファームウエアによって設定されるモード設定手段と、
    鍵データに対応付けて処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードと前記モード設定手段において設定されている当該鍵データに対応付けられた処理モードとが一致する場合に限って、当該鍵データを用いた当該処理モードによる処理を許可する処理制限手段とを備え
    前記鍵データ記憶領域には、前記暗号処理装置の起動時に前記鍵データが書き込まれ、
    前記モード設定手段は、前記暗号処理装置の起動時に前記書き込まれた鍵データに対応する処理モードを設定する、暗号処理システム。
  12. データを暗号化および復号する暗号処理方法であって、
    暗号化および/または復号に用いる複数の鍵データを記憶領域に記憶する鍵データ記憶制御ステップと、
    前記記憶領域に記憶された複数の鍵データのうち、少なくとも1つの鍵データに、暗号化処理および復号処理の何れかの処理モードを当該鍵データに対応付けて設定するモード設定ステップと、
    鍵データに対応付けて処理モードを指定するモード指定コマンドを他の装置から受け付け、当該受け付けた処理モードと前記モード設定手段において設定されている当該鍵データに対応付けられた処理モードとが一致する場合に限って、当該鍵データを用いた当該処理モードによる処理を許可する処理制限ステップとを含み、
    前記鍵データ記憶ステップでは、前記記憶領域を含む装置の起動時に前記鍵データが書き込まれ、
    前記モード設定ステップでは、前記装置の起動時に前記書き込まれた鍵データに対応する処理モードが設定される、暗号処理方法。

JP2014092865A 2014-04-28 2014-04-28 暗号処理装置、暗号処理システム、および暗号処理方法 Active JP6368531B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014092865A JP6368531B2 (ja) 2014-04-28 2014-04-28 暗号処理装置、暗号処理システム、および暗号処理方法
EP14187890.0A EP2940621B1 (en) 2014-04-28 2014-10-07 Apparatus, system, and method for controlling encryption and decryption with respect to a key
US14/508,058 US9411984B2 (en) 2014-04-28 2014-10-07 Cryptographic processing apparatus, cryptographic processing system, and cryptographic processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014092865A JP6368531B2 (ja) 2014-04-28 2014-04-28 暗号処理装置、暗号処理システム、および暗号処理方法

Publications (2)

Publication Number Publication Date
JP2015211383A JP2015211383A (ja) 2015-11-24
JP6368531B2 true JP6368531B2 (ja) 2018-08-01

Family

ID=51752989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014092865A Active JP6368531B2 (ja) 2014-04-28 2014-04-28 暗号処理装置、暗号処理システム、および暗号処理方法

Country Status (3)

Country Link
US (1) US9411984B2 (ja)
EP (1) EP2940621B1 (ja)
JP (1) JP6368531B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553721B2 (en) * 2015-01-30 2017-01-24 Qualcomm Incorporated Secure execution environment communication
CN114503105A (zh) * 2019-09-25 2022-05-13 联邦科学和工业研究组织 用于浏览器应用的密码服务
CN117851076B (zh) * 2024-03-08 2024-05-28 中国电子信息产业集团有限公司第六研究所 一种硬件资源的调度方法、装置、电子设备及存储介质

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
JP3644579B2 (ja) * 1998-10-29 2005-04-27 富士通株式会社 セキュリティ強化方法及び装置
US7023868B2 (en) * 1999-04-13 2006-04-04 Broadcom Corporation Voice gateway with downstream voice synchronization
WO2000079532A1 (fr) * 1999-06-23 2000-12-28 Mitsubishi Chemical Corporation Support d'enregistrement, procede d'initialisation de support d'enregistrement, procede de cryptage et dispositif pour support d'enregistrement, procede de decryptage et dispositif acoustique/video/donnees
US7884954B2 (en) * 2000-10-02 2011-02-08 Canon Kabushiki Kaisha Peripheral equipment and management method thereof
JP2002132141A (ja) * 2000-10-20 2002-05-09 Sony Corp データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体
US6965675B1 (en) * 2000-11-28 2005-11-15 Xilinx, Inc. Structure and method for loading encryption keys through a test access port
US7065642B2 (en) * 2000-12-19 2006-06-20 Tricipher, Inc. System and method for generation and use of asymmetric crypto-keys each having a public portion and multiple private portions
WO2003010946A1 (en) * 2001-07-23 2003-02-06 Securelogix Corporation Encapsulation, compression and encryption of pcm data
JP3993063B2 (ja) * 2001-10-15 2007-10-17 三菱電機株式会社 暗号通信装置
AUPR966201A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A configurable input buffer
AUPR966101A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A user interface for interaction with smart card applications
AUPR965801A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A user interface for accessing files in a smart card file system
AUPR966001A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
AUPR965901A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A method of securely preserving volatile data while powering down a smart card
US7162644B1 (en) * 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7415109B2 (en) * 2002-08-23 2008-08-19 Qualcomm Incorporated Partial encryption and full authentication of message blocks
US20060155981A1 (en) * 2002-12-25 2006-07-13 Mizutanai Mika, Kamimaki Hideki, Ebina Akihiro Network device, network system and group management method
JP2004212828A (ja) * 2003-01-08 2004-07-29 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US20040170274A1 (en) * 2003-02-28 2004-09-02 Kabushiki Kaisha Toshiba Image forming apparatus and method for inputting encryption key setting
JP2005003844A (ja) * 2003-06-11 2005-01-06 Matsushita Electric Ind Co Ltd データ送受信装置、及びデータ送受信システム
WO2005004385A1 (ja) * 2003-06-30 2005-01-13 Fujitsu Limited 無線通信認証プログラムおよび無線通信プログラム
JP4290529B2 (ja) * 2003-11-07 2009-07-08 株式会社バッファロー アクセスポイント、端末、暗号鍵設定システム、暗号鍵設定方法、および、プログラム
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US20060026417A1 (en) * 2004-07-30 2006-02-02 Information Assurance Systems L.L.C. High-assurance secure boot content protection
JP4434886B2 (ja) * 2004-08-31 2010-03-17 キヤノン株式会社 印刷処理を管理するサーバ及びその制御方法並びにコンピュータプログラム
US7743069B2 (en) * 2004-09-03 2010-06-22 Sybase, Inc. Database system providing SQL extensions for automated encryption and decryption of column data
GB2418320B (en) * 2004-09-15 2007-09-19 Motorola Inc A communication system and method of call group management therefor
JP4516394B2 (ja) * 2004-09-30 2010-08-04 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US7721321B2 (en) * 2004-12-04 2010-05-18 Schweitzer Engineering Laboratories, Inc. Method and apparatus for reducing communication system downtime when configuring a cryptographic system of the communication system
US20070016957A1 (en) * 2005-07-18 2007-01-18 Seaward Karen L Secure portable memory mouse device
JP4698323B2 (ja) * 2005-08-02 2011-06-08 フェリカネットワークス株式会社 情報処理装置および方法、並びにプログラム
US7958370B2 (en) * 2005-09-29 2011-06-07 Hitachi Global Storage Technologies, Netherlands, B.V. System and device for managing control data
JP2007304847A (ja) * 2006-05-11 2007-11-22 Megachips Lsi Solutions Inc メモリ装置
US20100074628A1 (en) * 2006-05-24 2010-03-25 Mitsubishi Electric Corporation Optical communication system, station-side apparatus, and subscriber-side apparatus
JP2008123482A (ja) * 2006-10-18 2008-05-29 Matsushita Electric Ind Co Ltd 記憶媒体制御方法
JP5424008B2 (ja) * 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
US20100095115A1 (en) * 2007-01-26 2010-04-15 Safenet, Inc. File encryption while maintaining file size
JP4869981B2 (ja) * 2007-02-28 2012-02-08 オリンパス株式会社 撮像システム及び撮像機器の認証方法
JP2008292852A (ja) * 2007-05-25 2008-12-04 Hitachi Ltd ディスクアレイ制御装置とディスクアレイ制御方法およびストレージシステム
JP4960150B2 (ja) * 2007-05-30 2012-06-27 株式会社東芝 電子機器
JP2009278491A (ja) * 2008-05-16 2009-11-26 Casio Comput Co Ltd マイクロプロセッサ及びマイクロプロセッサ応用装置
JP5222081B2 (ja) * 2008-09-24 2013-06-26 キヤノン株式会社 通信装置、通信装置の制御方法、コンピュータプログラム、記憶媒体
JP5228803B2 (ja) * 2008-10-30 2013-07-03 富士通セミコンダクター株式会社 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路
WO2010073732A1 (ja) * 2008-12-26 2010-07-01 パナソニック株式会社 通信装置
US8239663B2 (en) * 2009-05-30 2012-08-07 Lsi Corporation System and method for maintaining the security of memory contents and computer architecture employing the same
JPWO2010150505A1 (ja) * 2009-06-26 2012-12-06 パナソニック株式会社 通信装置
US8645695B2 (en) * 2009-10-07 2014-02-04 Blackberry Limited System and method for managing security key architecture in multiple security contexts of a network environment
US8560012B2 (en) * 2009-11-30 2013-10-15 Panasonic Corporation Communication device
JP5069327B2 (ja) * 2010-03-25 2012-11-07 株式会社バッファロー 無線lan中継装置、無線通信システム、無線lan中継装置の制御方法
US8671285B2 (en) * 2010-05-25 2014-03-11 Via Technologies, Inc. Microprocessor that fetches and decrypts encrypted instructions in same time as plain text instructions
JP5032647B2 (ja) * 2010-11-26 2012-09-26 株式会社東芝 データ記憶装置、コントロール装置及び暗号化方法
JP5772031B2 (ja) 2011-02-08 2015-09-02 富士通株式会社 通信装置およびセキュアモジュール
JP2012185767A (ja) * 2011-03-08 2012-09-27 Canon Electronics Inc 電子機器、電子機器の制御方法、及び、プログラム
TWI454959B (zh) * 2011-12-08 2014-10-01 Phison Electronics Corp 儲存裝置保護系統及其儲存裝置上鎖與解鎖方法
US9286241B2 (en) * 2012-02-21 2016-03-15 Microchip Technology Incorporated Cryptographic transmission system
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
US9881161B2 (en) * 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
WO2015148848A1 (en) * 2014-03-28 2015-10-01 Vivint, Inc. Anti-takeover systems and methods for network attached peripherals

Also Published As

Publication number Publication date
US9411984B2 (en) 2016-08-09
EP2940621A1 (en) 2015-11-04
EP2940621B1 (en) 2020-09-16
JP2015211383A (ja) 2015-11-24
US20150310230A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
US8572410B1 (en) Virtualized protected storage
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US20070074038A1 (en) Method, apparatus and program storage device for providing a secure password manager
JP6902584B2 (ja) ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム
US9660986B2 (en) Secure access method and secure access device for an application program
KR20150032970A (ko) 보안 기능을 제공하는 저장 매체 및 그 보안 방법
US20100011221A1 (en) Secured storage device with two-stage symmetric-key algorithm
JP2006209703A (ja) プログラム実行保護プロセッサ
US20200242050A1 (en) System and method to protect digital content on external storage
JP6368531B2 (ja) 暗号処理装置、暗号処理システム、および暗号処理方法
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
JP2016146618A (ja) 情報処理装置
JP6357091B2 (ja) 情報処理装置、及びコンピュータプログラム
KR101473656B1 (ko) 모바일 데이터 보안 장치 및 방법
JP4791193B2 (ja) 情報処理装置、携帯端末装置及び情報処理実行制御方法
JP5759827B2 (ja) メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法
KR20200063535A (ko) 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법
JP2009064126A (ja) Icカードシステム、その端末装置、プログラム
JP6215468B2 (ja) プログラム保護装置
JP2008003774A (ja) マイクロコンピュータ
JP7170588B2 (ja) データ処理方法及びデータ処理システム
JP2011053909A (ja) パスワードを安全管理する制御機能を組み込んだ情報処理装置
KR101776845B1 (ko) 키 조작에 대한 보호
JP2010205020A (ja) パスワード管理装置、パスワード管理方法およびパスワード管理用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180709

R150 Certificate of patent or registration of utility model

Ref document number: 6368531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250