JP4801054B2 - 回路更新システム - Google Patents

回路更新システム Download PDF

Info

Publication number
JP4801054B2
JP4801054B2 JP2007514681A JP2007514681A JP4801054B2 JP 4801054 B2 JP4801054 B2 JP 4801054B2 JP 2007514681 A JP2007514681 A JP 2007514681A JP 2007514681 A JP2007514681 A JP 2007514681A JP 4801054 B2 JP4801054 B2 JP 4801054B2
Authority
JP
Japan
Prior art keywords
design data
circuit
unit
reconfigurable
processing apparatus
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.)
Active
Application number
JP2007514681A
Other languages
English (en)
Other versions
JPWO2006115213A1 (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007514681A priority Critical patent/JP4801054B2/ja
Publication of JPWO2006115213A1 publication Critical patent/JPWO2006115213A1/ja
Application granted granted Critical
Publication of JP4801054B2 publication Critical patent/JP4801054B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Description

本発明は、機器内に実装された回路を更新する技術に関する。
ネットワークを介したコンテンツの配信、又は記録媒体に記録したコンテンツの配布等においては、コンテンツの不正利用を防止し、コンテンツの著作権を保護するために、一般的に、コンテンツは暗号化されて配信、又は配布される。
コンテンツを再生する機器では、暗号化コンテンツを復号する復号処理を行うが、機器における暗号化方式の実装は、必要とされる処理速度や、耐タンパー性の観点からハードウェアで実装されている場合が多い。
ここで、ハードウェアで実装されている暗号化方式を、新たな暗号化方式に更新したいとの要望があるが、近年では、FPGA(Field Programmable GateArray)やPLA(Programmable Logic Array)等の再構成が可能なデバイスを用いることにより、回路を再構成し、暗号化方式を更新することも可能となってきた(特許文献1参照)。
また、特許文献2では、機器の内部に、回路を更新するためのアルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースからアルゴリズムファイルを取得し、実装されている回路を更新する技術が開示されている。
特開平10−320191号公報 特開平10−55135号公報
しかしながら、機器内にデータベースを保持する上記従来技術は、回路の更新を行うためには有用であるが、機器の記憶容量を有効に活用するために。データベースのデータ量を削減したいとの要望がある。
そこで、本願発明は、上記要望に対応するためになされたものであり、従来技術と比較し、データベースのデータ量を削減しつつ、機器に実装されている回路を更新することが可能な回路更新システムを提供することを目的とする。
上記の目的を達成するために、本発明は、情報処理装置であって、複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、前記再構成可能手段において現在構成されている第1回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第1設計データを、前記再構成可能手段から抽出する抽出手段と、第2回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第2設計データを、前記再構成可能手段に出力する出力手段とを備え、前記再構成可能手段は、前記第2設計データに基づき、前記第2回路を再構成することを特徴とする。
上記の「再構成可能手段」は、下記の各実施の形態の再構成可能部と対応する。「抽出手段」は、各実施の形態の抽出部がその機能を担う。「出力手段」は、各実施の形態の更新部がその機能を担う。
上記の構成によると、抽出手段により、第1設計データを抽出可能であるから、当該情報処理装置は、再構成可能手段が第1設計データに基づき第1回路を実装している間は、機器内に第1設計データを保持している必要がない。従って、機器内の記憶容量を節約し、記憶容量を有効に活用することができる。
ここで、前記情報処理装置は、前記第2設計データを記憶している設計データ記憶手段と、前記出力手段により前記第2設計データが前記再構成可能手段に出力されると、前記設計データ記憶手段から、前記第2設計データを削除する削除手段と、前記抽出手段により抽出された前記第1設計データを、前記設計データ記憶手段に書き込む書込手段とを備えるように構成してもよい。
上記の「設計データ記憶手段」は、下記の各実施の形態の設計データ記憶部がその機能を担う。「削除手段」及び「書込手段」は、各実施の形態の設計データ記憶部がその機能を有する。
この構成によると、出力手段により第2設計データが再構成可能手段に出力されると、設計データ記憶手段から第2設計データを削除することにより、設計データ記憶手段が記憶している設計データのデータ量を削減することができる。また、書込手段により第1設計データが設計データ記憶手段に書き込まれるが、抽出手段を備えていることにより、再構成可能手段で実装されている回路に対応する設計データは、設計データ記憶手段が保持する必要がないので、全ての設計データを設計データ記憶手段に保持しておく必要があった従来技術と比較して、設計データ記憶手段のデータ量は削減されることとなる。
ここで、前記情報処理装置は、前記抽出手段により抽出された前記第1設計データを暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第1設計データを、前記設計データ記憶手段に書き込むように構成してもよい。
上記の「暗号化手段」は、下記の各実施の形態の暗号化部がその機能を担う。
更に、前記設計データ記憶手段に記憶されている前記第2設計データは、暗号化されており、前記情報処理装置は、前記暗号化された第2設計データを復号する復号手段を備え、前記出力手段は、前記復号手段により復号された前記第2設計データを、前記再構成可能手段に出力するように構成してもよい。
上記の「復号手段」は、下記の実施の形態の復号部がその機能を担う。
この構成によると、設計データ記憶手段に記憶される第1設計データ及び第2設計データは、暗号化されており、設計データ記憶手段が外部からアクセスされ、第1設計データ及び第2設計データが漏洩した場合であっても、不正に利用されるのを防止することができる。また、復号手段を備えたことにより、復号した第1設計データ及び第2設計データを、再構成可能手段における回路の再構成に利用することができる。
ここで、前記情報処理装置は、各設計データに対応する鍵情報を安全に記憶している鍵情報記憶手段を備え、前記暗号化手段は、前記鍵情報記憶手段から、前記第1設計データと対応する第1鍵情報を読み出し、読み出した前記第1鍵情報に基づき、前記第1設計データを暗号化し、前記復号手段は、前記鍵情報記憶手段から、前記第2設計データと対応する第2鍵情報を読み出し、読み出した前記第2鍵情報に基づき、前記第2設計データを復号するように構成してもよい。
上記の「鍵情報記憶手段」は、下記の各実施の形態においては、鍵記憶部がその機能を担う。
この構成によると、暗号化手段及び復号手段で用いられる鍵情報は、設計データ毎に固有であり、同一の鍵情報により暗号化される場合と比較すると、安全性が向上する。更に、各鍵情報は、鍵情報記憶手段において安全に記憶されており、設計データ記憶手段が外部からアクセスされ、第1及び第2設計データが漏洩した場合であっても、鍵情報の取得は困難であり、第1及び第2設計データが不正に利用されるのを防止することができる。
ここで、前記情報処理装置は、更に、各設計データに対応する前記鍵情報を生成する鍵情報生成手段を備え、前記鍵情報生成手段により生成された前記鍵情報を、前記鍵情報記憶手段に書き込むように構成してもよい。
この構成によると、当該情報処理装置の内部で鍵情報が生成されるので、鍵情報が外部の漏洩するのを防止することができる。
ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第1回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段と、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第1設計データと、前記第1回路が達成する第1の機能と異なる第2の機能を達成する回路の設計データである第3設計データとから、前記再構成可能手段の最適化が可能となるような前記第2設計データを生成する最適化手段とを備え、前記出力手段は、前記最適化手段により生成された前記第2設計データを、前記再構成可能手段に出力するように構成してもよい。
また、前記内部状態保持手段は、前記第1の機能を達成する回路の構成に用いられている論理ブロックの位置と、前記第2の機能を達成する回路の構成に用いられている論理ブロックの位置とを示す新たな内部情報を生成し、保持するように構成してもよい。
この構成によると、当該情報処理装置の再構成可能手段は、第1の機能を達成する第1回路を、機能の異なる第2回路に置き換えるのではなく、第1及び第2の機能を達成する新たな第2回路を再構成することが可能となる。更に、内部状態保持手段が状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように回路を再構成することできる。
また、この場合であっても、再構成可能手段において回路構成が実現している設計データ(即ち、第1設計データ及び第2設計データ)については、設計データ記憶手段に記憶している必要は無く、設計データ記憶手段のデータ量を削減することが可能となる。
また、第1の機能及び第2の機能を達成する回路が再構成可能手段で構成されている場合に、内部状態保持手段が、各機能に対応する論理ブロックの位置を示す情報を保持することにより、抽出手段は、第1の機能に対応する設計データ、第2の機能に対応する設計データを個別に抽出することも可能となる。
ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第1回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段を備え、前記抽出手段は、前記内部状態保持手段が保持している前記内部状態に基づき、前記再構成可能手段から、選択的に前記第1設計データを抽出するように構成してもよい。
この構成によると、抽出手段は、再構成可能手段から前記第1設計データを抽出する際、内部状態を参照することにより、抽出処理を効率よく行うとが可能となる。
ここで、前記情報処理装置は、ネットワークを介して外部機器と接続されており、更に、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第1設計データと、前記第1回路と異なる機能を達成する回路の設計データである第3設計データとを前記外部機器へ送信する送信手段と、前記外部機器から、前記再構成可能手段の最適化が可能となるような前記第2設計データを受信する受信手段とを備えるように構成してもよい。
この構成によると、当該情報処理装置の再構成可能手段は、第1の機能を達成する第1回路を、機能の異なる第2回路に置き換えるのではなく、第1及び第2の機能を達成する新たな第2回路を再構成することが可能となる。更に、内部状態保持手段が状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように回路を再構成することできる。
また、新たな設計データの生成を外部機器に依頼することにより、当該情報処理装置による処理量を削減することができる。
ここで、前記第1設計データに基づき前記再構成可能手段において構成されている前記第1回路は、第1の機能を達成し、前記情報処理装置は、前記抽出手段により抽出された前記第1設計データと、前記第1の機能とは異なる第2の機能を達成する第3回路を構成するための設計データである第3設計データとから、第1及び第2の機能を達成する前記第2回路を構成するための前記第2設計データを生成する設計データ変換手段を備えるように構成してもよい。
この構成によると、当該情報処理装置の再構成可能手段は、第1の機能を達成する第1回路を、機能の異なる第2回路に置き換えるのではなく、第1及び第2の機能を達成する新たな第2回路を再構成することが可能となる。また、この場合であっても、再構成可能手段において回路構成が実現している設計データ(即ち、第1設計データ及び第2設計データ)については、設計データ記憶手段に記憶している必要は無く、設計データ記憶手段のデータ量を削減することが可能となる。
ここで、前記情報処理装置は、更に、外部接続された記録媒体との間で情報の入出力を行う媒体入出力手段を備え、前記出力手段は、前記第2設計データが記録された記録媒体から、前記媒体入出力手段を介して、前記第2データを取得し、前記再構成可能手段に出力し、前記書込手段は、前記媒体入出力手段を介して、前記記録媒体に、前記第1設計データを書き込むように構成してもよい。
この構成によると、出力手段により第2設計データが再構成可能手段に出力されると、記録媒体から第2設計データを削除することにより、記録媒体が記録する設計データのデータ量を削減することができる。また、書込手段により第1設計データが記録媒体に書き込まれるが、当該情報処理装置は抽出手段を備えていることにより、再構成可能手段で実装されている回路に対応する設計データは、記録媒体に記録する必要がない。
ここで、前記情報処理装置は、前記抽出手段により抽出された前記第1設計データを暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第1設計データを、前記記録媒体に書き込むように構成してもよい。
また、前記記録媒体に記憶されている前記第2設計データは、暗号化されており、前記情報処理装置は、前記暗号化された第2設計データを復号する復号手段を備え、前記出力手段は、前記復号手段により復号された前記第2設計データを取得し、前記再構成可能手段に出力するように構成してもよい。
この構成によると、記録媒体に記録される第1設計データ及び第2設計データは、暗号化されており、記録媒体が不正なユーザにアクセスされ、第1設計データ及び第2設計データが漏洩した場合であっても、不正に利用されるのを防止することができる。また、復号手段を備えたことにより、復号した第1設計データ及び第2設計データを、再構成可能手段における回路の再構成に利用することができる。
1.第1の実施形態
本発明の第1の実施形態として、情報処理装置10について説明する。
情報処理装置10は、設計データに基づき回路の再構成が可能なデバイスを備え、要求に応じて回路を更新する装置である。
<構成>
図1は、情報処理装置10の構成を機能的に示す機能ブロック図である。
同図に示すように、情報処理装置10は、再構成可能部101、設計データ記憶部102、抽出部103、鍵記憶部104、暗号化部105、復号部106、および更新部107から構成される。
情報処理装置10は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどを備えるコンピュータシステムであって、RAM又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、その機能を達成する。
以下では、情報処理装置10の各構成要素について説明する。
(1)再構成可能部101
図2は、再構成可能部101の概要を示す図である。
再構成可能部101は、論理ブロックLB1(121)、論理ブロックLB2(122)、論理ブロックLB3(123)、論理ブロックLB4(124)、論理ブロックLB5(125)、論理ブロックLB6(126)、論理ブロックLB7(127)、論理ブロックLB8(128)、論理ブロックLB9(129)と16個のスイッチマトリックス131〜146と、各論理ブロックと各スイッチマトリックスとを接続する配線群から構成される。
図3は、論理ブロックLB1(121)の内部を示す図である。なお、論理ブロックLB2(122)〜論理ブロックLB9(129)も同様の構成を有する。
論理ブロックLB1(121)は、ルックアップテーブル(以下、「LUT」と記述する。)151、LUT152、LUT153、フリップフロップ154、及びフリップフロップ155から構成される。LUT151及びLUT153は、4入力1出力の構成を有し、LUT152は、3入力1出力の構成を有するが、これは一例であり、必ずしもこの構成には限定されない。各論理ブロックは、具体的には、小規模なSRAMで構成される。
図4(a)は、スイッチマトリックス131の構成を示す図である。なお、スイッチマトリックス132〜146も同様の構成を有する。
スイッチマトリックス131は、配線群を構成する垂直配線チャネルと水平配線チャネルとが交差する箇所に配置されたトランジスタスイッチ群161、162、163、164から構成される。
図4(b)は、トランジスタスイッチ群161の構成を示す図である。なお、トランジスタスイッチ群162〜164も同様の構成を有する。
トランジスタスイッチ群161は、6個のトランジスタスイッチ171〜176で構成され、各トランジスタスイッチは、SRAMを用いてON又はOFFに設定されている。ここで、本明細書においては、各論理ブロックのLUTの設定値、及び各トランジスタスイッチのON/OFFを示す情報を含むビット列を設計データと呼称する。
再構成可能部101は、更新部107により設計データが入力されると、入力された設計データに基づき、各LUTの設定値と、トランジスタスイッチのON又はOFFの設定を変更することにより、各種の回路を構成又は再構成する。なお、再構成可能部101における回路の構成及び再構成については、公知技術で実現可能であるため、詳細な説明は省略する。
(2)設計データ記憶部102
設計データ記憶部102は、設計データテーブルを記憶及び管理する機能を有する。
図5は、設計データテーブルの一例である設計データテーブル200のデータ構成を示す図である。同図に示すように、設計データテーブル200は、複数の設計データ情報201、202、…、203、204、205、…を含み、各設計データ情報は、設計データIDと暗号化設計データとから構成される。
設計データIDは、設計データ及び当該設計データが暗号化されて生成された暗号化設計データを一意に識別するための識別子である。
暗号化設計データは、対応付けられている設計データIDにより識別される設計データが、当該設計データに固有の鍵データを暗号鍵として用い、暗号化アルゴリズムEを施して生成された暗号化データである。なお、暗号化アルゴリズムEの一例は、DES(Data Encryption Standard)である。なお、本明細書においては、例えば、設計データIDが「A」である設計データを「ARC_A」、設計データIDが「B」である設計データを「ARC_B」等と記載している。また、設計データARC_A」を暗号化して生成された暗号化設計データを「Enc_ARC_A」、設計データ「ARC_B」を暗号化して生成された暗号化設計データを「Enc_ARC_B」等と記載している。
設計データ情報201は、設計データID「A」と暗号化設計データ「Enc_ARC_A」とから構成される。暗号化設計データ「Enc_ARC_A」は、設計データ「ARC_A」が、暗号化されて生成された暗号化データである。設計データ「ARC_A」は、再構成可能部101において、回路を再構成するために必要なデータであり、具体的には、先に述べた様に、再構成可能部101内の各LUTの設定値、及び各トランジスタスイッチのON/OFF等を示すビット列である。
設計データ記憶部102は、再構成可能部101による回路の再構成のために、更新部107から指示を受けた復号部106により、ある暗号化設計データが読み出されると、読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する。また、設計データ記憶部102は、抽出部103により抽出された設計データを受け取った暗号化部105から、暗号化設計データと設計データIDとを受け取ると、受け取った暗号化設計データと設計データIDとから成る設計データ情報を生成し、当該設計データ情報を設計データテーブルに格納する。
以下では、図5及び図6を用いて、具体的に説明する。
設計データ記憶部102が図5に示した設計データテーブル200を記憶している状態において、暗号化設計データ「Enc_ARC_A」が読み出された場合、設計データテーブル200から設計データ情報201が削除され、図6に示す設計データテーブル210のようになる。また、暗号化部105から暗号化設計データ「Enc_ARC_V」を受け取ると、設計データID「V」と暗号化設計データ「Enc_ARC_V」とから成る設計データ情報206を生成し、設計データテーブル210に格納する。
(3)抽出部103
抽出部103は、図示していない入力デバイス等の入力手段を介して、回路の更新要求を受け付けると、再構成可能部101にて構成されている回路から、設計データを抽出する機能を有する。
具体的には、抽出部103は、再構成可能部101の各論理ブロックからLUTを抽出し、更に、各スイッチマトリックスから、各トランジスタスイッチのON/OFFを示す情報を抽出する。抽出部103は、再構成可能部101から抽出した設計データを、当該設計データの設計データIDと共に、暗号化部105へ出力する。なお、抽出部103は、再構成可能部101から抽出した設計データの設計データIDを既知であるとする。
設計データの抽出方法の詳細については、図9に示すフローチャートを用いて、後に説明する。
(4)鍵記憶部104
鍵記憶部104は、図7に示す鍵テーブル300を記憶している。鍵テーブル300は、同図に示すように、複数の鍵情報301、302、…、303、…を含み、各鍵情報は、設計データIDと鍵データとを対応付けて構成される。
具体例として、鍵情報303は、設計データID「V」と鍵データ「K_V」とから構成される。これは、設計データID「V」により識別される設計データ「ARC_V」の暗号化、及び、暗号化設計データ「Ecn_ARC_V」の復号に用いられる鍵データが「K_V」であることを示している。鍵データ「K_V」は、例えば、DESの暗号化及び復号の鍵として用いられる64ビットデータである。
なお、本明細書における鍵記憶部104は、耐タンパー化されているものとする。耐タンパー化の実装方法については、特に限定されない。
(5)暗号化部105
暗号化部105は、平文を暗号文に変換する暗号化の機能を有する。
より具体的には、暗号化部105は、抽出部103から設計データ及び設計データIDを受け取ると、受け取った設計データIDに対応する鍵データを、鍵記憶部104から読み出す。暗号化部105は、読み出した鍵データを暗号鍵として用い、設計データに暗号化アルゴリズムEを施して暗号化し、暗号化設計データを生成する。暗号化部105は、生成した暗号化設計データを、設計データIDと共に、設計データ記憶部102に出力する。
一例として、暗号化部105は、抽出部103から設計データ「ARC_V」と設計データID「V」とを受け取る場合を考える。暗号化部105は、鍵記憶部104に記憶されている鍵テーブル300から、受け取った設計データID「V」を含む鍵情報303を特定する。次に、暗号化部105は、鍵情報303から、鍵データ「K_V」を読み出す。暗号化部105は、鍵データ「K_V」を暗号鍵として用い、「ARC_V」を暗号化し、「Enc_ARC_V」を生成する。
(6)復号部106
復号部106は、暗号文を平文に変換する復号の機能を有する。
より具体的には、復号部106は、更新部107から設計データIDを含む復号要求を受け取ると、受け取った設計データIDに対応する鍵データを、鍵記憶部104から読み出す。更に復号部106は、受け取った設計データIDに対応する暗号化設計データを、設計データ記憶部102から読み出す。復号部106は、読み出した鍵データを復号鍵として用い、暗号化設計データに復号アルゴリズムDを施して復号し、設計データを生成する。復号部106は、生成した設計データを、更新部107に出力する。なお、復号アルゴリズムDは、暗号化アルゴリズムEにより暗号化された暗号文を、平文に変換するアルゴリズムである。
一例として、復号部106は、更新部107から設計データID「A」を受け取る場合を考える。復号部106は、鍵記憶部104に記憶されている鍵テーブル300から、受け取った設計データID「A」を含む鍵情報301を特定する。次に、復号部106は、鍵情報301から、鍵データ「K_A」を読み出す。復号部106は、鍵データ「K_A」を復号鍵として用い、「Enc_ARC_A」を復号し、「ARC_A」を生成する。
(7)更新部107
更新部107は、図示していない入力デバイス等の入力手段を介して、回路の更新要求を受け付けると、再構成可能部101に対し、新たな回路の設計データを出力する機能を有する。
具体的には、更新部107は、設計データIDを含む更新要求を受け付けると、受け付けた設計データIDにより識別される暗号化設計データの復号を、復号部106に指示する。更新部107は、復号部106により復号された設計データを受け取り、受け取った設計データを、再構成可能部101へ出力する。
一例として、更新部107は、設計データ「A」により識別される設計データIDを受け付けた場合、設計データID「A」を、復号部106へ出力する。更に、更新部107は、復号部106から、設計データ「ARC_A」を受け取り、受け取った設計データ「ARC_A」を、再構成可能部101へ出力する。
<動作>
ここでは、図8及び図9に示すフローチャートを用いて、情報処理装置10の動作について説明する。
(1)情報処理装置10の動作
先ず、回路更新要求が発生し(ステップS101)、抽出部103及び更新部107が回路更新要求を受け付ける。具体的には、抽出部103及び更新部107は、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部107は、入力手段を介して、回路更新要求と共に設計データIDも受け取るものとする。
設計データIDを含む回路更新要求を受け付けた更新部107は、復号部106に設計データIDを通知し、当該設計データIDにより識別される暗号化設計データの復号を指示する。
更新部107からの指示を受け付けた復号部106は、設計データ記憶部102から、前記設計データIDにより識別される暗号化設計データを読み出す(ステップS102)。次に、復号部106は、鍵記憶部104から、前記設計データIDと対応付けられている鍵データを読み出す(ステップS103)。
設計データ記憶部102は、ステップS102にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する(ステップS104)。
次に、復号部106は、ステップS102で読み出した暗号化設計データを、ステップS103で読み出した鍵データを復号鍵として用い、復号アルゴリズムDを施すことにより、設計データを復号する(ステップS105)。復号部106は、復号した設計データを更新部107へ出力する。
更新部107は、復号部106から設計データを受け取ると、受け取った設計データを再構成可能部101へ転送する(ステップS106)。ここで、再構成可能部101は、更新部107から転送される設計データを一時的に保持するためのメモリを有するように構成してもよい。
次に、抽出部103は、再構成可能部101の内部で現在構成されている回路の設計データを抽出する処理を行う(ステップS107)。なお、設計データ抽出処理の詳細については後述する。
抽出部103は、抽出した設計データを暗号化部105へ出力する。暗号化部105は、抽出部103から設計データを受け取り(ステップS108)、更に、鍵記憶部104から、ステップS108で受け取った設計データを識別する設計データIDに対応付けられている鍵データを、読み出す(ステップS109)。
暗号化部105は、ステップS108で受け取った設計データを、ステップS109で読み出した鍵データを暗号鍵として用い、暗号化アルゴリズムEを施すことにより、暗号化設計データを生成する(ステップS110)。暗号化部105は、生成した暗号化設計データと、設計データIDとを、設計データ記憶部102に出力する。設計データ記憶部102は、受け取った暗号化設計データと設計データIDとを対応付けた設計データ情報を生成し、生成した設計データ情報を、設計データテーブルに書き込む(ステップS111)。
次に、再構成可能部101は、ステップS106で受け取った設計データに基づき、各SRAMの値を設定することにより、回路を再構成する(ステップS112)。
なお、上記の各ステップは、必ずしもこの順序で処理されることは必須ではなく、例えば、設計データ抽出処理(ステップS107)の後に、ステップS106の転送処理を行ってもよい。
(2)抽出部103による設計データ抽出処理の動作
図9は、抽出部103による設計データ抽出処理の動作を示すフローチャートである。なお、ここに示す動作は、図8のステップS107の詳細である。
抽出部103は、再構成可能部101に含まれる全ての論理ブロックLB1(121)〜論理ブロックLB9(129)の各論理ブロックについて、ステップS1001からステップS1003までを繰り返す(ステップS1001)。
ステップS1002において、抽出部103は、論理ブロックから、LUTの値を抽出する(ステップS1002)。抽出部103は、全ての論理ブロックについてLUTを抽出すると、繰り返しを終了する(ステップS1003)。
次に、抽出部103は、再構成可能部101に含まれる全てのスイッチマトリックス131〜146の各スイッチマトリックスについて、ステップS1004からステップS1010までを繰り返す(ステップS1004)。
次に、抽出部103は、各スイッチマトリックスに含まれる全てのトランジスタスイッチ群について、各トランジスタスイッチ群について、ステップS1005からステップS1009までを繰り返す(ステップS1005)。
次に、抽出部103は、各トランジスタスイッ群に含まれる全てのトランジスタスイッチについて、ステップS1006からステップS1008までを繰り返す(ステップS1006)。
ステップS1006において、抽出部103は、トランジスタスイッチのON/OFFを示すメモリの値を抽出する(ステップS1007)。
抽出部103は、全てのトランジスタスイッチについてON/OFFを示すメモリの値を抽出するとトランジスタスイッチ毎の繰り返しを終了する(ステップS1008)。次に、全てのトランジスタスイッチ群についてステップS1007の処理を終了すると、トランジスタスイッチ群毎の繰り返しを終了する(ステップS1009)。次に、全てのスイッチマトリックスについてステップS1007の処理を終了すると、スイッチマトリックス毎の繰り返しを終了する(ステップS1010)。
2.第2の実施形態
ここでは、本発明の第2の実施形態として、情報処理装置10aについて説明する。情報処理装置10aは、第1の実施形態である情報処理装置10と同様に、設計データに基づき回路の再構成が可能なデバイスを備えるが、情報処理装置10aは、情報処理装置10が有する機能に加え、再構成が可能なデバイスで構成する回路を、最適化する機能を有する。
<構成>
図10は、情報処理装置10aの機能的な構成を示す機能ブロック図である。
同図に示すように、情報処理装置10aは、再構成可能部101a、設計データ記憶部102a、抽出部103a、鍵記憶部104a、暗号化部105a、復号部106a、更新部107a、内部状態記憶部108a、及び最適化部109aから構成される。情報処理装置10との相違は、内部状態記憶部108a及び最適化部109aを備える点である。
情報処理装置10aは、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどを備えるコンピュータシステムであって、RAM又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、その機能を達成する。
なお、再構成可能部101a、設計データ記憶部102a、抽出部103a、鍵記憶部104a、暗号化部105a、復号部106a、及び更新部107aは、情報処理装置10の構成要素である再構成可能部101、設計データ記憶部102、抽出部103、鍵記憶部104、暗号化部105、復号部106、及び更新部107と同様の構成及び機能を有するため、説明を省略し、以下では、情報処理装置10aに独自の構成要素である内部状態記憶部108aと最適化部109aとについて説明する。
(1)内部状態記憶部108a
内部状態記憶部108aは、再構成可能部101aの内部状態を記憶する機能を有する。
内部状態記憶部108aは、具体的には、再構成可能部101aに含まれる複数の論理ブロックのうち、何れの論理ブロックが回路構成のために使用されているかを示す状態情報を記憶している。
図11は、状態情報の一例である状態情報400のデータ構成を示す図である。同図に示すように状態情報400は、論理ブロックLB1、及びLB2と、設計データID「A」とが対応付けられて構成される。これは、再構成可能部101a内の論理ブロックLB1及び論理ブロックLB2は、設計データIDが「A」である設計データに基づき回路が構成されていることを示している。
また、再構成可能部101aにおける回路構成が更新されると、内部状態記憶部108aは、新たな状態情報を生成して、それまで記憶していた状態情報に替えて、新たな回路構成に対応する状態情報を内部に記憶する。
なお、内部状態記憶部108aは、最適化部109aにおいて新たな設計データが生成されると、最適化部109aからの受け取る情報に基づき、新たな状態情報を生成するように構成してもよい。
例えば、図12に示す状態情報410は、図11の状態情報400と異なり、論理ブロックLB1、及びLB4と、設計データID「A」とが対応付けられており、論理ブロックLB2、LB3、LB5、及びLB6と、設計データID「B」とが対応付けられている。これは、再構成可能部101a内の論理ブロックLB1及びLB4では、設計データIDが「A」である設計データに基づき回路が構成されており、論理ブロックLB2、LB3、LB5、及びLB6では、設計データIDが「B」である設計データに基づき回路が構成されていることを示している。
(2)最適化部109a
最適化部109aは、再構成可能部101aで新たに構成される2以上の回路が、最適な配置となるような設計データを生成する機能を有する。
具体的には、最適化部109aは、入力デバイス等の入力手段から、1以上の設計データIDを含む回路更新要求を受け付ける。回路更新要求を受け付けると、最適化部109aは、復号部106aに対して、受け付けた1以上の設計データIDにより識別される復号データの復号を指示する。最適化部109aは、復号部106aにより復号された1以上の設計データを受け取る。
また、最適化部109aは、抽出部103aにより抽出された設計データを受け取る。最適化部109aは、更に、内部状態記憶部108aが記憶している状態情報を読み出す。
最適化部109aは、抽出部103a及び復号部106aとから受け取った2以上の設計データ、並びに、読み出した状態情報から、再構成可能部101aにおける論理ブロックの利用効率が最も高くなるように、2以上の回路が配置されるような設計データを生成する。
一例として、最適化部109aは、抽出部103aから、設計データID「A」により識別される設計データを受け取り、復号部106aから、設計データID「B」により識別される設計データを受け取り、内部状態記憶部108aから、状態情報400(図11参照)を読み出した場合について考える。
ここで、最適化部109aは、予め、再構成可能部101aの各論理ブロックの配列を既知であるとする。各論理ブロックの配列とは、具体的には図2に示した各論理ブロックの並び順、即ち、再構成可能部101aにおける各論理ブロックの位置である。更には、最適化部109aは、各設計データの回路の構成に使用されるべき論理ブロック数についても既知であるとする。これは、設計データに記述されていてもよい。
最適化部109aは、状態情報400から、未使用の論理ブロックは、LB3〜LB9であることが分かる。ここで、設計データID「B」により識別される設計データの構成には4個の論理ブロックが必要であるとすると、最適化部109aは、未使用のLB3〜LB9を有効に利用するために、例えば、それまで論理ブロックLB1及びLB2を用いて回路構成していた設計データID「A」により識別される設計データを、論理ブロックLB1及びLB4を用いて実現し、設計データID「B」により識別される設計データを、論理ブロックLB2,LB3、LB5、及びLB6を用いて実現する。
このとき、未使用の論理ブロックは、LB7,LB8、及びLB9であり、再構成可能部101aでは、この連続した3個の論理ブロックを用いて、更に新たな回路を構成することも可能である。
<動作>
ここでは、図13に示すフローチャートを用いて、情報処理装置10aの動作について説明する。
先ず、回路更新要求が発生し(ステップS201)、抽出部103a及び最適化部109aが回路更新要求を受け付ける。具体的には、抽出部103a及び最適化部109aは、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、最適化部109aは、回路更新要求と共に、設計データIDの入力も受け付ける。
回路更新要求を受け付けた最適化部109aは、内部状態記憶部108aから状態情報を読み出す(ステップS202)。最適化部109aは、復号部106aへ、前記設計データIDを出力し、当該設計データIDにより識別される設計データの復号を、復号部106aへ指示する。
復号部106aは、設計データ記憶部102aから、前記設計データIDにより識別される暗号化設計データを読み出す(ステップS203)。次に、復号部106aは、鍵記憶部104aから、前記設計データIDと対応付けられている鍵データを読み出す(ステップS204)。
設計データ記憶部102aは、ステップS203にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する(ステップS205)。
次に、復号部106aは、ステップS203で読み出した暗号化設計データを、ステップS204で読み出した鍵データを復号鍵として用い、復号アルゴリズムDを施すことにより、設計データを復号する(ステップS206)。復号部106aは、復号した設計データを最適化部109aへ出力し、最適化部109aは設計データを受け取る(ステップS207)。
続いて、抽出部103aは、再構成可能部101aの内部で現在構成されている回路の設計データを抽出する処理を行う(ステップS208)。なお、設計データ抽出処理の詳細は、第1の実施形態と同様である。抽出部103aは、抽出した設計データを、最適化部109aへ出力し、最適化部109aは、設計データを受け取る(ステップS209)。
次に、最適化部109aは、ステップS202で読み出した状態情報、ステップS207で受け取った設計データ、ステップS209で受け取った設計データ、既知である論理ブロックの配置から、再構成可能部101aにおいて、論理ブロックが有効に利用されるための新たな設計データを生成する(ステップS210)。
更新部107aは、最適化部109aから、新たな設計データを受け取り、受け取った設計データを、再構成可能部101へ転送する(ステップS211)。
再構成可能部101aは、新たに受け取った設計データに基づき、各SRAMの値を設定することにより、回路を再構成する(ステップS212)。次に、内部状態記憶部108aは、回路が再構成された再構成可能部101aの状態を示す状態情報を生成し(ステップS213)、状態情報を更新する。
3.第3の実施形態
本発明の第3の実施形態として、回路更新システム1について説明する。
<構成>
図14は、回路更新システム1の構成を示す図である。同図に示すように、回路更新システム1は、情報処理装置10bと設計データ変換装置20とから構成され、情報処理装置10bと設計データ変換装置20とは、ネットワーク30を介して接続されている。
情報処理装置10bは、図14に示すように、再構成可能部101b、設計データ記憶部102b、抽出部103b、鍵記憶部104b、暗号化部105b、復号部106b、更新部107b、内部状態記憶部108a、及び送受信部110bから構成される。また、設計データ変換装置20は、送受信部501と最適化部502とから構成される。
即ち、第3の実施形態である回路更新システム1は、第2の実施形態である情報処理装置10aの最適化部109aが、ネットワーク30を介した外部装置である設計データ変換装置20に存在する構成を有する。
送受信部110b及び送受信部501は、共にネットワーク接続ユニットであって、ネットワーク30を介して、相互に情報の送受信を行う機能を有する。
設計データ変換装置20の最適化部502は、第2の実施形態の最適化部109aと同様の機能を有する。
なお、情報処理装置10b、及び設計データ変換装置20は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどを備えるコンピュータシステムであって、RAM又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、各装置はその機能を達成する。
<動作>
ここでは、図15に示すフローチャートを用いて、回路更新システム1の動作について説明する。
先ず、回路更新要求が発生し(ステップS301)、抽出部103b及び更新部107bは、回路更新要求を受け付ける。具体的には、抽出部103a及び最適化部109aは、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部107bは、回路更新要求と共に、設計データIDの入力も受け付ける。設計データIDを含む回路更新要求を受け付けた更新部107bは、復号部106bに設計データIDを通知し、当該設計データIDにより識別される暗号化設計データの復号を指示する。
更新部107bからの指示を受け付けた復号部106bは、設計データ記憶部102bから、前記設計データIDにより識別される暗号化設計データを読み出す(ステップS302)。次に、復号部106bは、鍵記憶部104bから、前記設計データIDと対応付けられている鍵データを読み出す(ステップS303)。
設計データ記憶部102bは、ステップS302にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する(ステップS304)。
次に、復号部106bは、ステップS302で読み出した暗号化設計データを、ステップS303で読み出した鍵データを復号鍵として用い、復号アルゴリズムDを施すことにより、設計データを復号する(ステップS305)。復号部106bは、復号した設計データを更新部107bへ出力する。設計データを受け取った更新部107bは、設計データを送受信部110bへ出力する。
次に、抽出部103bは、再構成可能部101bの内部で現在構成されている回路の設計データを抽出する処理を行う(ステップS306)。抽出部103bは、抽出した設計データを送受信部110bへ出力する。
抽出部103b及び更新部107bから設計データを受け取った送受信部110bは、内部状態記憶部108bから、状態情報を読み出す(ステップS307)。
送受信部110bは、抽出部103bから受け取った設計データ、更新部107bから受け取った設計データ、及び状態情報を、ネットワーク30を介して設計データ変換装置20へ送信し、設計データ変換装置20の送受信部501は、設計データと状態情報とを受信する(ステップS308)。
設計データ変換装置20の最適化部502は、ステップS308で受信した2以上の設計データ、状態情報、既知である論理ブロックの配置から、情報処理装置10bの再構成可能部101bにおいて、各論理ブロックが有効に利用されるための新たな設計データを生成する(ステップS309)。
最適化部502は、生成した新たな設計データを、送受信部501及びネットワーク30を介して情報処理装置10bへ送信し、情報処理装置10bの送受信部110bは、設計データを受信する(ステップS310)。
送受信部110bは、受信した新たな設計データを更新部107bへ出力し、更新部107bは、新たな設計データを受け取り、受け取った設計データを、再構成可能部101bへ転送する。
再構成可能部101bは、受け取った設計データに基づき、各SRAMの値を設定するなどして、回路を再構成する(ステップS311)。
続いて、内部状態記憶部108bは、回路が再構成された再構成可能部101bの状態を示す状態情報を生成し(ステップS312)、状態情報を更新する。
4.その他の変形例
本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論であり、以下のような場合であっても、本発明に含まれる。
(1)上記実施の形態における再構成可能部は、FPGAやPLD等の特定の構成を有するデバイスに限定されるものではない。そこで、上記の実施形態の論理ブロックは、LUTで実現する構成を有するが、本発明における論理ブロックは、LUTで実現する場合に限定されず、ALU、論理演算ユニット、シフト制御ユニット、データ制御ユニット、フリップフロップ等、又はこれらの組み合わせにより構成される場合も含まれる。
(2)上記の実施形態における設計データ記憶部の機能を、外部の記録媒体に代用させる構成も本発明に含まれる。
この場合、情報処理装置は、外部の記録媒体との間で情報の入出力を行う媒体入出力部を備える。情報処理装置は、記録媒体が媒体入出力部に装着された状態において、媒体入出力部を介して、暗号化部により暗号化された設計データを記録媒体に書き込む。また情報処理装置は、媒体入出力部を介して、前記記録媒体に格納されている暗号化設計データを読み出し、読み出した暗号化設計データを復号部へ出力する。
この構成により、情報処理装置自体のメモリ要領を節約し、メモリ容量の有効活用が可能となる。
(3)上記実施の形態における内部状態保持部は、回路構成に使用されている論理ブロックと設計データIDとを対応付けた状態情報を保持する構成を有するが、本発明における状態情報は、これに限定されないのは勿論であり、例えば、回路構成に使用されていない論理ブロックの位置情報等、最適化部により、最適化を行うために用いることできる情報であればよい。
(4)上記実施の形態の情報処理装置は、設計データ毎に固有の鍵データを鍵記憶部に保持している構成を有するが、本発明における設計データの暗号化/復号に用いられる鍵情報は、予め鍵記憶部が保持している構成には限定されない。
例えば、設計データの暗号化/復号処理を実行するごとに、乱数生成器を利用して乱数列を発生させ、前記乱数列を鍵情報として用い、暗号化/復号処理を実行してもよい。更に、ここで生成された前記乱数列を、設計データIDと対応付けて鍵記憶部に記憶する構成であってもよい。
この様に、設計データIDと暗号化に用いた鍵情報とを対応付けて管理することにより、復号時に使用する鍵情報の選択を容易にすることができる。
また、復号時と暗号化時で、同一の鍵を利用した場合、鍵の管理が容易になるという効果がある。
また、鍵を生成する機能を備えることにより、暗号化の度に異なる鍵を使用することができ、より高いレベルの設計データの保護を実現することができる。
なお、復号部により復号した設計データを再構成可能部で回路として実装し、更に、当該回路から抽出部により設計データを抽出し、暗号化部にて再び暗号化する場合。復号時に使用した鍵情報(乱数列)と同じ鍵情報で暗号化してもよいし、別途異なる鍵情報を生成して暗号化してもよい。
(5)本発明の情報処理装置は、内部状態保持部が保持している状態情報を参照することにより、再構成可能部から、全ての設計データを抽出するのではなく、選択的に設計データを抽出するように構成してもよい。
例えば、内部状態保持部が図12に示した状態情報410を記憶している場合、抽出部は、状態情報410を参照し、論理ブロックLB1及びLB4から、設計データIDが「A」である設計データのみを抽出する。又は、抽出部は、論理ブロックLB2,LB3、LB5、及びLB6から設計データIDが「B」である設計データのみを抽出するように構成してもよい。
(6)本発明における情報処理装置は、再構成可能部で実現されている回路を削除する回路削除部を備えてもよい。具体的には、抽出部が再構成可能部で実現されている回路の設計データを読み出した後に、回路削除手段は、再構成可能部で実現されている前記回路を削除するように構成してもよい。
このような回路削除部を備え、回路削除部が不要な回路を削除することにより、再構成可能部を効率よく利用することができる。
(7)本発明における情報処理装置は、抽出部が、再構成可能部で実現されている回路を設計データとして読み出す場合に、抽出部が、例えば、抽出(回路再構成)を要求した機器、あるいは利用者を認証して、前記認証処理の結果に基づき、設計データを抽出するか否かを判断し、実行する構成であってもよい。
ここでの前記認証処理の一例は、公開鍵暗号方式を利用したチャレンジ−レスポンス認証である。
また、抽出した設計データを情報処理装置から外部へ送信する要求を受け付けた場合も、送信を要求した機器、あるいは利用者を認証して、前記認証処理の結果に基づき、設計データを外部へ送信するか否かを判断し、実行する構成であってもよい。
更に、外部の記録媒体への暗号化設計データの書き込み処理も同様に、認証処理の結果に基づき、暗号化設計データを書き込むか否かを判断し、実行する構成であってもよい。
(8)上記の実施形態では、情報処理装置10bは、設計データを外部の設計データ変換装置20に送信する場合、抽出部が抽出した設計データを、そのままネットワーク30を介して送信する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データの一部、あるいは全てを暗号化して、暗号化された設計データを設計データ変換装置20へ送信する構成も本発明に含まれる。
この場合、設計データ変換装置20は、一部、あるいは全てが暗号化された状態の設計データ、及び内部状態に基づき最適化部502で変換処理を実行する構成であってもよい。
具体的な例としては、設計データを秘密にしたまま、再構成可能部内での回路の位置だけを調節する場合などが想定される。
(9)本発明における情報処理装置に備えられた設計データ記憶部は、外部からもアクセス可能な一般的なRAMなどのメモリであってもよい。一般的なRAM等で実現することにより、設計データ記憶部を、比較的安価で大容量化することができる。
また、設計データ記憶部は、アクセスが制限される集積回路の内部に存在するメモリであってもよい。
(10)上記実施の形態における最適化部は、2以上の回路を再構成可能部において構成する場合に、その配置を最適化する構成を有するが、本発明は、最適化部に替えて、2以上の回路を示す設計データから、新たな1つの設計デーに変換する変換手段を備える構成であってもよい。
例えば、第1の機能を達成する第1回路が再構成可能部において実現している場合に、抽出部は、第1回路から第1設計データを抽出する。一方で、復号部は、第2の機能を達成する第2回路を構成するための設計データである第2設計データを、復号する。そして、変換手段は、第1の機能と第2の機能とを併せ持つ第3回路を構成するための第3設計データを生成するように構成してもよい。
更には、変換手段は、単純に第1及び第2の機能を併せ持つ第3回路を構成するための第3設計データを生成するのではなく、第1の機能に第2の機能を組み込み、高度な処理を行うような新たな機能を達成する第3回路を構成するための第3設計データを生成するように構成してもよい。
(11)上記実施の形態における再構成可能部では、例えば、暗号化コンテンツを復号するための復号回路が実装される構成であってもよい。
再構成可能部で実装される復号回路はアルゴリズム毎に異なるので、復号回路を更新することにより、さまざまなアルゴリズムに対応する復号処理を実現することができる。
しかしながら、本発明は、再構成可能部において実装される回路が達成する機能については、何ら限定されるものではなく、再構成可能部では、如何なる回路が構成されてもよい。
(12)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(13)また本発明は、上記実施形態における情報処理装置10、10a、10b、及び設計データ変換装置20の機能ブロックの一部又は全てが集積回路であるLSIとして実現される場合も本発明に含まれる。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路で実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(FieldProgrammable Gate Array)やLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
(14)前記実施形態及び前記変形例をそれぞれ組み合わせた構成も、本発明に含まれる。
本発明は、例えば、暗号化のアルゴリズムを更新することが可能な機器を製造する産業、及び販売する産業において、経営的及び継続的に利用することができる。
本発明の第1の実施形態である情報処理装置10の機能的な構成を示す機能ブロック図である。 再構成可能部101の概要を示す図である。 論理ブロックLB1(121)の概要を示す図である。 (a)スイッチマトリックス131の概要を示す図である。(b)トランジスタスイッチ群の内部構成を示す図である。 設計データテーブル200のデータ構成を示す図である。 設計データテーブル210のデータ構成を示す図である。 鍵テーブル300のデータ構成を示す図である。 情報処理装置10の全体の動作を示すフローチャートである。 抽出部103による設計データ抽出処理の動作を示すフローチャートである。 本発明の第2の実施形態である情報処理装置10aの機能的な構成を示す機能ブロック図である。 内部状態記憶部108aに記憶されている状態情報400のデータ構成を示す図である。 内部状態記憶部108aに記憶されている状態情報410のデータ構成を示す図である。 情報処理装置10aの全体の動作を示すフローチャートである。 本発明の第3の実施形態である、回路更新システム1の構成を示す図である。 回路更新システム1の全体の動作を示すフローチャートである。
符号の説明
1 回路更新システム
10 情報処理装置
10a 情報処理装置
10b 情報処理装置
20 設計データ変換装置
30 ネットワーク
101 再構成可能部
101a 再構成可能部
101b 再構成可能部
102 設計データ記憶部
102a 設計データ記憶部
102b 設計データ記憶部
103 抽出部
103a 抽出部
103b 抽出部
104 鍵記憶部
104a 鍵記憶部
104b 鍵記憶部
105 暗号化部
105a 暗号化部
105b 暗号化部
106 復号部
106a 復号部
106b 復号部
107 更新部
107a 更新部
107b 更新部
108a 内部状態記憶部
108b 内部状態記憶部
109a 最適化部
110a 送受信部
110b 送受信部
131〜146 スイッチマトリックス
151〜153 LUT
154、155 フリップフロップ
161〜164 トランジスタスイッチ群
171〜176 トランジスタスイッチ
501 送受信部
502 最適化部

Claims (16)

  1. 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、
    前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出手段と、
    回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶する設計データ記憶手段と、
    前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第1回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第2回路の設計データを前記設計データ記憶手段から取得して、前記第1回路の設計データ及び前記第2回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第2回路の設計データを前記設計データ記憶手段から削除する更新手段と
    を備えることを特徴とする情報処理装置。
  2. 前記更新手段は、更に、前記再構成可能手段に構成される回路を前記第2回路へ更新するよう指示を受けた場合、前記第1回路の設計データを使用せずに前記再構成可能手段に構成される回路を更新し、前記第1回路の設計データを前記第2回路の設計データが削除された後の設計データ記憶手段に書き込む書込手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、
    前記抽出手段により抽出された前記第1回路の設計データを暗号化する暗号化手段を備え、
    前記書込手段は、暗号化された前記第1回路の設計データを、前記設計データ記憶手段に書き込む
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記設計データ記憶手段に記憶されている前記第2回路の設計データは、暗号化されており、
    前記情報処理装置は、
    前記暗号化された第2回路の設計データを復号する復号手段を備え、
    前記更新手段は、前記復号手段により復号された前記第2回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記情報処理装置は、
    各設計データに対応する鍵情報を安全に記憶している鍵情報記憶手段を備え、
    前記暗号化手段は、前記鍵情報記憶手段から、前記第1回路の設計データと対応する第1鍵情報を読み出し、読み出した前記第1鍵情報に基づき、前記第1回路の設計データを暗号化し、
    前記復号手段は、前記鍵情報記憶手段から、前記第2回路の設計データと対応する第2鍵情報を読み出し、読み出した前記第2鍵情報に基づき、前記第2回路の設計データを復号する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記情報処理装置は、更に、
    各設計データに対応する前記鍵情報を生成する鍵情報生成手段を備え、
    前記鍵情報生成手段により生成された前記鍵情報を、前記鍵情報記憶手段に書き込む
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記情報処理装置は、更に、
    前記再構成可能手段において前記第1回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段と、
    前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第1回路の設計データと、前記第1回路が達成する第1の機能と異なる第2の機能を達成する前記第2回路の設計データとから、前記再構成可能手段の最適化が可能となるような第3回路の設計データを生成する最適化手段とを備え、
    前記更新手段は、前記最適化手段により生成された前記第3回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
    ことを特徴とする請求項1に記載の情報処理装置。
  8. 前記内部状態保持手段は、前記第1の機能を達成する回路の構成に用いられている論理ブロックの位置と、前記第2の機能を達成する回路の構成に用いられている論理ブロックの位置とを示す新たな内部情報を生成し、保持する
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記情報処理装置は、更に、
    前記再構成可能手段において前記第1回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段を備え、
    前記抽出手段は、前記内部状態保持手段が保持している前記内部状態に基づき、前記再構成可能手段から、選択的に前記第1回路の設計データを抽出する
    ことを特徴とする請求項1に記載の情報処理装置。
  10. 前記情報処理装置は、ネットワークを介して外部機器と接続されており、更に、
    前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第1回路の設計データと、前記第1回路と異なる機能を達成する前記第2回路の設計データとを前記外部機器へ送信する送信手段と、
    前記外部機器から、前記再構成可能手段の最適化が可能となるような前記第3回路の設計データを受信する受信手段とを備え
    前記更新手段は、受信した前記第3回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 記第1回路は、第1の機能を達成し、
    前記情報処理装置は、
    前記抽出手段により抽出された前記第1回路の設計データと、前記第1の機能とは異なる第2の機能を達成する前記第2回路の設計データとから、第1及び第2の機能を達成する第回路を構成するための設計データを生成する設計データ変換手段を備え
    前記更新手段は、前記第3回路の設計データを用いて、前記再構成可能手段に構成される回路を更新する
    ことを特徴とする請求項1に記載の情報処理装置。
  12. 前記設計データ記憶手段は、前記情報処理装置から取り外し可能な記録媒体として構成される
    ことを特徴とする請求項1から請求項6のいずれか1項に記載の情報処理装置。
  13. 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、設計データ記憶手段とを備える情報処理装置で用いられる処理方法であって、
    前記設計データ記憶手段は、回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶し、
    前記処理方法は、
    前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出ステップと、
    前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第1回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第2回路の設計データを前記設計データ記憶手段から取得して、前記第1回路の設計データ及び前記第2回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第2回路の設計データを前記設計データ記憶手段から削除する更新ステップと
    を含むことを特徴とする処理方法。
  14. 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、設計データ記憶手段とを備える情報処理装置で用いられるコンピュータプログラムであって、
    前記設計データ記憶手段は、回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶し、
    前記コンピュータプログラムは、
    前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出ステップと、
    前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第1回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第2回路の設計データを前記設計データ記憶手段から取得して、前記第1回路の設計データ及び前記第2回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第2回路の設計データを前記設計データ記憶手段から削除する更新ステップと
    を含むことを特徴とするコンピュータプログラム。
  15. 前記コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項1に記載のコンピュータプログラム。
  16. 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、
    前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出手段と、
    回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶する設計データ記憶手段と、
    前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第1回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第2回路の設計データを前記設計データ記憶手段から取得して、前記第1回路の設計データ及び前記第2回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第2回路の設計データを前記設計データ記憶手段から削除する更新手段と
    を備えることを特徴とする集積回路。
JP2007514681A 2005-04-21 2006-04-21 回路更新システム Active JP4801054B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007514681A JP4801054B2 (ja) 2005-04-21 2006-04-21 回路更新システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005123220 2005-04-21
JP2005123220 2005-04-21
PCT/JP2006/308439 WO2006115213A1 (ja) 2005-04-21 2006-04-21 回路更新システム
JP2007514681A JP4801054B2 (ja) 2005-04-21 2006-04-21 回路更新システム

Publications (2)

Publication Number Publication Date
JPWO2006115213A1 JPWO2006115213A1 (ja) 2008-12-18
JP4801054B2 true JP4801054B2 (ja) 2011-10-26

Family

ID=37214829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007514681A Active JP4801054B2 (ja) 2005-04-21 2006-04-21 回路更新システム

Country Status (3)

Country Link
US (1) US8189773B2 (ja)
JP (1) JP4801054B2 (ja)
WO (1) WO2006115213A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8581625B2 (en) 2011-05-19 2013-11-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977863B1 (en) * 2010-08-30 2015-03-10 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for dynamic protection of intellectual property in electronic circuit designs
EP3131032B1 (en) 2014-04-09 2021-09-22 ICTK Holdings Co., Ltd. Authentication apparatus and method
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120210A (ja) * 1997-10-21 1999-04-30 Toshiba Corp 再構成可能な回路の設計装置、及び再構成可能な回路装置
JP2004515180A (ja) * 2000-11-28 2004-05-20 ザイリンクス インコーポレイテッド リードバックを防止する方法を備えたプログラマブルロジックデバイス
JP2004515001A (ja) * 2000-11-28 2004-05-20 ザイリンクス インコーポレイテッド 解読アルゴリズムおよび解読鍵を有するプログラマブルロジックデバイス

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0522281A (ja) * 1991-07-15 1993-01-29 Mitsubishi Electric Corp 秘話装置
JP3783800B2 (ja) 1996-08-09 2006-06-07 富士通株式会社 プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法
US5970142A (en) * 1996-08-26 1999-10-19 Xilinx, Inc. Configuration stream encryption
US6101255A (en) 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
JP3849956B2 (ja) * 1998-01-08 2006-11-22 松下電器産業株式会社 プログラマブル集積回路
JP3573193B2 (ja) * 1998-10-21 2004-10-06 富士ゼロックス株式会社 情報処理システム
JP2001306343A (ja) 2000-04-21 2001-11-02 Fujitsu I-Network Systems Ltd Fpgaを有する装置のためのシステム
JP2003058426A (ja) * 2001-08-21 2003-02-28 Sony Corp 集積回路およびその回路構成方法ならびにプログラム
US7000161B1 (en) * 2001-10-15 2006-02-14 Altera Corporation Reconfigurable programmable logic system with configuration recovery mode
US7577726B1 (en) * 2002-02-07 2009-08-18 Cisco Technology, Inc. Method for updating a hardware configuration of a networked communications device
JP2004007472A (ja) * 2002-03-22 2004-01-08 Toshiba Corp 半導体集積回路、データ転送システム、及びデータ転送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120210A (ja) * 1997-10-21 1999-04-30 Toshiba Corp 再構成可能な回路の設計装置、及び再構成可能な回路装置
JP2004515180A (ja) * 2000-11-28 2004-05-20 ザイリンクス インコーポレイテッド リードバックを防止する方法を備えたプログラマブルロジックデバイス
JP2004515001A (ja) * 2000-11-28 2004-05-20 ザイリンクス インコーポレイテッド 解読アルゴリズムおよび解読鍵を有するプログラマブルロジックデバイス

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8581625B2 (en) 2011-05-19 2013-11-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US9595964B2 (en) 2011-05-19 2017-03-14 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US9900007B2 (en) 2011-05-19 2018-02-20 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device

Also Published As

Publication number Publication date
WO2006115213A1 (ja) 2006-11-02
JPWO2006115213A1 (ja) 2008-12-18
US8189773B2 (en) 2012-05-29
US20090067632A1 (en) 2009-03-12

Similar Documents

Publication Publication Date Title
CN1818920B (zh) 管理用于文件加密和解密的多个密钥的系统和方法
CN101167300B (zh) 信息安全装置
CN101874248B (zh) 记录再现系统、记录媒体装置及记录再现装置
WO2011111370A1 (ja) 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
US20080235517A1 (en) Update System for Cipher System
JP4239747B2 (ja) 情報処理装置、およびコンテンツ情報管理方法、並びにコンピュータ・プログラム
WO2006109738A1 (ja) 回路構築装置
JPWO2007032315A1 (ja) コンテンツ管理システム及びコンテンツ管理装置
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
KR20070052233A (ko) 기밀정보처리방법, 기밀정보처리장치, 및 컨텐츠데이터재생장치
JP4801054B2 (ja) 回路更新システム
JPWO2006115212A1 (ja) アルゴリズム更新システム
JPWO2007145220A1 (ja) 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路
JP2007037197A (ja) 暗号化データ配信システム
JP2001325153A (ja) フィールドプログラマブルゲートアレイの回路情報保護方法
JP3775175B2 (ja) 鍵処理方法及びディスクメーカ側処理装置
JP2003204320A (ja) 著作物保護システム、鍵管理装置及び利用者装置
TWI388181B (zh) 用以傳輸含有欲於接收設備中執行之動作描述的訊息之方法
JP2001125481A (ja) 暗号通信端末、暗号通信センター装置及び暗号通信システム並びに記録媒体
WO2004114584A1 (ja) 著作権保護システム並びにべき乗剰余演算装置及び方法
JP4302076B2 (ja) 鍵判定装置
JP3846148B2 (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
JP2002281016A (ja) 暗号化復号装置及び暗号方式変更方法
JP2006313505A (ja) 暗号化復号化システム、暗号化装置、復号化装置、暗号化方法、復号化方法、ならびに、プログラム
EP1832043A1 (en) System and method for initializing secure communications with lightweight devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110804

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4801054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150