[go: up one dir, main page]

JP2010113615A - Semiconductor system - Google Patents

Semiconductor system Download PDF

Info

Publication number
JP2010113615A
JP2010113615A JP2008287076A JP2008287076A JP2010113615A JP 2010113615 A JP2010113615 A JP 2010113615A JP 2008287076 A JP2008287076 A JP 2008287076A JP 2008287076 A JP2008287076 A JP 2008287076A JP 2010113615 A JP2010113615 A JP 2010113615A
Authority
JP
Japan
Prior art keywords
random number
unit
data
protected
information
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.)
Pending
Application number
JP2008287076A
Other languages
Japanese (ja)
Inventor
Masashi Shimoda
雅志 下田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008287076A priority Critical patent/JP2010113615A/en
Publication of JP2010113615A publication Critical patent/JP2010113615A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】システムメモリ(主メモリ部)に書き込むデータを保護することができ、データの不正な複製等を防止することが可能な半導体システムを提供することである。
【解決手段】半導体システム10Aは、保護された情報を入力し、保護の解除処理を行うことが可能な機密情報処理部15Aと、乱数を発生する乱数発生部16-1と、発生した乱数あるいは乱数を発生するためのシードを保存するバッファ部16-2又は16-2aと、前記乱数と保護すべき情報との排他的論理和の計算により、前記保護すべき情報の前記乱数による暗号化及び復元を行う排他的論理和部17と、前記排他的論理和部で暗号化された保護すべき情報を記憶する主メモリ部12と、前記主メモリに記憶した情報を前記排他的論理和回路に戻して復元させ、該復元した情報を再生部13又は14に供給するように制御する制御部11とを備えている。
【選択図】図1
An object of the present invention is to provide a semiconductor system capable of protecting data written to a system memory (main memory section) and preventing illegal duplication of data.
A semiconductor system includes a confidential information processing unit capable of inputting protected information and performing a protection releasing process, a random number generating unit that generates a random number, and a generated random number or Encryption of the information to be protected with the random number by calculating an exclusive OR of the buffer unit 16-2 or 16-2a for storing a seed for generating a random number and the random number and the information to be protected; An exclusive OR unit 17 that performs restoration, a main memory unit 12 that stores information to be protected encrypted by the exclusive OR unit, and information stored in the main memory in the exclusive OR circuit And a control unit 11 that controls to restore and restore the restored information to the reproduction unit 13 or 14.
[Selection] Figure 1

Description

本発明は、保護される通信やマルチメディアの処理(再生、メディアへの記録)を含む、機密性の高い情報を扱う半導体システムに関するものである。   The present invention relates to a semiconductor system that handles highly confidential information, including protected communication and multimedia processing (playback and recording on media).

通信や音声および映像等のマルチメディア技術においては、通信対象データあるいはマルチメディアコンテンツの保護を目的として、暗号技術あるいはその応用であるVPN(Virtual Private Networkの略)やDRM(Digital Right Managementの略)技術が使用される。これらの技術で重要な要素として、保護すべき情報である秘匿情報の漏洩を起こさないシステム上での取り扱いがある。秘匿情報とは、暗号の鍵や処理で使用するパラメータ、あるいは保護を解除するためのアルゴリズムそのもの、さらに保護を解除したあとのデータやコンテンツが該当する。   In multimedia technology such as communication, audio and video, encryption technology or its application VPN (abbreviation of Virtual Private Network) or DRM (abbreviation of Digital Right Management) for the purpose of protecting data to be communicated or multimedia content Technology is used. As an important element in these technologies, there is handling on a system that does not cause leakage of confidential information that is information to be protected. The confidential information includes encryption keys, parameters used in processing, an algorithm for releasing protection itself, and data and contents after the protection is released.

保護(暗号化)されたコンテンツデータが通信やメディアから読み込まれる従来の半導体システムで、上記の保護処理を行うことを考える。このシステムは、システムを管理するためのメインCPUと、データおよびプログラムを保存するためのシステムメモリと、保護を解除されたビデオ(VIDEO)およびオーディオ(AUDIO)のコンテンツを、アナログ出力するための再生処理を行うビデオモジュールとオーディオモジュールと、コンテンツの保護解除に関わる秘匿情報を、メインCPUで動作する可能性のある悪意あるプログラムから保護することが可能な機密情報処理モジュールと、を備える。ここで、モジュールとは、システムの特性に合わせてさまざまな機能に特化した各機能のブロックを指す。   Consider performing the above-described protection processing in a conventional semiconductor system in which protected (encrypted) content data is read from communication or media. This system has a main CPU for managing the system, a system memory for storing data and programs, and playback of video (VIDEO) and audio (AUDIO) content that has been unprotected for analog output. A video module and an audio module that perform processing, and a confidential information processing module that can protect confidential information related to content protection cancellation from a malicious program that may operate on the main CPU. Here, the module refers to a block of each function specialized for various functions according to the characteristics of the system.

機密情報処理モジュール内で行われる保護解除処理は、メインCPUとは分離することで保護が達成されている。しかし、機密情報処理モジュールでの保護解除処理終了後、他の各モジュールへのデータ転送などの際に、保護を解除したコンテンツ(以下平文コンテンツと呼ぶ)をシステムメモリに一時保存することが必要な場合がある。システムメモリに置かれたデータは、メインCPUで実行される不正な悪意あるプログラム等からの利用の恐れがあったり、JTAG ICE等のデバッガ用ツールを通してデータの漏洩が生じる可能性がある。従って、システムメモリに置かれる平文コンテンツを保護し、不正な複製等を禁止できるシステムを構築するという課題が生じる。   The protection cancellation processing performed in the confidential information processing module is protected by being separated from the main CPU. However, after the protection cancellation processing in the confidential information processing module is completed, it is necessary to temporarily store the protected content (hereinafter referred to as plaintext content) in the system memory when transferring data to other modules. There is a case. Data placed in the system memory may be used by an unauthorized malicious program executed by the main CPU, or data leakage may occur through a debugger tool such as JTAG ICE. Accordingly, there arises a problem of building a system capable of protecting plaintext contents placed in the system memory and prohibiting illegal copying.

ところで、例えば特許文献1には、機密保護のためデータの暗号化処理と、データ転送とを効率よく行うことができるDMAコントローラが開示されている。
しかしながら、特許文献1に基づいてシステムメモリに置かれた平文コンテンツを保護した場合、転送先或いは転送元のアドレス及び前ブロックの暗号データに基づいて乱数を再生成しているため、転送範囲に対して、頭の部分から順繰りに処理しないと復号できないという問題がある。また、各対象データのフォーマットに対応して、暗号及び復号範囲を一部除外するなどの対応が難しいという問題がある。
特開2007−102468号公報
By the way, for example, Patent Document 1 discloses a DMA controller capable of efficiently performing data encryption processing and data transfer for security protection.
However, when plaintext content placed in the system memory is protected based on Patent Document 1, random numbers are regenerated based on the transfer destination or transfer source address and the encrypted data of the previous block. Thus, there is a problem that decoding cannot be performed unless processing is performed in order from the head. In addition, there is a problem that it is difficult to deal with, for example, partially excluding encryption and decryption ranges corresponding to the format of each target data.
JP 2007-102468 A

そこで、本発明は上記の問題に鑑み、システムメモリに書き込むデータを保護することができ、データの不正な複製等を防止することが可能な半導体システムを提供することを目的とするものである。   In view of the above problems, an object of the present invention is to provide a semiconductor system that can protect data written to a system memory and prevent illegal duplication of data.

本発明の一態様によれば、保護された情報を入力し、その保護の解除及び情報の保持を行うことが可能な機密情報処理部と、乱数を発生する乱数発生部と、発生した乱数あるいは乱数を発生するためのシードを保存するバッファ部と、前記乱数と前記機密情報処理部に保持した保護すべき情報との排他的論理和の演算により、前記保護すべき情報の前記乱数による暗号化及びその解除によって前記情報の保護及び復元を行う排他的論理和部と、前記排他的論理和部で暗号化によって保護された情報を記憶する主メモリ部と、少なくとも前記主メモリ部へのアクセスが可能で前記バッファ部へのアクセスが禁止される制御部であって、前記主メモリ部に記憶した保護された情報を前記排他的論理和部に戻すことによって、前記バッファ部で保存している乱数との排他的論理和の演算により復元される情報を再生部に供給するように制御する制御部とを具備した半導体システムが提供される。   According to one aspect of the present invention, a confidential information processing unit capable of inputting protected information, releasing the protection and holding the information, a random number generating unit for generating a random number, and a generated random number or A buffer unit that stores a seed for generating a random number, and encryption of the information to be protected by the random number by calculating an exclusive OR of the random number and the information to be protected held in the confidential information processing unit. And an exclusive OR unit that protects and restores the information by releasing it, a main memory unit that stores information protected by encryption in the exclusive OR unit, and at least access to the main memory unit A control unit that is capable of being accessed and prohibited from accessing the buffer unit, and that the protected information stored in the main memory unit is stored in the buffer unit by returning it to the exclusive OR unit. Semiconductor system and a control unit for controlling the information to be restored by the calculation of the exclusive OR of the by that random number to supply the reproduction unit is provided.

本発明によれば、システムメモリに書き込むデータを保護することができ、データの不正な複製等を防止することが可能な半導体システムを実現することができる。   ADVANTAGE OF THE INVENTION According to this invention, the semiconductor system which can protect the data written in a system memory and can prevent illegal duplication of data, etc. is realizable.

発明の実施の形態について図面を参照して説明する。
まず、図10を参照して従来技術について説明する。
図10に示すような半導体システム10では、システムを管理するためのメインCPU11と、データおよびプログラムを保存するためのシステムメモリ12と、保護を解除されたビデオ(VIDEO)およびオーディオ(AUDIO)コンテンツを、アナログ出力するための再生処理を行うビデオモジュール13及びオーディオモジュール14と、コンテンツの保護解除に関わる秘匿情報を、メインCPU11で動作する可能性のある悪意あるプログラムから保護することが可能な機密情報処理モジュール15と、を備える。なお、機密情報処理モジュール15は、本来、平文化した状態のデータがシステムメモリやメインCPU等を介して一般ユーザーに見られる状態になるのを防ぐために他のデータとは別に区分して保持しておくために設けられているものである。
Embodiments of the invention will be described with reference to the drawings.
First, the prior art will be described with reference to FIG.
In a semiconductor system 10 as shown in FIG. 10, a main CPU 11 for managing the system, a system memory 12 for storing data and programs, and video (VIDEO) and audio (AUDIO) contents whose protection has been removed are stored. Confidential information that can protect the confidential information related to the protection cancellation of the content from the video module 13 and the audio module 14 that perform reproduction processing for analog output from a malicious program that may operate on the main CPU 11 And a processing module 15. The confidential information processing module 15 is originally stored separately from other data in order to prevent normal data from being viewed by general users via the system memory or the main CPU. It is provided to keep it.

機密情報処理モジュール15内で行われる保護解除処理は、メインCPU11とは分離することによって保護が達成されている。しかし、機密情報処理モジュール15での保護解除処理終了後、ビデオ及びオーディオモジュール13,14等の他の各モジュールへのデータ転送などの際に、保護を解除し平文コンテンツをシステムメモリ12に一時保存することが必要な場合がある。このような場合に、システムメモリ12に置かれたデータは、メインCPU11で実行される不正な悪意あるプログラム等から利用される虞があったり、JTAG ICE等のデバッガ用ツールを通してデータの漏洩が生じる可能性がある。これは、保護されたデータは、機密情報処理モジュール15での保護解除処理終了後は、既存のプログラムされたデータフローが、システムメモリ12を経由して再生用モジュールにデータを転送するフローとなっているためである。従って、このようなデータフローにおいて、システムメモリ12に置かれる平文コンテンツを保護(暗号化)し、不正な複製等を禁止(防止)しなければならない課題が生じる。   The protection cancellation processing performed in the confidential information processing module 15 is protected by being separated from the main CPU 11. However, after the protection cancellation processing in the confidential information processing module 15 is completed, the protection is canceled and the plaintext content is temporarily stored in the system memory 12 when transferring data to other modules such as the video and audio modules 13 and 14. You may need to In such a case, data placed in the system memory 12 may be used by an unauthorized malicious program executed by the main CPU 11, or data leakage may occur through a debugger tool such as JTAG ICE. there is a possibility. This is a flow in which protected data is transferred from the existing programmed data flow to the playback module via the system memory 12 after the protection cancellation processing in the confidential information processing module 15 is completed. This is because. Therefore, in such a data flow, there arises a problem that the plain text content placed in the system memory 12 must be protected (encrypted) and unauthorized copying or the like must be prohibited (prevented).

次に、図10に示す半導体システムにおいて、保護(暗号化)されたコンテンツデータが通信やメディアから半導体システムに読み込まれた後の処理について考察する。システムメモリ12に読み込まれたデータは、機密情報用CPU15-1によって保護を解除された平文コンテンツとなり、機密情報用内部メモリ15-2にバッファ(一時記憶)される。次にこの平文コンテンツをシステムメモリ12に書き込む際に、メインCPU11からのアクセスに対する保護を行う課題があることは前述した。ここでは、具体的なアプリケーションとして、メディア再生を例にその処理の流れと問題点を述べる。まず、コンテンツデータのフローは以下のようになる。   Next, in the semiconductor system shown in FIG. 10, processing after protected (encrypted) content data is read into the semiconductor system from communication or media will be considered. The data read into the system memory 12 becomes plain text contents whose protection is canceled by the confidential information CPU 15-1, and is buffered (temporarily stored) in the confidential information internal memory 15-2. Next, as described above, there is a problem of protecting access from the main CPU 11 when writing this plaintext content into the system memory 12. Here, as a specific application, the processing flow and problems will be described taking media playback as an example. First, the flow of content data is as follows.

(1) 図10では省略されているDVDやネットワークといった外部媒体から、DRM技術で保護された状態のコンテンツデータが、システムメモリ12に取り込まれる。
(2) 保護状態を解除するために、コンテンツデータを機密情報処理モジュール15の機密情報用内部メモリ15-2に転送する。続いて機密情報用CPU15-1で実行されるプログラムによってコンテンツデータの保護(暗号化)が実際に解除される。この結果得られた平文コンテンツは、機密情報用内部メモリ15-2に保存される。
(3) 保存された平文コンテンツは、メインCPU11の指示によって、システムメモリ12を経由して例えばコーデック等のビデオ,オーディオの再生用モジュール13,14を経て再生される。
(1) Content data protected by the DRM technique is taken into the system memory 12 from an external medium such as a DVD or a network which is omitted in FIG.
(2) In order to cancel the protection state, the content data is transferred to the confidential information internal memory 15-2 of the confidential information processing module 15. Subsequently, the protection (encryption) of the content data is actually released by the program executed by the confidential information CPU 15-1. The plaintext content obtained as a result is stored in the confidential information internal memory 15-2.
(3) The stored plaintext content is played back via the system memory 12 via the video and audio playback modules 13 and 14 via the system memory 12 in accordance with an instruction from the main CPU 11.

ここで基本的なフローは終了である。ただし、
(4) 再生に関連する機能として、平文コンテンツに何らかの加工を行う場合で、保護解除された映像や音声データに一定の処理を行ったり、それらを利用して品質向上を図るためのデータ(補間フレームや音質向上用データ)の作成
といった処理が加わることもある。
Here, the basic flow ends. However,
(4) As a function related to playback, when processing plaintext content, some data (interpolation) is used to perform certain processing on the unprotected video and audio data and use them to improve quality. Processing such as creation of frames and sound quality improvement data) may be added.

図10に示されるような半導体システムにおいて、保護を解除された平文コンテンツは、複製可能な映像および音声であり、JTAG ICE等のツールや悪意のあるプログラムを通じてのこのデータへのアクセスを許せば、有価なデータの不法な複製が市中に出回る原因となる。
しかし、従来技術では、システムメモリ12の有効な保護手段が無い。したがって、上記(3)の処理に際し平文コンテンツを保護するためには、システムメモリ12を介することなく、データを機密情報処理モジュール15から直接再生用モジュール13,14に送るためのデータバッファ及びローカルバスというようなデータパスを準備する必要があった。
In the semiconductor system as shown in FIG. 10, the protected plaintext contents are copyable video and audio, and if access to this data through a tool such as JTAG ICE or a malicious program is allowed, Unlawful duplication of valuable data will be circulated in the market.
However, in the prior art, there is no effective protection means for the system memory 12. Therefore, in order to protect the plaintext content during the process (3), a data buffer and a local bus for sending data directly from the confidential information processing module 15 to the reproduction modules 13 and 14 without using the system memory 12. It was necessary to prepare such a data path.

或いは、機密情報処理モジュール15内で保護を解除された平文コンテンツをその保護に用いられていたものとは別のアルゴリズムによって再度暗号化した後にシステムメモリ12へ出力する必要があった。
前者においては、機密情報処理モジュール15の基本機能には変更が無いのに、アプリケーションに依存して再生用モジュール13,14等の他のモジュールとの接続に変更が生じ、機密情報処理モジュール15のファームウェアの変更も発生することから、半導体システムのスケーラビリティ(規模)やデザインの再利用性が乏しくなるといった問題があった。
Alternatively, it is necessary to encrypt the plaintext content whose protection is canceled in the confidential information processing module 15 again using an algorithm different from that used for the protection and then output it to the system memory 12.
In the former, although the basic function of the confidential information processing module 15 is not changed, the connection with other modules such as the reproduction modules 13 and 14 is changed depending on the application, and the confidential information processing module 15 Since firmware changes occur, there is a problem that the scalability (scale) of the semiconductor system and the reusability of the design become poor.

また、後者においては、システムメモリ12に取り込まれた暗号化したデータを再生処理する際に、平文コンテンツの再生処理を担うモジュールが更に暗号の復号処理を行う必要が生じる。このことはシステムの回路規模増大、システムの消費電力増大を意味する。更に、保護を解かれた平文コンテンツの再暗号・復号処理の存在がシステムの処理性能低下の要因となる。   In the latter case, when the encrypted data fetched into the system memory 12 is reproduced, the module responsible for the plaintext content reproduction process needs to further perform the encryption decryption process. This means an increase in the circuit scale of the system and an increase in power consumption of the system. Furthermore, the presence of re-encryption / decryption processing of plaintext content that has been unprotected causes a reduction in processing performance of the system.

また、上記(4)のような処理を導入するに当たり、システムメモリ12上で一切の処理が行えない場合には、機密情報処理モジュール15に、保護を解除する基本機能だけでなく、複数フレームの平文コンテンツの管理や表示といった応用機能までの全てを導入する必要がある。このとき、機密情報処理モジュール15とメインCPU11間の制御および通信手順がアプリケーションに大きく依存することになり、メインCPU11で動作するアプリケーションやドライバおよび機密情報処理モジュール15で動作するファームウェアの再利用性が大きく低下することになる。もしくは、画像処理側にローカルメモリを導入し、メインCPU11とは分離した画像専用のCPUでローカルメモリ上のデータを上記(4)に従って処理することになり、これはコストを増大させる結果となる。   In addition, when the processing as described in (4) above is introduced, if no processing can be performed on the system memory 12, the confidential information processing module 15 has not only a basic function for releasing protection but also a plurality of frames. It is necessary to introduce everything up to application functions such as management and display of plaintext content. At this time, the control and communication procedure between the confidential information processing module 15 and the main CPU 11 greatly depend on the application, and the reusability of the application and driver operating on the main CPU 11 and the firmware operating on the confidential information processing module 15 is reduced. It will drop greatly. Alternatively, a local memory is introduced on the image processing side, and the data on the local memory is processed in accordance with the above (4) by a CPU dedicated to images separated from the main CPU 11, which results in an increase in cost.

また、他の従来技術に、メインCPU11自体にメモリを内蔵させ、このCPUの2つの動作モードである通常モードとセキュアモードのうち、セキュアモードでのみ内蔵メモリのアクセスを許可することで、メモリ上のデータの保護を行うシステムもあるが、CPUの高度なアーキテクチャを利用することでコスト増となりメモリ容量にも制約がある上、専用のソフトウェアサービスを利用する必要もある。   In another conventional technique, the main CPU 11 itself has a built-in memory, and the access to the built-in memory is permitted only in the secure mode of the normal operation mode and the secure mode, which are the two operation modes of the CPU. Although there is a system that protects the data, the use of a sophisticated CPU architecture increases the cost and restricts the memory capacity, and it is also necessary to use a dedicated software service.

本発明は、以上述べた問題点を解決するために、システムメモリに書き込むデータの保護手段を提供することを目的とするものである。システムメモリ上のデータの保護手段が存在すれば、システムメモリを平文コンテンツの一時保存領域として汎用のメモリを利用できるほか、半導体システムの用途に合わせて最適なメモリサイズを選択できるため、コスト面でも有利である。また、機密情報処理モジュールには、メインCPUからのシステムメモリ上の保護解除動作、非保護の平文コンテンツの処理、システムメモリとのデータ通信に関わる動作など単機能的な各要素の処理を導入すればよく、保守性が向上する。このことから、アプリケーションの多様性に関わらず、統一的な仕組みで平文コンテンツの保護が出来ることになり、秘匿データの保護機構全体のスケーラビリティを向上することが出来る。   An object of the present invention is to provide means for protecting data written to a system memory in order to solve the above-described problems. If there is a means of protecting the data on the system memory, general-purpose memory can be used as a temporary storage area for plain text content, and the optimum memory size can be selected according to the application of the semiconductor system, so that the cost is also reduced. It is advantageous. In addition, the confidential information processing module is introduced with processing of each single functional element such as a protection release operation on the system memory from the main CPU, processing of unprotected plaintext content, and operations related to data communication with the system memory. The maintainability is improved. For this reason, plain text contents can be protected by a unified mechanism regardless of the variety of applications, and the scalability of the entire secret data protection mechanism can be improved.

[第1の実施形態]
図1は本発明の第1の実施形態の半導体システムのブロック図を示している。
図1に示す半導体システム10Aは、メインCPU11、システムメモリ12、ビデオモジュール13、オーディオモジュール14、機密情報処理モジュール15A、乱数発生装置16-1、乱数バッファ16-2、XOR回路17を備えている。
機密情報処理部である機密情報処理モジュール15Aは、機密情報用CPU15-1と機密情報用内部メモリ15-2とDMAコントローラ(以下、DMACと略記)15-3とを備え、外部より保護された情報をシステムメモリ12を経由して入力し、保護の解除及びデータの保持を行うことが可能である。
[First Embodiment]
FIG. 1 shows a block diagram of a semiconductor system according to a first embodiment of the present invention.
A semiconductor system 10A shown in FIG. 1 includes a main CPU 11, a system memory 12, a video module 13, an audio module 14, a confidential information processing module 15A, a random number generator 16-1, a random number buffer 16-2, and an XOR circuit 17. .
The confidential information processing module 15A, which is a confidential information processing unit, includes a confidential information CPU 15-1, a confidential information internal memory 15-2, and a DMA controller (hereinafter abbreviated as DMAC) 15-3, and is protected from the outside. Information can be input via the system memory 12 to release protection and retain data.

DMAC15-3は、後述するように半導体システム10Aを構成するシステムメモリ12と各モジュール13及び14との間のデータ転送、および機密情報処理モジュール15Aの機密情報用内部メモリ15-2とシステムメモリ12との間のデータ転送を行うために設けられており、通常モードと乱数モードを有する。
乱数発生部である乱数発生装置16-1は、乱数を発生する。この乱数は、規則性を有しない真性乱数である。
バッファ部である乱数バッファ16-2は、乱数発生装置16-1で発生した乱数を保存する。
As will be described later, the DMAC 15-3 transfers data between the system memory 12 constituting the semiconductor system 10A and the modules 13 and 14, and the confidential information internal memory 15-2 and the system memory 12 of the confidential information processing module 15A. And a normal mode and a random number mode.
A random number generator 16-1 that is a random number generator generates a random number. This random number is a true random number having no regularity.
A random number buffer 16-2 serving as a buffer unit stores the random numbers generated by the random number generator 16-1.

排他的論理和部であるXOR回路17は、乱数バッファ16-2からの乱数と保護するべきデータとの排他的論理和(XOR)の計算により、保護するべきデータの乱数による暗号化(スクランブル化)及び復元(スクランブル解除)を行う。
主メモリ部としてのシステムメモリ12は、メインCPU11が直接アクセスすることのできる記憶装置であって、外部からシステムメモリ12に取り込まれた保護されたデータは一旦機密情報処理モジュール15Aで保護が解除され、その後にデータを再生する場合にはシステムメモリ12を経由して再生部側のモジュール13,14にデータが流れていくフローとなっている。システムメモリ12にデータを書き戻す際には、本実施形態では、システムメモリ12にデータを転送する前にXOR回路17で乱数とXOR演算を行って暗号化(保護)し、その保護状態でデータがシステムメモリ12に送られて書き込まれる。
The XOR circuit 17 serving as an exclusive OR unit encrypts (scrambles) the data to be protected with a random number by calculating the exclusive OR (XOR) between the random number from the random number buffer 16-2 and the data to be protected. ) And restoration (descrambling).
The system memory 12 as the main memory unit is a storage device that can be directly accessed by the main CPU 11, and the protected data taken into the system memory 12 from the outside is once unprotected by the confidential information processing module 15A. Thereafter, when data is reproduced, the data flows through the system memory 12 to the modules 13 and 14 on the reproduction unit side. When data is written back to the system memory 12, in this embodiment, before the data is transferred to the system memory 12, the XOR circuit 17 performs an XOR operation with a random number and encrypts (protects) the data in the protected state. Is sent to the system memory 12 for writing.

制御部としてのメインCPU11は、システムメモリ12に対するデータの書き込み及び読み出しの制御、各機能モジュール15A,13及び14などへのデータの転送やフローの制御、DMAC15-3に対する通常モードと乱数モードの指示などの制御を行うことが可能である。DMAC15-3の乱数モードが起動されたときは、例えば、システムメモリ12に記憶した保護されたデータを再びXOR回路17に戻すことによって、乱数バッファ16-2に記憶してある暗号化時の乱数とのXOR演算に基づく復元(保護解除)されたデータを、再生部であるビデオモジュール13及びオーディオモジュール14に供給するように制御する。なお、乱数バッファ16-2の乱数バッファ領域は、メインCPU11からのアクセスが禁止されており、メインCPU11からは暗号化(スクランブル化)や復元(スクランブル解除)の元になる乱数を読み込むことはできない。   The main CPU 11 as a control unit controls data writing and reading to the system memory 12, data transfer to each function module 15A, 13 and 14 and flow control, and instructions for normal mode and random number mode to the DMAC 15-3. It is possible to perform such control. When the random number mode of the DMAC 15-3 is activated, for example, the protected random number stored in the random number buffer 16-2 is returned to the XOR circuit 17 by returning the protected data stored in the system memory 12 again. Control is performed so that the restored (protection-removed) data based on the XOR operation is supplied to the video module 13 and the audio module 14 which are playback units. The random number buffer area of the random number buffer 16-2 is prohibited from being accessed by the main CPU 11, and the main CPU 11 cannot read a random number that is the source of encryption (scramble) or restoration (descramble). .

再生部であるビデオモジュール13及びオーディオモジュール14は、バス19を介して保護解除されたデータを入力し、画像及び音声のアナログデータとして再生してディスプレイデバイスにて画像及び音声として出力する。
図1に示す半導体システム10Aにおいて、システムメモリ12に置かれる保護(暗号化)されたビデオデータが、機密情報用CPU15-1と機密情報用内部メモリ15-2から構成される機密情報処理モジュール15AとXOR回路17で行われる処理を経て保護が解除された後、ビデオモジュール13においてさらに再生のための再生処理がなされる。
The video module 13 and the audio module 14 which are playback units input the data whose protection has been removed via the bus 19, reproduces the data as analog data of images and sounds, and outputs them as images and sounds on the display device.
In the semiconductor system 10A shown in FIG. 1, the protected (encrypted) video data placed in the system memory 12 is a confidential information processing module 15A composed of a confidential information CPU 15-1 and a confidential information internal memory 15-2. After the protection is released through processing performed by the XOR circuit 17, the video module 13 performs further playback processing for playback.

DMAC15-3は、半導体システム10Aを構成するシステムメモリ12と各モジュール13及び14との間のデータ転送、および機密情報処理モジュール15Aの機密情報用内部メモリ15-2とシステムメモリ12との間のデータ転送を行うために装備されている。このDMAC15-3は、メモリデータ転送を行う通常モードと、転送対象データに加えて乱数バッファ16-2からも乱数値を読み込み、それらデータの排他的論理和(XOR)をとった結果を出力する乱数モードとの、2つの動作モードを有する。   The DMAC 15-3 transfers data between the system memory 12 and the modules 13 and 14 constituting the semiconductor system 10A, and between the confidential information internal memory 15-2 and the system memory 12 of the confidential information processing module 15A. Equipped to perform data transfer. The DMAC 15-3 reads the random number value from the random mode buffer 16-2 in addition to the transfer target data and the normal mode in which the memory data is transferred, and outputs the result of taking the exclusive OR (XOR) of the data. There are two operation modes, the random number mode.

図2はこの半導体システム10Aにおけるデータのフローを示している。
再生されるべきコンテンツデータは外部から保護がかけられた状態でシステムメモリ12に読み込まれた後(ステップS1)、DMAC15-3の通常モードが起動され (ステップS2)、この通常モードにて機密情報用内部メモリ15-2に取り込まれる(ステップS3)。次に機密情報用CPU15-1は、機密情報用内部メモリ15-2に置かれた保護された命令やデータを用いて上記の保護がかけられたコンテンツデータを復号処理し、保護が解除された平文コンテンツを得る(ステップS4)。この処理結果つまり平文コンテンツを結果1とする。
FIG. 2 shows a data flow in the semiconductor system 10A.
The content data to be reproduced is read into the system memory 12 while being protected from the outside (step S1), and then the normal mode of the DMAC 15-3 is started (step S2). Is taken into the internal memory 15-2 (step S3). Next, the confidential information CPU 15-1 decrypts the protected content data using the protected instructions and data stored in the confidential information internal memory 15-2, and the protection is released. Plain text content is obtained (step S4). This processing result, that is, the plaintext content is set as a result 1.

その後、この結果1をDMAC15-3の乱数モードで暗号化してシステムメモリ12に出力する(ステップS5〜S9)。このシステムメモリ12への出力は、乱数発生装置16-1から出力される乱数と上記の結果1の排他的論理和をXOR回路17で計算した結果であり、これを結果2と呼ぶことにする。   Thereafter, the result 1 is encrypted in the random number mode of the DMAC 15-3 and output to the system memory 12 (steps S5 to S9). The output to the system memory 12 is the result of calculating the exclusive OR of the random number output from the random number generator 16-1 and the result 1 by the XOR circuit 17, and this will be referred to as the result 2. .

上記のステップS5〜S9の動作を説明する。ステップS4の保護解除処理後に、乱数は、DMAC15-3の乱数モードが起動される(ステップS5)。乱数は、DMAC15-3を乱数モードでかつシステムメモリ12にデータを転送する方向で起動するとき、転送対象の保護されるべき平文コンテンツのデータサイズに合わせて生成され(ステップS6)、この乱数はアドレス情報とともに乱数バッファ16-2内に保存される(ステップS7)。そして、この乱数は平文化された結果1とXOR回路17でXOR計算され、結果2として出力され(ステップS8)、システムメモリ12へ転送されて保存される(ステップS9)。   The operation of steps S5 to S9 will be described. After the protection release processing in step S4, the random number mode of the DMAC 15-3 is activated for the random number (step S5). When starting the DMAC 15-3 in the random number mode and in the direction of transferring data to the system memory 12, the random number is generated in accordance with the data size of the plaintext content to be protected to be transferred (step S6). The address information is stored in the random number buffer 16-2 (step S7). Then, this random number is XORed with the result 1 and the XOR circuit 17 obtained by normalization, output as a result 2 (step S8), transferred to the system memory 12 and stored (step S9).

システムメモリ12に保存される結果2は、乱数によってスクランブル化されており、メインCPU11はこのスクランブル化されたデータを直接利用することが出来ない。すなわち、システムメモリ12における平文コンテンツの保護(スクランブル化)が達成されていることになる。   The result 2 stored in the system memory 12 is scrambled by a random number, and the main CPU 11 cannot directly use the scrambled data. That is, the protection (scramble) of plain text content in the system memory 12 is achieved.

結果2をビデオモジュール13やオーディオモジュール14で利用するためには、結果2をシステムメモリ12から移動させる必要があるため、再びDMAC15-3の乱数モードが起動され(ステップS10)、この乱数モードを利用して結果2から結果1を得る。   In order to use the result 2 in the video module 13 or the audio module 14, it is necessary to move the result 2 from the system memory 12, so that the random number mode of the DMAC 15-3 is activated again (step S10). Use result 2 to obtain result 1.

つまり、結果2をXOR回路17に入力し、結果1から結果2を得る際に使用した乱数バッファ16-2内の乱数値と再び排他的論理和をとる(ステップS11)。この結果、スクランブル化されていた結果2を、再び、機密情報用内部メモリ15-2に出力されていた平文コンテンツとして、すなわち結果1に復元した上でビデオモジュール13に転送する(ステップS12)。最後に、ビデオモジュール13においてビデオ再生に関わる所定の再生処理が行われた後(ステップS13)、ビデオモジュール13に接続されている図示しないディスプレイデバイスに出力されて再生される(ステップS14)。   That is, the result 2 is input to the XOR circuit 17, and exclusive OR is again performed with the random value in the random number buffer 16-2 used when obtaining the result 2 from the result 1 (step S11). As a result, the scrambled result 2 is transferred again to the video module 13 as the plain text content output to the confidential information internal memory 15-2, that is, restored to the result 1 (step S12). Finally, after a predetermined playback process related to video playback is performed in the video module 13 (step S13), it is output to a display device (not shown) connected to the video module 13 and played back (step S14).

この乱数バッファ16-2の管理方法を図3および図4を用いて詳細に述べる。乱数バッファ16-2は、図3に示すように、各種の平文コンテンツと関連をもつ機能モジュールごとの領域を準備して管理される。図3では、機能1向け領域、機能2向け領域、……機能N向け領域のN個のバッファ領域を用意している。各バッファ領域のサイズは、機能モジュールの要求に合わせて事前に決定することができ、各機能モジュールに対応する一回のデータの保護および解除処理の最大サイズとなる。   A method for managing the random number buffer 16-2 will be described in detail with reference to FIGS. As shown in FIG. 3, the random number buffer 16-2 prepares and manages an area for each functional module related to various plaintext contents. In FIG. 3, N buffer areas are prepared for the area for function 1, the area for function 2,... The size of each buffer area can be determined in advance according to the request of the functional module, and becomes the maximum size of one-time data protection and release processing corresponding to each functional module.

これまで述べてきたように、各機能モジュールでデータが処理されるまでには、[1]機密情報用内部メモリ15-2からシステムメモリ12へ、[2]システムメモリ12から機能モジュールへ、という2回の乱数モードでのDMA転送が行われる。[1]および[2]はDMA起動時に区別して実行することができる。機能Nに関するデータの[1]の転送設定の際のDMAC15-3への設定項目として、システムメモリ12上の転送元先頭アドレスaddrN、転送サイズおよび機能番号Nを指定する。この時、処理に必要なサイズの乱数が乱数バッファ16-2上の所定のアドレスに準備される。なお、先頭アドレスはスタートアドレスとも呼ばれる。   As described above, until the data is processed in each functional module, [1] from the confidential information internal memory 15-2 to the system memory 12, and [2] from the system memory 12 to the functional module. DMA transfer is performed twice in the random number mode. [1] and [2] can be executed separately when DMA starts. As the setting items for the DMAC 15-3 when setting the transfer of the data related to the function N to [1], the transfer source head address addrN, the transfer size, and the function number N on the system memory 12 are designated. At this time, a random number having a size required for processing is prepared at a predetermined address on the random number buffer 16-2. The head address is also called a start address.

排他的論理和を計算するために生成された乱数が格納されている乱数バッファ16-2上のアドレスは、機能ごとに決定される。説明のため図3では、機能Nに対応する乱数バッファ16-2の先頭アドレスをrng_addrNで示している。rng_addrN はあらかじめ決定されている。乱数バッファ16-2とシステムメモリ12には、同じ機能1〜Nに対応する領域があってそれぞれにアドレスが付けられている。従って、乱数バッファ16-2とシステムメモリ12とで機能毎に先頭のアドレスだけを決めてやればそれに続くアドレスは当然互いに対応することになる。すなわち、機能1については、システムメモリ12の先頭アドレスはaddr1、乱数バッファ16-2の先頭アドレスはrng_addr1であり、機能2については、システムメモリ12の先頭アドレスはaddr2、乱数バッファ16-2の先頭アドレスはrng_addr2である。機能3以降も同様である。機能Nに関しては、システムメモリ12上の先頭アドレスは addrNであり、乱数バッファ16-2の先頭アドレスはrng_addrNである。   An address on the random number buffer 16-2 storing a random number generated for calculating the exclusive OR is determined for each function. For the sake of explanation, in FIG. 3, the leading address of the random number buffer 16-2 corresponding to the function N is indicated by rng_addrN. rng_addrN is determined in advance. The random number buffer 16-2 and the system memory 12 have areas corresponding to the same functions 1 to N, and are assigned addresses. Accordingly, if the random number buffer 16-2 and the system memory 12 determine only the top address for each function, the subsequent addresses naturally correspond to each other. That is, for function 1, the start address of the system memory 12 is addr1 and the start address of the random number buffer 16-2 is rng_addr1, and for function 2, the start address of the system memory 12 is addr2 and the start address of the random number buffer 16-2 The address is rng_addr2. The same applies to function 3 and later. Regarding the function N, the start address on the system memory 12 is addrN, and the start address of the random number buffer 16-2 is rng_addrN.

図3において、addr_transを各機能においてシステムメモリ12上の実際に用いるアドレスとすると、例えば機能1について乱数バッファ上の先頭アドレスはrng_addr1、システムメモリ上の先頭アドレスはaddr1であるから、システムメモリ上の実際のアドレスに対応した乱数バッファ上の実際のアドレスは、(addr_trans - addr1) + rng_addr1となる。   In FIG. 3, if addr_trans is an address actually used on the system memory 12 in each function, for example, for function 1, the start address on the random number buffer is rng_addr1, and the start address on the system memory is addr1, so on the system memory The actual address on the random number buffer corresponding to the actual address is (addr_trans−addr1) + rng_addr1.

図4は乱数バッファ16-2の管理テーブルであり、乱数バッファの各機能向け領域(機能1,機能2,…機能N)に対応する、システムメモリ12上の各機能毎の先頭アドレスを示している。
DMAC15-3が参照する前記管理テーブルは、乱数バッファ領域もしくはハードウェアレジスタとして準備され、上記[1]のデータ転送時に、addrNとNとが関連付けられて保存される。[2]の転送を行う時には、機能番号Nとシステムメモリ12上のスクランブル化されたデータの転送開始アドレスaddr_transを指定する。addr_transは、[1]の処理対象データのスタートアドレスaddrNと一致していてもよくそうでなくとも良い。addrNとaddr_transにオフセットがある場合、(addr_trans - addrN) + rng_addrNを計算することで、対応するシステムメモリ12上のアドレスのデータを処理する乱数を求めることが出来る。ここに示す転送アドレスと関連付けた乱数バッファ16-2のアドレスの関係の管理は、ここではDMAC15-3の機能として実装される。この結果、スクランブル化されたデータのうち、指定する任意の領域の保護を解除して機能モジュールに転送することが可能になっている。また、[2]の転送先は、平文コンテンツを利用するモジュールに限定することで、セキュリティが向上する。
FIG. 4 is a management table of the random number buffer 16-2, and shows the start address for each function on the system memory 12 corresponding to each function area (function 1, function 2,... Function N) of the random number buffer. Yes.
The management table referred to by the DMAC 15-3 is prepared as a random number buffer area or a hardware register, and is stored in association with addrN and N at the time of data transfer of [1]. When transferring [2], the function number N and the transfer start address addr_trans of the scrambled data on the system memory 12 are designated. addr_trans may or may not coincide with the start address addrN of the processing target data in [1]. When there is an offset between addrN and addr_trans, a random number for processing the address data on the corresponding system memory 12 can be obtained by calculating (addr_trans−addrN) + rng_addrN. The management of the address relationship of the random number buffer 16-2 associated with the transfer address shown here is implemented as a function of the DMAC 15-3. As a result, it is possible to release protection of an arbitrary area to be specified from the scrambled data and transfer it to the functional module. In addition, security is improved by limiting the transfer destination of [2] to modules that use plain text content.

この[2]の転送を終えた後は、乱数バッファ16-2の乱数は必要が無くなり、同じ機能モジュールで利用する他のデータを、[1]から繰り返した操作で再び取り扱うことが出来る。ここでは、乱数の管理を機能番号ごとに行ったが、システムの要求に合わせて機能あたりのバッファ数を複数にしたり、単純にバッファ番号として管理することも可能である。さらに、本実施形態の応用では、図4に示した管理テーブルでさらにrng_addrNも管理することで、機能ごとに任意のサイズを持つ乱数バッファ16-2のアドレスを設定する方法も実現することが出来る。   After the transfer of [2] is completed, the random number in the random number buffer 16-2 is no longer necessary, and other data used in the same functional module can be handled again by the operations repeated from [1]. Here, random numbers are managed for each function number, but it is also possible to manage a plurality of buffers per function according to system requirements, or simply manage them as buffer numbers. Furthermore, in the application of this embodiment, by further managing rng_addrN using the management table shown in FIG. 4, it is possible to realize a method for setting the address of the random number buffer 16-2 having an arbitrary size for each function. .

第1の実施形態によれば、秘密に保持される乱数との排他的論理和の計算によって半導体システム内の機密データを保護することが出来る。これは、機能モジュール間のデータ転送用バッファ等となりうるシステムメモリの内容をメインCPUのアクセスから保護する手段として特に重要である。この際、現代暗号技術等のアルゴリズムを処理する複雑な計算や、暗号アルゴリズムに基づくブロックサイズ(処理単位)の考慮を行わず、データの保護処理を簡素化することが出来る。   According to the first embodiment, confidential data in a semiconductor system can be protected by calculating an exclusive OR with a secret random number. This is particularly important as a means for protecting the contents of the system memory, which can be a data transfer buffer between functional modules, from access by the main CPU. At this time, the data protection process can be simplified without taking into account the complicated calculation for processing an algorithm such as a modern encryption technique or the block size (processing unit) based on the encryption algorithm.

また、排他的論理和の計算をDMA転送と同時に行うことで、バスアクセスを減少させ、排他的論理和計算のサイズや乱数バッファと処理済みデータとの関連づけを一括して取り扱うことが出来る。
さらに、乱数バッファによる乱数の発生が、DMACに設定される転送対象のアドレスやサイズ、あるいは転送先機能種別と連動し、自動的に行われ、必要なサイズの乱数を自動的に発生させることができ、手順の簡素化を実現できる。
Also, by performing exclusive OR calculation simultaneously with DMA transfer, bus access can be reduced, and the size of the exclusive OR calculation and the association between the random number buffer and the processed data can be handled collectively.
Furthermore, random number generation by the random number buffer is automatically performed in conjunction with the transfer target address and size set in the DMAC or the transfer destination function type, and a random number of a necessary size can be automatically generated. And simplification of the procedure.

[第2の実施形態]
図5は本発明の第2の実施形態の半導体システムのブロック図を示している。第1の実施形態と同一機能を有する部分には同一符号を付して説明する。
図5に示す半導体システム10Bは、メインCPU11と、システムメモリ12と、ビデオモジュール13と、オーディオモジュール14と、機密情報用CPU15-1と機密情報用内部メモリ15-2とDMAコントローラ(DMAC)15-3とを備えた機密情報処理モジュール15Aと、乱数発生装置16-1と、乱数バッファ16-2と、XOR回路17とを具備している。見掛け上の構成は、図1の第1の実施形態と同様である。
[Second Embodiment]
FIG. 5 shows a block diagram of a semiconductor system according to the second embodiment of the present invention. Parts having the same functions as those in the first embodiment will be described with the same reference numerals.
The semiconductor system 10B shown in FIG. 5 includes a main CPU 11, a system memory 12, a video module 13, an audio module 14, a confidential information CPU 15-1, a confidential information internal memory 15-2, and a DMA controller (DMAC) 15. -3, a random number generator 16-1, a random number buffer 16-2, and an XOR circuit 17. The apparent configuration is the same as that of the first embodiment of FIG.

第2の実施形態の半導体システム10Bが、第1の実施形態の半導体システム10Aと異なる点は、機密情報用内部メモリ15-2からシステムメモリ12へデータを転送する際に、システムメモリ12に書き戻すデータを全てスクランブル化するのではなくその一部のデータのみを平文としてシステムメモリ12上に書き込み、その一部のデータをメインCPU11で判読(解析)可能とするものである。   The semiconductor system 10B of the second embodiment differs from the semiconductor system 10A of the first embodiment in that data is written to the system memory 12 when data is transferred from the confidential information internal memory 15-2 to the system memory 12. Rather than scramble all the data to be returned, only a part of the data is written as plain text on the system memory 12, and the part of the data can be read (analyzed) by the main CPU 11.

このような非スクランブル化の応用例として、例えば、スクランブル化された平文コンテンツの内容の一部に、アプリケーションが解析を行うためのヘッダ等が含まれている場合を想定する。秘密情報ではないこのヘッダ等のみ、スクランブル化を除外して、メインCPU11で判読できるように処理を行うための仕組みである。
1つの方法は、機密情報用CPU15-1などから乱数発生装置16-1に何らかの情報を与えてスクランブル化を除外する部分に対して乱数の代わりに0を生成させて乱数バッファ16-2に保存することにより、非スクランブル化を実現する。或いは、乱数発生装置16-1からは乱数を発生させて乱数バッファ16-2に格納した後に、機密情報用CPU15-1などからスクランブル化を除外する部分に対して0を上書きする制御をすることにより、非スクランブル化を実現する。
As an application example of such descrambling, a case is assumed in which, for example, a part of the scrambled plaintext content includes a header or the like for analysis by the application. This is a mechanism for performing processing so that only the header, which is not secret information, can be read by the main CPU 11 without scrambling.
One method is to give some information to the random number generator 16-1 from the confidential information CPU 15-1 or the like and generate 0 instead of the random number for the part to be excluded from scramble and store it in the random number buffer 16-2. By doing so, descrambling is realized. Alternatively, after the random number generator 16-1 generates a random number and stores it in the random number buffer 16-2, the confidential information CPU 15-1 or the like performs control to overwrite 0 in the portion excluding scramble. Thus, descrambling is realized.

この第2の実施形態の動作を説明する。
第1の実施形態では機密情報用内部メモリ15-2に置かれる保護された命令での復号処理された処理結果(平文化コンテンツ)を結果1と呼んだ。この第2の実施形態における半導体システム10Bでは、この平文化処理した結果1を、DMAC15-3の乱数モードでスクランブル化した結果2としてシステムメモリ12に出力する前に、図6に示すような排他的論理和を取る対象のうち、乱数バッファ16-2の処理対象固有な領域(例えば機能1向け領域)に合致させるための任意のパターンを、0に書き換える機能を持つ。乱数バッファ16-2の値が0であるとき、排他的論理和の演算結果は演算を行わない場合と同一であるため、0に書き換えた領域のスクランブル化を除外することが出来る。ここで、0に置き換える乱数バッファ16-2内の領域は、処理対象のコンテンツのデータ構造に基づいて決定される。例えば、固定長 D byteのデータから構成されるコンテンツであれば、各データのヘッダーサイズ H byteと乱数バッファ先頭アドレス rng_addrN を基にi番目の(i≧0)パケットに関して0に置き換える領域はアドレス rng_addrN+ D×i を先頭とするH byteである。
The operation of the second embodiment will be described.
In the first embodiment, the processing result (plain culture content) decrypted with the protected instruction placed in the confidential information internal memory 15-2 is called result 1. In the semiconductor system 10B according to the second embodiment, the result 1 of this plain processing is exclusive as shown in FIG. 6 before being output to the system memory 12 as the result 2 scrambled in the random mode of the DMAC 15-3. Among the targets to be logically ORed, the arbitrary pattern for matching with the processing target specific area (for example, the area for function 1) of the random number buffer 16-2 is rewritten to 0. When the value of the random number buffer 16-2 is 0, the result of the exclusive OR operation is the same as the case where the operation is not performed, so that the scrambled area rewritten to 0 can be excluded. Here, the area in the random number buffer 16-2 to be replaced with 0 is determined based on the data structure of the content to be processed. For example, if the content consists of fixed-length D byte data, the area to be replaced with 0 for the i-th (i ≧ 0) packet based on the header size H byte of each data and the random number buffer head address rng_addrN is the address rng_addrN + H byte starting from D × i.

この0に置き換える領域の指定方法については、DMAC15-3にパターン(例えば、上記各データサイズDとヘッダのサイズH)を設定して乱数バッファ16-2への乱数発生後にDMAC15-3に乱数バッファ16-2の値を上書きするか、或いは、ライト専用とした乱数バッファ16-2にあらかじめ生成された乱数を、機密情報用CPU15-1によって0に上書きする方法で実現される。或いは、乱数発生装置16-1にパターンの情報を入力し、乱数ではなく0を発生させる方法も実現できる。   Regarding the method of designating the area to be replaced with 0, a pattern (for example, each data size D and header size H) is set in the DMAC 15-3, and a random number buffer is stored in the DMAC 15-3 after a random number is generated in the random number buffer 16-2. This is realized by overwriting the value of 16-2, or by overwriting the random number generated in advance in the random number buffer 16-2 dedicated for writing to 0 by the confidential information CPU 15-1. Alternatively, a method can be realized in which pattern information is input to the random number generator 16-1 to generate 0 instead of a random number.

以上のように毎回乱数バッファ16-2を0に書き換えるアドレスとサイズを指定することは煩雑であるため、機密処理モジュール15Aが処理対象のコンテンツのデータ構造に基づいてスクランブル化から除外する領域とサイズを規定して番号付けしておくことで、指定内容を簡素化することもできる。この時は、データフォーマットに応じた前述の番号のみを指定すればよい。   As described above, since it is complicated to specify the address and size at which the random number buffer 16-2 is rewritten to 0 each time, the area and size that the confidential processing module 15A excludes from scrambling based on the data structure of the content to be processed By prescribing and numbering, the specified content can be simplified. At this time, it is only necessary to specify the above-mentioned number according to the data format.

これらの処理の結果、システムメモリ12上のスクランブル化されたデータは、アプリケーションとしてメインCPU11が解析に必要なヘッダ等は平文で、残りは乱数による暗号化(スクランブル化)で保護されたデータとなる。
第2の実施形態によれば、システムメモリ12に書き戻される機密処理済みの保護されたデータの一部を、平文でメインCPUが利用し、データ属性の解析や利用を可能にする効果を生む。例えば、乱数の一部を0で上書きすることで、一括して排他的論理和の計算処理を行うデータのうち、一部のデータのみを平文としてシステムメモリ12上で取り出し、内容を解析することが出来る。
As a result of these processes, the scrambled data on the system memory 12 is the data that is protected by encryption (scramble) with random numbers as the header and the like necessary for analysis by the main CPU 11 as an application. .
According to the second embodiment, a part of the confidentially processed protected data written back to the system memory 12 is used in plain text by the main CPU, thereby producing an effect of enabling analysis and use of data attributes. . For example, by overwriting a part of random numbers with 0, only a part of the data to be subjected to exclusive OR calculation processing at once is extracted as plain text on the system memory 12 and analyzed. I can do it.

[第3の実施形態]
図7は本発明の第3の実施形態の半導体システムのブロック図を示している。第1の実施形態と同一機能を有する部分には同一符号を付して説明する。
図7に示す半導体システム10Cの構成は、メインCPU11と、システムメモリ12と、ビデオモジュール13と、オーディオモジュール14と、機密情報用CPU15-1と機密情報用内部メモリ15-2とDMAコントローラ(DMAC)15-3とを備えた機密情報処理モジュール15Aと、乱数発生装置16-1aと、バッファ部としてのシードバッファ16-2aと、XOR回路17とを具備している。
[Third Embodiment]
FIG. 7 shows a block diagram of a semiconductor system according to the third embodiment of the present invention. Parts having the same functions as those in the first embodiment will be described with the same reference numerals.
7 includes a main CPU 11, a system memory 12, a video module 13, an audio module 14, a confidential information CPU 15-1, a confidential information internal memory 15-2, and a DMA controller (DMAC). ) 15-3, a random number generator 16-1a, a seed buffer 16-2a as a buffer unit, and an XOR circuit 17.

これまでに述べた実施形態では、複数のストリームデータの並行処理などの際には、平文コンテンツのサイズの増大とともに必要な乱数バッファの領域が増大することが予想される。第1及び第2の実施形態では、乱数は真性乱数の場合であり、乱数バッファに全ての乱数を保存しているが、それに応じて多くのバッファ容量が必要となる問題がある。   In the embodiments described so far, it is expected that the area of the required random number buffer will increase as the size of the plaintext content increases in parallel processing of a plurality of stream data. In the first and second embodiments, the random numbers are true random numbers, and all random numbers are stored in the random number buffer. However, there is a problem that a large buffer capacity is required accordingly.

第3の実施形態の半導体システム10Cが、第1の実施形態の半導体システム10Aと異なる点は、発生した乱数そのものを乱数バッファ16-2に保存するのではなく、乱数のシードを保存することによって、必要な乱数バッファのサイズを抑制するものである。   The semiconductor system 10C of the third embodiment is different from the semiconductor system 10A of the first embodiment in that the generated random number itself is not stored in the random number buffer 16-2, but by storing the random number seed. This suppresses the required random buffer size.

そこで、この第3の実施形態で使用する乱数発生装置16-1aは、乱数の初期値としてシードをとるタイプのものとする。この乱数発生装置16-1aは、与えられたシードを種とした乱数発生のラウンド(一巡)をすすめる。言い換えると、同一のシードから乱数発生のラウンドを行うと、発生する全ての乱数を再現することが出来る。つまり、同一のシードを与えると、同一の乱数を再現することができる。   Therefore, the random number generator 16-1a used in the third embodiment is of a type that takes a seed as an initial value of the random number. The random number generator 16-1a proceeds with a round of random number generation using a given seed as a seed. In other words, if a round of random number generation is performed from the same seed, all generated random numbers can be reproduced. That is, if the same seed is given, the same random number can be reproduced.

本実施形態では、機密情報処理モジュール15Aからの出力を行う際、機密情報用CPU15-1は乱数のシードを乱数発生装置16-1a以外からの読み込みが禁止されたシードバッファ16-2aに格納する。なお、シードバッファ16-2aのバッファ領域は、メインCPU11からのアクセスが禁止されており、メインCPU11からは暗号化(スクランブル化)や復元(スクランブル解除)の元になるシード値を読み込むことはできない。   In the present embodiment, when outputting from the confidential information processing module 15A, the confidential information CPU 15-1 stores the random number seed in the seed buffer 16-2a prohibited from being read from other than the random number generator 16-1a. . Note that the access from the main CPU 11 is prohibited in the buffer area of the seed buffer 16-2a, and the main CPU 11 cannot read the seed value that is the source of encryption (scramble) or restoration (descramble). .

ここで、シードバッファ16-2aにおけるシード値は、データが最終的に使われる機能モジュールの機能番号Nごとに図8に示すようなシードバッファ16-2aに保管されるテーブルで管理される。機能1〜Nの各機能ごとにシードバッファ16-2aのアドレスseed_addr1〜seed_addrNが対応している。即ち、機能番号とシード番号(シードアドレス)が対応している。シードバッファ16-2aを用いる乱数発生装置16-1aでは、同じシードならば生成される乱数値も同じになる。どの機能番号(=シードアドレス)のシードを使ってそのシードの何番目の乱数値なのかが確定できれば、スクランブルを掛けたり外したりする際の乱数値も確定できる。そのようなシードアドレス及びその何番目かを示す値を、機密情報用CPU15-1や外部の制御部などから与えてやることができる。   Here, the seed value in the seed buffer 16-2a is managed in a table stored in the seed buffer 16-2a as shown in FIG. 8 for each function number N of the function module in which data is finally used. The addresses seed_addr1 to seed_addrN of the seed buffer 16-2a correspond to the functions 1 to N, respectively. That is, the function number corresponds to the seed number (seed address). In the random number generator 16-1a using the seed buffer 16-2a, the same random number value is generated for the same seed. If the seed of which function number (= seed address) is used to determine which random number value of that seed can be determined, the random value for scrambled or removed can also be determined. Such a seed address and a value indicating the number of the seed address can be given from the confidential information CPU 15-1 or an external control unit.

DMAC15-3の乱数モードによるデータ転送を行う際、前述の機能番号が同時に指定されることで、機能別に用意したシードを利用した1ラウンド以上の乱数生成が転送データサイズに対応して行われ、次々と保護すべきデータとの排他的論理和の計算を行う。計算結果は、スクランブル化もしくは復号化の結果として出力される。この乱数発生装置16-1aは、同一シードの再入力により同じ乱数値を再び発生することが出来ることから、DMAC15-3の乱数モードを行う度に乱数の発生を行うことによって乱数値そのものを保存する必要が無くなり、バッファ容量を削減することが出来る。ここで、スクランブル化をするシステムメモリ12のアドレスとシードバッファ16-2aの機能番号の対応を図4に示したようなテーブルで管理することは、第1の実施形態と同様である。このテーブルには、システムメモリ12上のスクランブル化の先頭アドレスがエントリされるが、先頭からオフセットをもつアドレスからDMA転送を開始する場合には、オフセット分のラウンド数の乱数発生プロセスを行い、処理対象外となる乱数の取得をスキップしたあと、必要な乱数を得た上で排他的論理和の計算を行う。   When performing the data transfer in the random number mode of the DMAC 15-3, the above-mentioned function number is specified at the same time, so that one or more rounds of random number generation using a seed prepared for each function is performed corresponding to the transfer data size, Calculate the exclusive OR with the data to be protected one after another. The calculation result is output as a result of scrambling or decoding. Since the random number generator 16-1a can generate the same random number value again by re-inputting the same seed, the random number value itself is stored by generating the random number every time the random number mode of the DMAC 15-3 is performed. There is no need to do so, and the buffer capacity can be reduced. Here, the correspondence between the address of the system memory 12 to be scrambled and the function number of the seed buffer 16-2a is managed by the table as shown in FIG. 4, as in the first embodiment. In this table, the scrambled start address on the system memory 12 is entered. When starting DMA transfer from an address having an offset from the start, a random number generation process of the number of rounds corresponding to the offset is performed. After skipping the acquisition of random numbers that are not subject to the calculation, exclusive OR is calculated after obtaining the required random numbers.

さらに、第3の実施形態では、第2の実施形態のように乱数バッファがないので、図6のようにバッファデータを0に設定できない。従って、スクランブル化を除外したい場合には、乱数そのものを0にしなくてはならない。そのためには、スクランブルを解除したいところの一部の乱数だけを保存または再発生し、スクランブル解除の要求があればその保存しておいた乱数を用いてデータの一部だけを復号する。   Furthermore, in the third embodiment, since there is no random number buffer as in the second embodiment, the buffer data cannot be set to 0 as shown in FIG. Therefore, when it is desired to exclude scrambling, the random number itself must be set to zero. For this purpose, only a part of random numbers to be descrambled is stored or regenerated, and if there is a descrambling request, only part of the data is decrypted using the stored random numbers.

第2の実施形態に述べたスクランブル対象の制御を導入するために、DMA起動時に指定する平文コンテンツのフォーマットに合わせて乱数発生装置16-1aの出力を0にする制御を行う。ただし、フォーマットが既知であれば、スクランブル化除外の必要な例えばヘッダ部分に利用する乱数値のみを、機密情報用内部メモリ15-2やシードバッファ16-2a、あるいは機密情報用CPU15-1のみが読み出し可能である乱数バッファ等に保存しておき、機密情報処理モジュール15AがメインCPU11からの要求に基づき、スクランブル化されたシステムメモリ12の情報の一部を復元するサービスを行う方法をとることもできる。   In order to introduce the control of the scramble target described in the second embodiment, control is performed to set the output of the random number generator 16-1a to 0 in accordance with the format of the plaintext content specified when the DMA is activated. However, if the format is known, only the random value used for the header portion that needs to be excluded from the scramble, for example, is stored only in the confidential information internal memory 15-2, the seed buffer 16-2a, or the confidential information CPU 15-1. A method may be used in which the confidential information processing module 15A performs a service for restoring a part of the scrambled information in the system memory 12 based on a request from the main CPU 11 after being stored in a readable random number buffer or the like. it can.

第3の実施形態によれば、複数のストリームデータの並行処理などの際に、平文コンテンツのサイズの増大とともに必要な乱数バッファの領域が増大することがなく、乱数バッファを少ない容量のシードバッファで置き換えることができる。   According to the third embodiment, when a plurality of stream data are processed in parallel, the required random number buffer area does not increase with an increase in the size of the plaintext content, and the random number buffer can be a small-sized seed buffer. Can be replaced.

[第4の実施形態]
図9は本発明の第4の実施形態の半導体システムのブロック図を示している。第1の実施形態と同一機能を有する部分には同一符号を付して説明する。
図9に示す半導体システム10Dは、メインCPU11と、システムメモリ12と、ビデオモジュール13と、オーディオモジュール14と、機密情報用CPU15-1と機密情報用内部メモリ15-2とDMAコントローラ(DMAC)15-3とを備えた機密情報処理モジュール15Aと、乱数発生装置16-1と、乱数バッファ16-2と、XOR回路17と、乱数管理CPU18とを具備している。
[Fourth Embodiment]
FIG. 9 is a block diagram of a semiconductor system according to the fourth embodiment of the present invention. Parts having the same functions as those in the first embodiment will be described with the same reference numerals.
A semiconductor system 10D shown in FIG. 9 includes a main CPU 11, a system memory 12, a video module 13, an audio module 14, a confidential information CPU 15-1, a confidential information internal memory 15-2, and a DMA controller (DMAC) 15. 3, a random number generator 16-1, a random number buffer 16-2, an XOR circuit 17, and a random number management CPU 18.

図9に示す第4の実施形態は、乱数発生装置16-1の乱数発生の制御及び乱数バッファ16-2の管理を行うための専用の乱数管理CPU18を設けた例を示している。乱数管理CPU18のプログラム及びデータは乱数バッファ16-2に存在し、乱数管理CPU18のみがアクセス可能である。   The fourth embodiment shown in FIG. 9 shows an example in which a dedicated random number management CPU 18 for controlling the random number generation of the random number generator 16-1 and managing the random number buffer 16-2 is provided. The program and data of the random number management CPU 18 exist in the random number buffer 16-2, and only the random number management CPU 18 can access them.

機密情報処理モジュール15Aを利用した平文コンテンツの取得後、メインCPU11もしくは機密情報用CPU15-1は、システムメモリ12のスクランブル化に関する乱数管理CPU18への初期化を行う。この初期化により乱数管理CPU18は、乱数あるいはシード値管理に必要な領域を乱数バッファ16-2上に確保する。また、この要求には必要に応じ同時にスクランブル化から除外する位置とサイズ情報またはこれらを含むフォーマット情報が指定される。これらの管理情報は、乱数発生識別情報として乱数管理CPU18に管理される。この乱数発生識別情報は、メインCPU11もしくは機密情報用CPU15-1からの初期化要求に対する応答として、直接もしくは機密情報用CPU15-1を経てメインCPU11に返される。   After obtaining the plaintext content using the confidential information processing module 15A, the main CPU 11 or the confidential information CPU 15-1 initializes the random number management CPU 18 related to scrambling of the system memory 12. By this initialization, the random number management CPU 18 secures an area necessary for random number or seed value management on the random number buffer 16-2. In addition, in this request, position and size information to be excluded from scramble and format information including these are specified at the same time as necessary. These pieces of management information are managed by the random number management CPU 18 as random number generation identification information. This random number generation identification information is returned to the main CPU 11 directly or via the confidential information CPU 15-1 as a response to the initialization request from the main CPU 11 or confidential information CPU 15-1.

通常動作時、スクランブル化の要求側は、この識別情報とともに乱数での平文コンテンツのシステムメモリ12への格納のためのスクランブル化を起動する。起動後、乱数管理CPU18は識別情報を用いて乱数バッファ16-2に乱数を発生する。なお、乱数発生は、乱数管理CPU18が乱数発生装置16-1を用いて行うが、乱数管理CPU18がソフトウェアのアルゴリズムでの乱数生成を行っても良い。この時、本実施形態に乱数発生装置16-1は不要となる。   During normal operation, the scramble requester activates scramble for storing plain text content in the system memory 12 with a random number together with this identification information. After startup, the random number management CPU 18 generates a random number in the random number buffer 16-2 using the identification information. The random number generation is performed by the random number management CPU 18 using the random number generation device 16-1, but the random number management CPU 18 may generate a random number using a software algorithm. At this time, the random number generator 16-1 is not required in this embodiment.

ここで、スクランブルから除外する領域の要求を持つ識別情報の指定があった場合には、排他的論理和を計算する前に乱数管理CPU18により乱数バッファ16-2の一部の内容を0とする。シードを使うタイプの場合も、同様に除外領域に対応するラウンドで発生した乱数を0で上書きする。発生した乱数と平文コンテンツの排他的論理和は、乱数管理CPU18によって設定に従ったDMAC15-3の付加機能もしくは乱数管理CPU18によって計算される。   If identification information having a request for an area to be excluded from scrambling is specified, the random number management CPU 18 sets a part of the random number buffer 16-2 to 0 before calculating the exclusive OR. . In the case of the type using seeds, the random number generated in the round corresponding to the exclusion area is overwritten with 0 in the same manner. The exclusive OR of the generated random number and the plaintext content is calculated by the additional function of the DMAC 15-3 or the random number management CPU 18 according to the setting by the random number management CPU 18.

また、スクランブル化されたシステムメモリ12からのデータ転送及び復元についても、識別情報による乱数情報の決定と計算が同様に行われる。ただし、フォーマットに依存する乱数値の0での上書きを再度行うことはない。
さらに、乱数発生機能を乱数管理CPU18によるソフトウェア乱数発生で実現し、ある領域の乱数値を0として発生させる機能をソフトウェアアルゴリズムとして実装すれば、フォーマットの指定に関する乱数発生装置16-1もしくはDMAC15-3の回路の実装を単純化できるようになる。
In addition, for the data transfer and restoration from the scrambled system memory 12, the determination and calculation of the random number information by the identification information is performed in the same manner. However, overwriting with 0 of the random number value depending on the format is not performed again.
Furthermore, if a random number generation function is realized by software random number generation by the random number management CPU 18 and a function for generating a random value of a certain area as 0 is implemented as a software algorithm, a random number generator 16-1 or DMAC 15-3 for format specification It becomes possible to simplify the implementation of the circuit.

第4の実施形態によれば、乱数管理用のCPUを導入することで、保存された乱数と処理データの高度な関連付けや処理が可能になる。すなわち、平文コンテンツを利用するモジュールと、データをスクランブル化するための乱数の関係を動的なものも含めて自由に導入することで、メインCPU側と連携して複雑な処理を行ったり、乱数バッファ領域の節約を可能にする制御を行うことが出来る。また、乱数発生もソフトウェア的に前述の乱数管理用のCPUで行うことで、乱数発生装置を省略することもできる。   According to the fourth embodiment, by introducing a CPU for random number management, it is possible to perform high-level association and processing between stored random numbers and processing data. In other words, by freely introducing the relationship between modules that use plaintext content and random numbers for scrambling data, including dynamic ones, it is possible to perform complex processing in cooperation with the main CPU side, It is possible to perform control that makes it possible to save the buffer area. Also, random number generation can be performed by the above-described random number management CPU in terms of software, so that the random number generation device can be omitted.

以上述べた本発明では、システムメモリ上の平文コンテンツの保護を行うために、システムメモリに書き込むデータの保護を行う半導体システムを提供する。同半導体システムは乱数発生装置を実装しており、同乱数発生装置専用の乱数バッファ領域に同乱数発生装置から出力する乱数もしくは乱数を発生するためのシード値を保存する。この乱数バッファ領域は、半導体システムを構成するメインCPUからのアクセスが禁止される。本発明では、システムメモリ上に配置される秘匿情報保護には、同乱数バッファ領域に保存された乱数もしくは同乱数バッファ領域に保存されたシードを用いて発生する乱数を利用する。機密情報処理モジュールによって保護を解かれた平文コンテンツはシステムメモリへ出力される前に乱数との排他的論理和をとってスクランブルされる。メインCPUからは、スクランブルの元となる乱数もしくはシード値を読み込むことが出来ないため、システムメモリ上の平文コンテンツの保護が可能になる。システムメモリ上の保護(スクランブル化)されたデータの使用の際は、平文コンテンツの保護時に排他的論理和をとった乱数と、再び排他的論理和を計算することで元のデータに復元し、データ再生など必要な処理を行う。平文の使用を許可されたモジュールへのデータ転送時のみ乱数の利用を許可することで、上記の仕組みにより保護されたデータの安全性がさらに高まる。ここで、上に述べた排他的論理和の演算は、DMAコントローラ(図1におけるDMAC)や乱数管理用のCPU(図9における乱数管理CPU)によるデータの転送の付加機能として実装される。   The present invention described above provides a semiconductor system that protects data written to the system memory in order to protect plaintext contents on the system memory. The semiconductor system includes a random number generator, and stores a random number output from the random number generator or a seed value for generating a random number in a random number buffer area dedicated to the random number generator. Access to the random number buffer area from the main CPU constituting the semiconductor system is prohibited. In the present invention, for protecting confidential information arranged in the system memory, a random number generated in the random number buffer area or a random number generated using a seed stored in the random number buffer area is used. The plaintext content whose protection has been removed by the confidential information processing module is scrambled by taking an exclusive OR with a random number before being output to the system memory. Since the main CPU cannot read the random number or seed value that is the source of the scramble, the plain text content in the system memory can be protected. When using protected (scrambled) data on the system memory, restore the original data by calculating the exclusive OR again with the random number that was exclusive ORed when protecting the plaintext content, Perform necessary processing such as data playback. By permitting the use of random numbers only when transferring data to modules that are permitted to use plaintext, the safety of data protected by the above mechanism is further enhanced. Here, the exclusive OR operation described above is implemented as an additional function of data transfer by a DMA controller (DMAC in FIG. 1) or a random number management CPU (random number management CPU in FIG. 9).

平文コンテンツの保護に乱数を用いている利点として、暗号アルゴリズムを使用した場合よりも処理速度が速いことや、保護または保護解除のサイズに対して暗号のブロックサイズを考慮する必要が無いという利点がある。また、乱数を使用した場合は、一部の乱数が漏洩しても直ちにシステムメモリ全体の機密情報が危機に瀕することはなく、1つの鍵情報によって秘匿対象データ全ての保護を行う暗号アルゴリズムを使用する場合よりも、暗号学的な弱点を突いた攻撃に対して耐性を持つ。なお、通常の暗号アルゴリズムにおける暗号は、決まった規則に従ってデータを変換することによってスクランブルすることを指しているが、暗号化、復号には鍵を用いている。その鍵は、乱数を元にして作成されている。従って、秘匿性は鍵の秘匿性と管理に依存する。これに対して、本願発明における乱数による暗号は、乱数そのものを暗号化に用いている(特に、真性乱数を用いて保護すべきデータと排他的論理和を計算する)点で、暗号アルゴリズムと比べて簡単な演算により高い秘匿性が得られる利点がある。   Advantages of using random numbers to protect plaintext content are that the processing speed is faster than when using an encryption algorithm, and there is no need to consider the block size of the encryption with respect to the size of protection or protection protection. is there. Also, when random numbers are used, even if some random numbers are leaked, the confidential information of the entire system memory will not be in danger immediately, and a cryptographic algorithm that protects all confidential data with one key information is used More resistant to attacks that exploit cryptographic weaknesses. Note that encryption in a normal encryption algorithm indicates scrambling by converting data according to a predetermined rule, but a key is used for encryption and decryption. The key is created based on random numbers. Therefore, confidentiality depends on the confidentiality and management of the key. On the other hand, the random number encryption in the present invention uses the random number itself for encryption (particularly, calculates the exclusive OR with the data to be protected using the true random number), compared with the encryption algorithm. And there is an advantage that high confidentiality can be obtained by simple calculation.

本発明の第1の実施形態の半導体システムを示すブロック図。1 is a block diagram showing a semiconductor system according to a first embodiment of the present invention. 図1の動作を説明するフローチャート。The flowchart explaining the operation | movement of FIG. 図1の乱数バッファのアドレスを説明する図。The figure explaining the address of the random number buffer of FIG. 乱数バッファ管理テーブルを示す図。The figure which shows a random number buffer management table. 本発明の第2の実施形態の半導体システムを示すブロック図。The block diagram which shows the semiconductor system of the 2nd Embodiment of this invention. 図5の書き替え後の乱数バッファの状態を示す図。The figure which shows the state of the random number buffer after rewriting of FIG. 本発明の第3の実施形態の半導体システムを示すブロック図。The block diagram which shows the semiconductor system of the 3rd Embodiment of this invention. 図7のシードバッファ管理テーブルを示す図。The figure which shows the seed buffer management table of FIG. 本発明の第4の実施形態の半導体システムを示すブロック図。The block diagram which shows the semiconductor system of the 4th Embodiment of this invention. 従来技術の半導体システムの構成を示すブロック図。The block diagram which shows the structure of the semiconductor system of a prior art.

符号の説明Explanation of symbols

10A,10B,10C,10D…半導体システム
11…メインCPU(制御部)
12…システムメモリ(主メモリ部)
13…ビデオモジュール(再生部)
14…オーディオモジュール(再生部)
15A…機密情報処理モジュール(機密情報処理部)
15-3…DMAC(DMAコントローラ)
16-1,16-1a…乱数発生装置(乱数発生部)
16-2…乱数バッファ(バッファ部)
16-2a…シードバッファ(バッファ部)
17…XOR回路(排他的論理和部)
18…乱数管理CPU(乱数管理用制御部)
10A, 10B, 10C, 10D ... Semiconductor system
11 ... Main CPU (control unit)
12 ... System memory (main memory)
13 ... Video module (playback unit)
14 ... Audio module (playback unit)
15A ... Confidential information processing module (confidential information processing section)
15-3 ... DMAC (DMA controller)
16-1, 16-1a ... random number generator (random number generator)
16-2 ... Random number buffer (buffer part)
16-2a ... Seed buffer (buffer part)
17 ... XOR circuit (exclusive OR part)
18. Random number management CPU (random number management control unit)

Claims (5)

保護された情報を入力し、その保護の解除及び情報の保持を行うことが可能な機密情報処理部と、
乱数を発生する乱数発生部と、
発生した乱数あるいは乱数を発生するためのシードを保存するバッファ部と、
前記乱数と前記機密情報処理部に保持した保護すべき情報との排他的論理和の演算により、前記保護すべき情報の前記乱数による暗号化及びその解除によって前記情報の保護及び復元を行う排他的論理和部と、
前記排他的論理和部で暗号化によって保護された情報を記憶する主メモリ部と、
少なくとも前記主メモリ部へのアクセスが可能で前記バッファ部へのアクセスが禁止される制御部であって、前記主メモリ部に記憶した保護された情報を前記排他的論理和部に戻すことによって、前記バッファ部で保存している乱数との排他的論理和の演算により復元される情報を再生部に供給するように制御する制御部と、
を具備したことを特徴とする半導体システム。
A confidential information processing unit capable of inputting protected information, releasing the protection and holding the information;
A random number generator for generating random numbers;
A buffer part for storing the generated random number or a seed for generating the random number;
An exclusive OR operation that protects and restores the information by encrypting the information to be protected by the random number and releasing it by calculating an exclusive OR of the random number and the information to be protected held in the confidential information processing unit. OR part,
A main memory unit for storing information protected by encryption in the exclusive OR unit;
At least a control unit capable of accessing the main memory unit and prohibiting access to the buffer unit, and returning the protected information stored in the main memory unit to the exclusive OR unit, A control unit that controls the reproduction unit to supply information restored by an exclusive OR operation with a random number stored in the buffer unit;
A semiconductor system comprising:
前記バッファ部、前記排他的論理和部、及び前記主メモリ部のデータ転送を行うDMAコントローラをさらに具備し、
前記乱数と前記保護すべき情報との排他的論理和の演算が、前記乱数、前記保護すべき情報、及び演算結果のDMA転送と一括して実行される請求項1に記載の半導体システム。
A DMA controller that performs data transfer of the buffer unit, the exclusive OR unit, and the main memory unit;
2. The semiconductor system according to claim 1, wherein an exclusive OR operation between the random number and the information to be protected is executed together with DMA transfer of the random number, the information to be protected, and an operation result.
前記バッファ部による乱数の発生が、前記DMAコントローラに設定される転送先のアドレスやサイズ、あるいは転送先の機能種別に対応して、自動的に行われることを特徴とする請求項2に記載の半導体システム。   The random number generation by the buffer unit is automatically performed according to a transfer destination address and size set in the DMA controller or a function type of the transfer destination. Semiconductor system. 前記乱数を管理するための乱数管理用制御部を有し、
該乱数管理用制御部は、前記乱数の発生、前記バッファ部の必要領域の確保および乱数保存領域の管理、あるいは排他的論理和の計算を行うことを特徴とする請求項1乃至3のいずれか1つに記載の半導体システム。
A control unit for random number management for managing the random number;
4. The random number management control unit performs generation of the random number, reservation of a necessary area of the buffer unit and management of a random number storage area, or calculation of an exclusive OR. The semiconductor system according to one.
前記機密情報処理部もしくは外部の制御部が、前記バッファ部に保存される乱数の上書きを許可することによって、前記保護すべき情報の一部をスクランブル対象から除外することを特徴とする請求項1乃至4のいずれか1つに記載の半導体システム。   2. The confidential information processing unit or an external control unit excludes a part of the information to be protected from being scrambled by allowing overwriting of a random number stored in the buffer unit. 5. The semiconductor system according to any one of 1 to 4.
JP2008287076A 2008-11-07 2008-11-07 Semiconductor system Pending JP2010113615A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008287076A JP2010113615A (en) 2008-11-07 2008-11-07 Semiconductor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008287076A JP2010113615A (en) 2008-11-07 2008-11-07 Semiconductor system

Publications (1)

Publication Number Publication Date
JP2010113615A true JP2010113615A (en) 2010-05-20

Family

ID=42302116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008287076A Pending JP2010113615A (en) 2008-11-07 2008-11-07 Semiconductor system

Country Status (1)

Country Link
JP (1) JP2010113615A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529584A (en) * 2014-07-21 2017-10-05 ポリテクニコ ディ トリノ Method, device and system for improving fingerprint verification and camera identification
JPWO2019087309A1 (en) * 2017-10-31 2020-11-19 三菱重工機械システム株式会社 Information processing device, control method and program of information processing device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529584A (en) * 2014-07-21 2017-10-05 ポリテクニコ ディ トリノ Method, device and system for improving fingerprint verification and camera identification
JPWO2019087309A1 (en) * 2017-10-31 2020-11-19 三菱重工機械システム株式会社 Information processing device, control method and program of information processing device
JP7042837B2 (en) 2017-10-31 2022-03-28 三菱重工機械システム株式会社 Information processing equipment, control methods and programs for information processing equipment
US11288374B2 (en) 2017-10-31 2022-03-29 Mitsubishi Heavy Industries Machinery Systems. Ltd. Information processing device, method for controlling information processing device, and program

Similar Documents

Publication Publication Date Title
CN100379194C (en) storage encryption
JP5417092B2 (en) Cryptography speeded up using encrypted attributes
JP4060271B2 (en) Content processing apparatus and content protection program
US8532296B2 (en) Processor, memory device, computer system, and method for transferring data
AU2011305189C1 (en) A tweakable encryption mode for memory encryption with protection against replay attacks
TWI490724B (en) Method for loading a code of at least one software module
JPH08328962A (en) A system consisting of a terminal and a memory card connected to the terminal
JPH05210560A (en) Method and device using split key encipherment/ decipher
JP4698840B2 (en) Method and system for providing copy protection on a storage medium and storage medium used in such a system
US7617402B2 (en) Copyright protection system, encryption device, decryption device and recording medium
KR100636150B1 (en) Multimedia device including encryption module
JP2011248859A (en) Data processing apparatus, data processing system, and control method therefor
JP2004208088A (en) Device key decryption device, device key encryption device, device key encryption / decryption device, device key decryption method, device key encryption method, device key encryption / decryption method, and program therefor
CN100424611C (en) Method and central processing unit for processing encryption software
CN1906622B (en) Confidential information processing method, confidential information processing device, and content data reproducing device
JP2003195758A (en) Data processor, interface board and data concealing method
JP2010113615A (en) Semiconductor system
JPH11205304A (en) Method for preventing unauthorized use of program
JP4665159B2 (en) Electronic media communication device
JP2007336446A (en) Data encryption device
JP3184189B2 (en) Electronic data protection system, licensor side apparatus, user side apparatus, license information generation processing method, and electronic data decryption processing method
JP3797531B2 (en) System for preventing unauthorized copying of digital data
CN115296789B (en) Method and system for processing secret key and electronic equipment
JP2006330126A (en) Encryption processing method and decryption processing method
JP2009075474A (en) Cryptographic processing device