JP4906854B2 - 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 - Google Patents

情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 Download PDF

Info

Publication number
JP4906854B2
JP4906854B2 JP2008523676A JP2008523676A JP4906854B2 JP 4906854 B2 JP4906854 B2 JP 4906854B2 JP 2008523676 A JP2008523676 A JP 2008523676A JP 2008523676 A JP2008523676 A JP 2008523676A JP 4906854 B2 JP4906854 B2 JP 4906854B2
Authority
JP
Japan
Prior art keywords
information
program
information processing
processing apparatus
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.)
Expired - Fee Related
Application number
JP2008523676A
Other languages
English (en)
Other versions
JPWO2008004525A1 (ja
Inventor
孝一 金村
好克 井藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008523676A priority Critical patent/JP4906854B2/ja
Publication of JPWO2008004525A1 publication Critical patent/JPWO2008004525A1/ja
Application granted granted Critical
Publication of JP4906854B2 publication Critical patent/JP4906854B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

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

Description

本発明は、プログラムによって動作する情報処理装置について、プログラムを確実に更新する技術に関する。
デジタルコンテンツの普及により、コンテンツの不正コピーが社会問題となっている。コンテンツの処理機能をソフトウェアで実現する場合、不正コピーを試みる悪意のあるユーザからプログラムを保護する必要がある。コンテンツの処理機能を実現するプログラムが悪意のあるユーザから改竄や盗聴された場合、コンテンツが平文状態で抜き取られたり、プログラムからコンテンツを暗号化している鍵を不正取得されコンテンツが復号化される危険性がある。デジタルコンテンツは、インターネットによる再配布が容易なため、平文状態のコンテンツが不正に配布されると権利者の利益が大きく損なわれる。このような事態を防止するため、コンテンツの処理プログラムへの攻撃を防止することは重要である。
しかしながら、処理プログラムのリリース時には、セキュリティホールがない完全なプログラムの提供を保証することは難しいため、悪意のあるユーザがこれらのセキュリティホールを突いてコンテンツ処理用のプログラムを改竄し、デジタルコンテンツを不正にコピーすることなどが予想される。このような事実が判明した場合には、そのプログラムをセキュリティホールへの対策を施した新しいプログラムに更新する必要があるが、そのような技術として以下のような技術がある。
例えば、特許文献1では、更新プログラムを供給するサーバと、端末のアップデートモジュールとが相互認証を行い、お互い正しいと認識しあった場合に、更新プログラムを渡し、端末内のプログラムをその更新プログラムでアップデートする技術が開示されている。また、特許文献2では、更新プログラムを格納するカードと端末のアップデートモジュールとが相互認証を行った上で、カードに格納されている更新プログラムを端末が取得し、端末自身が端末のプログラムをアップデートする技術が開示されている。
特開平10−198571号公報 特開2003−330745号公報
従来技術によるプログラムのアップデートは、更新プログラムを供給するカードやサーバと、端末のアップデートモジュールとが相互認証を行い、お互い正しいと認識しあった後、更新プログラムを渡す構成となっている。この仕組みは端末側のアップデートモジュールの信頼性に依存した方法である。
しかし、従来技術では、端末がハッキングされている場合、アップデートモジュールの信頼性が損なわれている可能性があるので、確実なプログラムのアップデートを保証することは困難である。例えば、アップデートモジュールもソフトウェアで構成されている場合、アップデートモジュール自身もハッキングされている可能性がある。この場合、アップデートモジュール自体が改竄されていると、本来のアップデート処理自体を回避したり、アップデートが必要であるか否かの判断を誤らせることができるので、ソフトウェアのアップデートを強制することができなくなる。
アップデートモジュール自身のハッキングを防止するためには、プログラム更新システムに対して更新対象のプログラムより強固な耐タンパシールドが必要となる。従来技術では耐タンパ化の例として、プログラム更新システムをハードウェアによりすべて構成する方法が開示されているが、プログラム更新システムはインターネットとの通信等も含むので大規模なシステムとなることが多く、全体をハードウェアとすることは事実上困難である。
そこで本発明は、上記の問題点に鑑みなされたものであって、プログラムのアップデートモジュールが信頼できない状態であっても、プログラムアップデートを確実に行わせることが可能な情報処理システム、情報記録装置、情報処理装置、プログラム更新方法、コンピュータプログラム及び集積回路を提供することを目的とする。
上記目的を達成するために、本発明は、情報処理装置と、前記情報処理装置に脱着可能な可搬型の情報記録装置とから構成される情報処理システムであって、前記情報処理装置は、当該情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムを格納している第1格納手段と、ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、前記情報記録装置に対して、秘密情報を要求する要求手段と、前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第1格納手段に格納されている前記動作プログラムを更新する更新手段とを備え、前記情報記録装置は、秘密情報を安全に保持する情報保持手段と、前記動作プログラムの更新のための更新プログラムを格納している第2格納手段と、前記情報処理装置から秘密情報の要求を受信する受信手段と、前記要求を受信すると、前記測定手段により測定された前記特徴量を用いて、前記動作プログラムの正当性を判断する判断手段と、正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記第2格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力手段とを備える。
また、前記情報記録装置は、さらに、過去に接続された情報処理装置を識別する装置識別子を格納している識別子格納手段と、サーバ装置から、ネットワーク及び当該ネットワークに接続された前記情報処理装置を介して、前記識別子格納手段に格納されている装置識別子に関連付けられている前記更新プログラムを取得し、取得した前記更新プログラムを前記第2格納手段に書き込む第1取得手段と、正当性情報格納手段と、前記サーバ装置から、ネットワーク及び当該ネットワークに接続された前記情報処理装置を介して、前記第2格納手段に格納されている前記更新プログラムに関連付けられ、前記動作プログラムの正当性を確認するための正当性確認情報を取得し、取得した正当性確認情報を前記正当性情報格納手段に書き込む第2取得手段とを含み、前記判断手段は、前記正当性情報格納手段に書き込まれている前記正当性確認情報に基づいて、前記動作プログラムの正当性を判断するとしてもよい。
これらの構成によると、情報処理装置が、受信した更新プログラムにより動作プログラムを更新しなければ、情報処理装置が所望する秘密情報の取得ができないので、情報処理装置に対して、動作プログラムの更新を強制することができる。
こうして、アップデートモジュール自体の信頼性に依存することなく、確実にプログラムをアップデートすることが可能となる。
また、リボークされた情報処理装置を動作不能にすることなく、不正な情報処理装置をプログラムのアップデートにより正当な情報処理装置にすることができるので、継続して当該情報処理装置の使用を許可できる。こうして、リボークして動作不能にすることによるユーザへの被害を防止することができる。
また、可搬型の情報記録装置によりプログラムをアップデートしているので、インターネットに接続できない情報処理装置であっても、プログラムのアップデートが可能となり、情報処理装置への適用範囲を拡大することができる。
また、本発明は、情報処理装置に脱着可能な可搬型の情報記録装置であって、秘密情報を安全に保持する情報保持手段と、前記情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムの更新のための更新プログラムを格納しているプログラム格納手段と、前記情報処理装置から秘密情報の要求を受信する受信手段と、前記要求を受信すると、前記情報処理装置から取得し、前記動作プログラムの特徴を示す測定特徴量を用いて、前記動作プログラムの正当性を判断する判断手段と、正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記プログラム格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力手段とを備える。
この構成によると、情報処理装置が、受信した更新プログラムにより動作プログラムを更新しなければ、情報処理装置が所望する秘密情報の取得ができないので、情報処理装置に対して、動作プログラムの更新を強制することができる。
こうして、アップデートモジュール自体の信頼性に依存することなく、確実にプログラムをアップデートすることが可能となる。
ここで、前記情報記録装置は、さらに、正当な動作プログラムの特徴を示す正規特徴量を格納する正規情報格納手段を含み、前記判断手段は、前記情報処理装置から取得した測定特徴量と前記正規特徴量とを比較することにより、前記動作プログラムの正当性を判断してもよい。
この構成によれば、情報記録装置は、情報処理装置に格納されている動作プログラムが正当であるか否かを、動作プログラムの特徴を示す特徴量に基づいて確認することができる。仮に、情報処理装置に格納されている動作プログラムが不正に改ざんされているなら、不正に改ざんされた動作プログラムから得られる測定特徴量と、正規特徴量とは一致しないので、動作プログラムの改ざんを確実に検出することができる。
ここで、前記プログラム格納手段は、少なくとも過去に接続された1台以上の情報処理装置を識別する装置識別子と、前記情報処理装置のそれぞれに向けた更新プログラムとを対応付けて格納し、前記出力手段は、前記要求の発信元である前記情報処理装置を識別する装置識別子に対応する情報処理装置向けの更新プログラムを出力してもよい。
この構成によれば、各情報処理装置に対して適切な更新プログラムを出力することができる。
ここで、前記受信手段は、さらに、前記要求と共に前記要求の発信元である前記情報処理装置を識別する装置識別子を取得し、前記プログラム格納手段は、過去に前記要求を行った1以上の情報処理装置を識別する装置識別子と、前記情報処理装置のそれぞれに向けた更新プログラムとを対応付けて格納し、前記出力手段は、前記要求とともに受信した装置識別子に対応する情報処理装置向けの更新プログラムを出力してもよい。
この構成によれば、情報記録装置が複数の情報処理装置で共有される場合でも、各情報処理装置に対して適切な更新プログラムを出力することができる。
ここで、前記プログラム格納手段は、さらに、新たな情報処理装置からの前記要求を受信すると、新たな情報処理装置を識別する装置識別子を追加して格納してもよい。
この構成によれば、情報記録装置は、過去に要求を受け付けた情報処理装置の全てについて、更新プログラムの管理を行うことができる。
ここで、前記情報記録装置は、さらに、前記更新プログラムを提供するサーバ装置に対して、前記プログラム格納手段に格納されている情報処理装置を識別する装置識別子を送信する送信手段と、前記サーバ装置から、送信した前記装置識別子に対応する情報処理装置用の更新プログラムを取得する取得手段とを含み、前記プログラム格納手段は、さらに、取得した前記更新プログラムを前記装置識別子と対応付けて記録してもよい。
この構成によれば、情報記録装置は、自身が管理している情報処理装置について、更新プログラムのバージョンアップがあった場合、バージョンアップ後の更新プログラムを取
得して記録することができる。
また、本発明は、可搬型の情報記録装置が装着される情報処理装置であって、当該情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムを格納している第1格納手段と、ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、前記情報記録装置に対して、秘密情報を要求する要求手段と、前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第1格納手段に格納されている前記動作プログラムを更新する更新手段とを備える。
この構成によると、情報処理装置が、受信した更新プログラムにより動作プログラムを更新しなければ、情報処理装置が所望する秘密情報の取得ができないので、情報処理装置に対して、動作プログラムの更新を強制することができる。
ここで、前記測定手段は、耐タンパ化により保護されているとしてもよい。
この構成によれば、不正解析者による特徴情報の改ざんを防止できるので、情報処理装置を動作させているプログラムが不正なものである場合に、より確実に更新プログラムへのアップデートを行わせることができる。また、特徴情報算出手段さえ保護していれば、上述した不正を防止できるので、装置全体を耐タンパ化する場合に比べて、低コストでプログラムのアップデートを強制することができる。
ここで、サーバ装置と、ネットワークを介して前記サーバ装置に接続可能な第1情報処理装置と、前記サーバ装置に対する前記ネットワークを介した接続機能を有さない第2情報処理装置と、各情報処理装置に脱着可能な可搬型の情報記録装置とから構成される情報処理システムであって、前記第2情報処理装置は、無効化されており、前記サーバ装置は、前記第2情報処理装置を動作対象とする動作プログラムの更新のための更新プログラムを記憶しており、前記情報記録装置が前記第1情報処理装置に装着され、前記第1情報処理装置は、前記サーバ装置からネットワークを介して前記更新プログラムを取得し、取得した前記更新プログラムを前記情報記録装置へ出力し、前記情報記録装置が前記第2情報処理装置に装着され、前記情報記録装置は、秘密情報を安全に保持する情報保持手段と、前記第1情報処理装置から前記更新プログラムを受信して格納する第1格納手段と、前記第2情報処理装置から秘密情報の要求を受信する受信手段と、前記要求を受信すると、前記第2情報処理装置において測定された特徴量を用いて、前記第2情報処理装置に格納されている動作プログラムの正当性を判断する判断手段と、正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記第2情報処理装置へ出力し、正当でないと確認された場合、前記第2格納手段に格納されている前記更新プログラムを前記第2情報処理装置へ出力する出力手段とを備え、前記第2情報処理装置は、当該第2情報処理装置を動作対象とし、複数のコンピュータ命令を含む前記動作プログラムを格納している第2格納手段と、ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、前記情報記録装置に対して、秘密情報を要求する要求手段と、前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第2格納手段に格納されている前記動作プログラムを更新する更新手段とを備えるとしてもよい。
この構成によると、ネットワークに接続できない情報処理装置であっても、プログラムのアップデートが可能となり、情報処理装置への適用範囲を拡大することができる。
また、本発明を、上述した特徴を持つ情報記録装置および情報処理装置から構成される情報処理システム、プログラムアップデート方法、プログラム、および集積回路として実現した場合もそれぞれ同様の効果を発揮することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、コンテンツ配布システム0100の構成を示している。コンテンツ配布システム0100は、サーバ0101、端末A0102、端末B0103〜端末M0104、端末N0105〜端末Z0106、カード0107から構成されており、サーバ0101は、端末A0102、端末B0103、および端末M0104とインターネット0108を介して接続されている。端末N0105、端末Z0106はサーバ0101と直接通信する手段を持っていない。端末A0102、端末B0103〜端末M0104、および端末N0105〜端末Z0106は、後述するようにカードインターフェースを備えており、カード0107を介してデータのやり取りが可能となっている。
なお、図1ではサーバ0101と接続されている端末として、端末A0102、端末B0103、端末M0104しか図示していないが、端末A0102等と同一の構成を持つ1台以上の端末が、さらに、コンテンツ配布システム0100に存在してもよい。また図1に示した台数よりも少ない台数だけ存在していてもよい。以後、端末B0103、端末M0104は端末A0102と同様の構成であるため、必要な場合を除いて端末A0102以外の端末についての説明は省略する。また、図1では、サーバ0101と接続されて
いない端末として、端末N0105、端末Z0106しか図示していないが、端末N105または端末Z0106と同一の構成を含む1台以上の端末が、さらに、コンテンツ配布システム0100に存在してもよい。また、図1に示した台数よりも少ない台数だけ存在していてもよい。以後、端末Z0106は端末N0105と同様の構成であるため、必要な場合を除いて端末N0105以外の端末についての説明は省略する。
端末A0102は、インターネット0108を介してサーバ0101と通信し、音楽や映画などのコンテンツをダウンロードする機能とダウンロードしたコンテンツを再生する機能を有している。ここで、コンテンツは著作権保護されており暗号化された形で端末A0102にダウンロードされる。
カード0107は、端末A0102、およびインターネット0108を介してサーバ0101と通信し、コンテンツを暗号化した鍵を取得し、端末A0102の依頼に基づいてコンテンツを暗号化した鍵を端末A0102に渡す。ここで、カード0107はコンテンツを暗号化した鍵を渡す際に、端末A0102が正当な端末かどうかを確かめて、正当な端末でなければ鍵を出力しないよう構成されている。具体的には、公知の相互認証等により、相手の正当性を確認した上で鍵を渡している。
図2は、端末A0102の構成を示している。なお、端末B0103、端末M0104も同様の構成をしている。端末A0102は、プロセッサ0201、RAM0202、ブートコード0203、カードインターフェース0204、通信部0205、コンテンツ格納部0206、セキュアモジュール0207、プログラム格納部0208で構成されており、バス0213で相互に接続されている。プログラム格納部0208には、オペレーティングシステム0209、権利購入制御プログラム0210、再生制御プログラム0211、プログラム証明書0212が格納されている。
プロセッサ0201は、ブートコード0203、およびRAM0202にロードされているプログラムを実行し、端末A0102の各種処理を行う。
RAM0202は、プロセッサ0201で実行するプログラムがロードされる。ロードされるプログラムはプログラム格納部0208に格納されている。
ブートコード0203は、端末A0102がリセットされた後、プロセッサ0201が初めに実行するコード(ブートコード)が格納されている。ブートコード0203は、プログラム格納部0208に格納されているオペレーティングシステム0209をRAM0202へ展開する。
カードインターフェース0204は、カード0107と端末A0102を接続するインターフェースである。プロセッサ0201で動作するプログラムは、カードインターフェース0204と通信することで、カード0107と通信することができる。端末A0102で動作するプログラムはカード0107と通信する時には常にカードインターフェース0204を使用する。以下、端末A0102で動作するプログラムとカード0107の通信について記述する場合はカードインターフェース0204の記述は省略する。
通信部0205は、インターネット0108と端末A0102を接続するインターフェースである。プロセッサ0201で動作するプログラムは、通信部0205と通信することで、インターネット0108を介してサーバ0101と通信することができる。
コンテンツ格納部0206は、端末A0102がサーバ0101からダウンロードしたコンテンツを格納しておく場所である。
セキュアモジュール0207は、TCG(Trusted Computing Group)で規格化されているTPM(Trusted Platform Module)と同様の機能を有するデバイスである。TPMの詳細な仕様については、TCGのホームページ<URL:http://www.trastedcomputinggroup.org>で公開されている。
セキュアモジュール0207は、PCR(Platform Configuration Registor)と呼ばれるレジスタを含んでおり、そのレジスタには端末A0102のソフトウェア構成に依存する値が格納される。セキュアモジュール0207は、PCRを更新するコマンドを提供しており、そのコマンドが実行されると現在のPCRの値とそのコマンドの引数を結合し、その結合した値に対して一方向性関数を施した結果でPCRが更新される。以下、このコマンドをPCR拡張コマンドと呼ぶ。
セキュアモジュール0207は、セキュアモジュール0207内に外部に取り出されない形で保持されている秘密鍵を用いて、PCRの値に対し署名を施すサービスを提供することができる。このサービスはAttestationと呼ばれる。例えば、端末A0102内で動作するプログラムがセキュアモジュール0207のAttestationサービスを用い、署名された現在のPCR値を取得してサーバ0101に送信する。この場合、サーバ0101は、認証局から得たセキュアモジュール0207の公開鍵を用いて署名検証することによって、送信された値がセキュアモジュール0207で生成されたPCRの値であることを確かめることができる。なお、セキュアモジュール0207には耐タンパ処理が施されており、セキュアモジュール0207内で実行されるPCR拡張コマンド処理、およびAttestation処理を不正に変更することはできないようになっている。
プログラム格納部0208は、端末A0102で動作するプログラムを格納する場所であり、オペレーティングシステム0209、権利購入制御プログラム0210、再生制御プログラム0211、プログラム証明書0212を格納している。
オペレーティングシステム0209は、一般的な端末A0102の基盤ソフトウェアであり、オペレーティングシステム0209上で動作するアプリケーションにサービスを提供する。オペレーティングシステム0209は、プログラム格納部0208内に格納されているアプリケーションをRAM0202にロードする。
続いて、各プログラムが行う処理について説明する。
図3は権利購入制御プログラム0210の動作フローを示している。権利購入制御プログラム0210はオペレーティングシステム0209上で動作するアプリケーションである。権利購入制御プログラム0210は、端末A0102において、サーバ0101から提供されるコンテンツの権利の取得をカード0107に依頼する処理とそのコンテンツのダウンロードを行う。以下、この処理の詳細を説明する。
権利購入制御プログラム0210は、オペレーティングシステム0209にローディングされ制御権を取得すると、まず、サーバ0101に問い合わせて購入可能なコンテンツのリストを取得する。そのリストにはコンテンツを識別できる情報、例えば、コンテンツのIDやコンテンツのタイトル、コンテンツの概要等が含まれている。次に、そのリストを端末A0102のユーザに提示し、購入するコンテンツを選択させ、選択したコンテンツのIDおよびそのコンテンツを購入する端末を識別する端末ID(端末A0102の端末ID)を含むコンテンツ購入要求をカードI/F0204を介して、カード0107に
送信する(ステップS0301)。
次に、権利購入制御プログラム0210は、カード0107に購入依頼したコンテンツのIDをサーバ0101に送信し、該当するコンテンツをサーバ0101からダウンロードし、コンテンツ格納部0206に格納する。ここで、ダウンロードするコンテンツは暗号化されているので、コンテンツ格納部から不正にコピーできたとしても著作権は保護される(ステップS0302)。
なお、端末A0102は、端末N0105等のインターネット0108に接続されていない端末のためにコンテンツを購入する場合がある。この場合、コンテンツ購入要求に含ませる端末IDは、端末N0105等の端末IDとなる。さらに、コンテンツを端末N0105等に渡すため、ステップS0302の後にコンテンツをカード0107に移動するステップが追加で実行される。
図4は再生制御プログラム0211の動作フローを示している。再生制御プログラム0211はオペレーティングシステム0209上で動作するアプリケーションである。再生制御プログラム0211は、再生するコンテンツを暗号化している鍵をカード0107から取得し、その鍵でコンテンツを復号化してコンテンツを再生する。また、カードから端末A0102内のプログラムの更新を依頼された場合は、プログラム格納部0208に格納されているプログラムを更新する。以下、再生制御プログラム0211の処理の詳細を述べる。
再生制御プログラム0211は、オペレーティングシステム0209にローディングされ制御権を取得すると、コンテンツ格納部0206に格納されているコンテンツのリストを取得し、カード0107に問い合わせて再生可能なコンテンツのリストを作成する。カード0107は、カード0107に格納されているコンテンツを暗号化している鍵とその鍵に対応するコンテンツIDを格納しており、再生制御プログラム0211は、カード0107に格納されているコンテンツを暗号化している鍵に対応するコンテンツIDのリストを取得して、コンテンツ格納部0206に格納されているコンテンツIDのリストと比較して再生可能なコンテンツのリストを作成する。このリストは例えばカードに鍵が格納されているコンテンツのリストとなる(ステップS0401)。
なお、再生制御プログラム0211は、カード0107に格納されているコンテンツIDのリストもカード0107から取得し、再生可能なコンテンツのリストに追加することができる。この追加リストは、端末A0102内に格納されているコンテンツに対する再生可能なコンテンツのリストの作成手順と同様の手順で作成される。この追加リストも含めたリストは、カードを含む端末上に存在する鍵に対応したコンテンツのリストとなり、(コンテンツ格納部0206に格納されているか否かは問わず)その端末で再生できるコンテンツの一覧を示すリストとなる。
再生制御プログラム0211は、ステップS0401で生成した再生可能なコンテンツのリストを端末A0102のユーザに提示し、再生したいコンテンツを選択させ、そのコンテンツのIDを取得する。再生制御プログラム0211は、コンテンツIDを含む鍵出力依頼情報をカード0107に送信し、対応するコンテンツを暗号化している鍵の出力を依頼する(ステップS0402)。鍵出力依頼情報は、コンテンツID、端末ID、プログラム証明書、署名された現在のPCR値を含む。ここで、署名された現在のPCR値は、再生制御プログラム0211がセキュアモジュールに対してAttestationサービスを用いて取得したものであり、そのPCRの値は現在、端末で動作しているソフトウェアに依存する値となっている。
次に、再生制御プログラム0211は、カード0107に依頼した鍵が出力されたかどうかをカード0107に問い合わせる。(ステップS0403)もし、鍵が出力されているのであれば(ステップS0403でYES)、その鍵を用いてコンテンツ復号処理(ステップS0404)を行う。もし、鍵が出力されていないのであれば(ステップS0403でNO)、カード0107からプログラムの更新依頼があるかどうかを確かめる処理(ステップS0406)を行う。ここで、プログラムの更新依頼は、コンテンツの処理プログラムにセキュリティホール等が発見されているとカード0107が判断した場合に、鍵を渡す前に、そのプログラムをアップデートすることを要求する依頼である。
再生制御プログラム0211は、鍵が出力されているのであれば(ステップS0403でYES)、カード0107から鍵を取得し、再生すべきコンテンツをコンテンツ格納部0206、もしくはカード0107から取得して、コンテンツを復号化する(ステップS0404)。
再生制御プログラム0211は、コンテンツが復号化されるとそのコンテンツを再生する。(ステップS0405)再生制御プログラム0211は、復号化されたコンテンツの種別に応じた再生を行う。以降の再生の手順は一般的な再生方法であるので、説明は省略する。
再生制御プログラム0211は、鍵が出力されていないのであれば(ステップS0403でNO)、カード0107にプログラムの更新依頼があるかどうかを問い合わせる。もし、プログラムの更新依頼があれば(ステップS0406でYES)、カードから更新プログラムと後述する正規PCR値を取得し、プログラム格納部0208のプログラムと後述するプログラム証明書0212を更新する(ステップS0407)。ここで、更新対象のプログラムとそのプログラムのプログラム証明書0212は、サーバ0101から取得され更新される。その後、再生制御プログラム0211は、端末A0102を再起動するためにシステムリセット依頼をオペレーティングシステム0209に送信する(ステップS0408)。
もし、プログラムの更新依頼がなければ(ステップS0406でNO)、再生制御プログラム0211は、処理を終了する。
以上が再生制御プログラム0211が行う処理の説明である。以下、プログラム格納部0208が格納している情報の説明に戻る。
プログラム証明書0212は、セキュアモジュール0207のPCRの値に対して端末A0102を製造したメーカのみ知る秘密鍵で署名したデータである。署名するPCRの値は、端末A0102が起動し、オペレーティングシステム0209や各種アプリケーションがローディングされた後のPCRの値である。この時、メーカはオペレーティングシステム0209や各種アプリケーションが各種著作権保護規格の実装要件を満たしているかどうかを確認した後、署名する。ここで、署名に用いる秘密鍵は端末A0102には搭載されていないため、プログラム証明書0212は端末A0102では生成できない。プログラム証明書0212は、例えばメーカの工場で生成される。
PCRの値は、端末A0102のソフトウェア構成に依存させるために、端末A0102上でローディングされるプログラムのハッシュ値を引数としてPCR拡張コマンドを実行することで更新される。プログラムのロード時に必ずロード対象のプログラムのハッシュ値を計算し、PCR拡張コマンドを用いて、そのハッシュ値でPCRを更新していけば、PCR値を端末A0102のソフトウェア構成に常に依存させることができる。
図5は、セキュアモジュール0207内のPCRを更新し、PCRに端末A0102のソフトウェア構成に依存する値を格納する処理のフローを示している。これは、オペレーティングシステム0209をローディングするブートコード0203、および各種アプリケーションプログラムをローディングするオペレーティングシステム0209の動作に共通して含まれる。これは、ブートコード0203はオペレーティングシステム0209を読み込むことで端末A0102内のソフトウェア構成を変更し、オペレーティングシステム0209はアプリケーションプログラムを読み込むことで端末A0102内のソフトウェア構成を変更するからである。
以下の説明では、別のプログラムを呼び出す側(前者におけるブートコード0203と、後者におけるオペレーティングシステム0209)をロードするプログラムと、呼び出される側のプログラム(前者におけるオペレーティングシステム0209、後者におけるアプリケーションプログラム)をロード対象プログラムと呼ぶ。
ロードするプログラムは、まず、ロード対象プログラムのハッシュ値をハッシュ関数アルゴリズムで計算する(ステップS0501)。次に、このハッシュ値を引数として、PCR拡張コマンドを実行し、セキュアモジュール0207内のPCRの値を更新する(ステップS0502)。ロードするプログラムは、PCR更新処理(ステップS0502)終了後、ロード対象プログラムをRAM0202に展開する(ステップS0503)。最後に、ロードするプログラムはRAM0202にロードしたプログラムに分岐する(ステップS0504)。
端末A0102は、電源投入後、もしくはリセット解除後、すなわち端末起動時、オペレーティングシステム0209や各種アプリケーションをRAM0202にロードしていく。端末A0102は、プログラムをロードする時、図5で説明したようにPCRの更新を行う。
図6は、端末A0102の起動時の動作を表すフローチャートである。
電源投入後、もしくはリセット解除後、プロセッサ0201は、ブートコード0203を実行する(ステップS0601)。ブートコード0203は、端末A0102のハードウェアの初期設定を行った後、ブートコード0203自身のハッシュ値を計算し、このハッシュ値をPCR拡張コマンドの引数として、セキュアモジュール0207のPCRを更新する。ここで、セキュアモジュール0207のPCRは、電源投入、もしくはリセット解除後には初期化されているものとする。
次にブートコード0203は、オペレーティングシステム0209をRAM0202にローディングする。ブートコード0203は、オペレーティングシステム0209をローディングする際、図5に示す手順で、オペレーティングシステム0209のハッシュ値を計算し、セキュアモジュール0207のPCRを更新する。その後、プロセッサ0201は、オペレーティングシステム0209を実行し、オペレーティングシステム0209の初期化を行う。
オペレーティングシステム0209は、その後、各種アプリケーションのローディングを行う(ステップS0603)。各種アプリケーションがローディングされる際、図5に示す手順で、各種アプリケーションのハッシュ値を計算し、セキュアモジュール0207のPCRを更新する。
その後、端末A0102は、ユーザからの入力を待ち、その入力に応じたアプリケーションプログラムの処理を実行する(S0604)。
このように、端末A0102は、電源投入後、もしくはリセット後、ブートコード0203を含む端末A0102で動作するプログラムのハッシュ値でPCR拡張コマンドを用い、セキュアモジュール0207のPCRを更新していく。その結果、セキュアモジュール0207のPCRは、端末A0102で動作しているプログラムに依存した値となる。
以上で端末A0102の構成の説明を終わる。続いて、端末N0105の構成の説明に移る。
図7は、端末N0105の構成を示している。なお、端末Z0106も同様の構成をしている。端末N0105は、プロセッサ0701、RAM0702、ブートコード0703、カードインターフェース0704、コンテンツ格納部0706、セキュアモジュール0707、プログラム格納部0708で構成されており、これらの要素はバス0713で相互に接続されている。プログラム格納部0708には、オペレーティングシステム0709、再生制御プログラム0711、プログラム証明書0712が格納されている。
端末N0105のこれらの構成要素は、図2に示す端末A0102の構成要素と同一の機能を有するため説明は省略する。ただし、端末N0105には、端末A0102の通信部0205、権利購入制御プログラム0210に相当する構成要素は存在しない。
以上で端末N0105の構成の説明を終わる。続いて、サーバ0101の構成の説明を行う。
図12は、サーバ0101の構成を示している。サーバ0101は、通信部1201、CRLデータベース1202、CRL管理部1203、権利管理部1204で構成されている。CRLデータベース1202はCRL管理部1203と接続されている。また、CRL管理部1203、権利管理部1204は、通信部1201と接続されている。
通信部1201は、インターネット0108と接続されており、端末A0102〜端末M0104と通信を行う。CRL管理部1203、および権利管理部1204は、この通信部1201を介して端末A0102〜端末M0104、および端末A0102等に接続されたカード0107と通信する。
CRLデータベース1202は、リボーク(無効化)されている端末の端末ID、その端末のリボークされた原因を取り除いた後の更新プログラム、およびその更新プログラムが端末上で実行された時のPCR値が格納されている。なお、端末のリボークは、一般的には、悪意の利用者の端末が特定できている場合にその端末を無効化することなど、プログラムの更新によって回復できない欠陥を持った端末の無効化も示すが、本実施の形態では、プログラムの更新によって回復できる欠陥を持った端末をリボーク対象として説明する。具体的には、本実施の形態では、セキュリティホールを持った古いソフトウェアを使用し続けている端末などが、リボーク対象としてCRLデータベースに記録される。
図13は、CRLデータベース1202の構成を示した図である。CRLデータベース1202は、CRLエントリT1301、T1302、T1303・・・から構成され、各CRLエントリには、端末ID、更新プログラム、および正規PCR値のエリアが存在する。CRLデータベース1202は、リボークされている端末の情報により構成される。
端末IDエリアには、リボークされている端末のIDが格納される。更新プログラムエリアには、リボークされた端末の更新プログラムが格納される。リボークされた原因がソ
フトウェアにある場合、この更新プログラムを用いて端末をアップデートすれば、端末は動作し続けることができる。このようなケースの具体例としては、ソフトウェアがハッキングされたことが判明した場合や、ソフトウェアにセキュリティホールが発見された場合などである。正規PCR値エリアには、端末が更新プログラムエリアに格納されている更新プログラムでアップデートされ、正常に動作している時のPCR値が格納される。この正規PCR値を用い、端末側でプログラムが正しくアップデートされているかどうかを確かめることができる。
CRL管理部1203は、通信部1201および端末A0102を介してカード0107と相互認証を行い正規のカードであることを確かめ、CRL情報を通信部1201を介して提供する。より具体的には、CRL管理部1203は、カード0107から送られてくる端末IDがCRLデータベース1202に存在するかどうか確かめ、存在していれば該当するエントリの更新プログラムおよび正規PCR値をカード0107に提供する。
権利管理部1204は、コンテンツの権利情報を管理し、端末の要求に応じて課金処理を行い、コンテンツの権利情報を提供する。権利管理部1204は、カード0107と相互認証を行い、正当なカード0107であることを確かめた後に課金処理および権利情報の提供を行う。権利管理部1204は、通信部1201を介してインターネット0108と接続される。
以上でサーバ0101の構成の説明を終わる。続いて、カード0107の構成の説明に移る。
図8は、カード0107の構成を示している。カード0107は、プロセッサ0801、RAM0802、ブートコード0803、端末I/F0804、CRLデータベース0805、コンテンツ格納部0807、プログラム格納部0808で構成されており、これらの構成要素はバス0813で相互に結合されている。また、カード0107は、耐タンパ性を有しており、カード内のプログラムやデータを容易に暴露されることは無いようになっている。
プロセッサ0801は、ブートコード0803、およびRAM0802にロードされているプログラムを実行し、カード0107の各種処理を行う。
RAM0802は、プロセッサ0801で実行するプログラムがロードされる。ロードされるプログラムはプログラム格納部0808に格納されている。
ブートコード0803は、カード0107がリセットされた後、プロセッサ0801が初めに実行するコード(ブートコード)が格納されている。ブートコード0803は、プログラム格納部0808に格納されているオペレーティングシステム0809をRAM0802へ展開する。なお、カード0107は、端末に挿入され電力が供給された時点でリセットされる。
端末I/F0804は、カード0107と端末を接続するインターフェースである。プロセッサ0801で動作するプログラムは、端末I/F0804と通信することで、端末と通信することができる。カード0107で動作するプログラムは端末I/F0804と通信する時には常に端末I/F0804を使用する。以下、カード0107で動作するプログラムと端末との通信について記述する場合は端末I/F0804の記述は省略する。
図14は、CRLデータベース0805の構成を示した図である。CRLデータベース0805は、CRLエントリT1401、T1402、T1403・・・から構成され、
各CRLエントリには、端末ID、更新プログラム、および正規PCR値のエリアが存在する。
端末IDエリアには、カード0107が取得した端末のIDが格納される。なお、端末IDのエリアに書かれている「ID_A」「ID_B」「ID_N」はそれぞれ、端末A102、端末B103、端末N105の端末IDである。更新プログラムエリアには、該当する端末IDを持つ端末がリボークされている場合、その端末の更新プログラムが格納される。正規PCR値エリアには、端末が更新プログラムエリアに格納されている更新プログラムでアップデートされ、正常に動作している時のPCR値が格納される。なお、T1403では、更新プログラムがNULLに、正規のPCR値が現状のPCR値となっている。このエントリはカード0107が鍵出力依頼情報を受け取った後の状態でありかつ更新プログラムを取得していない状態である。例えば、カード0107が初めて端末N0105に挿入されて、鍵出力依頼情報を受け取った直後の状態である。
コンテンツ格納部0807には、暗号化されたコンテンツとコンテンツの権利が格納される。このコンテンツは端末A0102のようなサーバ0101に接続可能な端末でダウンロードされ、コンテンツ格納部0807に格納される。コンテンツ格納部0807は、端末N0105のようなインターネット0108を経由してサーバ0101にアクセスできない端末にコンテンツを供給するために用いられる。また、コンテンツの権利は、後述する権利購入プログラム0810によってサーバ0101から取得されてコンテンツ格納部0807に格納される。
コンテンツ格納部0807に格納されるコンテンツの権利は、カード0107の外部から直接アクセスすることはできず、後述する権利確認・鍵生成プログラム0811しかアクセスできないような実装となっている。具体的には、権利確認・鍵生成プログラム0811でしか復号できないように暗号化したりすることで、このような実装を行うことができる。
プログラム格納部0808は、オペレーティングシステム0809、権利購入プログラム0810、権利確認・鍵生成プログラム0811を格納している。
オペレーティングシステム0809は、一般的なカード0107の基盤ソフトウェアであり、オペレーティングシステム0809上で動作するアプリケーションにサービスを提供する。オペレーティングシステム0809は、プログラム格納部0808内に格納されているアプリケーションをRAM0202にロードする。
権利購入プログラム0810は、端末の権利購入制御プログラム0210から受け取ったコンテンツ購入要求に基づき、サーバ0101と端末の通信機能を用いて通信して権利の購入およびカード0107のCRLデータベース0805の更新を行う。なお、コンテンツ購入要求には、端末A0102の説明で述べたように、購入対象のコンテンツIDおよびそのコンテンツを購入する端末を識別する端末IDが含まれている。
図9は、権利購入プログラム0810の動作を示すフローチャートである。権利購入プログラム0810は、コンテンツ購入要求に含まれる端末IDを取得してCRLデータベース0805に格納する(ステップS0901)。権利購入プログラム0810は、CRLデータベース0805を操作し、CRLエントリを作成して端末IDエリアに取得した端末IDを格納する。権利購入プログラム0810は、既に取得した端末IDを端末IDエリアに持つCRLエントリが存在する場合にはCRLエントリの作成は行わない。
権利購入プログラム0810は、サーバ0101と相互認証を行い、コンテンツの購入
処理およびコンテンツの権利の取得を行う(ステップS0902)。取得したコンテンツの権利は、コンテンツ格納部0807に安全に保存される。コンテンツの権利には、コンテンツの利用期限、利用回数などのコンテンツ利用条件、およびコンテンツを暗号化している鍵が格納されている。コンテンツの権利は暗号化された形でコンテンツ格納部0807に保持される。
次に、権利購入プログラム0810は、サーバ0101に問い合わせ、CRLデータベース0805の更新を行う(ステップS0903)。ここで、権利購入プログラム0810は、CRLデータベース0805のCRLエントリに格納されているすべての端末IDをサーバ0101に送信する。サーバ0101のCRL管理部1203は、受け取った端末IDがCRLデータベース1202に格納されているかどうかを確かめ、該当する端末IDが存在する場合、その端末IDが格納されているCRLエントリ内の更新プログラムと正規PCR値を権利購入プログラム0810に送信する。権利購入プログラム0810は、受け取った更新プログラムと正規PCR値をCRLデータベース0805の該当する端末IDを含むCRLエントリに格納する。
図10は、権利確認・鍵生成プログラム0811の動作を示すフローチャートである。
権利確認・鍵生成プログラム0811は、端末がリボークされていないかどうか確認し、されていなければ、コンテンツ利用条件をチェックして再生可能な状態であればコンテンツの暗号鍵を端末に出力する。また、リボークされている場合、更新プログラムを端末に出力する。
権利確認・鍵生成プログラム0811は、鍵出力依頼情報に含まれる端末IDを取得してCRLデータベース0805に格納する(ステップS1001)。権利確認・鍵生成プログラム0811は、CRLデータベース0805を操作し、CRLエントリを作成して端末IDエリアに取得した端末IDを格納する。権利確認・鍵生成プログラム0811は、既に取得した端末IDを端末IDエリアに持つCRLエントリが存在する場合にはCRLエントリの作成は行わない。権利購入プログラム0810にも同様の処理を行う機能があるが、このステップは端末N0105のようなインターネット0108に接続されない端末で端末IDを取得するために使用される。端末N0105のような端末は、権利購入プログラム0810を実行することはないからである。なお、これらの端末については、端末A0102等のインターネット0108に接続された機器がカード0107を用いて事前に購入したコンテンツを再生することを想定している。
権利確認・鍵生成プログラム0811は、鍵出力依頼情報に含まれるAttestationサービスにより署名されたPCR値の署名検証を行う(ステップS1002)。署名検証の結果、PCR値が正規のものでないと判断された場合(ステップS1002でNO)、権利確認・鍵生成プログラム0811は処理を終了する。
署名検証の結果、PCRの値が正規のものであると確認された場合(ステップS1002でOK)、権利確認・鍵生成プログラム0811は、端末の正当性確認をPCR値を用いて行う(ステップS1003)。権利確認・鍵生成プログラム0811は、CRLデータベース0805を参照し、鍵出力依頼情報に含まれる端末IDと一致するCRLエントリ内の正規PCR値と、端末より取得したPCR値を比較する。比較結果がOKの場合(ステップS1003でOK)、権利確認処理に移る。比較結果がNGの場合(ステップS1003でNG)、プログラム更新処理に移る。ここで、比較結果がOKとはPCR値と正規PCR値とが一致することを意味し、比較結果がNGとはPCR値と正規PCR値とが一致しないことを意味する。
なお、鍵出力依頼情報に含まれる端末IDと一致するCRLエントリ内の正規PCR値が存在しない場合、権利確認・鍵生成プログラム0811は、鍵出力依頼情報に含まれるプログラム証明書に含まれるPCR値を正規PCR値の替わりに用いて端末の正当性を確認する。比較結果がOKの場合(ステップS1003でOK)、権利確認処理に移る。比較結果がNGの場合(ステップS1003でNG)、プログラム更新処理に移る。
ここで、権利確認・鍵生成プログラム0811は、正規PCR値をサーバから取得していない場合に限って、鍵出力依頼情報に含まれるプログラム証明書中のPCR値をCRLエントリに格納し、その後の端末の正当性確認に用いる。このプログラム証明書はメーカが出荷時に機器のソフトウェア構成を表すPCR値を含む状態で署名しているものであるため、実質的にはカード0107は端末が出荷時のソフトウェア構成であるかどうかの検証しかできないこととなる。しかしながら、後述するが、本実施の形態では、権利を購入する処理の中でCRLエントリに格納されている端末IDすべてについて更新プログラムが存在するかどうかの確認が行われ、更新プログラムが存在している場合は更新プログラムおよびその更新プログラムに対応した正規PCRがカード0107のCRLエントリに格納される。そのため、一度端末IDがCRLエントリに格納され、権利購入処理が発生すると正規PCR値を用いた端末の正当性検証が完全に機能することとなる。端末の利用者はコンテンツ配信サービスを受け続けるためには権利購入処理の実行が不可欠となるため、正規PCR値の取得操作も避けることは困難である。
端末が正当であると判断された場合(ステップS1003でOK)、権利確認・鍵生成プログラム0811は、鍵出力依頼情報に含まれるコンテンツIDに該当するコンテンツの権利情報をコンテンツ格納部0807から取得し、利用条件をチェックする(ステップS1004)。利用条件のチェックがNGの場合(ステップS1004でNG)、権利確認・鍵生成プログラム0811は処理を終了する。
利用条件のチェックがOKの場合(ステップS1004でOK)、権利確認・鍵生成プログラム0811は、コンテンツの権利情報に含まれるコンテンツ暗号鍵を端末に出力し、権利確認・鍵生成プログラムの処理を終了する(ステップS1005)。
端末の正当性確認ステップで端末が正当でないと判断された場合(ステップS1003でNG)、権利確認・鍵生成プログラム0811は、CRLデータベース0805を参照し、鍵出力要求に含まれる端末IDに該当するCRLエントリの更新プログラムエリアに更新プログラムが存在するかどうかを確かめる(ステップS1006)。更新プログラムが存在しない場合(ステップS1006でNG)、権利確認・鍵生成プログラム0811は、処理を終了する。
更新プログラムが存在する場合(ステップS1006でOK)、更新プログラムと正規PCRの値の出力処理を行う(ステップS1007)。ここで、更新プログラムおよび正規PCR値は、CRLデータベース0805内に格納されている鍵出力依頼情報に含まれる端末IDに該当するCRLエントリのものである。
次に、コンテンツ配布システム0100の動作を説明する。
まず、インターネット0108を介してサーバ0101に接続されている端末(端末A0102〜端末M0104)についての動作を説明する。以下、端末A0102を例として説明するが、端末B0103〜端末M0104も同様の構成を備えているため、以下で説明するものと同様の動作を行う。
図11は、端末A0102においてカード0107を用いてサーバ0101から権利を購入し、サーバ0101から取得したコンテンツを端末A0102で再生する場合のコンテンツ配布システム0100の動作を示すフローチャートである。ここで、端末A0102はリボークされており、サーバ0101のCRLデータベース1202には、端末A0102の端末IDを含むCRLエントリが存在していると仮定する。また、更新プログラムとそれに対応する正規PCR値もCRLデータベース1202の該当するCRLエントリ内に格納されているとする。以下、図11に示すフローチャートに従ってコンテンツ配布システム0100の動作ついて説明する。
端末A0102は、図6で説明した端末起動フローに基づき端末の起動処理を行う(ステップS1101)。その結果、端末0102のセキュアモジュール0207内のPCRが端末0102で動作しているプログラムに依存する値となる。カード0107は、ブートコード0803を用いてオペレーティングシステム0809をRAM0802にローディングし、その後、オペレーティングシステム0809が各種アプリケーションを起動することでカード0107を利用可能な状態にする。
次に端末A0102は、図3に示すように権利購入制御プログラム0210を用い、権利の購入処理をカード0107を用いて行う(ステップS1102)。カード0107は、図9に示すように権利購入プログラムを動作させ権利購入処理を行う。
ここで、端末A0102はリボークされているので、権利購入プログラム0810は、サーバ0101から該当する更新プログラムと正規PCR値をCRLデータベース0805に格納する(ステップS1103)。
次に端末A0102は、図4に示すように再生制御プログラム0211を動作させコンテンツの再生を行う。再生制御プログラム0211がカード0107に対し鍵の出力を依頼すると図10に示すように権利確認・鍵生成プログラム0811が動作する。ここで、権利確認・鍵生成プログラム0811は、CRLデータベース0805内に端末A0102の端末IDを含むCRLエントリがあり、また更新プログラムおよび正規PCR値が存在するため、更新プログラムおよび正規PCR値を端末A0102に出力する。再生制御プログラム0211は、受け取った更新プログラムおよび正規PCR値をそれぞれプログラム格納部0208に格納し、端末A0102を再起動する(ステップS1104)。その後、端末A0102は、ステップS1101と同様に起動する。
次に端末A0102は、再生制御プログラム0211を動作させ、再度、カード0107の権利確認・鍵生成プログラム0811に鍵出力処理を依頼する。権利確認・鍵生成プログラム0811のステップS1003で端末の正当性の確認が行われる(ステップS1105)。もし、正しくプログラムが更新されているならば(ステップS1105のOK)、端末A0102のセキュアモジュール0207から取得したPCR値とカード0107のCRLデータベース0805に格納されているPCR値が一致することから、端末A0102が正当であることが確認され、鍵が出力される。
一方、プログラムの更新処理を行う端末A0102の再生制御プログラム0211が悪意のあるものから改竄され、プログラムの更新が行われなかった場合(ステップS110
5のNG)、端末A0102のセキュアモジュール0207から取得したPCR値とカード0107のCRLデータベース0805に格納されているPCR値は一致することなく、端末A0102は正当でないと判断され、端末A0102の処理は終了する。
プログラムの更新が正しく行われた場合(ステップS1105でOK)、カード0107からコンテンツの暗号鍵が出力される(ステップS1106)。
鍵が出力されると、再生制御プログラム0211は、コンテンツ格納部0206から暗号化されたコンテンツを取り出し、鍵を用いて復号化した後に再生する(ステップS1107)。
このように、PCR値を用いてプログラムが正しく更新されたことを確認しないとコンテンツ暗号鍵を出力しない構成とすることで、もし、正しくアップデートされていないならば、端末の正当性チェックがNGとなり、コンテンツを暗号化した鍵は端末に出力されないので、コンテンツを正しく再生するためには、プログラムをアップデートすることが必要となる。また、アップデートしたプログラムが改竄された場合であっても端末の正当性チェックがNGとなり、コンテンツが再生できなくなるため、コンテンツの著作権を適切に保護することができる。
さらに、本発明では、従来技術のようにプログラムアップデート手段全体を耐タンパ実装することなく、プログラムのアップデートを強制することができる。つまり、上述の処理を実現するためには、カード0107とセキュアモジュール0207のみを耐タンパ実装していればよくなるため、耐タンパ実装すべき箇所を大きく削減することができる。
また、コンテンツを再生する権利を要求する際に、必ずカード0107が端末の正当性を確認し、NGの場合に端末のプログラムをアップデートするので、コンテンツを再生しようとする限り、必ずアップデートが行われることとなる。これにより、リボークされた端末のソフトウェアのアップデートを確実に行うことができる。なお、本実施の形態では、コンテンツの再生時に上記の処理を行ったが、これを記録時等に変更することで、他のタイミングでもソフトウェアのアップデートを強制することができることは言うまでもない。
続いて、インターネット0108と接続できない端末(端末N0105〜Z0106)についての動作の説明を行う。以下では端末N0105を例として説明するが、端末Z0106も同様の構成を備えているため、以下で説明するものと同様の動作を行う。
図15は、インターネット0108を介してサーバ0101に接続することができない端末N0105のプログラムを更新する場合のコンテンツ配布システム0100の動作を示すフローチャートである。ここで、端末N0105はリボークされており、サーバ0101のCRLデータベース1202には、端末N0105の端末IDを含むCRLエントリが存在していると仮定する。また、更新プログラムとそれに対応する正規PCR値もCRLデータベース1202の該当するCRLエントリ内に格納されているとする。ここで、端末N0105は、インターネット0108を介してサーバ0101に接続することができないため、権利の購入は端末A0102を用いて行い、コンテンツとその権利はカード0107を用いることで端末N0105で利用可能となる。以下、図15に示すフローチャートに従ってコンテンツ配布システム0100の動作について説明する。
端末A0102は、端末起動処理、および権利購入処理をそれぞれ図11のステップS1101、およびステップS1102で説明したように行う。ここで、端末N0105で
もダウンロードしたコンテンツを再生できるようにするため、端末A0102はカード0107のコンテンツ格納部0807にダウンロードしたコンテンツを格納する。
端末N0105は、図6で説明した端末起動フローに基づき端末の起動処理を行う(ステップS1503)。その結果、端末0105のセキュアモジュール0707内のPCRが端末N0105で動作しているプログラムに依存する値となる。
次に、端末A0102で購入したコンテンツを端末N0105で再生するためにカード0107を端末A0102から端末N0105に移動させる。端末N0105は、再生制御プログラム0711を動作させ、カード0107に対し、コンテンツ鍵出力依頼を行う。カード0107は、図10に示すような動作を行う権利確認・鍵生成プログラム0811を動作させる。ここで、権利確認・鍵生成プログラムは、ステップS1001で端末N0105の端末IDをCRLデータベースに追加し、端末N0105の端末IDを含むCRLエントリを作成する(ステップS1504)。
権利確認・鍵生成プログラム0811はその後、ステップS1003で端末N0105の正当性確認を行う(ステップS1505)。ここで、権利確認・鍵生成プログラム0811は、CRLデータベース0805を参照し、端末N0105の端末IDを含むCRLエントリを発見するが、正規PCR値が存在しないため、端末N0105のプログラム証明書0712に格納されているPCR値を用いて端末の正当性を確認する。端末N0105のセキュアモジュール0707のPCR値とプログラム証明書0712のPCR値が一致しなければ(ステップS1505でNG)、端末は正当で無いと判断し、権利確認・鍵生成プログラムは処理を終了する。
端末の正当性が確認された場合(ステップS1505でOK)、権利確認・鍵生成プログラム0811は、権利確認処理S1004を行った後、コンテンツ格納部0807に格納されているコンテンツの権利内のコンテンツ暗号化鍵を復号化し、端末N0105に出力する(ステップS1506)。
端末N0105の再生制御プログラム0711は、カード0107から受け取ったコンテンツ暗号鍵を用いて、カード0107のコンテンツ格納部0807に格納されているコンテンツを復号化した後、再生する(ステップS1507)。なお、カード0107のコンテンツ格納部0807から端末N0105のコンテンツ格納部0706にコンテンツを転送した後にコンテンツの再生を行っても良い。
次に、カード0107を用いて新たにコンテンツの権利を購入するために、カード0107は端末A0102に挿入される。以下、端末A0102においてコンテンツの権利を購入するフローについて説明する。
次に端末A0102は、図3に示すように権利購入制御プログラム0210を用い、権利の購入処理をカード0107を用いて行う(ステップS1508)。カード0107は、図9に示すように権利購入プログラムを動作させ権利購入処理を行う。権利購入の際にダウンロードされたコンテンツは、カード0107のコンテンツ格納部0807に格納される。
ここで、端末N0105はリボークされているので、権利購入プログラム0810は、サーバ0101から該当する更新プログラムと正規PCR値をCRLデータベース0805に格納する(ステップS1509)。カード0107のCRLデータベース0805には、端末N0105の端末IDを含むCRLエントリが存在しているので、権利購入プログラム0810のCRL更新処理(ステップS0903)において、端末N1005の端
末IDでサーバ0101のCRLデータベース1202が検索される。検索の結果、端末N0105の端末IDを含むCRLエントリがCRLデータベース1202に存在するので、権利購入プログラム0810は、そのCRLエントリから端末N0105の更新プログラムと正規PCR値をカード0107のCRLデータベース0805に存在する端末N0105の端末IDを含むCRLエントリに格納する。
次に、カード0107は、端末N0105でコンテンツを再生するために端末N0105に挿入される。以下、端末N0105におけるコンテンツ再生動作について説明する。
端末N0105は、図11のステップS1104において端末A0102が行ったように端末N0105のプログラムを更新する(ステップS1510)。
端末N0105は、図11のステップS1105において端末A0102が行ったようにカード0107に対し鍵出力依頼を行うことで、カード0107によって正当性の確認を行われる(ステップS1511)。正当性が確認された場合(ステップS1511でOK)、カード0107からコンテンツの暗号化鍵がカード0107から端末N0105に出力される。
一方、プログラムの更新処理を行う端末N0105の再生制御プログラム0711が悪意のあるものから改竄され、プログラムの更新が行われなかった場合(ステップS1511のNG)、端末N0105のセキュアモジュール0707から取得したPCR値とカード0107のCRLデータベース0805に格納されているPCR値は一致することなく、端末N0105は正当でないと判断され、端末N0105の処理は終了する。
プログラムの更新が正しく行われた場合(ステップS1511でOK)、カード0107からコンテンツの暗号鍵が出力される(ステップS1512)。
端末N0105の再生制御プログラム0711は、カード0107から受け取ったコンテンツ暗号鍵を用いて、カード0107のコンテンツ格納部0807に格納されているコンテンツを復号化した後、再生する(ステップS1513)。なお、カード0107のコンテンツ格納部0807から端末N0105のコンテンツ格納部0706にコンテンツを転送した後にコンテンツの再生を行っても良い。
これにより、インターネット0108経由でサーバ0101に接続できない端末N0105のような端末であっても、端末のリボークおよびプログラムの更新が可能となる。
また、一度カード0107が使用された端末に対応するリボケーションリストのみカード0107に取得するため、カード0107の少ないリソースでもリボケーションリストが取り扱える。
また、端末がネットワーク接続されている場合の動作説明で述べたものと同様の効果が得られることは言うまでもない。
(変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1) 上述した実施の形態では、更新対象はソフトウェアであったが、ハードウェアの構成情報を更新するシステムに適用してもよい。このようなハードウェアの具体的な例としてはリコンフィギュアラブルプロセッサなどが考えられる。
(2) 上述した実施の形態では、カード、端末、サーバのいずれを制御するプログラムもオペレーティングシステムの上で動作していたが、これに限られるものではない。アプリケーションプログラム等が直接プロセッサで処理できる言語で書かれている場合には、必ずしもオペレーティングシステムはなくてもよい。
(3) PCRはハッシュ値であるとしたが、これに限られるものではない。改竄検出に用いることのできる値であれば、どのようなものであってもよい。例えば、プログラムの一部を暗号化した値であったり、プログラムのチェックサム等であってもよい。
(4) 上述した実施の形態では、カード0107は、鍵の要求があった場合に端末がリボークされているか否かを確認するとしたが、これに限られるものではない。鍵情報以外にも、不正な端末に渡すと不利益のある情報であれば、他の情報であってもよい。さらに、端末が行う処理もコンテンツの再生に限るものではない。例えば、端末は、個人情報を取り扱うデータベースの処理を行うとしてもよい。この場合、端末がリボークされているか否かを確認するタイミングは、個人情報の要求が端末からあった場合などになる。
(5) 上述した実施の形態では、カード0107が端末がリボークされているか否かを確認するとしたが、これに限られるものではない。例えば、サーバが、権利情報を提供する際に、端末がリボークされているか否かを確認しても良い。この場合、端末は、権利情報の要求と共にPCRを送信する。また、サーバは、正規PCRを記憶しており、端末から送られてきたPCRと正規PCRとが不一致の場合(すなわち、NGの場合)に端末のプログラムをアップデートさせる。なお、詳細な処理については、端末とカードとの間でのアップデートの処理と同様であるので省略する。
(6) 上述した実施の形態では、プログラムがアップデートされた後、端末は再起動されるとしたが、これに限られるものではない。再起動を必要としない小さなアップデートであれば、そのまま処理を続行してもよい。すなわち、アップデートが完了した後、再起動を行わずに、鍵情報が端末に出力され、コンテンツの復号及び再生処理が行われるとしてもよい。
(7)以上説明したように、本発明は、端末と端末から分離可能なカードによって構成される情報処理装置であって、端末は、端末で動作しているプログラムの特徴を測定し、保存する端末測定手段と、端末で動作するプログラムを格納するプログラム格納手段と、プログラム格納手段に格納されているプログラムを更新するプログラム更新手段から構成され、カードは、端末の更新プログラムを格納する更新プログラム格納手段と、端末測定手段から得た情報を用い端末の正当性を確認する正当性確認手段と、正当性確認手段により端末が正当であると判断された場合のみ、カード内に保持されている秘密情報を端末に提供する秘密情報提供手段と、正当性確認手段により端末が正当でないと判断された場合のみ、更新プログラム格納手段に格納された更新プログラムをプログラム更新手段に出力するプログラム出力手段から構成されることを特徴とする。
また、本発明のデータ処理装置において、カードはさらに、一度接続された端末の端末IDを格納する端末ID格納手段と、接続されている端末がネットワークに接続できる場合、端末ID格納手段に格納されている端末IDに関連付けられている更新プログラムをサーバから取得し、更新プログラム格納手段に格納する更新プログラム取得手段と、更新プログラム取得手段で取得した更新プログラムに関連付けられている端末の正当性確認情報を格納する正当性確認情報格納手段と、接続されている端末がネットワークに接続できる場合、更新プログラム取得手段で取得した更新プログラムに関連付けられている正当性確認情報をサーバから取得し、正当性確認情報格納手段に格納する正当性確認情報取得手段を具備し、正当性確認手段が正当性確認情報格納手段より取得した正当性確認情報を用いて、端末の正当性を確認することを特徴とする。
この構成によれば、アップデートモジュール自体の信頼性に依存しない、プログラムのアップデート方法を提供することが可能となる。
さらに、リボークされた端末を動作不能にすることなく、不正な端末をプログラムのアップデートにより正当な端末にすることができるので、コンテンツの再生を継続できる。リボークして動作不能にすることによるユーザへの被害を防止しつつ、コンテンツ配布システムの健全性を保つことが可能となる。
また、カード内部の機構によってプログラムをアップデートしているので、インターネットに接続できない端末でもプログラムのアップデートが可能となる。
また、本発明に係る情報記録装置は、プログラムによって動作する情報処理装置とともに用いられ、情報処理装置により利用される情報を記録している情報記録装置であって、情報処理装置から情報へのアクセス要求を受け付ける受付手段と、情報処理装置を動作させる更新プログラムを格納する更新プログラム格納手段と、アクセス要求が受け付けられ
た場合に、アクセス要求を行った情報処理装置を動作させているプログラムの特徴情報を取得する取得手段と、特徴情報に基づいて、情報処理装置を動作させているプログラムの正当性を確認する正当性確認手段と、プログラムが正当でないと確認された場合に、情報処理装置に対して更新プログラムを出力する出力手段とを備えることを特徴とする。
この構成によれば、情報記録装置に対して情報を要求している情報処理装置を動作させているプログラムが正当なものでないと確認された場合、そのプログラムが更新プログラムにアップデートされる。したがって、情報を利用しようとする装置に対して、プログラムのアップデートを強制することができる。
本発明に係る情報記録装置は、出力手段は、さらに、プログラムが正当であると確認された場合にのみ、情報を情報処理装置に出力することを特徴とする。
この構成によれば、情報処理装置は、プログラムが正当であると判定されない限り、要求している情報を得ることができない。このことから、アクセス要求を出している情報を得るためには、情報処理装置はプログラムのアップデートを行わざるを得なくなるので、プログラムのアップデートを強制することができる。
本発明に係る情報記録装置は、さらに、情報処理装置を動作させる正当なプログラムの特徴情報である正規特徴情報を格納する正規特徴情報格納手段を備え、正当性確認手段は、情報処理装置から受信した特徴情報と正規特徴情報とを比較することにより、プログラムが正当であるか否かを確認することを特徴とする。
この構成によれば、情報記録装置は、情報処理装置のプログラムが正当であるか否かを特徴情報に基づいて確認することができる。
本発明に係る情報記録装置は、受信手段は、さらに、アクセス要求と共に情報処理装置の識別情報を取得し、更新プログラム格納手段は、過去にアクセス要求を行った1以上の情報処理装置の識別情報と、情報処理装置のそれぞれに向けた更新プログラムとを対応付けて格納し、出力手段は、アクセス要求とともに受信した識別情報に対応する情報処理装置向けの更新プログラムを出力することを特徴とする。
この構成によれば、情報記録装置が複数の情報処理装置で共有される場合でも、各情報処理装置に対して適切な更新プログラムを出力することができる。
本発明に係る情報記録装置は、更新プログラム格納手段は、さらに、新たな情報処理装置からのアクセス要求が受け付けられると、新たな情報処理装置の識別情報を格納内容に追加することを特徴とする。
この構成によれば、情報記録装置は、過去にアクセス要求を受け付けた情報処理装置の全てについて、更新プログラムの管理を行うことができる。
本発明に係る情報記録装置は、さらに、更新プログラムを提供するサーバに対して、更新プログラム格納手段が格納している情報処理装置の識別情報を送信する送信手段と、サーバから送信した識別情報に対応する情報処理装置用の更新プログラムを取得する取得手段とを備え、更新プログラム格納手段は、取得した更新プログラムを識別情報と対応付けて記録することを特徴とする。
この構成によれば、情報記録装置は、自身が管理している情報処理装置について、更新プログラムのバージョンアップがあった場合、バージョンアップ後の更新プログラムを取
得して記録することができる。
また、本発明に係る情報記録装置は、可搬型の記録媒体であることを特徴とする。
この構成によれば、可搬型の記録媒体内部の機構によって、情報処理装置内のプログラムをアップデートしているので、インターネットに接続できない情報処理装置に対してもプログラムのアップデートを強制することができる。
また、本発明に係る情報処理装置は、プログラムによって動作し、プログラムの特徴情報によりプログラムの正当性を確認する情報記録装置と共に用いられる情報処理装置であって、プログラムの特徴情報を算出する特徴情報算出手段と、情報記録装置が記録する情報へのアクセス要求を行う際に、算出した特徴情報を情報記録装置へ送信する送信手段と、情報記録装置による確認に応じて、情報もしくは情報処理装置用の更新プログラムを受信する受信手段と更新プログラムを受信した場合、受信した更新プログラムによりプログラムを更新する更新手段とを備えることを特徴とする。
この構成によれば、情報処理装置は、情報記録媒体に情報の要求を行う際に、自身を動作させているプログラムが不正なものであれば、アップデートすることができる。
また、本発明に係る情報記録装置は、特徴情報算出手段は、耐タンパ化により保護されていることを特徴とする。
この構成によれば、不正解析者による特徴情報の改ざんを防止できるので、情報処理装置を動作させているプログラムが不正なものである場合に、より確実に更新プログラムへのアップデートを行わせることができる。また、特徴情報算出手段さえ保護していれば、上述した不正を防止できるので、装置全体を耐タンパ化する場合に比べて、低コストでプログラムのアップデートを強制することができる。
また、本発明を、上述した特徴を持つ情報記録装置および情報処理装置から構成されるシステム、プログラムアップデート方法、プログラム、および集積回路として実現した場合もそれぞれ同様の効果を発揮することができる。
(8)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(9)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(10)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(11)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
プログラムを更新する情報処理装置で利用できる。
本発明の実施の形態1におけるコンテンツ配布システムの構成を示すブロック図 本発明の実施の形態1における端末Aのハードウェア構成を示すブロック図 本発明の実施の形態1における権利購入制御プログラムの動作を示すフローチャート 本発明の実施の形態1における再生制御プログラムの動作を示すフローチャート 本発明の実施の形態1におけるPCR拡張コマンド処理の動作を示すフローチャート 本発明の実施の形態1における端末起動時の動作を示すフローチャート 本発明の実施の形態1における端末Nのハードウェア構成を示すブロック図 本発明の実施の形態1におけるカードのハードウェア構成を示すブロック図 本発明の実施の形態1における権利購入プログラムの動作を示すフローチャート 本発明の実施の形態1における権利確認・鍵生成プログラムの動作を示すフローチャート 本発明の実施の形態1におけるコンテンツ配布システム全体の動作を示すフローチャート 本発明の実施の形態1におけるサーバの構成を示すブロック図 本発明の実施の形態1におけるサーバ上に存在するCRLデータベースのデータ構造を示す図 本発明の実施の形態1におけるカード上に存在するCRLデータベースのデータ構造を示す図 本発明の実施の形態1におけるコンテンツ配布システム全体の動作を示すフローチャート
符号の説明
0100 コンテンツ配布システム
0101 サーバ
0102 端末A
0103 端末B
0104 端末M
0105 端末N
0106 端末Z
0107 カード
0108 インターネット
0201 プロセッサ
0202 RAM
0203 ブートコード
0204 カードインターフェース
0205 通信部
0206 コンテンツ復号部
0207 セキュアモジュール
0208 プログラム格納部
0209 オペレーティングシステム
0210 権利購入制御プログラム
0211 再生制御プログラム
0212 プログラム証明書
0213 バス
0701 プロセッサ
0702 RAM
0703 ブートコード
0704 カードインターフェース
0706 コンテンツ格納部
0707 セキュアモジュール
0708 プログラム格納部
0709 オペレーティングシステム
0711 再生制御プログラム
0212 プログラム証明書
0713 バス
0801 プロセッサ
0802 RAM
0803 ブートコード
0804 端末I/F
0805 CRLデータベース
0807 コンテンツ格納部
0808 プログラム格納部
0809 オペレーティングシステム
0810 権利購入プログラム
0811 権利確認・鍵生成プログラム
0813 バス
1201 通信部
1202 CRLデータベース
1203 CRL管理部
1204 権利管理部

Claims (18)

  1. 情報処理装置と、前記情報処理装置に脱着可能な可搬型の情報記録装置とから構成される情報処理システムであって、
    前記情報処理装置は、
    当該情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムを格納している第1格納手段と、
    ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、
    前記情報記録装置に対して、秘密情報を要求する要求手段と、
    前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、
    更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第1格納手段に格納されている前記動作プログラムを更新する更新手段とを備え、
    前記情報記録装置は、
    秘密情報を安全に保持する情報保持手段と、
    前記動作プログラムの更新のための更新プログラムを格納している第2格納手段と、
    前記情報処理装置から秘密情報の要求を受信する受信手段と、
    前記要求を受信すると、前記測定手段により測定された前記特徴量を用いて、前記動作プログラムの正当性を判断する判断手段と、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記第2格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力手段と
    を備えることを特徴とする情報処理システム。
  2. 前記情報記録装置は、さらに、
    過去に接続された情報処理装置を識別する装置識別子を格納している識別子格納手段と、
    サーバ装置から、ネットワーク及び当該ネットワークに接続された前記情報処理装置を介して、前記識別子格納手段に格納されている装置識別子に関連付けられている前記更新プログラムを取得し、取得した前記更新プログラムを前記第2格納手段に書き込む第1取得手段と、
    正当性情報格納手段と、
    前記サーバ装置から、ネットワーク及び当該ネットワークに接続された前記情報処理装置を介して、前記第2格納手段に格納されている前記更新プログラムに関連付けられ、前記動作プログラムの正当性を確認するための正当性確認情報を取得し、取得した正当性確認情報を前記正当性情報格納手段に書き込む第2取得手段とを含み、
    前記判断手段は、前記正当性情報格納手段に書き込まれている前記正当性確認情報に基づいて、前記動作プログラムの正当性を判断する
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 情報処理装置に脱着可能な可搬型の情報記録装置であって、
    秘密情報を安全に保持する情報保持手段と、
    前記情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムの更新のための更新プログラムを格納しているプログラム格納手段と、
    前記情報処理装置から秘密情報の要求を受信する受信手段と、
    前記要求を受信すると、前記情報処理装置から取得し、前記動作プログラムの特徴を示す測定特徴量を用いて、前記動作プログラムの正当性を判断する判断手段と、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記プログラム格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力手段と
    を備えることを特徴とする情報記録装置。
  4. 前記情報記録装置は、さらに、
    正当な動作プログラムの特徴を示す正規特徴量を格納する正規情報格納手段を含み、
    前記判断手段は、前記情報処理装置から取得した測定特徴量と前記正規特徴量とを比較することにより、前記動作プログラムの正当性を判断する
    ことを特徴とする請求項3に記載の情報記録装置。
  5. 前記プログラム格納手段は、少なくとも過去に接続された1台以上の情報処理装置を識別する装置識別子と、前記情報処理装置のそれぞれに向けた更新プログラムとを対応付けて格納し、
    前記出力手段は、前記要求の発信元である前記情報処理装置を識別する装置識別子に対応する情報処理装置向けの更新プログラムを出力する
    ことを特徴とする請求項3に記載の情報記録装置。
  6. 前記受信手段は、さらに、前記要求と共に前記要求の発信元である前記情報処理装置を識別する装置識別子を取得し、
    前記プログラム格納手段は、過去に前記要求を行った1以上の情報処理装置を識別する装置識別子と、前記情報処理装置のそれぞれに向けた更新プログラムとを対応付けて格納し、
    前記出力手段は、前記要求とともに受信した装置識別子に対応する情報処理装置向けの更新プログラムを出力する
    ことを特徴とする請求項5に記載の情報記録装置。
  7. 前記プログラム格納手段は、さらに、新たな情報処理装置からの前記要求を受信すると、新たな情報処理装置を識別する装置識別子を追加して格納する
    ことを特徴とする請求項6に記載の情報記録装置。
  8. 前記情報記録装置は、さらに、
    前記更新プログラムを提供するサーバ装置に対して、前記プログラム格納手段に格納されている情報処理装置を識別する装置識別子を送信する送信手段と、
    前記サーバ装置から、送信した前記装置識別子に対応する情報処理装置用の更新プログラムを取得する取得手段とを含み、
    前記プログラム格納手段は、さらに、取得した前記更新プログラムを前記装置識別子と対応付けて記録する
    ことを特徴とする請求項7に記載の情報記録装置。
  9. 前記情報記録装置は、可搬型のメモリカードである
    ことを特徴とする請求項3に記載の情報記録装置。
  10. 前記判断手段は、前記判断において、Trusted Computing Group(TCG)により仕様化されている構成証明技術に含まれる検証プロセスを用いる
    ことを特徴とする請求項3に記載の情報記録装置。
  11. 可搬型の情報記録装置が装着される情報処理装置であって、
    当該情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムを格納している第1格納手段と、
    ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、
    前記情報記録装置に対して、秘密情報を要求する要求手段と、
    前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、
    更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第1格納手段に格納されている前記動作プログラムを更新する更新手段と
    を備えることを特徴とする情報処理装置。
  12. 前記測定手段は、耐タンパ化により保護されている
    ことを特徴とする請求項11に記載の情報処理装置。
  13. 前記情報処理装置は、さらに、
    Trusted Computing Group(TCG)により仕様化されているTrusted Platform Moduleを構成し、少なくとも前記特徴量に基づいて、当該情報処理装置の正当性を証明する証明情報を生成する証明手段を含む
    ことを特徴とする請求項11に記載の情報処理装置。
  14. 情報処理装置に脱着可能な可搬型の情報記録装置において用いられるプログラム更新方法であって、
    前記情報記録装置は、秘密情報を安全に保持する情報保持手段と、前記情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムの更新のための更新プログラムを格納しているプログラム格納手段とを備え、
    前記プログラム更新方法は、
    前記情報処理装置から秘密情報の要求を受信する受信ステップと、
    前記要求を受信すると、前記情報処理装置から取得し、前記動作プログラムの特徴を示す測定特徴量を用いて、前記動作プログラムの正当性を判断する判断ステップと、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記プログラム格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力ステップと
    を含むことを特徴とするプログラム更新方法。
  15. コンピュータ読み取り可能な記録媒体に記録され、情報処理装置に脱着可能な可搬型の情報記録装置において用いられるプログラム更新のためのコンピュータプログラムであって、
    前記情報記録装置は、秘密情報を安全に保持する情報保持手段と、前記情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムの更新のための更新プログラムを格納しているプログラム格納手段とを備え、
    前記コンピュータプログラムは、コンピュータに、
    前記情報処理装置から秘密情報の要求を受信する受信ステップと、
    前記要求を受信すると、前記情報処理装置から取得し、前記動作プログラムの特徴を示す測定特徴量を用いて、前記動作プログラムの正当性を判断する判断ステップと、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記プログラム格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力ステップと
    を実行させることを特徴とするコンピュータプログラム。
  16. 情報処理装置に脱着可能な可搬型の情報記録装置を構成する集積回路であって、
    前記情報記録装置は、秘密情報を安全に保持する情報保持手段と、前記情報処理装置を動作対象とし、複数のコンピュータ命令を含む動作プログラムの更新のための更新プログラムを格納しているプログラム格納手段とを備え、
    前記集積回路は、
    前記情報処理装置から秘密情報の要求を受信する受信手段と、
    前記要求を受信すると、前記情報処理装置から取得し、前記動作プログラムの特徴を示す測定特徴量を用いて、前記動作プログラムの正当性を判断する判断手段と、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記情報処理装置へ出力し、正当でないと確認された場合、前記プログラム格納手段に格納されている前記更新プログラムを前記情報処理装置へ出力する出力手段と
    を備えることを特徴とする集積回路。
  17. サーバ装置と、ネットワークを介して前記サーバ装置に接続可能な第1情報処理装置と、前記サーバ装置に対する前記ネットワークを介した接続機能を有さない第2情報処理装置と、各情報処理装置に脱着可能な可搬型の情報記録装置とから構成される情報処理システムであって、
    前記第2情報処理装置は、無効化されており、
    前記サーバ装置は、前記第2情報処理装置を動作対象とする動作プログラムの更新のための更新プログラムを記憶しており、
    前記情報記録装置が前記第1情報処理装置に装着され、前記第1情報処理装置は、前記サーバ装置からネットワークを介して前記更新プログラムを取得し、取得した前記更新プログラムを前記情報記録装置へ出力し、
    前記情報記録装置が前記第2情報処理装置に装着され、
    前記情報記録装置は、
    秘密情報を安全に保持する情報保持手段と、
    前記第1情報処理装置から前記更新プログラムを受信して格納する第1格納手段と、
    前記第2情報処理装置から秘密情報の要求を受信する受信手段と、
    前記要求を受信すると、前記第2情報処理装置において測定された特徴量を用いて、前記第2情報処理装置に格納されている動作プログラムの正当性を判断する判断手段と、
    正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記第2情報処理装置へ出力し、正当でないと確認された場合、前記第2格納手段に格納されている前記更新プログラムを前記第2情報処理装置へ出力する出力手段とを備え、
    前記第2情報処理装置は、
    当該第2情報処理装置を動作対象とし、複数のコンピュータ命令を含む前記動作プログラムを格納している第2格納手段と、
    ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定手段と、
    前記情報記録装置に対して、秘密情報を要求する要求手段と、
    前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信手段と、
    更新プログラムを受信した場合に、受信した更新プログラムに従って、前記第2格納手段に格納されている前記動作プログラムを更新する更新手段とを備える
    ことを特徴とする情報処理システム。
  18. サーバ装置と、ネットワークを介して前記サーバ装置に接続可能な第1情報処理装置と、前記サーバ装置に対する接続機能を有さない第2情報処理装置と、各情報処理装置に脱着可能な可搬型の情報記録装置とから構成される情報処理システムにおいて用いられる情報処理方法であって、
    前記第2情報処理装置は、無効化されており、
    前記サーバ装置は、前記第2情報処理装置を動作対象とする動作プログラムの更新のための更新プログラムを記憶しており、
    前記情報記録装置は、秘密情報を安全に保持する情報保持手段を備え、
    前記第2情報処理装置は、当該第2情報処理装置を動作対象とし、複数のコンピュータ命令を含む前記動作プログラムを格納している格納手段を備え、
    前記情報処理方法は、
    前記情報記録装置が前記第1情報処理装置に装着されたときに、前記第1情報処理装置により、前記サーバ装置からネットワークを介して前記更新プログラムを取得し、取得した前記更新プログラムを前記情報記録装置へ出力する出力ステップと、
    前記情報記録装置が前記第2情報処理装置に装着されたときに、前記情報記録装置により、前記第1情報処理装置から前記更新プログラムを受信して格納する格納ステップと、
    前記情報記録装置により、前記第2情報処理装置から秘密情報の要求を受信する受信ステップと、
    前記情報記録装置により、前記要求を受信すると、前記第2情報処理装置において測定された特徴量を用いて、前記第2情報処理装置に格納されている動作プログラムの正当性を判断する判断ステップと、
    前記情報記録装置により、正当であると確認された場合、前記情報保持手段に保持されている前記秘密情報を前記第2情報処理装置へ出力し、正当でないと確認された場合、前記第2格納手段に格納されている前記更新プログラムを前記第2情報処理装置へ出力する出力ステップと、
    前記第2情報処理装置により、ロードされるときに前記動作プログラムの特徴を示す特徴量を測定する測定ステップと、
    前記第2情報処理装置により、前記情報記録装置に対して、秘密情報を要求する要求ステップと、
    前記第2情報処理装置により、前記情報記録装置における前記動作プログラムの正当性の確認結果に応じて、秘密情報及び更新プログラムのいずれか一方を受信する受信ステップと、
    前記第2情報処理装置により、更新プログラムを受信した場合に、受信した更新プログラムに従って、前記格納手段に格納されている前記動作プログラムを更新する更新ステップと
    を含むことを特徴とする情報処理方法。
JP2008523676A 2006-07-03 2007-07-02 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 Expired - Fee Related JP4906854B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008523676A JP4906854B2 (ja) 2006-07-03 2007-07-02 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006182972 2006-07-03
JP2006182972 2006-07-03
PCT/JP2007/063249 WO2008004525A1 (fr) 2006-07-03 2007-07-02 Dispositif de traitement d'informations, dispositif d'enregistrement d'informations, système de traitement d'informations, procédé de mise à jour de programme, programme, et circuit intégré
JP2008523676A JP4906854B2 (ja) 2006-07-03 2007-07-02 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路

Publications (2)

Publication Number Publication Date
JPWO2008004525A1 JPWO2008004525A1 (ja) 2009-12-03
JP4906854B2 true JP4906854B2 (ja) 2012-03-28

Family

ID=38894494

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008523675A Expired - Fee Related JP4950195B2 (ja) 2006-07-03 2007-07-02 証明装置、検証装置、検証システム、コンピュータプログラム及び集積回路
JP2008523676A Expired - Fee Related JP4906854B2 (ja) 2006-07-03 2007-07-02 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008523675A Expired - Fee Related JP4950195B2 (ja) 2006-07-03 2007-07-02 証明装置、検証装置、検証システム、コンピュータプログラム及び集積回路

Country Status (4)

Country Link
US (2) US20100063996A1 (ja)
EP (1) EP2037388A4 (ja)
JP (2) JP4950195B2 (ja)
WO (2) WO2008004525A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100556198C (zh) * 2007-08-16 2009-10-28 中兴通讯股份有限公司 内容摘要验证接口方法
JP4687703B2 (ja) * 2007-10-02 2011-05-25 ソニー株式会社 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
JP5049179B2 (ja) * 2008-03-31 2012-10-17 富士通フロンテック株式会社 情報処理端末装置及びアプリケーションプログラムの起動認証方法
JP5072702B2 (ja) * 2008-04-28 2012-11-14 株式会社東芝 記憶装置の制御装置、記憶装置及び記憶装置の制御方法
WO2009134270A1 (en) * 2008-05-02 2009-11-05 Hewlett-Packard Development Company, L.P. Binding data to a computing platform through use of a cryptographic module
US8515996B2 (en) 2008-05-19 2013-08-20 Emulex Design & Manufacturing Corporation Secure configuration of authentication servers
EP2293216A1 (en) * 2008-06-23 2011-03-09 Panasonic Corporation Information processing device, information processing method, and computer program and integrated circuit for the realization thereof
JP2010061374A (ja) * 2008-09-03 2010-03-18 Toshiba Corp 表示装置および鍵管理方法
US20100119068A1 (en) * 2008-11-11 2010-05-13 Harris Scott C Digital File Anti pirating
KR101197182B1 (ko) * 2008-12-23 2012-11-02 한국전자통신연구원 컴퓨터 시스템에서의 해킹 방지 장치 및 방법
US8213618B2 (en) * 2008-12-30 2012-07-03 Intel Corporation Protecting content on client platforms
US8768843B2 (en) * 2009-01-15 2014-07-01 Igt EGM authentication mechanism using multiple key pairs at the BIOS with PKI
US8924742B2 (en) * 2009-02-11 2014-12-30 Blackberry Limited Multi-level data storage
US20130132733A1 (en) * 2009-05-26 2013-05-23 Sunil C. Agrawal System And Method For Digital Rights Management With System Individualization
DE102009046436A1 (de) * 2009-11-05 2011-05-12 Robert Bosch Gmbh Kryptographisches Hardwaremodul bzw. Verfahren zur Aktualisierung eines kryptographischen Schlüssels
CN102725737B (zh) * 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US8452957B2 (en) 2010-04-27 2013-05-28 Telefonaktiebolaget L M Ericsson (Publ) Method and nodes for providing secure access to cloud computing for mobile users
US8959363B2 (en) * 2010-06-03 2015-02-17 Intel Corporation Systems, methods, and apparatus to virtualize TPM accesses
WO2012033496A1 (en) * 2010-09-10 2012-03-15 Hewlett-Packard Development Company, L.P. Unlock a storage device
US8402453B2 (en) * 2010-09-22 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) In-service software upgrade of control and line cards of network element
US9525548B2 (en) 2010-10-21 2016-12-20 Microsoft Technology Licensing, Llc Provisioning techniques
US8805434B2 (en) 2010-11-23 2014-08-12 Microsoft Corporation Access techniques using a mobile communication device
US9509686B2 (en) * 2010-12-03 2016-11-29 Microsoft Technology Licensing, Llc Secure element authentication
GB2501433B (en) 2011-01-19 2014-06-04 Ibm Ensuring the integrity of software
WO2012112833A2 (en) * 2011-02-17 2012-08-23 Taasera, Inc. System and method for application attestation
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US20130339734A1 (en) * 2011-08-12 2013-12-19 Power-One, Inc. Secure Method and System for Remote Field Upgrade of Power Device Firmware
US8797139B2 (en) * 2012-02-23 2014-08-05 Infineon Technologies Ag System-level chip identify verification (locking) method with authentication chip
US8885562B2 (en) 2012-03-28 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Inter-chassis redundancy with coordinated traffic direction
US20140281539A1 (en) * 2012-03-30 2014-09-18 Goldman, Sachs & Co. Secure Mobile Framework With Operating System Integrity Checking
US8776180B2 (en) 2012-05-01 2014-07-08 Taasera, Inc. Systems and methods for using reputation scores in network services and transactions to calculate security risks to computer systems and platforms
JP5975097B2 (ja) * 2012-05-21 2016-08-23 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5990433B2 (ja) * 2012-08-31 2016-09-14 株式会社富士通エフサス ネットワーク接続方法および電子機器
JP6128388B2 (ja) * 2012-09-14 2017-05-17 パナソニックIpマネジメント株式会社 情報処理装置
US9292463B2 (en) * 2012-09-26 2016-03-22 Intel Corporation Communication of device presence between boot routine and operating system
US9152793B2 (en) * 2012-09-28 2015-10-06 Intel Corporation Methods, systems and apparatus to self authorize platform code
JP5695623B2 (ja) * 2012-09-28 2015-04-08 株式会社東芝 送信装置及び通信システム及びプログラム
JP5986897B2 (ja) * 2012-11-13 2016-09-06 Kddi株式会社 端末装置、完全性検証システム、およびプログラム
US10038565B2 (en) * 2012-12-20 2018-07-31 GM Global Technology Operations LLC Methods and systems for bypassing authenticity checks for secure control modules
US11539399B2 (en) * 2013-03-04 2022-12-27 Wind River Systems, Inc. System and method for smart card based hardware root of trust on mobile platforms using near field communications
WO2014144601A1 (en) 2013-03-15 2014-09-18 Master Lock Company Networked security system
US20160132681A1 (en) * 2013-06-14 2016-05-12 Nec Europe Ltd. Method for performing a secure boot of a computing system and computing system
GB2515289A (en) * 2013-06-17 2014-12-24 Mastercard International Inc Display card with user interface
US20150012402A1 (en) * 2013-07-03 2015-01-08 Trading Technologies International, Inc. Trading System License Verification, Management and Control
US11310050B2 (en) 2018-09-17 2022-04-19 Microsoft Technology Licensing, Llc Verifying a computing device after transport
JP5617981B2 (ja) * 2013-09-18 2014-11-05 株式会社リコー 機器、管理装置、機器管理システム、及びプログラム
JP6662561B2 (ja) * 2014-03-31 2020-03-11 フェリカネットワークス株式会社 情報処理方法、情報処理装置、認証サーバ装置及び確認サーバ装置
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US10897707B2 (en) * 2015-01-19 2021-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for direct communication key establishment
JP6557473B2 (ja) * 2015-01-23 2019-08-07 キヤノン株式会社 システム、通信装置、通信方法及びプログラム
US10367803B2 (en) * 2015-04-12 2019-07-30 Gropper Adrian Managed open source medical devices
EP3086254A1 (en) * 2015-04-22 2016-10-26 Gemalto Sa Method of managing applications in a secure element when updating the operating system
US9448785B1 (en) * 2015-11-06 2016-09-20 AO Kaspersky Lab System and method updating full disk encryption software
JP6675227B2 (ja) * 2016-02-26 2020-04-01 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US10621351B2 (en) 2016-11-01 2020-04-14 Raptor Engineering, LLC. Systems and methods for tamper-resistant verification of firmware with a trusted platform module
US10524119B2 (en) * 2016-11-23 2019-12-31 Afero, Inc. Apparatus and method for sharing credentials in an internet of things (IoT) system
JP6908914B2 (ja) * 2017-02-24 2021-07-28 株式会社国際電気通信基礎技術研究所 データ送信装置、データ受信装置、通信システム、および、プログラム
US10311224B1 (en) * 2017-03-23 2019-06-04 Amazon Technologies, Inc. Digitally sealing equipment for authentication of components
WO2018189885A1 (ja) * 2017-04-14 2018-10-18 三菱電機株式会社 鍵管理システム、通信機器および鍵共有方法
CN111480161A (zh) * 2017-12-20 2020-07-31 飞力凯网路股份有限公司 信息处理设备和信息处理方法
JP7179482B2 (ja) * 2018-04-19 2022-11-29 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム
US11068600B2 (en) * 2018-05-21 2021-07-20 Kct Holdings, Llc Apparatus and method for secure router with layered encryption
TWI682656B (zh) * 2018-07-23 2020-01-11 陳明宗 利用兩種密鑰的通訊系統
CN111125705B (zh) * 2018-11-01 2022-08-19 华为终端有限公司 一种能力开放方法及装置
CN113396398B (zh) * 2019-01-30 2023-11-28 株式会社电装多利牡 存储器的改写历史记录装置
JP7428049B2 (ja) 2020-03-30 2024-02-06 大日本印刷株式会社 デバイス、セキュアエレメント及びデバイスのセキュアブート方法
US11863561B2 (en) * 2021-11-10 2024-01-02 Oracle International Corporation Edge attestation for authorization of a computing node in a cloud infrastructure system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536757A (ja) * 1999-02-15 2002-10-29 ヒューレット・パッカード・カンパニー 信用コンピューティング・プラットフォーム
JP2003303028A (ja) * 2002-04-09 2003-10-24 Matsushita Electric Ind Co Ltd ナビゲーション装置のバージョンアップシステム
JP2005309759A (ja) * 2004-04-21 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> 電子データ提供システムと方法およびプログラム
JP2005316974A (ja) * 2004-04-30 2005-11-10 Microsoft Corp ソフトウエアのアップデートを制限する方法およびシステム
US20060085848A1 (en) * 2004-10-19 2006-04-20 Intel Corporation Method and apparatus for securing communications between a smartcard and a terminal
US20060095961A1 (en) * 2004-10-29 2006-05-04 Priya Govindarajan Auto-triage of potentially vulnerable network machines
JP2007041694A (ja) * 2005-08-01 2007-02-15 Canon Inc ファームウェアのバージョンアップ方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008836A (en) 1996-06-03 1999-12-28 Webtv Networks, Inc. Method and apparatus for adjusting television display control using a browser
US6141693A (en) 1996-06-03 2000-10-31 Webtv Networks, Inc. Method and apparatus for extracting digital data from a video stream and using the digital data to configure the video stream for display on a television set
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US6311197B2 (en) 1996-06-03 2001-10-30 Webtv Networks, Inc. Method for downloading a web page to a client for efficient display on a television screen
US6473099B1 (en) 1996-06-03 2002-10-29 Webtv Networks, Inc. Automatically upgrading software over a satellite link
US5940074A (en) 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US5996022A (en) 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
US5918013A (en) 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US6957260B1 (en) 1996-06-03 2005-10-18 Microsoft Corporation Method of improving access to services provided by a plurality of remote service providers
US6034689A (en) 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
US6259442B1 (en) 1996-06-03 2001-07-10 Webtv Networks, Inc. Downloading software from a server to a client
US5974461A (en) 1996-06-03 1999-10-26 Webtv Networks, Inc. Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server
US5896444A (en) 1996-06-03 1999-04-20 Webtv Networks, Inc. Method and apparatus for managing communications between a client and a server in a network
US5851988A (en) 1997-01-15 1998-12-22 Terrapin Technologies, Inc. Nonpeptide insulin receptor agonists
US5830918A (en) 1997-01-15 1998-11-03 Terrapin Technologies, Inc. Nonpeptide insulin receptor agonists
US20030078188A1 (en) 1997-01-15 2003-04-24 Kauvar Lawrence M. Modulators of insulin receptor activity
US6329431B1 (en) 1997-01-15 2001-12-11 Telik, Inc. Nonpeptide insulin receptor agonists
US6848047B1 (en) 1999-04-28 2005-01-25 Casio Computer Co., Ltd. Security managing system, data distribution apparatus and portable terminal apparatus
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US7353267B1 (en) 2000-04-07 2008-04-01 Netzero, Inc. Targeted network video download interface
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7620811B2 (en) 2002-04-23 2009-11-17 Panasonic Corporation Server device and program management system
JP2003330745A (ja) 2002-05-14 2003-11-21 Mitsubishi Electric Corp プログラム更新装置及びプログラム更新方法
US7478433B2 (en) * 2003-06-19 2009-01-13 Panasonic Corporation Program execution system having authentication function
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20050114682A1 (en) * 2003-11-26 2005-05-26 Zimmer Vincent J. Methods and apparatus for securely configuring a machine in a pre-operating system environment
JP4064914B2 (ja) * 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US20050132031A1 (en) * 2003-12-12 2005-06-16 Reiner Sailer Method and system for measuring status and state of remotely executing programs
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
US7382880B2 (en) * 2004-01-26 2008-06-03 Hewlett-Packard Development Company, L.P. Method and apparatus for initializing multiple security modules
JP4144880B2 (ja) * 2004-04-09 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
JP2004320793A (ja) 2004-05-17 2004-11-11 Matsushita Electric Ind Co Ltd 管理基準作成方法、管理基準作成システム、及び記録媒体
JP2005339472A (ja) 2004-05-31 2005-12-08 Fuji Electric Holdings Co Ltd Icカードシステム
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
EP1624691A1 (en) 2004-08-03 2006-02-08 Thomson Licensing Forcing an action in a terminal
US20060047944A1 (en) * 2004-09-01 2006-03-02 Roger Kilian-Kehr Secure booting of a computing device
CN101960464B (zh) * 2008-02-25 2013-01-16 松下电器产业株式会社 信息处理装置
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536757A (ja) * 1999-02-15 2002-10-29 ヒューレット・パッカード・カンパニー 信用コンピューティング・プラットフォーム
JP2003303028A (ja) * 2002-04-09 2003-10-24 Matsushita Electric Ind Co Ltd ナビゲーション装置のバージョンアップシステム
JP2005309759A (ja) * 2004-04-21 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> 電子データ提供システムと方法およびプログラム
JP2005316974A (ja) * 2004-04-30 2005-11-10 Microsoft Corp ソフトウエアのアップデートを制限する方法およびシステム
US20060085848A1 (en) * 2004-10-19 2006-04-20 Intel Corporation Method and apparatus for securing communications between a smartcard and a terminal
US20060095961A1 (en) * 2004-10-29 2006-05-04 Priya Govindarajan Auto-triage of potentially vulnerable network machines
JP2007041694A (ja) * 2005-08-01 2007-02-15 Canon Inc ファームウェアのバージョンアップ方法

Also Published As

Publication number Publication date
EP2037388A1 (en) 2009-03-18
JP4950195B2 (ja) 2012-06-13
US8296561B2 (en) 2012-10-23
US20090204806A1 (en) 2009-08-13
US20100063996A1 (en) 2010-03-11
JPWO2008004524A1 (ja) 2009-12-03
WO2008004525A1 (fr) 2008-01-10
WO2008004524A1 (fr) 2008-01-10
EP2037388A4 (en) 2016-12-14
JPWO2008004525A1 (ja) 2009-12-03

Similar Documents

Publication Publication Date Title
JP4906854B2 (ja) 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
US10489562B2 (en) Modular software protection
US10547604B2 (en) Information recording apparatus with shadow boot program for authentication with a server
JP4790021B2 (ja) Srmのデジタル著作権管理方法及び装置
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
KR101122923B1 (ko) 휴대용 매체 상의 콘텐트에 대한 암호화 및 데이터 보호
US8214630B2 (en) Method and apparatus for controlling enablement of JTAG interface
JP5457363B2 (ja) 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
KR100605071B1 (ko) 디지털 전자 콘텐츠의 안전하고 편리한 관리 시스템 및 방법
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
US20120166781A1 (en) Single security model in booting a computing device
US20110299679A1 (en) Controller, control method, computer program, recording medium for computer program, recording apparatus, and manufacturing method for recording apparatus
US11838282B2 (en) Information recording apparatus with server-based user authentication for accessing a locked operating system storage
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
JP4702596B2 (ja) 復号回路、復号装置、復号方法及び復号プログラム
JP2009122923A (ja) 著作権保護システム、再生装置、及び再生方法
JP2010061182A (ja) ソフトウェア管理方法、ソフトウェア管理装置およびソフトウェア管理プログラム
KR20100064057A (ko) Drm 도메인 생성 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100329

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4906854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees