JP5291159B2 - 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 - Google Patents
情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 Download PDFInfo
- Publication number
- JP5291159B2 JP5291159B2 JP2011175859A JP2011175859A JP5291159B2 JP 5291159 B2 JP5291159 B2 JP 5291159B2 JP 2011175859 A JP2011175859 A JP 2011175859A JP 2011175859 A JP2011175859 A JP 2011175859A JP 5291159 B2 JP5291159 B2 JP 5291159B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- secure
- secure program
- key
- execution means
- 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 - Lifetime
Links
- 238000004590 computer program Methods 0.000 title description 42
- 230000010365 information processing Effects 0.000 title 1
- 238000003672 processing method Methods 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 63
- 238000001514 detection method Methods 0.000 claims description 43
- 238000003860 storage Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 42
- 239000000872 buffer Substances 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims 3
- 238000004458 analytical method Methods 0.000 abstract description 13
- 230000004075 alteration Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 31
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 235000010724 Wisteria floribunda Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
耐タンパー技術については以前から研究されており、非特許文献1には、ソフトウェアの解析を防ぐための基本原則や具体的手法に関して記述されている。また、非特許文献2にはソフトウェアの解析防止について、技術的課題と対策について記述されている。
上記目的を達成するために本発明は、プログラム実行装置であって、第1及び第2コンピュータプログラムに従って動作する,また、外部装置からの指示に従って前記動作を制御する処理手段と、前記処理手段が前記第1コンピュータプログラムに従って動作する場合に、前記外部装置から前記処理手段を切り離す第1保護手段と、前記処理手段が前記第2コンピュータプログラムに従って動作する場合に、前記第1コンピュータプログラムを保護する第2保護手段とを備えることを特徴とするプログラム実行装置である。
この構成によると、外部からのハードウェアによる攻撃と、ソフトウェアによる攻撃との両方からプログラムを保護することが出来る。また、外部装置から切り離すので、高いセキュリティを保つことが出来る。
ここで、前記第2保護手段は、前記処理手段が前記第1コンピュータプログラムに従って動作している場合に、前記処理手段がデータを書き込む記憶領域を含み、前記処理手段が、前記第1コンピュータプログラムから第2コンピュータプログラムに切り替える直前に、前記記憶領域に書き込まれているデータを暗号化し、前記第2コンピュータプログラムから第1コンピュータプログラムに切り替えると、前記暗号化したデータを復号するとしても良い。
この構成によると、第1コンピュータプログラムの実行中に、他のプログラムへ制御が移る場合に、記憶領域に書き込まれているデータを暗号化するので、第1コンピュータプログラムで扱うデータを他のプログラムから保護することが出来、第1コンピュータプログラムの解析を防止することが出来る。また、領域内のデータを暗号化するので、少ないメモリ使用量で処理を実行可能となる。これにより、携帯電話機やPDAなど、CPUの処理速度やメモリ容量などのリソースが限られている機器においても、高いセキュリティを保つことが出来る。
ここで、前記プログラム実行装置は、更に、割り込みの発生を検出する割込検出手段を備え、前記第1コンピュータプログラムを暗号化して生成される暗号化プログラムを記憶する記憶手段を備え、前記第2コンピュータプログラムは、割り込みが発生した場合に行う処理を示し、前記第2保護手段は、前記処理手段が前記第2コンピュータプログラムに従って動作することを禁止し、プログラム復号鍵を取得し、取得したプログラム復号鍵を用いて前記暗号化プログラムを復号して前記第1コンピュータプログラムを生成し、前記プログラム復号鍵を消去し、前記プログラム復号鍵を消去した後に、前記処理手段が前記第2コンピュータプログラムに従って動作することを許可するとしても良い。
ここで、前記第2保護手段は、前記第1コンピュータプログラムを含む処理プログラムが生成されたときに少なくとも一部に基づいて生成される第1改竄検出値を取得し、前記処理手段が前記第1コンピュータプログラムを実行する前に、前記処理プログラムの少なくとも一部に基づいて第2改竄検出値を生成し、前記第1改竄検出値と前記第2改竄検出値とが異なる場合、前記処理手段が前記第1コンピュータプログラムに従って動作することを抑制するとしても良い。
ここで、前記処理プログラムは、前記第1改竄検出値を含み、前記第2保護手段は、前記処理プログラムから、前記第1改竄検出値を取得するとしても良い。
1.セキュア処理システム1の構成
セキュア処理システム1は、図1に示すように、認証局装置100、ROMライター200、携帯端末300及びメモリカード400から構成される。
セキュア処理システム1は、携帯端末300によって実行されるプログラムを不正な解析や改竄から保護するシステムである。保護対象のプログラムは、認証局装置100において生成され、ROMライター200によってROMに書き込まれる。プログラムが書き込まれたROMは携帯端末300に組み込まれる。
1.1 認証局装置100
認証局装置100は、領域確保プログラム、割込禁止プログラム、呼出プログラム、鍵受信プログラム、実行フラグ、割込ハンドラ、復号プログラム及びセキュアプログラムから成る第2セキュア処理プログラムを生成する装置である。セキュアプログラムは保護対象となる暗号化音楽データ復号プログラムを含む。
各プログラムについては後述する。
認証局装置100は、図2に示すように、コンパイラ101、プログラム暗号化部102、鍵暗号化部103、ハッシュ値算出部104、データ埋込部105、記憶部106及び送信部107から構成される。
(1)コンパイラ101
コンパイラ101は、領域確保プログラム、割込禁止プログラム、鍵受信プログラム、実行フラグ及び割込ハンドラから成る保護プログラム、呼出プログラム、復号プログラム及びセキュアプログラムのソースコードを入力として受け付ける。呼出プログラムは、第2セキュア処理プログラムを実行する際に、改竄されているか否かを検出する際に利用するデータを送信するプログラムであり、TRS領域先頭アドレスを含む。TRS領域プログラムは、第2セキュア処理プログラムの復号プログラム516及び暗号化プログラム517の部分に相当する。TRS領域先頭アドレスは、携帯端末300に組み込まれた後のメモリ上での先頭アドレスである。
コンパイラ101は、生成した呼出プログラムバイナリデータ及び保護プログラムバイナリデータをデータ埋込部105へ出力する。また、復号プログラムバイナリデータ及びセキュアプログラムバイナリデータをプログラム暗号化部102へ出力する。
(2)プログラム暗号化部102
プログラム暗号化部102は、復号プログラムバイナリデータ及びセキュアプログラムバイナリデータを受け取る。また、プログラム鍵の入力を受け付ける。プログラム暗号化部102は、プログラム鍵を用いて、セキュアプログラムに暗号化アルゴリズムE1を施して暗号化プログラムを生成する。暗号化アルゴリズムE1は、一例としてAES(Advanced Encryption Standard)である。AESについては公知であるので、説明を省略する。なお、他の暗号化アルゴリズムを用いても良いのは勿論である。
また、生成したTRS領域プログラムをハッシュ値算出部104へ出力する。
(3)鍵暗号化部103
鍵暗号化部103は、プログラム鍵とマスタ鍵との入力を受け付ける。
(4)ハッシュ値算出部104
ハッシュ値算出部104は、第2セキュア処理プログラムの少なくとも一部に対してハッシュ値を算出する。
ハッシュ値の算出には一例として、HMAC(Keyed-Hashing for Message Authentication)で用いられるアルゴリズムを使用するものとする。
ここで、Hをハッシュ関数、Kを秘密鍵とし、textをハッシュ対象となるデータ、opadは、バイト値Ox36を64回繰り返した文字列、ipadは、バイト値Ox5Cを64回繰り返した文字列とすると、ハッシュ値算出のアルゴリズムは、H(K XOR opad ,H(K XOR ipad, text))のように表される。
ハッシュ値算出部104は、生成したハッシュ値と、ハッシュ値算出の対象となったTRS領域プログラムのバイナリサイズとをデータ埋込部105へ出力する。
(5)データ埋込部105
データ埋込部105は、コンパイラ101から呼出プログラムバイナリデータと保護プログラムバイナリデータとを受け取り、ハッシュ値算出部104からハッシュ値及びバイナリサイズを受け取る。また、鍵暗号化部103から暗号化鍵を受け取り、プログラム暗号化部102からTRS領域プログラムを受け取る。
(6)記憶部106
記憶部106は、データ埋込部105によって書き込まれる第2セキュア処理プログラムを記憶する。
(7)送信部107
送信部107は、記憶部106に記憶している第2セキュア処理プログラムをROMライターへ出力する。
1.2 ROMライター200
ROMライターは、認証局装置100に接続されており、認証局装置100から受け取る第2セキュア処理プログラムをROMに書き込む。ROMライター200によってプログラムが書き込まれたROMは、携帯端末300へ組み込まれる。
1.3 メモリカード400
メモリカード400は、図4に示すように、制御部401、入出力部402、認証部403及び情報記憶部404から構成される。
(1)入出力部402
入出力部402は、メモリカード400が他の機器に接続された場合に、他の機器と制御部401との間でデータの入出力を行う。
(2)情報記憶部404
また、情報記憶部404は、データ領域410とセキュア領域420とを含む。
セキュア領域420は、タイトル鍵421を記憶しており、認証部403との相互認証に成功した機器のみが読み出すことが出来る。
(3)認証部403
認証部403は、携帯端末300とCPRM(Content Protection for Recordable Media)の仕組みに基づいて相互認証を行い、認証に成功した場合に、認証した機器と鍵を共有する。共有した鍵を制御部401へ出力する。なお、CPRMについては、公知であるので説明を省略する。また、他の認証方法に従って認証するとしても良い。
(4)制御部401
制御部401は、入出力部402を介して他の機器と情報の入出力を行う。セキュア領域420に記憶されているデータは、認証部403による認証に成功した機器にのみアクセスを許可する。なお、セキュア領域420に記憶されているデータを出力する場合には、認証部403による認証で生成した共有鍵を用いて暗号化して出力する。
1.4 携帯端末300
携帯端末300は、図5に示すように、CPU301、デバッガインターフェース302、デバッガ無効化回路303、割り込みコントローラ304、メモリ305、メモリカードインターフェース306、入力部307、表示部308、スピーカ309、デコーダ310、マイク312、変換部313、無線制御部314、無線部315及びアンテナ316から構成され、これらがバス317によって接続されており、割込コントローラ304からCPU301へは割込線318が接続されている。
(1)デバッガ無効化回路303、デバッガインターフェース302
デバッガ無効化回路303は、CPU301とデバッガインターフェース302との間に設けられ、CPU301とデバッガインターフェース302とを接続又は切断することができる。
CPU301とデバッガインターフェース302とが接続されているときは、デバッガインターフェース302の外部に接続されるデバッガが有効であり、CPU301とデバッガインターフェース302とが切断されているときは、デバッガインターフェース302の外部に接続されるデバッガが無効である。具体例として、デバッガ無効化回路303は、スイッチにより実現される。なお、スイッチ回路のように物理的に接続を切るとしても良いし、電気的に切断するとしても良い。
(2)メモリ305
メモリ305は、図6に示す、第1セキュア処理プログラム501、第2セキュア処理プログラム502、ベクタテーブル503、音楽再生プログラム504及びアプリケーション505を記憶している。
第2セキュア処理プログラム502は、前述の認証局装置100によって生成されROMに記録されたプログラムであり、図7に示す各プログラムによって構成される。
以下、各プログラムについて説明する。
(領域確保プログラム511)
領域確保プログラム511は、認証通信プログラム523及び暗号化音楽データ復号プログラム524の実行中に使用する動的メモリを確保するためのメモリ領域を確保する。
割込禁止プログラム512は、割り込みをマスクすることにより、割り込みの処理を禁止する。
(呼出プログラム513)
呼出プログラム513は、第1セキュア処理プログラム501を呼び出して起動する。
改竄検出値541は、認証局装置100によって、第2セキュア処理プログラム502のTRS領域の範囲に対して算出されたハッシュ値である。
バイナリサイズ543は、ハッシュ値算出の対象となるデータのバイナリサイズを示す。
暗号化鍵544は、認証局装置100の鍵暗号化部103によって、マスタ鍵を用いてプログラム鍵を暗号化して生成されたものである。
鍵受信プログラム514は、第1セキュア処理プログラム501から送信されるプログラム鍵を受信し、復号プログラム516へ送信する。
(実行フラグ515)
実行フラグ515は、セキュアプログラムが実行中であるか否かを示す。復号プログラム516が暗号化プログラム517を復号する前に、セキュアプログラムを実行中であることを示す「ON」の状態にし、セキュアプログラムの実行が終了するときに「OFF」の状態にする。
復号プログラム516は、鍵受信プログラム514からプログラム鍵を受け取り、プログラム鍵を用いて暗号化プログラム517に復号アルゴリズムD1を施して復号し、セキュアプログラムを生成する。
ここで、暗号化プログラムの復号には、WO04/013744 (2004.02.12)で公開されている技術を用いる。この技術は、暗号化プログラムを少しずつメモリにロードして実行していく。そのため、復号後のプログラム全体がメモリ上に存在するわけではないので、外部からメモリ内のデータを不正に読み込まれてもプログラムを解析されない。
暗号化プログラム517は、セキュアプログラムが暗号化されて生成されたものである。セキュアプログラムは、図7に示す割込禁止解除プログラム521、領域初期化プログラム522、認証通信プログラム523、暗号化音楽データ復号プログラム524、領域鍵525、領域暗号化プログラム526、領域復号プログラム527及び領域終了処理プログラム528から構成される。割込禁止解除プログラム521、領域初期化プログラム522、認証通信プログラム523、領域鍵525、領域暗号化プログラム526、領域復号プログラム527及び領域終了処理プログラム528は、暗号化音楽データ復号プログラム524を他のプログラムから保護する。
割込禁止解除プログラム521は、上記割込禁止プログラム512で行った割込禁止を解除する。
(b)領域初期化プログラム522
領域初期化プログラム522は、上記領域確保プログラム511によって確保されたメモリ領域を初期化し、暗号化対象となる記憶領域を確保する。
(b)認証通信プログラム523
認証通信プログラム523は、認証鍵531を保持する。
認証通信プログラム523は、第1セキュア処理プログラム501が正当なプログラムであるか否かの片方向認証を行う。
暗号化音楽データ復号プログラム524は、メモリカード400に記録されている暗号化音楽データ411に対して、タイトル鍵を用い、復号アルゴリズムD1を施して復号し、音楽データを生成する。なお、復号アルゴリズムD1は、暗号化アルゴリズムE1の逆の処理を行うアルゴリズムである。
領域鍵525は、下記領域暗号化プログラム526において、記憶領域内のデータを暗号化する際、及び、暗号化されたデータを領域復号プログラム527において復号する際に用いられる。
(e)領域暗号化プログラム526
領域暗号化プログラム526は、領域鍵525を用いて、上記記憶領域内のデータに暗号化アルゴリズムE2を施して暗号化する。なお、暗号化アルゴリズムE2は、暗号化アルゴリズムE1よりも高速に処理を行うことが出来るアルゴリズムであり、一例としてXOR演算である。なお、暗号化アルゴリズムE2は、XOR演算に限定されず、他の暗号化アルゴリズムを用いても良く、要求されるセキュリティ強度やCPUの処理能力によって決定される。
(f)領域復号プログラム527
領域復号プログラム527は、第1セキュア処理プログラム501から第2セキュア処理プログラム502に制御が戻ると、記憶領域内の暗号化されているデータに復号アルゴリズムD2を施して復号し、平文のデータに戻す。
領域終了処理プログラム528は、領域初期化プログラム522で確保した記憶領域を開放し、第1セキュア処理プログラム501の終了関数を呼び出し、音楽データ再生処理を終了する。
(割込ハンドラ518)
割込ハンドラ518は、第2セキュア処理プログラム502の実行中に割り込みが発生した場合に実行される。割込ハンドラ518は、図示していない暗号復号鍵を保持する。
実行フラグ515を読み込む(ステップS611)。次に、読み込んだ実行フラグ515が「ON」を示すか「OFF」を示すかを判断し(ステップS612)、「ON」を示す場合(ステップS612でON)、暗号復号鍵を用い 、記憶領域内のデータに暗号化アルゴリズムE2を施して暗号化する(ステップS613)。その後、割り込み処理へ移る。また、読み込んだ実行フラグが「OFF」を示す場合(ステップS612でOFF)、記憶領域内のデータの暗号化は行わずに、割り込み処理へ移る。
(B)第1セキュア処理プログラム501
第1セキュア処理プログラム501は、図10に示すように、回路切断プログラム551、改竄検出プログラム552、鍵復号プログラム553、鍵送信プログラム554及び認証通信プログラム555、データ読出プログラム556及び回路接続プログラム557から構成され、CPU301のセキュア処理モードにて実行される。セキュア処理モードについては後述する。
第1セキュア処理プログラム501が起動されると、回路切断プログラム551は、デバッガ無効化回路303へ「無効」を示すデバッガ制御信号を出力する。
(改竄検出プログラム552)
改竄検出プログラム552は、秘密鍵562を含み、第2セキュア処理プログラム502の改竄検出を行う。改竄検出プログラム552は、第2セキュア処理プログラム502から改竄検出データを取得する。
鍵復号プログラム553は、マスタ鍵563を含む。鍵復号プログラム553は、改竄検出プログラム552によって、第2セキュア処理プログラム502の改竄が検出されなかった場合、マスタ鍵563を用いて暗号化鍵544に復号アルゴリズムD1を施して復号し、プログラム鍵を生成する。生成したプログラム鍵を、鍵送信プログラム554へ送信する。
鍵送信プログラム554は、鍵復号プログラム553からプログラム鍵を受信し、第2セキュア処理プログラム502へ送信する。
(認証通信プログラム555)
認証通信プログラム555は、認証鍵565を含み、認証鍵565を用いて第2セキュア処理プログラム502と認証を行う。また、認証に成功した場合、セッション鍵を共有する。以降、第2セキュア処理プログラム502とデータの送受信を行う場合には、セッション鍵を用いて暗号通信を行う。
データ読出プログラム556は、メモリカード400との間でCPRMの方法に従って相互認証を行い、認証に成功した場合に、メモリカード400のセキュア領域420にアクセスしてタイトル鍵421を取得する。
(回路接続プログラム557)
回路接続プログラム557は、デバッガ無効化回路303へ「有効」を示すデバッガ制御信号を出力する。
ベクタテーブル503は、図11に示すように、ソフトウェア割り込み、例外、ハードウェア割り込み発生時の処理先が記述されている。
(D)音楽再生プログラム504
音楽再生プログラム504は、第2セキュア処理プログラム502によって復号された音楽データを再生処理を行うプログラムであり、再生する音楽データをバッファ311に送る。
アプリケーション505は、ユーザの操作による入力を受け付ける。また、入力に従い、第2セキュア処理プログラム502を起動する。
(3)CPU301
CPU301は、メモリ305に記憶しているプログラムに従って動作する。また、デバッガインターフェース302を介して接続されるデバッガの指示によって動作を制御する。CPU301は、図12に示すように、メモリ305に記憶しているプログラムの命令をフェッチし(ステップS601)、読み出した命令を解釈し(ステップS602)、実行する(ステップS603)。また、プログラムカウンタのアドレスを進めて(ステップS604)、次の命令をフェッチし、処理を繰り返す。
CPU301は、セキュア処理モードで第1セキュア処理プログラム501を実行し、通常モードで第2セキュア処理プログラム502を実行する。
(4)入力部307
入力部307は、ユーザによる外部からの入力を受け付ける。
入力部307は、外部からの入力を受け付けると、割込みコントローラ304へ割り込みの発生を通知する。
(5)割り込みコントローラ304
割り込みコントローラ304は、入力部307又は無線制御部314から、メール受信や着信、ユーザによる操作などの割り込みの発生を通知されると、割込線318により、CPU301へ割り込み信号を出力する。
(6)スピーカ309、デコーダ310
デコーダ310は、バッファ311を含み、バッファ311は、CPU301から受け取る音声データをバッファし、スピーカ309は、バッファ311に記憶されている音声データから音声信号を生成して出力する。
(7)メモリカードインターフェース306
メモリカードインターフェース306は、携帯端末300とメモリカード400とを接続するためのインターフェースであり、CPU301の制御の下、メモリカード400へデータを出力し、メモリカード400からデータを受け取ると、CPU301へ出力する。
(8)無線制御部314、無線部315、アンテナ316
アンテナ316、無線部315及び無線制御部314は、無線基地局及び携帯電話網を介して、接続された相手の装置との間で、音声又は情報の送受信を行う。
(9)マイク312、変換部313
変換部313は、マイク312から受け取る音声を電気信号に変換し、無線制御部314へ出力する。
2. セキュア処理システムの動作
2.1 認証局装置100の動作
コンパイラ101は、呼出プログラムソースコード及び保護プログラムソースコードの入力を受け付けると、コンパイルして呼出プログラムバイナリデータ及び保護プログラムバイナリデータを生成し、生成したバイナリデータをデータ埋込部105へ出力する。また、復号プログラムソースコード及びセキュアプログラムソースコードの入力を受け付け、コンパイルして各プログラムのバイナリデータを生成し、生成したバイナリデータをプログラム暗号化部102へ出力する。
鍵暗号化部103は、プログラム鍵及びマスタ鍵の入力を受け付けると、マスタ鍵を用いてプログラム鍵を暗号化し、暗号化鍵を生成する。生成した暗号化鍵をデータ埋込部105へ出力する。
2.2 携帯端末300における音楽データ再生処理の動作
(1)携帯端末300がメモリカード400に記録されている音楽データを再生する際の動作について、図13〜図17を参照して説明する。
第2セキュア処理プログラム502は、領域確保プログラム511を実行することによって、TRS領域プログラムを実行中に動的にメモリ確保を行うための仮想メモリ空間の確保を行う(ステップS702)。また、割込禁止プログラム512を実行して割り込みを禁止し、割り込みを用いたプログラムの解析行為を無効とする(ステップS703)。以降、割込禁止を解除するまで割り込みをマスクする。次に、呼出プログラム513を実行し、改竄検出データを送信して第1セキュア処理プログラム501を呼び出す(ステップS704)。
改竄検出プログラム552は、ステップS705で受信したTRS領域先頭アドレスが示す位置から、バイナリサイズが示す範囲のデータをハッシュ値算出の対象データとして読み出す。また、秘密鍵を用いて、取り出した対象データに対するハッシュ値を算出する(ステップS709)。
まず、割込禁止解除プログラム521を実行する。割込禁止解除プログラム521は、ステップS703で行った割込禁止を解除する(ステップS718)。以降、割り込みが発生した場合は、セキュアプログラムを中断して割り込み処理を実行することになる。割り込みが発生した場合の処理については後述する。
第2セキュア処理プログラム502は、認証通信プログラム523を実行し、後述の処理を行って第1セキュア処理プログラム501を認証する(ステップS720)。また、第1セキュア処理プログラム501は、認証通信プログラム555を実行して認証を受ける。第2セキュア処理プログラム502は、認証に失敗した場合、以降の処理を抑制する。認証に失敗した場合、第1セキュア処理プログラム501は、デバッガ無効化回路303へ「有効」を示すデバッガ制御信号を出力して(ステップS737)処理を終了する。
第2セキュア処理プログラム502は、認証に成功した場合に、音楽再生プログラムへ制御を移す。
第2セキュア処理プログラム502は、暗号化音楽データ411の復号を要求されると、領域暗号化プログラム526を実行する。領域暗号化プログラム526は、ステップS719で確保した記憶領域内のデータを、領域鍵525を用いて暗号化する(ステップS723)。記憶領域が暗号化されると、第2セキュア処理プログラム502は、第1セキュア処理プログラム501に、タイトル鍵の取得を要求する(ステップS724)。
第2セキュア処理プログラム502は、領域復号プログラム527を実行する。領域復号プログラム527は、領域鍵525を用いて暗号化された記憶領域を復号し、元の状態に戻す(ステップS729)。また、認証通信プログラム523は、第1セキュア処理プログラム501から受信した暗号化タイトル鍵を、セッション鍵を用いて復号し、タイトル鍵を得る(ステップS730)。次に、第2セキュア処理プログラム502は、暗号化音楽データ復号プログラム524を実行する。暗号化音楽データ復号プログラム524は、タイトル鍵を用いて、音楽再生プログラムがメモリカード400から読み出した暗号化音楽データ411を復号し(ステップS731)、音楽データを生成する。生成した音楽データは、音楽再生プログラムへ送信する。
音楽データの再生が終了すると(ステップS733)、第2セキュア処理プログラム502に制御を移し、第2セキュア処理プログラム502は、領域終了処理プログラム528を実行する。領域終了処理プログラム528は、ステップS719で確保した記憶領域を開放し(ステップS734)、第1セキュア処理プログラム501の終了関数を呼び出す(ステップS735)。また、実行フラグを「OFF」にする(ステップS736)。
(2)認証
上述のステップS720で第2セキュア処理プログラム502が第1セキュア処理プログラム501を認証する際の処理について、図18を参照して説明する。
第1セキュア処理プログラム501は、乱数R0を受信し、認証鍵565を用いて受信した乱数R0を暗号化し、認証値R1を生成する(ステップS752)。生成した認証値R1を第2セキュア処理プログラム502へ送信する(ステップS753)。
このようにして、第2セキュア処理プログラム502は第1セキュア処理プログラム501を認証し、認証に成功した場合にはセッション鍵を共有する。以降、第2セキュア処理プログラム502と第1セキュア処理プログラム501との間でデータの送受信を行う場合は、このセッション鍵を用いて暗号化して通信する。
(3)割り込み
割り込みがあった場合のCPU301の動作について、図19を参照して説明する。なお、ここではメールを受信した場合を一例として説明する。
まず、実行フラグを読み込み(ステップS774)、「ON」であるか「OFF」であるかを判断する(ステップS775)。「ON」の場合(ステップS775でON)、領域鍵525を用いて記憶領域内のデータを暗号化する(ステップS776)。また、コンテキストを退避し(ステップS777)、メール受信の処理を行う(ステップS778)。実行フラグが「OFF」である場合は(ステップS775でOFF)、記憶領域内の暗号化を行わずに、ステップS777、778の処理を行う。
3.その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本実施の形態では、携帯端末で実行される暗号化音楽データ復号プログラムを保護する場合を一例として説明したが、本発明がこれに限定されないのは勿論である。
また、保護対象となるプログラムは、携帯端末で映像コンテンツやゲームなどを実行する際に利用する復号プログラムであっても良いし、DVDレコーダでコンテンツを記録する際に利用する記録プログラムであっても良く、不正な解析、改竄を防止したいプログラムであれば良い。
(2)本実施の形態では、改竄検出値としてハッシュ値を用いるとしたが、改竄検出値は、TRS領域プログラムに対して一意に定まる値であれば良く、TRS領域プログラムに対するディジタル署名であっても良いし、TRS領域プログラムを暗号化して生成される暗号化データを改竄検出値として用いるとしても良い。また、ハッシュ値の算出は他のアルゴリズムを利用するとしても良い。
また、第2セキュア処理プログラム又はTRS領域プログラムの一部若しくは全部を対象としたマッチングや、擬似乱数の埋め込みによる改竄の検出などでも良く、実行するプログラムが生成時と同一であるか否かを検出可能な方法であれば、他の改竄検出方法を用いても良い。
(3)改竄検出データは、第2セキュア処理プログラムの呼出プログラムが第1セキュア処理プログラム501に送信するとしたが、第2セキュア処理プログラムとは別のプログラムが送信するとしても良い。この場合、呼出プログラムは、第1セキュア処理プログラム501の呼び出しのみを行い、改竄検出データの送信処理を行う送信プログラムがメモリ305に記憶されており、第1セキュア処理プログラム501は、第2セキュア処理プログラムに呼び出されて起動すると、送信プログラムに改竄検出データの送信を要求する。送信プログラムは、要求に応じて改竄検出データを送信する。
また、第1セキュア処理プログラム501が第2セキュア処理プログラムの改竄検出データを予め保持しているとしても良い。
(4)本実施の形態では、第2セキュア処理プログラムが第1セキュア処理プログラム501の認証を行う片方向認証としたが、双方向に認証を行うとしても良い。また、チャレンジ・レスポンス型の認証を行うとしたが、これに限定されず、通信相手の正当性を認証可能であれば他の認証方法を利用するとしても良い。
また、乱数R0と認証鍵とから、一方向性関数を用いてセッション鍵を生成するとしたが、暗号化方式を用いて生成するとしても良い。
(5)領域暗号化プログラム526は、第2セキュア処理プログラムから第1セキュア処理プログラム501を呼び出す場合に、記憶領域を暗号化するとしたが、第2セキュア処理プログラムから外部関数を呼び出す場合など、第2セキュア処理プログラム以外のプログラムに制御が移る場合に、記憶領域を暗号化して、記憶領域内のデータを保護する。
(6)マスタ鍵は、保護対象となるプログラムを実行する装置毎に固有であるとしても良い。この場合、不正なユーザにマスタ鍵を奪われたとしても、鍵を奪われた装置以外は、他の鍵を用いて暗号化されている為、不正なマスタ鍵を用いても他の装置は正常に動作しない。よって、不正に行為による被害を少なくすることが出来る。
(7)認証鍵は、第1セキュア処理プログラム501及び第2セキュア処理プログラムが保持する構成としたが、プログラム鍵や改竄検出値に基づいて算出されるものであっても良い。
このように、認証に利用する鍵と暗号化プログラムの復号に用いる鍵とが依存関係にあれば、何れの鍵を暗号化するとしても良い。また、暗号化された鍵を更に他の鍵を用いて暗号化するなど、更に多くの鍵を用いて暗号化の階層を深くしても良い。
(8)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
100 認証局装置
101 コンパイラ
102 プログラム暗号化部
103 鍵暗号化部
104 ハッシュ値算出部
105 データ埋込部
200 ROMライター
300 携帯端末
303 デバッガ無効化回路
304 割込コントローラ
305 メモリ
306 メモリカードインターフェース
317 バス
318 割込線
400 メモリカード
421 タイトル鍵
501 セキュア処理プログラム
502 セキュア処理プログラム
Claims (12)
- 暗号デジタルコンテンツ再生装置であって、
第1のセキュリティレベルにおける動作状態を示す第1モードと、前記第1のセキュリティレベルより低い第2のセキュリティレベルにおける動作状態を示す第2モードとを切替えながら、プログラムを実行するプログラム実行手段と、
前記第1モードで実行中は、外部装置から前記プログラム実行手段を切り離す外部接続無効化手段とを備え、
第1セキュアプログラムは、前記第1のセキュリティレベルにおける動作状態を示す第1モードで実行され、
第2セキュアプログラムは、前記第1セキュアプログラムとは異なるセキュアプログラムであって、前記第1のセキュリティレベルより低い前記第2のセキュリティレベルで実行され、
アプリケーションプログラムは、ユーザのデジタルコンテンツ再生指示に応じて、前記第2セキュアプログラムを起動し、前記第1セキュアプログラムは、前記第2セキュアプログラムの指示に応じて、暗号デジタルコンテンツを復号するためのコンテンツ鍵を取得し、前記取得は、前記外部接続無効化手段によって、外部装置からの接続を切り離した後に行われ、
前記第2セキュアプログラムは、バッファを用いながら、デジタルコンテンツの再生を行わせる
ことを特徴とする暗号デジタルコンテンツ再生装置。 - 前記第1セキュアプログラムは、前記第2セキュアプログラムで用いられる秘密情報を保持しており、
前記プログラム実行手段は、前記第1セキュアプログラムに従い動作することにより、前記第2セキュアプログラムとの間で相互認証を行い、セッション鍵を共有し、前記セッション鍵を用いて、前記秘密情報を暗号化し、暗号化した前記秘密情報を前記第2セキュアプログラムへ送る
ことを特徴とする請求項1に記載の暗号デジタルコンテンツ再生装置。 - 前記第1セキュアプログラムが保持する前記秘密情報は、外部記録媒体のセキュアな領域から取得した鍵情報である
ことを特徴とする請求項2に記載の暗号デジタルコンテンツ再生装置。 - 前記プログラム実行手段は、前記第1セキュアプログラムに従い動作することにより、前記第2セキュアプログラムの少なくとも一部を対象として、秘密鍵を用いてハッシュ演算を行い、第1改竄検出値を取得し、前記第2セキュアプログラムが生成されたときに前記第2セキュアプログラムの少なくとも一部に基づいて算出された第2改竄検出値と、前記第1改竄検出値とを比較し、前記比較の結果、一致しない場合は動作を終了し、一致する場合は動作を継続する
ことを特徴とする請求項2に記載の暗号デジタルコンテンツ再生装置。 - 前記第2セキュアプログラムは、前記第1セキュアプログラムを呼び出す呼出命令を含み、
前記プログラム実行手段は、前記呼出命令を実行することにより、前記第2改竄検出値、当該第2セキュアプログラムの先頭アドレス、及び当該第2セキュアプログラムのサイズを、前記第1セキュアプログラムに送る
ことを特徴とする請求項4に記載の暗号デジタルコンテンツ再生装置。 - 前記プログラム実行手段は、前記第2セキュアプログラムに含まれる前記呼出命令を実行することにより、暗号化されたプログラム鍵を前記第1セキュアプログラムへ送り、前記第1セキュアプログラムを実行することにより、前記第2セキュアプログラムの改竄が検出されない場合には、前記第2セキュアプログラムから受け取った前記暗号化されたプログラム鍵を、当該第1セキュアプログラムに含まれるマスタ鍵で復号し、復号したプログラム鍵を、前記第2セキュアプログラムへ送り、前記第2セキュアプログラムを実行することにより、前記第1セキュアプログラムから取得したプログラム鍵を用いて、当該第2セキュアプログラムの暗号化部分を復号し、前記プログラム鍵を消去し、
前記暗号デジタルコンテンツ再生装置は、さらに、
前記プログラム実行手段により前記呼出命令が実行される前に、前記プログラム実行手段が割込み処理を行うことを禁止し、前記プログラム実行手段により前記プログラム鍵が消去されたのち、前記プログラム実行手段が割込み処理を行うことを許可する保護手段を備える
ことを特徴とする請求項5に記載の暗号デジタルコンテンツ再生装置。 - 前記暗号デジタルコンテンツ再生装置は、更に、
割込みの発生を検出する割込検出手段を備え、
前記保護手段は、前記プログラム実行手段が前記第2セキュアプログラムに従い動作しているときにデータを書き込む記憶領域を備え、
前記プログラム実行手段が前記第2セキュアプログラムに従い動作しているときに前記割込検出手段が割込みを検出すると前記記憶領域に書き込んだデータを暗号化し、前記プログラム実行手段による割込み処理が終了すると、前記プログラム実行手段が、前記第2セキュアプログラムの実行に戻る前に、暗号化した前記データを復号する
ことを特徴とする請求項6に記載の暗号デジタルコンテンツ再生装置。 - 前記第1セキュアプログラムは、前記第2セキュアプログラムの実行に必要な情報である実行用情報を前記第2セキュアプログラムへ送る
ことを特徴とする請求項1に記載の暗号デジタルコンテンツ再生装置。 - 前記第2セキュアプログラムの少なくとも一部は暗号化されており、
前記第1セキュアプログラムが保持する前記実行用情報は、前記第2セキュアプログラムの暗号部分の復号に用いられるプログラム鍵であり、
前記プログラム実行手段は、前記第1セキュアプログラムを実行することにより、前記プログラム鍵を前記第2セキュアプログラムへ送り、前記第2セキュアプログラムを実行することにより、前記第1セキュアプログラムから取得したプログラム鍵を用いて、当該第2セキュアプログラムの暗号化部分を復号して実行する
ことを特徴とする請求項8に記載の暗号デジタルコンテンツ再生装置。 - 暗号デジタルコンテンツ再生装置で用いられるセキュアプログラムであって、
前記セキュアプログラムは、第1のセキュリティレベルで実行され他のプログラムに対する改竄の有無を確認する第1セキュアプログラムと、前記第1のセキュリティレベルより低い第2のセキュリティレベルで実行される第2セキュアプログラムとを含み、
前記第1セキュアプログラムと前記第2セキュアプログラムとは、連携しながら1つのアプリケーションプログラムとして動作し、
前記暗号デジタルコンテンツ再生装置は、
前記第1のセキュリティレベルにおける動作状態を示す第1モードと、前記第2のセキュリティレベルにおける動作状態を示す第2モードとを切替えながら、前記第1モードにおいて前記第1セキュアプログラムを実行し、前記第2モードにおいて前記第2セキュアプログラムを実行するプログラム実行手段と、
前記第1セキュアプログラムを実行する場合に、外部装置から前記プログラム実行手段を切り離す外部接続無効化手段とを備えており、
前記セキュアプログラムは、
前記第1セキュアプログラムにより、前記外部接続無効化手段に対し、外部装置から前記プログラム実行手段を切り離すよう指示するステップと、
前記外部装置から前記プログラム実行手段が切り離された後に、前記第1セキュアプログラムにより、前記第2セキュアプログラムに対する改竄の有無を確認するステップと、
前記改竄の有無の確認の結果、改竄が無いと確認された場合のみ前記第2セキュアプログラムの一部を実行するステップとを前記プログラム実行手段に実行させる
ことを特徴とするセキュアプログラム。 - 暗号デジタルコンテンツ再生装置で用いられるセキュアプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記セキュアプログラムは、
第1のセキュリティレベルで実行され他のプログラムに対する改竄の有無を確認する第1セキュアプログラムと、前記第1のセキュリティレベルより低い第2のセキュリティレベルで実行される第2セキュアプログラムとを含み、
前記第1セキュアプログラムと前記第2セキュアプログラムとは、連携しながら1つのアプリケーションプログラムとして動作し、
前記暗号デジタルコンテンツ再生装置は、
前記第1のセキュリティレベルにおける動作状態を示す第1モードと、前記第2のセキュリティレベルにおける動作状態を示す第2モードとを切替えながら、前記第1モードにおいて前記第1セキュアプログラムを実行し、前記第2モードにおいて前記第2セキュアプログラムを実行するプログラム実行手段と、
前記第1セキュアプログラムによる指示に従い、外部装置から前記プログラム実行手段を切り離す外部接続無効化手段とを備えており、
前記セキュアプログラムは、
前記第1セキュアプログラムにより、前記外部接続無効化手段に対し、外部装置から前記プログラム実行手段を切り離すよう指示するステップと、
前記外部装置から前記プログラム実行手段が切り離された後に、前記第1セキュアプログラムにより、前記第2セキュアプログラムに対する改竄の有無を確認するステップと、
前記改竄の有無の確認の結果、改竄が無いと確認された場合のみ前記第2セキュアプログラムの一部を実行するステップとを前記プログラム実行手段に実行させる
ことを特徴とする記録媒体。 - セキュアプログラムを実行する暗号デジタルコンテンツ再生装置で用いられるプログラム実行方法であって、
前記セキュアプログラムは、
第1のセキュリティレベルで実行され他のプログラムに対する改竄の有無を確認する第1セキュアプログラムと、前記第1のセキュリティレベルより低い第2のセキュリティレベルで実行される第2セキュアプログラムとを含み、
前記第1セキュアプログラムと前記第2セキュアプログラムとは、連携しながら1つのアプリケーションプログラムとして動作し、
前記暗号デジタルコンテンツ再生装置は、
前記第1のセキュリティレベルにおける動作状態を示す第1モードと、前記第2のセキュリティレベルにおける動作状態を示す第2モードとを切替えながら、前記第1モードにおいて前記第1セキュアプログラムを実行し、前記第2モードにおいて前記第2セキュアプログラムを実行するプログラム実行手段と、
前記第1セキュアプログラムによる指示に従い、外部装置から前記プログラム実行手段を切り離す外部接続無効化手段とを備えており、
前記プログラム実行方法は、
前記第1セキュアプログラムにより、前記外部接続無効化手段に対し、外部装置から前記プログラム実行手段を切り離すよう指示するステップと、
前記外部装置から前記プログラム実行手段が切り離された後に、前記第1セキュアプログラムにより、前記第2セキュアプログラムに対する改竄の有無を確認するステップと、
前記改竄の有無の確認の結果、改竄が無いと確認された場合のみ前記第2セキュアプログラムの一部を実行するステップとを含む
ことを特徴とするプログラム実行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011175859A JP5291159B2 (ja) | 2003-08-26 | 2011-08-11 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003301554 | 2003-08-26 | ||
JP2003301554 | 2003-08-26 | ||
JP2011175859A JP5291159B2 (ja) | 2003-08-26 | 2011-08-11 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009025043A Division JP4892018B2 (ja) | 2003-08-26 | 2009-02-05 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011253558A JP2011253558A (ja) | 2011-12-15 |
JP5291159B2 true JP5291159B2 (ja) | 2013-09-18 |
Family
ID=34213903
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009025043A Expired - Lifetime JP4892018B2 (ja) | 2003-08-26 | 2009-02-05 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
JP2011175859A Expired - Lifetime JP5291159B2 (ja) | 2003-08-26 | 2011-08-11 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009025043A Expired - Lifetime JP4892018B2 (ja) | 2003-08-26 | 2009-02-05 | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
Country Status (6)
Country | Link |
---|---|
US (13) | US7533276B2 (ja) |
EP (3) | EP3798874A1 (ja) |
JP (2) | JP4892018B2 (ja) |
KR (1) | KR101059257B1 (ja) |
CN (2) | CN1871568B (ja) |
WO (1) | WO2005020043A2 (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1871568B (zh) | 2003-08-26 | 2010-04-28 | 松下电器产业株式会社 | 程序执行设备 |
KR101037006B1 (ko) * | 2003-11-28 | 2011-05-25 | 파나소닉 주식회사 | 데이터 처리장치 |
US8683426B2 (en) | 2005-06-28 | 2014-03-25 | The Mathworks, Inc. | Systems and methods for modeling execution behavior |
US8793602B2 (en) | 2004-01-15 | 2014-07-29 | The Mathworks, Inc. | System and method for scheduling the execution of model components using model events |
US7395385B2 (en) * | 2005-02-12 | 2008-07-01 | Broadcom Corporation | Memory management for a mobile multimedia processor |
US20060184803A1 (en) * | 2005-02-12 | 2006-08-17 | Rainer Ulrich | Method and system for digital rights management in a mobile multimedia processor |
US20060182129A1 (en) * | 2005-02-16 | 2006-08-17 | Mutch Karl N | Distributed markup and processing apparatus and method |
CN100424611C (zh) * | 2005-07-28 | 2008-10-08 | 国际商业机器公司 | 用于处理加密软件的方法和中央处理单元 |
JP4631658B2 (ja) * | 2005-11-09 | 2011-02-16 | ソニー株式会社 | デジタル放送受信システム及びデジタル放送受信装置 |
JP2007215162A (ja) * | 2006-01-11 | 2007-08-23 | Canon Inc | 情報処理装置及びその制御方法、プログラム、記憶媒体 |
TWI330795B (en) * | 2006-11-17 | 2010-09-21 | Via Tech Inc | Playing systems and methods with integrated music, lyrics and song information |
US7882365B2 (en) * | 2006-12-22 | 2011-02-01 | Spansion Llc | Systems and methods for distinguishing between actual data and erased/blank memory with regard to encrypted data |
US20080229115A1 (en) * | 2007-03-16 | 2008-09-18 | Microsoft Corporation | Provision of functionality via obfuscated software |
US8571211B2 (en) * | 2007-05-14 | 2013-10-29 | Samsung Electronics Co., Ltd | Method and apparatus for generating security key in a mobile communication system |
US20110044451A1 (en) * | 2007-07-25 | 2011-02-24 | Panasonic Corporation | Information processing apparatus and falsification verification method |
EP2240857A4 (en) * | 2007-12-21 | 2013-12-25 | Univ Virginia Patent Found | SYSTEM, METHOD AND COMPUTER PROGRAM FOR PROTECTING SOFTWARE THROUGH ANTI-FALSIFICATION AND OBSCURING TRANSFORMATIONS |
US20090172420A1 (en) * | 2007-12-31 | 2009-07-02 | Kabushiki Kaisha Toshiba | Tamper resistant method and apparatus for a storage device |
CN101990662B (zh) * | 2008-03-14 | 2014-07-02 | 松下电器产业株式会社 | 程序执行装置以及其控制方法 |
CN101686124B (zh) * | 2008-09-23 | 2016-11-09 | Vixs系统公司 | 保护加密信号的安全模块及与之结合使用的系统和方法 |
US8677329B2 (en) * | 2009-06-03 | 2014-03-18 | Apple Inc. | Methods and apparatuses for a compiler server |
US9117071B2 (en) | 2009-06-03 | 2015-08-25 | Apple Inc. | Methods and apparatuses for secure compilation |
US8281154B2 (en) * | 2009-07-23 | 2012-10-02 | International Business Machines Corporation | Encrypting data in volatile memory |
US9135434B2 (en) * | 2010-04-19 | 2015-09-15 | Appcentral, Inc. | System and method for third party creation of applications for mobile appliances |
JP2012084071A (ja) | 2010-10-14 | 2012-04-26 | Toshiba Corp | デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置 |
JP2012173870A (ja) * | 2011-02-18 | 2012-09-10 | Toshiba Corp | 半導体装置及びメモリ保護方法 |
JP5225412B2 (ja) * | 2011-03-03 | 2013-07-03 | 株式会社東芝 | 通信装置および通信方法 |
JP5775738B2 (ja) | 2011-04-28 | 2015-09-09 | 富士通株式会社 | 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
JP5948680B2 (ja) | 2011-09-13 | 2016-07-06 | パナソニックIpマネジメント株式会社 | コンテンツ再生システム、情報処理端末、メディアサーバ、セキュアデバイスおよびサーバ・セキュアデバイス |
JP5275432B2 (ja) | 2011-11-11 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
JP5112555B1 (ja) | 2011-12-02 | 2013-01-09 | 株式会社東芝 | メモリカード、ストレージメディア、及びコントローラ |
JP5100884B1 (ja) | 2011-12-02 | 2012-12-19 | 株式会社東芝 | メモリ装置 |
JP5204290B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、システム、及び装置 |
JP5204291B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、装置、システム |
WO2013101085A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Secure key storage using physically unclonable functions |
JP5275482B2 (ja) | 2012-01-16 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
US9742563B2 (en) * | 2012-09-28 | 2017-08-22 | Intel Corporation | Secure provisioning of secret keys during integrated circuit manufacturing |
US8938792B2 (en) | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
US9201811B2 (en) | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
US8984294B2 (en) | 2013-02-15 | 2015-03-17 | Kabushiki Kaisha Toshiba | System of authenticating an individual memory device via reading data including prohibited data and readable data |
CN104346299B (zh) * | 2013-08-01 | 2018-03-06 | 展讯通信(上海)有限公司 | 一种移动终端更新的控制方法和装置 |
JP6265783B2 (ja) * | 2014-03-06 | 2018-01-24 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
WO2017042702A1 (en) * | 2015-09-07 | 2017-03-16 | Karamba Security | Context-based secure controller operation and malware prevention |
US10475034B2 (en) | 2016-02-12 | 2019-11-12 | Square, Inc. | Physical and logical detections for fraud and tampering |
EP3427518B1 (en) * | 2016-03-10 | 2019-11-27 | Telefonaktiebolaget LM Ericsson (PUBL) | Radio resource control connection establishment |
CN105930721B (zh) * | 2016-04-28 | 2018-11-23 | 北京小米移动软件有限公司 | 一种管理应用程序的方法和装置 |
EP3566164B1 (en) * | 2017-01-03 | 2024-04-10 | Karamba Security Ltd. | Mode-based controller security and malware prevention |
US10169563B2 (en) | 2017-01-27 | 2019-01-01 | International Business Machines Corporation | Encryption authorization dongle having volatile memory |
US11496507B2 (en) * | 2017-03-09 | 2022-11-08 | Nec Corporation | Abnormality detection device, abnormality detection method and abnormality detection program |
JP6463435B1 (ja) * | 2017-10-04 | 2019-02-06 | 三菱電機株式会社 | 制御装置および制御方法 |
JP7000895B2 (ja) * | 2018-02-09 | 2022-01-19 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
US11182794B1 (en) | 2018-03-29 | 2021-11-23 | Square, Inc. | Detecting unauthorized devices using proximity sensor(s) |
US11257072B1 (en) | 2018-03-29 | 2022-02-22 | Square, Inc. | Detecting unauthorized devices |
US11105850B2 (en) * | 2018-05-24 | 2021-08-31 | Seagate Technology Llc | Secure debug system for electronic devices |
US10733291B1 (en) * | 2018-06-11 | 2020-08-04 | Square, Inc. | Bi-directional communication protocol based device security |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
JP3344810B2 (ja) * | 1994-03-02 | 2002-11-18 | 松下電器産業株式会社 | ソフトウェア保護システム |
US20120166807A1 (en) * | 1996-08-12 | 2012-06-28 | Intertrust Technologies Corp. | Systems and Methods Using Cryptography to Protect Secure Computing Environments |
ATE496444T1 (de) * | 1995-06-29 | 2011-02-15 | Igt Reno Nev | Elektronisches casinospielsystem mit verbesserten spielmöglichkeiten, authentifizierung und sicherheit |
US5757914A (en) * | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
JP3627384B2 (ja) | 1996-01-17 | 2005-03-09 | 富士ゼロックス株式会社 | ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法 |
US5944821A (en) * | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6202153B1 (en) * | 1996-11-22 | 2001-03-13 | Voltaire Advanced Data Security Ltd. | Security switching device |
US5969632A (en) * | 1996-11-22 | 1999-10-19 | Diamant; Erez | Information security method and apparatus |
US6523119B2 (en) | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
US6094724A (en) * | 1997-11-26 | 2000-07-25 | Atmel Corporation | Secure memory having anti-wire tapping |
US5991399A (en) | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
WO2000019299A1 (en) | 1998-09-25 | 2000-04-06 | Hughes Electronics Corporation | An apparatus for providing a secure processing environment |
US6374402B1 (en) * | 1998-11-16 | 2002-04-16 | Into Networks, Inc. | Method and apparatus for installation abstraction in a secure content delivery system |
JP3389186B2 (ja) * | 1999-04-27 | 2003-03-24 | 松下電器産業株式会社 | 半導体メモリカード及び読み出し装置 |
JP4395302B2 (ja) | 1999-04-27 | 2010-01-06 | パナソニック株式会社 | 半導体メモリカード及びその制御方法 |
US7143445B1 (en) * | 1999-05-31 | 2006-11-28 | Sony Corporation | Information processing apparatus, information processing method, and program storage medium |
CN1296846C (zh) * | 1999-08-27 | 2007-01-24 | 索尼公司 | 信息发送系统、发送装置和发送方法与信息接收系统、接收装置和接收方法 |
DE19962547A1 (de) * | 1999-12-23 | 2001-09-13 | Pag Parkhaus Ag | Remontierbares Parkhaus |
US6983374B2 (en) * | 2000-02-14 | 2006-01-03 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
US7043641B1 (en) * | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
US6990579B1 (en) * | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
EP1295200A2 (en) * | 2000-06-12 | 2003-03-26 | Koninklijke Philips Electronics N.V. | Data processing method and device for protected execution of instructions |
US7477742B2 (en) * | 2000-07-06 | 2009-01-13 | Fujitsu Limited | Method and apparatus for controlling contents utilization, and a computer product |
ES2180391B1 (es) * | 2000-09-25 | 2003-12-16 | Telesincro S A | Circuito integrado. |
JP4153653B2 (ja) * | 2000-10-31 | 2008-09-24 | 株式会社東芝 | マイクロプロセッサおよびデータ保護方法 |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
JP4074057B2 (ja) | 2000-12-28 | 2008-04-09 | 株式会社東芝 | 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法 |
JP4098478B2 (ja) | 2001-01-31 | 2008-06-11 | 株式会社東芝 | マイクロプロセッサ |
JP2002244757A (ja) * | 2001-02-19 | 2002-08-30 | Sony Corp | 半導体回路 |
SG154320A1 (en) * | 2001-02-16 | 2009-08-28 | Sony Corp | Data processing method and its apparatus |
JP3995894B2 (ja) * | 2001-03-16 | 2007-10-24 | 日本電信電話株式会社 | アプリケーション又はデータ格納メモリを具えた装置の使用可能記憶容量増大方法 |
US20020144138A1 (en) * | 2001-03-29 | 2002-10-03 | Maliszewski Richard L. | Method for maintaining a security perimeter during the handling of digital content |
US20030037237A1 (en) | 2001-04-09 | 2003-02-20 | Jean-Paul Abgrall | Systems and methods for computer device authentication |
US20020157002A1 (en) * | 2001-04-18 | 2002-10-24 | Messerges Thomas S. | System and method for secure and convenient management of digital electronic content |
US6925570B2 (en) * | 2001-05-15 | 2005-08-02 | International Business Machines Corporation | Method and system for setting a secure computer environment |
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
JP3837368B2 (ja) * | 2001-08-08 | 2006-10-25 | 松下電器産業株式会社 | 著作権保護システム、記録機器及び復号機器 |
JP4145118B2 (ja) | 2001-11-26 | 2008-09-03 | 松下電器産業株式会社 | アプリケーション認証システム |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US7063440B2 (en) * | 2002-06-03 | 2006-06-20 | Everbrite, Llc | LED accent lighting units |
DE60314782T2 (de) | 2002-08-01 | 2007-10-31 | Matsushita Electric Industrial Co., Ltd., Kadoma | Vorrichtung zum Generieren eines verschlüsselten Programms |
JP4475894B2 (ja) | 2002-08-01 | 2010-06-09 | パナソニック株式会社 | 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法 |
US7478248B2 (en) * | 2002-11-27 | 2009-01-13 | M-Systems Flash Disk Pioneers, Ltd. | Apparatus and method for securing data on a portable storage device |
CN1871568B (zh) * | 2003-08-26 | 2010-04-28 | 松下电器产业株式会社 | 程序执行设备 |
EP1542180B1 (en) * | 2003-12-12 | 2007-03-21 | Banksys S.A. | Electronic data processing device |
US7360691B2 (en) * | 2004-02-02 | 2008-04-22 | Matsushita Electric Industrial Co., Ltd. | Secure device and mobile terminal which carry out data exchange between card applications |
US7886345B2 (en) * | 2004-07-02 | 2011-02-08 | Emc Corporation | Password-protection module |
US7584366B2 (en) * | 2004-07-08 | 2009-09-01 | At&T Intellectual Property I, L.P. | Methods, systems and computer program products for detecting tampering of electronic equipment based on constrained time to obtain computational result |
JP4391375B2 (ja) * | 2004-09-30 | 2009-12-24 | フェリカネットワークス株式会社 | 情報管理装置および方法、並びにプログラム |
US7509419B2 (en) * | 2005-01-13 | 2009-03-24 | International Business Machines Corporation | Method for providing remote access redirect capability in a channel adapter of a system area network |
WO2007091492A1 (ja) * | 2006-02-06 | 2007-08-16 | Matsushita Electric Industrial Co., Ltd. | セキュア処理装置、方法、プログラム |
US7845005B2 (en) * | 2006-02-07 | 2010-11-30 | International Business Machines Corporation | Method for preventing malicious software installation on an internet-connected computer |
US7519830B2 (en) * | 2006-08-03 | 2009-04-14 | Motorola, Inc. | Secure storage of data |
US20080077767A1 (en) * | 2006-09-27 | 2008-03-27 | Khosravi Hormuzd M | Method and apparatus for secure page swapping in virtual memory systems |
JP4956292B2 (ja) * | 2007-06-25 | 2012-06-20 | パナソニック株式会社 | 情報セキュリティ装置およびカウンタ制御方法 |
JP5152571B2 (ja) | 2008-03-24 | 2013-02-27 | スタンレー電気株式会社 | 車両前照灯 |
EP2068068B1 (en) * | 2007-12-07 | 2013-11-20 | Stanley Electric Co., Ltd. | Vehicle headlamp |
WO2010093071A1 (ko) * | 2009-02-12 | 2010-08-19 | 주식회사 안철수연구소 | 인터넷 사이트 보안 시스템 및 그 방법 |
US8938625B2 (en) * | 2011-06-29 | 2015-01-20 | Sonic Ip, Inc. | Systems and methods for securing cryptographic data using timestamps |
US20130004142A1 (en) * | 2011-06-29 | 2013-01-03 | Rovi Corp. | Systems and methods for device authentication including timestamp validation |
US8695060B2 (en) * | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US20180096143A1 (en) * | 2016-09-30 | 2018-04-05 | Li Xiaoning | Secure change log for drive analysis |
US10855465B2 (en) * | 2016-11-10 | 2020-12-01 | Ernest Brickell | Audited use of a cryptographic key |
US10521613B1 (en) * | 2018-08-08 | 2019-12-31 | Carlos Manuel Gonzalez | Adaptive standalone secure software |
-
2004
- 2004-08-26 CN CN2004800307438A patent/CN1871568B/zh not_active Expired - Lifetime
- 2004-08-26 KR KR1020067003694A patent/KR101059257B1/ko active IP Right Grant
- 2004-08-26 US US10/569,414 patent/US7533276B2/en active Active
- 2004-08-26 EP EP20202968.2A patent/EP3798874A1/en active Pending
- 2004-08-26 CN CN2010101163101A patent/CN101853352B/zh not_active Expired - Lifetime
- 2004-08-26 WO PCT/JP2004/012666 patent/WO2005020043A2/en not_active Application Discontinuation
- 2004-08-26 EP EP15195523.4A patent/EP3043232A1/en not_active Ceased
- 2004-08-26 EP EP04772622.9A patent/EP1680724B1/en not_active Expired - Lifetime
-
2009
- 2009-02-05 JP JP2009025043A patent/JP4892018B2/ja not_active Expired - Lifetime
- 2009-02-06 US US12/367,076 patent/US8181040B2/en active Active
-
2011
- 2011-08-11 JP JP2011175859A patent/JP5291159B2/ja not_active Expired - Lifetime
-
2012
- 2012-04-06 US US13/441,261 patent/US8522053B2/en not_active Expired - Lifetime
-
2013
- 2013-07-26 US US13/952,244 patent/US8874938B2/en not_active Expired - Lifetime
-
2014
- 2014-09-11 US US14/483,450 patent/US9218485B2/en not_active Expired - Lifetime
-
2015
- 2015-11-16 US US14/941,987 patent/US9524404B2/en not_active Expired - Lifetime
-
2016
- 2016-11-10 US US15/348,035 patent/US9811691B2/en not_active Expired - Lifetime
-
2017
- 2017-09-29 US US15/719,850 patent/US10108821B2/en not_active Expired - Lifetime
-
2018
- 2018-04-27 US US15/964,720 patent/US10318768B2/en not_active Expired - Lifetime
-
2019
- 2019-04-24 US US16/393,313 patent/US10607036B2/en not_active Expired - Lifetime
-
2020
- 2020-01-30 US US16/776,869 patent/US10970424B2/en not_active Expired - Lifetime
-
2021
- 2021-03-05 US US17/193,091 patent/US11651113B2/en active Active
-
2023
- 2023-04-07 US US18/131,969 patent/US12019789B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5291159B2 (ja) | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 | |
JP3677001B2 (ja) | データ配信システムおよびそれに用いられる記録装置 | |
JP3759455B2 (ja) | データ再生装置 | |
JP2010267240A (ja) | 記録装置 | |
JP4691337B2 (ja) | プログラム実行装置、認証局装置 | |
JP3837368B2 (ja) | 著作権保護システム、記録機器及び復号機器 | |
JP4529879B2 (ja) | データ記録システム | |
JP2007158559A (ja) | 記録装置及び記録方法 | |
KR20090012979A (ko) | 복사 제어 정보에 따르지 않는 디지털 컨텐트의 사용을방지하는 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130422 |
|
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: 20130514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5291159 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |