JP5097130B2 - 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム - Google Patents
情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム Download PDFInfo
- Publication number
- JP5097130B2 JP5097130B2 JP2008552115A JP2008552115A JP5097130B2 JP 5097130 B2 JP5097130 B2 JP 5097130B2 JP 2008552115 A JP2008552115 A JP 2008552115A JP 2008552115 A JP2008552115 A JP 2008552115A JP 5097130 B2 JP5097130 B2 JP 5097130B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- data
- value
- digest
- update
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Description
図16は、TCGなどによって提案されている技術に基づき、パーソナルコンピュータ1600が、保持するデータを暗号化して保護し、サービス提供サーバ1610がパーソナルコンピュータ1600上で実行されているプログラムデータを認証して情報サービスを提供するシステムの一例を示している。パーソナルコンピュータ1600には、TPM(TrustedPlatform Module)1602と呼ばれる耐タンパモジュールが実装されている。
シールされたデータ1608を復号化する場合、TPM1602は、まず、暗号化に用いた公開鍵に対応する秘密鍵を用いてシールされたデータ1608の暗号を復号化する。次に、TPM1602は、復号化したデータに含まれる照合値とPCR1604に格納されている値(PCR値)とを照合する。照合の結果、一致した場合、TPM1602は、パーソナルコンピュータ1600上で正しいプログラムデータが実行されていることを認証して、復号化したデータをTPM1602からCPU1601へ出力する。照合の結果、一致しなかった場合、TPM1602は、正しいプログラムデータが実行されていることを認証せず、復号化したデータをTPM1602から外部へ出力しない。
また、プログラムデータの更新に合わせて、サービス提供サーバ1610の照合値DB1612に格納されているPCR照合値が更新されていない場合には、パーソナルコンピュータ1600は、情報サービスの提供を受けることが出来ないという問題がある。暫定的に、プログラムデータを更新前のものに戻すことによって、シールされたデータを復号化したり、サービス提供サーバ1610からの情報サービスの提供を受けたりできるようにする方法も考えられる。しかし、バグや脆弱性がある状態に戻すことになる場合があるので、安全上の問題がある。
また、前記旧特徴値は、前記旧プログラムのダイジェストであり、前記過去特徴値は、前記過去プログラムのダイジェストであり、前記データは、前記過去プログラムのダイジェストに係る値である使用条件値と対応付けられており、前記ダイジェスト生成部は、更に、前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストを生成し、前記許可手段は、前記1以上のプログラムそれぞれのダイジェストと、前記更新証明書に含まれる前記旧プログラムのダイジェストとを累積演算して更新前累積値を生成する累積値生成部と、前記使用条件値と前記更新前累積値とが一致するか否かを判定する累積値判定部と、前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データの使用を許可する使用許可部とを備えることとしてもよい。
また、前記累積値生成部は、前記判定手段により一致すると判定された場合に前記更新前累積値を生成し、前記判定手段により一致しないと判定された場合に、前記現プログラムのダイジェストと、前記1以上のプログラムそれぞれのダイジェストとを累積演算して現累積値を生成し、前記累積値判定部は、前記判定手段により一致すると判定された場合に、前記使用条件値と前記更新前累積値とが一致するか否かを判定し、前記判定手段により一致しないと判定された場合に、前記使用条件値と前記現累積値とが一致するか否かを判定し、前記使用許可部は、前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データを使用許可することとしてもよい。
また、前記累積値生成部は、更に、前記1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを累積演算して現累積値を生成し、前記許可手段は、更に、前記データを使用可と判断した場合に、前記データに対応付けられている前記使用条件値の値を前記現累積値に更新することとしてもよい。
また、前記情報端末において、前記データと前記使用条件値とは暗号化された後に保持されており、前記許可手段は、更に、前記使用許可部による判定の前に、前記データと前記使用条件値とを復号する復号部と、前記現プログラムによる前記データの使用が終了した後に、前記データと前記使用条件値とを暗号化する暗号化部とを備えることとしてもよい。
また、前記新特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記新プログラムのダイジェストとを累積演算した結果である更新後累積値であり、前記判定手段は、前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成部と、前記ダイジェスト生成部により生成されたダイジェストを累積演算して現累積値を生成する累積値生成部と、前記更新後累積値と前記現累積値とが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定部とを含むこととしてもよい。
前記旧特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記旧プログラムのダイジェストとを累積演算した結果である更新前累積値であり、前記過去特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記過去プログラムのダイジェストとを累積演算した結果である過去累積値であり、前記データは前記過去特徴値と同一の値である使用条件値と対応付けられており、前記許可手段は、前記判定手段により一致すると判定された場合に、前記使用条件値と、前記更新前累積値とが一致するか否かを判定する累積値判定部と、前記累積値判定部により一致すると判定された場合に、実行中の前記現プログラムに対し、前記データの使用を許可する使用許可部とを備えてもよい。
また、前記許可手段は、更に、前記使用許可部によりデータの使用が許可された場合に、前記データに対応付けられている前記使用条件値の値を、前記累積値生成部により生成された前記現累積値に更新する再シール部を備えてもよい。
また、前記情報端末は、プログラムの特徴を示す特徴値である認証値に基づきサービスの提供可否を判定するサービス提供装置と共に用いられ、前記サービス提供装置は、プログラムの特徴を示す特徴値である照合値を記憶する記憶手段と、前記情報端末から認証値を受信する受信手段と、前記認証値と前記照合値とが一致する場合に、前記情報端末にサービスを提供する提供手段とを備え、前記情報端末は、更に、前記サービス提供装置に対し、前記現プログラムの特徴を示す認証値を送信し、前記認証値の送信に対する応答として前記サービスの提供が成されなかった場合に、前記旧プログラムの特徴を示す特徴値である認証値を送信する送信手段を備えることとしてもよい。
本発明は、プログラムを実行する情報端末に用いられるセキュリティデバイスであって、前記情報端末は、旧プログラムのダイジェストと、前記旧プログラムの更新版である新プログラムのダイジェストとの組を含む更新証明書を取得する更新証明書取得手段と、データを、前記データを使用していたプログラムである過去プログラムのダイジェストである使用条件値と対応付けて保持している保持手段と、実行中の現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成手段と、前記現プログラムのダイジェストと前記新プログラムのダイジェストとが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定手段とを備え、前記セキュリティデバイスは、前記判定手段により一致すると判定された場合に、前記1以上のプログラムそれぞれのダイジェストと、前記更新証明書に含まれる前記旧プログラムのダイジェストとを累積演算して累積値を生成する累積値生成部と、前記使用条件値と、前記累積値生成部により生成された累積値とが一致するか否かを判定する累積値判定部と、前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データの使用を許可する使用許可部とを備える。
本発明は、プログラムを実行する情報端末に用いられるセキュリティデバイスであって、前記情報端末は、実行中のプログラムである現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと旧プログラムのダイジェストとを累積演算した結果である更新前累積値と、前記現プログラム前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと前記旧プログラムの更新版である新プログラムのダイジェストとを累積演算した結果である更新後累積値との組を含む更新証明書を取得する更新証明書取得手段と、データを、前記データを使用していたプログラムである過去プログラムのダイジェストに係る情報である使用条件値と対応付けて保持している保持手段と、前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成手段と、前記セキュリティデバイスから、現累積値を取得する現累積値取得手段と、前記現累積値と前記更新後累積値とが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定手段とを備え、前記セキュリティデバイスは、前記ダイジェスト生成部により生成されたダイジェストを累積演算して前記現累積値を生成し、前記情報端末に出力する累積値生成手段と、前記決定手段により一致すると決定された場合に、前記使用条件値と、前記更新前累積値とが一致するか否かを判定する累積値判定手段と、前記累積値判定部により一致すると判定された場合に、実行中の前記現プログラムに対し、前記データの使用を許可する使用許可手段とを備える。
(実施の形態1)
始めに、本発明の実施の形態1に係る情報端末100の構成について説明する。
図1は、本発明の実施の形態1に係る情報端末100の構成を示すブロック図である。情報端末100は、図1に示すように、CPU101、CPU101が実行するプログラムデータを格納するプログラム格納部107、プログラムデータの更新を証明する更新証明書を格納する更新証明書格納部102、CPU101が実行するプログラムデータのダイジェストを生成する計測部104、プログラムデータのダイジェストの累積演算を行ってその結果を保持するセキュリティデバイス106、セキュリティデバイス106が累積演算を行うプログラムデータのダイジェストを選択する選択部103、および、CPU101またはセキュリティデバイス106が処理したデータを格納するデータ格納部105とから構成される。ここで、データのダイジェストとは、具体的には、データに対するSHA−1(SecureHash Algorithm 1)等のハッシュ演算の結果を指し、以下においてもダイジェストとは、SHA−1等のハッシュ演算の結果を意味することとする。すなわち、ダイジェストを生成することは、ハッシュ値を計算する(「計測する」ともいう)ことを意味する。
また、更新証明書格納部102とデータ格納部105とプログラム格納部107は、具体的には不揮発性メモリやハードディスクその他の記憶装置によって実現される。データ格納部105は、図16におけるハードディスク1603に相当する。
図2は、本発明の実施の形態1におけるセキュリティデバイス106の構成を示すブロック図である。セキュリティデバイス106は、図2に示すように、CPU101から受信したダイジェストの累積演算を行う累積演算部201と、累積演算部201が行った累積演算の結果を保持する累積値格納部202と、CPU101から受信したアンシールコマンドに基づいてシールされたデータの暗号を復号化する復号化部203と、シールされたデータに含まれる復号化条件を満たしているか否かを検証する復号化条件検証部204と、CPU101からの要求に基づいて累積値格納部202が保持する累積演算の結果に署名を行う署名部205とから構成される。セキュリティデバイス106は、図16におけるTPM1602に、累積値格納部202は、PCR1604にそれぞれ相当する。
図3(A)に示すように、更新証明書格納部102に格納されている更新証明書300は、プログラムデータ提供者がプログラムデータの更新を保証する証明書である。この更新証明書300は、プログラムデータの識別情報301、更新後のプログラムデータのバージョン302、更新後のプログラムデータのダイジェスト303、更新前のプログラムデータのバージョン304、更新前のプログラムデータのダイジェスト305、プログラムデータ提供者の識別情報306、およびプログラムデータ提供者の署名307から構成される。
データ格納部105に格納されているシールされたデータ400は、図4(A)に示すように、復号化の条件を示す復号化条件401とデータ402とを連結したデータに対して暗号化を施したデータ構成となっている。
情報端末100には、通常モードと復元モードの2つの動作モードがある。通常モードは情報端末100が通常の動作を実行する動作モードであり、復元モードはプログラムデータの更新前の動作状態を擬似的に復元して動作を実行するモードである。
情報端末100は、ユーザが情報端末100の起動時に復元モードでの動作を指定した場合、および、前回の情報端末100の起動中にユーザが次回の動作モードとして復元モードでの動作を指定していた場合に復元モードで動作し、それ以外の場合は通常モードで動作する。CPU101は、どの動作モードで動作しているかという情報を保持する。
また、図4(B)のように、シールされたデータ400aに属性情報403が付加されている場合には、ユーザがシールされたデータ400aへのアクセスを指示した段階で、情報端末100は、属性情報403(例えば、あるプログラムデータの識別情報とバージョン情報)の内容と現在起動しているプログラムデータ(例えば、そのプログラムデータの識別情報とバージョン情報)とを照合する。属性情報403の内容と現在起動しているプログラムデータとが一致していない場合には、情報端末100は、復元モードで情報端末100を再起動することをユーザに促すメッセージを表示する。さらに、ユーザが復元モードでの起動を指定した場合、情報端末100は、復元モードで再起動する。
次に、選択部103が、情報端末100の動作モードが復元モードか否かを判定し(ステップS502)、復元モードの場合はステップS503へ進み、通常モードなど復元モード以外の動作モードの場合はステップS510へ進む。
ステップS510では、選択部103は、セキュリティデバイス106が累積演算を行うデータとして、計測部104が生成したプログラムデータのダイジェストを選択し、セキュリティデバイス106に累積演算を要求する。
情報端末100は、図16のサービス提供サーバ1610から情報サービスの提供を受ける場合、セキュリティデバイス106の累積値格納部202が保持する値にセキュリティデバイス106が署名を施したデータをサービス提供サーバ1610へ送信する。この時の累積値格納部202が保持する値に署名を施したデータは、署名部205がCPU101からの要求に基づいて、累積値格納部202が保持する値とサービス提供サーバ1610から受信したチャレンジ情報1620b(サービス提供サーバ1610が生成した乱数など)とを連結したデータに対して署名を施したものである。
また、シールされたデータが、更新前のプログラムデータを実行した場合のプログラムデータのダイジェストの累積演算の結果にバインドしてシールされている場合には、通常モードで起動した状態においては、図6に示す処理フローに基づいて、セキュリティデバイス106から復号化条件401の中に含まれるプログラムデータのダイジェストの累積演算の結果の照合値と累積値格納部202が保持する値とが一致しないことを示すエラーが外部に出力される(ステップS605)。そして、情報端末100は、復元モードで情報端末100を再起動することをユーザに促すメッセージを表示する。さらに、ユーザが復元モードでの起動を指定した場合、情報端末100は、復元モードで再起動する。
この場合、累積値格納部202には更新前のプログラムデータを実行した場合の累積演算の結果が保持されているので、ステップS602の判定において、復号化条件401の中に含まれるプログラムデータのダイジェストの累積演算の結果の照合値と累積値格納部202が保持する値とが一致するという判定が復号化条件検証部204によって行われ、シールされたデータを復号化することができる。
なお、プログラムデータの識別情報301が同じプログラムデータに関して複数回の更新が行われている場合には、プログラムデータの識別情報301が同じで、バージョンが異なる複数の更新証明書が更新証明書格納部102に格納されることになる。この場合、図5に示した処理フローのステップS503では、該当する複数の更新証明書が特定され、ステップS504では、バージョンが最新の更新証明書に関して、更新証明書の中の更新後のプログラムデータのダイジェストと生成したダイジェストとが一致するか否かが判定される。さらに、ステップS505では、ステップS503で特定された更新証明書のうち、どのバージョンのプログラムデータをCPU101が実行している状態を復元するかを情報端末100のユーザが指定し、指定されたバージョンを更新前のプログラムデータとする更新証明書に関して、選択部103が更新証明書の中の更新前のプログラムデータのダイジェストを選択し、セキュリティデバイス106に累積演算を要求する。
図3(B)において、更新証明書350は、プログラムデータの識別情報351と、最新の第N世代のプログラムデータのバージョン352及びプログラムデータのダイジェスト353(Nは3以上の整数)と、第N−1世代のプログラムデータのバージョン354及びプログラムデータのダイジェスト355から第N−i世代までのプログラムデータのバージョン356及びプログラムデータのダイジェスト357(iはNよりも小さい1以上の整数)と、プログラムデータ提供者の識別情報358と、プログラムデータ提供者の署名359とから構成される。
(実施の形態2)
本発明の実施の形態2における情報端末700は、特に、セキュリティデバイスが累積演算を行うプログラムデータのダイジェストを選択する処理を、より正確に行えるように構成したものである。
情報端末700の動作は実施の形態1における情報端末100の場合と同じであり、プログラムデータが更新された場合でも、更新したプログラムデータを元に戻すことなく、サービス提供サーバ1610のようにCPU101が実行しているプログラムデータを認証するサービス提供サーバからの情報サービスの提供や、シールされたデータの復号化が可能となる。
なお、セキュリティデバイス706に、さらに更新証明書格納部102を内蔵する構成にしてもよい。耐タンパ性を有するセキュリティデバイス706に更新証明書格納部102を内蔵することで、更新証明書への不正なアクセスを防止することができ、図5の処理フローにおけるステップS502からステップS504の処理がより正確に実行される。
本発明の実施の形態3に係る情報端末900は、復元モードでの起動が不要になるように構成したものである。図9は、本発明の実施の形態3における情報端末900のブロック図である。CPU101、プログラム格納部107、更新証明書格納部102、計測部104、およびデータ格納部105は、実施の形態1における情報端末100の場合と同じである。図10を参照すると、実施の形態3の場合、プログラムデータのダイジェストの累積演算を行ってその結果を保持するセキュリティデバイス906の中に、さらに、CPU101が更新前のプログラムデータを実行した場合のプログラムデータのダイジェストの累積演算の結果を少なくとも一つ以上保持する更新前累積値格納部206が含まれる。選択部903は、セキュリティデバイスが累積演算を行うプログラムデータのダイジェストを選択する。選択部903は、セキュリティデバイス906の更新前累積値格納部206が保持する少なくとも一つの累積演算の結果に更に累積演算を行うデータとして、更新証明書の中の更新前のプログラムデータのダイジェストを選択する。また、選択部903は、更新前累積値格納部206が保持するその他の累積演算の結果に更に累積演算を行うデータとして、計測部104が生成したプログラムデータのダイジェストを選択して、セキュリティデバイス906に累積演算を要求する。
次に、実施の形態3に係る情報端末900の動作について説明する。情報端末900の場合、復元モードのような動作モードはなく、通常モードで動作する。情報端末900のCPU101は、プログラム格納部107に格納されたプログラムデータを実行する。CPU101は、プログラムデータを実行する際に、実行するプログラムデータのダイジェストを計測部104が生成し、ダイジェストの累積演算の結果をセキュリティデバイス906が保持するように指示する。図11は、CPU101が一つのプログラムデータを実行する際に行われる処理のフローを示している。
次に、セキュリティデバイス906の累積値格納部202が保持する値に累積演算を行うデータとして、計測部104が生成したプログラムデータのダイジェストを選択部903が選択し、セキュリティデバイス906に累積演算を要求する(S1102)。累積演算を要求されたセキュリティデバイス906では、累積演算部201が、要求されたプログラムデータのダイジェストの累積演算を行う。具体的には、累積演算部201は、累積値格納部202に保持されているデータと選択部903が選択したプログラムデータのダイジェストとを連結し、さらにそのダイジェストを生成して、生成したダイジェストをまた累積値格納部202に保存する(S1103)。
累積演算を要求されたセキュリティデバイス906では、累積演算部201が、要求されたプログラムデータのダイジェストの累積演算を行う。具体的には、累積演算部201は、更新前累積値格納部206に保持されているデータと選択部903が選択したプログラムデータのダイジェストとを連結し、さらにそのダイジェストを生成して、生成したダイジェストをまた更新前累積値格納部206に保存する(S1107)。
図11に示した処理は、CPU101がプログラムデータを実行する度に実行される。この時、セキュリティデバイス906の累積値格納部202と更新前累積値格納部206には、CPU101が実行した複数のプログラムデータのダイジェストの累積演算の結果が保持されており、それらは、CPU101が実行したプログラムデータの組み合わせによって異なる値を示す。累積値格納部202に保持される値は、CPU101が実行したプログラムデータの組み合わせを示し、更新前累積値格納部206に保持される値は、更新前のプログラムデータを実行した場合のCPU101が実行したプログラムデータの組み合わせを示す。
但し、実施の形態1の場合とは異なり、ステップS602では、復号化条件検証部204が、復号化条件401の中に含まれるプログラムデータのダイジェストの累積演算の結果の照合値と、累積値格納部202または更新前累積値格納部206が保持する値とが一致するか否かを判定する。いずれかが一致する場合には、ステップS603へ進み、いずれも一致しない場合には、復号化条件検証部204は、エラーを出力して復号化に失敗したことを示す動作を行う(ステップS605)。
この時、出力される再暗号化されたデータは、CPU101が実行する更新されたプログラムデータのダイジェストの累積演算の結果にバインドしてシールされたデータである。
本発明の実施の形態4における情報端末1400は、特に、セキュリティデバイスが累積演算を行うプログラムデータのダイジェストを選択する処理を、より正確に行えるように構成したものである。
図14は、本発明の実施の形態4における情報端末1400の構成を示すブロック図である。実施の形態2における情報端末700と同様のブロック図となっているが、セキュリティデバイス1406の部分が実施の形態2と異なる。実施の形態4におけるセキュリティデバイス1406の構成は、実施の形態3におけるセキュリティデバイス906の構成と以下に述べる点で異なる。
情報端末1400の動作は、実施の形態3における情報端末900の場合と同じであり、プログラムデータが更新された場合でも、更新したプログラムデータを元に戻すことなく、サービス提供サーバ1610のようにCPU101が実行しているプログラムデータを認証するサービス提供サーバからの情報サービスの提供や、シールされたデータの復号化が可能となる。
(実施の形態5)
本実施の形態は、上述の実施の形態と比べ、(1)更新証明書にダイジェストではなく累積値が記録している点、(2)装置内で更新証明書の生成を行っている点、(3)古いプログラム構成に係る復号化条件を用いてシールされているデータを、更新後のプログラム構成に係る復号化条件を用いて再シールする点の3点で相違する。
(2)により、外部装置からの更新証明書の取得が不要となる。
(3)により、一度再シール処理を行えば、当該処理以降に、当該データの使用の度に古い復号化条件を用いて復号する必要がなくなる。
(構成)
図17は、本発明の一実施形態に係るプログラム更新システムの構成を示す図である。
前記プログラム更新システムは、プログラムデータ管理サーバ1701、サービス提供サーバ1702及び情報端末1703を含んで構成される。
プログラムデータ管理サーバ1701は、情報端末1703により実行されるプログラムデータを管理するサーバである。
サービス提供サーバ1702は、サービスの要求を受け付けた装置の中で認証に成功したものに対しサービスの提供を行うサーバである。
なお、以後の説明では、プログラムデータ管理サーバ1701、サービス提供サーバ1702及び情報端末1703の間の通信内容の保護については特に述べないが、装置間の通信内容を公知の暗号化方式を用いて暗号化、復号化することにより通信内容の保護を行ってももちろんよい。また、装置間において、通信に先立ち公知の認証方式を用いて認証を行い、認証に成功した後に通信を行うこととしてもよい。
プログラムデータ管理サーバ1701は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ROM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されており、RAM上に読み出されたコンピュータプログラムに従って前記マイクロプロセッサが動作することにより、プログラムデータ管理サーバ1701はその機能を達成する。
プログラムデータ管理サーバ1701は、通信部1801、プログラムデータ管理部1802及びプログラムデータDB格納部1803を含んで構成される。
通信部1801は、ネットワーク1704を介して、サービス提供サーバ1702及び通信端末1803と通信する。
図19は、プログラムデータDBの一例を示す図である。
プログラムデータDBは、BIOSやOS、アプリケーションプログラムなどの各プログラムデータについて、プログラムデータと、プログラムデータ識別情報及びプログラムデータバージョンを対応づけて記憶している。
プログラムデータバージョンは、プログラムデータのバージョン番号を示す。
図19のプログラムデータDBは、一例として、プログラムデータ識別情報の値が「0001」であり、プログラムデータバージョンが「v1.52」である「ムービープレーヤー」が記録されていることを示す。
プログラムデータDB中のプログラムデータが、例えば開発者等により更新された場合、その更新後のプログラムデータと、そのプログラムデータに係るプログラムデータ識別情報と、更新後のプログラムデータのプログラムデータバージョンとを、通信部1801を用いて情報端末1703に送信する。
また、前述の更新があった場合、プログラムデータ管理部1802は、サービス提供サーバ1702に対して、情報端末1703におけるプログラムデータの構成を識別するプログラムデータ構成識別情報と、情報端末1703における当該更新後のプログラムデータのダイジェストを含む、BIOSのダイジェストとOSのダイジェストとアプリケーションプログラムのダイジェストとを累積した累積値とを送信する。ここで、プログラムデータの構成とは、情報端末1703で動作するBIOS、OS、アプリケーション等の全体または一部の組み合わせを意味する。
サービス提供サーバ1702は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ROM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されており、RAM上に読み出されたコンピュータプログラムに従って前記マイクロプロセッサが動作することによりサービス提供サーバ1702はその機能を達成する。
サービス提供サーバ1702は、通信部2001、データ管理部2002、照合値DB格納部2003及びコンテンツ蓄積部2004を含んで構成される。
通信部2001は、ネットワーク1704を介して、プログラムデータ管理サーバ1701及び通信端末1703と通信する。
図21は、照合値DBの内容を示す図である。
照合値DBには、サービスの提供を要求する情報端末のプログラムデータの構成を識別するプログラムデータ構成識別情報と、そのプログラムデータの構成に対応する照合値とが対応づけて記録されている。
コンテンツ蓄積部2004は、サービス提供の一例としてのコンテンツ配信サービスにおいて、配信するコンテンツと、そのコンテンツを識別するコンテンツ識別子とを対応付けて記憶しているハードディスク、大容量メモリ等の記憶デバイスである。
なお、特に述べない限り、サービス提供サーバ1702における他装置との通信は、「通信部2001を用いて通信する」等の明示的な記載をしなくても通信部2001を用いて行っているものとする。
照合値と累積値とが一致している場合、前記コンテンツ識別子により識別されるコンテンツをコンテンツ蓄積部2004から読み出して、情報端末1703に送信する。
照合値と累積値とが一致しない場合、サービス提供ができない旨を示すエラー情報を情報端末1703に対して送信する。
情報端末1703は、具体的には、マイクロプロセッサ、ROM、RAM、ディスプレイユニット、キーボードなどから構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されており、RAM上に読み出されたコンピュータプログラムに従って前記マイクロプロセッサが動作することにより、情報端末1703はその機能を達成する。
情報端末1703は、CPU101、更新証明書格納部102、計測部104、データ格納部105、プログラム格納部107、通信部2201、更新証明書生成部2202及びセキュリティデバイス2203を含んで構成される。
ここで、本実施の形態において上述の実施の形態と同符号を付している構成については、上述の実施の形態とその機能等に特に変わりはないので説明は省略する。
通信部2201は、ネットワーク1704を介して、プログラムデータ管理サーバ1701、サービス提供サーバ1702その他の外部装置と通信するネットワーク通信デバイスである。
なお、特に述べない限り、情報端末1703における他装置との通信は、「通信部2201を用いて通信する」等の明示的な記載をしなくても通信部2201を用いて行っているものとする。
更新証明書生成部2202は、更新証明書を生成するデバイスである。
以後、まず本実施の形態で用いられる更新証明書の内容について説明し、次いで更新証明書の生成処理について説明する。
図24(A)は、本実施の形態における更新証明書の一例である更新証明書2401の内容を示す図である。
新構成バージョンは、自更新証明書が生成される時点で最新のプログラムデータの構成に含まれる全てのプログラムデータの識別情報と、各プログラムデータに係るバージョン番号のリストである。
本実施の形態では、前記最新のプログラムデータのダイジェストを含む、BIOSのダイジェストとOSのダイジェストとアプリケーションプログラムのダイジェストとを累積した値となる。
旧構成バージョンは、更新対象であるプログラムデータを更新する前の状態におけるプログラムデータの構成に含まれる全てのプログラムデータの識別情報と、各プログラムデータに係るバージョン番号のリストである。
本実施の形態では、前記更新前の更新対象であるプログラムデータのダイジェストを含む、BIOSのダイジェストとOSのダイジェストとアプリケーションプログラムのダイジェストとを累積した値となる。
提供者署名は、更新証明書を構成するデータに対する自更新証明書の提供者による署名であり、提供者に固有の秘密鍵を用いて生成された署名である。この場合には情報端末1703が提供者となるので、提供者署名は情報端末1703に固有の秘密鍵による署名となる。
図25は、更新証明書生成処理を示すフローチャートである。
更新証明書生成部2202は、更新対象のプログラムデータの識別情報と更新後のプログラムデータのバージョン番号を含む更新証明書生成指示をCPU101から取得する(ステップS2501)。
そして、更新証明書格納部102に格納されている更新証明書(以下、現更新証明書という。)を読み出し、取得した更新後のプログラムデータのバージョン番号が現更新証明書中の新構成バージョンに含まれる更新対象のプログラムデータのバージョン番号よりも大きい場合(ステップS2502:YES)に、新たな更新証明書(以下、新更新証明書という。)を生成する(ステップS2503)。
新更新証明書の旧構成累積値には、前記現更新証明書における新構成累積値を格納する。
新更新証明書の新構成バージョンには、現更新証明書中の新構成バージョンに含まれる更新対象のプログラムデータのバージョン番号を、前記取得した更新後のプログラムデータのバージョン番号に更新したものを格納する。
新更新証明書のプログラムデータ構成識別情報には、現更新証明書のプログラムデータ構成識別情報を格納する。
新更新証明書の提供者識別情報には、現更新証明書の提供者識別情報を格納する。
更新証明書生成部2202は、以上のようにして生成した新更新証明書を、更新証明書格納部102が格納している旧更新証明書に上書きすることで、更新証明書を更新する。
セキュリティデバイス2203は、既に説明したセキュリティデバイス106に対し、再シールの機能を付加したものである。
図23は、セキュリティデバイスの構成を示すブロック図である。
セキュリティデバイス2203は、累積演算部201、累積値格納部202、復号化部203、復号化条件検証部204、累積値検証部2301及び暗号化部2302を含んで構成される。
暗号化部2302は、暗号化鍵を保持しており、当該暗号化鍵を用いてデータを暗号化する。
なお、この暗号化鍵により暗号化されたデータを復号するための復号鍵は、復号化部203により保持されているものとする。
図26は、累積値検証部2301による再シール処理を示すフローチャートである。
累積値検証部2301は、CPU101から、更新に係るプログラムデータを識別するプログラムデータ識別情報を含むプログラムデータの更新通知を受け取る(ステップS2601)。
そして、復号化部203に対し、前記暗号化データの復号を指示する。
ここで、復号化部203により前記復号鍵を用いて前記暗号化データが復号されると(ステップS2602)、復号化部203により復号化完了の通知が成されるので、累積値検証部2301はその通知を受け取る。
そして、累積値検証部2301は、復号化部203による復号結果である復号化データに含まれる累積値が、読み出した前記更新証明書に含まれる旧構成累積値と一致するか否かを判定する(ステップS2603)。
ステップS2603において、一致すると判定された場合(ステップS2603:YES)、さらに、累積値格納部202に格納されている累積値が、前記更新証明書中の新構成累積値と一致するか否かを判定する(ステップS2604)。
そして、累積値検証部2301は、暗号化部2302に対して前記連結データの暗号化を指示する(ステップS2605)。
ここで、暗号化部2302により前記暗号鍵を用いて前記連結データが暗号化され(ステップS2606)、暗号化終了の通知が累積値検証部2301に対して行われる。
以上により、再シール処理についての制御が終了する。
なお、本実施の形態では、CPU101は、プログラムデータ管理サーバ1701から更新に係るプログラムデータを識別するプログラムデータ識別情報を受け取る毎に、セキュリティデバイス2203に対してプログラムデータの更新通知を送信する。よって、セキュリティデバイス2203は、プログラムデータの更新が成されるごとに、再シール処理を要するデータに対して再シール処理を実行する。
従って、再シール処理の後は、更新後のプログラムデータは、新構成累積値を用いることで復号化条件を満たすことができるようになり、上記実施の形態において行われていたデータの使用における旧構成累積値の算出や、旧構成累積値を使用しての復号化条件の判断等は不要となる。
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1)実施の形態5に係る更新証明書は、図24(A)のように、新構成に係るバージョンと累積値及び旧構成に係るバージョンと累積値といった2世代についての情報を記録するのに限らず、例えば図24(B)に示すように複数世代のバージョンと累積値を記録することとしてもよい。
これにより、情報端末1703において、プログラムデータの更新が頻繁に行われ、データに対応付けられている復号化条件に複数世代前のプログラムデータに係るダイジェストが含まれることとなっても、更新証明書に含まれる前記復号化条件に対応する複数世代前の累積値を用いて復号化条件を満たすことができるようになる。
(6)上述した実施の形態、および、その変形例では、データのシールは、データとプログラムデータのダイジェストの累積値とを対応付けた上で暗号化することによって実現していた。しかし、シールの仕方はこれに限られるものではない。例えば、プログラムデータのダイジェストだけの累積値とデータを対応付けるのではなく、プログラムデータのダイジェスト及び当該プログラムデータの実行中に起こるイベント情報のダイジェストの累積値とデータとを対応付けても良い。ここでプログラムデータの実行中に起こるイベント情報とは、当該プログラムデータが行う各種の処理の処理結果や他の機器とのデータ通信、外部からのデータ入力や情報端末の操作等を意味し、例えば、外部のサーバとの認証処理に成功したという結果や、情報端末1703のユーザにより適切なパスワードの入力が行われたといったイベントの情報である。すなわち、データをプログラムデータが行う各種の処理の処理結果や外部からのデータ入力等のイベント情報と対応付け、予め定められた正しいイベントが起きなければデータを取得できない仕組みとしてもよい。
(7)上述した実施の形態、および、その変形例では、シールを、データと累積値とを対応付けた上で暗号化することによって実現していた。しかし、シールの仕方はこれに限られるものではない。例えば、累積値とデータを対応付けるのではなく、累積値と情報端末での暗号処理に用いられる秘密鍵とを対応付けても良い。この場合、シールされた秘密鍵は、アンシールの際にはセキュリティデバイス内で復号されるので、平文の秘密鍵がセキュリティデバイスの外部にでることはない。
また、シールの対象とする情報は秘密鍵に限られるものではなく、共通鍵暗号における共通鍵など、情報端末で行う暗号処理に用いられる鍵の情報であればどのようなものであってもよい。
なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
(11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
101、1601 CPU
102 更新証明書格納部
103、703、903、1403 選択部
104 計測部
105 データ格納部
106、706、906、1406 セキュリティデバイス
107 プログラム格納部
201 累積演算部
202 累積値格納部
203 復号化部
204 復号化条件検証部
205 署名部
206 更新前累積値格納部
207 暗号化部
300、350 更新証明書
400 シールされたデータ
1600 パーソナルコンピュータ
1601 CPU
1602 TPM
1603 ハードディスク
1604 PCR
1605 BIOS
1606 OS
1607 アプリケーション
1608 シールされたデータ
1610 サービス提供サーバ
1611 クライアント認証部
1612 照合値DB
1613 サービス提供部
1620 データ
1620a PCR値
1620b チャレンジ情報
Claims (16)
- プログラムを実行する情報端末であって、
旧プログラムの特徴を示す旧特徴値と前記旧プログラムの更新版である新プログラムの特徴を示す新特徴値との組を含む更新証明書を取得する更新証明書取得手段と、
データを、前記データを使用していたプログラムである過去プログラムの特徴を示す過去特徴値と対応付けて保持している保持手段と、
前記新特徴値を用いて、前記情報端末で実行中のプログラムである現プログラムが前記新プログラムと一致するか否かを判定する判定手段と、
前記判定手段により一致すると判定された場合に、前記旧特徴値と前記過去特徴値とに基づいて前記データの使用可否を判断し、使用可と判断された場合に、前記実行中の現プログラムに対し前記データの使用を許可する許可手段と
を備えることを特徴とする情報端末。 - 前記新プログラムのダイジェストに係る値は、前記新プログラムのダイジェストであり、
前記判定手段は、
前記現プログラムのダイジェストを生成するダイジェスト生成部と、
前記現プログラムのダイジェストと前記新プログラムのダイジェストとが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定部と
を含むことを特徴とする請求項1記載の情報端末。 - 前記旧特徴値は、前記旧プログラムのダイジェストであり、
前記過去特徴値は、前記過去プログラムのダイジェストであり、
前記データは、前記過去プログラムのダイジェストに係る値である使用条件値と対応付けられており、
前記ダイジェスト生成部は、更に、前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストを生成し、
前記許可手段は、
前記1以上のプログラムそれぞれのダイジェストと、前記更新証明書に含まれる前記旧プログラムのダイジェストとを累積演算して更新前累積値を生成する累積値生成部と、
前記使用条件値と前記更新前累積値とが一致するか否かを判定する累積値判定部と、
前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データの使用を許可する使用許可部と
を備えることを特徴とする請求項2記載の情報端末。 - 前記累積値生成部は、前記判定手段により一致すると判定された場合に前記更新前累積値を生成し、
前記判定手段により一致しないと判定された場合に、前記現プログラムのダイジェストと、前記1以上のプログラムそれぞれのダイジェストとを累積演算して現累積値を生成し、
前記累積値判定部は、
前記判定手段により一致すると判定された場合に、前記使用条件値と前記更新前累積値とが一致するか否かを判定し、
前記判定手段により一致しないと判定された場合に、前記使用条件値と前記現累積値とが一致するか否かを判定し、
前記使用許可部は、前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データを使用許可する
ことを特徴とする請求項3記載の情報端末。 - 前記累積値生成部は、更に、前記更新前累積値、および、前記現プログラムのダイジェストと前記1以上のプログラムそれぞれのダイジェストとを累積演算した現累積値を生成し、
前記使用許可部は、前記使用条件値が、前記現累積値又は前記更新前累積値と一致するか否かを判定し、前記現累積値又は前記更新前累積値のいずれかと一致すると判定した場合に、実行中の前記現プログラムに対し前記データの使用を許可する
ことを特徴とする請求項3記載の情報端末。 - 前記累積値生成部は、更に、
前記1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを累積演算して現累積値を生成し、
前記許可手段は、更に、
前記データを使用可と判断した場合に、前記データに対応付けられている前記使用条件値の値を前記現累積値に更新する
ことを特徴とする請求項3記載の情報端末。 - 前記情報端末において、前記データと前記使用条件値とは暗号化された後に保持されており、
前記許可手段は、更に、
前記使用許可部による判定の前に、前記データと前記使用条件値とを復号する復号部と、
前記現プログラムによる前記データの使用が終了した後に、前記データと前記使用条件値とを暗号化する暗号化部と
を備えることを特徴とする請求項3記載の情報端末。 - 前記新特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記新プログラムのダイジェストとを累積演算した結果である更新後累積値であり、
前記判定手段は、
前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成部と、
前記ダイジェスト生成部により生成されたダイジェストを累積演算して現累積値を生成する累積値生成部と、
前記更新後累積値と前記現累積値とが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定部と
を含むことを特徴とする請求項1記載の情報端末。 - 前記旧特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記旧プログラムのダイジェストとを累積演算した結果である更新前累積値であり、
前記過去特徴値は、前記情報端末において前記現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと、前記過去プログラムのダイジェストとを累積演算した結果である過去累積値であり、
前記データは前記過去特徴値と同一の値である使用条件値と対応付けられており、
前記許可手段は、
前記判定手段により一致すると判定された場合に、前記使用条件値と、前記更新前累積値とが一致するか否かを判定する累積値判定部と、
前記累積値判定部により一致すると判定された場合に、実行中の前記現プログラムに対し、前記データの使用を許可する使用許可部と
を備えることを特徴とする請求項8記載の情報端末。 - 前記許可手段は、更に、
前記使用許可部によりデータの使用が許可された場合に、前記データに対応付けられている前記使用条件値の値を、前記累積値生成部により生成された前記現累積値に更新する再シール部
を備えることを特徴とする請求項9記載の情報端末。 - 前記情報端末は、プログラムの特徴を示す特徴値である認証値に基づきサービスの提供可否を判定するサービス提供装置と共に用いられ、
前記サービス提供装置は、
プログラムの特徴を示す特徴値である照合値を記憶する記憶手段と、
前記情報端末から認証値を受信する受信手段と、
前記認証値と前記照合値とが一致する場合に、前記情報端末にサービスを提供する提供手段とを備え、
前記情報端末は、更に、
前記サービス提供装置に対し、前記現プログラムの特徴を示す認証値を送信し、前記認証値の送信に対する応答として前記サービスの提供が成されなかった場合に、前記旧プログラムの特徴を示す特徴値である認証値を送信する送信手段
を備えることを特徴とする請求項1記載の情報端末。 - 前記更新証明書取得手段は、
前記新プログラムを更新するための更新用プログラムを取得するプログラム取得部と、
前記更新用プログラムの特徴を示す更新用特徴値を生成する更新用ダイジェスト生成部と、
前記更新証明書に含まれる旧特徴値を、前記更新証明書に含まれる新特徴値で書き換え、前記更新証明書に含まれる新特徴値を、前記ダイジェスト生成部により生成された更新用特徴値で書き換える更新証明書更新部と
を含むことを特徴とする請求項1記載の情報端末。 - プログラムを実行する情報端末に用いられるセキュリティデバイスであって、
前記情報端末は、
旧プログラムのダイジェストと、前記旧プログラムの更新版である新プログラムのダイジェストとの組を含む更新証明書を取得する更新証明書取得手段と、
データを、前記データを使用していたプログラムである過去プログラムのダイジェストである使用条件値と対応付けて保持している保持手段と、
実行中の現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成手段と、
前記現プログラムのダイジェストと前記新プログラムのダイジェストとが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定手段と
を備え、
前記セキュリティデバイスは、
前記判定手段により一致すると判定された場合に、前記1以上のプログラムそれぞれのダイジェストと、前記更新証明書に含まれる前記旧プログラムのダイジェストとを累積演算して累積値を生成する累積値生成部と、
前記使用条件値と、前記累積値生成部により生成された累積値とが一致するか否かを判定する累積値判定部と、
前記累積値判定部により一致すると判定された場合に、前記現プログラムに対し前記データの使用を許可する使用許可部と
を備えることを特徴とするセキュリティデバイス。 - プログラムを実行する情報端末に用いられるセキュリティデバイスであって、
前記情報端末は、
実行中のプログラムである現プログラムより前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと旧プログラムのダイジェストとを累積演算した結果である更新前累積値と、前記現プログラム前に所定の実行順序に従い実行される1以上のプログラムそれぞれのダイジェストと前記旧プログラムの更新版である新プログラムのダイジェストとを累積演算した結果である更新後累積値との組を含む更新証明書を取得する更新証明書取得手段と、
データを、前記データを使用していたプログラムである過去プログラムのダイジェストに係る情報である使用条件値と対応付けて保持している保持手段と、
前記現プログラムが実行されるより前に所定の実行順序に従い実行された1以上のプログラムそれぞれのダイジェストと、前記現プログラムのダイジェストとを生成するダイジェスト生成手段と、
前記セキュリティデバイスから、現累積値を取得する現累積値取得手段と、
前記現累積値と前記更新後累積値とが一致する場合に、前記現プログラムが前記新プログラムと一致すると決定する決定手段とを備え、
前記セキュリティデバイスは、
前記ダイジェスト生成部により生成されたダイジェストを累積演算して前記現累積値を生成し、前記情報端末に出力する累積値生成手段と、
前記決定手段により一致すると決定された場合に、前記使用条件値と、前記更新前累積値とが一致するか否かを判定する累積値判定手段と、
前記累積値判定部により一致すると判定された場合に、実行中の前記現プログラムに対し、前記データの使用を許可する使用許可手段と
を備えることを特徴とするセキュリティデバイス。 - プログラムを実行する情報端末が実行するデータ保護方法であって、
旧プログラムの特徴を示す旧特徴値と前記旧プログラムの更新版である新プログラムの特徴を示す新特徴値との組を含む更新証明書を取得する更新証明書取得ステップと、
データを、前記データを使用していたプログラムである過去プログラムの特徴を示す過去特徴値と対応付けて保持している保持ステップと、
前記新特徴値を用いて、前記情報端末で実行中のプログラムである現プログラムが前記新プログラムと一致するか否かを判定する判定ステップと、
前記判定ステップにより一致すると判定された場合に、前記旧特徴値と前記過去特徴値とに基づいて前記データの使用可否を判断し、使用可と判断された場合に、前記実行中の現プログラムに対し前記データの使用を許可する許可ステップと
を備えることを特徴とするデータ保護方法。 - プログラムを実行する情報端末に用いられるデータ保護プログラムであって、
旧プログラムの特徴を示す旧特徴値と前記旧プログラムの更新版である新プログラムの特徴を示す新特徴値との組を含む更新証明書を取得する更新証明書取得ステップと、
データを、前記データを使用していたプログラムである過去プログラムの特徴を示す過去特徴値と対応付けて保持している保持ステップと、
前記新特徴値を用いて、前記情報端末で実行中のプログラムである現プログラムが前記新プログラムと一致するか否かを判定する判定ステップと、
前記判定ステップにより一致すると判定された場合に、前記旧特徴値と前記過去特徴値とに基づいて前記データの使用可否を判断し、使用可と判断された場合に、前記実行中の現プログラムに対し前記データの使用を許可する許可ステップと
を前記情報端末に実行させることを特徴とするデータ保護プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008552115A JP5097130B2 (ja) | 2006-12-27 | 2007-12-26 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006353093 | 2006-12-27 | ||
JP2006353093 | 2006-12-27 | ||
JP2008552115A JP5097130B2 (ja) | 2006-12-27 | 2007-12-26 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
PCT/JP2007/074914 WO2008081801A1 (ja) | 2006-12-27 | 2007-12-26 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008081801A1 JPWO2008081801A1 (ja) | 2010-04-30 |
JP5097130B2 true JP5097130B2 (ja) | 2012-12-12 |
Family
ID=39588484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008552115A Active JP5097130B2 (ja) | 2006-12-27 | 2007-12-26 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8392724B2 (ja) |
EP (1) | EP2051181A1 (ja) |
JP (1) | JP5097130B2 (ja) |
WO (1) | WO2008081801A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5457362B2 (ja) * | 2008-10-10 | 2014-04-02 | パナソニック株式会社 | 情報処理装置、情報処理方法、情報処理プログラム及び集積回路 |
US8479000B2 (en) * | 2008-10-10 | 2013-07-02 | Panasonic Corporation | Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit |
US8516232B2 (en) * | 2009-06-30 | 2013-08-20 | Sandisk Technologies Inc. | Method and memory device for performing an operation on data |
EP2449499B1 (en) * | 2009-07-01 | 2014-11-26 | Panasonic Corporation | Secure boot method and secure boot apparatus |
JP5355351B2 (ja) * | 2009-11-06 | 2013-11-27 | 株式会社日立ソリューションズ | コンピュータ |
US20110225425A1 (en) * | 2010-03-11 | 2011-09-15 | Microsoft Corporation | Preventing causality violations in decentralized distributed systems |
JP5969845B2 (ja) * | 2012-07-18 | 2016-08-17 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
DE102013205051A1 (de) * | 2013-03-21 | 2014-09-25 | Siemens Aktiengesellschaft | Aktualisieren eines digitalen Geräte-Zertifikats eines Automatisierungsgeräts |
JP2015090548A (ja) * | 2013-11-05 | 2015-05-11 | オムロン株式会社 | 制御装置 |
JP2017022654A (ja) * | 2015-07-14 | 2017-01-26 | 株式会社東芝 | 記憶装置及び方法 |
JP6921487B2 (ja) * | 2016-06-07 | 2021-08-18 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
CN107645533A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 数据处理方法、数据发送方法、风险识别方法及设备 |
JP7115429B2 (ja) * | 2018-08-10 | 2022-08-09 | 株式会社デンソー | 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337864A (ja) * | 2000-03-22 | 2001-12-07 | Hitachi Ltd | アクセス制御システム |
JP2005141413A (ja) * | 2003-11-05 | 2005-06-02 | Sony Corp | 情報処理装置及びその情報処理方法、並びにデータ通信システム及びデータ通信方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4812168B2 (ja) | 1999-02-15 | 2011-11-09 | ヒューレット・パッカード・カンパニー | 信用コンピューティング・プラットフォーム |
DE60044844D1 (de) * | 1999-02-15 | 2010-09-30 | Hewlett Packard Co | Kommunikation zwischen modulen in einer rechenvorrichtung |
GB9905056D0 (en) * | 1999-03-05 | 1999-04-28 | Hewlett Packard Co | Computing apparatus & methods of operating computer apparatus |
US7430668B1 (en) * | 1999-02-15 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | Protection of the configuration of modules in computing apparatus |
US7035850B2 (en) * | 2000-03-22 | 2006-04-25 | Hitachi, Ltd. | Access control system |
EP1202168A3 (en) * | 2000-10-30 | 2006-08-23 | Microsoft Corporation | System and method for dynamically veryfying the compatibility of a user interface resource |
GB2382177B (en) * | 2001-11-20 | 2005-09-14 | Hewlett Packard Co | Digital certificate verification |
US20050021968A1 (en) | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US20080077801A1 (en) * | 2006-09-25 | 2008-03-27 | Nokia Corporation | Protecting interfaces on processor architectures |
-
2007
- 2007-12-26 WO PCT/JP2007/074914 patent/WO2008081801A1/ja active Application Filing
- 2007-12-26 EP EP07860143A patent/EP2051181A1/en not_active Withdrawn
- 2007-12-26 JP JP2008552115A patent/JP5097130B2/ja active Active
- 2007-12-26 US US12/376,195 patent/US8392724B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337864A (ja) * | 2000-03-22 | 2001-12-07 | Hitachi Ltd | アクセス制御システム |
JP2005141413A (ja) * | 2003-11-05 | 2005-06-02 | Sony Corp | 情報処理装置及びその情報処理方法、並びにデータ通信システム及びデータ通信方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100011225A1 (en) | 2010-01-14 |
JPWO2008081801A1 (ja) | 2010-04-30 |
EP2051181A1 (en) | 2009-04-22 |
US8392724B2 (en) | 2013-03-05 |
WO2008081801A1 (ja) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5097130B2 (ja) | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
JP4906854B2 (ja) | 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 | |
JP5314016B2 (ja) | 情報処理装置、暗号鍵の管理方法、コンピュータプログラム及び集積回路 | |
JP4680564B2 (ja) | 携帯用メディア上のコンテンツの暗号化およびデータ保護 | |
US9626513B1 (en) | Trusted modular firmware update using digital certificate | |
US7949877B2 (en) | Rights enforcement and usage reporting on a client device | |
US8464043B2 (en) | Information security device and information security system | |
US20060168580A1 (en) | Software-management system, recording medium, and information-processing device | |
US20080250403A1 (en) | Method and apparatus for generating firmware update file and updating firmware by using the firmware update file | |
US7647646B2 (en) | Information input/output system, key management device, and user device | |
US20080025503A1 (en) | Security method using self-generated encryption key, and security apparatus using the same | |
JP2004280284A (ja) | 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法 | |
US8452985B2 (en) | Circuit building device | |
US8538890B2 (en) | Encrypting a unique cryptographic entity | |
WO2009157133A1 (ja) | 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路 | |
JP6146476B2 (ja) | 情報処理装置及び情報処理方法 | |
JPH1131105A (ja) | データカプセル生成装置および方法 | |
CN115509587B (zh) | 固件升级方法、装置、电子设备及计算机可读存储介质 | |
KR101054075B1 (ko) | 보호키 사용 제한 방법 및 장치 | |
JP4702596B2 (ja) | 復号回路、復号装置、復号方法及び復号プログラム | |
JP5180264B2 (ja) | 装置鍵 | |
JP2004240719A (ja) | ソフトウェア実行制御方法 | |
JPH10274928A (ja) | ユーザ認証装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120807 |
|
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: 20120828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5097130 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |