JPWO2016088273A1 - セキュリティ装置および制御方法 - Google Patents

セキュリティ装置および制御方法 Download PDF

Info

Publication number
JPWO2016088273A1
JPWO2016088273A1 JP2016562189A JP2016562189A JPWO2016088273A1 JP WO2016088273 A1 JPWO2016088273 A1 JP WO2016088273A1 JP 2016562189 A JP2016562189 A JP 2016562189A JP 2016562189 A JP2016562189 A JP 2016562189A JP WO2016088273 A1 JPWO2016088273 A1 JP WO2016088273A1
Authority
JP
Japan
Prior art keywords
information
memory
cpu
secure area
unique
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
JP2016562189A
Other languages
English (en)
Inventor
中山 寛
寛 中山
清之 小檜山
清之 小檜山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2016088273A1 publication Critical patent/JPWO2016088273A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

セキュア領域(100)は、このセキュア領域(100)内で動作するCPU(110)と、小容量のメモリ(140)を有する。CPU(110)は、秘密の入力路IF(170)から秘密値を含む第1情報と、各種プログラムやマスター鍵等を含む第2情報を暗号化された状態で取得する。CPU(110)は、第1情報および第2情報を復号して、第1情報をメモリ(140)に格納する。CPU(110)は、第1情報を基にした固有暗号鍵を生成し、固有暗号鍵で、第2情報を暗号化し、暗号化した第2情報を外部に存在するNVRAM(60)に格納することを、外部のメインCPU(51)に依頼する。

Description

本発明は、セキュリティ装置等に関する。
従来、暗号化されたデジタルAV(Audio and Visual)情報を復号するセキュア領域は、CAS(Conditional Access System)またはDRM(Digital Rights Management)と呼ばれる。CASの場合には、セキュア領域をカード形態にて実装する。DRMの場合には、端末のホストCPUが処理するソフトウェアの一部にセキュアな部分を作成し実装する。
CASおよびDRMは、基本的に暗号化されたデジタルAV情報を復号する復号鍵を放送或いは通信経由で秘密に受信し、受信端末でデジタルAV情報を復号できるようにする。
図20は、CAS方式による処理の一例を説明するための図である。放送局5は、元のデジタルAV情報をスクランブル鍵Ksで暗号化し、放送デジタル・ストリームに重畳する。放送局5は、スクランブル鍵Ksをワーク鍵Kwで暗号化し、ECMと呼ばれるパケットに暗号化したスクランブル鍵Ksを挿入し、ECMを放送デジタル・ストリームに時分割多重する。また、放送局5は、マスター鍵Kmでワーク鍵Kwを暗号化し、EMMと呼ばれるパケットに暗号化したワーク鍵Kwを挿入し、EMMを放送デジタル・ストリームに時分割多重する。ここで、マスター鍵Kwは、放送局5と個別の視聴者しか知らない鍵である。
受信端末10は、放送局5から放送デジタル・ストリームを受信すると、放送デジタル・ストリームに含まれるECMおよびEMMをスマートカード30に入力する。スマートカード30は、EMMを、スマートカード30に格納されたマスター鍵Kmで復号することで、ワーク鍵Kwを取得し、スマートカード30に保存する。スマートカード30は、ワーク鍵Kwを用いて、ECMを復号することで、スクランブル鍵Ksを取得する。スマートカード30は、スクランブル鍵Ksを、受信端末10の本体に出力する。受信端末10は、スクランブル鍵Ksを用いて、暗号化されたデジタルAV情報を復号する。
図20を用いて説明したマスター鍵、ワーク鍵、スクランブル鍵によるCAS方式は、3重鍵方式と呼ばれる。マスター鍵は、固有鍵、すなわち個別の視聴者に与えられた唯一無二の鍵であり、このマスター鍵により個別の視聴者に番組視聴の権利が与えられる。すなわち、放送局5は、視聴者しか保持しないマスター鍵で暗号化したワーク鍵を送ることで視聴者毎にワーク鍵という権利を与える。
ワーク鍵の使い方は限定されないが、一般的に所定のチャンネルに対する視聴権を与える場合に用いられる。例えば、放送局5は、有料放送チャンネルの視聴権を契約視聴者に付与するため、マスター鍵で暗号化したワーク鍵を受信端末10に送信する。
スクランブル鍵は、チャンネルのデジタルAV情報を暗号化するために使われる。例えば、視聴者が、有料放送チャンネルを視聴する場合には、有料放送チャンネルに関連するワーク鍵で、スクランブル鍵を復号し、復号したスクランブル鍵を用いて、暗号化されたデジタルAV情報を復号する。
続いて、受信端末の構成について説明する。図21は、従来の受信端末の構成を示す図である。図21に示すように、この受信端末10は、システムLSI(Large-Scale Integrated circuit)11を有する。システムLSI11は、メインCPU(Central Processing Unit)12、RAM(Random Access Memory)13、NVRAM(Non-Volatile Memory)14、Tuner15、暗号復号回路16、伸長処理回路17、グラフィック回路18を有する。また、受信端末10は、表示装置6およびスマートカード(Smart Card)30に接続される。各装置12〜18は、バス19に接続される。
メインCPU12は、受信端末10全体を制御する装置である。メインCPU12は、RAM13に格納された各種処理プログラムを実行することで、各種の処理および制御を行う。NVRAM14は、不揮発性メモリであり、受信端末10の電源を落としても情報が保持される領域である。
メインCPU12が処理する特定のプログラムの指示に従い、受信端末10に含まれる各装置は、下記の処理を実行する。Tuner15は、放送局5から電波に乗って暗号化されたデジタルAV情報を受信する。Tuner15は、暗号化されたデジタルAV情報に含まれるECMおよびEMMの情報を、スマートカード30に出力する。
スマートカード30は、EMMを受信した場合には、スマートカード30内のマスター鍵Kmを用いて、EMMを復号し、ワーク鍵Kwを取り出す。スマートカード30は、取り出したワーク鍵Kwを、スマートカード30内の小領域不揮発性メモリに格納する。
スマートカード30は、ECMを受信した場合には、小領域不揮発性メモリに格納されたワーク鍵Kwを用いて、ECMを復号し、スクランブル鍵Ksを取り出す。スマートカード30は、取り出したスクランブル鍵Ksを、メインCPU12に出力する。
メインCPU12は、スマートカード30から受け付けたスクランブル鍵Ksを暗号復号回路16に入力する。暗号復号回路16は、暗号化されたデジタルAV情報を復号し、復号したデジタルAV情報を、伸長処理回路17に出力する。復号されたデジタルAV情報は、例えば、MPEG(Moving Picture Experts Group)圧縮されている。
伸長処理回路17は、MPEG圧縮されたデジタルAV情報を伸長する。例えば、デジタルAV情報は伸長されることで、デジタルRGB(Red-Green-Blue)信号およびデジタルオーディオ信号となる。デジタルRGB信号は、グラフィック回路18に入力される。グラフィック回路18は、デジタルRGB信号に対応する画像情報を、表示装置6に表示させる。
ここで、例えば、メインCPU12上で動作するソフトウェアがハッキングされた場合には、マスター鍵Km、ワーク鍵Kwが盗難される恐れがある。ソフトウェアがハッキングされると、ソフトウェアを無断で改竄され、スマートカード30内のマスター鍵Kmやワーク鍵Kwが無断でコピーされる。そうすると、マスター鍵Kmやワーク鍵Kwがインターネット上で公開される恐れがあり、無断で誰もが有料放送チャンネルを視聴できる場合がある。
スマートカード30は、メインCPU12から容易に覗き見や改竄ができないように、専用の不揮発性メモリにマスター鍵Kmを格納する。これによって、メインCPU12上で動作するソフトウェアがハッキングされても、マスター鍵Kmや、マスター鍵Kmで復号されるワーク鍵Kwが外部に漏洩することを抑止できる。
続いて、スマートカード30の構成の一例について説明する。図22は、従来のスマートカードの構成を示す図である。図22に示すように、このスマートカード30は、CPU31と、BootROM32と、ROM33と、NVRAM34と、RAM35と、暗号回路36と、Clock37と、シリアルIF38を有する。シリアルIF38は、シリアルIF39を介して、バス19に接続する。スマートカード30は、外部からの覗き見や改竄を困難にするカードで覆われる。
CPU31は、スマートカード30全体を制御する装置である。BootROM32には、CPU31が起動した場合の初期命令の情報が格納される。ROM33には、例えば、B−CASプログラムや、シリアルIF処理プログラムが格納される。NVRAM34には、マスター鍵Km、ワーク鍵Kw、契約番組情報等が格納される。RAM35は、CPU31が各種プログラムを実行する場合に利用する作業領域となる。
スマートカード30に電源が入力されると、CPU31は、BootROM32から初期命令を入手し、この初期命令に応じた処理を実行する。例えば、CPU31は、ROM33に格納されたB−CASプログラムおよびシリアルIF処理プログラムをRAM35にコピーし、このB−CASプログラムおよびシリアルIF処理プログラムを実行できるようにする。例えば、B−CASプログラムは、後述するEMM処理、ECM処理を実行するプログラムである。シリアルIF処理プログラムは、シリアルIF38を介して外部と情報をやり取りする処理を実行するプログラムである。
CPU31は、シリアルIF38からパケットが入力されると、シリアルIF処理プログラムを起動させる。シリアルIF38から入力されるパケットは、シリアルな情報であるため、CPU31は、このシリアルな情報をパラレルな情報に変換し、パケットの識別を行う。
CPU31は、パケットがEMMである場合には、下記のEMM処理を実行する。CPU31は、マスター鍵Kmを、NVRAM34から取り出し、暗号回路36に設定し、EMMを暗号回路36に入力することで、ワーク鍵Kwを復号する。CPU31は、復号したワーク鍵KwをNVRAM34に格納する。
一般的に、ワーク鍵Kwは、チャンネル毎に異なる。EMMには、チャンネル情報とワーク鍵Kwの整理番号が含まれる。CPU31は、EMMに含まれるチャンネル情報と、整理番号と、ワーク鍵Kwとを対応付けて、NVRAM34に格納する。
CPU31は、パケットがECMである場合には、下記のECM処理を実行する。ECMには、暗号化されたスクランブル鍵Ksと、ワーク鍵Kwの整理番号が含まれる。CPU31は、ECMの整理番号に対応するワーク鍵KwをNVRAM34から取り出す。CPU31は、取り出したワーク鍵Kwを暗号回路36に設定し、ECMを暗号回路36に入力することで、スクランブル鍵Ksを復号する。
CPU31は、スクランブル鍵Ksを復号した後に、スクランブル鍵Ksの情報をシリアル変換して、シリアルIF38から出力する。スクランブル鍵Ksは、シリアルIF39、バス19を介して、受信端末10のメインCPU12に到達する。
特開2010−233222号公報
しかしながら、上述した従来技術では、セキュア領域内の不揮発性メモリの記憶容量が小さく、複数のプログラムを実装することできないという問題がある。
例えば、図22に示したNVRAM34の記憶容量が小さいため、後々のプログラムの増大に対応することが難しい。
1つの側面では、セキュア領域内の不揮発性メモリの記憶容量が小さい場合でも、複数のプログラムを実装することができるセキュリティ装置を提供することを目的とする。
第1の案では、セキュリティ装置は、セキュア領域内にプロセッサと記憶容量が所定容量未満となる第1メモリを有する。プロセッサは、秘密の入力路から暗号化された第1情報および暗号化された第2情報が入力されると、第1情報および第2情報を復号して第1メモリに第1情報を格納する。プロセッサは、復号した第1情報を基にした暗号鍵を用いて、復号した第2情報を暗号化し、暗号化した第2情報を、セキュア領域の外部に存在する第2メモリに格納することを依頼する。
本発明の1実施態様によれば、セキュア領域内の不揮発性メモリの記憶容量が小さい場合でも、複数のプログラムを実装することができる。
図1は、本実施例1に係るシステムLSIの一例を示す図である。 図2は、変換回路群の処理を説明するための図である。 図3は、イネーブル回路の一例を示す図である。 図4は、本実施例1に係るシステムLSIの処理手順を示すフローチャートである。 図5は、本実施例1に係るセキュア領域の処理手順を示すフローチャートである。 図6は、本実施例1に係るセキュア領域の初期化処理手順を示すフローチャートである。 図7は、初期設定を行うプロセスの一例を示す図(1)である。 図8は、初期設定を行うプロセスの一例を示す図(2)である。 図9は、本実施例2に係るシステムLSIの一例を示す図である。 図10は、本実施例2に係るセキュア領域の初期化処理手順を示すフローチャートである。 図11は、初期設定を行うプロセスの一例を示す図(3)である。 図12は、初期設定を行うプロセスの一例を示す図(4)である。 図13は、本実施例3に係るシステムLSIの一例を示す図である。 図14は、CPUがプログラムの指定領域にユニーク値を挿入する処理を説明するための図である。 図15は、本実施例3に係るセキュア領域の初期化処理手順を示すフローチャートである。 図16は、本実施例3に係るセキュア領域の処理手順を示すフローチャートである。 図17は、本実施例4に係るシステムLSIの一例を示す図である。 図18は、ECMのデータ構造の一例を示す図である。 図19は、その他のシステム構成例を示す図である。 図20は、CAS方式による処理の一例を説明するための図である。 図21は、従来の受信端末の構成を示す図である。 図22は、従来のスマートカードの構成を示す図である。
以下に、本発明にかかるセキュリティ装置および制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1に係るシステムLSIの構成について説明する。図1は、本実施例1に係るシステムLSIの一例を示す図である。図1に示すように、このシステムLSI50aは、メインCPU51、IF52a,52b,52c、BootROM53、RAM54、イーサネット(商標登録、以下省略)IF55、Tuner56、伸長処理回路57、グラフィック回路58、セキュア領域100を有する。システムLSI50aは、NVRAM60に接続される。
例えば、メインCPU51、BootROM53、イーサネットIF55、Tuner56、伸長処理回路57、グラフィック回路58は、バス59に接続される。RAM54は、IF52bを介して、バス59に接続される。セキュア領域100は、IF52aを介して、バス59に接続される。本実施例1では、RAM54が、IF52bを介してシステムLSI50aの外部に接続される例を示すが、これに限定されるものではなく、システムLSI50aの内部にRAM54を設置してもよい。
メインCPU51は、システムLSI50a全体を制御する装置である。メインCPU51は、電源が投入されると、BootROMの初期命令をRAM54に読み出し、初期命令に応じた処理を実行する。例えば、メインCPU51は、初期命令に従って、NVRAMに格納されたメインCPU用のプログラム群を、RAM54に書き込む。メインCPU用のプログラム群には、OS(Operating System)のプログラムが含まれる。
メインCPU51は、OSのプログラムをRAM54に書き込むと、OSに基づく処理に移行する。例えば、メインCPU51は、イーサネットIF55、Tuner56、伸長処理回路57、グラフィック回路58、セキュア領域100を起動する。メインCPU51に起動された各装置は、例えば、下記の処理を実行する。
イーサネットIF55は、インターネット(Internet)接続を行い、サーバ等の外部装置と情報をやり取りする。
Tuner56は、放送電波から多重化MPEGストリームを取得し、取得した多重化MPEGストリームから圧縮ビデオストリームを抽出する。圧縮ビデオストリームが暗号化されていない場合には、Tuner56は、圧縮ビデオストリームを、伸長処理回路57に出力する。
伸長処理回路57は、圧縮ビデオストリームを伸長する。例えば、圧縮ビデオストリームは伸長されることで、デジタルRGB信号およびデジタルオーディオ信号となる。伸長処理回路57は、デジタルRGB信号をグラフィック回路58に出力し、オーディオ信号を図示しないオーディオ回路に出力する。
グラフィック回路58は、デジタルRGB信号にグラフィック情報を付加し、映像を出力する。グラフィック情報は、例えば、チャンネル情報や字幕情報に対応する。
一方、圧縮ビデオストリームが暗号化されている場合には、メインCPU51がEMMやECMをセキュア領域100に入力する。セキュア領域100は、EMMやECMが入力されると、スクランブル鍵Ksを復号し、メインCPU51にスクランブル鍵Ksを出力する。
メインCPU51は、伸長処理回路57に含まれる暗号回路にスクランブル鍵Ksを設定し、暗号回路は、スクランブル鍵Ksを用いて、圧縮ビデオストリームを復号する。伸長処理回路57は、復号した圧縮ビデオストリームを伸長する処理を行う。
続いて、セキュア領域100の構成について説明する。図1に示すように、セキュア領域100は、CPU110、BootROM120、RAM130、メモリ140、変換回路群150、暗号回路群160、秘密の入力路IF170を有する。
CPU110は、セキュア領域100全体を制御する装置である。例えば、CPU110は、管理プログラムを実行して、管理プログラムの処理手順に従い、セキュア領域100全体を制御する。BootROM120は、CPU110が起動した場合に読み出される初期命令の情報を格納する。RAM130は、CPU110が各種プログラムを実行する場合に利用する作業領域となる。
メモリ140は、小容量の不揮発性メモリである。メモリ140は、秘密値「xxx」と、複数の識別子と格納する。メモリ140の記憶容量は、係る秘密値と複数の識別子を記憶できる程度のものでよい。秘密値および識別子は、セキュア領域100の初期化時にメモリ140に格納される。秘密値と識別子とのペアにより、システムLSI50aの識別、セキュア領域100の識別、受信端末メーカの識別を行うことが可能となる。
例えば、メモリ140には、秘密値「xxx」と、識別子「www」、「yyy」、「bbb」が格納されているものとする。秘密値「xxx」と識別子「www」とのペアは、システムLSI50aを一意に識別する情報となる。秘密値「xxx」と識別子「yyy」とのペアは、セキュア領域100を一意に識別する情報となる。秘密値「xxx」と識別子「bbb」とのペアは、受信端末メーカを一意に識別する情報となる。ここでは、一例として、3種類の識別子を示したが、その他の識別子が存在してもよい。
メモリ140に格納される秘密値は門外不出の情報である。これに対して、CPU110は、メインCPU51から識別子の開示依頼を受け付けた場合には、識別子をメインCPU51に開示してもよい。また、仮に、メモリ140の秘密値および識別子が漏洩した場合には、秘密値と識別子とのペアに基づき、漏洩元を特定することが可能となる。
変換回路群150は、メモリ140に格納された秘密値に基づき固有暗号鍵を生成する回路群である。図2は、変換回路群の処理を説明するための図である。図2に示す例では、変換回路群150は、暗号回路150a,150b,150cを有する。固有暗号鍵を生成する場合には、CPU110が、メモリ140に格納された秘密値「xxx」を、暗号回路150a,150b,150cに入力する。また、CPU110は、暗号鍵「yyy」を暗号回路150aに入力し、暗号鍵「zzz」を暗号回路150bに入力し、暗号鍵「www」を暗号回路150cに入力する。ここで、暗号鍵「yyy」、「zzz」、「www」は、セキュア領域100内に予め設定された情報である。暗号鍵「yyy」、「zzz」、「www」は、セキュア領域100毎に固有の情報でなくてもよい。
暗号回路150aは、秘密値「xxx」および暗号鍵「yyy」の入力を受け付けると、秘密値「xxx」および暗号鍵「yyy」を基にして、固有暗号鍵70aを出力する。暗号回路150bは、秘密値「xxx」および暗号鍵「zzz」の入力を受け付けると、秘密値「xxx」および暗号鍵「zzz」を基にして、固有暗号鍵70bを出力する。暗号回路150cは、秘密値「xxx」および暗号鍵「www」の入力を受け付けると、秘密値「xxx」および暗号鍵「www」を基にして、固有暗号鍵70cを出力する。
暗号回路群160は、各種情報の暗号化、復号を行う回路群である。暗号回路群160が暗号化、復号を行う処理の説明は後述する。
秘密の入力路IF170は、予め管理者等により取り決められた秘密の入力信号を受け付けると、秘密の入力路IF170を介した情報の入力を許容するインターフェースである。例えば、初期設定時に、秘密の入力路IF170を介して、上記の秘密値や識別子、マスター鍵Ks、各種プログラムが入力される。
秘密の入力路IF170は、イネーブル回路を用いて、情報の入力を許容するか否かを判定する。図3は、イネーブル回路の一例を示す図である。図3に示すように、イネーブル回路80は、一次記憶部80aおよび比較器80bを有する。一次記憶部80aは、クロックと同期して、イネーブル入力信号を一時的に格納する装置である。比較器80bは、ラッチ信号に基づき、一次記憶部80aに格納されたイネーブル入力信号を取り込み、取り込んだイネーブル入力信号が、予め設定されていた信号と一致した場合に、イネーブル信号を、秘密の入力路IF170に出力する。秘密の入力路IF170は、イネーブル回路80からイネーブル信号を受け付けると、外部からの入力情報の入力を許容する。
セキュア領域100の初期設定時の処理について説明する。CPU110は、秘密の入力IF路170から入力情報を受け付ける。入力情報には、メモリ140に格納する第1入力情報と、セキュア領域100の外部のNVRAM60に格納する第2入力情報とが含まれる。第1入力情報および第2入力情報は、暗号化されている。
例えば、第1入力情報には、上述した秘密値と、複数の識別子が含まれる。CPU110は、暗号化された第1入力情報を受け付けると、セキュア領域100内に設定された暗号鍵「sss」と、暗号化された第1入力情報とを暗号回路群160に入力して、第1入力情報を復号する。
CPU110は、メモリ140に対応する書き込み禁止フラグを基にして、復号した第1入力情報を、メモリ140に格納するか否かを判定する。この書き込み禁止フラグは、図示しないメモリに格納される。CPU110は、書き込み禁止フラグが「OFF」である場合には、第1入力情報を、メモリ140に格納し、書き込み禁止フラグを「ON」に設定する。これに対して、CPU110は、書き込み禁止フラグが「ON」である場合には、第1入力情報を、メモリ140に格納する処理を抑止する。
例えば、第2入力情報には、管理プログラム、B−CASプログラム、マスター鍵Km、IFプログラム、DRMプログラム、関連機密情報等が含まれる。また、第2入力情報は、複数のワーク鍵Kwを有していてもよい。CPU110は、暗号化された第2入力情報を受け付けると、セキュア領域100内に設定された暗号鍵「sss」と、暗号化された第2入力情報とを暗号回路群160に入力して、第2入力情報を復号する。
更に、CPU110は、復号した第2入力情報と、変換回路群150により生成された固有暗号鍵とを暗号回路群160に入力して、第2入力情報を暗号化する。CPU110は、第2入力情報を暗号化する場合に、共通の固有暗号鍵で暗号化してもよいし、複数の固有暗号鍵を用いて、暗号化してもよい。以下の説明において、固有暗号鍵によって暗号化した第2入力情報を、「固有暗号化情報」と表記する。
CPU110は、IFプログラムをRAM130に展開して実行することで、下記の処理を実行する。CPU110は、IF52aを介して、固有暗号化情報をメインCPU51に出力し、固有暗号化情報をNVRAM60に格納することを依頼する。メインCPU51は、セキュア領域100内から固有暗号化情報を取得すると、固有暗号化情報を、NVRAM60に格納する。
CPU110は、第2入力情報を暗号化する場合に、第2入力情報のハッシュ値を算出し、算出したハッシュ値を固有暗号化情報に付加してもよい。ハッシュ値を固有暗号化情報に付加することで、NVRAM60に格納された固有暗号化情報が改竄されたか否かを検出することができる。
例えば、CPU110は、メインCPU51にNVRAM60に格納された固有暗号化情報の読み出しを依頼し、固有暗号化情報を取得すると、固有暗号鍵と、固有暗号化情報と暗号回路群160に入力することで、第2入力情報を取り出す。CPU110は、第2入力情報から算出されるハッシュ値と、固有暗号化情報に付加されたハッシュ値が一致するか否かにより、改竄されたか否かを判定する。
また、CPU110は、NVRAM60に固有暗号化情報が正しく書き込まれたか否かを確認することを目的とした処理を行ってもよい。CPU110は、メインCPU51に固有暗号化情報を格納することを依頼した直後に、メインCPU51に対して、NVRAM60に格納された固有暗号化情報の読み出しを要求する。例えば、CPU110は、固有暗号化情報を、一時的にRAM130に残しておき、RAM130の固有暗号化情報と、NVRAM60から読み出された固有暗号化情報とを比較して、固有暗号化情報が正しく書き込まれているか否かを判定する。
CPU110は、NVRAM60に固有暗号化情報が正しく書き込まれていない場合には、再度、固有暗号化情報をメインCPU51に出力し、固有暗号化情報をNVRAM60に格納することを依頼する。
上述した初期化設定完了後に、セキュア領域100がメインCPU51の指示により起動した場合の処理について説明する。CPU110は、メインCPU51から起動指示を受けると、BootRAM120に格納された初期命令を実行することで、下記の処理を実行する。
CPU110は、メモリ140に格納された秘密値「xxx」と暗号鍵とを読み出して、変換回路群150に入力して、固有暗号鍵を生成する。固有暗号鍵を生成する処理は、図2で説明した処理に対応する。
CPU110は、メインCPU51に対して、NVRAM60から固有暗号化情報の読み出しを依頼する。CPU110は、固有暗号化情報を取得すると、固有暗号化情報と、固有暗号鍵とを暗号回路群160に入力して、固有暗号化情報を復号し、第2入力情報を取り出す。CPU110は、第2入力情報をRAM130に格納し、B−CASプログラム、IFプログラム、DRMプログラム等を実行できるようにする。例えば、B−CASプログラムは、EMM処理、ECM処理を実行するプログラムである。IFプログラムは、IF52aを介して外部のメインCPU51と情報をやり取りする処理を実行するプログラムである。DRMプログラムは、各種のデジタルデータとして表現されたコンテンツの著作権を保護するために、デジタルデータを用いた処理を制限・制御するプログラムである。
CPU110は、IF52aからパケットを取得すると、パケットの識別を行う。CPU110は、パケットがEMMである場合には、下記のEMM処理を実行する。CPU110は、マスター鍵KmをRAM130から取り出し、暗号回路群160に設定し、EMMを暗号回路群160に入力することで、ワーク鍵Kwと識別番号とを復号する。CPU110は、復号したワーク鍵Kwと識別番号と対応付けてRAM130に格納する。
CPU110は、パケットがECMである場合には、下記のECM処理を実行する。ECMには、暗号化されたスクランブル鍵Ksと、ワーク鍵Kwの整理番号が含まれる。CPU110は、ECMの整理番号に対応するワーク鍵KwをRAM130から取り出す。CPU110は、取り出したワーク鍵Kwを暗号回路群160に設定し、ECMを暗号回路群160に入力することで、スクランブル鍵Ksを復号する。
CPU110は、スクランブル鍵Ksを復号した後に、スクランブル鍵Ksの情報を、IF52aを介して、メインCPU51に出力する。
次に、本実施例1に係るシステムLSI50aの処理手順の一例について説明する。図4は、本実施例1に係るシステムLSIの処理手順を示すフローチャートである。図4に示すように、システムLSI50aは、電源が投入されると(ステップS101)、メインCPU51がBootROM53の初期命令をRAM54に書き込む(ステップS102)。
メインCPU51は、初期命令に従い、NVRAM60に格納されたメインCPU用プログラム群の情報をRAM54に書き込む(ステップS103)。メインCPU51は、OSに基づく処理に移行する(ステップS104)。
メインCPU51は、セキュア領域100および他装置を起動する(ステップS105)。Tuner56が放送電波から多重化MPEGストリームを取得し、圧縮ビデオストリームを抽出する(ステップS106)。メインCPU51は、圧縮ビデオストリームが暗号化されているか否かを判定する(ステップS107)。圧縮ビデオストリームが暗号化されていない場合には(ステップS107,No)、伸長処理回路57が圧縮ビデオストリームをデジタルRGB信号に伸長する(ステップS108)。グラフィック回路58は、デジタルRGB信号を基にして映像を出力する(ステップS109)。
ステップS107の説明に戻る。メインCPU51は、圧縮ビデオストリームが暗号化されている場合には(ステップS107,Yes)、EMMおよびECMをセキュア領域100に出力する(ステップS110)。セキュア領域100のCPU110は、スクランブル鍵Ksを復号して、メインCPU51に通知する(ステップS111)。メインCPU51は、スクランブル鍵Ksと圧縮ビデオストリームを伸長処理回路57に含まれる暗号回路に設定して、圧縮ビデオストリームを復号し(ステップS112)、ステップS108に移行する。
次に、図4のステップS105で示したセキュア領域100を起動した場合のセキュア領域100の処理手順について説明する。図5は、本実施例1に係るセキュア領域の処理手順を示すフローチャートである。図5に示すように、セキュア領域100が起動すると(ステップS201)、CPU110は、BootROM120の初期命令を実行する(ステップS202)。
CPU110は、メモリ140に格納された秘密値「xxx」と、暗号鍵を変換回路群150に入力して固有暗号鍵を生成する(ステップS203)。CPU110は、メインCPU51に対して、NVRAM60から固有暗号化情報の読み出しを依頼する(ステップS204)。
CPU110は、外部からIF52aを介して固有暗号化情報を取得する(ステップS205)。CPU110は、固有暗号化情報を、固有暗号鍵を用いて復号することで、第2入力情報を取り出す(ステップS206)。CPU110は、第2入力情報を、RAM130に格納する(ステップS207)。
次に、本実施例1のセキュア領域の初期化処理の一例について説明する。この初期化処理は、図4および図5に示した処理手順よりも前に実行される。図6は、本実施例1に係るセキュア領域の初期化処理手順を示すフローチャートである。図6に示すように、セキュア領域100の秘密の入力路IF170は、入力情報を受け付け(ステップS301)、イネーブル回路からイネーブル信号が出力されたか否かを判定する(ステップS302)。
セキュア領域100は、イネーブル回路からイネーブル信号が出力されない場合には(ステップS302,No)、処理を終了する。一方、イネーブル回路からイネーブル信号が出力された場合には(ステップS302,Yes)、CPU110は、書き込み禁止フラグが「ON」であるか否かを判定する(ステップS303)。
CPU110は、書き込み禁止フラグが「ON」である場合には(ステップS303,Yes)、処理を終了する。一方、CPU110は、書き込み禁止フラグが「ON」でない場合には(ステップS303,No)、暗号鍵「sss」を用いて、入力情報を復号する(ステップS304)。例えば、入力情報には、第1入力情報と第2入力情報が含まれる。
CPU110は、第1入力情報をメモリ140に格納し(ステップS305)、書き込み禁止フラグを「ON」にセットする(ステップS306)。CPU110は、第1入力情報に含まれる秘密値「xxx」と暗号鍵とを変換回路群150に入力することで、固有暗号鍵を生成する(ステップS307)。
CPU110は、固有暗号鍵を用いて、第2入力情報を暗号化することで、固有暗号化情報を生成する(ステップS308)。CPU110は、メインCPU51に固有暗号化情報を出力し、NVRAM60への格納を依頼する(ステップS309)。
次に、実施例1に係るセキュア領域の各種の初期設定プロセスの一例について説明する。まず、受信機工場出荷段階でのセキュア領域100の初期設定を行うプロセスについて説明する。一例として、「管理団体」が存在し、管理団体は、セキュア領域100に書き込むべき情報を管理しているものとする。管理団体から暗号化された状態で、セキュア領域100用の機密情報が受信機工場に届く。この機密情報には、上記の第1入力情報および第2入力情報が含まれる。なお、第1入力情報に含まれる秘密値と識別子とは、ペアでなくてもよいが、この場合には、秘密値を識別することが困難になる。
図7は、初期設定を行うプロセスの一例を示す図(1)である。受信機工場の作業員は、管理団体から機密情報を取得する(ステップS10)。例えば、機密情報は暗号化されており、小容量のメモリ140用の第1入力情報と、外付けのNVRAM60用の第2入力情報が含まれる。
受信機工場の作業員は、秘密の入力路IF170を介して、小容量のメモリ140に第1入力情報を書き込む(ステップS11)。例えば、第1入力情報には、システムLSIに対応する秘密値と識別子とのペア、セキュア領域100に対応する秘密値と識別子とのペア、受信機メーカに対応する秘密値と識別子とのペアが含まれる。
受信機工場の作業員は、秘密の入力路IF170を介して、外付けのNVRAM60に固有暗号化情報を書き込む(ステップS12)。図6の初期化処理で説明したように、秘密の入力路IF170を介して入力された第2入力情報は、固有暗号鍵によって暗号化されて、固有暗号化情報となり、NVRAM60に書き込まれる。
例えば、第2入力情報のうち、セキュア関連情報は、セキュア領域100に対応する秘密値と識別子とのペアから生成される固有暗号鍵を用いて暗号化される。第2入力情報のうち、システムLSI関連情報は、システムLSIに対応する秘密値と識別子とのペアから生成される固有暗号鍵を用いて暗号化される。第2入力情報のうち、受信機関連情報は、受信機メーカに対応する秘密値と識別子とのペアから生成される固有暗号鍵を用いて暗号化される。
ここで、小容量のメモリ140に第1入力情報を書き込み、外付けのNVRAM60に固有暗号化情報を書き込んだ後に、受信機工場の作業員は、受信機の動作試験などを行ってもよい。工場出荷の最終段階において、受信機工場の作業員は、書き込み禁止フラグをONにする(ステップS13)。
次に、LSI工場と受信機工場が分担して初期設定を行うプロセスについて説明する。例えば、LSI工場および受信機工場に、管理団体から暗号化された状態で、機密情報が届く。例えば、LSI工場に届く機密情報には、第1入力情報が含まれる。受信機工場に届く機密情報には、第2入力情報が含まれる。
図8は、初期設定を行うプロセスの一例を示す図(2)である。例えば、図8において、ステップS20およびステップS21のプロセスは、LSI工場で行われる。ステップS22のプロセスは、受信機工場で行われる。LSI工場の作業員および受信機工場の作業員は、管理団体から機密情報を取得する。
LSI工場の作業員は、秘密の入力路IF170を介して、小容量のメモリ140に第1入力情報を書き込む(ステップS20)。例えば、第1入力情報には、システムLSIに対応する秘密値と識別子とのペア、セキュア領域100に対応する秘密値と識別子とのペア、受信機メーカに対応する秘密値と識別子とのペアが含まれる。
LSI工場の作業員は、小容量のメモリ140に第1入力情報を書き込んだ後に、小容量のメモリ140に対する書き込み禁止フラグをONにする(ステップS21)。
受信機工場の作業員は、秘密の入力路IF170を介して、外付けのNVRAM60に固有暗号化情報を書き込む(ステップS22)。図6の初期化処理で説明したように、秘密の入力路170を介して入力された第2入力情報は、固有暗号鍵によって暗号化されて、固有暗号化情報となり、NVRAM60に書き込まれる。
次に、本実施例1に係るセキュア領域100の効果について説明する。セキュア領域100は、このセキュア領域100内で動作するCPU110が、秘密の入力路IF170から秘密値を含む第1入力情報と、各種プログラムやマスター鍵等を含む第2入力情報を暗号化された状態で取得する。CPU110は、第1入力情報および第2入力情報を復号して、第1入力情報をメモリ140に格納する。CPU110は、第1入力情報を基にした固有暗号鍵を生成し、固有暗号鍵で、第2入力情報を暗号化し、暗号化した第2入力情報を外部に存在するNVRAM60に格納することを、外部のメインCPU51に依頼する。これによって、セキュア領域内のメモリ140の記憶容量が小さい場合でも、外付けのNVRAM60を利用して複数のプログラムを実装することができる。
また、外付けのNVRAM60は、セキュア領域内の秘密値「xxx」から生成される固有暗号鍵によって暗号化されているため、固有暗号化情報が漏洩することを防止することができる。
ところで、第1入力情報を格納するメモリ140および書き込み禁止フラグを格納するメモリを、一度書き込まれた情報の更新を許容しないOTR(One Time Rom)としてもよい。また、メモリ140をOTRとし、書き込み禁止フラグを格納するメモリをNVRAMとしてもよい。また、メモリ140をNVRAMとし、書き込み禁止フラグを格納するメモリをOTRとしてもよい。また、メモリ140および書き込み禁止フラグを格納するメモリをNVRAMとしてもよい。また、メモリ140の一部の領域に、書き込み禁止フラグを設定する領域を設けてもよい。
なお、上述した実施例1について、メモリ140は、第1メモリの一例である。NVRAM60は、第2メモリの一例である。書き込み禁止フラグを格納するメモリは、第3メモリの一例である。書き込み禁止フラグを格納するメモリの図示を省略する。
本実施例2に係るシステムLSIの構成について説明する。図9は、本実施例2に係るシステムLSIの一例を示す図である。図9に示すように、このシステムLSI50bは、メインCPU51、IF52a,52b,52c、BootROM53、RAM54、イーサネットIF55、Tuner56、伸長処理回路57、グラフィック回路58、セキュア領域200を有する。システムLSI50bは、NVRAM60に接続される。
このうち、メインCPU51、IF52a,52b,52c、BootROM53、RAM54、イーサネットIF55、Tuner56、伸長処理回路57、グラフィック回路58に関する説明は、実施例1のものと同様である。
NVRAM60は、メインCPU用プログラム群と、共通暗号化情報とを有する。共通暗号化情報は、各セキュア領域で共通の共通鍵により暗号化された第2入力情報である。第2入力情報に関する説明は、実施例1のものと同様である。かかる共通暗号化情報は、セキュア領域200に入力され復号された後、セキュア領域200の固有暗号鍵で暗号化され、固有暗号化情報として、NVRAM60に格納される。例えば、共通暗号化情報は、セキュア領域200に入力された段階で、NVRAM60から削除される。
セキュア領域200の構成について説明する。図9に示すように、セキュア領域200は、CPU210、BootROM220、RAM230、メモリ240、変換回路群250、暗号回路群260、秘密の入力路IF270を有する。
CPU210は、セキュア領域200全体を制御する装置である。BootROM220は、CPU210が起動した場合に読み出される初期命令の情報を格納する。RAM230は、CPU210が各種プログラムを実行する場合に利用する作業領域となる。
メモリ240は、小容量の不揮発性メモリである。メモリ240は、秘密値「xxx」と、複数の識別子と格納する。メモリ240の記憶容量は、係る秘密値と複数の識別子を記憶できる程度のものでよい。秘密値および識別子は、セキュア領域200の初期化時にメモリ240に格納される。秘密値および識別子をメモリ240に格納する処理は、実施例1のセキュア領域100と同様にして、秘密の入力路IF270を介して実行される。
変換回路群250は、メモリ240に格納された秘密値に基づき固有暗号鍵を生成する回路群である。変換回路群250に関する説明は、実施例1の変換回路群150に関する説明と同様である。
暗号回路群260は、各種情報の暗号化、復号を行う回路群である。暗号回路群260が暗号化、復号を行う処理は、実施例1の暗号回路群160に関する説明と同様である。
秘密の入力路IF270は、予め管理者等により取り決められた秘密の入力信号を受け付けると、秘密の入力路IF270を介した情報の入力を許容するインターフェースである。秘密の入力路IF270に関する説明は、実施例1の秘密の入力路IF170に関する説明と同様である。本実施例2に係るセキュア領域200は、秘密の入力路IF270を介して、暗号化された第1入力情報を取得する。なお、セキュア領域200は、第2入力情報を、共通暗号化情報として、IF52aから取得する。
セキュア領域200の初期設定時の処理について説明する。CPU210は、秘密の入力路IF270から第1入力情報を受け付ける。第1入力情報は、暗号化されている。
例えば、第1入力情報には、秘密値と、複数の識別子が含まれる。CPU210は、暗号化された第1入力情報を受け付けると、セキュア領域200内に設定された暗号鍵「sss」と、暗号化された第1入力情報とを暗号回路群260に入力して、第1入力情報を復号する。
CPU210は、メモリ240に対応する書き込み禁止フラグを基にして、復号した第1入力情報を、メモリ240に格納するか否かを判定する。この書き込み禁止フラグは、図示しないメモリに格納される。CPU210は、書き込み禁止フラグが「OFF」である場合には、第1入力情報を、メモリ240に格納し、書き込み禁止フラグを「ON」に設定する。これに対して、CPU210は、書き込み禁止グラフが「ON」である場合には、第1入力情報を、メモリ240に格納する処理を抑止する。
CPU210は、メインCPU51から初期化命令を受け付けた場合に、メインCPU51に対して、NVRAM60に格納された共通暗号化情報を要求する。メインCPU51は、CPU210から要求に対応して、NVRAM60から共通暗号化情報を読み出し、セキュア領域200に入力する。また、メインCPU51は、共通暗号化情報をセキュア領域200に入力した後に、NVRAM60から共通暗号化情報を削除する。
CPU210は、メインCPU51から共通暗号化情報を取得すると、セキュア領域200内に設定された共通鍵と、共通暗号化情報とを暗号回路群260に入力して、共通暗号化情報を復号し、第2入力情報を取り出す。
CPU210は、復号した第2入力情報と、変換回路群250により生成された固有暗号鍵とを暗号回路群260に入力して、第2入力情報を暗号化する。CPU210は、第2入力情報を暗号化する場合に、共通の固有暗号鍵で暗号化してもよいし、複数の固有暗号鍵を用いて、暗号化してもよい。固有暗号鍵を用いて暗号化した第2入力情報を、固有暗号化情報と表記する。
CPU210は、IFプログラムをRAM230に展開して実行することで、下記の処理を実行する。CPU210は、IF52aを介して、固有暗号化情報をメインCPU51に出力し、固有暗号化情報をNVRAM60に格納することを依頼する。メインCPU51は、セキュア領域200内から固有暗号化情報を取得すると、固有暗号化情報を、NVRAM60に格納する。
次に、本実施例2のセキュア領域の初期化処理の一例について説明する。図10は、本実施例2に係るセキュア領域の初期化処理手順を示すフローチャートである。図10に示すように、セキュア領域200のCPU210は、秘密の入力路IF270から暗号化された第1入力情報を受け付け、メモリ240に格納する(ステップS401)。ステップS401に示す処理は、実施例1で説明した図6のステップS301〜S305に示した処理と同様である。
メインCPU51は、共通暗号化情報をNVRAM60に格納する(ステップS402)。CPU210は、メインCPU51から共通暗号化情報を受け付ける(ステップS403)。メインCPU51は、NVRAM60から共通暗号化情報を削除する(ステップS404)。
CPU210は、セキュア領域200内の共通鍵を用いて、共通暗号化情報を復号して第2入力情報を取り出す(ステップS405)。CPU210は、第1情報に含まれる秘密値「xxx」と暗号鍵とを変換回路群250に入力することで、固有暗号鍵を生成する(ステップS406)。
CPU210は、固有暗号鍵を用いて、第2入力情報を暗号化することで、固有暗号化情報を生成する(ステップS407)。CPU210は、メインCPU51に固有暗号化情報を出力し、NVRAM60への格納を依頼する(ステップS408)。
次に、実施例2に係るセキュア領域の各種の初期設定プロセスの一例について説明する。まず、LSI工場と、受信機工場と、視聴者宅で分担して初期設定を行うプロセスについて説明する。例えば、LSI工場および受信機工場に、管理団体から暗号化された状態で、機密情報が届く。例えば、LSI工場に届く機密情報には、第1入力情報が含まれる。受信機工場に届く機密情報には、第2入力情報が含まれる。
図11は、初期設定を行うプロセスの一例を示す図(3)である。例えば、図11において、ステップS30,S31のプロセスは、LSI工場で行われる。ステップS32のプロセスは、受信機工場で行われる。ステップS33のプロセスは、視聴者宅で受信機の購入時に行われる。
LSI工場の作業員は、秘密の入力路IF270を介して、小容量のメモリ240に第1入力情報を書き込む(ステップS30)。例えば、第1入力情報には、システムLSIに対応する秘密値と識別子とのペア、セキュア領域200に対応する秘密値と識別子とのペア、受信機メーカに対応する秘密値と識別子とのペアが含まれる。なお、セキュア領域200のCPU210は、第1入力情報をメモリ240に格納した後に、秘密値と識別子とのペアを用いて、マスター鍵Kmおよび視聴者識別番号を生成してもよい。また、CPU210は、複数のCAS方式が存在する場合には、秘密値と識別子とのペアを用いて、CAS方式毎に、マスター鍵Kmおよび視聴者識別番号を生成してもよい。
LSI工場の作業員は、小容量のメモリ240に第1入力情報を書き込んだ後に、小容量のメモリ240に対する書き込み禁止フラグをONにする(ステップS31)。
受信機工場の作業員は、第2入力情報を共通鍵で暗号化した共通暗号化情報を、システムLSI50bに入力し、メインCPU51は、共通暗号化情報を外付けのNVRAM60に格納する(ステップS32)。ここで、ステップS30に示したように、セキュア領域200内で、マスター鍵Kmや視聴者識別情報を個別に生成する場合には、第2入力情報には、各セキュア領域200で共通して利用する各種プログラムのみを含め、マスター鍵Kmや視聴者識別情報を第2入力情報に含めなくてもよい。
視聴者宅の視聴者が購入した受信機に電源を投入すると、セキュア領域200のCPU210は、共通暗号化情報をメインCPU51に依頼して取得し、共通鍵によって、共通暗号化情報から第2入力情報を取り出す。そして、CPU210は、第2入力情報を固有暗号鍵で暗号化して、NVRAM60に格納することを、メインCPU51に依頼する(ステップS33)。なお、NVRAM60に格納された共通暗号化情報は、メインCPU51により削除される。
図12は、初期設定を行うプロセスの一例を示す図(4)である。例えば、図12において、ステップS40,S41のプロセスは、LSI工場で行われる。ステップS42のプロセスは、受信機工場で行われる。ステップS43のプロセスは、視聴者宅で受信機の購入時に行われる。
LSI工場の作業員は、秘密の入力路IF270を介して、小容量のメモリ240に第1入力情報を書き込む(ステップS40)。例えば、第1入力情報には、システムLSIに対応する秘密値と識別子とのペア、セキュア領域200に対応する秘密値と識別子とのペア、受信機メーカに対応する秘密値と識別子とのペアが含まれる。また、第1入力情報には、固有情報の一部を含ませてもよい。例えば、固有情報には、B−CASプログラムで用いるマスター鍵Km、DRMプログラムで利用する公開鍵、秘密鍵、証明書が含まれる。係る固有情報の内、一部の情報を、第1入力情報に含ませる。
LSI工場の作業員は、小容量のメモリ240に第1入力情報を書き込んだ後に、小容量のメモリ240に対する書き込み禁止フラグをONにする(ステップS41)。
受信機工場の作業員は、第2入力情報を共通鍵で暗号化した共通暗号化情報を、システムLSI50bに入力し、メインCPU51は、共通暗号化情報をNVRAM60に格納する(ステップS42)。なお、第2入力情報には、固有情報のうち、第1入力情報に含めなかった残りの固有情報が含まれる。
視聴者宅の視聴者が購入した受信機に電源を投入すると、セキュア領域200のCPU210は、共通暗号化情報をメインCPU51に依頼して取得し、共通鍵によって、共通暗号化情報から第2入力情報を取り出す。そして、CPU210は、第2入力情報を固有暗号鍵で暗号化して、NVRAM60に格納することを、メインCPU51に依頼する(ステップS43)。なお、NVRAM60に格納された共通暗号化情報は、メインCPU51により削除される。
次に、本実施例2に係るセキュア領域200の効果について説明する。セキュア領域200は、セキュア領域100と同様にして、第1入力情報を取得し、メモリ240に格納する。なお、第2入力情報は、各受信機共通の共通鍵で暗号化された状態で、NVRAM60に格納される。セキュア領域200は、共通暗号化情報を取得し、セキュア領域200内の共通鍵で復号し、第1入力情報から生成される固有暗号鍵により、復号した第2入力情報を暗号化して、NVRAM60に格納することをメインCPU51に依頼する。これによって、セキュア領域内のメモリ240の記憶容量が小さい場合でも、外付けのNVRAM60を利用して複数のプログラムを実装することができる。
また、各受信機で共通の共通鍵で暗号化された共通暗号化情報をNVRAM60に格納しておけば、セキュア領域200は、初期設定時に固有暗号鍵により暗号化し直して、NVRAM60に格納する。このため、小容量のメモリ240に情報を格納する作業と、NVRAM60に情報を格納する作業を分担して実行することができる。
また、NVRAM60に格納された共通暗号化情報は、固有暗号化情報を作成する時点で削除されるため、共通暗号化情報が外部に漏洩することを防止することができる。
本実施例3に係るシステムLSIの構成について説明する。図13は、本実施例3に係るシステムLSIの一例を示す図である。図13に示すように、このシステムLSI50cは、メインCPU51、IF52a,52b,52c、BootROM53、RAM54、セキュア領域300を有する。実施例3では、イーサネットIF、Tuner、伸長処理回路、グラフィック回路の図示を省略する。システムLSI50cは、NVRAM60に接続される。
メインCPU51、IF52a,52b,52c、BootROM53、RAM54に関する説明は、実施例1のものと同様である。
セキュア領域300の構成について説明する。図13に示すように、セキュア領域300は、CPU310、BootROM320、RAM330、メモリ340、変換回路群350、暗号回路群360、秘密の入力路IF370、イネーブル回路380を有する。
CPU310は、セキュア領域300全体を制御する装置である。BootROM320は、CPU310が起動した場合に読み出される初期命令の情報を格納する。RAM330は、CPU310が各種プログラムを実行する場合に利用する作業領域となる。
メモリ340は、小容量の不揮発性メモリである。メモリ340は、秘密値「xxx」と、複数の識別子と格納する。メモリ340の記憶容量は、係る秘密値と複数の識別子を記憶できる程度のものでよい。秘密値および識別子は、セキュア領域300の初期化時にメモリ340に格納される。秘密値および識別子をメモリ340に格納する処理は、実施例1のセキュア領域100と同様にして、秘密の入力路IF370を介して実行される。
変換回路群350は、メモリ340に格納された秘密値に基づき固有暗号鍵を生成する回路群である。変換回路群350に関する説明は、実施例1の変換回路群150に関する説明と同様である。
暗号回路群360は、各種情報の暗号化、復号を行う回路群である。暗号回路群360が暗号化、復号を行う処理は、実施例1の暗号回路群160に関する説明と同様である。暗号回路群360は、CPU310からの指示により、活性化または非活性化状態となる。暗号化回路群360は、活性化状態の場合に、入力された情報を暗号化する。
秘密の入力路IF370は、予め管理者等により取り決められた秘密の入力信号を受け付けると、秘密の入力路IF370を介した情報の入力を許容するインターフェースである。秘密の入力路IF370に関する説明は、実施例1の秘密の入力路IF170に関する説明と同様である。
イネーブル回路380は、CPU310に予め設定されるユニーク値と、プログラム上の指定領域の値とが一致するか否かを判定し、一致する場合には、イネーブル信号を出力する装置である。ユニーク値および指定領域に関する説明は後述する。
セキュア領域300の初期設定時の処理について説明する。CPU310は、秘密の入力路IF370から第1入力情報および第2入力情報を受け付ける。第1入力情報および第2入力情報は、暗号化されている。
例えば、第1入力情報には、秘密値と、複数の識別子が含まれる。CPU310は、暗号化された第1入力情報を受け付けると、セキュア領域300内に設定された暗号鍵「sss」と、暗号化された第1入力情報とを暗号回路群360に入力して、第1入力情報を復号する。
CPU310は、メモリ340に対応する書き込み禁止フラグを基にして、復号した第1入力情報を、メモリ340に格納するか否かを判定する。この書き込み禁止フラグは、図示しないメモリに格納される。CPU310は、書き込み禁止フラグが「OFF」である場合には、第1入力情報を、メモリ340に格納し、書き込み禁止フラグを「ON」に設定する。これに対して、CPU310は、書き込み禁止グラフが「ON」である場合には、第1入力情報を、メモリ340に格納する処理を抑止する。
さらに、CPU310は、第1入力情報の秘密値を、変換回路群350に入力して、ユニーク値を生成する。CPU310は、生成したユニーク値を、イネーブル回路380に設定する。
第2入力情報には、管理プログラム、B−CASプログラム、マスター鍵Km、IFプログラム、DRMプログラム、関連機密情報等が含まれる。なお、CPU310は、秘密値と識別子情報との組から、マスター鍵Kmや視聴者識別情報を生成してもよい。
CPU310は、暗号化された第2入力情報を受け付けると、セキュア領域300内に設定された暗号鍵「sss」と、暗号化された第2入力情報とを暗号回路群360に入力して、第2入力情報を復号する。
CPU310は、第2入力情報を復号した後に、ユニーク値を、各プログラムの指定領域に挿入することで、第2入力情報を更新する。各プログラムの指定領域は、管理団体等により予め取り決められている。
図14は、CPUがプログラムの指定領域にユニーク値を挿入する処理を説明するための図である。例えば、ユニーク値を「XXXX」とする。CPU310は、あるプログラムの指定領域3に、ユニーク値「XXXX」を挿入する。CPU310は、他のプログラムに対しても、指定領域3にユニーク値を挿入する。また、CPU310は、ユニーク値「XXXX」をイネーブル回路380に設定する。
CPU310は、復号し、更新した第2入力情報と、変換回路群350により生成された固有暗号鍵とを暗号回路群360に入力して、第2入力情報を暗号化することで、固有暗号化情報を生成する。CPU310は、第2入力情報を暗号化する場合に、共通の固有暗号鍵で暗号化してもよいし、複数の固有暗号鍵を用いて、暗号化してもよい。
CPU310は、IFプログラムをRAM330に展開して実行することで、下記の処理を実行する。CPU310は、IF52aを介して、固有暗号化情報をメインCPU51に出力し、固有暗号化情報をNVRAM60に格納することを依頼する。メインCPU51は、セキュア領域300内から固有暗号化情報を取得すると、固有暗号化情報を、NVRAM60に格納する。
上述した初期化設定後に、セキュア領域300がメインCPU51の指示により起動した場合の処理について説明する。CPU310は、メインCPU51から起動指示を受けると、BootRAM320に格納された初期命令を実行することで、下記の処理を実行する。
CPU310は、メモリ340に格納された秘密値「xxx」と暗号鍵とを読み出して、変換回路群350に入力して、固有暗号鍵を生成する。固有暗号鍵を生成する処理は、図2で説明した処理に対応する。
CPU310は、メインCPU51に対して、NVRAM60から固有暗号化情報の読み出しを依頼する。CPU310は、固有暗号化情報を取得すると、固有暗号化情報と、固有暗号鍵とを暗号回路群360に入力して、固有暗号化情報を復号し、第2入力情報を取り出す。
CPU310は、第2入力情報をRAM330に格納し、管理プログラム、B−CASプログラム、IFプログラム、DRMプログラム等をイネーブル回路380に入力する。CPU310は、各プログラムについて、イネーブル回路380からイネーブル信号が出力された場合には、管理プログラム、B−CASプログラム、IFプログラム、DRMプログラム等を実行できるようにする。
例えば、管理プログラムは、CPU310がセキュア領域300全体を制御するための手順が定義されたプログラムである。B−CASプログラムは、EMM処理、ECM処理を実行するプログラムである。IFプログラムは、IF52aを介して外部のメインCPU51と情報をやり取りする処理を実行するプログラムである。DRMプログラムは、各種のデジタルデータとして表現されたコンテンツの著作権を保護するために、デジタルデータを用いた処理を制限・制御するプログラムである。
CPU310が、各プログラムを読み出して、EMM処理、ECM処理等を実行する処理は、実施例1のCPU110と同じであるため、説明を省略する。
これに対して、CPU310は、イネーブル回路380からイネーブル信号が出力されないプログラムが存在する場合には、セキュア領域300内のいずれかの回路を非活性化する。例えば、CPU310は、暗号回路群360を非活性化する。イネーブル信号が出力されないプログラムは、NVRAM60に格納されている間に、改竄された恐れがあるため、セキュア領域300内のいずれかの回路を非活性化することで、プログラムを実行できない状態にし、情報漏洩等を未然に防止する。
次に、本実施例3のセキュア領域の初期化処理の一例について説明する。図15は、本実施例3に係るセキュア領域の初期化処理手順を示すフローチャートである。図15に示すように、セキュア領域300の秘密の入力路IF370は、入力情報を受け付け(ステップS501)、秘密の入力路IF370のイネーブル回路からイネーブル信号が出力されたか否かを判定する(ステップS502)。
セキュア領域300は、イネーブル回路からイネーブル信号が出力されない場合には(ステップS502,No)、処理を終了する。一方、イネーブル回路からイネーブル信号が出力された場合には(ステップS502,Yes)、CPU310は、書き込み禁止フラグが「ON」であるか否かを判定する(ステップS503)。
CPU310は、書き込み禁止フラグが「ON」である場合には(ステップS503,Yes)、処理を終了する。一方、CPU310は、書き込み禁止フラグが「ON」でない場合には(ステップS503,No)、暗号鍵「sss」を用いて、入力情報を復号する(ステップS504)。例えば、入力情報には、第1入力情報と第2入力情報が含まれる。
CPU310は、第1入力情報をメモリ340に格納し(ステップS505)、書き込み禁止フラグを「ON」にセットする(ステップS506)。CPU110は、第1入力情報に含まれる秘密値「xxx」と暗号鍵とを変換回路群350に入力することで、固有暗号鍵を生成する(ステップS507)。
CPU310は、第1入力情報を変換してユニーク値を生成し、各プログラムの指定領域にユニーク値を設定することで、第2入力情報を更新する(ステップS508)。CPU310は、固有暗号鍵を用いて、第2入力情報を暗号化することで、固有暗号化情報を生成する(ステップS509)。CPU310は、メインCPU51に固有暗号化情報を出力し、NVRAM60への格納を依頼する(ステップS510)。
次に、セキュア領域300を起動した場合のセキュア領域300の処理手順について説明する。図16は、本実施例3に係るセキュア領域の処理手順を示すフローチャートである。図16に示すように、セキュア領域300が起動すると(ステップS601)、CPU310は、BootROM320の初期命令を実行する(ステップS602)。
CPU310は、メモリ340に格納された秘密値「xxx」と、暗号鍵を変換回路群350に入力して固有暗号鍵を生成する(ステップS603)。CPU310は、メインCPU51に対して、NVRAM60から固有暗号化情報の読み出しを依頼する(ステップS604)。
CPU310は、外部からIF52aを介して固有暗号化情報を取得する(ステップS605)。CPU310は、固有暗号化情報を、固有暗号鍵を用いて復号することで、第2入力情報を取り出す(ステップS606)。CPU310は、第2入力情報を、RAMU330に格納する(ステップS607)。CPU310は、各関連プログラムの指定領域に含まれるユニーク値が、イネーブル回路380のユニーク値と一致する場合に、所定の回路を活性化する(ステップS608)。
次に、本実施例3に係るセキュア領域300の効果について説明する。セキュア領域300のCPUは、第1入力情報の秘密値を変換したユニーク値を生成し、生成したユニーク値を、第2入力情報の各プログラムの指定領域に設定すると共に、ユニーク値をイネーブル回路380に設定する。CPU310は、NVRAM60から取得した固有暗号化情報を復号して実行する場合に、各プログラムをイネーブル回路380に入力して、各プログラムの指定領域にユニーク値が含まれている場合に限り、所定の回路を活性化して処理を実行する。このため、例えば、NVRAM60に格納された固有暗号化情報が改竄された場合には、各プログラムの指定領域にユニーク値が含まれなくなるため、セキュア領域300に柔軟性を持たせつつ、安全性を向上できる。
本実施例4に係るシステムLSIの構成について説明する。図17は、本実施例4に係るシステムLSIの一例を示す図である。図17に示すように、このシステムLSI50dは、メインCPU51、IF52a,52b,52c、BootROM53、RAM54、イーサネットIF55、Tuner56、リモコンIF61、セキュア領域400を有する。実施例4では、伸長処理回路、グラフィック回路の図示を省略する。システムLSI50dは、NVRAM60に接続される。また、システムLSI50dは、イーサネットIF55を介して、サーバ70に接続される。
メインCPU51、IF52a,52b,52c、BootROM53、RAM54、イーサネットIF55、Tuner56に関する説明は、実施例1のものと同様である。リモコンIF61は、視聴者等が操作するリモコンからの命令を受信するIFである。
NVRAM60は、メインCPUプログラム群と、固有暗号化情報とを格納する。固有暗号化情報は、固有暗号鍵によって暗号化された第2入力情報である。本実施例4に係る第2入力情報は、実施例1に示した情報に加えて、視聴率調査プログラムが含まれる。
本実施例4では、セキュア領域400が、係る視聴率調査プログラムを実行する場合の処理について説明する。その他のセキュア領域400の処理は、上述した実施例1のセキュア領域100の処理と同様の処理を行う。
セキュア領域400の構成について説明する。図17に示すように、セキュア領域400は、CPU410、BootROM420、RAM430、メモリ440、変換回路群450、暗号回路群460、秘密の入力路IF470を有する。
CPU410、BootROM420、RAM430、メモリ440、変換回路群450、暗号回路群460、秘密の入力路IF470が実行する基本的な処理は、実施例1に示した各装置の処理と同様である。以下では、固有暗号化情報に含まれる視聴率調査プログラムを実行するセキュア領域400の処理の一例について説明する。
CPU410は、固有暗号化情報を取得し、固有暗号化情報と、固有暗号鍵を暗号回路群460に入力することで、固有暗号化情報を復号し、第2入力情報を取り出す。例えば、第2入力情報には、管理プログラム、B−CASプログラム、視聴率調査プログラム、TLS(Transport Layer Security)プログラム、IFプログラム等が含まれる。CPU410は、管理プログラム、視聴率調査プログラム、TLSプログラム、IFプログラムをRAM430に展開して実行する。
視聴率調査プログラムを実行するCPU410の動作の一例について説明する。CPU410は、ECMの中に含まれる日時情報、ワーク鍵Kwの識別番号、チャンネル識別番号を利用する。例えば、CPU410は、B−CASプログラムを実行して、ECM処理を実行し、日時情報、ワーク鍵Kwの識別番号、チャンネル識別番号を取得し、RAM430に順次蓄積していく。
CPU410は、メモリ440に格納された秘密値「xxx」と暗号鍵とを基にして生成した固有暗号鍵を用いて、RAM430に蓄積された日時情報、ワーク鍵Kwの識別番号、チャンネル識別番号を暗号化することで、固有暗号化視聴率情報を生成する。CPU410は、固有暗号化視聴率情報を、NVRAM60に格納するように、メインCPU51に依頼する。CPU410は、係る処理を繰り返し実行することで、視聴者がどのような番組を視聴しているのかを記録することができる。なお、CPU410は、固有暗号化視聴率情報に、セキュア領域を一意に識別する情報、受信機を一意に識別する情報等、視聴者を特定する何らかの情報を付加してもよい。
NVRAM60に格納された固有暗号化視聴率情報は、セキュア領域400を経由して、外部のサーバ70に通知されることが望ましい。例えば、CPU410は、TLSプログラムを実行し、TLSプロトコルに従い、固有暗号化視聴率情報および固有暗号鍵の情報を、サーバ70に通知してもよい。TLSプロトコルに準じてセキュア化された固有暗号化視聴率情報は、CPU410により、メインCPU51に通知される。メインCPU51は、固有暗号化視聴率情報および固有暗号鍵をインターネット形式の情報に変換し、変換した情報を、イーサネットIF55を経由して、サーバ70に通知する。なお、セキュア領域400は、TLS以外の安全な通信プロトコルを用いて、サーバ70とデータ通信を実行してもよい。
ところで、セキュア領域400内のCPU410が視聴率調査プログラムを実行して、上記処理を繰り返し実行し、固有暗号化視聴率情報をNVRAM60に蓄積していくと、固有暗号化視聴率情報のデータ量が大量になる。このため、CPU410は、ECMを取得する度に、固有暗号化視聴率情報を生成しなくてもよい。例えば、CPU410は、所定回数ECMを取得する度に、固有暗号化視聴率情報を生成してもよい。または、CPU410は、チャンネル識別番号およびワーク鍵Kwの識別番号が、前回のチャンネル識別番号およびワーク鍵Kwの識別番号と比較して変化した場合に、固有暗号化視聴率情報を生成してもよい。CPU410が、このような処理を実行することで、固有暗号化視聴率情報のデータ量が大容量になることを抑止することができる。
続いて、秘密の入力路IF470以外の経路で、NVRAM60の内容を追加更新する処理手順について説明する。例えば、CPU410は、書き込み禁止フラグがONになっている場合に、秘密の入力路IF470以外の経路から情報を取得する。
サーバ70は、セキュア領域400で用いる追加のプログラムを用意する。以下の説明では、サーバ70が用意するセキュア領域400で用いるプログラムを、適宜、追加プログラムと表記する。サーバ70は、追加プログラムを、TLSプロトコルに準じてセキュア化し、インターネットを介して、受信機のシステムLSI50dに伝送する。
セキュア領域400のCPU410は、管理プログラムを実行し、係る管理プログラムの支配下で、TLSプログラム、復号プログラム、暗号プログラム、IFプログラムを動作させる。
メインCPU51は、サーバ70からセキュア化された追加プログラムを受信した場合に、係る追加プログラムを、セキュア領域400に入力する。CPU410は、セキュア化された追加プログラムを受け付けると、CPU410は、復号プログラムを実行して、追加プログラムを復号する。追加プログラムを復号する場合に利用する復号鍵は、セキュア領域400と、サーバ70との間で予め共通化されていてもよい。
CPU410は、追加プログラムを復号した後に、暗号プログラムを実行して、追加プログラムを固有暗号鍵により暗号化する。CPU410は、固有暗号鍵で暗号化した追加プログラムの情報をNVRAM60に格納するように、メインCPU51に依頼する。なお、CPU410は、追加プログラムを復号した場合に、追加プログラムの指定領域にユニーク値を挿入してもよい。追加プログラムの指定領域にユニーク値を挿入する処理は、実施例3で説明した処理と同様である。
次に、上述したECMのデータ構造の一例について説明する。図18は、ECMのデータ構造の一例を示す図である。図18に示すように、このECMは、ECMセクションヘッダと、ECM本体と、セクションCRCとを有する。ECM本体は、固定部と、可変部と改竄検出とを有する。固定部は、プロトコル番号、事業体識別、ワーク鍵識別、スクランブル鍵(Odd)、スクランブル鍵(Even)、判定タイプ、日時、録画制御を有する。
次に、その他のシステム構成例について説明する。上述した実施例1〜4では、システムLSIがセキュア領域を包含し、NVRAMをシステムLSIとセキュア領域とが共通していたが、これに限定されるものではない。図19は、その他のシステム構成例を示す図である。例えば、システム例75に示すように、セキュア領域に対応するセキュアLSI75aが、システムLSI75bの外部に存在し、セキュアLSI75aは、システムLSI75bを介して、NVRAM75cから各種のデータを取得してもよい。
また、システム例76に示すように、セキュア領域に対応するセキュアLSI76aが、システムLSI76bの外部に存在する。そして、セキュアLSI76aはNVRAM76cに接続され、システムLSI76bはNVRAM76dに接続されてもよい。
50a,50b,50c,50d システムLSI
60 NVRAM
100,200,300,400 セキュア領域

Claims (11)

  1. セキュア領域内にプロセッサと記憶容量が所定容量未満となる第1メモリとを有するセキュリティ装置であって、
    前記プロセッサは、秘密の入力路から暗号化された第1情報および暗号化された第2情報が入力されると、前記第1情報および前記第2情報を復号して前記第1メモリに前記第1情報を格納し、
    前記プロセッサは、復号した前記第1情報を基にした暗号鍵を用いて、復号した前記第2情報を暗号化し、暗号化した第2情報を、前記セキュア領域の外部に存在する第2メモリに格納することを依頼する
    ことを特徴とするセキュリティ装置。
  2. 前記第1情報は固有情報を含み、前記第2情報は前記プロセッサに所定の処理を実行させるためのプログラム情報を含み、前記プロセッサは、前記第1メモリに格納された前記第1情報の固有情報を基にして、前記暗号鍵を生成し、生成した前記暗号鍵を用いて、復号した前記第2情報を暗号化することを特徴とする請求項1に記載のセキュリティ装置。
  3. 前記プロセッサは、前記第1メモリに格納された固有情報を前記第2情報に追加した後に、前記暗号鍵を用いて前記第2情報を暗号化して、前記第2メモリに格納することを依頼し、
    前記プロセッサは、前記第2メモリに格納された第2情報を取得した場合に、取得した第2情報を、前記暗号鍵を用いて復号し、復号した第2情報に前記固有情報が含まれている場合に、前記セキュア領域内の特定部分が動作することを許容することを特徴とする請求項2に記載のセキュリティ装置。
  4. 前記プロセッサは、前記第2メモリに格納された第2情報を取得した場合に、取得した第2情報を、前記暗号鍵を用いて復号し、復号した第2情報に前記固有情報が含まれている場合に、前記第2情報に含まれるプログラムを実行することを許容することを特徴とする請求項3に記載のセキュリティ装置。
  5. 前記セキュリティ領域内には前記第1メモリに対する書き込みを許容するか否かの情報を格納する第3メモリを更に有し、前記プロセッサは、前記第1情報を前記第1メモリに書き込んだ後に、前記第3メモリに、前記第1メモリに対する書き込みを許容しない旨の情報を格納することを特徴とする請求項1に記載のセキュリティ装置。
  6. 前記第1メモリは、一度書き込まれた情報の更新を許容しないOne Time Romであり、前記プロセッサは、前記第1メモリに対する書き込みを許容する旨の情報が前記第3メモリに格納されている場合に、前記セキュリティ領域の外部から取得した情報を、前記第1メモリに追記することを特徴とする請求項5に記載のセキュリティ装置。
  7. 前記第3メモリは、一度書き込まれた情報の更新を許容しないOne Time Romであることを特徴とする請求項5に記載のセキュリティ装置。
  8. 前記第1メモリおよび前記第3メモリは、一度書き込まれた情報の更新を許容しないOne Time Romであることを特徴とする請求項5に記載のセキュリティ装置。
  9. 前記プロセッサは、前記第1メモリに対する書き込みを許容する旨の情報が前記第3メモリに格納されている場合には、前記秘密の入力路から情報を取得し、前記第1メモリに対する書き込みを許容しない旨の情報が前記第3メモリに格納されている場合には、前記秘密の入力路以外の入力路から情報を取得し、取得した情報に応じた処理を実行することを特徴とする請求項5に記載のセキュリティ装置。
  10. 前記第1情報は、唯一無二の情報であることを特徴とする請求項1に記載のセキュリティ装置。
  11. セキュア領域内のプロセッサが実行する制御方法であって、
    前記プロセッサは、秘密の入力路から暗号化された第1情報および暗号化された第2情報が入力されると、前記第1情報および前記第2情報を復号し、
    前記プロセッサは、記憶容量が所定容量未満となる第1メモリに、復号した第1情報を格納し、
    前記プロセッサは、復号した前記第1情報を基にした暗号鍵を用いて、復号した前記第2情報を暗号化し、暗号化した第2情報を、前記セキュア領域の外部に存在する第2メモリに格納することを依頼する
    処理を実行することを特徴とする制御方法。
JP2016562189A 2014-12-05 2014-12-05 セキュリティ装置および制御方法 Pending JPWO2016088273A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082330 WO2016088273A1 (ja) 2014-12-05 2014-12-05 セキュリティ装置および制御方法

Publications (1)

Publication Number Publication Date
JPWO2016088273A1 true JPWO2016088273A1 (ja) 2017-09-07

Family

ID=56091244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016562189A Pending JPWO2016088273A1 (ja) 2014-12-05 2014-12-05 セキュリティ装置および制御方法

Country Status (3)

Country Link
US (1) US20170270308A1 (ja)
JP (1) JPWO2016088273A1 (ja)
WO (1) WO2016088273A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020030527A (ja) * 2018-08-21 2020-02-27 キオクシア株式会社 記憶装置及びプログラム
KR20220059730A (ko) 2020-11-03 2022-05-10 삼성전자주식회사 Drm 패키지를 이용한 신경망 모델의 구동 방법 및 이를 이용한 데이터 처리 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2004096666A (ja) * 2002-09-04 2004-03-25 Matsushita Electric Ind Co Ltd 暗号化部を有する半導体装置、外部インターフェースを有する半導体装置、およびコンテンツ再生方法
JP2004304600A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 地上デジタル放送システムおよび地上デジタル放送権利保護装置
WO2007117879A1 (en) * 2006-04-07 2007-10-18 Intel Corporation Method and apparatus to mate an external code image with an on-chip private key
JP2008102618A (ja) * 2006-10-17 2008-05-01 Toshiba Corp 電子機器およびファームウェア保護方法
WO2014049830A1 (ja) * 2012-09-28 2014-04-03 富士通株式会社 情報処理装置および半導体装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2004096666A (ja) * 2002-09-04 2004-03-25 Matsushita Electric Ind Co Ltd 暗号化部を有する半導体装置、外部インターフェースを有する半導体装置、およびコンテンツ再生方法
JP2004304600A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 地上デジタル放送システムおよび地上デジタル放送権利保護装置
WO2007117879A1 (en) * 2006-04-07 2007-10-18 Intel Corporation Method and apparatus to mate an external code image with an on-chip private key
JP2008102618A (ja) * 2006-10-17 2008-05-01 Toshiba Corp 電子機器およびファームウェア保護方法
WO2014049830A1 (ja) * 2012-09-28 2014-04-03 富士通株式会社 情報処理装置および半導体装置

Also Published As

Publication number Publication date
WO2016088273A1 (ja) 2016-06-09
US20170270308A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
US11228427B2 (en) System and method for securing content keys delivered in manifest files
US9392318B2 (en) Receiver device with multiple decryption modes
JP6297137B2 (ja) メディアコンテンツに透かしに入れる方法及びこの方法を実施するシステム
JP2006295916A (ja) プログラマブルロジックデバイス
WO2017092687A1 (zh) 一种支持数字版权管理(drm)的媒体网关/终端实现方法及其设备
CN106534894A (zh) 一种加密视频分发方法及系统
JPWO2015045172A1 (ja) 情報処理装置及び情報処理方法
US10397203B2 (en) Reception device and reception method
US20200004933A1 (en) Method and apparatus for a blackbox programming system permitting downloadable applications and multiple security profiles providing hardware separation of services in hardware constrained devices
WO2016088273A1 (ja) セキュリティ装置および制御方法
US11310061B2 (en) Capability revocation in a content consumption device
JP6031360B2 (ja) アクセス制御プログラム、送信装置、受信装置および情報漏洩元特定装置
US9026800B2 (en) Method and system for allowing customer or third party testing of secure programmable code
JP5159455B2 (ja) 放送受信装置及び方法
KR20110024788A (ko) 암호화된 소프트웨어 바이너리 (SoftWare Binary) 를 전송하는 컨텐츠 프로바이더, 상기 암호화된 소프트웨어 바이너리를 처리하는 네트워크 기반 디지털 방송 수신기, 그리고 그 제어 방법
JP2009159172A (ja) コンテンツ管理装置およびコンテンツ管理方法
JP2010068032A (ja) 認証情報生成装置、コンテンツ配信装置、受信装置およびセキュリティモジュール
JP2007251790A (ja) ソフトウェアダウンロードシステムと放送受信装置とサーバおよびソフトウェアダウンロード方法
JP6463654B2 (ja) 受信装置
JP5342680B2 (ja) 受信装置
JP2007324896A (ja) 受信装置、casモジュール
JP2004215190A (ja) 情報処理装置および方法、記録媒体、プログラム、並びに情報提供システムおよび情報提供方法
TW201141196A (en) Method for updating a security processor, corresponding computer program and processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190305