(57)【特許請求の範囲】
【請求項１】
複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、
前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出手段と、
回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶する設計データ記憶手段と、
前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第１回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第２回路の設計データを前記設計データ記憶手段から取得して、前記第１回路の設計データ及び前記第２回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第２回路の設計データを前記設計データ記憶手段から削除する更新手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記更新手段は、更に、前記再構成可能手段に構成される回路を前記第２回路へ更新するよう指示を受けた場合、前記第１回路の設計データを使用せずに前記再構成可能手段に構成される回路を更新し、前記第１回路の設計データを前記第２回路の設計データが削除された後の設計データ記憶手段に書き込む書込手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
前記抽出手段により抽出された前記第１回路の設計データを暗号化する暗号化手段を備え、
前記書込手段は、暗号化された前記第１回路の設計データを、前記設計データ記憶手段に書き込む
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設計データ記憶手段に記憶されている前記第２回路の設計データは、暗号化されており、
前記情報処理装置は、
前記暗号化された第２回路の設計データを復号する復号手段を備え、
前記更新手段は、前記復号手段により復号された前記第２回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
各設計データに対応する鍵情報を安全に記憶している鍵情報記憶手段を備え、
前記暗号化手段は、前記鍵情報記憶手段から、前記第１回路の設計データと対応する第１鍵情報を読み出し、読み出した前記第１鍵情報に基づき、前記第１回路の設計データを暗号化し、
前記復号手段は、前記鍵情報記憶手段から、前記第２回路の設計データと対応する第２鍵情報を読み出し、読み出した前記第２鍵情報に基づき、前記第２回路の設計データを復号する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、更に、
各設計データに対応する前記鍵情報を生成する鍵情報生成手段を備え、
前記鍵情報生成手段により生成された前記鍵情報を、前記鍵情報記憶手段に書き込む
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、更に、
前記再構成可能手段において前記第１回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段と、
前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第１回路の設計データと、前記第１回路が達成する第１の機能と異なる第２の機能を達成する前記第２回路の設計データとから、前記再構成可能手段の最適化が可能となるような第３回路の設計データを生成する最適化手段とを備え、
前記更新手段は、前記最適化手段により生成された前記第３回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記内部状態保持手段は、前記第１の機能を達成する回路の構成に用いられている論理ブロックの位置と、前記第２の機能を達成する回路の構成に用いられている論理ブロックの位置とを示す新たな内部情報を生成し、保持する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、更に、
前記再構成可能手段において前記第１回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段を備え、
前記抽出手段は、前記内部状態保持手段が保持している前記内部状態に基づき、前記再構成可能手段から、選択的に前記第１回路の設計データを抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、ネットワークを介して外部機器と接続されており、更に、
前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第１回路の設計データと、前記第１回路と異なる機能を達成する前記第２回路の設計データとを前記外部機器へ送信する送信手段と、
前記外部機器から、前記再構成可能手段の最適化が可能となるような前記第３回路の設計データを受信する受信手段とを備え、
前記更新手段は、受信した前記第３回路の設計データを用いて前記再構成可能手段に構成される回路を更新する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第１回路は、第１の機能を達成し、
前記情報処理装置は、
前記抽出手段により抽出された前記第１回路の設計データと、前記第１の機能とは異なる第２の機能を達成する前記第２回路の設計データとから、第１及び第２の機能を達成する第３回路を構成するための設計データを生成する設計データ変換手段を備え、
前記更新手段は、前記第３回路の設計データを用いて、前記再構成可能手段に構成される回路を更新する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
前記設計データ記憶手段は、前記情報処理装置から取り外し可能な記録媒体として構成される
ことを特徴とする請求項１から請求項６のいずれか１項に記載の情報処理装置。
【請求項１３】
複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、設計データ記憶手段とを備える情報処理装置で用いられる処理方法であって、
前記設計データ記憶手段は、回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶し、
前記処理方法は、
前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出ステップと、
前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第１回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第２回路の設計データを前記設計データ記憶手段から取得して、前記第１回路の設計データ及び前記第２回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第２回路の設計データを前記設計データ記憶手段から削除する更新ステップと
を含むことを特徴とする処理方法。
【請求項１４】
複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、設計データ記憶手段とを備える情報処理装置で用いられるコンピュータプログラムであって、
前記設計データ記憶手段は、回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶し、
前記コンピュータプログラムは、
前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出ステップと、
前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第１回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第２回路の設計データを前記設計データ記憶手段から取得して、前記第１回路の設計データ及び前記第２回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第２回路の設計データを前記設計データ記憶手段から削除する更新ステップと
を含むことを特徴とするコンピュータプログラム。
【請求項１５】
前記コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項１４に記載のコンピュータプログラム。
【請求項１６】
複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、
前記再構成可能手段において現在構成されている回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを、前記再構成可能手段から抽出する抽出手段と、
回路を示す論理ブロックの論理と論理ブロック間の接続とを示す設計データを記憶する設計データ記憶手段と、
前記再構成可能手段に構成される回路の更新の指示を受けると、前記再構成可能手段に現在構成されている第１回路の設計データを前記抽出手段から、前記再構成可能手段に現在構成されていない第２回路の設計データを前記設計データ記憶手段から取得して、前記第１回路の設計データ及び前記第２回路の設計データを用いて再構成可能手段に構成される回路を更新し、前記回路の更新が完了すれば、前記第２回路の設計データを前記設計データ記憶手段から削除する更新手段と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器内に実装された回路を更新する技術に関する。
【背景技術】
【０００２】
ネットワークを介したコンテンツの配信、又は記録媒体に記録したコンテンツの配布等においては、コンテンツの不正利用を防止し、コンテンツの著作権を保護するために、一般的に、コンテンツは暗号化されて配信、又は配布される。
コンテンツを再生する機器では、暗号化コンテンツを復号する復号処理を行うが、機器における暗号化方式の実装は、必要とされる処理速度や、耐タンパー性の観点からハードウェアで実装されている場合が多い。
ここで、ハードウェアで実装されている暗号化方式を、新たな暗号化方式に更新したいとの要望があるが、近年では、ＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ ＧａｔｅＡｒｒａｙ）やＰＬＡ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ａｒｒａｙ）等の再構成が可能なデバイスを用いることにより、回路を再構成し、暗号化方式を更新することも可能となってきた（特許文献１参照）。
また、特許文献２では、機器の内部に、回路を更新するためのアルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースからアルゴリズムファイルを取得し、実装されている回路を更新する技術が開示されている。
【特許文献１】特開平１０−３２０１９１号公報
【特許文献２】特開平１０−５５１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、機器内にデータベースを保持する上記従来技術は、回路の更新を行うためには有用であるが、機器の記憶容量を有効に活用するために。データベースのデータ量を削減したいとの要望がある。
そこで、本願発明は、上記要望に対応するためになされたものであり、従来技術と比較し、データベースのデータ量を削減しつつ、機器に実装されている回路を更新することが可能な回路更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の目的を達成するために、本発明は、情報処理装置であって、複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更により、回路の再構成が可能な再構成可能手段と、前記再構成可能手段において現在構成されている第１回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第１設計データを、前記再構成可能手段から抽出する抽出手段と、第２回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第２設計データを、前記再構成可能手段に出力する出力手段とを備え、前記再構成可能手段は、前記第２設計データに基づき、前記第２回路を再構成することを特徴とする。
【発明の効果】
【０００５】
上記の「再構成可能手段」は、下記の各実施の形態の再構成可能部と対応する。「抽出手段」は、各実施の形態の抽出部がその機能を担う。「出力手段」は、各実施の形態の更新部がその機能を担う。
上記の構成によると、抽出手段により、第１設計データを抽出可能であるから、当該情報処理装置は、再構成可能手段が第１設計データに基づき第１回路を実装している間は、機器内に第１設計データを保持している必要がない。従って、機器内の記憶容量を節約し、記憶容量を有効に活用することができる。
【０００６】
ここで、前記情報処理装置は、前記第２設計データを記憶している設計データ記憶手段と、前記出力手段により前記第２設計データが前記再構成可能手段に出力されると、前記設計データ記憶手段から、前記第２設計データを削除する削除手段と、前記抽出手段により抽出された前記第１設計データを、前記設計データ記憶手段に書き込む書込手段とを備えるように構成してもよい。
【０００７】
上記の「設計データ記憶手段」は、下記の各実施の形態の設計データ記憶部がその機能を担う。「削除手段」及び「書込手段」は、各実施の形態の設計データ記憶部がその機能を有する。
この構成によると、出力手段により第２設計データが再構成可能手段に出力されると、設計データ記憶手段から第２設計データを削除することにより、設計データ記憶手段が記憶している設計データのデータ量を削減することができる。また、書込手段により第１設計データが設計データ記憶手段に書き込まれるが、抽出手段を備えていることにより、再構成可能手段で実装されている回路に対応する設計データは、設計データ記憶手段が保持する必要がないので、全ての設計データを設計データ記憶手段に保持しておく必要があった従来技術と比較して、設計データ記憶手段のデータ量は削減されることとなる。
【０００８】
ここで、前記情報処理装置は、前記抽出手段により抽出された前記第１設計データを暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第１設計データを、前記設計データ記憶手段に書き込むように構成してもよい。
上記の「暗号化手段」は、下記の各実施の形態の暗号化部がその機能を担う。
更に、前記設計データ記憶手段に記憶されている前記第２設計データは、暗号化されており、前記情報処理装置は、前記暗号化された第２設計データを復号する復号手段を備え、前記出力手段は、前記復号手段により復号された前記第２設計データを、前記再構成可能手段に出力するように構成してもよい。
【０００９】
上記の「復号手段」は、下記の実施の形態の復号部がその機能を担う。
この構成によると、設計データ記憶手段に記憶される第１設計データ及び第２設計データは、暗号化されており、設計データ記憶手段が外部からアクセスされ、第１設計データ及び第２設計データが漏洩した場合であっても、不正に利用されるのを防止することができる。また、復号手段を備えたことにより、復号した第１設計データ及び第２設計データを、再構成可能手段における回路の再構成に利用することができる。
【００１０】
ここで、前記情報処理装置は、各設計データに対応する鍵情報を安全に記憶している鍵情報記憶手段を備え、前記暗号化手段は、前記鍵情報記憶手段から、前記第１設計データと対応する第１鍵情報を読み出し、読み出した前記第１鍵情報に基づき、前記第１設計データを暗号化し、前記復号手段は、前記鍵情報記憶手段から、前記第２設計データと対応する第２鍵情報を読み出し、読み出した前記第２鍵情報に基づき、前記第２設計データを復号するように構成してもよい。
【００１１】
上記の「鍵情報記憶手段」は、下記の各実施の形態においては、鍵記憶部がその機能を担う。
この構成によると、暗号化手段及び復号手段で用いられる鍵情報は、設計データ毎に固有であり、同一の鍵情報により暗号化される場合と比較すると、安全性が向上する。更に、各鍵情報は、鍵情報記憶手段において安全に記憶されており、設計データ記憶手段が外部からアクセスされ、第１及び第２設計データが漏洩した場合であっても、鍵情報の取得は困難であり、第１及び第２設計データが不正に利用されるのを防止することができる。
【００１２】
ここで、前記情報処理装置は、更に、各設計データに対応する前記鍵情報を生成する鍵情報生成手段を備え、前記鍵情報生成手段により生成された前記鍵情報を、前記鍵情報記憶手段に書き込むように構成してもよい。
この構成によると、当該情報処理装置の内部で鍵情報が生成されるので、鍵情報が外部の漏洩するのを防止することができる。
【００１３】
ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第１回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段と、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第１設計データと、前記第１回路が達成する第１の機能と異なる第２の機能を達成する回路の設計データである第３設計データとから、前記再構成可能手段の最適化が可能となるような前記第２設計データを生成する最適化手段とを備え、前記出力手段は、前記最適化手段により生成された前記第２設計データを、前記再構成可能手段に出力するように構成してもよい。
【００１４】
また、前記内部状態保持手段は、前記第１の機能を達成する回路の構成に用いられている論理ブロックの位置と、前記第２の機能を達成する回路の構成に用いられている論理ブロックの位置とを示す新たな内部情報を生成し、保持するように構成してもよい。
この構成によると、当該情報処理装置の再構成可能手段は、第１の機能を達成する第１回路を、機能の異なる第２回路に置き換えるのではなく、第１及び第２の機能を達成する新たな第２回路を再構成することが可能となる。更に、内部状態保持手段が状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように回路を再構成することできる。
【００１５】
また、この場合であっても、再構成可能手段において回路構成が実現している設計データ（即ち、第１設計データ及び第２設計データ）については、設計データ記憶手段に記憶している必要は無く、設計データ記憶手段のデータ量を削減することが可能となる。
また、第１の機能及び第２の機能を達成する回路が再構成可能手段で構成されている場合に、内部状態保持手段が、各機能に対応する論理ブロックの位置を示す情報を保持することにより、抽出手段は、第１の機能に対応する設計データ、第２の機能に対応する設計データを個別に抽出することも可能となる。
【００１６】
ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第１回路の構成に用いられている論理ブロックの位置を示す内部状態を保持する内部状態保持手段を備え、前記抽出手段は、前記内部状態保持手段が保持している前記内部状態に基づき、前記再構成可能手段から、選択的に前記第１設計データを抽出するように構成してもよい。
この構成によると、抽出手段は、再構成可能手段から前記第１設計データを抽出する際、内部状態を参照することにより、抽出処理を効率よく行うとが可能となる。
【００１７】
ここで、前記情報処理装置は、ネットワークを介して外部機器と接続されており、更に、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽出された前記第１設計データと、前記第１回路と異なる機能を達成する回路の設計データである第３設計データとを前記外部機器へ送信する送信手段と、前記外部機器から、前記再構成可能手段の最適化が可能となるような前記第２設計データを受信する受信手段とを備えるように構成してもよい。
【００１８】
この構成によると、当該情報処理装置の再構成可能手段は、第１の機能を達成する第１回路を、機能の異なる第２回路に置き換えるのではなく、第１及び第２の機能を達成する新たな第２回路を再構成することが可能となる。更に、内部状態保持手段が状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように回路を再構成することできる。
【００１９】
また、新たな設計データの生成を外部機器に依頼することにより、当該情報処理装置による処理量を削減することができる。
ここで、前記第１設計データに基づき前記再構成可能手段において構成されている前記第１回路は、第１の機能を達成し、前記情報処理装置は、前記抽出手段により抽出された前記第１設計データと、前記第１の機能とは異なる第２の機能を達成する第３回路を構成するための設計データである第３設計データとから、第１及び第２の機能を達成する前記第２回路を構成するための前記第２設計データを生成する設計データ変換手段を備えるように構成してもよい。
【００２０】
この構成によると、当該情報処理装置の再構成可能手段は、第１の機能を達成する第１回路を、機能の異なる第２回路に置き換えるのではなく、第１及び第２の機能を達成する新たな第２回路を再構成することが可能となる。また、この場合であっても、再構成可能手段において回路構成が実現している設計データ（即ち、第１設計データ及び第２設計データ）については、設計データ記憶手段に記憶している必要は無く、設計データ記憶手段のデータ量を削減することが可能となる。
【００２１】
ここで、前記情報処理装置は、更に、外部接続された記録媒体との間で情報の入出力を行う媒体入出力手段を備え、前記出力手段は、前記第２設計データが記録された記録媒体から、前記媒体入出力手段を介して、前記第２データを取得し、前記再構成可能手段に出力し、前記書込手段は、前記媒体入出力手段を介して、前記記録媒体に、前記第１設計データを書き込むように構成してもよい。
【００２２】
この構成によると、出力手段により第２設計データが再構成可能手段に出力されると、記録媒体から第２設計データを削除することにより、記録媒体が記録する設計データのデータ量を削減することができる。また、書込手段により第１設計データが記録媒体に書き込まれるが、当該情報処理装置は抽出手段を備えていることにより、再構成可能手段で実装されている回路に対応する設計データは、記録媒体に記録する必要がない。
【００２３】
ここで、前記情報処理装置は、前記抽出手段により抽出された前記第１設計データを暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第１設計データを、前記記録媒体に書き込むように構成してもよい。
また、前記記録媒体に記憶されている前記第２設計データは、暗号化されており、前記情報処理装置は、前記暗号化された第２設計データを復号する復号手段を備え、前記出力手段は、前記復号手段により復号された前記第２設計データを取得し、前記再構成可能手段に出力するように構成してもよい。
【００２４】
この構成によると、記録媒体に記録される第１設計データ及び第２設計データは、暗号化されており、記録媒体が不正なユーザにアクセスされ、第１設計データ及び第２設計データが漏洩した場合であっても、不正に利用されるのを防止することができる。また、復号手段を備えたことにより、復号した第１設計データ及び第２設計データを、再構成可能手段における回路の再構成に利用することができる。
【発明を実施するための最良の形態】
【００２５】
１．第１の実施形態
本発明の第１の実施形態として、情報処理装置１０について説明する。
情報処理装置１０は、設計データに基づき回路の再構成が可能なデバイスを備え、要求に応じて回路を更新する装置である。
＜構成＞
図１は、情報処理装置１０の構成を機能的に示す機能ブロック図である。
【００２６】
同図に示すように、情報処理装置１０は、再構成可能部１０１、設計データ記憶部１０２、抽出部１０３、鍵記憶部１０４、暗号化部１０５、復号部１０６、および更新部１０７から構成される。
情報処理装置１０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニットなどを備えるコンピュータシステムであって、ＲＡＭ又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、その機能を達成する。
【００２７】
以下では、情報処理装置１０の各構成要素について説明する。
（１）再構成可能部１０１
図２は、再構成可能部１０１の概要を示す図である。
再構成可能部１０１は、論理ブロックＬＢ１（１２１）、論理ブロックＬＢ２（１２２）、論理ブロックＬＢ３（１２３）、論理ブロックＬＢ４（１２４）、論理ブロックＬＢ５（１２５）、論理ブロックＬＢ６（１２６）、論理ブロックＬＢ７（１２７）、論理ブロックＬＢ８（１２８）、論理ブロックＬＢ９（１２９）と１６個のスイッチマトリックス１３１〜１４６と、各論理ブロックと各スイッチマトリックスとを接続する配線群から構成される。
【００２８】
図３は、論理ブロックＬＢ１（１２１）の内部を示す図である。なお、論理ブロックＬＢ２（１２２）〜論理ブロックＬＢ９（１２９）も同様の構成を有する。
論理ブロックＬＢ１（１２１）は、ルックアップテーブル（以下、「ＬＵＴ」と記述する。）１５１、ＬＵＴ１５２、ＬＵＴ１５３、フリップフロップ１５４、及びフリップフロップ１５５から構成される。ＬＵＴ１５１及びＬＵＴ１５３は、４入力１出力の構成を有し、ＬＵＴ１５２は、３入力１出力の構成を有するが、これは一例であり、必ずしもこの構成には限定されない。各論理ブロックは、具体的には、小規模なＳＲＡＭで構成される。
【００２９】
図４（ａ）は、スイッチマトリックス１３１の構成を示す図である。なお、スイッチマトリックス１３２〜１４６も同様の構成を有する。
スイッチマトリックス１３１は、配線群を構成する垂直配線チャネルと水平配線チャネルとが交差する箇所に配置されたトランジスタスイッチ群１６１、１６２、１６３、１６４から構成される。
【００３０】
図４（ｂ）は、トランジスタスイッチ群１６１の構成を示す図である。なお、トランジスタスイッチ群１６２〜１６４も同様の構成を有する。
トランジスタスイッチ群１６１は、６個のトランジスタスイッチ１７１〜１７６で構成され、各トランジスタスイッチは、ＳＲＡＭを用いてＯＮ又はＯＦＦに設定されている。ここで、本明細書においては、各論理ブロックのＬＵＴの設定値、及び各トランジスタスイッチのＯＮ／ＯＦＦを示す情報を含むビット列を設計データと呼称する。
【００３１】
再構成可能部１０１は、更新部１０７により設計データが入力されると、入力された設計データに基づき、各ＬＵＴの設定値と、トランジスタスイッチのＯＮ又はＯＦＦの設定を変更することにより、各種の回路を構成又は再構成する。なお、再構成可能部１０１における回路の構成及び再構成については、公知技術で実現可能であるため、詳細な説明は省略する。
【００３２】
（２）設計データ記憶部１０２
設計データ記憶部１０２は、設計データテーブルを記憶及び管理する機能を有する。
図５は、設計データテーブルの一例である設計データテーブル２００のデータ構成を示す図である。同図に示すように、設計データテーブル２００は、複数の設計データ情報２０１、２０２、…、２０３、２０４、２０５、…を含み、各設計データ情報は、設計データＩＤと暗号化設計データとから構成される。
【００３３】
設計データＩＤは、設計データ及び当該設計データが暗号化されて生成された暗号化設計データを一意に識別するための識別子である。
暗号化設計データは、対応付けられている設計データＩＤにより識別される設計データが、当該設計データに固有の鍵データを暗号鍵として用い、暗号化アルゴリズムＥを施して生成された暗号化データである。なお、暗号化アルゴリズムＥの一例は、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）である。なお、本明細書においては、例えば、設計データＩＤが「Ａ」である設計データを「ＡＲＣ＿Ａ」、設計データＩＤが「Ｂ」である設計データを「ＡＲＣ＿Ｂ」等と記載している。また、設計データＡＲＣ＿Ａ」を暗号化して生成された暗号化設計データを「Ｅｎｃ＿ＡＲＣ＿Ａ」、設計データ「ＡＲＣ＿Ｂ」を暗号化して生成された暗号化設計データを「Ｅｎｃ＿ＡＲＣ＿Ｂ」等と記載している。
【００３４】
設計データ情報２０１は、設計データＩＤ「Ａ」と暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」とから構成される。暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」は、設計データ「ＡＲＣ＿Ａ」が、暗号化されて生成された暗号化データである。設計データ「ＡＲＣ＿Ａ」は、再構成可能部１０１において、回路を再構成するために必要なデータであり、具体的には、先に述べた様に、再構成可能部１０１内の各ＬＵＴの設定値、及び各トランジスタスイッチのＯＮ／ＯＦＦ等を示すビット列である。
【００３５】
設計データ記憶部１０２は、再構成可能部１０１による回路の再構成のために、更新部１０７から指示を受けた復号部１０６により、ある暗号化設計データが読み出されると、読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する。また、設計データ記憶部１０２は、抽出部１０３により抽出された設計データを受け取った暗号化部１０５から、暗号化設計データと設計データＩＤとを受け取ると、受け取った暗号化設計データと設計データＩＤとから成る設計データ情報を生成し、当該設計データ情報を設計データテーブルに格納する。
【００３６】
以下では、図５及び図６を用いて、具体的に説明する。
設計データ記憶部１０２が図５に示した設計データテーブル２００を記憶している状態において、暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」が読み出された場合、設計データテーブル２００から設計データ情報２０１が削除され、図６に示す設計データテーブル２１０のようになる。また、暗号化部１０５から暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｖ」を受け取ると、設計データＩＤ「Ｖ」と暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｖ」とから成る設計データ情報２０６を生成し、設計データテーブル２１０に格納する。
【００３７】
（３）抽出部１０３
抽出部１０３は、図示していない入力デバイス等の入力手段を介して、回路の更新要求を受け付けると、再構成可能部１０１にて構成されている回路から、設計データを抽出する機能を有する。
具体的には、抽出部１０３は、再構成可能部１０１の各論理ブロックからＬＵＴを抽出し、更に、各スイッチマトリックスから、各トランジスタスイッチのＯＮ／ＯＦＦを示す情報を抽出する。抽出部１０３は、再構成可能部１０１から抽出した設計データを、当該設計データの設計データＩＤと共に、暗号化部１０５へ出力する。なお、抽出部１０３は、再構成可能部１０１から抽出した設計データの設計データＩＤを既知であるとする。
【００３８】
設計データの抽出方法の詳細については、図９に示すフローチャートを用いて、後に説明する。
（４）鍵記憶部１０４
鍵記憶部１０４は、図７に示す鍵テーブル３００を記憶している。鍵テーブル３００は、同図に示すように、複数の鍵情報３０１、３０２、…、３０３、…を含み、各鍵情報は、設計データＩＤと鍵データとを対応付けて構成される。
【００３９】
具体例として、鍵情報３０３は、設計データＩＤ「Ｖ」と鍵データ「Ｋ＿Ｖ」とから構成される。これは、設計データＩＤ「Ｖ」により識別される設計データ「ＡＲＣ＿Ｖ」の暗号化、及び、暗号化設計データ「Ｅｃｎ＿ＡＲＣ＿Ｖ」の復号に用いられる鍵データが「Ｋ＿Ｖ」であることを示している。鍵データ「Ｋ＿Ｖ」は、例えば、ＤＥＳの暗号化及び復号の鍵として用いられる６４ビットデータである。
【００４０】
なお、本明細書における鍵記憶部１０４は、耐タンパー化されているものとする。耐タンパー化の実装方法については、特に限定されない。
（５）暗号化部１０５
暗号化部１０５は、平文を暗号文に変換する暗号化の機能を有する。
より具体的には、暗号化部１０５は、抽出部１０３から設計データ及び設計データＩＤを受け取ると、受け取った設計データＩＤに対応する鍵データを、鍵記憶部１０４から読み出す。暗号化部１０５は、読み出した鍵データを暗号鍵として用い、設計データに暗号化アルゴリズムＥを施して暗号化し、暗号化設計データを生成する。暗号化部１０５は、生成した暗号化設計データを、設計データＩＤと共に、設計データ記憶部１０２に出力する。
【００４１】
一例として、暗号化部１０５は、抽出部１０３から設計データ「ＡＲＣ＿Ｖ」と設計データＩＤ「Ｖ」とを受け取る場合を考える。暗号化部１０５は、鍵記憶部１０４に記憶されている鍵テーブル３００から、受け取った設計データＩＤ「Ｖ」を含む鍵情報３０３を特定する。次に、暗号化部１０５は、鍵情報３０３から、鍵データ「Ｋ＿Ｖ」を読み出す。暗号化部１０５は、鍵データ「Ｋ＿Ｖ」を暗号鍵として用い、「ＡＲＣ＿Ｖ」を暗号化し、「Ｅｎｃ＿ＡＲＣ＿Ｖ」を生成する。
【００４２】
（６）復号部１０６
復号部１０６は、暗号文を平文に変換する復号の機能を有する。
より具体的には、復号部１０６は、更新部１０７から設計データＩＤを含む復号要求を受け取ると、受け取った設計データＩＤに対応する鍵データを、鍵記憶部１０４から読み出す。更に復号部１０６は、受け取った設計データＩＤに対応する暗号化設計データを、設計データ記憶部１０２から読み出す。復号部１０６は、読み出した鍵データを復号鍵として用い、暗号化設計データに復号アルゴリズムＤを施して復号し、設計データを生成する。復号部１０６は、生成した設計データを、更新部１０７に出力する。なお、復号アルゴリズムＤは、暗号化アルゴリズムＥにより暗号化された暗号文を、平文に変換するアルゴリズムである。
【００４３】
一例として、復号部１０６は、更新部１０７から設計データＩＤ「Ａ」を受け取る場合を考える。復号部１０６は、鍵記憶部１０４に記憶されている鍵テーブル３００から、受け取った設計データＩＤ「Ａ」を含む鍵情報３０１を特定する。次に、復号部１０６は、鍵情報３０１から、鍵データ「Ｋ＿Ａ」を読み出す。復号部１０６は、鍵データ「Ｋ＿Ａ」を復号鍵として用い、「Ｅｎｃ＿ＡＲＣ＿Ａ」を復号し、「ＡＲＣ＿Ａ」を生成する。
【００４４】
（７）更新部１０７
更新部１０７は、図示していない入力デバイス等の入力手段を介して、回路の更新要求を受け付けると、再構成可能部１０１に対し、新たな回路の設計データを出力する機能を有する。
具体的には、更新部１０７は、設計データＩＤを含む更新要求を受け付けると、受け付けた設計データＩＤにより識別される暗号化設計データの復号を、復号部１０６に指示する。更新部１０７は、復号部１０６により復号された設計データを受け取り、受け取った設計データを、再構成可能部１０１へ出力する。
【００４５】
一例として、更新部１０７は、設計データ「Ａ」により識別される設計データＩＤを受け付けた場合、設計データＩＤ「Ａ」を、復号部１０６へ出力する。更に、更新部１０７は、復号部１０６から、設計データ「ＡＲＣ＿Ａ」を受け取り、受け取った設計データ「ＡＲＣ＿Ａ」を、再構成可能部１０１へ出力する。
＜動作＞
ここでは、図８及び図９に示すフローチャートを用いて、情報処理装置１０の動作について説明する。
（１）情報処理装置１０の動作
先ず、回路更新要求が発生し（ステップＳ１０１）、抽出部１０３及び更新部１０７が回路更新要求を受け付ける。具体的には、抽出部１０３及び更新部１０７は、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部１０７は、入力手段を介して、回路更新要求と共に設計データＩＤも受け取るものとする。
【００４６】
設計データＩＤを含む回路更新要求を受け付けた更新部１０７は、復号部１０６に設計データＩＤを通知し、当該設計データＩＤにより識別される暗号化設計データの復号を指示する。
更新部１０７からの指示を受け付けた復号部１０６は、設計データ記憶部１０２から、前記設計データＩＤにより識別される暗号化設計データを読み出す（ステップＳ１０２）。次に、復号部１０６は、鍵記憶部１０４から、前記設計データＩＤと対応付けられている鍵データを読み出す（ステップＳ１０３）。
【００４７】
設計データ記憶部１０２は、ステップＳ１０２にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する（ステップＳ１０４）。
次に、復号部１０６は、ステップＳ１０２で読み出した暗号化設計データを、ステップＳ１０３で読み出した鍵データを復号鍵として用い、復号アルゴリズムＤを施すことにより、設計データを復号する（ステップＳ１０５）。復号部１０６は、復号した設計データを更新部１０７へ出力する。
【００４８】
更新部１０７は、復号部１０６から設計データを受け取ると、受け取った設計データを再構成可能部１０１へ転送する（ステップＳ１０６）。ここで、再構成可能部１０１は、更新部１０７から転送される設計データを一時的に保持するためのメモリを有するように構成してもよい。
次に、抽出部１０３は、再構成可能部１０１の内部で現在構成されている回路の設計データを抽出する処理を行う（ステップＳ１０７）。なお、設計データ抽出処理の詳細については後述する。
【００４９】
抽出部１０３は、抽出した設計データを暗号化部１０５へ出力する。暗号化部１０５は、抽出部１０３から設計データを受け取り（ステップＳ１０８）、更に、鍵記憶部１０４から、ステップＳ１０８で受け取った設計データを識別する設計データＩＤに対応付けられている鍵データを、読み出す（ステップＳ１０９）。
暗号化部１０５は、ステップＳ１０８で受け取った設計データを、ステップＳ１０９で読み出した鍵データを暗号鍵として用い、暗号化アルゴリズムＥを施すことにより、暗号化設計データを生成する（ステップＳ１１０）。暗号化部１０５は、生成した暗号化設計データと、設計データＩＤとを、設計データ記憶部１０２に出力する。設計データ記憶部１０２は、受け取った暗号化設計データと設計データＩＤとを対応付けた設計データ情報を生成し、生成した設計データ情報を、設計データテーブルに書き込む（ステップＳ１１１）。
【００５０】
次に、再構成可能部１０１は、ステップＳ１０６で受け取った設計データに基づき、各ＳＲＡＭの値を設定することにより、回路を再構成する（ステップＳ１１２）。
なお、上記の各ステップは、必ずしもこの順序で処理されることは必須ではなく、例えば、設計データ抽出処理（ステップＳ１０７）の後に、ステップＳ１０６の転送処理を行ってもよい。
【００５１】
（２）抽出部１０３による設計データ抽出処理の動作
図９は、抽出部１０３による設計データ抽出処理の動作を示すフローチャートである。なお、ここに示す動作は、図８のステップＳ１０７の詳細である。
抽出部１０３は、再構成可能部１０１に含まれる全ての論理ブロックＬＢ１（１２１）〜論理ブロックＬＢ９（１２９）の各論理ブロックについて、ステップＳ１００１からステップＳ１００３までを繰り返す（ステップＳ１００１）。  
【００５２】
ステップＳ１００２において、抽出部１０３は、論理ブロックから、ＬＵＴの値を抽出する（ステップＳ１００２）。抽出部１０３は、全ての論理ブロックについてＬＵＴを抽出すると、繰り返しを終了する（ステップＳ１００３）。
次に、抽出部１０３は、再構成可能部１０１に含まれる全てのスイッチマトリックス１３１〜１４６の各スイッチマトリックスについて、ステップＳ１００４からステップＳ１０１０までを繰り返す（ステップＳ１００４）。
【００５３】
次に、抽出部１０３は、各スイッチマトリックスに含まれる全てのトランジスタスイッチ群について、各トランジスタスイッチ群について、ステップＳ１００５からステップＳ１００９までを繰り返す（ステップＳ１００５）。
次に、抽出部１０３は、各トランジスタスイッ群に含まれる全てのトランジスタスイッチについて、ステップＳ１００６からステップＳ１００８までを繰り返す（ステップＳ１００６）。
【００５４】
ステップＳ１００６において、抽出部１０３は、トランジスタスイッチのＯＮ／ＯＦＦを示すメモリの値を抽出する（ステップＳ１００７）。
抽出部１０３は、全てのトランジスタスイッチについてＯＮ／ＯＦＦを示すメモリの値を抽出するとトランジスタスイッチ毎の繰り返しを終了する（ステップＳ１００８）。次に、全てのトランジスタスイッチ群についてステップＳ１００７の処理を終了すると、トランジスタスイッチ群毎の繰り返しを終了する（ステップＳ１００９）。次に、全てのスイッチマトリックスについてステップＳ１００７の処理を終了すると、スイッチマトリックス毎の繰り返しを終了する（ステップＳ１０１０）。
２．第２の実施形態
ここでは、本発明の第２の実施形態として、情報処理装置１０ａについて説明する。情報処理装置１０ａは、第１の実施形態である情報処理装置１０と同様に、設計データに基づき回路の再構成が可能なデバイスを備えるが、情報処理装置１０ａは、情報処理装置１０が有する機能に加え、再構成が可能なデバイスで構成する回路を、最適化する機能を有する。
＜構成＞
図１０は、情報処理装置１０ａの機能的な構成を示す機能ブロック図である。
【００５５】
同図に示すように、情報処理装置１０ａは、再構成可能部１０１ａ、設計データ記憶部１０２ａ、抽出部１０３ａ、鍵記憶部１０４ａ、暗号化部１０５ａ、復号部１０６ａ、更新部１０７ａ、内部状態記憶部１０８ａ、及び最適化部１０９ａから構成される。情報処理装置１０との相違は、内部状態記憶部１０８ａ及び最適化部１０９ａを備える点である。
【００５６】
情報処理装置１０ａは、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニットなどを備えるコンピュータシステムであって、ＲＡＭ又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、その機能を達成する。
なお、再構成可能部１０１ａ、設計データ記憶部１０２ａ、抽出部１０３ａ、鍵記憶部１０４ａ、暗号化部１０５ａ、復号部１０６ａ、及び更新部１０７ａは、情報処理装置１０の構成要素である再構成可能部１０１、設計データ記憶部１０２、抽出部１０３、鍵記憶部１０４、暗号化部１０５、復号部１０６、及び更新部１０７と同様の構成及び機能を有するため、説明を省略し、以下では、情報処理装置１０ａに独自の構成要素である内部状態記憶部１０８ａと最適化部１０９ａとについて説明する。
（１）内部状態記憶部１０８ａ
内部状態記憶部１０８ａは、再構成可能部１０１ａの内部状態を記憶する機能を有する。
【００５７】
内部状態記憶部１０８ａは、具体的には、再構成可能部１０１ａに含まれる複数の論理ブロックのうち、何れの論理ブロックが回路構成のために使用されているかを示す状態情報を記憶している。
図１１は、状態情報の一例である状態情報４００のデータ構成を示す図である。同図に示すように状態情報４００は、論理ブロックＬＢ１、及びＬＢ２と、設計データＩＤ「Ａ」とが対応付けられて構成される。これは、再構成可能部１０１ａ内の論理ブロックＬＢ１及び論理ブロックＬＢ２は、設計データＩＤが「Ａ」である設計データに基づき回路が構成されていることを示している。
【００５８】
また、再構成可能部１０１ａにおける回路構成が更新されると、内部状態記憶部１０８ａは、新たな状態情報を生成して、それまで記憶していた状態情報に替えて、新たな回路構成に対応する状態情報を内部に記憶する。
なお、内部状態記憶部１０８ａは、最適化部１０９ａにおいて新たな設計データが生成されると、最適化部１０９ａからの受け取る情報に基づき、新たな状態情報を生成するように構成してもよい。
【００５９】
例えば、図１２に示す状態情報４１０は、図１１の状態情報４００と異なり、論理ブロックＬＢ１、及びＬＢ４と、設計データＩＤ「Ａ」とが対応付けられており、論理ブロックＬＢ２、ＬＢ３、ＬＢ５、及びＬＢ６と、設計データＩＤ「Ｂ」とが対応付けられている。これは、再構成可能部１０１ａ内の論理ブロックＬＢ１及びＬＢ４では、設計データＩＤが「Ａ」である設計データに基づき回路が構成されており、論理ブロックＬＢ２、ＬＢ３、ＬＢ５、及びＬＢ６では、設計データＩＤが「Ｂ」である設計データに基づき回路が構成されていることを示している。
（２）最適化部１０９ａ
最適化部１０９ａは、再構成可能部１０１ａで新たに構成される２以上の回路が、最適な配置となるような設計データを生成する機能を有する。
【００６０】
具体的には、最適化部１０９ａは、入力デバイス等の入力手段から、１以上の設計データＩＤを含む回路更新要求を受け付ける。回路更新要求を受け付けると、最適化部１０９ａは、復号部１０６ａに対して、受け付けた１以上の設計データＩＤにより識別される復号データの復号を指示する。最適化部１０９ａは、復号部１０６ａにより復号された１以上の設計データを受け取る。
【００６１】
また、最適化部１０９ａは、抽出部１０３ａにより抽出された設計データを受け取る。最適化部１０９ａは、更に、内部状態記憶部１０８ａが記憶している状態情報を読み出す。
最適化部１０９ａは、抽出部１０３ａ及び復号部１０６ａとから受け取った２以上の設計データ、並びに、読み出した状態情報から、再構成可能部１０１ａにおける論理ブロックの利用効率が最も高くなるように、２以上の回路が配置されるような設計データを生成する。
【００６２】
一例として、最適化部１０９ａは、抽出部１０３ａから、設計データＩＤ「Ａ」により識別される設計データを受け取り、復号部１０６ａから、設計データＩＤ「Ｂ」により識別される設計データを受け取り、内部状態記憶部１０８ａから、状態情報４００（図１１参照）を読み出した場合について考える。
ここで、最適化部１０９ａは、予め、再構成可能部１０１ａの各論理ブロックの配列を既知であるとする。各論理ブロックの配列とは、具体的には図２に示した各論理ブロックの並び順、即ち、再構成可能部１０１ａにおける各論理ブロックの位置である。更には、最適化部１０９ａは、各設計データの回路の構成に使用されるべき論理ブロック数についても既知であるとする。これは、設計データに記述されていてもよい。
【００６３】
最適化部１０９ａは、状態情報４００から、未使用の論理ブロックは、ＬＢ３〜ＬＢ９であることが分かる。ここで、設計データＩＤ「Ｂ」により識別される設計データの構成には４個の論理ブロックが必要であるとすると、最適化部１０９ａは、未使用のＬＢ３〜ＬＢ９を有効に利用するために、例えば、それまで論理ブロックＬＢ１及びＬＢ２を用いて回路構成していた設計データＩＤ「Ａ」により識別される設計データを、論理ブロックＬＢ１及びＬＢ４を用いて実現し、設計データＩＤ「Ｂ」により識別される設計データを、論理ブロックＬＢ２，ＬＢ３、ＬＢ５、及びＬＢ６を用いて実現する。
【００６４】
このとき、未使用の論理ブロックは、ＬＢ７，ＬＢ８、及びＬＢ９であり、再構成可能部１０１ａでは、この連続した３個の論理ブロックを用いて、更に新たな回路を構成することも可能である。
＜動作＞
ここでは、図１３に示すフローチャートを用いて、情報処理装置１０ａの動作について説明する。
【００６５】
先ず、回路更新要求が発生し（ステップＳ２０１）、抽出部１０３ａ及び最適化部１０９ａが回路更新要求を受け付ける。具体的には、抽出部１０３ａ及び最適化部１０９ａは、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、最適化部１０９ａは、回路更新要求と共に、設計データＩＤの入力も受け付ける。
回路更新要求を受け付けた最適化部１０９ａは、内部状態記憶部１０８ａから状態情報を読み出す（ステップＳ２０２）。最適化部１０９ａは、復号部１０６ａへ、前記設計データＩＤを出力し、当該設計データＩＤにより識別される設計データの復号を、復号部１０６ａへ指示する。
【００６６】
復号部１０６ａは、設計データ記憶部１０２ａから、前記設計データＩＤにより識別される暗号化設計データを読み出す（ステップＳ２０３）。次に、復号部１０６ａは、鍵記憶部１０４ａから、前記設計データＩＤと対応付けられている鍵データを読み出す（ステップＳ２０４）。
設計データ記憶部１０２ａは、ステップＳ２０３にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する（ステップＳ２０５）。
【００６７】
次に、復号部１０６ａは、ステップＳ２０３で読み出した暗号化設計データを、ステップＳ２０４で読み出した鍵データを復号鍵として用い、復号アルゴリズムＤを施すことにより、設計データを復号する（ステップＳ２０６）。復号部１０６ａは、復号した設計データを最適化部１０９ａへ出力し、最適化部１０９ａは設計データを受け取る（ステップＳ２０７）。  
【００６８】
続いて、抽出部１０３ａは、再構成可能部１０１ａの内部で現在構成されている回路の設計データを抽出する処理を行う（ステップＳ２０８）。なお、設計データ抽出処理の詳細は、第１の実施形態と同様である。抽出部１０３ａは、抽出した設計データを、最適化部１０９ａへ出力し、最適化部１０９ａは、設計データを受け取る（ステップＳ２０９）。
【００６９】
次に、最適化部１０９ａは、ステップＳ２０２で読み出した状態情報、ステップＳ２０７で受け取った設計データ、ステップＳ２０９で受け取った設計データ、既知である論理ブロックの配置から、再構成可能部１０１ａにおいて、論理ブロックが有効に利用されるための新たな設計データを生成する（ステップＳ２１０）。
更新部１０７ａは、最適化部１０９ａから、新たな設計データを受け取り、受け取った設計データを、再構成可能部１０１へ転送する（ステップＳ２１１）。  
【００７０】
再構成可能部１０１ａは、新たに受け取った設計データに基づき、各ＳＲＡＭの値を設定することにより、回路を再構成する（ステップＳ２１２）。次に、内部状態記憶部１０８ａは、回路が再構成された再構成可能部１０１ａの状態を示す状態情報を生成し（ステップＳ２１３）、状態情報を更新する。
３．第３の実施形態
本発明の第３の実施形態として、回路更新システム１について説明する。
＜構成＞
図１４は、回路更新システム１の構成を示す図である。同図に示すように、回路更新システム１は、情報処理装置１０ｂと設計データ変換装置２０とから構成され、情報処理装置１０ｂと設計データ変換装置２０とは、ネットワーク３０を介して接続されている。
【００７１】
情報処理装置１０ｂは、図１４に示すように、再構成可能部１０１ｂ、設計データ記憶部１０２ｂ、抽出部１０３ｂ、鍵記憶部１０４ｂ、暗号化部１０５ｂ、復号部１０６ｂ、更新部１０７ｂ、内部状態記憶部１０８ａ、及び送受信部１１０ｂから構成される。また、設計データ変換装置２０は、送受信部５０１と最適化部５０２とから構成される。
即ち、第３の実施形態である回路更新システム１は、第２の実施形態である情報処理装置１０ａの最適化部１０９ａが、ネットワーク３０を介した外部装置である設計データ変換装置２０に存在する構成を有する。
【００７２】
送受信部１１０ｂ及び送受信部５０１は、共にネットワーク接続ユニットであって、ネットワーク３０を介して、相互に情報の送受信を行う機能を有する。
設計データ変換装置２０の最適化部５０２は、第２の実施形態の最適化部１０９ａと同様の機能を有する。
なお、情報処理装置１０ｂ、及び設計データ変換装置２０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニットなどを備えるコンピュータシステムであって、ＲＡＭ又はハードディスクユニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することにより、各装置はその機能を達成する。
＜動作＞
ここでは、図１５に示すフローチャートを用いて、回路更新システム１の動作について説明する。
【００７３】
先ず、回路更新要求が発生し（ステップＳ３０１）、抽出部１０３ｂ及び更新部１０７ｂは、回路更新要求を受け付ける。具体的には、抽出部１０３ａ及び最適化部１０９ａは、入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部１０７ｂは、回路更新要求と共に、設計データＩＤの入力も受け付ける。設計データＩＤを含む回路更新要求を受け付けた更新部１０７ｂは、復号部１０６ｂに設計データＩＤを通知し、当該設計データＩＤにより識別される暗号化設計データの復号を指示する。
【００７４】
更新部１０７ｂからの指示を受け付けた復号部１０６ｂは、設計データ記憶部１０２ｂから、前記設計データＩＤにより識別される暗号化設計データを読み出す（ステップＳ３０２）。次に、復号部１０６ｂは、鍵記憶部１０４ｂから、前記設計データＩＤと対応付けられている鍵データを読み出す（ステップＳ３０３）。
設計データ記憶部１０２ｂは、ステップＳ３０２にて読み出された暗号化設計データを含む設計データ情報を、設計データテーブルから削除する（ステップＳ３０４）。
【００７５】
次に、復号部１０６ｂは、ステップＳ３０２で読み出した暗号化設計データを、ステップＳ３０３で読み出した鍵データを復号鍵として用い、復号アルゴリズムＤを施すことにより、設計データを復号する（ステップＳ３０５）。復号部１０６ｂは、復号した設計データを更新部１０７ｂへ出力する。設計データを受け取った更新部１０７ｂは、設計データを送受信部１１０ｂへ出力する。
【００７６】
次に、抽出部１０３ｂは、再構成可能部１０１ｂの内部で現在構成されている回路の設計データを抽出する処理を行う（ステップＳ３０６）。抽出部１０３ｂは、抽出した設計データを送受信部１１０ｂへ出力する。
抽出部１０３ｂ及び更新部１０７ｂから設計データを受け取った送受信部１１０ｂは、内部状態記憶部１０８ｂから、状態情報を読み出す（ステップＳ３０７）。
【００７７】
送受信部１１０ｂは、抽出部１０３ｂから受け取った設計データ、更新部１０７ｂから受け取った設計データ、及び状態情報を、ネットワーク３０を介して設計データ変換装置２０へ送信し、設計データ変換装置２０の送受信部５０１は、設計データと状態情報とを受信する（ステップＳ３０８）。
設計データ変換装置２０の最適化部５０２は、ステップＳ３０８で受信した２以上の設計データ、状態情報、既知である論理ブロックの配置から、情報処理装置１０ｂの再構成可能部１０１ｂにおいて、各論理ブロックが有効に利用されるための新たな設計データを生成する（ステップＳ３０９）。
【００７８】
最適化部５０２は、生成した新たな設計データを、送受信部５０１及びネットワーク３０を介して情報処理装置１０ｂへ送信し、情報処理装置１０ｂの送受信部１１０ｂは、設計データを受信する（ステップＳ３１０）。
送受信部１１０ｂは、受信した新たな設計データを更新部１０７ｂへ出力し、更新部１０７ｂは、新たな設計データを受け取り、受け取った設計データを、再構成可能部１０１ｂへ転送する。
【００７９】
再構成可能部１０１ｂは、受け取った設計データに基づき、各ＳＲＡＭの値を設定するなどして、回路を再構成する（ステップＳ３１１）。
続いて、内部状態記憶部１０８ｂは、回路が再構成された再構成可能部１０１ｂの状態を示す状態情報を生成し（ステップＳ３１２）、状態情報を更新する。
４．その他の変形例
本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論であり、以下のような場合であっても、本発明に含まれる。
（１）上記実施の形態における再構成可能部は、ＦＰＧＡやＰＬＤ等の特定の構成を有するデバイスに限定されるものではない。そこで、上記の実施形態の論理ブロックは、ＬＵＴで実現する構成を有するが、本発明における論理ブロックは、ＬＵＴで実現する場合に限定されず、ＡＬＵ、論理演算ユニット、シフト制御ユニット、データ制御ユニット、フリップフロップ等、又はこれらの組み合わせにより構成される場合も含まれる。
（２）上記の実施形態における設計データ記憶部の機能を、外部の記録媒体に代用させる構成も本発明に含まれる。
【００８０】
この場合、情報処理装置は、外部の記録媒体との間で情報の入出力を行う媒体入出力部を備える。情報処理装置は、記録媒体が媒体入出力部に装着された状態において、媒体入出力部を介して、暗号化部により暗号化された設計データを記録媒体に書き込む。また情報処理装置は、媒体入出力部を介して、前記記録媒体に格納されている暗号化設計データを読み出し、読み出した暗号化設計データを復号部へ出力する。
【００８１】
この構成により、情報処理装置自体のメモリ要領を節約し、メモリ容量の有効活用が可能となる。
（３）上記実施の形態における内部状態保持部は、回路構成に使用されている論理ブロックと設計データＩＤとを対応付けた状態情報を保持する構成を有するが、本発明における状態情報は、これに限定されないのは勿論であり、例えば、回路構成に使用されていない論理ブロックの位置情報等、最適化部により、最適化を行うために用いることできる情報であればよい。
（４）上記実施の形態の情報処理装置は、設計データ毎に固有の鍵データを鍵記憶部に保持している構成を有するが、本発明における設計データの暗号化／復号に用いられる鍵情報は、予め鍵記憶部が保持している構成には限定されない。
【００８２】
例えば、設計データの暗号化／復号処理を実行するごとに、乱数生成器を利用して乱数列を発生させ、前記乱数列を鍵情報として用い、暗号化／復号処理を実行してもよい。更に、ここで生成された前記乱数列を、設計データＩＤと対応付けて鍵記憶部に記憶する構成であってもよい。
この様に、設計データＩＤと暗号化に用いた鍵情報とを対応付けて管理することにより、復号時に使用する鍵情報の選択を容易にすることができる。
【００８３】
また、復号時と暗号化時で、同一の鍵を利用した場合、鍵の管理が容易になるという効果がある。
また、鍵を生成する機能を備えることにより、暗号化の度に異なる鍵を使用することができ、より高いレベルの設計データの保護を実現することができる。
なお、復号部により復号した設計データを再構成可能部で回路として実装し、更に、当該回路から抽出部により設計データを抽出し、暗号化部にて再び暗号化する場合。復号時に使用した鍵情報（乱数列）と同じ鍵情報で暗号化してもよいし、別途異なる鍵情報を生成して暗号化してもよい。
（５）本発明の情報処理装置は、内部状態保持部が保持している状態情報を参照することにより、再構成可能部から、全ての設計データを抽出するのではなく、選択的に設計データを抽出するように構成してもよい。
【００８４】
例えば、内部状態保持部が図１２に示した状態情報４１０を記憶している場合、抽出部は、状態情報４１０を参照し、論理ブロックＬＢ１及びＬＢ４から、設計データＩＤが「Ａ」である設計データのみを抽出する。又は、抽出部は、論理ブロックＬＢ２，ＬＢ３、ＬＢ５、及びＬＢ６から設計データＩＤが「Ｂ」である設計データのみを抽出するように構成してもよい。
（６）本発明における情報処理装置は、再構成可能部で実現されている回路を削除する回路削除部を備えてもよい。具体的には、抽出部が再構成可能部で実現されている回路の設計データを読み出した後に、回路削除手段は、再構成可能部で実現されている前記回路を削除するように構成してもよい。
【００８５】
このような回路削除部を備え、回路削除部が不要な回路を削除することにより、再構成可能部を効率よく利用することができる。
（７）本発明における情報処理装置は、抽出部が、再構成可能部で実現されている回路を設計データとして読み出す場合に、抽出部が、例えば、抽出（回路再構成）を要求した機器、あるいは利用者を認証して、前記認証処理の結果に基づき、設計データを抽出するか否かを判断し、実行する構成であってもよい。
【００８６】
ここでの前記認証処理の一例は、公開鍵暗号方式を利用したチャレンジ−レスポンス認証である。
また、抽出した設計データを情報処理装置から外部へ送信する要求を受け付けた場合も、送信を要求した機器、あるいは利用者を認証して、前記認証処理の結果に基づき、設計データを外部へ送信するか否かを判断し、実行する構成であってもよい。
【００８７】
更に、外部の記録媒体への暗号化設計データの書き込み処理も同様に、認証処理の結果に基づき、暗号化設計データを書き込むか否かを判断し、実行する構成であってもよい。
（８）上記の実施形態では、情報処理装置１０ｂは、設計データを外部の設計データ変換装置２０に送信する場合、抽出部が抽出した設計データを、そのままネットワーク３０を介して送信する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データの一部、あるいは全てを暗号化して、暗号化された設計データを設計データ変換装置２０へ送信する構成も本発明に含まれる。
【００８８】
この場合、設計データ変換装置２０は、一部、あるいは全てが暗号化された状態の設計データ、及び内部状態に基づき最適化部５０２で変換処理を実行する構成であってもよい。
具体的な例としては、設計データを秘密にしたまま、再構成可能部内での回路の位置だけを調節する場合などが想定される。
（９）本発明における情報処理装置に備えられた設計データ記憶部は、外部からもアクセス可能な一般的なＲＡＭなどのメモリであってもよい。一般的なＲＡＭ等で実現することにより、設計データ記憶部を、比較的安価で大容量化することができる。
【００８９】
また、設計データ記憶部は、アクセスが制限される集積回路の内部に存在するメモリであってもよい。  
（１０）上記実施の形態における最適化部は、２以上の回路を再構成可能部において構成する場合に、その配置を最適化する構成を有するが、本発明は、最適化部に替えて、２以上の回路を示す設計データから、新たな１つの設計デーに変換する変換手段を備える構成であってもよい。
【００９０】
例えば、第１の機能を達成する第１回路が再構成可能部において実現している場合に、抽出部は、第１回路から第１設計データを抽出する。一方で、復号部は、第２の機能を達成する第２回路を構成するための設計データである第２設計データを、復号する。そして、変換手段は、第１の機能と第２の機能とを併せ持つ第３回路を構成するための第３設計データを生成するように構成してもよい。
【００９１】
更には、変換手段は、単純に第１及び第２の機能を併せ持つ第３回路を構成するための第３設計データを生成するのではなく、第１の機能に第２の機能を組み込み、高度な処理を行うような新たな機能を達成する第３回路を構成するための第３設計データを生成するように構成してもよい。
（１１）上記実施の形態における再構成可能部では、例えば、暗号化コンテンツを復号するための復号回路が実装される構成であってもよい。
【００９２】
再構成可能部で実装される復号回路はアルゴリズム毎に異なるので、復号回路を更新することにより、さまざまなアルゴリズムに対応する復号処理を実現することができる。
しかしながら、本発明は、再構成可能部において実装される回路が達成する機能については、何ら限定されるものではなく、再構成可能部では、如何なる回路が構成されてもよい。
（１２）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【００９３】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【００９４】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【００９５】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（１３）また本発明は、上記実施形態における情報処理装置１０、１０ａ、１０ｂ、及び設計データ変換装置２０の機能ブロックの一部又は全てが集積回路であるＬＳＩとして実現される場合も本発明に含まれる。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００９６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路で実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（FieldProgrammable Gate Array）やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
（１４）前記実施形態及び前記変形例をそれぞれ組み合わせた構成も、本発明に含まれる。
【産業上の利用可能性】
【００９７】
本発明は、例えば、暗号化のアルゴリズムを更新することが可能な機器を製造する産業、及び販売する産業において、経営的及び継続的に利用することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の第１の実施形態である情報処理装置１０の機能的な構成を示す機能ブロック図である。
【図２】再構成可能部１０１の概要を示す図である。
【図３】論理ブロックＬＢ１（１２１）の概要を示す図である。
【図４】（ａ）スイッチマトリックス１３１の概要を示す図である。（ｂ）トランジスタスイッチ群の内部構成を示す図である。
【図５】設計データテーブル２００のデータ構成を示す図である。
【図６】設計データテーブル２１０のデータ構成を示す図である。
【図７】鍵テーブル３００のデータ構成を示す図である。
【図８】情報処理装置１０の全体の動作を示すフローチャートである。
【図９】抽出部１０３による設計データ抽出処理の動作を示すフローチャートである。
【図１０】本発明の第２の実施形態である情報処理装置１０ａの機能的な構成を示す機能ブロック図である。
【図１１】内部状態記憶部１０８ａに記憶されている状態情報４００のデータ構成を示す図である。
【図１２】内部状態記憶部１０８ａに記憶されている状態情報４１０のデータ構成を示す図である。
【図１３】情報処理装置１０ａの全体の動作を示すフローチャートである。
【図１４】本発明の第３の実施形態である、回路更新システム１の構成を示す図である。
【図１５】回路更新システム１の全体の動作を示すフローチャートである。
【符号の説明】
【００９９】
１    回路更新システム
１０    情報処理装置
１０ａ  情報処理装置
１０ｂ  情報処理装置
２０    設計データ変換装置
３０    ネットワーク
１０１    再構成可能部
１０１ａ  再構成可能部
１０１ｂ  再構成可能部
１０２    設計データ記憶部
１０２ａ  設計データ記憶部
１０２ｂ  設計データ記憶部
１０３    抽出部
１０３ａ  抽出部
１０３ｂ  抽出部
１０４    鍵記憶部
１０４ａ  鍵記憶部
１０４ｂ  鍵記憶部
１０５    暗号化部
１０５ａ  暗号化部
１０５ｂ  暗号化部
１０６    復号部
１０６ａ  復号部
１０６ｂ  復号部
１０７    更新部
１０７ａ  更新部
１０７ｂ  更新部
１０８ａ  内部状態記憶部
１０８ｂ  内部状態記憶部
１０９ａ  最適化部
１１０ａ  送受信部
１１０ｂ  送受信部  
１３１〜１４６  スイッチマトリックス
１５１〜１５３  ＬＵＴ
１５４、１５５  フリップフロップ
１６１〜１６４  トランジスタスイッチ群
１７１〜１７６  トランジスタスイッチ
５０１    送受信部
５０２    最適化部
【図１】
0004801054.tif 000002
【図２】
0004801054.tif 000003
【図３】
0004801054.tif 000004
【図４】
0004801054.tif 000005
【図５】
0004801054.tif 000006
【図６】
0004801054.tif 000007
【図７】
0004801054.tif 000008
【図８】
0004801054.tif 000009
【図９】
0004801054.tif 000010
【図１０】
0004801054.tif 000011
【図１１】
0004801054.tif 000012
【図１２】
0004801054.tif 000013
【図１３】
0004801054.tif 000014
【図１４】
0004801054.tif 000015
【図１５】
0004801054.tif 000016