JP2005251017A - 半導体装置および電子装置 - Google Patents

半導体装置および電子装置 Download PDF

Info

Publication number
JP2005251017A
JP2005251017A JP2004062981A JP2004062981A JP2005251017A JP 2005251017 A JP2005251017 A JP 2005251017A JP 2004062981 A JP2004062981 A JP 2004062981A JP 2004062981 A JP2004062981 A JP 2004062981A JP 2005251017 A JP2005251017 A JP 2005251017A
Authority
JP
Japan
Prior art keywords
semiconductor device
circuit
data
input
output
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.)
Granted
Application number
JP2004062981A
Other languages
English (en)
Other versions
JP4294514B2 (ja
Inventor
Takahiro Kawakami
隆宏 川上
Naoyuki Kamei
直幸 亀井
創一 ▲吉▼村
Soichi Yoshimura
Ichiji Yamanegi
一司 山根木
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2004062981A priority Critical patent/JP4294514B2/ja
Priority to CNB2005100783178A priority patent/CN100390760C/zh
Priority to US11/073,422 priority patent/US20050198404A1/en
Publication of JP2005251017A publication Critical patent/JP2005251017A/ja
Application granted granted Critical
Publication of JP4294514B2 publication Critical patent/JP4294514B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/04Masking or blinding
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • 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/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】プログラム可能な回路に記憶する内部ロジックの解析を防止した半導体装置を提供する。
【解決手段】画像処理部6のASIC8は、画像処理回路11及び極秘回路12aへの入出力を行う入出力回路10を備えている。入出力回路10が、極秘回路12aの行う処理を隠蔽するように、例えば極秘回路12aからの出力を、タイミングをずらしてASIC8から出力する。これによって、極秘回路12aにおけるアルゴリズムを隠蔽できる。ASIC8とは別体の不揮発性メモリ9に記憶されている暗号化したプログラムを復号するための復号回路13aを備えている。復号回路13aは、後から書込みするOTP13bによって、復号部13として機能する。
【選択図】図1

Description

本発明は、プログラマブル回路を含んでいる半導体装置およびそれを備えた電子装置に関するものである。
近年、ユーザが現場で所望の回路をプログラムできるプログラマブル回路が注目されている。
例えば、ゲートアレイの一部をFPGA(Field Programmable Gate Array)とすることで、マスクドGA(Gate Array)の高速性高集積性を活かしつつ、ユーザが処理を変更できるようにした構成が提案されている(特許文献1参照)。
このようなプログラマブル回路を用いる一例として、PLD(Programmable Logic Device)に復号手段とキー保持手段を持たせ、予め設定したキーで暗号化したプログラムでのみ動作するようにすることで、プログラムの不正な複製を防止する構成が提案されている(特許文献2参照)。
また、FPGA素子からのFPGAプログラムのコピーを阻止するための構成も提案されている(特許文献3参照)。
特開平6−275718号公報(公開日:1994年9月30日) 特開平6−187246号公報(公開日:1994年7月8日) 特開2003−84853号公報(公開日:2003年3月19日)
しかしながら、従来の構成の半導体装置では、プログラマブル回路に書き込む内部アルゴリズムを確実に隠蔽できない虞があるという問題を生ずる。
例えば、特許文献1の構成では、プログラムを格納しているROMを読むことによって、アルゴリズムやロジックが解析される虞がある。また、特許文献2の構成では、ROMのプログラムは暗号化されているが、PLD自体の動作を解析することで、アルゴリズムやロジックを推測される虞がある。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、回路の処理をブラックボックス化して、内部アルゴリズムの解析を困難にして隠蔽することのできる半導体装置および電子装置を提供することにある。
本発明に係る半導体装置は、上記課題を解決するために、プログラマブル回路と固定ロジック回路とを含んでいる半導体装置において、上記プログラマブル回路および上記固定ロジック回路にデータを入出力する入出力手段を備え、上記入出力手段が、上記プログラマブル回路に対するデータ入出力を、半導体装置本体の外部に対して隠蔽することを特徴としている。
プログラマブル回路は、書込みによってプログラムできる回路である。プログラマブル回路としては、例えば揮発性のプログラマブル回路を用いる。プログラマブル回路は不揮発性であってもよい。固定ロジック回路とは、書換え不可能な回路である。固定ロジック回路は、不揮発性である。
上記構成において、入出力手段は、プログラマブル回路に対するデータ入出力を、半導体装置本体の外部に対して隠蔽する。
例えば入出力手段は、プログラマブル回路からの出力を、タイミングを遅延させて出力する。また、例えば入出力手段は、プログラマブル回路へ入力するプログラムデータの取得を、通常期待されるタイミングよりも遅延させて行う。
これによって、半導体装置の外部において解析を行ったとしても、プログラマブル回路に対するデータ入出力が隠蔽され、プログラマブル回路における処理を推定するのが困難になる。したがって、プログラマブル回路において処理されるアルゴリズムに対する、不正な解析を困難にできる。
また、半導体装置のプログラマブル回路からの出力を隠蔽して、プログラマブル回路からの出力に対する不正ななりすましを防止できる。これによって、半導体回路の不正利用を防止できる。
また、上記プログラム可能な回路を、FPGA(Field Programmable Gate Array)によって実現してもよい。この構成であれば、容易に実現できる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、上記プログラマブル回路からの出力のタイミングをずらして半導体装置本体から出力することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴としている。
入出力手段は、例えば出力タイミングを遅延させることによって、出力のタイミングをずらす。このように、入出力手段がタイミングをずらせば、データ出力を隠蔽できる。
また、上記構成において、入出力手段は、半導体装置への他のデータの入力後に、上記プログラマブル回路から出力する構成であってもよい。このようにすれば、他のデータに対する出力であるかのように振る舞うことによって、データ出力を隠蔽できる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、上記プログラマブル回路からの出力のタイミングをランダムにずらすことを特徴としている。
このように、出力のタイミングをランダムにずらせば、出力を作成するために用いられた入力がどれかを隠すことができる。
また、上記構成において、例えば出力のタイミングを、平均処理遅延時間よりも長い範囲でランダムに遅延させてもよい。または、例えば平均処理遅延時間の2倍以上の範囲でランダムに遅延させてもよい。このようにすれば、出力を作成するために用いられた入力がどのデータであるかを隠すことができる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、上記プログラマブル回路からの出力を暗号化して半導体装置本体から出力することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴としている。
入出力手段が暗号化することによって、データ出力を隠蔽できる。この場合、入出力手段からの出力を受信する側で復号を行う。
本発明に係る半導体装置は、上記構成において、上記プログラマブル回路が揮発性のプログラマブル回路であり、上記入出力手段が、上記プログラマブル回路のプログラムデータを、半導体装置本体が備えられている電子装置の電源立ち上げ時以外のタイミングにて、半導体装置本体の外部から取得することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴としている。
揮発性のプログラマブル回路とは、例えばSRAM(static random access memory)型の書換え可能な回路である。
半導体装置の入出力手段は、例えば半導体装置外部の記憶装置にアクセスして、記憶装置に記憶されているプログラムデータを取得する。プログラムデータの入力を隠蔽するので、プログラマブル回路において処理されるアルゴリズムに対する、不正な解析を困難にできる。
ここで、通常は電源立ち上げ時にプログラムデータを取得することが期待される。
そこで、上記構成のように電源立ち上げ時以外に取得すれば、半導体装置とプログラムデータの記憶された記憶装置との間で不正な取得が試みられている場合であっても、これを困難にできる。
また、上記構成において、入出力手段は、プログラマブル回路を用いる前に、プログラムデータを取得する構成であってもよい。また、上記構成において、入出力手段は、固定ロジック回路からの入出力を開始したよりも後に、プログラムデータを取得する構成であってもよい。また、上記構成において、入出力手段は、電源立ち上げ後に所定時間経過すると、プログラムデータを取得する構成であってもよい。
また、上述の半導体装置を、プログラム供給タイミングとして、電源立ち上げでないタイミングに行う構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、複数に分割された上記プログラムデータを取得することを特徴としている。
このように、プログラムデータを分割して取得するので、不正な取得が試みられている場合であっても、プログラムデータの特定を困難にして、不正な取得を防止できる。
また、上述の半導体装置を、プログラム供給時に、通信を分割して行う構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、ランダムなサイズに分割された上記プログラムデータを取得することを特徴としている。
分割したプログラムデータのサイズがランダムであるので、さらにプログラムデータの特定を困難にできる。
また、上述の半導体装置を、通信分割は、データパケットサイズをランダムにする構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、複数に分割された上記プログラムデータを、ランダムな時間間隔で取得することを特徴としている。
ランダムな時間間隔で取得するので、さらにプログラムデータの特定を困難にできる。
また、上述の半導体装置を、通信分割は、通信の間隔をランダムにする構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記入出力手段が、上記プログラムデータを取得するための複数のインタフェースを有していることを特徴としている。
複数のインタフェースを使い分けて、分割されたプログラムデータを取得することができるので、さらにプログラムデータの特定を困難にできる。
また、上述の半導体装置を、複数のIFから分割してプログラムを供給する構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記プログラマブル回路のプログラムデータからチェック用データを作成する一方向性ハッシュ関数手段を備えていることを特徴としている。
一方向性ハッシュ関数手段によってプログラムデータからチェック用データを作成すれば、予め作成しておいたチェック用データと比較することによって、プログラムデータが予め作成した正規のものであるか否かを簡単に確認できる。また、プログラム用データ自身を比較する訳ではないので、半導体装置の外部において、機密性を損なわずに確認ができる。
本発明に係る半導体装置は、上記構成において、半導体装置本体が、画像処理を行う画像処理部であり、上記プログラマブル回路において、特定原稿の認識処理を行うことを特徴としている。
特定原稿とは、認識した対象となる原稿である。例えば、画像形成装置に備えられる画像処理回路においては、紙幣を特定原稿とする。複写する原稿が紙幣であるか否かを画像処理回路にて判別し、紙幣である場合には複写を禁止する。
上記構成によれば、画像処理回路における特定原稿の認識処理のアルゴリズムを隠蔽できる。
本発明に係る半導体装置は、上記構成において、暗号化された、上記プログラマブル回路のプログラムデータを復号するための復号手段を備えていることを特徴としている。
プログラマブル回路のプログラムデータが暗号化されているので、プログラムデータを解析されることによるアルゴリズム、ロジックの解析を困難にできる。
また、上述の半導体装置を、少なくともSRAM型のプログラム可能な第1の回路と電源を切ってもロジックが固定した第2の回路を同一集積回路内に設けたASICであって、第2の回路は、外部より第1の回路に供給される予め暗号化されたプログラムの復号手段と、第1の回路がプログラムに基づいて行う処理をASIC外部から隠蔽する入出力手段とを備える構成である、と表現することもできる。この構成であれば、外部からロードされるプログラムからも、ASICの動作からも、第1の回路のアルゴリズムやロジックの解析を困難にすることができる。また、上述の半導体装置は、第2の回路が、復号されて第1の回路に供給されたプログラムデータからチェック用データを作成する一方向性ハッシュ関数手段を備える構成であってもよい。
本発明に係る半導体装置は、上記構成において、上記復号手段の少なくとも一部を、半導体装置本体の外部から書き込み可能で読み出し不可能なプログラマブルROMで構成したことを特徴としている。
ここで、半導体装置が読み出し不可能であるとは、外へ出力するためのバッファを設けておらず、バッファが外部から内部への一方通行のみである構成を意味する。
このように、復号手段の少なくとも一部をプログラマブルROMとすれば、このプログラマブルROMを後から書き込むようにできる。
したがって、例えば半導体装置の作成を外部業者に依頼する際に、プログラマブルROMに書き込む内容を知らせずに依頼することができ、復号手段の全体を外部業者に知らせる必要がなくなる。
本発明に係る半導体装置は、上記構成において、上記プログラマブルROMが、ワンタイムプログラマブルROMであることを特徴としている。
プログラマブルROMが一度のみ書込み可能であるので、後からプログラマブルROMの書換えを試行してプログラマブルROMの内容を推測される虞がない。
また、上述の半導体装置を、復号手段のPROMはワンタイムPROMである構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記プログラマブルROMに、鍵データを書き込むと上記復号手段が上記プログラムデータを復号するために機能する鍵データ書込み領域を設けたことを特徴としている。
鍵データ領域に鍵データを書き込まなければ、半導体装置の復号手段が動作しないので、鍵データを適切に管理することによって、半導体装置の不正利用を防止できる。
また、上述の半導体装置を、復号手段は少なくとも一部が外部から書き込み可能で読み出し不可能なPROMで構成され、PROMに書き込まれた(鍵)データが復号手段をカスタマイズする構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、アドレス操作によって暗号化された上記プログラムデータを復号することを特徴としている。
このように、アドレス操作によって暗号化されたデータであれば、簡単な処理で復号できる。
また、上述の半導体装置を、プログラムの暗号化はアドレスの操作である構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、ダミーデータの混合された上記プログラムデータを復号することを特徴としている。
このようにダミーデータを混合すれば、プログラムデータの特定を困難にできる。
また、上述の半導体装置を、プログラム供給時にダミーデータと共に、データ供給を行う構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、ブロック暗号化された上記プログラムデータを復号することを特徴としている。
DES(data encryption standard)やAES(advanced encryption standard)を用いて暗号化を強靭にできる。また、ハードウェア化も容易である。
また、上述の半導体装置を、プログラムの暗号化はブロック暗号である構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、データビットの並べ替えによって暗号化された上記プログラムデータを復号することを特徴としている。
このように、データビットの並べ替えによって暗号化されたデータであれば、簡単な処理で復号できる。
また、上述の半導体装置を、プログラムの暗号化は、データbitの並べ変えである構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、圧縮符号化によって暗号化された上記プログラムデータを復号することを特徴としている。
ここで、圧縮符号化とは、JBIG、ランレングス等の圧縮である。
このように、圧縮符号化によって暗号化されたデータであれば、簡単な処理で復号できる。
また、上述の半導体装置を、プログラムの暗号化は、JBIG、ランレングス等の圧縮である構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、アドレス操作によって暗号化された上記プログラムデータを復号する第1復号器と、ダミーデータの混合された上記プログラムデータを復号する第2復号器と、ブロック暗号化された上記プログラムデータを復号する第3復号器と、データビットの並べ替えによって暗号化された上記プログラムデータを復号する第4復号器と、圧縮符号化によって暗号化された上記プログラムデータを復号する第5復号器とを有しており、上記入出力手段が、第1復号器、第2復号器、第3復号器、第4復号器、および第5復号器を所望の順番で切換えて用いる切換器として動作することを特徴としている。
このように暗号を組み合わせ、切換えて用いれば、暗号化を強靭にできる。
また、上述の半導体装置を、上述の復号手段を同時に持ち、暗号組み合わせを行う構成である、と表現することもできる。また、上述の復号手段を同時に持ち、暗号組み合わせ及び順番の組み合わせを行う構成である、と表現することもできる。
本発明に係る半導体装置は、上記構成において、上記復号手段が、上記プログラムデータを取得したときに、上記切換器の上記所望の順番を設定することを特徴としている。
切換器の順番を後で設定すれば、暗号化を強靭にできる。
また、上述の半導体装置を、上述の復号手段を同時に持ち、プログラム供給時に組み合わせ及び順番を選択する構成である、と表現することもできる。
本発明に係る半導体装置は、上記課題を解決するために、上述の半導体装置と上記プログラマブル回路のプログラムデータを記憶した記憶装置とを一体にパッケージしたことを特徴としている。
一体にパッケージされた半導体装置によって、内部アルゴリズムの解析を困難にした半導体装置を実現できる。
本発明に係る電子装置は、上記課題を解決するために、上述の半導体装置と上記プログラマブル回路のプログラムデータを記憶した記憶装置とを備えていることを特徴としている。
電子装置において極秘にしたい処理を、上述の半導体装置および記憶装置によって実現し、アルゴリズムを隠蔽できる。
本発明に係る半導体装置は、以上のように、プログラマブル回路を含んでいる半導体装置において、プログラマブル回路にデータを入出力する入出力手段が、プログラマブル回路に対するデータ入出力を、半導体装置本体の外部に対して隠蔽する構成である。
入出力手段が隠蔽することによって、半導体装置の外部において解析を行ったとしても、プログラマブル回路に対するデータ入出力が隠蔽され、プログラマブル回路における処理を推定するのが困難になり、アルゴリズムに対する不正な解析を困難にできる。
また、半導体装置のプログラマブル回路からの出力を隠蔽して、プログラマブル回路からの出力に対する不正ななりすましを防止して、半導体回路の不正利用を防止できる。
本発明の一実施形態について図1ないし図10に基づいて説明すると以下の通りである。
本実施形態の半導体装置は、図1に示すように、画像形成装置(電子装置)1に、ASIC(Application specific integrated circuit)8として備えられる。
画像形成装置1は、シートに画像を形成するものである。画像形成装置1は、図示しない入出力インタフェースを介して、装置外部と情報伝達することもできる。
画像形成装置1は、制御部2、操作部3、記憶部4、画像読取部5、画像処理部(半導体装置)6、および画像形成部7を備えている。
制御部2は、画像形成装置1の動作を制御する。本実施形態の制御部2はハードウェアによって実現されているが、これに限るものではない。画像形成装置1のCPU(Central Processing Unit)が記憶部4に記憶されたプログラムを読み込んで実行することによって、制御部2を実現してもよい。
操作部3は、ユーザによる操作指示を検出して、制御部2へと出力する。操作部3は、動作状況を表示するための図示しない表示部を含んでいる。
記憶部4は、データを記憶するためのメモリである。この記憶部4に、CPUを制御部2として機能させるためのプログラムを記憶させてもよい。
画像読取部5は、シートに形成されている画像を読取るためのものである。操作部3にて検出したユーザの指示に応じて、制御部2から開始信号が出力されると、画像読取部5は、図示しない台に載置された原稿の画像読取動作を開始する。画像読取部5は、読取った画像データを画像処理部6へと出力する。
画像処理部6は、入力される画像データに、所定の画像処理を施すものである。画像処理部6は、画像読取部5から画像データが入力されると、画像処理を施して、制御部2を介して画像データを画像形成部7へと出力する。本実施形態の画像処理部6は、ASIC8と不揮発性メモリ(記憶装置)9とを一体にパッケージした半導体装置である。画像処理部6については後述する。
画像形成部7は、画像データに基づいてシートに画像を形成する。画像形成部7は、制御部2を介して画像処理部6からの画像データが入力されると、この画像データに基づいてシートに画像を形成する。
上記構成の画像形成装置1は、例えば紙幣のような所定の原稿(以下、特定原稿とする。)のコピーを防止するために、特定原稿を認識してその印刷を禁止する特定原稿抽出機能を有している。以下、特定原稿抽出機能について説明する。
画像形成装置1においては、画像読取部5にて読取った原稿の画像データを用いて、画像処理部6にて、原稿が特定原稿であるか否かを判別する。画像処理部6は、上述のように入力される画像データに対して判別を行って、特定原稿であるか否かを示す検出信号を制御部2へと出力する。画像処理部6の詳細について説明すると、以下のようである。
画像処理部6は、ASIC(半導体装置)8と不揮発性メモリ9とを含んでいる。
ASIC8は、画像形成装置1の画像処理機能を実現するための半導体装置である。ASIC8は、特定原稿抽出機能の詳細を極秘とするため、固定したレイアウトの固定ロジック回路として回路全体を実現するのではなく、少なくとも一部を書き換え可能でプログラム可能な回路にプログラム(プログラムデータ)を読み込むことによって実現する。これによって、レイアウトからロジックが推定されることを防止している。
不揮発性メモリ9は、ASIC8の極秘回路(プログラマブル回路)12aを動作させるための、暗号化されたプログラムの記憶領域である。本実施形態の不揮発性メモリ9は、ROMによって実現される。不揮発性メモリ9は、当初、ASIC8とは別体に設けられ、その後にASIC8とともに1つの半導体装置としてパッケージ化されて、画像処理部6となる。
ASIC8は、入出力回路(入出力手段)10、画像処理回路11、極秘回路12a、揮発性メモリ12b、復号部(復号手段)13およびハッシュ関数回路(一方向性ハッシュ関数手段)14を備えている。
入出力回路10は、ASIC8の入出力インタフェースである。入出力回路10は、制御部2からASIC8に入力される、画像処理回路11、極秘回路12a、復号回路13aなどへのデータを一旦受信して、それぞれの回路へと出力する。また、ASIC8内部の各回路からのデータを一旦受信して、制御部2へと出力する。入出力回路10は、極秘回路12aへの入出力を隠蔽するための入出力手段として機能する。この点については後述する。
画像処理回路11は、入力される画像データに、所定の画像処理を施す。一例として、画像形成装置1が、ユーザによる拡大・縮小指示を操作部3にて検出した場合について説明すると、画像処理回路11は、画像読取部5から入出力回路10を介して入力される画像データに拡大・縮小処理を施し、得られたデータを入出力回路10を介して制御部2へと出力する。
極秘回路12aおよび揮発性メモリ12bは、揮発性のプログラム可能な回路である。この極秘回路12aにおいて、外部に秘匿する、極秘の処理を行う。
本実施形態の極秘回路12aは、特定原稿の判別を行う。極秘回路12aは、入力される画像データから、特定原稿であるか否かを判別して、判別結果を表す検出信号を入出力回路10を介して画像処理部6の外部へと出力する。極秘回路12aは、画像読取部5にて読取られて、入出力回路10を介して入力される画像データや、入出力回路10および画像処理回路11を介して入力される画像データに基づいて、判別を行う。本実施形態の極秘回路12aは、揮発性のプログラム可能なFPGA(Field Programmable Gate Array)によって実現される。FPGAによる極秘回路12aは、揮発性メモリ12bに記憶されたプログラムに応じて、ANDゲート、ORゲートなどのつなぎ方を変えて、所望の機能を実現する。極秘回路12aの詳細については後述する。
揮発性メモリ12bは、極秘回路12aの機能を実現するためのプログラムの記憶領域である。揮発性メモリ12bは例えばRAM(Random Access Memory)によって実現される。本実施形態の揮発性メモリ12bは、揮発性で書き換え可能なSRAM(static random access memory)によって実現される。このように、プログラムを揮発性メモリ12bに記憶するので、プログラムの内容がリバースエンジニアリングによって不正に取得されることがない。
復号部13は、復号回路13aおよびOTP(one time programmable ROM)(プログラマブルROM、ワンタイムプログラマブルROM、鍵データ書込み領域)13bを含む。復号部13は、復号回路13aおよびOTP13bが一体となって、不揮発性メモリ9に記憶されたプログラムの復号を行うものである。
このうち、復号回路13aは、ASIC8中のFPGA領域(極秘回路12a)へのダウンロード部分に設けられる。
OTP13bは、復号部13の一部を、後から書込み可能で読み出し不可能なPROM(programmable read only memory)としたものである。このようなワンタイムPROMの一例としては、例えばヒューズを焼き切る形式のPROMが挙げられる。OTP13bには、画像形成装置1の製造者がOTPROM書込回路20を用いて回路データ(鍵データ)を書込み、これによって所望の復号部13とする。
ハッシュ関数回路14は、ASIC8に供給されたプログラムデータから、チェック用データを作成するチェック部として機能する。より詳細には、ハッシュ関数回路14は、一方向性ハッシュ関数回路であり、チェックサムを生成する。チェックサムとは、例えば誤り訂正のCRCなどである。なお、ハッシュ関数回路14が生成して出力するのは単なるチェックサムであり、プログラム自身を出力する訳ではないので、ハッシュ関数回路14からの出力によって内部アルゴリズム(プログラム)が推測されることはない。入力データから生成されるチェックサムの値が、予め計算しておいたチェックサムの値と一致することを確認して、元の入力データが変更されていないことを確認できる。
本実施形態のASIC8において、入出力回路10、画像処理回路11、復号回路13aおよびハッシュ関数回路14は、不揮発性の固定ロジック回路である。これらの固定ロジック回路では、特に秘密ではない処理を行う。なお、本実施形態においては、ASIC8の固定ロジック回路のうち、どの部分がどの回路に相当するのかについての判別を困難なものとするように、各回路のレイアウトは混合して配置された状態となっている。
以上に説明した画像処理部6において、入力される画像データを用いて、特定原稿であるか否かを示す検出信号を制御部2へと出力する動作について説明すると、以下のようである。
まず、電源オン操作を操作部3にて検出すると、制御部2からの指示に応じて、入出力回路10が、不揮発性メモリ9のデータの呼び出し指示を復号部13に対して行う。復号部13は、不揮発性メモリ9のデータを読み出して復号し、揮発性メモリ12bに格納する。
ここで、復号部13は、復号したプログラムをハッシュ関数回路14へと出力する。ハッシュ関数回路14は、入力されたプログラムからチェックサムを生成する。ハッシュ関数回路14からの出力は制御部2へと出力され、制御部2にて、生成された値と予め計算して記憶部4に記憶した値とが比較される。比較結果が一致した場合には、不揮発性メモリ9に格納されたプログラムが正規のものであるとされ、処理が続行される。一方、比較結果が不一致であった場合には、不揮発性メモリ9、復号回路13a、OTP13bの少なくともいずれか1つが正規のものでないとして、処理を中止する。
その後、使用者によって原稿の複写が行われるものとする。画像形成装置1においては、原稿画像が画像読取部5にて読取られて、操作部3にて検出した指示に応じて画像処理部6にて画像処理が行われ、画像形成部7にてシートに複写画像が形成される。
この際、まず画像読取部5にて読取った画像データが入出力回路10よりASIC8に入力される。ASIC8では、画像データを、入出力回路10から画像処理回路11および極秘回路12aにそれぞれ出力する。画像処理回路11では、操作部3にて読取った指示に基づく制御部2からの制御命令に応じて、拡大縮小・反転などの画像処理を行う。画像処理されたデータは、制御部2へと出力される。制御部2は、画像処理部6からの検出信号を待機する状態となる。
一方、極秘回路12aでは、画像データが特定原稿の画像を含んでいるか否かを、画像処理によって判別する。例えば、紙幣に特有の特徴図形を含んでいるか否かを、パターンマッチングによって判別する。極秘回路12aは、判別結果を検出信号として入出力回路10に出力する。
入出力回路10は、極秘回路12aからの検出信号の出力タイミングをずらして、ASIC8の外部へと出力する。例えば、入出力回路10は、入力された検出信号を、ランダムな時間だけ待機した後に、制御部2へと出力する。例えば出力のタイミングは、画像処理回路11における平均処理遅延時間よりも長い範囲でランダムに遅延させる。または、例えば平均処理遅延時間の2倍以上の範囲でランダムに遅延させてもよい。このようにすれば、出力を作成するために用いられた入力がどのデータであるかを隠すことができる。または、入出力回路10は、検出信号を所定のタイミングまで遅延させてから出力してもよい。
制御部2は、特定画像を含まないとの否定的な検出信号を受信すると、画像処理された画像データを画像形成部7へと出力して、画像形成部7に印刷を実行させる。一方、制御部2は、特定画像が含まれているとの肯定的な検出信号を受信すると、その旨を操作部3の図示しない表示パネルに表示して、処理を中止する。
このように、制御部2では、画像処理部6からの検出信号の入力タイミングにかかわらず、検出信号の値のみに応じて、画像データが特定原稿を含むか否かを判別する。このため、入出力回路10によって検出信号の出力タイミングがずらされたとしても、画像形成装置1は、タイミングをずらさない場合と結果として同じ動作をする。したがって、画像処理部6と制御部2との間ではデータ転送が正しく行われ、画像形成装置1は正しく動作する。
以上のようにして、入出力回路10は、入出力するデータが極秘回路12aに対するものか、または画像処理回路11などのその他の回路に対するものかを、ASIC8の外部に対して隠蔽することができる。すなわち、制御部2に入力される数多くの信号のうち、どの信号がASIC8からの検出信号であるか否かという点についての不正な検出を困難にできる。このため、例えば外部から制御部2への不正な検出信号の送信を防止して、なりすまし、不正利用を防止できる。また、極秘回路12aに対する入出力の解析が困難となるため、極秘回路12aにおける内部ロジックに対する不正な解析を困難にできる。
また、揮発性メモリ12bに格納するためのプログラムをASIC8とは別体の記憶装置に記憶させている。例えば、暗号化したプログラムを、ASIC8とは別体の、ROM(Read Only Memory)などからなる不揮発性メモリ9に格納する。これによって、ASIC8の生産者にプログラムを秘密にして、機能を実現するための情報が漏れるのを防止できる。また、このように、ASIC8と不揮発性メモリ9とを別体のものとすれば、例えばASIC8の作成をある製造業者(ASICベンダー)Bに依頼し、また不揮発性メモリ9の作成をある製造業者(ROMメーカー)Cに依頼した場合であっても、ASIC8における処理のアルゴリズムに対する不正な解読を防止できる。
また、暗号化したプログラムを解読するための復号回路は、後からの鍵データの書込みを必要とする構成である。このため、復号回路のみを見ても復号のアルゴリズムを推測することができないので、秘密を保持できる。
また、鍵を、OTPとする。すなわち、一度のみ書き込むことのできる形式の鍵とする。この鍵を、例えば画像形成装置1の製造者(メーカー)が書き込むようにすれば、復号回路の不正利用を防止できる。
なお、このように、内部の処理を外部に対して隠蔽するためには、タイミングを遅延させる入出力回路10を用いる構成に限るものではない。例えば、入出力部として、何らかの処理をする回路を介在させれば、内部アルゴリズムの推定を困難にして、ブラックボックス化できる。すなわち、例えば画像データのようなデータを入力して得られる、検出信号のような出力からは、内部の秘密回路における処理の詳細を推定することは困難となる。この場合、内部の処理の段数が深ければ、出力から内部アルゴリズムを推定することは非常に困難となる。一方、従来は、このような入出力部は設けられておらず、制御部と内部の極秘回路との間が不正に計測され、内部アルゴリズムを推定される虞があった。
ここで、例えば入出力回路10は、検出信号を暗号化(ブロック暗号化)する構成であってもよい。このように、検出信号を暗号化して制御部2へと出力すれば、極秘回路12aにおける処理を隠蔽できる。ただし、この場合は制御部2の側に、暗号を復号する機能が必要となる。また、例えば、入出力回路10は、検出信号にダミーデータを混在させて出力する構成であってもよい。
次に、上述した画像処理部6の製造工程の一例について、図2、図3に基づいて説明する。
図2に示すように、設計メーカーAは、ASICベンダーBに、ASIC8の製造を委託する(T1:一般回路出図)。この際、ASIC8のうち、極秘回路12aをプログラム可能なFPGA領域として設けるような設計で委託する。また、極秘回路12aのための復号回路13aには、後から書込みをするOTP13bを設けた設計とする。
ASICベンダーBは、ASIC8を製造して設計メーカーAに納入する(T2:ASIC(FPGA+OTP)納入)。
一方、設計メーカーAは、ASIC8のFPGA領域のプログラムを暗号化した内容を記憶したROM(不揮発性メモリ9)の製造を、ROMメーカーCに委託する(T3:暗号化したFPGAプログラム出図)。ROMメーカーCは、暗号化されたプログラムをROMとして製造し、設計メーカーAに納入する(T4:ROM納入)。
また、図3を参照して説明すると、設計メーカーAは、S1にて画像処理部6のために、ASIC8および不揮発性メモリ9の回路設計を行う。設計メーカーAは、設計したASIC8の回路図をASICベンダーBに提供し(T1)、設計した不揮発性メモリ9の回路図をROMメーカーCに提供する(T3)。
ASICベンダーBは、受領した回路図に基づきASIC8を設計し(S2)、設計メーカーAに納入する(T2)。また、ROMメーカーCは、受領した回路図に基づき、ROM(不揮発性メモリ9)を作成し(S4)、設計メーカーAに納入する(T4)。
設計メーカーAでは、ASICベンダーBから受領したASIC8のOTP13bに鍵データの書込みをした(S3)上で、そのASIC8およびROM9を1パッケージ化して、画像処理部6を製品とする(S5)。
このように、ASICベンダー8には極秘回路12aの中身(プログラムのためのレイアウト)は出図しないので、秘密が保たれる。また、復号回路13aにOTP13bを設けた構成としてASICベンダーBに生産を委託するので、ASICベンダー8に復号回路13aの中身が知られることはない。
また、ROM(不揮発性メモリ9)に書き込む、極秘回路12a(FPGA領域)のためのプログラムは、暗号化した上でROMメーカーCに生産を委託するので、ROMメーカーCにプログラムを知られることがなく、セキュリティが保たれる。また、どの部分のデータがFPGA領域回路データか、判別しにくくできる。
また、設計メーカーAにてOTP13bの書込みを行うので、復号回路13aとOTP13bとが一体となった復号部13の詳細について、ASICベンダーBやROMメーカーCに知られることがない。なお、このように、後から書込みするOTP13bによって復号部13を完成させる構成でなければ、復号部13の全てをASICベンダーBに出図することになるので、復号部13におけるアルゴリズムがASICベンダーBに知られる虞がある。
なお、半導体装置としてのASIC8は、上述の構成に限るものではない。ASIC8においては、復号回路13aを固定ロジック回路として設けた構成について説明したが、これに限るものではない。例えば、復号回路13aも書込み可能な構成としてもよい。すなわち、例えばOTP13bだけでなく、復号回路13aもFPGAとして設けてもよい。このようにして、鍵としてのOTP13bだけでなく、復号回路13aについてもメーカー側で書込みをすれば、ASIC8の製造委託先に復号部13の構成が漏れることはない。なお、復号回路13aを書込み可能とする場合には、EEPROMのような書換え可能なものは用いないものとする。
また、ASIC8および不揮発性メモリ9は、以下のような構成であってもよい。
まず、図1に示す不揮発性メモリ9の一例としてのROM9aを用いて極秘回路12aの解析を困難にする構成の一例について、図4(a)(b)に基づいて説明する。
本変形例は、ROM9aに記憶させるプログラムを、アドレス並べ替えしておくものである。図4(a)に示すように、ROM9aのアドレスhXX_XXからhYY_YYまでが、極秘回路12aのためのFPGAプログラムを記憶させたFPGAプログラム領域である。
ROM9aに記憶されたプログラムをASIC8に読み込む際の動作を説明すると、以下のようである。
まず、図4(b)のS6のように、制御部2として機能するCPUからのプログラムのダウンロード命令に応じて、入出力回路10が、ROM9aのアドレスhXX_XXからhYY_YYまでを取得して復号部13に送る。
S7では、復号回路13aとOTP13bとが、復号部13として、ダウンロードしたプログラムを所定の手順に従って復号する。ここでは、OTP13bに記憶されている関数にしたがってアドレスを並べ替え、結果としてデータを並べ替える。関数としては、ROM9aにおいて用いた関数の逆関数を用いればよい。これによって、プログラムは復号される。その後、復号したプログラムを、図1に示す揮発性メモリ12bの一例としてのRAMにダウンロードする。
S8では、揮発性メモリ12bから、FPGAである極秘回路12aへとプログラムをダウンロードする。これによって、極秘回路12aに機能が実装され、FPGAプログラムに従って動作するようになる。
なお、アドレス並べ替え関数の一例としては、例えばアドレスの最上位と最下位を入れ替えるなどが考えられる。この関数に応じて、予めROM9a中に、アドレス順序を入れ替えたプログラムデータを格納しておく。
以上に説明した一例においては、不揮発性メモリ9に格納しているプログラムが、生のプログラム自体ではなく、並べ替えしたものとなっているので、プログラムを読取ることによる極秘回路12aの機能特定を防ぐことができる。また、プログラムの復号を、後から書込みされたOTP13bを含む復号部13にて行うので、復号のアルゴリズムの解析をも防止できる。
次に、図1に示す不揮発性メモリ9の一例としてのROM9bを用いて極秘回路12aの解析を困難にする構成の一例について、図5(a)(b)に基づいて説明する。本変形例は、FPGAにダウンロードする総データ量サイズよりも大きいROM9b中において、一部分を有効データ領域、他をダミーデータ領域とするものである。ASIC8中の入出力回路10から入力されるデータの内、復号部13は、元々回路で設定されていた有効データ領域のみを選別してダウンロードする。
図5(a)に示すように、ROM9bのアドレスhXX_XXからhYY_YYまでには、極秘回路12aのためのFPGAプログラムを記憶させる。また、ROM9bのアドレスhPP_PPからhXX_XXまで、hYY_YYからhQQ_QQまでには、ダミーデータを記録させる(ダミーデータ領域)。
ROM9bに記憶されたプログラムをASIC8に読み込む際の動作を説明すると、以下のようである。
まず、制御部2として機能するCPUから、入出力回路10に対してプログラムのダウンロード命令がなされる。入出力回路10は、これに応じて、図5(b)のS9のように、ROM9bのアドレスhPP_PPからhQQ_QQまでを復号部13にダウンロードする。入出力回路10は、ダミーデータ領域を含めた有効データのダウンロード命令を行う。
S10では、復号回路13aとOTP13bとが、復号部13として、ダウンロードしたプログラムを所定の手順に従って復号する。ここでは、OTP13bに記憶されている内容にしたがって、所定のアドレス範囲(アドレスhXX_XXからhYY_YYまで)のデータのみを抽出する。これによって、プログラムは復号される。その後、復号したプログラムを、図1に示す揮発性メモリ12bの一例としてのRAMにダウンロードし、さらに揮発性メモリ12bから、FPGAである極秘回路12aへとダウンロードする。これによって、極秘回路12aに機能が実装され、FPGAプログラムに従って動作するようになる。
このように、不揮発性メモリ9に格納しているプログラムにダミーデータを含ませておくことによっても、プログラムを不正に読取ることによる極秘回路12aの機能特定を困難にできる。また、プログラムの復号を、後から書込みされたOTP13bを含む復号部13にて行うので、復号のアルゴリズムの解析を防止できる。
次に、図1に示す不揮発性メモリ9の一例としてのROM9cを用いて極秘回路12aの解析を困難にする構成の一例について、図6(a)(b)に基づいて説明する。
本変形例は、プログラムを圧縮符号化してROM9cに記憶させる。圧縮符号化として、例えばデータのbit並びをばらばらにするJBIG圧縮を用いる。圧縮符号化は、プログラムの原データそのものから他のデータを生成するので、一種の暗号化とみなすことができる。
図6(a)に示すように、ROM9cのアドレスhXX_XXからhYY_YYに、極秘回路12aのためのFPGAプログラムを圧縮符号化して記憶させる。
ROM9cに記憶されたプログラムをASIC8に読み込む際の動作を説明すると、以下のようである。
まず、制御部2として機能するCPUから、入出力回路10に対して、プログラムのダウンロード命令がなされる。これに応じて、図6(b)のS11に示すように、入出力回路10は、ROM9cのアドレスhXX_XXからhYY_YYまでを復号部13にダウンロードする。
S12では、復号回路13aとOTP13bとが、復号部13として、ダウンロードしたプログラムを圧縮符号化の逆関数を用いて所定の手順に従って復号する。その後、復号したプログラムを、図1に示す揮発性メモリ12bの一例としてのRAMにダウンロードする。そして、S13にて、さらに揮発性メモリ12bから、FPGAである極秘回路12aへとダウンロードする。これによって、極秘回路12aに機能が実装され、FPGAプログラムに従って動作するようになる。
このように、不揮発性メモリ9に格納しているプログラムを暗号化しておけば、プログラムを読取ることによる極秘回路12aの機能特定を防ぐことができる。また、プログラムの復号を、後から書込みされたOTP13bを含む復号部13にて行うので、復号のアルゴリズムの解析をも防止できる。
なお、暗号化の一例として圧縮符号化を挙げたが、これに限るものではなく、暗号化する関数のアルゴリズムとしては、例えばDESなどの通常のいわゆる暗号のアルゴリズムを用いてもよい。また、データビットの並び替えによって暗号化してもよい。
また、上述した入出力についての変形例を組み合わせることもできる。すなわち、(A)アドレス並べ替えによる暗号化、(B)ダミーデータを含めることによる暗号化、(C)いわゆる暗号化(ブロック暗号化)、(D)データビットの並び替えによる暗号化、(E)圧縮符号化を、それぞれ組み合わせても良い。このように組み合わせることによって、プログラムの不正な解読を困難にできる。
この場合、復号回路13a・OTP13bによる復号部13には、(A)アドレス並べ替え、(B)ダミーデータ、(C)通常の暗号化、(D)データビット並び替え、(E)圧縮符号化に対する復号を行うための復号器をそれぞれ設けて切換え可能とする。入出力回路(切換器)10の指示により、各復号器を切換える。
復号部13における復号方法の切換え方法としては、例えばOTP13bに、マシン番号の末尾のようなASIC8についての固有情報に応じて復号方法を切換える回路を組み込む。そして、不揮発性メモリ9に、暗号化を組み合わせて得たプログラムを記憶させておき、復号部13では、暗号化の組み合わせに応じて、逆の手順による復号化を行う。
暗号化の手順は特に限るものではない。例えば、(A)(B)(C)(D)(E)の順で暗号化してもよいし、または(A)(C)(B)…の順でも、(B)(A)(C)…でもよい。また、回数も各1回に限るものではなく、何度行ってもよいので、例えば(A)(B)(C)(D)(E)(A)(B)…のような手順であってもよい。
また、上述したプログラム入出力の変形例では、暗号化の組み合わせなどについて説明したが、本発明はこれに限るものではない。例えば、ASIC8に対するプログラム入力のタイミングをずらすことによって、プログラム入出力の様子をASIC8の外部に対して遮蔽し、極秘回路12aのアルゴリズムの不正な解析を困難にすることもできる。
以下では、不揮発性メモリ9に記憶されているプログラムを、画像形成装置1の電源投入時以外のタイミングにてダウンロードする構成について説明する。
本変形例の画像形成装置(電子装置)21は、図7に示すように、制御部22、操作部23、記憶部24、画像読取部25、画像処理部(半導体装置)26、および画像形成部27を備えている。
また、画像処理部26は、ASIC(半導体装置)28と不揮発性メモリ(記憶装置)29とを含んでいる。ASIC28は、入出力回路(入出力手段)30、画像処理回路31、極秘回路(プログラマブル回路)32a、揮発性メモリ32b、復号部(復号手段)33およびハッシュ関数回路(一方向性ハッシュ関数手段)34を備えている。
画像形成装置21は、内部に備える各部がバス形式で接続されている。制御部22、ASIC28および不揮発性メモリ29についても、互いにバス形式で接続されている。このため、不揮発性メモリ29からASIC28へのダウンロードは、制御部22の用いるバスと同じインタフェースで行う。この点が、図1に示す画像形成装置1とは異なっている。なお、図7に示す各部材22〜34は、図1に示す画像形成装置1に含まれる2〜14の部材とほぼ同様の機能を果たす部材であるので、特に説明する場合を除いて説明は省略する。
画像形成装置21においては、不揮発性メモリ9に記憶されているプログラムの読み込みを、画像形成装置21の電源オン時でなく、その後のコピー要求検出時に行う。より詳細には、制御部22が、制御部22がASIC28の入出力回路30に、プログラムの読み込み指示を行う。ASIC28においては、入出力回路30がデータを取得して、入力されるデータの振り分けを行う。入出力回路30は、不揮発性メモリ29に記憶されているプログラムをバス35を介して読み込む。入出力回路30は、得たプログラムを復号部33へと出力する。復号部33は、プログラムを復号して揮発性メモリ32bに記憶させる。
電源オンの際に読み込むのでなく、その後のタイミングにて読み込むので、不揮発性メモリ29からASIC28へのダウンロードを、制御部22から他の部材へのデータに紛れ込ませることができる。これによって不正な解析を困難にして、ASIC28の極秘回路32aへの入出力を、ASIC28の外部に対して遮蔽できる。プログラムの読み込みは、極秘回路32aを用いる前に行う。プログラムの読み込みは、画像処理回路33への入出力を開始した後に行ってもよい。または、プログラムの読み込みを、電源オン後に所定時間経過した後に行ってもよい。
画像形成装置21における、画像処理部26のプログラム読み込み動作の一例について、図8に基づいて説明する。
S15では、画像形成装置21の操作部23に対する電源オン指示を検出して、制御部22が画像形成装置21の電源をオンする。S16では、操作部23に対するコピー要求の有無を、制御部22が判別する。
S16にてコピー要求があった場合にはS19に進み、不揮発性メモリ29からASIC28にバス35を介してプログラムを読み込み、処理を終了する。電源オン時でないときにダウンロードするので、他のデータ転送に紛れ込ませることができる。S16にてコピー要求がなかった場合には、S17に進む。
S17では、バス35を介したデータの送受信などで、内部または外部へのアクセスが頻繁であるか否かを制御部22が判別する。具体的には、例えばバス35を介してパケット形式でデータを送受信する場合に、パケットの衝突確率が所定値以上となるか否かを判別する。S17においてアクセスが頻繁である場合には、S19に進んで制御部22からの指示を受けた入出力回路30がプログラムのダウンロードを行い、処理を終了する。このように、アクセスが頻繁である場合にダウンロードすれば、他のデータ転送に紛れ込ませて、不正な解析をさらに困難にできる。S17においてアクセスが頻繁でない場合には、S18に進んでダウンロード待機状態となり、S16に戻る。
以上のように、例えばコピー時に特定原稿判別に用いる極秘回路32aのように、極秘回路32aの画像特定機能を用いるタイミングが電源オンよりもずっと後である場合には、極秘回路32aのためのプログラムのダウンロードを後のタイミングとする。そして、制御部22と共用しているバス35にて、制御部22からのASIC28へのアクセスに紛れ込ませてプログラムをダウンロードする。このようにすれば、ASIC28へのデータ入出力について、バス35に対して不正に基板波形解析された場合であっても、プログラムの内容は特定されない。これに対して、通常の一般的な構成では、極秘回路のようなFPGAのプログラムのダウンロードを装置の電源オン時に行うため、不正に基板波形解析された場合に、プログラムの内容を特定されてしまう虞がある。
次に、画像形成装置21においてプログラム入出力のタイミングをずらす他の変形例について、図9に基づいて説明する。この変形例では、読み込むべきプログラムをパケットに分割し、各パケットをランダムなタイミングでダウンロードすることによって、プログラムの読み込みを他のデータ転送に紛れ込ませる。
S20では、画像形成装置21の操作部23に対する電源オン指示を検出して、制御部22が画像形成装置21の電源をオンする。S21では、入出力回路30がランダムに定めた時間の経過を待ち、その後S22に進む。
S22では、入出力回路30が、不揮発性メモリ29に記憶されたプログラムを分割したデータを、パケットとしてバス35を介して読み込む。S23では、全ての分割したデータをダウンロードしたか否かを入出力回路30が判別する。まだダウンロードしていないデータがある場合には、S21に戻ってランダム時間だけ待機した後に、S22にて次のデータをパケットとしてダウンロードする。S23において全てのデータをダウンロードしていると判別した場合には処理を終了する。
以上の処理によれば、分割したデータを、ランダムなタイミングで順次パケットとしてダウンロードするので、データのダウンロードを他のデータ転送に紛れ込ませるようにして、プログラムの不正な解読を困難にできる。
このように、所定の単位のパケットなど、ダウンロードすべきデータを分割して、制御部22からのASIC28へのアクセスに紛れ込ませてダウンロードする。復号したデータはASIC28の揮発性メモリ32bに格納する。ここで、データをダウンロードする時間間隔をランダムにすれば、不正な読取によるプログラムの判別をさらに困難にできる。また、ダウンロードするデータの分割パケットサイズをランダムにしてもよい。なお、通常の一般的な構成のように、パケットを連続して送受信することによってプログラムのダウンロードを行う場合には、不正に基板波形解析された場合にプログラムの内容を特定されてしまう虞がある。
また、画像形成装置21における画像処理部26のプログラム読み込み動作は、上述の構成に限るものではない。例えば、プログラム読み込み動作を制御部22からのASIC28へのアクセスに紛れ込ませるために、入出力回路30からの指示に応じて制御部22がASIC28にダミーライト、ダミーアクセスしてもよい。このように、制御部2からのダミーアクセスに紛れ込ませてプログラムのダウンロードを行っても、データを紛れ込ませて不正な解析を困難にできる。
なお、図7に示す画像形成装置21、画像処理部26に基づいて、制御部22の用いるバス35を共用して、入出力回路30を介してプログラムを読み込む動作を説明したが、この構成に限るものではない。
例えば、図1に示すように、ASIC8と不揮発性メモリ9とが直接接続されてデータ転送を行う画像処理部6、画像形成装置1であってもよい。また、この場合に不揮発性メモリ9とASIC8とのデータ転送を制御する転送制御部が、ASIC8に含まれていてもよい。但し、この構成であれば、ASIC8と不揮発性メモリ9とが1対1で直接接続されているため、他のデータ転送に紛れ込ませるのは難しい。このため、プログラム転送のタイミングが不正に検出される可能性がある。
また、図1に示す画像形成装置1、図7に示す画像形成装置21は、それぞれ復号回路を1つずつ備えているが、これに限るものではない。複数の復号回路を有する画像形成装置であってもよい。
本変形例の画像形成装置(電子装置)41は、図10に示すように、制御部42、操作部43、記憶部44、画像読取部45、画像処理部(半導体装置)46、および画像形成部47を備えている。
また、画像処理部46は、ASIC(半導体装置)48と不揮発性メモリ(記憶装置)49a・49bとを含んでいる。ASIC48は、入出力回路(入出力手段、切換器)50、画像処理回路51、極秘回路(プログラマブル回路)52a、揮発性メモリ52b、復号部53a・53b、およびハッシュ関数回路(一方向性ハッシュ関数手段)54を備えている。復号部53aは復号回路53cおよびOTP(プログラマブルROM、ワンタイムプログラマブルROM、鍵データ書込み領域)53dからなり、復号部53bは復号回路53eおよびOTP(プログラマブルROM、ワンタイムプログラマブルROM、鍵データ書込み領域)53fからなる。
本実施形態の画像処理部46は、複数の復号部53a・53bおよび不揮発性メモリ49a・49bを含んでいる点が、上述の実施形態と異なる点である。なお、図10に示す各部材42〜54は、図1に示す画像形成装置1に含まれる2〜14の部材とほぼ同様の機能を果たす部材であるので、特に説明する場合を除いて説明は省略する。
上記構成の画像処理部46においては、不揮発性メモリ49a・49bからのプログラムの読み込みを入出力回路50が行い、それぞれ独立に備えられた復号部53a・53bに出力する。入出力回路50による不揮発性メモリ49a・49bへのアクセスタイミングは任意に定めることができ、例えば上述のようにタイミングをずらして読み込んでもよいし、またはランダム時間間隔で読み込んでもよい。各復号部53a・53bは復号したプログラムを揮発性メモリ52bにダウンロードする。揮発性メモリ52bから極秘回路52aへとプログラムがダウンロードされ、極秘回路52aが機能するようになる。
このように、ASIC48に複数のインタフェースが備えられている場合には、それぞれのインタフェースを介してプログラムを読み込めば、不正な解析を困難にできる。
以上のように、本発明は、FPGAのようなプログラム可能な回路を内蔵するASICに関するものであり、より詳しくはFPGA部に格納するプログラムの隠蔽に関する。上述の半導体装置は、FPGA(プログラム可能な回路)を内蔵するASICであって、固定回路として対象処理の外部に対するインタフェース、および暗号化されたFPGA用プログラムの復号手段を備えた構成である。これにより、プログラム可能な回路の処理をブラックボックス化できるASICを提供する。また、ASICベンダーを含めた外部に対して知られたくない極秘回路(紙幣追跡、認識回路等)を、ASIC内部でFPGA化し、さらに製品の基板で波形解析しても、FPGA領域の極秘回路内容の解析を困難にできるASIC回路構成を提供する。
ここで、従来は、図11に示すように、画像処理部の画像処理回路61、極秘回路62a、RAM62b、ROM63は、いずれもむき出しの状態となっており、各回路の入出力を容易に検出できるようになっていた。このため、この状態で画像データを入力し、これに対する応答を検出することによって、画像データ中のどのような特徴を判別しているか、推測されてしまうという問題があった。
ここで、従来技術としては、(1)極秘回路をASICに内蔵する構成、(2)極秘回路を外付けのFPGAに入れ、コピー防止手段を設ける構成、(3)極秘回路を含めて全ての回路をFPGA化する構成、(4)極秘回路のみをFPGA、他をASICとしワンチップ化する構成などがある。
ここで、上記(1)の構成には、さらに以下のような問題がある。まず、極秘回路をASIC化するには、少なくともゲートレベル回路をASICベンダーに出図する必要がある。このようなゲートレベル回路があれば、理論的には、逆コンパイルで回路ソースの推定が可能である。また、ASICベンダーに極秘回路部分を含めた出荷検査用のテストパターンを出図する必要があり、回路の推定に対する情報を与えてしまう。なお、テストパターンを出図しないと、故障検出率が上がらずASIC量産品の不良率が上がる可能性がある。
また、上記(2)の構成は、一般回路のASICに基板システム上で極秘回路部分を外付けのFPGAとするものである。この構成においては、例えば特許文献2、3、に記載のように、応答シーケンスについてもマッチングを取るキーデータマッチングによってFPGAのコピーを防止したとしても、製品基板上で実動作時にFPGAの外部端子が丸見えであるため、この端子を解析することにより回路の動作及び内容を推測される可能性がある。また、一般的にFPGAのダウンロードは電源立ち上げ時に行われるが、そのダウンロード時のデータを解析される虞がある。
また、上記(3)の構成は、現状の大規模・高速動作可能なFPGAが非常に高価であることから、システムチップのような大規模回路をFPGAで量産する事は現実的でないといえる。
また、上記(4)のように、単純に極秘回路のみをFPGAとし、他をASIC化してワンチップ化する場合も考えられる。しかし、ベンダーにはFPGA周辺の回路構成が顧客出図ゲートから推定可能である。また、ベンダー設計のFPGAであるため、製品基板の波形観測等によるFPGAへのダウンロードデータ解析により、極秘部分の回路解析が可能である。また、あるベンダーで設計した他の顧客にも、同一のFPGA設計に対する資料が配布されてしまうので、ROMデータにより回路の推定が可能である可能性がある。
上述の具体的な実施形態または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、本発明はそのような具体例にのみ限定して狭義に解釈されるべきものではなく、特許請求の範囲に示した範囲で種々の変更が可能であり、変更した形態および異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。
本発明に係る半導体装置は、内部アルゴリズムの不正解読を防止できるので、例えば紙幣を検出して紙幣の複製を防止するための画像処理回路に適用して、画像形成装置に利用することができる。
本発明に係る半導体装置の一例を備えた画像形成装置の概略のブロック図である。 上記半導体装置を製造する手順を説明するためのブロック図である。 上記半導体装置を製造手順を示すフローチャートである。 (a)は上記半導体装置の一例の一部を示すブロック図であり、(b)は上記半導体装置の動作を示すフローチャートである。 (a)は上記半導体装置の他の一例の一部を示すブロック図であり、(b)は上記半導体装置の動作を示すフローチャートである。 (a)は上記半導体装置のさらに他の一例の一部を示すブロック図であり、(b)は上記半導体装置の動作を示すフローチャートである。 本発明に係る半導体装置の他の一例を備えた画像形成装置の概略のブロック図である。 上記半導体装置の動作を示すフローチャートである。 上記半導体装置の動作を示すフローチャートである。 本発明に係る半導体装置のさらに他の一例を備えた画像形成装置の概略のブロック図である。 従来の半導体装置の一部を示す概略のブロック図である。
符号の説明
1、21、41 画像形成装置(電子装置)
2、22、42 制御部
6、26、46 画像処理部(半導体装置)
8、28、48 ASIC(半導体装置)
9、29、49a、49b 不揮発性メモリ(記憶装置)
10、30、50 入出力回路(入出力手段、切換器)
11、31、51 画像処理回路
12a、42a、52a 極秘回路(プログラマブル回路)
12b、32b、52b 揮発性メモリ
13、33、53a、53b 復号部(復号手段)
13a、33a、53c、53e 復号回路
13b、33b、53d、53f OTP(プログラマブルROM、ワンタイムプログラマブルROM、鍵データ書込み領域)
14、34、54 ハッシュ関数回路(一方向性ハッシュ関数手段)
20 OTPROM書込回路

Claims (24)

  1. プログラマブル回路と固定ロジック回路とを含んでいる半導体装置において、
    上記プログラマブル回路および上記固定ロジック回路にデータを入出力する入出力手段を備え、
    上記入出力手段が、上記プログラマブル回路に対するデータ入出力を、半導体装置本体の外部に対して隠蔽することを特徴とする半導体装置。
  2. 上記入出力手段が、上記プログラマブル回路からの出力のタイミングをずらして半導体装置本体から出力することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴とする請求項1に記載の半導体装置。
  3. 上記入出力手段が、上記プログラマブル回路からの出力のタイミングをランダムにずらすことを特徴とする請求項2に記載の半導体装置。
  4. 上記入出力手段が、上記プログラマブル回路からの出力を暗号化して半導体装置本体から出力することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴とする請求項1に記載の半導体装置。
  5. 上記プログラマブル回路が揮発性のプログラマブル回路であり、
    上記入出力手段が、上記プログラマブル回路のプログラムデータを、半導体装置本体が備えられている電子装置の電源立ち上げ時以外のタイミングにて、半導体装置本体の外部から取得することによって、データ入出力を半導体装置本体の外部に対して隠蔽することを特徴とする請求項1に記載の半導体装置。
  6. 上記入出力手段が、複数に分割された上記プログラムデータを取得することを特徴とする請求項5に記載の半導体装置。
  7. 上記入出力手段が、ランダムなサイズに分割された上記プログラムデータを取得することを特徴とする請求項6に記載の半導体装置。
  8. 上記入出力手段が、複数に分割された上記プログラムデータを、ランダムな時間間隔で取得することを特徴とする請求項6に記載の半導体装置。
  9. 上記入出力手段が、上記プログラムデータを取得するための複数のインタフェースを有していることを特徴とする請求項5に記載の半導体装置。
  10. 上記プログラマブル回路のプログラムデータからチェック用データを作成する一方向性ハッシュ関数手段を備えていることを特徴とする請求項1に記載の半導体装置。
  11. 半導体装置本体が、画像処理を行う画像処理部であり、
    上記プログラマブル回路において、特定原稿の認識処理を行うことを特徴とする請求項1に記載の半導体装置。
  12. 暗号化された、上記プログラマブル回路のプログラムデータを復号するための復号手段を備えていることを特徴とする請求項1ないし11のいずれか1項に記載の半導体装置。
  13. 上記復号手段の少なくとも一部を、半導体装置本体の外部から書き込み可能で読み出し不可能なプログラマブルROMで構成したことを特徴とする請求項12に記載の半導体装置。
  14. 上記プログラマブルROMが、ワンタイムプログラマブルROMであることを特徴とする請求項13に記載の半導体装置。
  15. 上記プログラマブルROMに、鍵データを書き込むと上記復号手段が上記プログラムデータを復号するために機能する鍵データ書込み領域を設けたことを特徴とする請求項13に記載の半導体装置。
  16. 上記復号手段が、アドレス操作によって暗号化された上記プログラムデータを復号することを特徴とする請求項12に記載の半導体装置。
  17. 上記復号手段が、ダミーデータの混合された上記プログラムデータを復号することを特徴とする請求項12に記載の半導体装置。
  18. 上記復号手段が、ブロック暗号化された上記プログラムデータを復号することを特徴とする請求項12に記載の半導体装置。
  19. 上記復号手段が、データビットの並べ替えによって暗号化された上記プログラムデータを復号することを特徴とする請求項12に記載の半導体装置。
  20. 上記復号手段が、圧縮符号化によって暗号化された上記プログラムデータを復号することを特徴とする請求項12に記載の半導体装置。
  21. 上記復号手段が、アドレス操作によって暗号化された上記プログラムデータを復号する第1復号器と、ダミーデータの混合された上記プログラムデータを復号する第2復号器と、ブロック暗号化された上記プログラムデータを復号する第3復号器と、データビットの並べ替えによって暗号化された上記プログラムデータを復号する第4復号器と、圧縮符号化によって暗号化された上記プログラムデータを復号する第5復号器とを有しており、
    上記入出力手段が、第1復号器、第2復号器、第3復号器、第4復号器、および第5復号器を所望の順番で切換えて用いる切換器として動作することを特徴とする請求項12に記載の半導体装置。
  22. 上記復号手段が、上記プログラムデータを取得したときに、上記切換器の上記所望の順番を設定することを特徴とする請求項21に記載の半導体装置。
  23. 請求項1に記載の半導体装置と上記プログラマブル回路のプログラムデータを記憶した記憶装置とを一体にパッケージした半導体装置。
  24. 請求項1に記載の半導体装置と上記プログラマブル回路のプログラムデータを記憶した記憶装置とを備えている電子装置。
JP2004062981A 2004-03-05 2004-03-05 半導体装置および電子装置 Expired - Lifetime JP4294514B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004062981A JP4294514B2 (ja) 2004-03-05 2004-03-05 半導体装置および電子装置
CNB2005100783178A CN100390760C (zh) 2004-03-05 2005-03-04 半导体装置和电子装置
US11/073,422 US20050198404A1 (en) 2004-03-05 2005-03-04 Semiconductor device and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004062981A JP4294514B2 (ja) 2004-03-05 2004-03-05 半導体装置および電子装置

Publications (2)

Publication Number Publication Date
JP2005251017A true JP2005251017A (ja) 2005-09-15
JP4294514B2 JP4294514B2 (ja) 2009-07-15

Family

ID=34909295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004062981A Expired - Lifetime JP4294514B2 (ja) 2004-03-05 2004-03-05 半導体装置および電子装置

Country Status (3)

Country Link
US (1) US20050198404A1 (ja)
JP (1) JP4294514B2 (ja)
CN (1) CN100390760C (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234001A (ja) * 2006-01-31 2007-09-13 Semiconductor Energy Lab Co Ltd 半導体装置
JP2009302887A (ja) * 2008-06-13 2009-12-24 Kyocera Mita Corp 情報秘匿化方法および情報秘匿化装置
JP2010102638A (ja) * 2008-10-27 2010-05-06 Fuji Xerox Co Ltd 電子機器
JP2013097539A (ja) * 2011-10-31 2013-05-20 Mitsutoyo Corp 制御装置および制御プログラム不正読み出し防止方法
JP2021005771A (ja) * 2019-06-26 2021-01-14 京セラドキュメントソリューションズ株式会社 電子機器
JPWO2021033306A1 (ja) * 2019-08-22 2021-02-25

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941860B2 (en) * 2005-05-13 2011-05-10 Intel Corporation Apparatus and method for content protection using one-way buffers
EP1983497A1 (en) * 2006-02-06 2008-10-22 Matsushita Electric Industrial Co., Ltd. Secure processing device, method and program
TW200741723A (en) * 2006-04-21 2007-11-01 Holtek Semiconductor Inc Method for calibrating parameter of integrated circuit
WO2008004169A2 (en) * 2006-07-04 2008-01-10 Koninklijke Philips Electronics N.V. Execution of computer instructions with reconfigurable hardware
KR100913025B1 (ko) * 2006-12-27 2009-08-20 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 암호화 방법
US9866370B2 (en) * 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine
BRPI0905956A2 (pt) * 2008-02-06 2015-06-30 Capis Sprl Método de determinação de banda de frequência característica de uma doença cardíaca, método para a detecção de doenças cardíacas, dispositivo programável e conjunto de instruções em meio legível por computador
US8683210B2 (en) * 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
CN104617944B (zh) * 2010-06-24 2018-03-16 太阳诱电株式会社 半导体装置
CN102289413B (zh) * 2011-09-05 2014-06-18 汤红梅 一种数据隐藏方法
WO2013172913A2 (en) * 2012-03-07 2013-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channels attacks
US10509918B1 (en) * 2015-09-18 2019-12-17 Hrl Laboratories, Llc One-time obfuscation for polynomial-size ordered binary decision diagrams (POBDDs)

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9121591D0 (en) * 1991-10-11 1991-11-27 Pilkington Micro Electronics Data security arrangement for semiconductor programmable logic devices
US6089460A (en) * 1996-09-13 2000-07-18 Nippon Steel Corporation Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor
US6857099B1 (en) * 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US6023781A (en) * 1996-09-18 2000-02-08 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US6260172B1 (en) * 1997-09-05 2001-07-10 Nippon Steel Corporation Semiconductor device with logic rewriting and security protection function
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6530021B1 (en) * 1998-07-20 2003-03-04 Koninklijke Philips Electronics N.V. Method and system for preventing unauthorized playback of broadcasted digital data streams
US6356637B1 (en) * 1998-09-18 2002-03-12 Sun Microsystems, Inc. Field programmable gate arrays
EP1124330A3 (en) * 2000-02-09 2001-09-19 Algotronix Ltd. Method of using a mask programmed secret key to securely configure a field programmable gate array
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
US20040053654A1 (en) * 2000-07-25 2004-03-18 Hitoshi Kokumai Secret information record medium, secret information protection method, secret information protective storing method, and system for reporting emergency such as theft or confinement when secret information is accessed
US6331784B1 (en) * 2000-07-28 2001-12-18 Atmel Corporation Secure programmable logic device
JP2002150306A (ja) * 2000-09-04 2002-05-24 Minolta Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読取可能な記録媒体
JP4153653B2 (ja) * 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
US6959090B1 (en) * 2000-11-20 2005-10-25 Nokia Corporation Content Protection scheme for a digital recording device
US6981153B1 (en) * 2000-11-28 2005-12-27 Xilinx, Inc. Programmable logic device with method of preventing readback
DE10105987A1 (de) * 2001-02-09 2002-08-29 Infineon Technologies Ag Datenverarbeitungsvorrichtung
TW508494B (en) * 2001-03-28 2002-11-01 Shansun Technology Company Data protection device capable of self-defining address arrangement sequence in protection area of storage device
US20020168067A1 (en) * 2001-05-08 2002-11-14 Timofei Kouzminov Copy protection method and system for a field-programmable gate array
US6617565B2 (en) * 2001-11-06 2003-09-09 Omnivision Technologies, Inc. CMOS image sensor with on-chip pattern recognition
CN1180351C (zh) * 2001-12-10 2004-12-15 中国科学院软件研究所 强化错乱的分组密码加密方法
JP2003333030A (ja) * 2002-05-16 2003-11-21 Nec Corp タイムシフト出力方法及びタイムシフト出力装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234001A (ja) * 2006-01-31 2007-09-13 Semiconductor Energy Lab Co Ltd 半導体装置
JP2009302887A (ja) * 2008-06-13 2009-12-24 Kyocera Mita Corp 情報秘匿化方法および情報秘匿化装置
JP2010102638A (ja) * 2008-10-27 2010-05-06 Fuji Xerox Co Ltd 電子機器
JP2013097539A (ja) * 2011-10-31 2013-05-20 Mitsutoyo Corp 制御装置および制御プログラム不正読み出し防止方法
JP2021005771A (ja) * 2019-06-26 2021-01-14 京セラドキュメントソリューションズ株式会社 電子機器
JPWO2021033306A1 (ja) * 2019-08-22 2021-02-25
WO2021033306A1 (ja) * 2019-08-22 2021-02-25 日本電信電話株式会社 アクセラレータ制御システムおよびアクセラレータ制御方法
JP7236011B2 (ja) 2019-08-22 2023-03-09 日本電信電話株式会社 アクセラレータ制御システムおよびアクセラレータ制御方法
US11822966B2 (en) 2019-08-22 2023-11-21 Nippon Telegraph And Telephone Corporation Accelerator control system and accelerator control method

Also Published As

Publication number Publication date
US20050198404A1 (en) 2005-09-08
JP4294514B2 (ja) 2009-07-15
CN1684050A (zh) 2005-10-19
CN100390760C (zh) 2008-05-28

Similar Documents

Publication Publication Date Title
JP4294514B2 (ja) 半導体装置および電子装置
JP6621894B2 (ja) 偽造防止通信システム
EP2491510B1 (en) Distribution system and method for distributing digital information
EP2161671A2 (en) Device with privileged memory and applications thereof
JP6297137B2 (ja) メディアコンテンツに透かしに入れる方法及びこの方法を実施するシステム
US7076667B1 (en) Storage device having secure test process
EP1612988A1 (en) Apparatus and/or method for encryption and/or decryption for multimedia data
US20040177257A1 (en) Data processing device and data processing method
JP2004342046A (ja) ソフトウエア認証方法、ソフトウエア認証プログラム
CN103282913B (zh) 用于加载至少一个软件模块的代码的方法
JP2006236064A (ja) メモリ制御装置およびメモリシステム
JP4758904B2 (ja) 機密情報処理方法
JP2006085676A (ja) 暗号化命令処理装置
CN107534559B (zh) 用于媒体内容的基于会话的水印的方法
JP2007304847A (ja) メモリ装置
EP1143656B1 (en) Copyright protection system, encryption device, decryption device, and recording medium
KR20100120671A (ko) 스마트 카드의 보안
JP2006523049A (ja) パーソナルビデオレコーダにおけるデジタル音声/映像データの暗号化/復号化のためのチップ毎のユニーク識別子
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
JPWO2015045172A1 (ja) 情報処理装置及び情報処理方法
JP2004208088A (ja) デバイス鍵復号化装置、デバイス鍵暗号化装置、デバイス鍵暗号復号化装置、デバイス鍵復号化方法、デバイス鍵暗号化方法、デバイス鍵暗号復号化方法、及びそのプログラム
KR102583995B1 (ko) 암호화 프로그램 다양화
US20050283777A1 (en) Secure method to update software in a security module
JP2008009717A (ja) 情報処理端末およびコンテンツ書き込みシステム
JP2001306401A (ja) 認証通信装置及び認証通信システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

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: 20090407

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: 20090408

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

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4294514

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: 20120417

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4