JP2008108212A - データ保護機能を有する記憶素子 - Google Patents

データ保護機能を有する記憶素子 Download PDF

Info

Publication number
JP2008108212A
JP2008108212A JP2006292796A JP2006292796A JP2008108212A JP 2008108212 A JP2008108212 A JP 2008108212A JP 2006292796 A JP2006292796 A JP 2006292796A JP 2006292796 A JP2006292796 A JP 2006292796A JP 2008108212 A JP2008108212 A JP 2008108212A
Authority
JP
Japan
Prior art keywords
data
read
functional module
module
unit
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.)
Withdrawn
Application number
JP2006292796A
Other languages
English (en)
Inventor
Eiji Hasegawa
英司 長谷川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006292796A priority Critical patent/JP2008108212A/ja
Priority to US11/703,220 priority patent/US20080104368A1/en
Publication of JP2008108212A publication Critical patent/JP2008108212A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • G06F21/805Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
    • 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/2101Auditing as a secondary aspect
    • 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/2105Dual mode as a secondary aspect
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】この発明は、データ保護機能を有する記憶素子に関し、2つの機能モジュール間のデータ転送時に、転送データの安全性を確保するための処理にかける時間および負担を軽減することを課題とする。
【解決手段】機能モジュールからのデータの書込み操作と、データの読出し操作とを受ける記憶素子であって、前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶する記憶部と、前記機能モジュールによって書込まれたデータのデータ量を前記機能モジュールから読出し可能なように格納したデータ量管理レジスタと、前記機能モジュールによって前記記憶部に記憶されたデータの読出しが行われた場合、当該読み出されたデータに対応するデータが格納された前記記憶部のメモリ領域について、前記機能モジュールによるデータの書込みが行われるまで、データの読出しを不能とするように制御するアクセス制御部とを備えたことを特徴とする。
【選択図】図1

Description

この発明は,データ保護機能を有する記憶素子に関し,特に著作権保護を要するコンテンツの記録再生を行う情報処理装置で用いるデータ保護機能を有する記憶素子に関する。
近年、情報機器において様々なコンテンツ保護がかかったコンテンツを扱うケースが増えている。
しかしコンテンツの保護の方法やエンコードの方法は規格により異なっているため、それぞれ異なる規格で作成されたコンテンツを扱うソフトモジュールは別々に開発し、これらのモジュール間でデータ交換を行うようなケースが増えている。
このようなコンテンツ保護がかかったコンテンツデータを扱うソフトモジュールは、不正攻撃により保護データが盗まれたり改竄されたりしないように、ソフトモジュールを耐タンパー化することが一般的である。ソフトウェアの耐タンパー化については命令コードの難読化、デバッガ検出、プログラムの改竄検出など様々な手法が考案されている。
図16に、従来から行われている耐タンパー化モジュールの概念的な説明図を示す。
このような耐タンパー化モジュール(A,B)に対する直接的な攻撃はほとんど不可能であるので、このモジュールの中に存在するコンテンツデータについては、不正攻撃によるデータ盗難は困難である。
しかし、このようなソフトモジュールを複数用意して、モジュール間で相互にデータ交換を行うときは、ソケットや共有メモリ、ファイルマップ等のOSが一般に公開しているインタフェースを使って行われる。図17に、このようなモジュール間で相互にデータ交換をする場合の概念的な説明図を示す。
両モジュールを接続する一般的なインタフェースの部分については攻撃を行いやすく、データ盗難が比較的容易である。
そこで、モジュール間で保護データを交換する場合、データ交換時に保護データが覗き見されたり改竄されないように暗号化やハッシュによる改竄検出を行うことが一般的である。
例えば特許文献1には、データを受け取る受信モジュールで暗号化を行い、バスを通した後に処理モジュールで復号処理するデータの保護装置が記載されている。
図18に、コンテンツ提供プログラム部(モジュールA)からコンテンツ表示プログラム部(モジュールB)に保護データを転送する場合の概念的な説明図を示す。保護データはモジュールAで暗号処理が行われた後、モジュールBに渡されるものとする。一般的なインタフェースを経由する途中のデータは耐タンパー化されたモジュールA、モジュールBのみが知る形式の暗号化を行う。モジュールBはこの受信したデータを復号して利用する。図示していないが、暗号化に加えて、ハッシュ処理などを行い、改竄検出を行うこともある。このようなデータを不正な攻撃者に盗まれないための暗号・改竄検出処理を、以後データ保護処理と呼ぶ。このようなデータ保護処理をすることにより、不正攻撃モジュールは中間のデータを覗き見しても有用な情報が得られなくなる。
図18のしくみを実施するためには、ソケットなどのさまざまな実装方法が用いられるが、ローカルマシン内でデータ渡しが行われるときは、図19に示すように、モジュールの外部に位置するメモリやハードディスクHDDに、一旦データが書き込まれることになる。
特開平11-88859号公報
しかし、上記のような従来の方法では、受け渡しを行う保護データのサイズが大きくなると、暗号化および復号化処理やハッシュ処理にかかる処理量が大きくなり、長時間を要するという問題がある。
特にパソコンなどの情報機器でソフトにより構成されたモジュール間でデータ交換を行う場合などは、一方のモジュール内部で送信の前に暗号化を行い、他方のモジュール内部で受信の後に復号化を行う必要があり、これらの処理に共にCPUを使用することになり、処理負荷の増加が無視し得ない量になる。
また、モジュールA,Bの個々の耐タンパー化ではなく、システム全体を耐タンパー化することで不正攻撃を防ぐ方法も考えられるが、システム全体を耐タンパー化することは、システム開発の困難性を増大させ、システム開発のコストの増大や、装置のコストアップをもたらす。
したがって、システム全体の耐タンパー化は行わずにコストの増大をできるだけ抑えた上で、データ保護処理の負荷もできるだけ軽減したセキュリティシステムの開発が望まれる。
この発明は、以上の事情を考慮してなされたものであり、モジュール間のデータ転送に用いる記憶素子に対する書込みと読出しに制限を加え、モジュール間で転送されたデータ量等を管理するしくみを備えることで、モジュール間でデータを転送する場合に、十分なセキュリティを確保した上で、データ保護のための処理負荷を抑制させることのできる記憶素子を提供することを課題とする。
本発明は、機能モジュールからのデータの書込み操作と、データの読出し操作とを受ける記憶素子であって、前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶する記憶部と、前記機能モジュールによって書込まれたデータのデータ量を前記機能モジュールから読出し可能なように格納したデータ量管理レジスタと、前記機能モジュールによって前記記憶部に記憶されたデータの読出しが行われた場合、当該読み出されたデータに対応するデータが格納された前記記憶部のメモリ領域について、前記機能モジュールによるデータの書込みが行われるまで、データの読出しを不能とするように制御するアクセス制御部とを備えたことを特徴とする情報処理装置を提供するものである。
この発明は、第1機能モジュールからのデータの書込みと、第2機能モジュールからのデータの読出しを制御する制御部と、前記第1機能モジュールによって書込まれたデータを記憶する記憶部と、第1機能モジュールによって書込まれたデータのデータ量を前記第1機能モジュールから読出し可能なように格納したアクセス量管理レジスタと、第2機能モジュールによって、記憶部に記憶されたデータの読出しを行った後、第1機能モジュールによる次のデータの書込みが行われるまでデータの読出しを許可しないようにするアクセス制御部とを備えたことを特徴とするデータ保護機能を有する記憶素子を提供するものである。
この発明によれば、不正アクセスによるデータの漏洩の防止のために、暗号化および復号化処理のような複雑かつ時間のかかる処理をする必要がないので、十分なセキュリティを確保した上で、データ保護のための処理負荷を抑制させることができる。すなわち、2つのモジュール間のデータ転送時において、転送データの安全性を確保するための処理にかける時間および負担を軽減させることができる。
ここで、読み出されたデータとは、本発明に係わる記憶素子から出力されるデータを意味し、それに対応するデータとは、本発明に係わる記憶素子が備えるメモリ領域に保持されている状態のデータを意味し、その対応するデータが格納されたメモリ領域とは、例えば、当該データが保持された又は保持されていたメモリ領域上の所定の番地及びデータ長で特定される領域を意味する。さらに、データの読出しを不能とするとは、機能モジュールの読出し操作に対して、記憶素子に書込まれたデータと同じ内容のデータを当該記憶素子が出力しないことを意味し、例えば、読出し操作に対して不可応答を出力したり、あるいは、書込まれたデータと異なる内容のデータを出力する構成を含むものとする。
また、本発明の記憶素子において、記憶部は、データの書込みのみを許可するライトオンリーメモリ領域と、前記データの読出しのみを許可するリードオンリーメモリ領域とを有し、前記ライトオンリーメモリ領域に書込まれたデータを、前記リードオンリーメモリ領域に転送する転送処理部をさらに備えることを特徴とする。この場合、アクセス制御部は一旦読み出されたデータを格納するリードオンリーメモリ領域についてライトオンリーメモリ領域からリードオンリーメモリ領域にデータが転送されるまで読み出しを不能とし、前記データ量管理レジスタは、前記機能モジュールによって書込まれたデータのデータ量として、前記転送処理部によって転送されたデータのデータ量を、前記機能モジュールから読出し可能なように格納する。
これによれば、ライトオンリーメモリ領域と、リードオンリーメモリ領域とを設けてデータ転送をするので、暗号化等の複雑かつ時間のかかる処理をすることなく十分なセキュリティを確保することができ、データ保護のための負荷を抑制させるとともにデータ転送時の不正アクセスによるデータの漏洩と不正利用を防止できる。
また、本発明の記憶素子は、前記機能モジュールからのアクセスを許可又は禁止するためのアクセス制御フラグをさらに備え、前記アクセス制御フラグが第1状態のとき前記機能モジュールからの記憶部の書込み許可および前記機能モジュールによる記憶部の読出し禁止とし、第2状態のとき前記機能モジュールからの記憶部の書込み禁止および前記機能モジュールによる記憶部の読出し許可とし、前記機能モジュールによってデータが書込まれた後に、アクセス制御フラグを第2状態に設定することにより前記機能モジュールからの記憶部への書込みを禁止し、前記アクセス制御フラグが第2状態のときに前記機能モジュールからの読出し要求があった場合、前記機能モジュールによる記憶部の読出しを許可し、前記読出しが行われた後にアクセス制御フラグを第1状態に設定することにより前記機能モジュールによる記憶部の読出しを禁止することを特徴とする。
これによれば、一旦記憶部に書込まれたデータは、読み出されるまで不正に上書きされることを防止できる。
また、本発明は、前記記憶素子と、前記記憶素子にデータを書き込む第1機能モジュールと、前記記憶素子からデータを読み出す第2機能モジュールとを備え、第1機能モジュールが、コンテンツデータを前記記憶素子の記憶部に書き込んだ後、前記記憶素子は書込まれたコンテンツデータの読み出しを可能となるように制御し、第2機能モジュールが記憶部に記憶されたコンテンツデータを読出すことを特徴とする情報処理装置である。
これによれば、第1機能モジュールから第2機能モジュールへデータを転送する場合に、十分なセキュリティを確保した上で、転送データの安全性を確保するための処理にかける時間と負担を軽減させることができる。
また、本発明の情報処理装置は、前記第1機能モジュールが、前記記憶素子に書込んだデータのデータ量D1を管理する通信量管理部と、前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部とを備え、前記第1機能モジュールの不正検出部は、前記記憶素子のデータ量管理レジスタを読み出すことで記憶素子に書込まれたデータ量D2を取得し、前記通信量管理部によって管理されているデータ量D1と、前記データ量D2とを比較することによって、データの不正アクセスが行われているか否かを判断することを特徴とする。
これによれば、不正アクセスの防止のために暗号化等の複雑かつ時間のかかる処理をすることなく不正アクセスを検出できるので、データ転送の高速化と処理負担の軽減を図ることができる。
また、本発明は、前記情報処理装置であって、前記第2機能モジュールが、前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部を備え、前記第2機能モジュールの不正検出部は、前記記憶素子から読み出したデータが、書込まれたデータに出現することのないパターンデータであることを検出した場合には、不正アクセスがあったと判断することを特徴とする情報処理装置を提供する。
これによれば、不正アクセス防止のための複雑かつ時間のかかる処理をすることなく、比較的容易に不正アクセスを検出できる。
この発明によれば、不正アクセスによるデータの漏洩の防止のために、暗号化および復号化処理のような複雑かつ時間のかかる処理をする必要がないので、十分なセキュリティを確保した上で、データ保護のための処理負荷を抑制させることができる。すなわち、2つのモジュール間のデータ転送時において、転送データの安全性を確保するための処理にかける時間および負担を軽減させることができる。
また、この発明によれば、第1機能モジュールから第2機能モジュールへデータを転送する場合、ライトオンリーメモリ領域と、リードオンリーメモリ領域と、一旦読み出されたデータを格納するリードオンリーメモリ領域についてライトオンリー領域からリードオンリー領域にデータが転送されるまで読み出しを許可しないアクセス制御部と、データ量管理レジスタを備えたこの発明の記憶素子を利用すれば、データ転送時の十分なセキュリティを確保することができ、データ転送時の不正アクセスによるデータの漏洩と不正利用を防止できる。
これによって、データ転送時の十分なセキュリティを確保でき、不正アクセスモジュールが介在してもデータの漏洩を防止でき、不正アクセスを防止し転送データの安全性を確保する処理にかける時間と負荷を軽減できる。また、この構成の場合、前記記憶素子の処理速度が前記機能モジュールからのデータ書き込み速度に対して遅くても、前記記憶素子はライトオンリーメモリ領域に書かれたデータを転送する速度にあわせてデータ量をカウントすればよく、記憶素子において高速処理が必要とならない。また、一旦リードオンリーメモリ領域に転送された部分については、前記機能モジュールによってリードされる前に、前記機能モジュールによってライトオンリーメモリ領域への書き込みを行うような制御も可能である。
また、この発明では、第1および第2機能モジュールからのアクセスを許可又は禁止するためのアクセス制御フラグをさらに備え、アクセス制御フラグが第1状態のときライトオンリーメモリ領域の書込み許可およびリードオンリーメモリ領域の読出し禁止とし、第2状態のときライトオンリーメモリ領域の書込み禁止およびリードオンリーメモリ領域の読出し許可とし、前記第1機能モジュールによってデータが書込まれた後に、アクセス制御フラグを第2状態に設定することによりライトオンリーメモリ領域を書込み禁止とすることを特徴とする。
ここで、第1状態とは、たとえば「0」であり、第2状態とは、たとえば「1」である。この構成によれば、前記機能モジュールが一旦書き込んだデータは前記機能モジュールによって読み出されるまで上書きされないことが保証できる。よって、たとえば不正アクセスによって偽データを上書きされるような攻撃に対処できる。
さらに、前記アクセス制御フラグが第2状態のときに第2機能モジュールからの読出し要求があった場合、前記リードオンリーメモリ領域の読出しを許可し、前記読出しが行われた後にアクセス制御フラグを第1状態に設定することによりリードオンリーメモリ領域を読出し禁止とすることを特徴とする。
また、前記アクセス制御フラグが第1状態のときに、第2機能モジュールからの読出し要求があった場合、読出し要求のあったデータを、書込まれたデータに出現することのないパターンデータに置き換え、このパターンデータが第2機能モジュールによって読み出されるようにすることを特徴とする。
ここで、前記パターンデータには、たとえば、オールゼロデータを用いることができる。
また、この発明は、前記したようないずれかの記憶素子と、前記記憶素子にデータを書き込む第1機能モジュールと、前記記憶素子からデータを読み出す第2機能モジュールとを備え、第1機能モジュールが持つコンテンツデータを、前記記憶素子のライトオンリーメモリ領域に書き込んだ後、書き込まれたコンテンツデータを記憶素子のリードオンリーメモリ領域に転送し、リードオンリーメモリ領域に転送されたコンテンツデータを、第2機能モジュールが読出すことを特徴とする情報処理装置を提供するものである。
さらに、この発明の情報処理装置は、前記第1機能モジュールが、前記記憶素子に書込んだデータのデータ量D11を管理する通信量管理部と、前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部とを備え、前記不正検出部は、前記記憶素子のデータ量管理レジスタに格納されたデータ量D12を読み出し、前記通信量管理部によって管理されているデータ量D11と、前記データ量D12とを比較することによって、データの不正アクセスが行われているか否かを判断することを特徴とする装置である。
ここで、前記第1機能モジュールの不正検出部が、前記記憶素子のデータ量管理レジスタから読み出したデータ量D12が、前記データ量D11よりも大きい場合に、不正アクセスがあったと判断し、第1機能モジュールが、以後の記憶素子へのデータの書込みを実行しないようにしてもよい。
また、この発明の情報処理装置は、前記第2機能モジュールが、不正検出部を備え、前記不正検出部が、前記記憶素子から読み出したデータが、書き込まれたデータに出現することのないパターンデータであることを検出した場合には、不正アクセスがあったと判断することを特徴とする。
この発明の第1機能モジュールと第2機能モジュールとは、コンテンツに対して取得,加工,再生,復元,配信等などの処理を実行するプログラムに相当し、以下の実施例では、たとえば第1機能モジュールにはモジュールAが対応し、第2機能モジュールにはモジュールBが対応する。また、リードオンリーメモリ領域は、リードワンスメモリおよびリードワンス領域部に相当する。
以下、図に示す実施例に基づいて本発明を詳述する。なお、本発明はこれによって限定されるものではない。
<この発明のデータ保護機構の概略説明>
図1に、この発明のデータ保護機構の概略説明図を示す。
図1においてモジュールA(1)とモジュールB(2)は、コンテンツに対して録画,再生,表示等の処理を行うソフトモジュールであり、パソコン等のOSの管理のもと、インストールして使用される。
セキュアメモリ部3は、書き換え可能なメモリ(4,5,6)と、そのメモリに対するアクセスを管理するメモリ制御部7とからなる。
書き換え可能なメモリは、ライトオンリーメモリ4,リードワンスメモリ5,データ量管理レジスタ6とからなる。これらのメモリは、それぞれ別のメモリとして設けてもよいが、1つのメモリを3つの領域に分け、それぞれ、ライトオンリーのメモリ領域4,リードワンスのメモリ領域5,データ量管理レジスタの領域6として使用する形態でもよい。
ライトオンリーメモリ4とは、セキュアメモリ部3の外部のモジュールAやBから見て、書込みのみが可能なメモリであり、セキュアメモリ部3の外部のモジュールA等からはその内容を読み出せないメモリである。
リードワンスメモリ5とは、アクセスを管理するメモリ制御部によって、セキュアメモリ部3の外部のモジュールA等から見て、1度だけ読み出しが可能なように制御されるメモリであり、この領域には書込みのできないメモリである。
すなわち、1度読み出しが行われた後は読み出し禁止設定がされ、2度目以後の読出しは禁止される。この読み出しの禁止および許可の制御は、後述するアクセス制御フラグ341を用いて行われる。
データ量管理レジスタ6は、ライトオンリーメモリ4に記憶されたデータを、リードワンスメモリ5に転送したデータ量(たとえば、バイト数)を格納するメモリである。このレジスタ6への書込みは、メモリ制御部7のみができる。レジスタ6は、電源投入時などにリセットされ、ゼロに初期化される。リセットされるまでは、転送データ量を累積して格納するものとする。また、レジスタ6は、リードオンリーメモリであり、外部のモジュールからは読出しのみができるメモリである。なお、モジュールA等からセキュアメモリ部3にコンテンツの書込みを開始する時や、コンテンツの転送処理等がすべて完了した時を、レジスタ6をリセットする契機としてもよい。
この発明は、図1のような2つのモジュール(A,B)間で、コンテンツデータを転送する場合の十分なセキュリティを確保した上で、コンテンツを不正取得しようとする不正攻撃を防止する際の処理負荷を従来よりも軽減しようとするものである。
この発明では、不正攻撃を防止するために、図1のような構成のセキュアメモリ部3を設け、セキュアメモリ部3を通して転送されたデータ量を検出する機構を設けることを特徴とする。
従来は、モジュールAからモジュールBへデータを転送する際に、モジュールA内でデータの暗号化処理をした後、一般的なRAMなどのメモリに書き込み、モジュールBがRAMに書込まれた暗号化データを読み出した後、その後暗号化データの復号化処理をしていたが、この暗号化および復号化には、非常に時間がかかり、CPU等の処理負担が大きかった。
この発明は、セキュアメモリ部3を設けて、このデータの暗号化および復号化の処理を省略することにより、モジュール間のデータ転送時にかかる処理負担を軽減する。
従来のデータ保護処理を行う場合の一般的な処理シーケンスは、データ読み出し→データ暗号化→メモリライト→メモリリード→データ復号化→データ処理となる。
一方、本発明においては、
データ読み出し→メモリライト→メモリリード→データ処理
となり、データ暗号化・復号化処理が省略されることで処理が軽減される。
具体的には、主として次のようなデータ転送処理を行う。
ここでは、モジュールAが取得したコンテンツを、モジュールBに転送するものとする。また、コンテンツは、所定データ量のブロックに分割され、ブロックごとに転送されるものとする。
まず、モジュールAから第1ブロックのデータD11を、暗号化せずにセキュアメモリ部3のライトオンリーメモリ4に書き込む。セキュアメモリのメモリ制御部7は、ライトオンリーメモリ4に書き込まれたデータD11を、リードワンスメモリ5に転送する。
また、メモリ制御部7が、転送されたデータD11のデータ量を、データ量管理レジスタ6に書き込む。その後、モジュールBが、リードワンスメモリ5に転送されたデータD11を直接読み出す。
このデータD11は暗号化されていないので、モジュールBに取り込まれた状態で、そのまま利用することができる。
モジュールAがライトオンリーメモリ4にデータD11を書き込んだ後は、このメモリ4への読出し要求は受け付けられないので、不正アクセス(攻撃)モジュールが読み出し要求をしたとしても、そのデータD11をセキュアメモリ部3から読出すことはできない。すなわち、ライトオンリーメモリ4に記憶されたデータD11に対する不正アクセスを防止できる。図2に、セキュアメモリに対する不正アクセスの一実施例の説明図を示す。
また、モジュールAがメモリ4へ書き込んだデータD11のデータ量は、ライトオンリーメモリ4からリードワンスメモリ5へ転送したデータ量と等しく、データD11が最初に転送されたブロックの場合、データ量管理レジスタ6に格納された数値に等しい。
したがって、モジュールAが、自己が書き込んだデータD11のデータ量と、データ量管理レジスタ6に格納されている数値とを比較することで、正しく転送されたか否か、チェックできる。
一方、モジュールBがリードワンスメモリ5のデータD11を読み出した後は、メモリ5に対する次のリード要求は許可されない。たとえば、2度目のリード要求をしたとしても、書込まれたデータに出現することのないパターンデータしか読み出せないように制御することによって、事実上リード要求が正常にできないようにしてもよい。パターンデータとしては、たとえばオールゼロのデータやオール1のデータなどを用いてもよい。
正常に認証されたモジュールBが、メモリ5からデータD11を読み出した後に、不正アクセスモジュールが、リードワンスメモリ5に読出し命令を出し、メモリ5に転送されていたデータD11を読み出そうとしてもオールゼロデータが読出され、データD11そのものは読み出すことができない。
ただし、モジュールAがデータD11を書き込んだ後、モジュールBがリードワンスメモリ5からデータD11を読み出す前であれば、不正アクセスモジュールによってリードワンスメモリ5からデータD11を読み出すことが可能である。
すなわち、コンテンツの一部である1ブロックのデータD11は、不正に読み出される場合がある(図2参照)。
しかし、不正アクセスモジュールがデータD11を読み出した後に、正規のモジュールBが、モジュールAから転送されてくるはずのデータD11を読み出すため、リードワンスメモリ5に読み出し命令を出した場合、正常でないパターンデータ、たとえばオールゼロデータが読み出されることになる。すなわち、モジュールBは、オールゼロデータを読み出したが、データD11の読出しが正常にできなかったことになる。
そこで、モジュールBが、オールゼロデータは通常のデータ読出時にはあり得ないデータであることを確認できるとすると、モジュールBは、読み出したデータがオールゼロデータであることをチェックすることにより、不正読み出しが行われたことを検出することができる(図2参照)。
すなわち、モジュールBによって不正読出しがあったことが検出されるので、その後の通信処理をしないように制御する。具体的には、たとえば、セキュアメモリ3にリセットをかけると共に、モジュールAに不正が行われたことを通知すればよい。
これにより、第1のデータD11は不正読出しが行われたとしても、次の第2のデータD12以後のブロックデータについては、不正読出しが行われないようにすることができる。
複数のブロックデータからなるコンテンツの転送を行う場合に、不正アクセスモジュールが介在して1つのブロックのデータが不正に読み出されてしまったとしても、その後のブロックデータは不正に読み出されないようにすることができるので、コンテンツ全体が不正に流出し、不正利用されることを防止できる。
また、図3に示すような不正攻撃(アクセス)があった場合も、その不正を検出できる。
図3において、不正アクセスモジュールが、リードワンスメモリ5から、データD11を読み出した後、そのデータD11を再度ライトオンリーメモリ4に書き込んだとする。この再度書き込まれたデータD11を、モジュールBが読み出せば、あたかも、不正モジュールが介在せずに、モジュールBによって正常に読み出しが行われたかのように見える。
しかし、この場合、データD11が2度ライトオンリーメモリ4に書き込まれているので、データD11についてライトオンリーメモリ4からリードワンスメモリ5へのデータD11のデータ転送も、2度行われている。
データ量管理レジスタ6に格納されるデータ量は、累積値であるので、データD11のデータ量が2回加算される。すなわち、データD11を正常に1回だけ転送した場合のデータ累積値よりも、レジスタ6に格納される数値の方が大きくなってしまう。
そこで、モジュールAが、最初のブロックであるデータD11を書き込む前にデータ量管理レジスタ6の値を読み込んでおき、D11を書き込んだ後、次のブロックのデータD12を書き込む前に、再度レジスタ6の値を読み出し、このレジスタ6の値の差分であるセキュアメモリ部3を経由して転送されたデータ量D2と、モジュールA自身が書き込んだデータD11の実際のデータ量D1とを比較し、両者が一致しなければ不正アクセスがあったと判断できる。上記のように、データD11が2度書き込まれた場合は、データ量管理レジスタ6から読み出した値から得られるセキュアメモリ部3を経由して転送されたデータ量D2が、モジュールAが実際に書込んだデータ量D1よりも大きくなっていることを検出した場合に、不正アクセスがあったと判断する。
このように不正アクセスがあったと判断した場合は、モジュールAは、以後のデータの書込みを実行しないようにすればよい。
以上2つの不正アクセスの例を説明したが、モジュールAからモジュールBへのデータ転送時に、従来のような暗号化および復号化という複雑な処理をしなくても、不正アクセスを防止できる。
また、暗号化および復号化という複雑でCPUの処理負担の大きい処理をする必要がなく、データの転送処理と、セキュアメモリ部3を経由して転送されたデータ量と実際にセキュアメモリ部3に書き込んだデータ量の比較という比較的短時間で可能な処理をするだけなので、モジュール間のデータの転送のスピードの高速化と、CPUの処理負担の軽減を図ることができる。セキュアメモリにおいても、データ量のカウントとカウント値のレジスタへの格納を行えばよく、大きなロジックは必要としない。
また、図1では、セキュアメモリ部3の内部に、ライトオンリーメモリ4と、リードワンスメモリ5という2つのメモリを持つ構成を示したが、これに限るものではない。
たとえば、1つのメモリMに対して、一度データの書き込みをした後、そのメモリMに対して、メモリ制御部によって外部モジュールからは一度しか読み出せないような制御を行い、ライトアクセスが実行されたときに、その書込まれたデータのデータ量をカウントするレジスタを設け、そのレジスタの内容をモジュールから読み出すことができるように制御するようにしてもよい。
すなわち、1つのメモリと1つのレジスタを備え、さらに、このメモリに対するリードワンスの制御とレジスタによるデータ量のカウントが可能な制御モジュールを有するデバイスを設けてもよい。
以上のように、この発明では、セキュアメモリ部3を設け、メモリ(4,5)に対するアクセスに制限を設けて、さらにセキュアメモリ部3を経由して転送されたデータ量をチェックするようにしているので、モジュール間のデータ転送を行うときに、暗号化やハッシュ処理のような複雑な処理を行わなくても、データののぞき見や改ざんを検出でき、検出後の不正アクセスを防止することができる。
不正アクセスを検出した後に、直ちにその後のデータ転送処理を中止するようにすれば、その後のブロックデータが不正に流出することを防止できる。
また、データ転送時において、処理時間および処理量の大きな暗号化等の処理が不要であるので、大量のデータ転送を行う場合も、CPUの負担を減らすことができる。
また、モジュール間で暗号鍵の交換を行う必要もなくなるので、モジュール間のデータ転送プロトコルも軽くなり、セッションの確立も含めデータ転送にかかる全体の処理時間を短縮できる。
<この発明の情報処理装置の構成の説明>
図4に、この発明のデータ転送機能とデータ保護機能を実現する情報処理装置の一実施例の構成ブロック図を示す。
図4において、情報処理装置は、主としてコンテンツ提供プログラム部(モジュールAに相当)100と、コンテンツ表示プログラム部(モジュールBに相当)200と、セキュアメモリ部300とを備える。
コンテンツ提供プログラム部100は、取得したコンテンツ全体を格納したコンテンツ格納部110,コンテンツ管理情報格納部120,コンテンツのブロックデータを転送する際の通信データ量を管理する通信量管理部130,モジュール間のデータ通信の制御を行う通信制御部140,不正アクセスの存在を検出する不正検出部150,セキュアメモリ部300との間のデータ転送(データの書込みと読み出し)を行う通信処理部160とを備える。
コンテンツ表示プログラム部200は、不正アクセスの存在を検出する不正検出部210,転送されたコンテンツを表示するコンテンツ表示部220,モジュール間の通信を制御する通信制御部230,セキュアメモリ300に対してデータの読み出し処理をする通信処理部250,転送されてきた複数のブロックデータを組み合わせて、1つのコンテンツを生成(復元)するコンテンツ処理部240、不正アクセスがあったことをモジュールAへ通知する不正通知部260とを備える。
セキュアメモリ部300は、ライトオンリーのメモリ領域320と、リードワンスのメモリ領域340,データ量管理レジスタ361と、アクセス制御フラグ341を管理するアクセス制御部330とからなる記録ブロックと、リードライト(R/W)制御部310と、ライトオンリー領域320からリードワンス領域340へのデータ転送を行う転送処理部350と、データ量管理レジスタ361への書込みと読出しをするデータ量管理部360とからなる制御ブロックを備える。
記録ブロックは、1つのRAMや不揮発性メモリ素子を用いることができるが、メモリ領域,レジスタ,フラグごとにそれぞれ異なるメモリ素子を用いてもよい。
制御ブロックは、CPU,ROM,RAM,I/Oコントローラ,タイマーなどを有するCPUと、各機能を実現するソフトウェアとから構成される。すなわち、セキュアメモリ部300は、単なるメモリではなく、CPU等を含む記録素子であり、データ保護機能を有する記憶素子である。
リードワンスのメモリ領域340は、転送処理部350によってデータが書き込まれた時に一回だけ外部モジュールからの読み出しが可能となるように制御する。
図5に、セキュアメモリ部300の記録ブロックと、転送処理部350との関係の説明図を示す。
データ量管理レジスタ361は、セキュアメモリ部3を経由して転送されたデータ量の累積値を記憶するものである。転送処理部350は、ライトオンリー領域320から所定のライト単位のデータを読み出し、リードワンス領域340に書き込んだとき、そのライト単位のデータに相当するデータ量をデータ量管理レジスタ361に加算する。
アクセス制御フラグ341は、所定量のブロックデータがリードワンス領域340にデータ転送されるごとに、1がセットされ、そのブロックデータのデータ転送が完了したか否かを示すものである。
ライトオンリーのメモリ領域320とリードワンスのメモリ領域340は一対一に対応しており、ライトオンリーのメモリ領域320に対してソフトモジュールAからのライトアクセスが発生した場合、セキュアメモリの転送処理部350は、メモリ320に書き込まれた内容を、対応するリードワンスのメモリ領域340にコピーする。
それと同時に転送したデータ量をインクリメントし、データ量管理レジスタ361を更新する。データ量管理レジスタ361はリセット時などに0に初期化される。リセット以後はライトオンリーのメモリ領域からリードワンスのメモリ領域に転送されたデータ量の累積値を保持する。
転送処理部350は、転送したメモリアドレスに対応するアクセス制御フラグ341に1を立てる。リードワンスのメモリ領域340は、アクセス制御フラグ341によってアクセスが管理されている。
アクセス制御部330は、一旦データがリードワンスメモリ領域340から読み出された後において、ライトオンリーメモリ領域320からリードワンスメモリ領域340にデータが転送されるまで読み出しを不能とする部分である。
図6に、アクセス制御フラグ341とリードワンス領域340の対応付けの説明図を示す。アクセス制御フラグ341はリードワンスメモリ領域340のアクセス単位毎に1bitの情報を保持する。例えばセキュアメモリ300が32bit単位でのアクセスのみ許可するならば、リードワンスメモリの32bitごとに、1bitのアクセス制御フラグ341が割り当てられる。
フラグ341が「0」の場合、モジュールからのメモリ読出し要求を許可しない(リードイネーブルにしない)。また、フラグが「1」の場合、モジュールからのメモリ読出し要求を受け付けることを意味する。
<リードワンス領域に対する読出処理>
図7に、モジュールBから、セキュアメモリ部のリードワンス領域340に対して、読み出し処理を行う場合の一実施例のフローチャートを示す。
ステップS11において、モジュールBからリードアクセスが発生した場合、転送処理部350は、アクセスされた領域に対応するアクセス制御フラグ341をチェックする。アクセス制御フラグ341が0であった場合、リードアクセスは禁止されるので、ステップS12へ進み、セキュアメモリ300はリードリクエストに対してリードイネーブルをせず、応答を返さない。
一方、アクセス制御フラグが1の場合はステップS13へ進み、モジュールからのリード要求に対し、リードワンス領域340に格納されたデータを読み出し、モジュールBへ与える。
ステップS14において、転送処理部350は、アクセス制御フラグ341を0にセットする。
図7に示したように、アクセス制御フラグ341が0のときはデータの読み出しを禁止し、1の場合はデータの読み出しを許可する。また、一度リードアクセスが発生したアドレスに対しては、アクセス制御フラグを0にセットし、リード不可とする。この方法により、外部のモジュールBからは、一度読み出したデータを再度読み出すことはできないリードワンス機能を実現することができる。
<ライトオンリー領域に対する書込処理>
図8に、モジュールAによってライトオンリー領域320に、データを書き込む場合の一実施例のフローチャートを示す。
ステップS21において、モジュールAからライトアクセスが発生した場合、転送処理部350はアクセスされた領域に対応するアクセス制御フラグ341をチェックする。ここでアクセス制御フラグ341が1の場合、ステップS22へ進む。すなわちまだリードされていないデータが残っている場合は、ライトをイネーブルせずに処理を終了する。
一方アクセス制御フラグ341が0の場合は、ステップS23へ進み、ライトをイネーブルし、ライトオンリー領域320にモジュールAから与えられたデータを書き込む。
この例では、リードワンス領域340のデータがまだ読み出されていない場合はメモリ340の上書きを不可能にしているが、アクセス制御フラグ341の値にかかわらず、データのライトを許可するような実装も可能である。
ライトが行われた後は、書き込まれたデータをリードワンス領域340にコピーし(ステップS24)、コピーしたデータ量に相当するだけ、データ量管理レジスタ361をインクリメントする(ステップS25)。最後にステップS26において、アクセス制御フラグ341に1をセットする。これは、データをリードできるようにするためである。
<転送処理部の処理内容の説明>
図9に、セキュアメモリ部の転送処理部の具体的処理内容の一実施例の説明図を示す。
図9(a)において、データ量管理レジスタ361の保持する現在の値は2048、アクセス制御フラグ341は全て0だったとする。このとき、セキュアメモリ部300のライトオンリー領域320に対して、モジュールAから16バイトの書き込みが発生したとする。
転送処理部350は、この書き込みをトリガとし、図9(b)に示すように、書き込みが行われたデータ16バイトを、リードオンリー領域340の対応する領域にコピーする。それと同時に、データ量管理レジスタ361の値を、転送を行ったバイト数分だけインクリメントする。このケースでは初期値の2048に16が加算され、2064となる。また、転送を行った領域に対応するアクセス制御フラグ341に、1をセットする。このことにより、モジュールB側からリードワンスメモリ340の更新された領域を、一度だけ読み出すことが可能となる。
<コンテンツ提供プログラム部(モジュールA)の説明>
図4に示したように、コンテンツ提供プログラム部(モジュールA)100は、コンテンツ格納部110、コンテンツ管理情報格納部120、通信量管理部130、通信制御部140、不正検出部150、通信処理部160を含む。
コンテンツ格納部110は、音楽データ、動画データ、その他ストリーミングデータを含むコンテンツを格納する。
コンテンツ管理情報格納部120は、コンテンツ格納部に格納されているコンテンツに係わる管理情報、例えば蓄積コンテンツのコピー制御に関する情報を格納する。コピー制御情報には、コンテンツのうち何バイト目から何バイト目までをどのようなモジュールに渡してよいか、あるいは渡してはならないかといった情報が含まれる。例えばコピーワンスのコンテンツであり、一度DVD等のリムーバブルメディアに書き出したものは「DVDムーブ用モジュールにはコンテンツを渡してはならない」という情報が記述される。
通信量管理部130は、通信制御部140及び通信処理部160を介してセキュアメモリ部300に送信したブロックコンテンツのデータ量(通信量)を、通信制御部140から取得し管理する。
図10に、データ転送に用いる管理情報の一実施例の説明図を示す。
モジュール(A,B)間でコンテンツを転送するためには、まずセッションの確立が必要である。このセッションを開始する際、モジュールAの不正検出部150は、セキュアメモリ部300に書き込まれた累積データ量を、データ量管理レジスタ361から取得し、転送開始時レジスタ値151として記憶しておく。
また、通信量管理部130はセッションにおいて行った通信の総通信量131を記憶する。実際にコンテンツ提供プログラム部(モジュールA)からブロックデータ500をセキュアメモリ部300に書き込む際には、通信制御部140は、通信処理部160を介して、ブロックデータ500をセキュアメモリ部300のライトオンリー領域320に書き込むと共に、通信量管理部130に書き込んだデータ量を与え、通信制御部140はそのデータ量を総通信量131に加算する。
また、通信制御部140は、コンテンツ管理情報格納部120に格納されている管理情報に基づいて、セキュアメモリ部300を介して、コンテンツ格納部110に格納されているコンテンツを、コンテンツ表示プログラム部200へ転送する。
<コンテンツ提供プログラム部(モジュールA)の処理の一実施例>
図11に、コンテンツ提供プログラム部(モジュールA)の一実施例のフローチャートを示す。
まず、ステップS31において、通信制御部140と、コンテンツ表示プログラム部(モジュールB)の通信制御部230により、データ転送を行うためのセッションの確立を行う。このセッションの確立には、例えばPKI等、一般的な秘密通信で用いられる方法を用いることができる。
セッションを確立後、ステップS32において、コンテンツ提供プログラム(モジュールA)はコンテンツ表示プログラム(モジュールB)に、セキュアメモリ部300を介してデータ通信を行うという旨の情報と、セキュアメモリ部300の使用アドレスと、リードワンス領域340の使用領域情報を暗号化して送信する。
ステップS33において、コンテンツ提供プログラム(モジュールA)は、セキュアメモリ部300から転送開始時のデータ量管理レジスタ361の初期値(T0)を取得し、ライトオンリー領域部320の使用を開始する。その後、ステップS34からS37において、コンテンツ全体のデータ転送を完了するまで、データ転送処理(ステップS34)と、不正検出処理(ステップS35)とを繰り返す。
以下に、データ転送処理中に、不正検出部150によって行われる不正検出処理(ステップS35)の具体例を示す。
通信制御部140は、通信処理部160を介してセキュアメモリ部300へ書込んだコンテンツのデータ量(通信量)を、通信量管理部130に通知する。また、通信制御部140は、セキュアメモリ部300のR/W制御部310を介してデータ量管理レジスタ361から取得した、セキュアメモリ部300を経由して転送されたデータ量の累積値T1を不正検出部150に通知し、セキュアメモリ部300への不正アクセスの有無の判定を依頼する。
また、通信制御部140は、不正検出部150から不正アクセスの存在を通知された場合、又はコンテンツ表示プログラム(モジュールB)部200の通信制御部230から転送中止指示を受けた場合、当該コンテンツ表示プログラム部(モジュールB)へのコンテンツ送信処理を終了する。さらに、送信処理中のコンテンツのデータを破棄するよう通信処理部160に通知してもよい。
不正検出部150は、通信制御部140からの依頼に応じて、又は所定の定期的なタイミングの到来に応じて、セキュアメモリ部300を経由して転送されたデータ量の累積値T1を取得し、通信量管理部130から取得した総通信量TAと前記転送量T1とを比較し、初期値T0を考慮して一致しない場合には不正アクセスが存在したものと判定する。
例えば、通信制御部140がセキュアメモリ部300に書き込みを行い、通信量管理部130に通知を行うたびに、不正検出部150においてデータ量管理レジスタ361の値T1を読み込み、総通信量131(TA)との比較を行う。
ここで、不正検出部150は、この総通信量131(TA)、転送開始時レジスタ初期値151(T0)、セキュアメモリのデータ量管理レジスタ361の値(T1)との間に所定の関係が成立するか否かチェックする。
すなわち、ステップS35において、総通信量(TA)≧データ量管理レジスタ値(T1)−初期値(T0)を満たすか否か、チェックする。
このときセキュアメモリ300内で転送処理がまだ行われていないケースを考慮し、総通信量131(TA)+転送開始時レジスタ初期値151(T0)−セキュアメモリ容量≦データ量管理レジスタ361(T1)≦総通信量131(TA)+転送開始時レジスタ初期値151(T0)という関係を満足しているかをチェックするようにしてもよい。
また、実際にセキュアメモリ内で転送が完了したことを割り込み等で検出し、その検出

タイミングで、データ量管理レジスタ361の値を読み出し、総通信量131(TA)+転送開始時レジスタ初期値151(T0)=データ量管理レジスタ361(T1)となっているかを確認するようにしてもよい。
上記の条件式のいずれかを満足した場合、「コンテンツ提供プログラム部100以外によって、別のデータがセキュアメモリ300に書き込まれた」という不正は行われていないと判断できる。そこで、判定した結果が条件を満たせば不正アクセスは存在しないものと判定し、判定結果を通信制御部140へ通知する。
通信処理部160は、通信制御部140からの指示を受けて、次のコンテンツブロックをセキュアメモリ部300のライトオンリーメモリ320へ書込む。また、通信処理部160は、通信制御部140からの指示を受けて、セキュアメモリ部300のデータ量管理レジスタ361からセキュアメモリ部300を経由して転送されたデータ量の累積値(T1)を取得し、通信制御部140へ通知する。
このような不正検出を行いながら、通信完了までデータの書き込みと不正検出処理を繰り返すことで、正常なデータ転送を実現する。
なお、ステップS35において、条件を満たさない場合は、不正アクセスが存在すると判断し、ステップS36へ進み、転送異常処理を実行する。転送異常処理では、たとえば、その後のデータ転送要求を受け付けないようにしたり、不正アクセスが存在することを表示したりする。
<コンテンツ表示プログラム部(モジュールB)の処理説明>
図4に示したように、コンテンツ表示プログラム部(モジュールB)200は、不正検出部210、コンテンツ表示部220、通信制御部230、コンテンツ処理部240、通信処理部250を含む。
不正検出部210は、通信制御部230からの依頼に応じて、又は所定のタイミングの到来に応じて、通信制御部230から取得した読出データに基づいて、セキュアメモリ部300への不正アクセスの有無を判定し、判定結果を通信制御部230と不正通知部260へ通知する。
コンテンツ表示部220は、セキュアメモリ部300を介してコンテンツ提供プログラム部100(モジュールA)から転送されてきたコンテンツを、コンテンツ処理部240からの指示を受けて表示する。
通信制御部230は、セキュアメモリ部300を介してコンテンツ提供プログラム部100(モジュールA)から転送されてきたブロックデータを、通信処理部250から取得し、コンテンツ処理部240へ通知する。コンテンツ処理部240は、通信制御部230からの通知に応じて、転送されてきたブロックデータを加工してコンテンツを復元し、コンテンツ表示部220へコンテンツの表示を通知する。
また、通信制御部230は、通信処理部250を介して読み出したコンテンツのブロックデータを不正検出部210に通知し、セキュアメモリ部300への不正アクセスの有無の判定を依頼する。その後、通信制御部230は、不正検出部210から不正アクセスの存在を通知された場合、コンテンツ提供プログラム部(モジュールA)100の通信制御部140へ、コンテンツ送信処理の終了を通知する。また、不正通知部260は、モジュールAへ不正があったことを通知する。
図12に、コンテンツ表示プログラム部(モジュールB)200の一実施例のフローチャートを示す。
ステップS41において、転送開始時には、コンテンツ提供プログラム(モジュールA)にコンテンツの転送要求を送信し、ステップS42において、PKIなどを用いてセッションを確立する。
セッションの確立後、ステップS43において、セキュアメモリ部300で使用する領域情報などの情報を暗号化して、モジュールAから受信する。
ステップS44において、モジュールAによってセキュアメモリ部300のライトオンリー領域320に書込まれたブロックデータを、リードワンス領域340から読み出す。
ステップS45において、データの読み出しごとに、不正検出処理を行う。不正検出処理で不正が検出されれば、不正アクセスがあったものと判断し、転送異常処理を実行する(ステップS46)。
一方、不正が検出されなければ、コンテンツのすべてのブロックデータの転送が完了するまで、ステップS44からS47までの処理を繰り返す。不正が検出されない場合は、モジュールBは、コンテンツのブロックデータを順次読み出しながら、その表示を行う。
ステップS45における不正検出処理においては、例えば読み出したデータがすべてゼロである場合、リードワンス領域340から正常なデータが読めなかった、すなわちモジュールB以外のモジュールがリードワンス領域340からデータを読み出したと判断し、不正があったと判断する。あるいは、データの中の本来何らかの値を保持すべきフィールドがゼロになっている場合も、不正があったと判断する。
この他にも、明確に不正なアクセスが存在すると判断できる状況が検出されれば、不正アクセスがあったと判定する。例えば対象となるデータがMPEG-TSの場合、MPEG-TSデータにおいて正しいデータであれば188バイトごとにTSヘッダとして0x47というバイトデータが現れるが、0x47を格納すべき箇所にゼロが格納されていたり、映像データのペイロードがゼロであるなど、明確に不正なデータが存在する場合は、不正アクセスがあったと判定する。あるいは、モジュールAからのセキュアメモリへのデータライトが必ず発生するだけの十分な時間が経過しても、リードワンス領域340がリードイネーブル状態にならないことを検出することによって、不正を検知してもよい。
<セキュアメモリ部の他の実施例>
図4では、セキュアメモリ部300の内部の2つのメモリ(4,5)間でデータの転送を行う構成を示したが、ここでは、モジュールAが書込みを行うメモリとモジュールBがリードを行うメモリとを、図13に示すように、同一のメモリ620とする場合について説明する。また、この場合、データ量管理レジスタ6の代わりに、モジュールAのライトアクセスのアクセス量を管理できるアクセス量管理レジスタ631を設け、モジュールBがリードアクセスを一度行った後、次のブロックデータがライトされるまでリードを許可しないリードワンスの機能を持たせる。
図13に、このようなセキュアメモリを用いた情報処理装置の一実施例の構成ブロック図を示す。
図13において、セキュアメモリ部300は、R/W制御部610,メモリ620,アクセス制御部630から構成される。
アクセス制御部630は、アクセス量管理レジスタ631とアクセス制御フラグ632とを備える。また、モジュールBは、コンテンツ配信プログラム部700であり、コンテンツを配信するコンテンツ配信部720を備え、その他のブロックは図4のモジュールBと同じである。
モジュールAからセキュアメモリ部300へライトアクセスを行うと、R/W制御部610は書き込まれたデータをメモリ620に書き込むと共に、ライトアクセスがあったことをアクセス制御部630に通知する。アクセス制御部630は、図4のデータ量管理レジスタの処理同様に、アクセス量管理レジスタ631に対して書き込まれたデータ数をインクリメントし、書き込まれたアドレスに対応するアクセス制御フラグ632に、1をセットする。
モジュールBからセキュアメモリ部300へリードアクセスがあった場合、そのリードアクセスが、アクセス制御フラグ632に1が立っているアドレスに対するアクセスの場合は、そのリードを許可し、0の場合はリードを許可しないように制御する。これにより、リードワンスの機能を実現することができる。
図4の実施例の場合と同様に、不正アクセスモジュールがデータをリードした場合は、コンテンツ配信プログラム部700(モジュールB)で、不正検知が可能である。また、同じデータが再度セキュアメモリ300に書き込まれた場合は、モジュールAがアクセス量管理レジスタ631の数値をチェックすることによって、不正検出が可能である。
データを受け取ったコンテンツ配信モジュール700(モジュールB)は、受け取ったコンテンツのネットワーク配信を行う。この場合、コンテンツ配信モジュール700(モジュールB)は、受け取ったデータに対し、DTCPなどのネットワークにおけるデータ保護プロトコルに対応した暗号化を行った後に、配信を行う。
また、モジュールAに、認証管理部を設け、2つのモジュール間で正当なデータ転送が行われているか否かを、モジュールBからの応答によって検出することもできる。
たとえば、データ転送中にモジュールBが受信を行っていることを示す応答を、セキュアメモリ部300のライトオンリー領域320に書込むようにする。
図14に、応答を確認することによりデータ転送の正当性を判断する一実施例の説明図を示す。図14において、コンテンツ提供モジュール100(モジュールA)は上記実施例と同様に、ブロックデータをセキュアメモリのライトオンリー領域320に書き込み、リードワンス領域340を介して、コンテンツ配信モジュール700(モジュールB)にデータを転送する。
一方、コンテンツ配信モジュール700(モジュールB)は、受け取ったブロックデータのデータ量(応答)を、セキュアメモリ300の応答書き込み用領域(ライトオンリー領域320)に書き込む。この後、コンテンツ提供モジュール100(モジュールA)の認証管理部170が、セキュアメモリ300からコンテンツ配信モジュール700からの応答内容のチェックと、応答書き込み用領域のアクセス回数をチェックする。すなわち、モジュールBから返された応答(データ量)が、コンテンツ提供モジュール100(モジュールA)側で転送を行った量に合致しているかどうか、及びアクセス回数が正当かどうかのチェックを行う。モジュールAがセキュアメモリ300に書き込んだデータ量と応答のデータ量が合致していて、アクセス回数に問題がなければ、正当なデータ転送が行われていると判断する。
<セキュアメモリの正当性の検証>
また、この発明においては、コンテンツ提供プログラム部100、コンテンツ表示プログラム部200が、確実に正当なセキュアメモリ300に対してアクセスを行う必要がある。
しかし、例えば、情報処理装置のOSやドライバレベルで不正を行い、コンテンツ提供プログラム部100(モジュールA)からのセキュアメモリ部300の使用リクエストに対して、だれでもアクセスできるような一般的なメモリ領域を返すようにモジュールソフトを改造し、そのメモリ領域に書き込まれたコンテンツのブロックデータを盗む方法が考えられる。この場合はセキュアメモリ部300を介さずに、不正アクセスが行われる。
このような不正を防ぐ一つの方法として、コンテンツ提供プログラム100(モジュールA)そのもののメモリ展開機能(プログラム展開監視部190)を、セキュアメモリ部300に備えることが考えられる。
図15に、セキュアメモリの正当性検証処理の一実施例の説明図を示す。
図15に示すように、コンテンツ提供プログラム100(モジュールA)の内部に、認証用の鍵(アクセス情報)を格納した認証管理部170を設ける。また、初期状態において、コンテンツ提供プログラム部100(モジュールA)そのものは、暗号化されたモジュールデータ(暗号化モジュールA)として、セキュアメモリ300の保持する暗号鍵で暗号化してハードディスクに格納しておく。
モジュールAのプログラム実行時に、セキュアメモリ300の展開監視部190が、暗号化されたモジュールA(180)を復号化して、ハードディスク上に展開する。セキュアメモリ部300は、コンテンツ提供プログラム(モジュールA)の展開時に、モジュールAの埋め込み鍵を乱数値で書き換え、書き換えた後の埋め込み鍵の値をセキュアメモリ300内部に記憶しておく。
展開後のコンテンツ提供プログラム部100(モジュールA)は、実際の転送処理を開始する際、セキュアメモリ部300に対して乱数値を与える。セキュアメモリ部300は、モジュールAから与えられた乱数値と埋め込み鍵を用いて所定の演算(例えばXOR演算)を行い、その演算結果をモジュールAに返す。そしてコンテンツ提供プログラム部100(モジュールA)の認証管理部170が、自ら所有する埋め込み鍵と上記乱数値とを用いて行った演算と、セキュアメモリ300から返された演算結果が一致するか否かチェックする。
一致した場合、コンテンツ提供プログラム部100(モジュールA)は正当なセキュアメモリにアクセスしていると判断することができる。また、初期状態において、コンテンツ提供プログラム部100(モジュールA)は暗号化されており改竄が困難である。さらに、埋め込み鍵はモジュールプログラムの実行毎に変化させることができるため、不正アクセスモジュールが、この検証処理と同等の動作を実現することは難しく、不正アクセスをより確実に防止できる。
上記各実施形態に関し、次の付記を示す。
(付記1)
機能モジュールからのデータの書込み操作とデータの読出し操作とを受ける記憶素子であって、
前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶する記憶部と、
前記機能モジュールによって書込まれたデータのデータ量を前記機能モジュールから読出し可能なように格納したデータ量管理レジスタと、
前記機能モジュールによって前記記憶部に記憶されたデータの読出しが行われた場合、当該読み出されたデータに対応するデータが格納されていた前記記憶部のメモリ領域について、前記機能モジュールによるデータの書込みが行われるまで、データの読出しを不能とするように制御する制御部とを備えたことを特徴とするデータ保護機能を有する記憶素子。
(付記2)
機能モジュールからのデータの書込み操作と、データの読出し操作とを受ける記憶素子であって、前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶し、前記データの書込みのみを許可するライトオンリーメモリ領域と、前記データの読出しのみを許可するリードオンリーメモリ領域とを有する記憶部と、前記ライトオンリーメモリ領域に書込まれたデータを、前記リードオンリーメモリ領域に転送する転送処理部と、一旦読み出されたデータを格納するリードオンリーメモリ領域についてライトオンリーメモリ領域からリードオンリーメモリ領域にデータが転送されるまで読み出しを不能とするアクセス制御部と、前記機能モジュールによって書込まれたデータのデータ量として、前記転送処理部によって転送されたデータのデータ量を、前記機能モジュールから読出し可能なように格納する前記データ量管理レジスタと、を有することを特徴とする記憶素子。
(付記3)
付記1または2に記載の記憶素子であって、前記機能モジュールからのアクセスを許可又は禁止するためのアクセス制御フラグをさらに備え、前記アクセス制御フラグが第1状態のとき前記機能モジュールからの前記記憶部の書込み許可および機能モジュールによる記憶部の読出し禁止とし、第2状態のとき機能モジュールからの記憶部の書込み禁止および機能モジュールによる記憶部の読出し許可とし、前記機能モジュールによってデータが書込まれた後に、アクセス制御フラグを第2状態に設定することにより前記機能モジュールから記憶部を書込み禁止とし、前記アクセス制御フラグが第2状態のときに前記機能モジュールからの読出し要求があった場合、前記機能モジュールによる記憶部の読出しを許可し、前記読出しが行われた後にアクセス制御フラグを第1状態に設定することにより前記機能モジュールによる記憶部を読出し禁止とすることを特徴とする記憶素子。
(付記4)
付記2の記憶素子であって、
前記機能モジュールからのアクセスを許可又は禁止するためのアクセス制御フラグをさらに備え、
アクセス制御フラグが第1状態のときライトオンリーメモリ領域の書込み許可およびリードオンリーメモリ領域の読出し禁止とし、第2状態のときライトオンリーメモリ領域の書込み禁止およびリードオンリーメモリ領域の読出し許可とし、
前記機能モジュールによってデータが書込まれた後に、アクセス制御フラグを第2状態に設定することによりライトオンリーメモリ領域を書込み禁止とすることを特徴とする記憶素子。
(付記5)
付記4の記憶素子であって、
前記アクセス制御フラグが第2状態のときに前記機能モジュールからの読出し要求があった場合、前記リードオンリーメモリ領域の読出しを許可し、前記読出しが行われた後にアクセス制御フラグを第1状態に設定することによりリードオンリーメモリ領域を読出し禁止とすることを特徴とする記憶素子。
(付記6)
付記4の記憶素子であって、
前記アクセス制御フラグが第1状態のときに、前記機能モジュールからの読出し要求があった場合、読出し要求のあったデータを、書込まれたデータに出現することのないパターンデータに置き換え、このパターンデータが前記機能モジュールによって読み出されるようにすることを特徴とする記憶素子。
(付記7)
前記パターンデータは、オールゼロデータであることを特徴とする付記6の記憶素子。(付記8)
前記アクセス制御フラグは、前記第1状態のとき0に設定され、前記第2状態のとき1に設定されることを特徴とする付記4,5,6または7の記憶素子。
(付記9)
前記付記1乃至8に記載のいずれかの記憶素子と、前記記憶素子にデータを書き込む第1機能モジュールと、前記記憶素子からデータを読み出す第2機能モジュールとを備え、第1機能モジュールが持つコンテンツデータを、前記記憶素子のライトオンリーメモリ領域に書き込んだ後、書き込まれたコンテンツデータを記憶素子のリードオンリーメモリ領域に転送し、リードオンリーメモリ領域に転送されたコンテンツデータを、第2機能モジュールが読出すことを特徴とする情報処理装置。
(付記10)
前記第1機能モジュールが、前記記憶素子に書込んだデータのデータ量D1を管理する通信量管理部と、前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部とを備え、前記第1機能モジュールの不正検出部は、前記記憶素子のデータ量管理レジスタを読み出すことで実際に転送されたデータ量D2を取得し、前記通信量管理部によって管理されているデータ量D1と、前記データ量D2とを比較することによって、データの不正アクセスが行われているか否かを判断することを特徴とする付記9の情報処理装置。
(付記11)
前記第1機能モジュールの不正検出部が、前記記憶素子のデータ量管理レジスタから得たデータ量D2が、前記データ量D1よりも大きい場合に、不正アクセスがあったと判断し、第1機能モジュールが、以後の記憶素子へのデータの書込みを実行しないことを特徴とする付記10の情報処理装置。
(付記12)
前記第2機能モジュールが、不正検出部を備え、前記第2機能モジュールの不正検出部が、前記記憶素子から読み出したデータが、書込まれたデータに出現することのないパターンデータであることを検出した場合には、不正アクセスがあったと判断することを特徴とする付記9の情報処理装置。
(付記13)
付記12の情報処理装置であって、
前記第2機能モジュールは、前記第2機能モジュールの不正検出部が不正アクセスがあったと判断した場合に前記第1機能モジュールにその旨を通知する不正通知部を備え、
前記通知を受けた第1機能モジュールは、以後の記憶素子へのデータの書込みを実行しないことを特徴とする情報処理装置。
この発明のデータ保護機構の概略説明図である。 この発明のデータ保護機構において、不正アクセスがあった場合の説明図である。 この発明のデータ保護機構において、不正アクセスがあった場合の説明図である。 この発明のデータ転送機能等を実現する情報処理装置の一実施例の構成ブロック図である。 この発明のセキュアメモリ部の記録ブロック等の説明図である。 この発明のアクセス制御フラグと、リードワンス領域の対応付けの説明図である。 この発明のセキュアメモリ部のリードワンス領域に対して行う読出処理のフローチャートである。 この発明のセキュアメモリ部のライトオンリー領域に対して行う書込処理のフローチャートである。 この発明のセキュアメモリ部の転送処理部の一実施例の処理内容の説明図である。 この発明のデータ転送時に用いられる管理情報の一実施例の説明図である。 この発明のコンテンツ提供プログラム(モジュールA)の一実施例のフローチャートである。 この発明のコンテンツ表示プログラム(モジュールB)の一実施例のフローチャートである。 この発明の情報処理装置の一実施例の構成ブロック図である。 この発明において、データ転送の正当性を判断する一実施例の説明図である。 この発明のセキュアメモリ部の正当性の検証処理の一実施例の説明図である。 従来の耐タンパー化モジュールの概念的な説明図である。 従来において、2つのモジュール間で相互にデータ交換をする場合の概念的な説明図である。 従来において、2つのモジュール間でデータを転送する場合の概念的な説明図である。 従来において、ハードディスクを用いて、モジュール間のデータ転送をする場合の概念的な説明図である。
符号の説明
1 モジュールA
2 モジュールB
3 セキュアメモリ3
4 ライトオンリーメモリ
5 リードワンスメモリ
6 データ量管理レジスタ
7 メモリ制御部
100 コンテンツ提供プログラム
110 コンテンツ格納部
120 コンテンツ管理情報格納部
130 通信量管理部
140 通信制御部
150 不正検出部
160 通信処理部
210 不正検出部
220 コンテンツ表示部
230 通信制御部
240 コンテンツ処理部
250 通信処理部
300 セキュアメモリ部
310 R/W制御部
320 ライトオンリー領域部
340 リードワンス領域部
341 アクセス制御フラグ
350 転送処理部
360 データ量管理部
361 データ量管理レジスタ

Claims (6)

  1. 機能モジュールからのデータの書込み操作と、データの読出し操作とを受ける記憶素子であって、
    前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶する記憶部と、
    前記機能モジュールによって書込まれたデータのデータ量を前記機能モジュールから読出し可能なように格納したデータ量管理レジスタと、
    前記機能モジュールによって前記記憶部に記憶されたデータの読出しが行われた場合、当該読み出されたデータに対応するデータが格納された前記記憶部のメモリ領域について、前記機能モジュールによるデータの書込みが行われるまで、データの読出しを不能とするように制御するアクセス制御部とを備えたことを特徴とするデータ保護機能を有する記憶素子。
  2. 機能モジュールからのデータの書込み操作と、データの読出し操作とを受ける記憶素子であって、
    前記データを格納する所定容量のメモリ領域を有し前記機能モジュールによって書込まれたデータを記憶し、前記データの書込みのみを許可するライトオンリーメモリ領域と、前記データの読出しのみを許可するリードオンリーメモリ領域とを有する記憶部と、
    前記ライトオンリーメモリ領域に書込まれたデータを、前記リードオンリーメモリ領域に転送する転送処理部と、
    一旦読み出されたデータを格納するリードオンリーメモリ領域についてライトオンリーメモリ領域からリードオンリーメモリ領域にデータが転送されるまで読み出しを不能とするアクセス制御部と、
    前記機能モジュールによって書込まれたデータのデータ量として、前記転送処理部によって転送されたデータのデータ量を、前記機能モジュールから読出し可能なように格納する前記データ量管理レジスタと、を有することを特徴とする記憶素子。
  3. 請求項1または2に記載の記憶素子であって、
    前記機能モジュールからのアクセスを許可又は禁止するためのアクセス制御フラグをさらに備え、
    前記アクセス制御フラグが第1状態のとき前記機能モジュールからの前記記憶部の書込み許可および機能モジュールによる記憶部の読出し禁止とし、第2状態のとき機能モジュールからの記憶部の書込み禁止および機能モジュールによる記憶部の読出し許可とし、
    前記機能モジュールによってデータが書込まれた後に、アクセス制御フラグを第2状態に設定することにより前記機能モジュールから記憶部を書込み禁止とし、
    前記アクセス制御フラグが第2状態のときに前記機能モジュールからの読出し要求があった場合、前記機能モジュールによる記憶部の読出しを許可し、前記読出しが行われた後にアクセス制御フラグを第1状態に設定することにより前記機能モジュールによる記憶部を読出し禁止とすることを特徴とする記憶素子。
  4. 請求項1乃至3に記載のいずれかの記憶素子と、
    前記記憶素子にデータを書き込む第1機能モジュールと、
    前記記憶素子からデータを読み出す第2機能モジュールとを備え、
    第1機能モジュールが、コンテンツデータを前記記憶素子の記憶部に書き込んだ後、前記記憶素子は書込まれたコンテンツデータの読み出しを可能となるように制御し、第2機能モジュールが記憶部に記憶されたコンテンツデータを読出すことを特徴とする情報処理装置。
  5. 請求項4に記載の情報処理装置であって、
    前記第1機能モジュールが、
    前記記憶素子に書込んだデータのデータ量D1を管理する通信量管理部と、
    前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部とを備え、
    前記第1機能モジュールの不正検出部は、前記記憶素子のデータ量管理レジスタを読み出すことで記憶素子に書込まれたデータ量D2を取得し、前記通信量管理部によって管理されているデータ量D1と、前記データ量D2とを比較することによって、データの不正アクセスが行われているか否かを判断することを特徴とする情報処理装置。
  6. 請求項4又は5に記載の情報処理装置であって、
    前記第2機能モジュールが、
    前記記憶素子においてデータの不正アクセスが行われていることを検出する不正検出部を備え、
    前記第2機能モジュールの不正検出部は、前記記憶素子から読み出したデータが、書込まれたデータに出現することのないパターンデータであることを検出した場合には、不正アクセスがあったと判断することを特徴とする情報処理装置。
JP2006292796A 2006-10-27 2006-10-27 データ保護機能を有する記憶素子 Withdrawn JP2008108212A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006292796A JP2008108212A (ja) 2006-10-27 2006-10-27 データ保護機能を有する記憶素子
US11/703,220 US20080104368A1 (en) 2006-10-27 2007-02-07 Storage element having data protection functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006292796A JP2008108212A (ja) 2006-10-27 2006-10-27 データ保護機能を有する記憶素子

Publications (1)

Publication Number Publication Date
JP2008108212A true JP2008108212A (ja) 2008-05-08

Family

ID=39331788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006292796A Withdrawn JP2008108212A (ja) 2006-10-27 2006-10-27 データ保護機能を有する記憶素子

Country Status (2)

Country Link
US (1) US20080104368A1 (ja)
JP (1) JP2008108212A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5734492B1 (ja) * 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR20160033735A (ko) * 2013-07-18 2016-03-28 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 공격 검출

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5909863B2 (ja) * 2011-04-07 2016-04-27 セイコーエプソン株式会社 電気光学装置の制御装置、電気光学装置および電子機器
US20140082752A1 (en) * 2012-09-17 2014-03-20 International Business Machines Corporation Read-Once Data Sets and Access Method
US20180330084A1 (en) * 2014-07-02 2018-11-15 Empire Technology Development Llc Memory attack detection
US10003585B2 (en) * 2016-08-02 2018-06-19 Samsung Electronics Co., Ltd. Systems, devices, and methods for preventing unauthorized access to storage devices
US11467954B2 (en) * 2020-10-03 2022-10-11 Lenovo (Singapore) Pte. Ltd. Passing data between programs using read-once memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779099B2 (en) * 2001-07-20 2004-08-17 Chien-Tzu Hou Operation method for controlling access attributes of a memorized page of a memory unit and its structure
US6959370B2 (en) * 2003-01-03 2005-10-25 Hewlett-Packard Development Company, L.P. System and method for migrating data between memories

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160033735A (ko) * 2013-07-18 2016-03-28 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 공격 검출
KR101723100B1 (ko) * 2013-07-18 2017-04-05 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 공격 검출
JP5734492B1 (ja) * 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Also Published As

Publication number Publication date
US20080104368A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
US10769252B2 (en) Method and apparatus for watermarking of digital content, method for extracting information
US8839001B2 (en) Infinite key memory transaction unit
US8843767B2 (en) Secure memory transaction unit
US20070226412A1 (en) Storage device, controller for storage device, and storage device control method
EP0768601B1 (en) Device for executing enciphered program
JP4073913B2 (ja) 開放型汎用耐攻撃cpu及びその応用システム
US7222232B2 (en) License-based cryptographic technique particularly suited for use in a digital rights management system for controlling access and use of bore resistant software objects in a client computer
US7933838B2 (en) Apparatus for secure digital content distribution and methods therefor
JP2008108212A (ja) データ保護機能を有する記憶素子
JP2007531127A (ja) デジタルライセンス共有システム及び共有方法
JP4999191B2 (ja) セキュア情報格納システム及び方法
JP2000138664A (ja) 公開キ―暗号方式を利用したコンテンツの保護方法
MX2013006157A (es) Dispositivo y metodo de gestion de datos sensibles.
EP3059897B1 (en) Methods and devices for authentication and key exchange
EP2990953B1 (en) Periodic memory refresh in a secure computing system
US20040250089A1 (en) Method, system, device and computer program for mutual authentication and content protection
JP2008033512A (ja) セキュリティチップ及びプラットフォーム
JP2010113607A (ja) 記録媒体装置、コンテンツ利用システム及び記録媒体装置の制御方法
JP2009080772A (ja) ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム
US9092619B2 (en) Data processing apparatus
JP2010165206A (ja) メモリコントローラおよび不揮発性記憶装置
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
JP4673150B2 (ja) デジタルコンテンツ配信システムおよびトークンデバイス
EP1714204B1 (en) License information management apparatus and license information management method
KR100310445B1 (ko) Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105