JP5246863B2 - 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 - Google Patents
再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 Download PDFInfo
- Publication number
- JP5246863B2 JP5246863B2 JP2008291864A JP2008291864A JP5246863B2 JP 5246863 B2 JP5246863 B2 JP 5246863B2 JP 2008291864 A JP2008291864 A JP 2008291864A JP 2008291864 A JP2008291864 A JP 2008291864A JP 5246863 B2 JP5246863 B2 JP 5246863B2
- Authority
- JP
- Japan
- Prior art keywords
- logic
- circuit
- program data
- area
- user
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
図2は、図1に示す再構成可能論理デバイスにコンフィグ制御回路800を構築した状態で示すブロック図である。再構成可能デバイス100上にユーザロジックを安全に構築するためには、図2のように、まず外部記憶装置(PROM600やネットワーク710上のサーバ装置700)から非暗号化論理プログラムデータを得て、制御ロジック領域310に回路構築を制御するコンフィグ制御回路800を構築する(S1)。
図3は、図2に示す再構成可能論理デバイスに鍵生成回路810を構築した状態で示すブロック図である。ユーザ回路の機密を保護する場合は,暗号化論理プログラムの復号に使用する鍵を生成する必要がある。S2においてユーザ回路の機密保護を行うと判断された場合、S3において既存の鍵を利用するかどうかの判断を行う。すでに生成されている鍵を利用する場合は復号回路の構築ステップ(S6)へ進む。鍵を生成する場合、再構成可能論理デバイス100は、図3に示すように、PROM600またはネットワーク上のサーバ装置700から非暗号化論理プログラムデータを得て、制御ロジック領域310に鍵生成回路810を構築する(S4)。
鍵生成回路810は内部記憶500に格納されたデバイス固有IDを使って演算を行うことで秘密鍵Kを生成し、秘密鍵Kは鍵レジスタ510に格納される(S5)。
図4は、図3に示す再構成可能論理デバイスに復号回路820を構築した状態で示すブロック図である。S6において新たに復号回路を構築する必要があるかが判断される。既に構築された復号回路を利用する場合は、検証ステップ(S10)に進む。復号回路を構築する場合、再構成可能論理デバイス100は、図4に示すように、PROM600またはサーバ装置700から非暗号化論理プログラムデータを得て制御ロジック領域310に復号回路820を構築する(S7)。前述の鍵生成回路810は、すでに鍵生成が終わっているため復号回路820によって上書きされてもよい。
図5は、ユーザロジックの暗号化論理プログラムデータの復号を説明する図である。再構成可能論理デバイス100は、図5に示すように、PROM600またはサーバ装置700からユーザ回路の暗号化論理プログラムデータを入手する。暗号化論理プログラムデータは、鍵レジスタ510内の秘密鍵Kを使って復号回路820によって復号される。復号された論理プログラムデータは、内部バッファ840に格納される(S8)。
図6は、図5に示す再構成可能論理デバイスに検証回路830を構築した状態で示すブロック図である。S9において論理プログラムの完全性検証を行うかが判断される。完全性検証を行わない場合は、ユーザ回路の構築ステップ(S14)に進む。完全性検証を行う場合、S10において新たに検証回路を構築するかが判断される。既に構築された検証回路を使用する場合は次の検証ステップ(S12)へ進む。検証回路を構築する場合、再構成可能論理デバイス100は、図6に示すように、PROM600またはサーバ装置700から暗号化または非暗号化論理プログラムデータを得て、制御ロジック領域310に論理プログラムデータの完全性検証を行う検証回路830を構築する(S11)。
図7は、図6に示す再構成可能論理デバイスにユーザ回路900を構築した状態で示すブロック図である。検証回路830は、図7に示すように、内部バッファ840から復号された論理プログラムデータを読み出し、その真正性が確認された場合にコンフィグ制御回路800に論理プログラムデータを送信する(S12〜S13)。
論理プログラムデータは、インタフェース250、セレクタ230を通じてメモリ制御回路410へ送られ、メモリ制御回路410によってコンフィグメモリ400に書き込まれる。論理プログラムデータをコンフィグメモリ400に書き込むことで、ユーザ回路900がユーザロジック領域320内に構築される(S14)。
検証に失敗した場合は、内部バッファ840内のデータは破棄される(S15)。これによって、誤りや悪意のある論理プログラムが再構成可能デバイス100上に構築されることを防ぐことができる。
図8は、図7に示す再構成可能論理デバイスに複数のユーザ回路を構築した状態で示すブロック図である。上述のS2からS14を繰り返すことで、図8のように複数のユーザ回路を構築することができる。なお、ユーザ回路の大きさによっては、1つの回路に対してS2からS14を繰り返すこともある(S16)。
200 固定領域
210 コンフィグレーションデータを読み込むためのインタフェース
220 復号回路
230 セレクタ
250 書換え領域から固定領域にデータを送るためのインタフェース
300 書換え領域
310 制御ロジック領域
320 ユーザロジック領域
400 コンフィグレーションメモリ(コンフィグメモリ)
410 メモリ制御回路
500 デバイスIDを格納する内部記憶
510 鍵レジスタ
600 プログラマブルROM(PROM)
700 サーバ装置
710 ネットワーク
800 コンフィグ制御回路
810 鍵生成回路
820 復号回路
830 検証回路
900 ユーザ回路
910 ユーザ回路
Claims (4)
- 回路構成情報が記述された論理プログラムデータを外部記憶装置からダウンロードすることで内部に回路を構築することのできる再構成可能論理デバイスの論理プログラムデータ保護システムにおいて、
前記再構成可能論理デバイスは、固定された回路が実装されている固定領域と、コンフィグメモリの内容を書換えることで論理や配線を変更することができるロジック領域と、デバイスに固有のIDを保持する内部記憶と、秘密鍵を格納する鍵レジスタとを備え、
前記ロジック領域は、再構成の制御、ビットストリームの復号及び検証を行う制御ロジック領域と、ユーザ回路を構築するためのユーザロジック領域を有し、
前記外部記憶装置から非暗号化論理プログラムデータを得て、前記ロジック領域上の回路構築を制御するコンフィグ制御回路を前記制御ロジック領域に形成し、
前記制御ロジック領域には、鍵生成回路と、復号回路と、検証回路とを切り替えながら実装し、
前記鍵生成回路は、前記内部記憶に格納された前記デバイス固有IDを使って演算を行うことで秘密鍵を生成して、この秘密鍵を前記鍵レジスタに格納し、
前記復号回路は、前記外部記憶装置からユーザ回路の暗号化した論理プログラムデータを入手して、この暗号化論理プログラムデータを、前記鍵レジスタ内の秘密鍵を使って復号し、
前記検証回路は、前記外部記憶装置から暗号化又は非暗号化論理プログラムデータを得て、前記制御ロジック領域に構築され、論理プログラムデータの完全性検証を行なうものであり、復号された論理プログラムデータの完全性が確認された場合に、前記コンフィグ制御回路に論理プログラムデータを送信して、この論理プログラムデータをコンフィグメモリに書き込むことで、ユーザ回路が前記ユーザロジック領域内に構築される
再構成可能論理デバイスの論理プログラムデータ保護システム。 - 前記鍵生成回路は、前記再構成可能論理デバイスが、前記外部記憶装置から非暗号化論理プログラムデータを得て、前記制御ロジック領域に構築される請求項1に記載の論理プログラムデータ保護システム。
- 前記復号回路は、前記外部記憶装置から非暗号化論理プログラムデータを得て前記制御ロジック領域に構築される請求項1に記載の論理プログラムデータ保護システム。
- 回路構成情報が記述された論理プログラムデータを外部記憶装置からダウンロードすることで内部に回路を構築することのできる再構成可能論理デバイスの論理プログラムデータ保護方法において、
前記再構成可能論理デバイスは、固定された回路が実装されている固定領域と、コンフィグメモリの内容を書換えることで論理や配線を変更することができるロジック領域と、デバイスに固有のIDを保持する内部記憶と、秘密鍵を格納する鍵レジスタとを備え、
前記ロジック領域は、再構成の制御、ビットストリームの復号及び検証を行う制御ロジック領域と、ユーザ回路を構築するためのユーザロジック領域を有し、前記外部記憶装置から非暗号化論理プログラムデータを得て、前記ロジック領域上の回路構築を制御するコンフィグ制御回路を前記制御ロジック領域に形成し、
前記制御ロジック領域には、鍵生成回路と、復号回路と、検証回路とを切り替えながら実装し、
前記鍵生成回路は、前記内部記憶に格納された前記デバイス固有IDを使って演算を行うことで秘密鍵を生成して、この秘密鍵を前記鍵レジスタに格納し、
前記復号回路は、前記外部記憶装置から暗号化した論理プログラムデータを入手して、この暗号化論理プログラムデータを、前記鍵レジスタ内の秘密鍵を使って復号し、
前記検証回路は、前記外部記憶装置から暗号化又は非暗号化論理プログラムデータを得て、前記制御ロジック領域に構築され、論理プログラムデータの完全性検証を行なうものであり、復号された論理プログラムデータの完全性が確認された場合に、前記コンフィグ制御回路に論理プログラムデータを送信して、この論理プログラムデータをコンフィグメモリに書き込むことで、ユーザ回路が前記ユーザロジック領域内に構築される再構成可能論理デバイスの論理プログラムデータ保護方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008291864A JP5246863B2 (ja) | 2008-11-14 | 2008-11-14 | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008291864A JP5246863B2 (ja) | 2008-11-14 | 2008-11-14 | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010117968A JP2010117968A (ja) | 2010-05-27 |
JP5246863B2 true JP5246863B2 (ja) | 2013-07-24 |
Family
ID=42305593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008291864A Active JP5246863B2 (ja) | 2008-11-14 | 2008-11-14 | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5246863B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977628B2 (en) | 2020-10-01 | 2024-05-07 | Fujifilm Business Innovation Corp. | Semiconductor device |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035890B (zh) * | 2014-06-11 | 2017-02-15 | 丽水博远科技有限公司 | 基于静态随机存储器的可编程门阵列芯片加密方法及系统 |
US11099894B2 (en) | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US10338135B2 (en) | 2016-09-28 | 2019-07-02 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
US10162921B2 (en) | 2016-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Logic repository service |
US10282330B2 (en) | 2016-09-29 | 2019-05-07 | Amazon Technologies, Inc. | Configurable logic platform with multiple reconfigurable regions |
US10250572B2 (en) | 2016-09-29 | 2019-04-02 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US10642492B2 (en) | 2016-09-30 | 2020-05-05 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
US11250194B2 (en) | 2017-12-12 | 2022-02-15 | Nec Corporation | FPGA system, partial reconfiguration execution method, and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003122442A (ja) * | 2001-10-16 | 2003-04-25 | Sony Corp | ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置 |
US20090055638A1 (en) * | 2005-04-21 | 2009-02-26 | Toshihisa Nakano | Algorithm update system |
JP4801055B2 (ja) * | 2005-04-25 | 2011-10-26 | パナソニック株式会社 | 情報セキュリティ装置 |
JP2008123147A (ja) * | 2006-11-10 | 2008-05-29 | Meidensha Corp | 電子制御装置のリモート書き換え方式 |
-
2008
- 2008-11-14 JP JP2008291864A patent/JP5246863B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977628B2 (en) | 2020-10-01 | 2024-05-07 | Fujifilm Business Innovation Corp. | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
JP2010117968A (ja) | 2010-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246863B2 (ja) | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 | |
US7203842B2 (en) | Method and apparatus for secure configuration of a field programmable gate array | |
US9208357B1 (en) | FPGA configuration bitstream protection using multiple keys | |
US8166289B2 (en) | Trusted boot | |
US7606362B1 (en) | FPGA configuration bitstream encryption using modified key | |
US8022724B1 (en) | Method and integrated circuit for secure reconfiguration of programmable logic | |
JP4865694B2 (ja) | プロセッサ装置 | |
US9866370B2 (en) | Configurable ASIC-embedded cryptographic processing engine | |
EP2702526B1 (en) | Method and apparatus for securing programming data of a programmable device | |
US20070168676A1 (en) | Methods for coordinating access to memory from at least two cryptography secure processing units | |
US9870488B1 (en) | Method and apparatus for securing programming data of a programmable device | |
KR101303278B1 (ko) | 비트스트림 보호를 위한 fpga 장치 및 그 방법 | |
US20160248588A1 (en) | Security ram block with multiple partitions | |
US7752407B1 (en) | Security RAM block | |
US7734043B1 (en) | Encryption key obfuscation and storage | |
WO2001013200A1 (en) | Execution of instructions using longer than standard op code lengths to encrypt data | |
KR20090093661A (ko) | 메모리 컨트롤러 및 그에 따른 메모리 장치 | |
Kashyap et al. | Compact and on-the-fly secure dynamic reconfiguration for volatile FPGAs | |
EP3096259B1 (en) | Security ram block with multiple partitions | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
JP2002050956A (ja) | フィールド・プログラマブル・ゲート・アレイ | |
WO2001046810A1 (en) | Method and apparatus for secure configuration of a field programmable gate array | |
Peterson | Leveraging asymmetric authentication to enhance security-critical applications using Zynq-7000 all programmable SoCs | |
JP2006180375A (ja) | プログラマブル論理回路 | |
JP2002334019A (ja) | プログラマブル論理素子及びプログラマブル論理素子用データ書換システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130218 |
|
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: 20130402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130405 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5246863 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |