JPWO2015045172A1 - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JPWO2015045172A1 JPWO2015045172A1 JP2015538813A JP2015538813A JPWO2015045172A1 JP WO2015045172 A1 JPWO2015045172 A1 JP WO2015045172A1 JP 2015538813 A JP2015538813 A JP 2015538813A JP 2015538813 A JP2015538813 A JP 2015538813A JP WO2015045172 A1 JPWO2015045172 A1 JP WO2015045172A1
- Authority
- JP
- Japan
- Prior art keywords
- processor
- information
- program
- protection unit
- information protection
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title claims description 4
- 230000015654 memory Effects 0.000 claims abstract description 190
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 51
- 238000004364 calculation method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 27
- 238000003780 insertion Methods 0.000 claims 2
- 230000037431 insertion Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000004075 alteration Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/108—Transfer of content, software, digital rights or licenses
- G06F21/1084—Transfer of content, software, digital rights or licenses via third party
-
- 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/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- 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/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/72—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 in cryptographic circuits
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
システムLSI1は、例えば、一つの集積回路であり、通信回路2と、無線処理回路3と、映像処理回路4と、グラフィックス処理回路5と、揮発性メモリ回路6と、不揮発性メモリ回路7と、メインプロセッサ8と、情報保護部9とを有する。システムLSI1が有するこれらの各部は、バス10を介して互いに通信可能に接続されている。このシステムLSI1は、例えば、携帯電話機、携帯情報端末、コンピュータまたはテレビ受信機といった様々な装置に実装可能である。
あるいは、無線処理回路3は、所定の無線通信規格に従って、基地局から受信した無線信号に含まれる各種の情報を取り出したり、システムLSI1が実装された装置から基地局へ送信する無線信号を生成する回路であってもよい。
なお、システムLSI1が有する複数の端子のうちの何れかの端子が、初期化コマンド入力用に、サブプロセッサ18と接続されていてもよい。この場合には、その初期化コマンド入力用の端子を介して初期化コマンドが入力されることにより、情報保護部9は初期化される。
なお、サブプロセッサ18が、サブプロセッサ18上で動作するプログラムに従って、情報の暗号化、復号またはハッシュ値の算出などの処理を行う場合、暗号回路14は省略されてもよい。
先ず、システムLSI1が実装された装置に電源が投入される。このとき、情報保護部9のサブプロセッサ18が、揮発性メモリ回路16または不揮発性メモリ回路17に記憶されているDRMプログラムに従って、通信ネットワークまたは基地局を経由してDRMサーバ(図示せず)に接続する。そして、サブプロセッサ18は、その接続時点でのDRMサーバが供給する信頼性の高い時刻情報を取得する。その際、セキュリティーを向上するために、DRMサーバとシステムLSI1が実装された装置間は、所定の暗号化通信方式などに従って通信が行われてもよい。そしてサブプロセッサ18は、その時刻情報に示された時刻でタイミング回路15を初期化する。初期化以降は、タイミング回路15が、クロック信号の周波数に従って、高信頼タイミング信号を出力することで、システムLSI1が実装された装置とDRMサーバ間の接続を無くす。これにより、通信ネットワークの負荷が軽減される。
・システムLSI1からDRMサーバへの1回目のアクセスによって、情報保護部9がDRMサーバから1回目の時刻情報を受信する。そしてサブプロセッサ18は、その1回目の時刻情報に示された時刻でタイミング回路15を初期化する。ここで、例えば、1回目の時刻情報に示された時刻を表す値が「100」であったとする。この場合、タイミング回路15から出力される高信頼タイミング信号の初期値も<100>に設定される。
・その後、システムLSI1は、DRMサーバに再接続し、2回目の時刻情報を受信する。ここで、2回目の時刻情報に示された時刻を表す値が「120」であったとする。一方、タイミング回路15から出力される高信頼タイミング信号に示された時刻の値は、タイミング回路15の初期化設定時の値から、システムLSI1のクロック周波数ごとにカウントアップされて、2回目の時刻情報受信時に、例えば、<140>になっていたとする。
・サブプロセッサ18は、この2回の時刻情報に基づいて、高信頼タイミング信号を補正できる。この例では、1回目の時刻情報受信時の高信頼タイミング信号の値と2回目の時刻情報受信時の高信頼タイミング信号の値の差は<40>である。一方、実際の経過時間は、1回目と2回目の時刻情報受信時の時刻値の差から「20」である。このことから、DRMサーバのクロック周波数に対する、高信頼タイミング信号のクロック周波数の比は、2(=<40>/「20」)倍であることが分かる。
Ct = C0+(Cc-C0)/r
ここで、C0は、高信頼タイミング信号の初期化値であり、Ccは、現在の高信頼タイミング信号の値である。そしてrは、DRMサーバのクロック周波数に対する、高信頼タイミング信号のクロック周波数の比であり、上記の例では2となる。比rは、例えば、1度算出されると、不揮発性メモリ回路17に記憶される。そのため、1度比rが算出されれば、それ以降、サブプロセッサ18は、不揮発性メモリ回路17を参照して、この比rを読み出せばよいので、比rの算出は、1回だけ実行されればよい。
この場合、エラー状態からの復帰は、例えば、システムLSI1が実装された装置の電源再投入により行われるか、あるいは、情報保護部9の管理サーバ(図示せず)から通信ネットワークを介してエラー状態解除命令を受信することで行われる。
・情報保護部9自身の識別情報。この識別情報は、情報保護部9ごとに一意に設定され、例えば、プログラムのダウンロード時、工場出荷時、あるいは、初期化の時に使用される。
・情報保護部9ごとに一意に設定される、情報保護部9の個別鍵
・情報保護部9内の揮発性メモリ回路16または不揮発性メモリ回路17に、任意のプログラムをダウンロードするために利用されるダウンロードプログラム及びダウンロード用機密情報。なお、ダウンロード用機密情報は、情報保護部9自身の識別情報及び情報保護部9の個別鍵であってもよい。
・サービス特定情報及びサービス関連情報。これらの情報には、例えば、サービス実行に必要なプログラムのうちのサブプロセッサ18上で動作する部分と、システムLSI1のメインプロセッサ8上で動作する他の部分との間の関連付け情報が含まれる。あるいは、サービス特定情報及びサービス関連情報には、そのサービスに関連する管理サーバ側の機能への関連付け情報などが含まれてもよい。
・サービス実行に必要な各種のプログラム。これらのプログラムは、情報保護部9のみが知っている暗号鍵、例えば上記の個別鍵を用いて暗号化されていてもよい。
・各種暗号鍵
インターフェース回路11は、バス10から受け取ったコマンドが情報保護部9宛てのコマンドか否か判定する(ステップS101)。そのコマンドが情報保護部9宛てのコマンドでない場合(ステップS101−No)、インターフェース回路11は、そのコマンドをサブプロセッサ18には渡さず、廃棄する(ステップS102)。
(プログラムのダウンロード及び課金)
まず、通信ネットワークなどを介してシステムLSI1が実装された装置と接続されるサーバ(図示せず)から各種のプログラムを情報保護部9にダウンロードする方法及び情報保護部9の利用者に課金する方法について説明する。
この場合、情報保護部9の不揮発性メモリ回路17には、情報保護部9の識別情報と個別鍵情報が予め記憶されている。
一方、サーバは、情報保護部9を管理するサーバであり、情報保護部9ごとの識別情報と、サーバと情報保護部9間で安全に情報を送受信するため、すなわち、情報が第三者に漏洩しないように情報を送受信するための鍵情報とを予め記憶している。
サーバは、プログラムのダウンロードが行われる度に、ダウンロードを要求した情報保護部9の識別情報とともに記憶されたユーザの固有情報で特定されたユーザに、ダウンロードされたプログラムについての課金を行う。
RSA暗号といった公開鍵暗号方式では、秘密鍵を用いて暗号化された情報は、公開鍵でしか復号できず、一方、公開鍵を用いて暗号化した情報は、秘密鍵でしか復号できないという性質がある。
そこで、情報保護部9の不揮発性メモリ回路17には、個別鍵情報として、情報保護部9の公開鍵と秘密鍵のペアと、サーバの公開鍵が予め記憶される。一方、サーバには、情報保護部9ごとに、その情報保護部9の識別情報とともに、情報保護部9の公開鍵と、サーバ自身の公開鍵と秘密鍵のペアが予め記憶される。
システムLSI1のメインプロセッサ8は暗号化された乱数Bを含む、一時鍵共有検証コマンドを情報保護部9へ渡す。
以上により、サーバと情報保護部9間の相互認証が終了し、サーバと情報保護部9間で一時鍵が共有される。
なお、製造者識別情報として、情報保護部9の識別情報に含まれる、下位(上位)の所定の桁の数値が割り当てられてもよい。
次に、システムLSI1上でのプログラムの実行について説明する。本実施形態では、プログラムの一部をメインプロセッサ8が実行し、プログラムの他の一部を、外部からアクセス困難な情報保護部9のサブプロセッサが実行することで、情報保護部9は、そのプログラムが扱う機密情報の漏洩及び改ざんを防止する。
メインプロセッサ8は、プログラムの実行中において各モジュールを呼び出す際に、そのモジュールのフラグを参照して、そのモジュールがプログラムAに属するか否かを判定する。そしてそのモジュールがプログラムAに属する場合、メインプロセッサ8は、そのモジュールの識別番号及びそのモジュールに渡すパラメータを含む呼び出しコマンドを作成し、その呼び出しコマンドを情報保護部9へ出力する。
以上により、プログラムの一部が外部からの参照が困難な情報保護部9で実行されるので、そのプログラム及びそのプログラムで扱われるデータの不正な参照、コピー及び改ざんが困難になる。
さらに、サブプロセッサ18は、プログラム起動コマンドを受け取る度に、プログラムBが実行する処理には何も関係の無い処理を実行するか、何の処理もしないダミーコードを、プログラムB中の異なる位置に挿入してもよい。またサブプロセッサ18は、プログラム起動コマンドを受け取る度に、プログラムB中に挿入するダミーコードの数を変更してもよい。
そのために、例えば、乱数発生回路12が発生する乱数ごとに、プログラムBに属するコードが格納されたテーブルが不揮発性メモリ回路17に記憶される。サブプロセッサ18は、そのテーブルを参照して、乱数発生回路12から受け取った乱数にしたがって、プログラムBに属するコードを決定すればよい。
(1)サブプロセッサ18は、プログラムBの生成時に、プログラムBの予め決められた部分(例えば、コードの先頭部分)において、初期情報として、定数X,Y,Zを規定する。定数X,Y,Zは、例えば、プログラムBが生成される度に異なる値に設定される。そしてサブプロセッサ18は、定数X,Y,Zを用いた所定の演算により得られた結果を情報保護部9の揮発性メモリ回路16に記憶する。所定の演算は、数値演算、論理演算、あるいは数値演算と論理演算の組み合わせとすることができる。この例では、所定の演算をW0=X*Y+Zとし、その演算により得られた値W0が揮発性メモリ回路16に記憶される。
またこの定数X,Y,Zは、プログラムBが実行されることにより、例えば、揮発性メモリ回路6内のメモリ領域の何れかに記憶される。
(2)メインプロセッサ8は、プログラムBの実行中に、埋め込まれた認証コードに達すると揮発性メモリ回路6から定数X,Y,Zを読み込む。
(3)そしてメインプロセッサ8は、定数X,Y,Zに対して上記の所定の演算(この例では、W=X*Y+Z)を行う。
(4)メインプロセッサ8は、得られた値Wを含む、認証要求コマンドを生成し、その認証要求コマンドを情報保護部9へ送信する。
(5)サブプロセッサ18は、インターフェース回路11を介して受け取った認証要求コマンドに含まれる値Wを、情報保護部9内の揮発性メモリ回路16に記憶されている値W0と比較する。値WとW0が一致すれば、サブプロセッサ18は、プログラムBの続行の許可を表す信号をメインプロセッサ8へ出力する。一方、値WとW0が一致しなければ、プログラムBが改ざんされている可能性が高いので、サブプロセッサ18は、プログラムBの停止を表す信号をメインプロセッサ8へ出力する。
(6)メインプロセッサ8は、プログラムBの続行の許可を表す信号をサブプロセッサ18から受け取ると、認証コードに後続する処理を実行する。一方、メインプロセッサ8は、プログラムBの停止を表す信号を受信すると、プログラムBの処理を停止する。またサブプロセッサ18は、情報保護部9の動作を停止させ、システムLSI1が実装された装置の電源が再投入されるまで、情報保護部9が動作しないようにしてもよい。
サブプロセッサ18は、プログラムBの起動時刻から一定期間内に認証要求コマンドを受け取らなかった場合、プログラムBの認証処理が改ざんされたと判定する。そしてサブプロセッサ18は、プログラムBの停止を表す信号をメインプロセッサ8へ出力する。これにより、情報保護部9は、認証コードの偽造に利用可能な時間を無くすことが可能である。またこのように、認証を受けることができる期間を制限することで、情報保護部9は、認証結果が永遠に返信されないと認証OKとなるいう結果になるのを防げる。
次に、機密情報を情報保護部9外のメモリ回路に格納する例について説明する。不揮発性メモリ回路は、一般的に、揮発性メモリ回路よりも高価であるため、コストの観点からは、システムLSI1に実装される不揮発性メモリ回路の記憶容量は少ない方が好ましい。そこでこの例では、情報保護部9が有する不揮発性メモリ回路17の記憶容量を最小限に抑え、その代わりに、情報保護部9外にあるメモリ回路を利用する。
例えば、情報保護部9の識別情報及び個別鍵情報といった機密情報が、情報保護部9しか知らない暗号鍵を用いて暗号化され、不揮発性メモリ回路7に記憶されているとする。
これらの暗号化された機密情報は、情報保護部9しか知らない暗号鍵で暗号化されているため、暗号化された情報が第三者に知られる可能性は低い。しかし、不揮発性メモリ回路7に記憶されている機密情報全体が置き替えられる可能性がある。そのため、以下のような不正を防げない可能性がある。
その後、ユーザが映画2、3の視聴などのために、プリペイドの残金を使用したとする。そして現時点において、残金は1000円、視聴コンテンツの履歴に映画1、2、3が記録されていたとする。
ここで、現時点で不揮発性メモリ回路7に記憶されている暗号化された情報が、過去の時点の不揮発性メモリ回路7に記憶されている暗号化された情報で置換されたとする。この場合、本来は、残金は1000円であるところ、5000円になる。また視聴したコンテンツも映画1、2、3なのに、記録上は映画1のみになってしまう。また、過去の時点の不揮発性メモリ回路7に記憶されている暗号化された情報も、情報保護部9によって暗号化されているので、置換後の情報が不正に操作された情報かどうかの見分けが付き難い。このような不正なコピーを防げなければ、過去のある時点から現在までの間にユーザがどんなに金を使っても、常に残金が残ることになってしまう。
メインプロセッサ8は、機密情報を更新する度に、更新された機密情報を含む記録更新要求コマンドを生成し、その記録更新要求コマンドを情報保護部9へ送信する。サブプロセッサ18は、インターフェース回路11を介して記録更新要求コマンドを受け取ると、その記録更新要求コマンドに含まれる機密情報を、情報保護部9しか知らない暗号鍵、例えば、個別鍵を用いて暗号化する。そしてサブプロセッサ18は、暗号化された機密情報をメインプロセッサ8へ出力する。メインプロセッサ8は、暗号化された機密情報を不揮発性メモリ回路7に保存する。
サブプロセッサ18は、暗号回路14から受け取ったハッシュ値と、不揮発性メモリ回路17に記憶されているハッシュ値とを比較する。その二つのハッシュ値が一致する場合、サブプロセッサ18は、暗号化された機密情報は改ざんされていないと判定する。そしてサブプロセッサ18は、暗号化された機密情報を復号し、復号された機密情報をメインプロセッサ8へ出力する。これにより、メインプロセッサ8は、復号された機密情報を参照または更新できる。
また、暗号回路14は、暗号化されていない機密情報のハッシュ値またはチェックサムを算出し、そのハッシュ値またはチェックサムが不揮発性メモリ回路17に記憶されてもよい。
さらにまた、メインプロセッサ8は、更新対象となる機密情報だけでなく、全ての機密情報を、記録更新要求コマンド及び記録確認コマンドに含めてもよい。この場合には、全ての機密情報に対して一つのハッシュ値またはチェックサムが計算されればよい。
また、現行のB-CAS(登録商標)では、CASプログラムは、スクランブル鍵の復号など、スクランブル鍵に関する処理と、ワーク鍵の復号及び暗号化など、ワーク鍵に関する処理と、その他の処理に分割可能である。そこでCASプログラムを更新する際には、情報保護部9は、スクランブル鍵に関する処理、ワーク鍵に関する処理及びその他の処理をそれぞれ個別に更新可能である。この場合、情報保護部9は、更新対象となる処理に関連するプログラムのみを、上述したダウンロードの手順に従ってサーバあるいは放送局からダウンロードすればよい。このように処理単位でプログラムをダウンロードすることにより、情報保護部9は、更新する際の情報伝送量を節約できる。
この場合には、情報保護部9の不揮発性メモリ回路17に、例えば、機密情報が記憶されているメモリ領域のアドレスと、各メモリ領域に記憶されている暗号化された機密情報から機密情報を再生するための演算の種類といった、機密情報再生情報が記憶される。
例えば、メインプロセッサ8は、機密情報を再生する際、機密情報の再生を要求するコマンドを生成し、そのコマンドを情報保護部9へ出力する。情報保護部9は、そのコマンドを受け取ると、機密情報再生情報をメインプロセッサ8へ出力する。そしてメインプロセッサ8は、機密情報再生情報を参照することで、機密情報を再生する。
さらに他の変形例によれば、機密情報が記憶されている不揮発性メモリ回路を、システムLSI1が実装されている装置の基板に固定し、不揮発性メモリ回路を壊さずに取り外しできないようにしてもよい。
さらに他の変形例によれば、情報保護部宛てのコマンドか否かの判定を、情報保護部のサブプロセッサ自体が行ってもよい。この場合には、情報保護部のインターフェース回路は、システムLSIのバスを通じて受信した全てのコマンドをサブプロセッサに渡してもよい。
さらに他の変形例によれば、情報保護部のインターフェース回路とサブプロセッサとを接続するバスと、情報保護部のインターフェース回路とサブプロセッサ以外の各ユニットとサブプロセッサとを接続するバスとは、別個に設けられてもよい。これにより、情報保護部の各ユニットに対して、情報保護部の外部からアクセスすることがより困難になる。
2 通信回路
3 無線処理回路
4 映像処理回路
5 グラフィックス処理回路
6 揮発性メモリ回路
7 不揮発性メモリ回路
8 メインプロセッサ
9 情報保護部
11 インターフェース回路
12 乱数発生回路
13 マスター鍵生成回路
14 暗号回路
15 タイミング回路
16 揮発性メモリ回路
17 不揮発性メモリ回路
18 サブプロセッサ
20 バス
Claims (18)
- 第1のプロセッサと、
情報保護部と、
前記情報保護部と前記第1のプロセッサとを接続する第1の通信路とを有し、
前記情報保護部は、
前記情報保護部を前記第1の通信路と接続するインターフェース回路と、
第2のプロセッサと、
前記第1のプロセッサから参照できず、一方、前記第2のプロセッサから参照可能な第1のメモリとを有し、
前記インターフェース回路は、前記第1の通信路から受信したコマンドが、前記情報保護部宛てのコマンドである場合、当該コマンドを前記第2のプロセッサに渡し、一方、前記第1の通信路から受信したコマンドが、前記情報保護部宛てのコマンドでない場合、当該コマンドを前記第2のプロセッサに渡さず、
前記第2のプロセッサは、前記第1のプロセッサから前記第1の通信路を介して前記情報保護部宛てのコマンドを受信すると、前記第1のメモリに記憶された情報に関する処理を実行する、
情報処理装置。 - 前記インターフェース回路は、前記情報保護部内から発せられた信号のうち、前記情報保護部の外部を宛先とする宛先情報を含む信号を前記第1の通信路へ出力し、一方、前記情報保護部の外部を宛先とする宛先情報を含まない信号を前記第1の通信路へ出力しない、請求項1に記載の情報処理装置。
- 前記インターフェース回路と前記第2のプロセッサとは第2の通信路を介して互いに通信可能に接続され、
前記第1のメモリは、前記インターフェース回路と接続されていない第3の通信路を介して前記第2のプロセッサと互いに通信可能に接続される、請求項1に記載の情報処理装置。 - 前記第1のメモリは、プログラムを記憶し、
前記第2のプロセッサは、前記情報保護部宛てのコマンドとして前記プログラムを実行するコマンドを受け取ると、前記プログラムを第1の部分と第2の部分に分割し、前記プログラム中の前記第1の部分を示す情報と前記第2の部分とを前記第1のプロセッサへ出力し、前記第1のプロセッサから前記情報保護部宛てのコマンドとして前記第1の部分を実行するコマンドを受け取ると前記第1の部分の処理を実行する、請求項1〜3の何れか一項に記載の情報処理装置。 - 前記情報保護部は、前記第1のプロセッサから参照不可能で、前記第2のプロセッサから参照可能であり、かつ、乱数を発生させる乱数発生回路をさらに有し、
前記第2のプロセッサは、前記情報保護部宛てのコマンドとして前記プログラムを実行するコマンドを受け取る度に、前記乱数発生回路に乱数を発生させ、前記第1のメモリに記録された乱数と前記第2の部分の対応関係を表すテーブルを参照して前記発生した乱数に対応する前記第2の部分を特定することで、前記プログラムの前記第2の部分を変更する、請求項4に記載の情報処理装置。 - 前記プログラムの前記第2の部分は複数のモジュールを有し、前記第2のプロセッサは、前記乱数に基づいて、前記プログラムの実行の際の前記複数のモジュールの呼び出し順を変更することなく、前記複数のモジュールの記述順序を入れ替える、請求項5に記載の情報処理装置。
- 前記第2のプロセッサは、前記乱数に基づいて、前記第2の部分の処理に無関係な処理を実行するかまたは何の処理もしないダミーコードの数及び該ダミーコードごとの挿入位置を決定し、該決定した数の前記ダミーコードのそれぞれを、前記第2の部分の前記決定した挿入位置に挿入する、請求項5に記載の情報処理装置。
- 前記情報保護部は、前記第1のプロセッサから参照不可能で、前記第2のプロセッサから参照可能であり、かつ、乱数を発生させる乱数発生回路をさらに有し、かつ、前記プログラムは複数のモジュールを有し、
前記第2のプロセッサは、前記情報保護部宛てのコマンドとして前記プログラムを実行するコマンドを受け取る度に、前記乱数発生回路に乱数を発生させ、前記第1のメモリに記録された乱数と前記第2の部分に属するモジュールの対応関係を表すテーブルを参照して前記発生した乱数に対応する前記第2の部分に属するモジュールを特定することで、前記複数のモジュールのうち前記第1の部分に属するモジュールと前記第2の部分に属するモジュールの組み合わせを変更する、請求項4に記載の情報処理装置。 - 前記プログラムの前記第2の部分を記憶する第2のメモリをさらに有し、
前記第2のプロセッサは、前記プログラムの前記第2の部分からスキャン演算値を算出するスキャンプログラムを生成し、前記スキャンプログラムを用いて算出した第1のスキャン演算値を前記第1のメモリに記憶し、前記スキャンプログラムを前記第1のプロセッサへ出力し、かつ、
前記第1のプロセッサが前記第2のメモリに対して前記スキャンプログラムを実行することにより得られた第2のスキャン演算値を含む前記情報保護部宛てのコマンドを受け取ると、前記第1のスキャン演算値と前記第2のスキャン演算値を比較し、前記第1のスキャン演算値と前記第2のスキャン演算値が異なる場合、前記第1のプロセッサへ前記プログラムの前記第2の部分が改ざんされていることを示す信号を送信する、請求項4〜8の何れか一項に記載の情報処理装置。 - 前記第2のプロセッサは、前記スキャンプログラムを変更し、前記スキャンプログラムが変更される度に変更後のスキャンプログラムを用いて前記第1のスキャン演算値を算出するとともに、該変更後のスキャンプログラムを前記第1のプロセッサへ出力する、請求項9に記載の情報処理装置。
- 前記第2のプロセッサは、前記プログラムを第1の部分と第2の部分に分割するときに、前記プログラムの前記第2の部分内に所定の演算を行う認証コードを追加するとともに、該所定の演算により得られた第1の値を前記第1のメモリに記憶し、かつ、
前記第1のプロセッサが前記プログラムの前記第2の部分の実行中に前記認証コードに達することにより該認証コードに従って前記所定の演算を行って得られた第2の値を含む前記情報保護部宛てのコマンドを受け取ると、前記第1の値と前記第2の値を比較し、前記第1の値と前記第2の値が異なる場合、前記第1のプロセッサへ前記プログラムを停止させることを示す信号を送信する、請求項4に記載の情報処理装置。 - 前記情報保護部は、前記第1のプロセッサから参照不可能で、前記第2のプロセッサから参照可能であり、かつ、タイミング信号を生成するタイミング回路をさらに有し、
前記第2のプロセッサは、前記プログラムの前記第2の部分を前記第1のプロセッサへ出力してからの経過時間を前記タイミング信号に基づいて計時し、該経過時間が所定時間に達しても、前記第2の値を含む前記情報保護部宛てのコマンドを受け取っていない場合、前記第1のプロセッサへ前記プログラムを停止させることを示す信号を送信する、請求項11に記載の情報処理装置。 - 前記第1のメモリは、暗号鍵を記憶し、
前記第2のプロセッサは、前記暗号鍵を用いて暗号化されたプログラムを含む前記情報保護部宛てのコマンドを受信すると、当該暗号化されたプログラムを前記暗号鍵を用いて復号する、請求項1〜3の何れか一項に記載の情報処理装置。 - 前記情報保護部は、前記第1のプロセッサから参照不可能で、前記第2のプロセッサから参照可能であり、かつ、乱数を発生させる乱数発生回路をさらに有し、かつ、前記第1のメモリは、秘密鍵と公開鍵のペアのうちの公開鍵とを記憶し、
前記第2のプロセッサは、前記暗号鍵を前記公開鍵を用いて暗号化して得られた鍵と前記乱数発生回路により発生された乱数とを、前記秘密鍵と前記公開鍵のペアを記憶するサーバへ送信し、前記サーバから受信した値を前記ペアの前記公開鍵を用いて復号して得られた値と前記乱数が一致すると、前記暗号鍵を前記暗号化されたプログラムの復号に利用する、請求項13に記載の情報処理装置。 - 前記第1のプロセッサが参照可能であり、かつ、暗号化された情報を記憶する第2のメモリをさらに有し、
前記情報保護部は、前記第1のプロセッサから参照不可能で、前記第2のプロセッサから参照可能であり、かつ、入力された値に対して所定の演算を行う暗号回路をさらに有し、
前記第1のメモリは、過去の所定時点における前記暗号化された情報を前記暗号回路に入力することにより得られた第1の値を記憶し、
前記第2のプロセッサは、前記第1のプロセッサから前記第2のメモリに記憶された前記暗号化された情報を含む前記情報保護部宛てのコマンドを受け取ると、当該コマンドに含まれる前記暗号化された情報を前記暗号回路に入力することにより第2の値を求め、前記第1の値と前記第2の値が異なっていると前記第1のプロセッサへ前記第2のメモリに記憶されている前記暗号化された情報が改ざんされていることを示す信号を送信する、請求項1〜3の何れか一項に記載の情報処理装置。 - 前記第1のメモリ及び前記第2のメモリの何れも不揮発性メモリを有し、前記第2のメモリの不揮発性メモリの容量よりも前記第1のメモリの不揮発性メモリの容量の方が小さい、請求項15に記載の情報処理装置。
- 前記情報保護部と前記第1のプロセッサは一つの集積回路として実装される、請求項1〜16の何れか一項に記載の情報処理装置。
- 第1のプロセッサと、情報保護部と、前記情報保護部と前記第1のプロセッサとを接続する通信路とを有し、前記情報保護部は、前記情報保護部を前記通信路と接続するインターフェース回路と、第2のプロセッサと、前記第1のプロセッサから参照できず、一方、前記第2のプロセッサから参照可能なメモリとを有する情報処理装置における情報処理方法であって、
前記インターフェース回路は、前記通信路を介して受信したコマンドが前記情報保護部宛てのコマンドか否か判定し、
前記受信したコマンドが前記情報保護部宛てのコマンドである場合、前記第2のプロセッサは、当該コマンドに従って、前記メモリに記憶された情報に関する処理を実行する、
ことを含む情報処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/076604 WO2015045172A1 (ja) | 2013-09-30 | 2013-09-30 | 情報処理装置及び情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015045172A1 true JPWO2015045172A1 (ja) | 2017-03-09 |
JP6146476B2 JP6146476B2 (ja) | 2017-06-14 |
Family
ID=52742368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015538813A Active JP6146476B2 (ja) | 2013-09-30 | 2013-09-30 | 情報処理装置及び情報処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10103884B2 (ja) |
JP (1) | JP6146476B2 (ja) |
WO (1) | WO2015045172A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105308609B (zh) * | 2013-04-23 | 2017-12-29 | 惠普发展公司,有限责任合伙企业 | 存储事件数据的系统和方法 |
WO2014175867A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
WO2020159533A1 (en) | 2019-02-01 | 2020-08-06 | Hewlett-Packard Development Company, L.P. | Security credential derivation |
WO2020167283A1 (en) | 2019-02-11 | 2020-08-20 | Hewlett-Packard Development Company, L.P. | Recovery from corruption |
JP7127585B2 (ja) * | 2019-03-12 | 2022-08-30 | オムロン株式会社 | セーフティシステムおよびメンテナンス方法 |
JP2021077263A (ja) * | 2019-11-13 | 2021-05-20 | レノボ・シンガポール・プライベート・リミテッド | 解析システム、情報処理装置、電子機器、及び解析方法 |
FR3122747B1 (fr) * | 2021-05-07 | 2023-03-31 | Commissariat Energie Atomique | Procede d’execution d’une fonction, securise par desynchronisation temporelle |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301892A (ja) * | 1997-04-23 | 1998-11-13 | Hitachi Ltd | バスブリッジ |
JP2003099329A (ja) * | 2001-09-19 | 2003-04-04 | Toshiba Corp | 情報処理装置及び情報処理方法 |
JP2008263577A (ja) * | 2007-04-11 | 2008-10-30 | Cyberlink Corp | 暗号化されたプログラムを実行するシステムおよび方法 |
JP2008269088A (ja) * | 2007-04-17 | 2008-11-06 | Toshiba Corp | プログラム情報提供システム、プログラム情報提供方法、プログラム情報提供方法に用いられる記録媒体 |
JP2010067089A (ja) * | 2008-09-11 | 2010-03-25 | Toshiba Corp | システムlsi |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003018143A (ja) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | 情報処理装置 |
JP2007281813A (ja) | 2006-04-05 | 2007-10-25 | Sharp Corp | 暗号化通信方法、コンテンツ配信サーバ、端末装置、暗号化通信システム、暗号化通信プログラム、および記録媒体 |
-
2013
- 2013-09-30 JP JP2015538813A patent/JP6146476B2/ja active Active
- 2013-09-30 WO PCT/JP2013/076604 patent/WO2015045172A1/ja active Application Filing
-
2016
- 2016-03-29 US US15/084,417 patent/US10103884B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301892A (ja) * | 1997-04-23 | 1998-11-13 | Hitachi Ltd | バスブリッジ |
JP2003099329A (ja) * | 2001-09-19 | 2003-04-04 | Toshiba Corp | 情報処理装置及び情報処理方法 |
JP2008263577A (ja) * | 2007-04-11 | 2008-10-30 | Cyberlink Corp | 暗号化されたプログラムを実行するシステムおよび方法 |
JP2008269088A (ja) * | 2007-04-17 | 2008-11-06 | Toshiba Corp | プログラム情報提供システム、プログラム情報提供方法、プログラム情報提供方法に用いられる記録媒体 |
JP2010067089A (ja) * | 2008-09-11 | 2010-03-25 | Toshiba Corp | システムlsi |
Also Published As
Publication number | Publication date |
---|---|
JP6146476B2 (ja) | 2017-06-14 |
US10103884B2 (en) | 2018-10-16 |
WO2015045172A1 (ja) | 2015-04-02 |
US20160211977A1 (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210192095A1 (en) | Program execution device | |
JP6146476B2 (ja) | 情報処理装置及び情報処理方法 | |
KR100749867B1 (ko) | 보안장치상에 암호화시스템을 보안가능하게 설치하는시스템 및 방법 | |
KR101194477B1 (ko) | 전자 콘텐츠의 디지털 저작권 관리 시스템 및 방법 | |
KR101172093B1 (ko) | 디지털 오디오/비디오 데이터 처리 장치 및 액세스 제어방법 | |
US7975312B2 (en) | Token passing technique for media playback devices | |
JP4142295B2 (ja) | デジタルコンテンツの著作権侵害を防止するための方法と装置 | |
US9866535B2 (en) | Content reproduction system, information processing terminal, media server, secure device, and server secure device | |
JP5097130B2 (ja) | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム | |
US20080209231A1 (en) | Contents Encryption Method, System and Method for Providing Contents Through Network Using the Encryption Method | |
US20120272065A1 (en) | Authentication Method, Host Computer and Recording Medium | |
US9787479B2 (en) | Challenge-response method and associated client device | |
US20100257360A1 (en) | Method and apparatus for protecting illegal program copy of mobile communication terminal | |
US7995766B2 (en) | Group subordinate terminal, group managing terminal, server, key updating system, and key updating method therefor | |
EP1143656B1 (en) | Copyright protection system, encryption device, decryption device, and recording medium | |
KR20090064698A (ko) | 신뢰 플랫폼 모듈을 이용한 drm 방법 및 시스템 | |
KR20050121739A (ko) | 디지털 권리를 관리하는 방법 및 시스템 | |
JP4731034B2 (ja) | 著作物保護システム、暗号化装置、復号化装置および記録媒体 | |
JP2005303370A (ja) | 半導体チップ、起動プログラム、半導体チッププログラム、記憶媒体、端末装置、及び情報処理方法 | |
KR20110066826A (ko) | 신뢰 플랫폼 모듈 기능을 이용한 cas/drm 소프트웨어의 다운로드 방법 | |
KR20080063610A (ko) | 이동통신 시스템에서 컨텐츠의 미리보기를 관리하는 장치및 방법 | |
KR20220081068A (ko) | 암복호화 키를 이용한 어플리케이션 보안 장치 및 방법 | |
CN102301372B (zh) | 用于代表存储卡接收用于内容的权利对象的方法和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161227 |
|
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: 20170418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6146476 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |