JP2005227995A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2005227995A
JP2005227995A JP2004035475A JP2004035475A JP2005227995A JP 2005227995 A JP2005227995 A JP 2005227995A JP 2004035475 A JP2004035475 A JP 2004035475A JP 2004035475 A JP2004035475 A JP 2004035475A JP 2005227995 A JP2005227995 A JP 2005227995A
Authority
JP
Japan
Prior art keywords
data
program
external storage
processing
function module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004035475A
Other languages
English (en)
Inventor
Ikuo Shinozaki
郁生 篠崎
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004035475A priority Critical patent/JP2005227995A/ja
Priority to US11/048,808 priority patent/US20050182952A1/en
Publication of JP2005227995A publication Critical patent/JP2005227995A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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

Abstract

【課題】 セキュリティ機能モジュールに対応する処理を実行可能な省スペース型の情報処理装置構成を提供する。
【解決手段】 MPUチップ内に、機器鍵を格納したセキュリティ機能モジュールを一体化して構成し、セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、機器鍵を適用した暗号化データとし、また改竄検証値を付与して外部記憶手段に格納する構成とした。本構成により、セキュリティ機能モジュール内に格納すべき秘密情報のデータ量を大幅に削減することが可能となり、大容量のフラッシュメモリが不要となるので、セキュリティ機能モジュールをメインCPUを持つMPUチップ内に一体化でき、実装面積の減少、コストダウンが可能となる。
【選択図】 図2

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。詳細には、暗号鍵等の秘密情報を適用したセキュアなデータ処理を実行するセキュリティ機能モジュールを有する情報処理装置において、暗号鍵等の秘密情報を格納する領域を外部の記憶手段に設定してセキュリティ機能モジュールの実装面積の減少を図るとともに十分なセキュリティレベルを維持したデータ処理を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
暗号鍵等の秘密情報を適用してセキュアなデータ処理を実行するセキュリティ機能モジュールとしてTCPA(トラステッド・コンピューティング・プラットフォーム・アライアンス)プロトコルに準拠したセキュアチップが知られている。このTCPA準拠のセキュアチップはTPM(トラステッド・プラットフォーム・モジュール)と呼ばれる。
TPMは、例えばコンピュータ・ネットワーク中のクライアント・コンピュータ・システムに内蔵され、ネットワーク上で使用されるクライアントの適用する暗号鍵としての公開/秘密鍵のペアを生成し、これらの鍵を適用したデータの暗号処理など、外部に漏洩することの許容されないセキュアなデータ処理を実行するモジュールとして設定される。
セキュアチップを利用したデータ処理の具体例としては、例えば特許文献1に記載の例として、起動プログラムとしてのブートコードをセキュアチップ内のメモリに格納し、セキュアチップ内に格納した暗号鍵でブートコードを暗号化して、セキュアチップ外のメインCPUに出力して、メインCPUにおいて復号した後、ブート処理を実行する構成がある。この処理により、正当なブートコードのみによる起動処理が保証される。
昨今では、携帯型の情報処理装置や通信端末などにも、TPM(トラステッド・プラットフォーム・モジュール)を構成して、セキュリティレベルの高いデータ処理を実行することが要請されている。しかし、携帯型の情報処理装置や通信端末はハードウェア実装面積が少ないことや、コストダウンの要求が厳しいなど様々な制約があり、一般のPC等と同様のTPM(トラステッド・プラットフォーム・モジュール)を構成することは困難な状況にある。
PCなどに設定される一般的なTPM(トラステッド・プラットフォーム・モジュール)を持つハードウェア構成例を図1に示す。
図1に示すように、OS(Operating System)、その他のアプリケーションプログラムを実行するメインCPU11を持つMPU(メイン・プロセッサ・ユニット)チップ10と、暗号鍵などの秘密情報を適用したセキュアなデータ処理を実行するTPM(トラステッド・プラットフォーム・モジュール)21を持つTPMチップ20はそれぞれ個別のモジュールとして構成される。これは、MPUチップ10が汎用的なプロセッサを搭載したチップとして構成され、一方、TPM21は、暗号鍵などの秘密情報を格納する不揮発性メモリを内蔵することが必要であることなどのためである。さらに、ハードディスクなどの外部記憶装置31、RAM,ROMなどによって構成されるメインメモリ32、キーボード、マウス、ディスプレイなどによって構成される入出力装置33を有する。
デスクトップ型パソコンなど、多くのハードウェアが搭載できる装置であれば、メインCPU11を持つMPUチップ10と別のチップとしてTPM21を持つTPMチップ20を搭載することは、スペース的に大きな問題とはならないが、前述したように、携帯型の機器などの小型の機器にMPUチップとTPMチップとを別チップとして搭載することは、機器の小型化を妨げる要因となり、また、コストアップという問題も生じさせる。
USP5937063
本発明は、上述の問題点に鑑みてなされたものであり、暗号鍵等の秘密情報を適用したセキュアなデータ処理を実行するセキュリティ機能モジュールを有する情報処理装置において、暗号鍵等の秘密情報を格納する領域を外部の記憶手段に設定してセキュリティ機能モジュールの実装面積の減少を図るとともに十分なセキュリティレベルを維持したデータ処理を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
情報処理装置であり、
データ処理プログラムを実行するプロセッサを格納したMPU(メイン・プロセッサ・ユニット)チップと、
前記MPUチップに接続された外部記憶手段とを有し、
前記MPUチップはメインCPUと、セキュリティの要求されるデータ処理を実行するセキュリティ機能モジュールとを格納し、
前記セキュリティ機能モジュールは、
暗号処理に適用する機器鍵を保持し、前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に格納された暗号化秘密情報を前記機器鍵を適用して復号し、該復号処理によって取得したプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行する構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記セキュリティ機能モジュールは、前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に改竄検証値を設定して格納された秘密情報の改竄検証処理を実行し、該改竄検証処理によって改竄のないことが確認されたプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行する構成であることを特徴とする。なお、改竄検証を鍵付きメッセージ認証方式で実施する場合には、前記機器鍵を適用する。セキュリティレベルに応じて、機器鍵は暗号化に使うものと共通でも良いし、改竄検証用に別の機器鍵を用意して用いても良い。
さらに、本発明の情報処理装置の一実施態様において、前記外部記憶手段は、前記メインCPUの起動コードの少なくとも一部を前記機器鍵を適用した暗号化データとして格納し、前記セキュリティ機能モジュールは、前記外部記憶手段から取得した起動コードの復号を実行し、復号によって得られた起動コードに基づいて、前記メインCPUの起動処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記機器鍵は、前記MPUチップ内に構成されたフューズ型ROM(e−fuse)、またはマスクROM、または前記MPUチップに積層した不揮発性メモリチップ内に書き込まれたデータであることを特徴とする。
さらに、本発明の第2の側面は、
情報処理装置であり、
データ処理プログラムを実行するプロセッサを格納したMPU(メイン・プロセッサ・ユニット)チップと、
前記MPUチップに接続された外部記憶手段とを有し、
前記MPUチップはデータ処理を実行するプロセッサを持つMPUと、暗号処理に適用する機器鍵を格納し、
前記MPUは、
通常OS上での動作プログラムを実行する通常モードと、セキュリティの要求されるデータ処理に対応するセキュアプログラムを実行するセキュアモードとの2つのモードでの動作が可能な構成であり、
前記セキュアモードで実行するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に格納された暗号化秘密情報を前記機器鍵を適用して復号し、該復号処理によって取得したプログラムまたはデータを適用して前記セキュアプログラムを実行する構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記MPUは、前記セキュアモードで実行するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に改竄検証値を設定して格納された秘密情報の改竄検証処理を実行し、該改竄検証処理によって改竄のないことが確認されたプログラムまたはデータを適用して前記セキュアプログラムを実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記外部記憶手段は、前記通常モードに対応する通常OSの起動コードの少なくとも一部を前記機器鍵を適用した暗号化データとして格納し、前記MPUは、前記セキュアプログラムに従って、前記外部記憶手段から取得した起動コードの復号を実行し、復号によって得られた起動コードに基づいて、前記通常OSの起動処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記機器鍵は、前記MPUチップ内に構成されたフューズ型ROM(e−fuse)、またはマスクROM、または前記MPUチップに積層した不揮発性メモリチップ内に書き込まれたデータであることを特徴とする。
さらに、本発明の第3の側面は、
情報処理方法であり、
セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む暗号化秘密情報を外部記憶手段から取得するステップと、
セキュリティ機能モジュール内に格納された機器鍵を適用して前記暗号化秘密情報を復号するステップと、
復号した秘密情報の改竄検証処理を実行するステップと、
前記改竄検証処理によって改竄のないことが確認された秘密情報に含まれるプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行するデータ処理ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するステップを有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するステップを有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記外部記憶手段から取得した起動コードの復号を実行し、復号によって得られた起動コードに基づく起動処理を実行するステップを有することを特徴とする。
さらに、本発明の第4の側面は、
情報処理を実行するコンピュータ・プログラムであり、
セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む暗号化秘密情報を外部記憶手段から取得するステップと、
セキュリティ機能モジュール内に格納された機器鍵を適用して前記暗号化秘密情報を復号するステップと、
復号した秘密情報の改竄検証処理を実行するステップと、
前記改竄検証処理によって改竄のないことが確認された秘密情報に含まれるプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行するデータ処理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記録媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、MPUチップ内に、機器鍵を格納したセキュリティ機能モジュールを一体化して構成し、セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、機器鍵を適用した暗号化データとし、また改竄検証値を付与して外部記憶手段に格納する構成としたので、セキュリティ機能モジュール内に格納すべき秘密情報のデータ量を大幅に削減することが可能となり、大容量の不揮発メモリが不要となるので、セキュリティ機能モジュールをメインCPUを持つMPUチップ内に一体化でき、実装面積の減少、コストダウンが可能となる。また、外部に記憶される秘密情報は、機器鍵を適用して暗号化されまた改竄検証値を付与したデータとして格納されるので、十分にセキュリティレベルを維持したデータ処理が実現される。
さらに、本発明の構成によれば、MPUチップ内にデータ処理を実行するプロセッサと、暗号処理に適用する機器鍵を格納し、MPUを、通常OS上での動作プログラムを実行する通常モードと、セキュリティの要求されるデータ処理に対応するセキュアプログラムを実行するセキュアモードとの2つのモードでの動作が可能な構成とし、セキュアモードで実行するプログラムまたはデータを含む秘密情報を、機器鍵を適用した暗号化データとし、また改竄検証値を設定して外部記憶手段に格納する構成としたので、セキュリティ機能モジュールを別構成のハードウェアとして持つ必要がなくなり、実装面積の減少、コストダウンが可能となる。また、外部に記憶される秘密情報は、機器鍵を適用して暗号化されまた改竄検証値を付与したデータとして格納されるので、十分にセキュリティレベルを維持したデータ処理が実現される。
以下、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について、図面を参照して説明する。
図2は、本発明の実施例1に係る情報処理装置のハードウェア構成を示す図である。
図2に示す実施例1に係る情報処理装置のハードウェアは、OS、その他のアプリケーションプログラムを実行するメインCPU110と、暗号鍵などの秘密情報を適用したセキュアなデータ処理を実行する例えばTPM(トラステッド・プラットフォーム・モジュール)によって構成されるセキュリティ機能モジュール200が1チップとしてのMPU(メイン・プロセッサ・ユニット)チップ100に格納された構成を持つ。さらに、フラッシュメモリやハードディスクなどによって構成される外部記憶装置301、RAM,ROMなどによって構成されるメインメモリ302、キーボード、マウス、ディスプレイなどによって構成される入出力装置303を有する。
MPUチップ100に格納されたセキュリティ機能モジュール200は、従来のTPMとは異なり、モジュール内に暗号鍵などの秘密情報を格納するための容量の大きな不揮発性メモリを持たない構成である。従来のTPMと区別するために、以下、本実施例1に係るMPUチップ内に構成されたTPMをTPM−E(Trasted Platform Module for Embedded)と標記する。
MPUチップ100に格納されたセキュリティ機能モジュール(TPM−E)200は、暗号鍵などの秘密情報を適用したセキュアなデータ処理を実行する。しかし、本発明の情報処理装置において、暗号鍵などの秘密情報は、フラッシュメモリやハードディスクなどによって構成される外部記憶装置301に格納される。
外部記憶装置301に格納される暗号鍵などの秘密情報は、セキュリティ機能モジュール(TPM−E)200に格納された機器鍵[Kt]252によって暗号化された暗号化データとして格納される。セキュリティ機能モジュール(TPM−E)200には、機器ID251、機器鍵[Kt]252が格納される。図に示す外部記憶装置301には、一例として、機器鍵[Kt]252によって暗号化された暗号化データKt(a),Kt(b)・・・Kt(n)を示してある。なお、Kt(x)は、秘密情報xを機器鍵[Kt]252によって暗号化したデータであることを示している。
従来は、暗号鍵などの各種秘密情報a,b,c・・nをすべて格納するために、TPM内に比較的容量の大きい不揮発性メモリを構成することが必要となっていた。しかし、本実施例のセキュリティ機能モジュール(TPM−E)200には、これら多くの秘密情報を格納する大容量の不揮発性メモリを持たない構成である。
本実施例においては、これら多くの秘密情報を外部記憶装置301に格納し、セキュリティ機能モジュール(TPM−E)200には、機器鍵[Kt]252を格納する。機器鍵[Kt]252は、セキュリティ機能モジュール(TPM−E)200においてのみアクセス可能であり、メインCPU110によるアクセスは許容されず、外部に機器鍵[Kt]252が出力されることはない。
機器鍵[Kt]は、MPUチップ100の製造時にセキュリティ機能モジュール(TPM−E)200に対応する固定データとして、例えばe−fuse(フューズ型ROM)データ、あるいはmaskROMデータとして書き込む。すなわち書き換え不可能な固定データとして書き込まれる。あるいは、比較的容量の小さいフラッシュメモリやFeRAMなどの不揮発性メモリをマルチパッケージやシステムインパッケージとして積層する構成としてもよい。
なお、機器鍵[Kt]252は、各MPUチップ毎に異なる鍵データとして設定してもよく、あるいは、製造ロット単位など複数のチップに共通の鍵データとして設定してもよい。
セキュリティ機能モジュール(TPM−E)200に保持する機器鍵[Kt]252は、図に示す外部記憶装置301に格納する各種の秘密情報の暗号化および復号処理に適用するための暗号鍵であり、機器、すなわちMPUチップ100を搭載した情報処理装置に要求されるセキュリティレベルに応じたデータ長を持つ鍵データとして設定される。
図に示す外部記憶装置301には、一例として、機器鍵[Kt]252によって暗号化された暗号化データKt(a),Kt(b)・・・Kt(n)を示してあるが、機器鍵[Kt]252によって暗号化されるデータは、秘密保持の必要な様々なデータであり、各種のプログラムコード、暗号鍵、パスワード、その他のコードデータ、コンテンツなどのデータなど様々な情報が含まれる。
セキュリティ機能モジュール(TPM−E)200の実行するデータ処理は、例えば以下のような処理である。
(1)秘密情報a,b,c・・・nを外部記憶装置301に格納するために機器鍵[Kt]252を適用して実行する暗号化処理、
(2)外部記憶装置301から読み出された暗号化秘密情報Kt(a),Kt(b)・・・Kt(n)を復号する処理、
(3)その他、新たな鍵の生成処理、認証処理、データの改竄検証処理、
これらの処理を実行する。
図3に、セキュリティ機能モジュール(TPM−E)200の詳細構成を示す。セキュリティ機能モジュール(TPM−E)200は、図に示すように、プロセッサ201、ROM202、メモリ203、機器鍵格納部204、入出力(I/O)インタフェース205、乱数生成器206、ハッシュ算出部207、鍵生成部208、暗号処理部209、クロック210を有し、これらはバスによって相互接続されている。
プロセッサ201は、セキュリティ機能モジュール(TPM−E)200において実行するセキュアなデータ処理に係るプログラムの実行を制御する。さらに、セキュリティ機能モジュール(TPM−E)200各構成部におけるデータ処理制御、バスおよび入出力(I/O)インタフェース205を介したデータ入出力制御を実行する。
ROM202、メモリ203は、プロセッサ201が使用するプログラムや演算パラメータ、外部記憶装置301からの読み出しデータの格納領域として適用される。
ROM202には、プロセッサ201によって実行するセキュリティ機能モジュール(TPM−E)200の起動処理プログラム、さらにセキュリティ機能モジュール(TPM−E)200において実行するデータ処理プログラムであるTPM−E制御プログラムや鍵情報の少なくとも一部が格納されている。これらは例えばMaskROMデータとして書き込まれている。ROM202に書き込まれた起動処理プログラムによる起動処理シーケンスの詳細については後述する。
TPM−E制御プログラムを構成するプログラムデータや、その他、秘密保持が要求されるプログラム、暗号鍵などのデータは、ROM202に格納してもよいが、ROM202に格納されない場合、外部記憶装置301に機器鍵[Kt]を適用した暗号化データとして格納される。例えば以下のデータが、外部記憶装置301に暗号化データとして格納される。
(a)TPM−E制御プログラムを構成するプログラムデータ
(b)メインCPUによって実行するブートプログラム(main CPU boot code)
(c)暗号鍵、例えば公開鍵暗号方式における秘密鍵(Endorsement Key)
(d)公開鍵証明書(credential)
(e)TPM−E内部状態初期値
これらのデータは、ROM202に格納されるか、あるいは、外部記憶装置301に機器鍵[Kt]を適用した暗号化データとして格納される。
機器鍵格納部204は、前述したように、例えばe−fuse(フューズ型ROM)データ、あるいはmaskROMデータとして書き込まれた機器鍵データを保持している。上記(a)〜(e)のプログラムまたはデータを外部記憶装置301に格納する場合は、セキュリティ機能モジュール(TPM−E)200内の暗号処理部209において機器鍵[Kt]を適用した暗号化がなされた後、入出力インタフェース205を介して外部に出力され、外部記憶装置301に格納される。また、必要に応じて、ハッシュ算出部207において、格納データに対する改竄検証値を生成し、改竄検証値とともに外部記憶装置301に格納する。
上記(a)〜(e)のプログラムまたはデータを外部記憶装置301から入力して利用する場合は、セキュリティ機能モジュール(TPM−E)200内で、暗号化データの復号処理を実行するとともに、改竄検証値を検証して、データまたはプログラムの改竄がないことを確認した後、プログラムの実行またはデータの利用が行なわれる。なお、改竄検証を鍵付きメッセージ認証方式で実施する場合には、機器鍵を適用する。セキュリティレベルに応じて、機器鍵は暗号化に使うものと共通でも良いし、改竄検証用に別の機器鍵を用意して用いても良い。
なお、機器鍵で暗号化されたプログラムやデータは、図2に示す例では、1つの外部記憶装置301に格納した構成としているが、さらに安全性を高めるために、複数の異なる外部記憶装置に分散してまたは重複してこれらのデータを格納してもよい。なお、これらのデータは、セキュリティ機能モジュール(TPM−E)200内のプロセッサ201からのコマンドによってのみアクセスを許容し、メインCPU110(図2参照)からのアクセスを許容しないようにハードウェアまたはソフトウェア的な保護データ領域として設定することが好ましい。
セキュリティ機能モジュール(TPM−E)200の固有識別子データとしての機器IDと、セキュリティ機能モジュール(TPM−E)200に格納した機器鍵との対応データは、管理センタにおいて保持される。
入出力(I/O)インタフェース205は、セキュリティ機能モジュール(TPM−E)200外部の構成部とのデータ入出力を実行する。
乱数生成器206は、例えば暗号鍵の生成、改竄検証値の生成などの際に必要となる乱数の生成処理を実行する。ハッシュ算出部207は、例えばデータの改竄検証値などの生成において適用するハッシュ算出を実行する。ハッシュアルゴリズムとしては、例えばSHA−1が適用される。なお、改竄検証値としては例えばMAC(メッセージ認証コード)が適用可能である。
鍵生成部208は、セキュリティ機能モジュール(TPM−E)200において暗号鍵を生成する処理を実行する、例えばDESやAES暗号アルゴリズムが適用される。暗号処理部209は、データの暗号化、復号処理を実行する、例えば機器鍵格納部204に格納された機器鍵を適用した暗号処理、復号処理を実行する。例えばDESやAES暗号アルゴリズムに従った暗号処理を実行する。クロック210は、セキュリティ機能モジュール(TPM-E)200における時間・時刻情報の提供処理を実行する。
上述の構成を持つセキュリティ機能モジュール(TPM−E)200は、図2に示したように、MPUチップ100内に構成されている。
次に、図4を参照して、本実施例1の構成に係る情報処理装置の起動処理シーケンスについて説明する。
図4に示す起動処理シーケンスは、情報処理装置の電源オン、リセットなどいわゆるパワーオンリセット(POR:Power On Reset)時に実行する処理である。左側に示すステップS101〜S109の処理がセキュリティ機能モジュール(TPM−E)200側の処理であり、右側に示すステップS201〜S203の処理がメインCPU110側の処理を示している。
まず、ステップS101において、メインCPU110の実行開始前にセキュリティ機能モジュール(TPM−E)200が起動される。セキュリティ機能モジュール(TPM−E)200内のプロセッサ201(図3参照)は、セキュリティ機能モジュール(TPM−E)200内のROM202に格納された起動時実行用の制御プログラムを実行する。
ステップS102において、この制御プログラムに従って、外部記憶装置301(図2参照)からのデータ読み出しを実行し、復号処理および改竄検証処理を実行する。読み出しを行なったデータは、一旦セキュリティ機能モジュール(TPM−E)200内のメモリ203に格納される。読み出されるデータは、例えば以下のデータである。
TPM−E制御プログラムを構成するプログラムデータ
暗号鍵、例えば公開鍵暗号方式における秘密鍵(Endorsement Key)
公開鍵証明書(credential)
TPM−E内部状態初期値
上記データは、すべて機器鍵[Kt]で暗号化されたデータであり、セキュリティ機能モジュール(TPM−E)200の暗号処理部209は、これらのデータを機器鍵格納部204に格納された機器鍵[Kt]を適用して復号する。さらに、取得データに改竄検証値、例えばMAC(メッセージ認証コード)が付与されている場合は、MACの算出を実行して、付与されているMACとの照合を実行して、データの改竄の有無を判定する。
ステップS103において、外部記憶装置301から取得したデータの復号に成功し、またデータの改竄がないことが確認されると、ステップS104以下に進む。データの復号に失敗、または、データの改竄が検出された場合は、ステップS104以下の処理を行なうことなく、処理を中止する。
ステップS104では、外部記憶装置301からメインCPU110の起動コード(CRTM:メインCPUブートコード)を取得して、復号処理および改竄検証処理を実行する。セキュリティ機能モジュール(TPM−E)200の暗号処理部209は、メインCPU110の起動コード(CRTM:メインCPUブートコード)を機器鍵格納部204に格納された機器鍵[Kt]を適用して復号する。さらに、取得データに改竄検証値、例えばMAC(メッセージ認証コード)が付与されている場合は、MACの算出を実行して、付与されているMACとの照合を実行して、データの改竄の有無を判定する。
ステップS105において、外部記憶装置301から取得したメインCPU110の起動コード(CRTM:メインCPUブートコード)の復号に成功し、またデータの改竄がないことが確認されると、ステップS106以下に進む。データの復号に失敗、または、データの改竄が検出された場合は、ステップS106以下の処理を行なうことなく、処理を中止する。
ステップS106では、外部記憶装置301から取得し復号したメインCPU110の起動コード(CRTM:メインCPUブートコード)を起動ベクタによって指定されるメモリ領域に格納する。起動ベクタには、起動コード(CRTM)の格納されるメモリ領域の先頭アドレス情報を保有する。ステップS107では、起動ベクタによって指定されるメモリ領域から起動コードを読み出して、メインCPUの起動処理を実行する。
以上の処理が終了すると、ステップS108において、セキュリティ機能モジュール(TPM−E)200は、外部、すなわちメインCPU110側からの処理要求待機状態に移行し、ステップS109において、メインCPU110側からの処理要求に応じて処理を実行する。
一方、メインCPU110は、ステップS201において、メインCPU110の起動コード(CRTM:メインCPUブートコード)に基づいて起動され、ステップS202において、起動コード(CRTM:メインCPUブートコード)に従った起動処理を行なった後、ステップS203において、各種の実行プログラムに従ったデータ処理を実行する。データ処理においてセキュリティ機能モジュール(TPM−E)200において実行すべき処理が発生した場合は、セキュリティ機能モジュール(TPM−E)200に対するデータ処理要求を行う。セキュリティ機能モジュール(TPM−E)200は、ステップS109において、メインCPU110側からの処理要求に応じて処理を実行する。
なお、上述したシーケンスでは、メインCPU110の起動コード(CRTM:メインCPUブートコード)を機器鍵[Kt]で暗号化したデータとして外部記憶装置301に格納した構成例として説明したが、起動コードに秘匿性がない場合は、暗号化データとする必要はない。また、改竄検証の必要性がない場合は、改竄検証値の付与も必要とはならない。
次に、外部記憶装置301に機器鍵[Kt]を適用した暗号化データとして格納したデータの更新処理について説明する。情報処理装置に対して設定された公開鍵暗号方式の秘密鍵や、TPM−E内部状態初期値、オーナー認証シークレット(パスワード)、改竄検証処理アルゴリズムの設定情報などは、例えば期限付きデータである場合などがあり、更新する必要が発生する場合がある。
従来型のセキュリティ機能モジュール(TPM)では、これらの情報は、すべて、セキュリティ機能モジュール(TPM)内の不揮発性メモリに格納しており、セキュリティ機能モジュール(TPM)内部のみの処理としてこれらのデータの更新が可能であったが、本発明に係るセキュリティ機能モジュール(TPM−E)200は、これらのデータの少なくとも一部が、外部記憶装置301に格納されているため、データ更新処理をセキュリティ機能モジュール(TPM)内部のみの処理としては実行できない。
そこで、本発明のセキュリティ機能モジュール(TPM−E)200は、外部記憶装置301に格納されているデータの更新処理に際しては、セキュリティ機能モジュール(TPM-E)200内部において、例えば外部から取得した更新データ、あるいはセキュリティ機能モジュール(TPM-E)200内部で生成した更新データをセキュリティ機能モジュール(TPM−E)200内のメモリ203にキャッシュし、キャッシュした更新後のデータに対する改竄検証値、例えばMACの算出を行い、改竄検証値の設定処理を行なうとともに、機器鍵[Kt]を適用して暗号化処理を実行して、入出力インタフェース205を介して出力して外部記憶装置301に格納する。
上述の実施例1では、セキュリティ機能モジュール(TPM−E)をメインCPUを持つMPUチップ内に構成した例を説明した。以下、実施例2として、MPUによって実行される通常アプリケーション用のOSとは異なる特権モード用のOSを設定して特権モード上でセキュリティ機能モジュール(TPM)の機能を実行する処理構成について説明する。
図5に、本発明の実施例2に係る情報処理装置のハードウェア構成を示す。図5に示すように、実施例2に係る情報処理装置は、実施例1で説明したハードウェアとしてのセキュリティ機能モジュール(TPM)を持たない構成である。
セキュリティ機能モジュール(TPM)において実行していたセキュアなデータ処理を含むすべてのプログラムは、データ処理を実行するプロセッサを持つMPU501によって実行される。ただし、後述するように、セキュリティ機能モジュール(TPM)機能に従った処理プログラムは、通常のアプリケーションプログラムの実行環境を提供する通常のOSとは異なり、通常OSの上位に設定された特権モードのセキュアOS上で動作するプログラムとして設定される。このプログラム構成については、図6を参照して後段で詳細に説明する。
まず、図5のハードウェア構成について説明する。実施例2に係る情報処理装置のハードウェアは、MPU501を格納したMPUチップ500と、フラッシュメモリやハードディスクなどによって構成される外部記憶装置601、RAM,ROMなどによって構成されるメインメモリ602、キーボード、マウス、ディスプレイなどによって構成される入出力装置603を有する。
MPU501は、上述の特権モードの処理を許容するプロセッサ機能を持つ。このようなMPUとしては、例えばIntel La Grade、あるいはARM TrustZoneなどがある。
MPU501を格納したMPUチップ500には、クロック504、乱数生成器505が格納される。MPU501内のROM領域には、機器ID502および機器鍵[Kt]503が格納される。機器ID502および機器鍵[Kt]503は、MPUチップ500各々に異なる固有IDおよび固有鍵、あるいは製造ロット毎に異なる値および鍵データとして設定される。
これらの機器ID502および機器鍵[Kt]503に対するMPUチップ500外部からのアクセスは不可能であり、MPU501において実行可能な特権モードのセキュアOS上で動作するプログラムであるセキュリティ機能モジュール(TPM)機能に従った処理プログラムによってのみアクセスのみが許容される。なお、MPU501内のROMには、起動シーケンスにおいて実行するプログラムの一部と、起動シーケンスにおいて外部記憶装置601から取得すべきプログラムのアドレス情報等を含む起動ベクタが格納される。
乱数生成器505は、例えば暗号鍵の生成、改竄検証値の生成などの際に必要となる乱数の生成処理を実行するクロック504は、MPU501における時間・時刻情報の提供処理を実行する。
本実施例2の情報処理装置も実施例1と同様、暗号鍵などの秘密情報、すなわち下記のデータは、フラッシュメモリやハードディスクなどによって構成される外部記憶装置601に格納される。
(a)TPM制御機能実行プログラムを構成するプログラムデータ
(b)セキュアOSプログラム
(c)MPUによって実行する通常OS用のブートプログラム(main CPU boot code)
(d)暗号鍵、例えば公開鍵暗号方式における秘密鍵(Endorsement Key)
(e)公開鍵証明書(credential)
(f)TPM制御機能実行プログラム用初期値
これらの外部記憶装置601に格納される情報は、実施例1と同様、必要に応じてMAC(メッセージ認証コード)などの改竄検証値が付与され、また、MPUチップ500に格納された機器鍵[Kt]503によって暗号化された暗号化データとして格納される。図に示す外部記憶装置601には、一例として、機器鍵[Kt]502によって暗号化された暗号化データKt(a),Kt(b)・・・Kt(n)を示してある。なお、Kt(x)は、秘密情報xを機器鍵[Kt]503によって暗号化したデータであることを示している。
本実施例の構成においても、MPUチップ500には、多くの秘密情報を格納する容量の大きな不揮発性メモリを持たない構成であり、従来のセキュリティ機能モジュール(TPM)おいてTPM内のフラッシュメモリに格納していたデータを機器鍵[Kt]503で暗号化して外部記憶装置601に格納する。
機器鍵[Kt]503は、実施例1と同様、MPUチップ500の製造時に固定データとして記録されるデータである。例えばe−fuse(フューズ型ROM)データ、あるいはmaskROMデータ、あるいは、比較的容量の小さいフラッシュメモリやFeRAMなどの不揮発性メモリをマルチパッケージやシステムインパッケージとして積層して記録されたデータである。
この機器鍵[Kt]503は、図に示す外部記憶装置601に格納する各種の秘密情報の暗号化および復号処理に適用するための暗号鍵であり、機器、すなわちMPUチップ500を搭載した情報処理装置に要求されるセキュリティレベルに応じたデータ長を持つ鍵データとして設定される。
次に、図6を参照して、本実施例に係る情報処理装置におけるプログラム構成を説明する。本実施例に係る情報処理装置において実行される各種プログラムは、MPUチップ500内のMPU501の制御の下に実行される。この実行プログラムには、従来のセキュリティ機能モジュール(TPM)機能に従った処理プログラムも含まれる。
図6に示すように、本実施例に係る情報処理装置においては、通常のデータ処理プログラムである通常アプリケーション712は、通常のオペレーティングシステムである通常OS711上で実行可能に設定される。これは一般的なPC等の構成と同様である。
本発明の構成においては、通常OS711より上位の特権モードOSとしてセキュアOS721が設定される。なお、セキュアOS721として知られているOSとして、例えば、Microsoft NGSCBのNexusがある。
TPM機能実行アプリケーションプログラム722は、セキュアOS721上においてのみ実行可能であり、通常OS711の環境では実行できないプログラムとして設定される。
TPM機能実行アプリケーションプログラム722は、実施例1で説明したセキュリティ機能モジュール(TPM−E)と同様の処理を実行するプログラムであり、
(1)秘密情報a,b,c・・・nを外部記憶装置601に格納するために機器鍵[Kt]503を適用して実行する暗号化処理、
(2)外部記憶装置601から読み出された暗号化秘密情報Kt(a),Kt(b)・・・Kt(n)を復号する処理、
(3)その他、新たな鍵の生成処理、認証処理、データの改竄検証処理、
これらの処理を実行する。
TPM機能実行アプリケーションプログラム722は、通常OS711、並びに通常OS722上で動作するアプリケーションプログラム712やドライバなどに対して各種のTPM機能、例えばバインド処理やシール処理など、セキュアデータ処理機能を提供する。
なお、セキュアOS721上で実行可能なプログラムは、TPM機能実行アプリケーションプログラム722のみならず、その他のセキュアデータ処理実行アプリケーション723が含まれる。
次に、図7を参照して、本実施例に係る情報処理装置の起動処理シーケンスについて説明する。
図7に示す起動処理シーケンスは、情報処理装置の電源オン、リセットなどいわゆるパワーオンリセット(POR:Power On Reset)時に実行する処理である。まず、ステップS201において、MPU501をセキュアモードで起動する。
次にステップS202において、MPUチップ内の内蔵ROMに格納された制御プログラムは、外部記憶装置601からセキュアOSのローダ、セキュアOS、ならびに、TPM機能実行アプリケーションプログラム、その他のセキュアデータ処理実行アプリケーションのプログラムを取得する。ただし、セキュアOSのローダ以外はこの時点で取得せずに、下記のステップS204の時点でセキュアOSローダの実行時以降に取得、復号、検証しても良い。
ステップS202では、さらに、外部記憶装置601から取得したこれらのデータの復号、改竄検証処理を実行する。これらの取得データは、すべて機器鍵[Kt]で暗号化されたデータであり、これらの取得データを機器鍵[Kt]503を適用して復号する。さらに、取得データに改竄検証値、例えばMAC(メッセージ認証コード)が付与されている場合は、MACの算出を実行して、付与されているMACとの照合を実行して、データの改竄の有無を判定する。
ステップS203において、外部記憶装置601から取得したデータの復号に成功し、またデータの改竄がないことが確認されると、ステップS204以下に進む。データの復号に失敗、または、データの改竄が検出された場合は、ステップS204以下の処理を行なうことなく、処理を中止する。
ステップS204において、復号および改竄検証により正当性の確認されたセキュアOSローダとステップS202において取得したその他のプログラムをメインメモリ602に配置する。続いて、セキュアOSローダを起動する。起動されたセキュアOSローダは、ステップS202においてセキュアOSを取得していない場合には、外部記憶装置からセキュアOSを取得・復号・検証し、メインメモリに配置する。その後、セキュアOSローダは、セキュアOSを起動する。同様に、セキュアOSはTPM機能実行アプリケーションプログラムやその他のセキュアデータ処理実行アプリケーションを起動する。次に、ステップS205において、セキュアOSおよびTPM機能実行アプリケーションプログラムの制御の下に、通常OSを起動する。なお、この処理には、通常OSの外部記憶装置601からの読み取り処理と、取得データを対する機器鍵502を適用した復号処理、さらに、取得データに改竄検証値、例えばMAC(メッセージ認証コード)が付与されている場合は、MACの算出を実行しデータの改竄の有無を判定する処理が含まれる。
データ復号の失敗、または改竄検証処理において改竄ありとの判定があった場合は、通常OSの起動を実行せず、処理を中止する。
データ復号に成功し、改竄検証処理において改竄なしとの判定があった場合は、通常OSを起動して、ステップS206に進み、通常OSからセキュアOSを介して入力するTPM機能実行アプリケーションプログラムに対するデータ処理リクエストに応じて、TPM機能を提供する。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、MPUチップ内に、機器鍵を格納したセキュリティ機能モジュールを一体化して構成し、セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、機器鍵を適用した暗号化データとし、また改竄検証値を付与して外部記憶手段に格納する構成としたので、セキュリティ機能モジュール内に格納すべき秘密情報のデータ量を大幅に削減することが可能となり、大容量の不揮発メモリが不要となるので、セキュリティ機能モジュールをメインCPUを持つMPUチップ内に一体化でき、実装面積の減少、コストダウンが可能となる。また、外部に記憶される秘密情報は、機器鍵を適用して暗号化されまた改竄検証値を付与したデータとして格納されるので、十分にセキュリティレベルを維持したデータ処理が実現される。
さらに、本発明の構成によれば、MPUチップ内にデータ処理を実行するプロセッサと、暗号処理に適用する機器鍵を格納し、MPUを、通常OS上での動作プログラムを実行する通常モードと、セキュリティの要求されるデータ処理に対応するセキュアプログラムを実行するセキュアモードとの2つのモードでの動作が可能な構成とし、セキュアモードで実行するプログラムまたはデータを含む秘密情報を、機器鍵を適用した暗号化データとし、また改竄検証値を設定して外部記憶手段に格納する構成としたので、セキュリティ機能モジュールを別構成のハードウェアとして持つ必要がなくなり、実装面積の減少、コストダウンが可能となる。また、外部に記憶される秘密情報は、機器鍵を適用して暗号化されまた改竄検証値を付与したデータとして格納されるので、十分にセキュリティレベルを維持したデータ処理が実現される。
TPM(トラステッド・プラットフォーム・モジュール)を有する情報処理装置の構成を説明する図である。 本発明の実施例1に係るセキュリティ機能モジュール(TPM−E)を有する情報処理装置の構成を説明する図である。 本発明の実施例1に係るセキュリティ機能モジュール(TPM−E)の詳細構成について説明する図である。 本発明の実施例1に係るセキュリティ機能モジュール(TPM−E)を有する情報処理装置の起動処理シーケンスについて説明するフローチャートを示す図である。 本発明の実施例2に係る情報処理装置の構成を説明する図である。 本発明の実施例2に係る情報処理装置のソフトウェア構成について説明する図である。 本発明の実施例2に係る情報処理装置の起動処理シーケンスについて説明するフローチャートを示す図である。
符号の説明
10 MPUチップ
11 メインCPU
20 TPMチップ
21 TPM
31 外部記憶装置
32 メインメモリ
33 入出力装置
100 MPUチップ
110 メインCPU
200 セキュリティ機能モジュール(TPM−E)
201 プロセッサ
202 ROM
203 メモリ
204 機器鍵格納部
205 入出力(I/O)インタフェース
206 乱数生成器
207 ハッシュ算出部
208 鍵生成部
209 暗号処理部
210 クロック
251 機器ID
252 機器鍵
301 外部記憶装置
302 メインメモリ
303 入出力装置
500 MPUチップ
501 MPU
502 機器ID
503 機器鍵[Kt]
504 クロック
505 乱数生成器
601 外部記憶装置
602 メインメモリ
603 入出力装置
711 通常OS
712 アプリケーション
721 セキュアOS
722 TPM機能実行アプリケーション
723 その他セキュアデータ処理実行アプリケーション

Claims (13)

  1. 情報処理装置であり、
    データ処理プログラムを実行するプロセッサを格納したMPU(メイン・プロセッサ・ユニット)チップと、
    前記MPUチップに接続された外部記憶手段とを有し、
    前記MPUチップはメインCPUと、セキュリティの要求されるデータ処理を実行するセキュリティ機能モジュールとを格納し、
    前記セキュリティ機能モジュールは、
    暗号処理に適用する機器鍵を保持し、前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に格納された暗号化秘密情報を前記機器鍵を適用して復号し、該復号処理によって取得したプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行する構成であることを特徴とする情報処理装置。
  2. 前記セキュリティ機能モジュールは、
    前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に改竄検証値を設定して格納された秘密情報の改竄検証処理を実行し、該改竄検証処理によって改竄のないことが確認されたプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記外部記憶手段は、
    前記メインCPUの起動コードの少なくとも一部を前記機器鍵を適用した暗号化データとして格納し、
    前記セキュリティ機能モジュールは、
    前記外部記憶手段から取得した起動コードの復号を実行し、
    復号によって得られた起動コードに基づいて、前記メインCPUの起動処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記機器鍵は、
    前記MPUチップ内に構成されたフューズ型ROM(e−fuse)、またはマスクROM、または前記MPUチップに積層した不揮発性メモリチップ内に書き込まれたデータであることを特徴とする請求項1に記載の情報処理装置。
  5. 情報処理装置であり、
    データ処理プログラムを実行するプロセッサを格納したMPU(メイン・プロセッサ・ユニット)チップと、
    前記MPUチップに接続された外部記憶手段とを有し、
    前記MPUチップはデータ処理を実行するプロセッサを持つMPUと、暗号処理に適用する機器鍵を格納し、
    前記MPUは、
    通常OS上での動作プログラムを実行する通常モードと、セキュリティの要求されるデータ処理に対応するセキュアプログラムを実行するセキュアモードとの2つのモードでの動作が可能な構成であり、
    前記セキュアモードで実行するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に格納された暗号化秘密情報を前記機器鍵を適用して復号し、該復号処理によって取得したプログラムまたはデータを適用して前記セキュアプログラムを実行する構成であることを特徴とする情報処理装置。
  6. 前記MPUは、
    前記セキュアモードで実行するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するとともに、前記外部記憶手段に改竄検証値を設定して格納された秘密情報の改竄検証処理を実行し、該改竄検証処理によって改竄のないことが確認されたプログラムまたはデータを適用して前記セキュアプログラムを実行する構成であることを特徴とする請求項5に記載の情報処理装置。
  7. 前記外部記憶手段は、
    前記通常モードに対応する通常OSの起動コードの少なくとも一部を前記機器鍵を適用した暗号化データとして格納し、
    前記MPUは、
    前記セキュアプログラムに従って、前記外部記憶手段から取得した起動コードの復号を実行し、復号によって得られた起動コードに基づいて、前記通常OSの起動処理を実行する構成であることを特徴とする請求項5に記載の情報処理装置。
  8. 前記機器鍵は、
    前記MPUチップ内に構成されたフューズ型ROM(e−fuse)、またはマスクROM、または前記MPUチップに積層した不揮発性メモリチップ内に書き込まれたデータであることを特徴とする請求項5に記載の情報処理装置。
  9. 情報処理方法であり、
    セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む暗号化秘密情報を外部記憶手段から取得するステップと、
    セキュリティ機能モジュール内に格納された機器鍵を適用して前記暗号化秘密情報を復号するステップと、
    復号した秘密情報の改竄検証処理を実行するステップと、
    前記改竄検証処理によって改竄のないことが確認された秘密情報に含まれるプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行するデータ処理ステップと、
    を有することを特徴とする情報処理方法。
  10. 前記情報処理方法は、さらに、
    前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報を、前記機器鍵を適用した暗号化データとして前記外部記憶手段に格納する処理を実行するステップを有することを特徴とする請求項9に記載の情報処理方法。
  11. 前記情報処理方法は、さらに、
    前記セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む秘密情報に対して改竄検証値を設定して前記外部記憶手段に格納する処理を実行するステップを有することを特徴とする請求項9に記載の情報処理方法。
  12. 前記情報処理方法は、さらに、
    前記外部記憶手段から取得した起動コードの復号を実行し、復号によって得られた起動コードに基づく起動処理を実行するステップを有することを特徴とする請求項9に記載の情報処理方法。
  13. 情報処理を実行するコンピュータ・プログラムであり、
    セキュリティ機能モジュール内で実行するデータ処理に適用するプログラムまたはデータを含む暗号化秘密情報を外部記憶手段から取得するステップと、
    セキュリティ機能モジュール内に格納された機器鍵を適用して前記暗号化秘密情報を復号するステップと、
    復号した秘密情報の改竄検証処理を実行するステップと、
    前記改竄検証処理によって改竄のないことが確認された秘密情報に含まれるプログラムまたはデータを適用してセキュリティの要求されるデータ処理を実行するデータ処理ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2004035475A 2004-02-12 2004-02-12 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Pending JP2005227995A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004035475A JP2005227995A (ja) 2004-02-12 2004-02-12 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US11/048,808 US20050182952A1 (en) 2004-02-12 2005-02-03 Information processing apparatus and method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004035475A JP2005227995A (ja) 2004-02-12 2004-02-12 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2005227995A true JP2005227995A (ja) 2005-08-25

Family

ID=34836215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004035475A Pending JP2005227995A (ja) 2004-02-12 2004-02-12 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US20050182952A1 (ja)
JP (1) JP2005227995A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310688A (ja) * 2006-05-19 2007-11-29 Renesas Technology Corp マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2008210225A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
JP2009525556A (ja) * 2006-04-07 2009-07-09 インテル・コーポレーション 外部のコード・イメージをチップ上のプライベート・キーに一致させるための方法および装置
JP2009252142A (ja) * 2008-04-10 2009-10-29 Renesas Technology Corp データ処理装置
JP2010505356A (ja) * 2006-09-28 2010-02-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 共有暗号化キーの変更
JP2010073193A (ja) * 2008-06-30 2010-04-02 Intel Corp モバイルインターネットデバイス(mid)でuefiファームウェア及びuefiアウェアなオペレーティングシステムのセキュアなブートのためのシステム及び方法
JP2011527777A (ja) * 2008-02-29 2011-11-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 安全な起動メカニズムを備えたコンピュータシステム
JP2013084038A (ja) * 2011-10-06 2013-05-09 Sharp Corp 半導体デバイス
US8645711B2 (en) 2007-11-21 2014-02-04 Ricoh Company, Limited Information processor, method for verifying authenticity of computer program, and computer program product
US8751817B2 (en) 2011-10-07 2014-06-10 Ricoh Company, Ltd. Data processing apparatus and validity verification method
JP2015500543A (ja) * 2011-12-12 2015-01-05 マイクロソフト コーポレーション ハードウェア保護アプリケーションのシステム・サービス要求相互作用を容易化する方法
JP2015529064A (ja) * 2012-09-04 2015-10-01 インテル コーポレイション メモリに保存されたデータの安全な削除
JP2015535113A (ja) * 2012-11-20 2015-12-07 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc ファームウェアで実施されるソフトウェアの使用許諾
US9213864B2 (en) 2011-10-07 2015-12-15 Ricoh Company, Ltd. Data processing apparatus and validity verification method
JP2016038779A (ja) * 2014-08-08 2016-03-22 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
JP2017536603A (ja) * 2015-04-24 2017-12-07 華為技術有限公司Huawei Technologies Co.,Ltd. モバイル支払い装置および方法
US10289435B2 (en) 2011-05-16 2019-05-14 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
JP2020525875A (ja) * 2019-04-03 2020-08-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理
JP2020135459A (ja) * 2019-02-20 2020-08-31 ソニー・オリンパスメディカルソリューションズ株式会社 プロセッサ、制御装置、及びプロセッサの起動プログラム
JP2020528608A (ja) * 2017-07-25 2020-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュリティ・モジュールを備えた、コンピュータ・システム・ソフトウェア/ファームウェアおよび処理装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457960B2 (en) * 2004-11-30 2008-11-25 Analog Devices, Inc. Programmable processor supporting secure mode
US7565553B2 (en) * 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
US7506380B2 (en) * 2005-01-14 2009-03-17 Microsoft Corporation Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US8972743B2 (en) * 2005-05-16 2015-03-03 Hewlett-Packard Development Company, L.P. Computer security system and method
US9324076B2 (en) * 2006-06-02 2016-04-26 First Data Corporation PIN creation system and method
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US20080126779A1 (en) * 2006-09-19 2008-05-29 Ned Smith Methods and apparatus to perform secure boot
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
DE102007045743A1 (de) * 2007-09-25 2009-04-02 Siemens Ag Verfahren und System zum Schutz gegen einen Zugriff auf einen Maschinencode eines Gerätes
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
FR2926149B1 (fr) * 2008-01-07 2010-01-29 Bull Sas Dispositif, systemes et procede de demarrage securise d'une installation informatique
US8726042B2 (en) * 2008-02-29 2014-05-13 Microsoft Corporation Tamper resistant memory protection
US20090285390A1 (en) * 2008-05-16 2009-11-19 Ati Technologies Ulc Integrated circuit with secured software image and method therefor
WO2010110780A1 (en) * 2009-03-23 2010-09-30 Hewlett-Packard Development Company, L.P. System and method for securely storing data in an electronic device
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8566574B2 (en) * 2010-12-09 2013-10-22 International Business Machines Corporation Secure encrypted boot with simplified firmware update
DE102011010627A1 (de) * 2011-02-08 2012-08-09 Giesecke & Devrient Gmbh Verfahren zur Programmierung eines Mobilendgeräte-Chips
US9495524B2 (en) * 2012-10-01 2016-11-15 Nxp B.V. Secure user authentication using a master secure element
US10147090B2 (en) 2012-10-01 2018-12-04 Nxp B.V. Validating a transaction with a secure input without requiring pin code entry
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
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
CN106897623A (zh) * 2015-12-21 2017-06-27 深圳市中兴微电子技术有限公司 一种支持多安全引导的芯片及其启动方法
CN109697173B (zh) * 2018-12-11 2023-05-23 中国航空工业集团公司西安航空计算技术研究所 一种面向信息安全的嵌入式计算机SiP模块设计方法及电路
GB2581161A (en) * 2019-02-05 2020-08-12 Trustonic Ltd Software encryption

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009525556A (ja) * 2006-04-07 2009-07-09 インテル・コーポレーション 外部のコード・イメージをチップ上のプライベート・キーに一致させるための方法および装置
JP2007310688A (ja) * 2006-05-19 2007-11-29 Renesas Technology Corp マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2010505356A (ja) * 2006-09-28 2010-02-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 共有暗号化キーの変更
JP2008210225A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US8645711B2 (en) 2007-11-21 2014-02-04 Ricoh Company, Limited Information processor, method for verifying authenticity of computer program, and computer program product
JP2011527777A (ja) * 2008-02-29 2011-11-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 安全な起動メカニズムを備えたコンピュータシステム
JP2009252142A (ja) * 2008-04-10 2009-10-29 Renesas Technology Corp データ処理装置
US9092619B2 (en) 2008-04-10 2015-07-28 Renesas Electronics Corporation Data processing apparatus
JP2010073193A (ja) * 2008-06-30 2010-04-02 Intel Corp モバイルインターネットデバイス(mid)でuefiファームウェア及びuefiアウェアなオペレーティングシステムのセキュアなブートのためのシステム及び方法
US10289435B2 (en) 2011-05-16 2019-05-14 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
JP2013084038A (ja) * 2011-10-06 2013-05-09 Sharp Corp 半導体デバイス
US8751817B2 (en) 2011-10-07 2014-06-10 Ricoh Company, Ltd. Data processing apparatus and validity verification method
US9213864B2 (en) 2011-10-07 2015-12-15 Ricoh Company, Ltd. Data processing apparatus and validity verification method
JP2015500543A (ja) * 2011-12-12 2015-01-05 マイクロソフト コーポレーション ハードウェア保護アプリケーションのシステム・サービス要求相互作用を容易化する方法
JP2015529064A (ja) * 2012-09-04 2015-10-01 インテル コーポレイション メモリに保存されたデータの安全な削除
JP2015535113A (ja) * 2012-11-20 2015-12-07 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc ファームウェアで実施されるソフトウェアの使用許諾
JP2016038779A (ja) * 2014-08-08 2016-03-22 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
JP2017536603A (ja) * 2015-04-24 2017-12-07 華為技術有限公司Huawei Technologies Co.,Ltd. モバイル支払い装置および方法
US11429950B2 (en) 2015-04-24 2022-08-30 Huawei Technologies Co., Ltd. Mobile payment apparatus and method
JP2020528608A (ja) * 2017-07-25 2020-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュリティ・モジュールを備えた、コンピュータ・システム・ソフトウェア/ファームウェアおよび処理装置
JP2020135459A (ja) * 2019-02-20 2020-08-31 ソニー・オリンパスメディカルソリューションズ株式会社 プロセッサ、制御装置、及びプロセッサの起動プログラム
JP2020525875A (ja) * 2019-04-03 2020-08-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理
US11153072B2 (en) 2019-04-03 2021-10-19 Advanced New Technologies Co., Ltd. Processing blockchain data based on smart contract operations executed in a trusted execution environment

Also Published As

Publication number Publication date
US20050182952A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
JP2005227995A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5537742B2 (ja) 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置
US8782388B2 (en) Information processing apparatus, method, and computer-readable storage medium that encrypt data in a blob based on a hash value
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US8150039B2 (en) Single security model in booting a computing device
US7986786B2 (en) Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
JP4099039B2 (ja) プログラム更新方法
TWI385554B (zh) 未知安全金鑰下開機影像之安全更新
CN109840430B (zh) Plc的安全处理单元及其总线仲裁方法
US20090259855A1 (en) Code Image Personalization For A Computing Device
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
JP2013545182A5 (ja)
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
JP2013541783A5 (ja)
JP2011522469A (ja) 保護されたソフトウエアイメージを有する集積回路及びそのための方法
WO2012174726A1 (zh) 芯片及芯片的安全保护方法
JP2007310688A (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2007141044A (ja) 情報処理装置、及びプログラム実行制御方法
JP4724107B2 (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
US11874928B2 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
JP6930884B2 (ja) Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム
TW202147100A (zh) 積體電路、用於安全地管理用於資料安全的多個密鑰的系統以及由積體電路執行的方法
JP5806187B2 (ja) 秘密情報の交換方法およびコンピュータ
CN114296873A (zh) 一种虚拟机镜像保护方法、相关器件、芯片及电子设备
CN111291389B (zh) 一种计算机核心程序全生命周期的保护方法及系统