JP2016021772A - 物理的な攻撃を防御する暗号化装置及び暗号化方法 - Google Patents

物理的な攻撃を防御する暗号化装置及び暗号化方法 Download PDF

Info

Publication number
JP2016021772A
JP2016021772A JP2015189092A JP2015189092A JP2016021772A JP 2016021772 A JP2016021772 A JP 2016021772A JP 2015189092 A JP2015189092 A JP 2015189092A JP 2015189092 A JP2015189092 A JP 2015189092A JP 2016021772 A JP2016021772 A JP 2016021772A
Authority
JP
Japan
Prior art keywords
encryption
encryption key
module
key module
inverter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015189092A
Other languages
English (en)
Inventor
ドン キュ キム
Dong Kyue Kim
ドン キュ キム
ビョン デク チョイ
Byong Deck Choi
ビョン デク チョイ
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.)
ICTK Co Ltd
Original Assignee
ICTK 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 ICTK Co Ltd filed Critical ICTK Co Ltd
Publication of JP2016021772A publication Critical patent/JP2016021772A/ja
Pending 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

【課題】物理的な攻撃、例えば、ICチップを分解してメモリ内の暗号キーの格納部分の情報を読み出したり、マイクロプロービング(Micro−probing)によって抽出する攻撃のようなセキュリティ上の攻撃に対応したセキュリティ装置を提供する。
【解決手段】セキュリティ装置100において、暗号化アルゴリズムに用いられる暗号キーを暗号化モジュール110内部に隠匿する。暗号キーは暗号化モジュール110内部に物理的な暗号キーモジュール111として含まれてもよく、また、暗号キーを格納しているいずれかの格納媒体が前記暗号化モジュール内に含まれてもよい。
【効果】暗号化のためにセキュリティ装置100内のバス102などによって暗号キーが送信されないためにバスプロービングなどの物理的な攻撃に安全である。
【選択図】図1

Description

デジタルセキュリティ分野に関し、より詳細には、スマートカードなどのICセキュリティモジュールで物理的な攻撃を防御することができるように暗号化キーの管理を行う暗号化装置及び方法に関する。
スマートカードは、クレジットカードのような大きさのプラスチックカードとしてデータを加工して処理できる集積回路(Integrated Circuit;IC)を含む。このようなスマートカードは、従来におけるマグネチックカードに比べて様々な長所を有するが、自体データの格納容量を有し、マイクロプロセッサーと共にコプロセッサ(co−processor)などの処理部を有する。
したがって、ID(Identification)のための個人情報取り扱い及び金融決済情報などの取り扱いのために暗号化アルゴリズムを用いた暗号化(encryption)演算を自主的に行ったりする。
一方、各種のIT技術の発展に伴ってスマートカードが広く普及されながら、スマートカードに対する様々なセキュリティの威嚇も増加している。
例えば、ICチップに対する逆行分析(Reverse Engineering)技術を用いてICチップ内の情報を読み出すような物理的な攻撃はセキュリティに大きな問題いなっている。
物理的な攻撃のうち知られている数個は、ハードウェアセキュリティモジュールに用いられるEEPROM、ROMのメモリ特性、及びデータ格納方式によりバスプロービング(bus probing)、テストモードプロービング(test−mode probing)、ROMやEEPROMに対する重ね書き(overwriting)などの攻撃方法がある。
スマートカードに対する物理的な攻撃に強靭な暗号化装置及び方法を提供する。
特に、生成されたり格納されている暗号キーがメモリ内で直接抽出されない暗号化装置及び方法を提供する。また、スマートカードのICチップ内のバスによって流出されない暗号化装置及び方法を提供する。
本発明の一側面によると、暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行う暗号化装置において、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含む暗号化装置が提供される。
前記暗号化モジュールは、それぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含み、この場合、前記暗号化モジュールは、前記複数の暗号キーモジュールのいずれか1つを選択する暗号キーモジュール選択部と、前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化部とを備えてもよい。
また、前記暗号キーモジュール選択部は、前記複数の暗号キーモジュールのうち、予め付与された識別インデックスに対応する暗号キーモジュールを選択してもよい。
本発明の一実施形態によると、前記暗号化モジュールは複数の標準セルを含み、前記複数の暗号キーモジュールは前記暗号化モジュールに含まれる複数の標準セルのレイアウトのうちランダムに配置される。標準セルは、暗号化モジュールの実現に使用される規格化された素子または素子ブロックであってもよい。
前記暗号化装置において、前記暗号化モジュールは、前記暗号化モジュールの内部に含まれた前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行い、前記暗号キーモジュールが提供する暗号キーは前記暗号化モジュール外部に流出されず、前記暗号化アルゴリズムを行うために他の追加的暗号化キーが前記暗号化モジュールに流入されない。
本発明の一実施形態によると、前記暗号キーモジュールは、予め生成された前記暗号キーを格納する不揮発性メモリモジュールである。
本発明の他の一実施形態によると、前記暗号キーモジュールは、前記暗号キーを生成して提供する非メモリモジュールである。
この場合、前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記暗号キーモジュール内のノード間の短絡の有無が確率的に決定され、前記暗号キーモジュールは、前記ノード間の短絡の有無を読み出した結果に応じて前記暗号キーを生成して提供してもよい。
ここで、前記暗号キーモジュール内のノードは半導体の導電レイヤであり、前記デザインルールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアのサイズに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアが前記導電レイヤを短絡するかの有無を用いて前記暗号キーを生成して提供してもよい。
一方、前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記半導体の導電レイヤ間に形成される前記コンタクトまたはビアが前記導電レイヤを短絡する確率と短絡できない確率の差が所定の誤差範囲内にあるようにする前記コンタクトまたはビアのサイズを有してもよい。
本発明の一実施形態によると、前記暗号キーモジュールは、一対の導電レイヤとその間を接続する1つのコンタクトまたはビアを用いて1ビットのデジタル値を生成する単位構造をN個有し(ただし、Nは自然数である)、前記N個の単位構造によって生成したNビットのデジタル値を前記暗号キーで生成する。
この場合、前記暗号キーモジュールは、前記生成されたNビットのデジタル値をk個単位でグループ化し(ただし、kは自然数である)、グループ化された複数のグループのうち第1グループ及び第2グループを比較して前記第1グループに含まれたk個のデジタルビットで構成された値が前記第2グループに含まれたk個のデジタルビットで構成された値よりも大きい場合は前記第1グループと前記第2グループを代表するデジタル値を1に決定し、反対の場合には前記第1グループと前記第2グループを代表するデジタル値を0に決定し、N/kビットのデジタル値を前記暗号キーで生成してもよい。
本発明の他の一実施形態によると、前記暗号キーモジュール内のノードは半導体の導電レイヤであり、前記デザインルールは、前記半導体の導電レイヤ間のギャップに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間が短絡されるかの有無を用いて前記暗号キーを生成して提供してもよい。
本発明の他の実施形態によると、前記暗号キーモジュールは、それぞれ1ビット(ただし、Nは自然数である)のデジタル値を出力するN個の単位セルを含み、前記N個の単位セルのそれぞれは、半導体製造工程偏差に基づいて1ビットのデジタル値を生成し、前記暗号キーモジュールがNビットの暗号キーを生成して提供してもよい。
この場合、前記N個の単位セルのうち第1単位セルは、第1論理閾値を有する第1インバータと、第2論理閾値を有する第2インバータとを含み、前記第1インバータの入力端子及び前記第2インバータの出力端子は第1ノードに接続され、前記第1インバータの出力端子及び前記第2インバータの入力端子は第2ノードに接続されてフィードバック構造をなし、前記第1論理閾値と前記第2論理閾値は半導体製造工程偏差に基づいて異なり、前記第1ノードの論理レベルと前記第2ノードの論理レベルに応じて前記第1単位セルに対応する1ビットデジタル値が決定されてもよい。
一方、本発明の更なる実施形態によると、前記暗号キーモジュールは、N個(但し、Nは自然数)の差動増幅器を含み、前記N個の差動増幅器のうち第1差動増幅器において、前記第1差動増幅器の2つの入力端子が短絡される場合、前記第1差動増幅器の2つの出力端子の論理レベルは半導体製造工程偏差に基づいて異なり、前記2つの出力端子の論理レベルに応じて前記第1差動増幅器に対応する1ビットデジタル値が決定され、前記暗号キーモジュールがNビットの暗号キーを生成して提供してもよい。
本発明の他の一実施形態によると、暗号化するデータを暗号キーを提供する暗号キーモジュールを内部に含む暗号化モジュール内に入力されるステップと、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行って前記データを暗号化するステップとを含む暗号化方法が提供される。
本発明の他の一実施形態によると、暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行うICチップにおいて、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含むICチップが提供される。
この場合、前記ICチップは、スマートカードに内蔵されて前記スマートカードの応用例において前記暗号化アルゴリズムを行ってもよい。
本発明によると、暗号化モジュールの外部でキーを生成してメモリに格納したり、バスなどを介してキーを送信しないことで、不揮発性メモリそのものに対する攻撃やバスプロービングなどの物理的な攻撃に安全である。
本発明によると、モジュールの内部で他の標準セル(standard cell)に類似する形状でランダムに配置されるため、暗号キーモジュールが直接に発見されることが難しいため、メモリの内容を物理的な攻撃によって抽出する攻撃から安全である。
また、暗号キーを格納する不揮発性メモリを必要としないため、空間及び電力使容量の改善を図ることができる。
本発明の一実施形態に係る暗号化装置を示す。 本発明の一実施形態に係る暗号化モジュールを示す。 本発明の一実施形態に係る暗号化モジュールの例示的構成を示すブロック図である。 本発明の一実施形態により工程偏差を用いて暗号キーを生成するPUF(Physical Unclonable Functions)形態の暗号キーモジュールを構成する単位セルの概念を説明するための例示的な回路図である。 図4に示す実施形態を理解するための参考グラフである。 本発明の一実施形態に係る暗号キーモジュールの例示的な実現を示すブロック図である。 本発明の一実施形態により差動増幅器の工程偏差を用いてデジタル値を生成する暗号キーモジュールの単位セルを示す。 本発明の一実施形態により暗号キーモジュールが実現された例示的な回路図を示す。 本発明の一実施形態により半導体デザインルールを意図的に違反して暗号キーモジュールを生成する原理を説明するための概念図である。 本発明の一実施形態により半導体デザインルールを意図的に違反して実現する暗号キーモジュールの構成を説明するためのグラフである。 本発明の一実施形態により導電レイヤ間のギャップを調整して暗号キーモジュールを生成する過程を説明するための概念図である。 本発明の一実施形態に係る暗号キーモジュールを実現するために半導体レイヤに形成されたビアまたはコンタクトアレイの例示的な構造を示す概念図である。 本発明の一実施形態により図12に示す実施形態で生成されたデジタル値をそのまま暗号キーとして使用せず、0と1のバランスのために後処理する過程を説明するための概念図である。
以下、発明の一部実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
図1は、本発明の一実施形態に係る暗号化装置100を示す。
例示的に、暗号化装置100はスマートカードのICチップに含まれる構成であってもよく、データを格納するためのEEPROM120、CPU130、及び選択的にSDRAM140を有し、I/Oインタフェース101を介して外部と通信する。
暗号化装置100には暗号化モジュール110が含まれるが、例示的に、暗号化モジュール110は暗号化のためのクリプトコプロセッサ(Crypto co−processor)であってもよい。
以下で特別な記載がなくても、スマートカードまたはスマートカードのICチップが含む暗号化装置100の応用例に応じて、EEPROM120、CPU130、及び選択的にSDRAM140のうち少なくとも一部は省略されてもよく、本発明の思想から離れない範囲で様々な変形や応用が可能である。
また、以下で特別な記載がなくても、I/Oインタフェース101は接触式及び/または非接触式などの方式に問わず、暗号化装置100に出入されるデータの入出力ルートとなる。
一方、本発明の実施形態に係る暗号化装置100の暗号化モジュール110は、暗号化アルゴリズムを行う過程で暗号キーを用いることができる。このような暗号キーは、公開キー、暗号キーなどを含む概念であってもよい。
従来には、暗号化アルゴリズムを行うための暗号キーを暗号化モジュール110の外部にデジタル値の形態で格納し、暗号化モジュール110が暗号化アルゴリズムを行ってデータを暗号化及び/または復号化する過程で前記暗号キーはバス102を介して入力される。
ところが、このような方式は、暗号化アルゴリズム及び/または暗号キーを把握しようとする物理的な攻撃に脆弱であった。
このような物理的な攻撃は、EEPROM120などのメモリで暗号キーがある領域を直接攻撃してプロービングやメモリスキャンのような方法でメモリ内の暗号キーを抽出することができる。また、逆行分析を行ってICチップからバス102の位置が確認されるために特定の命令語を人為的に実行させ、このときマイクロプローブ(Micro−probe)を用いたバスプロービングなどを実行すれば暗号キーが抽出される。
本発明の一実施形態によると、暗号キーは暗号化モジュール110内に含まれた暗号キーモジュール111が直接に生成したり及び/または予め生成された暗号キーを暗号キーモジュール111が格納してから暗号化モジュール110が暗号化アルゴリズムを行う場合に提供する。
したがって、前記実施形態によると、暗号化モジュール110が暗号化アルゴリズムを行う過程で用いる暗号キーがデジタル値の形態に暗号化モジュール110の外部に格納されず、バス102を介して暗号キーが伝達されないことから暗号化モジュール110の暗号化アルゴリズムに対する物理的な攻撃を防止することができる。
暗号キーを生成したり及び/または格納して暗号化モジュール110の暗号化アルゴリズムを実行するとき提供する暗号キーモジュール111は物理的に暗号化モジュール110内に含まれ、その構成及び動作に関する様々な例示的な実施形態については図2を参考して後述する。
図2は、本発明の一実施形態に係る暗号化モジュール110を示す。
図1に示すように、暗号化モジュール110は暗号化装置100で他の構成とバス102を介して接続されてもよい。
本発明の一実施形態によると、暗号化モジュール110内には少なくとも1つの暗号キーモジュール210、220、230、240及び250などが含まれる。
例示的に示された各暗号キーモジュール210、220、230、240及び250などは、それぞれ独立的または相互関連して暗号化アルゴリズムの実行に必要な暗号キーを生成及び/または格納し、暗号化モジュール110に提供する。
一部の実施形態において、暗号化モジュール110内に暗号キーモジュールが1つのみ含まれてもよく、他の実施形態において図2に示すように複数含まれてもよい。
また、暗号化モジュール110内に暗号キーモジュールが複数含まれる場合、複数の暗号キーモジュール210、220、230、240及び250などのうち少なくとも一部は実際には暗号キーを提供しないダミー(dummy)である場合もある。
暗号キーモジュール210、220、230、240及び250などを実現する実施形態には、暗号キーモジュール210、220、230、240及び250などがメモリ素子である場合と非メモリ素子である場合がある。
もちろん、暗号キーモジュール210、220、230、240及び250などの一部はメモリ素子であり、他の一部は非メモリ素子である実施形態も可能であり、本発明が一部実施形態によって制限的に解釈されることはない。
例示的に、暗号キーモジュール210、220、230、240及び250などがメモリ素子から構成される実施形態では、予め生成されたデジタル値の形態の暗号キーがメモリ素子である暗号キーモジュール210、220、230、240及び250などに単に格納されてから、暗号化モジュール110が暗号化アルゴリズムを行う過程で必要に応じて読み出して使用する。
他の実施形態では、暗号キーモジュール210、220、230、240及び250などが非メモリ素子から構成される場合には、暗号キーモジュール210、220、230、240及び250などの少なくとも一部はPUF(Physically Unclonable Function)によって実現されてもよい。
暗号キーモジュール210、220、230、240及び250がPUFのような非メモリ素子から構成される実施形態においても、PUFを実現するための実施形態は様々であり、例示的に半導体製造の工程上のデザインルールを意図的に違反したり、または、半導体製造工程の工程偏差を用いて実現してもよい。
このような実施形態については図4ないし図13を参照して詳細に後述する。
図3は、本発明の一実施形態に係る暗号化モジュール110の例示的な構成を示すブロック図である。
暗号化しようとするデータがバス102などを経てデータ入力部310に入力されれば、暗号化アルゴリズムの実行が開始される。
図2を参考して説明したように、物理的に暗号化モジュール110内に含まれた暗号キーモジュール320は1つまたは複数であってもよい。
例示的に、暗号キーモジュール01 321ないし暗号キーモジュールN322(ただし、Nは自然数)が存在する場合、暗号キーモジュール選択部330は、実際に暗号化アルゴリズムに用いる暗号キーを提供する暗号キーモジュールを選択する。
このような選択は、暗号キーモジュール320を識別するインデックスのうち実際に選択される暗号キーモジュールのインデックス情報であってもよく、または、暗号キーモジュール320が暗号化モジュール110と共に設計されて製造される過程でワイヤリング(wiring)によって予め決定されたものであってもよい。
このような過程によって暗号キーが与えられれば、暗号化部340は、前記暗号キーを用いて暗号化アルゴリズムを行うことで前記入力されたデータを暗号化し、これはデータ出力部350を経てバス102を介して他の構成に伝達される。
以上はデータ暗号化の過程いついてのみ説明したが、暗号化アルゴリズムを用いる復号化過程も類似する。本発明の実施形態が暗号化または復号化のいずれか1つであると制限的に解釈されることはない。
このように暗号キーの管理が暗号化モジュール110内で自主的に行われることによって、暗号キーが暗号化モジュール110の外部に伝達されたり、または、外部で暗号化モジュール110内に伝達されないため、物理的な攻撃の成功の可能性は著しく低くなる。特に、バス102をプロービングなどの物理的な攻撃は成功の可能性が極めて低くなるのであろう。
一方、暗号キーモジュールがメモリ素子の場合は図1ないし図2を参照して上述し、以下では図4〜図13を参照して暗号キーモジュールが非メモリ素子であるPUFで実現される実施形態について説明する。
参考に、本明細書で記載されるPUFは物理的な複製が不可能であり、一回製造された後には、少なくとも理論的には変わらない暗号キーを生成する。
以下は、暗号キーモジュールが非メモリ素子であるPUFによって実現される様々な実施形態について記載し、図4ないし図8は、半導体工程(Semiconductor Process)における工程偏差を用いて暗号キーを生成する暗号キーモジュールを実現例に対応する。
そして、図9ないし図13は、回路をデザインする場合のデザインルールを意図的に違反することによって暗号キーモジュールを生成する実現例に対応する。
図4は、本発明の一実施形態により工程偏差を用いて暗号キーを生成するPUF形態の暗号キーモジュールを構成する単位セルの概念を説明するための例示的な回路図である。
図4に示すように、第1インバータ410と第2インバータ420が図示される。
半導体工程で工程偏差は様々な理由に起因する。例えば、トランジスタを製造する場合、有効ゲートの長さ、ドーピング濃度関連指数、酸化物の厚さ関連指数、または閾値電圧などのパラメータが工程偏差の原因になり得る。
一般的に工程偏差の小さい半導体製造工程が優れるものと認識されるが、物理的な特徴上、工程偏差を小さくすることはできても完全に除去することは不可能である。
本実施形態において、第1インバータ410は第1論理閾値を有し、第2インバータ420は第2論理閾値を有する。論理閾値はインバータの入力電圧と出力電圧とが同じ値を有する場合の電圧値であり、図5を参照してより詳細に後述する。
インバータ素子の論理閾値は、動作中であるインバータの出力端子と入力端子を短絡させる場合の電圧値に測定される。
同じ工程で製造されるインバータは、理論上に同じ論理閾値を有するようデザインされるが、上記のように実際製造工程では工程偏差が存在するため、実際にはいずれの2つのインバータも完全に同じ論理閾値を有することができない。
本発明の一実施形態によると、前記第1インバータ410と前記第2インバータ420は同じ製造工程で製造されたものであり、工程偏差に起因する論理閾値の差を有する。
前記論理閾値の差は工程によって互いに異なるが、例えば、数ないし数十ミリボルト程度の大きさであってもよい。したがって、前記第1インバータ410の論理閾値と前記第2インバータ420の論理閾値を別途の比較器回路を用いて測定することは、測定上の誤差のために正確ではないこともある。
したがって、2つのインバータの論理閾値を相対的に比較することのできる(すなわち、別途の比較器回路を利用せずに測定する)方法が要求される。本発明における一部の実施形態では、2つのインバータ間の論理閾値を相対的に(別途の比較器回路を利用せずに自主的に)比較していずれかの論理閾値が大きいかを判断する。
もし、第2インバータ420が存在しなければ、第1インバータ410の入力端子と出力端子を短絡させる場合、第1インバータ410の出力電圧は前記第1インバータ410の論理閾値と同一である。
また、第1インバータ410が存在しなければ、第2インバータ420の入力端子と出力端子を短絡させる場合、第2インバータ420の出力電圧は前記第2インバータ420の論理閾値と同一である。
しかし、図4に示すように、第1インバータ410の入力端子と第2インバータ420の出力端子が短絡されて第1ノードに接続され、第1インバータ410の出力端子と第2インバータ420の入力端子が短絡されて第2ノードに接続される場合は、前述の場合と異なる結果をもたらす。
スイッチ430を用いて前記第1ノードと前記第2ノードを短絡させる場合、短絡された前記2つのノードの電圧値は、前記第1インバータ410の論理閾値と前記第2インバータ420の論理閾値との間の値(平均値ではない場合もある、以下同一)になる。
前記2つのインバータの論理閾値のいずれかの値が高いかに関わらず、前記スイッチ430が閉じられている間は出力電圧の値が前記2つのインバータの論理閾値の間の値となる。
そして、その後にスイッチ430を開放して前記第1ノードと前記第2ノードを開放する場合、前記第1ノードと前記第2ノードのいずれか1つの電圧値の論理的レベル(logical level)は「0」になり、他の1つの論理的レベルは「1」になる。
例えば、もし、第1インバータ410の論理閾値が前記第2インバータ420の論理的閾値よりも低いと仮定すると、前記スイッチ430が閉じられて第1ノード(Outの反対側のノード)と第2ノード(Outノード)が短絡された間の第1ノードの電圧は前記第1インバータ410の論理閾値よりも高い。
したがって、前記スイッチ430が再び開放されて前記第1ノードと前記第2ノードが開放された後、第1インバータ410は(自身の入力端子である)第1ノードの電圧を論理的レベルハイ(High)と認識し、これにより第1インバータ210の出力端子である第2ノードの電圧を論理的レベルロー(Low)にする。
この場合、第2インバータ420は(自身の入力端子である)第2ノードの電圧を論理的レベルローと認識し、これにより第2インバータ420の出力端子である第1ノードの電圧を論理的レベルハイにする。
結局、図4に示す出力端子「Out」である第2端子の電圧の論理的レベルはハイとなる。
反対に、もし、第1インバータ410の論理閾値が前記第2インバータ420の論理的閾値よりも高いと仮定すると、前記スイッチ430が閉じられて第1ノードと第2ノードが短絡された間の第1ノードの電圧は前記第1インバータ410の論理閾値よりも低い。
したがって、前記スイッチ430が再び開放されて前記第1ノードと前記第2ノードが開放された後、第1インバータ410は(自身の入力端子である)第1ノードの電圧を論理的レベルローと認識し、これにより第1インバータ410の出力端子である第2ノードの電圧を論理的レベルハイにする。
この場合、第2インバータ420は(自身の入力端子である)第2ノードの電圧を論理的レベルハイと認識し、これにより第2インバータ420の出力端子である第1ノードの電圧を論理的レベルローにする。
結局、図4に示す出力端子「Out」である第2端子の電圧の論理的レベルはローとなる。
前述したように、第1インバータ410の論理閾値と第2インバータ420の論理閾値のいずれが高いかに応じて、スイッチ430の短絡-開放以後の出力端子「Out」の論理的なレベルはハイ(または「1」)になるか、または、ロー(または「0」)になる。
ところが、同じ製造工程で製造された前記第1インバータ410と第2インバータ420のうちどの論理閾値が高いかはランダムであり、確率的に2つのインバータのうちいずれか一つの論理閾値が他の論理閾値よりも高い確率は50%程度である。
そして、ひとまず製造されてからは前記論理閾値が高い側がどの側であるかは変化し難い。
結局、図4に示す実施形態によって1ビットのデジタル値(「1」になったり「0」になる確率は同一であるが、1回決定されれば変化し難い値)を生成する。
前記過程は、図5に示すグラフを参照してより明確に説明する。
図5は、図4に示す実施形態を理解するための参考グラフである。
例示的な参考グラフとして、図4に示す第1インバータ410の論理閾値が第2インバータ420の論理閾値よりも低い場合に対する電圧特性(voltage characteristic)が図示されている。
曲線510は第1インバータ410の電圧特性の曲線であり、曲線520は第2インバータ420の電圧特性の曲線である。本発明の一実施形態により第1インバータ410と第2インバータ420が同じ製造工程で製造されるとき、曲線510と曲線520は大体一致するものの、工程偏差のために若干の差はある。
曲線510と傾きが1である直線530の交点を探すと、第1インバータ410の論理閾値であるV1を決定することができる。また、曲線520と直線530の交点を探すと、第2インバータ420の論理閾値であるV2を決定することができる。
本実施形態においてV1はV2よりも低い。したがって、図4に示すスイッチ430が閉じられ、前記第1ノードと前記第2ノードが短絡される場合(「Reset」とする)、第1ノードと第2ノードの電圧VResetはV1とV2の間にある値となる。
そして、前記スイッチ430が再び開放されて前記第1ノードと前記第2ノードが開放された後、第1インバータ410は第1ノードの電圧VResetを論理的レベルハイと認識し、これにより第1インバータ410の出力端子である第2ノードの電圧を論理的レベルローにする。
この場合、第2インバータ420は第2ノードの電圧VResetを論理的レベルローと認識し、これにより第2インバータ420の出力端子である第1ノードの電圧を論理的レベルハイとする。
したがって、図4に示す出力端子「Out」である第2端子の電圧の論理的レベルはハイとなる。
図4に示された単位セルが1ビットのデジタル値を作れば、このような単位セルをN個集積すると、Nビットのデジタル値が暗号キーを生成することができる。
本発明の一部実施形態によると、このような方式によって暗号キーモジュール320が実現され得る。
半導体工程偏差を用いたインバータ素子の論理閾値の差を用いてデジタル値形態の暗号キーを生成する暗号キーモジュールの実現は下記の図6に示すような構成も可能である。
図6は、本発明の一実施形態に係る暗号キーモジュール600の例示的な実現を示すブロック図である。
本実施形態において、暗号キーモジュール600は、インバータ611ないしインバータ615の5個のインバータ、選択部620及び比較器630を備える。
選択部620は、図6に示された5個のインバータのいずれか2つを選択する。例えば、インバータ612とインバータ613が選択されてもよい。
この場合、比較器630は、インバータ612の論理閾値とインバータ613の論理閾値とを比較し、前記比較結果に応じてOut端子に出力電圧を提供する。そして、前記Out端子の出力電圧の論理的レベルに応じて1ビットのデジタル値が生成されてもよい。
そして、選択部620が他の2つのインバータを選択する場合、前記比較器630は再び1ビットのデジタル値を生成してもよい。
前記のように、選択部620が5個のインバータ611ないし615のうち2つを選択し、比較器630が選択された2つのインバータの論理閾値を比較することでデジタル値を生成する場合、最大10ビットのデジタル値が取得される。
本実施形態ではインバータが5個であるが、本発明はこれに限定されず、生成しようとするデジタル値のビット数、回路の面積などを考慮して様々に変更することができる。
そして、半導体チップ内に集積され得る比較器630の面積がインバータ611ないし615の面積に比べて大きいことを考慮したため、本実施形態では選択部620によって複数のインバータと1つの比較器630が接続された。しかし、他の応用例では、インバータ2個当たり比較器1つが組になってNビットのデジタル値を生成してもよい。
一方、半導体工程偏差を用いたインバータ素子の論理閾値差を用いてデジタル値形態の暗号キーを生成する暗号キーモジュールの実現は下記の図7のような構成も可能である。
図7は、本発明の一実施形態により差動増幅器の工程偏差を用いてデジタル値を生成する暗号キーモジュールの単位セル700を示す。
単位セル700は差動増幅器回路である。トランジスタ及び抵抗のうち少なくとも1つの素子で構成される差動増幅器回路である単位セル700は第1入力端子711と第2入力端子712の電圧の差を増幅し、第1出力端子721と第2出力端子722との間の電圧差として提供する。
したがって、前記第1入力端子711と第2入力端子712を短絡させる場合、理論的には、出力電圧値の第1出力端子721と第2出力端子722との間の電圧差が0でなければならない。
しかし、半導体工程偏差による素子間の電気的な特性差のために、第1出力端子721の電圧と第2出力端子722の電圧は完全に同一ではない。
したがって、図6に示す実施形態においてインバータの論理閾値を比較したような方法により、2つの出力端子のうちどの出力端子の電圧が高いかを比較すれば、1ビットのデジタル値を生成することができる。
例えば、第1入力端子711と第2入力端子712を短絡させた場合、第1出力端子721の電圧値が第2出力端子722の電圧値よりも高ければ、デジタル値「1」と認識し、反対の場合にはデジタル値「0」と認識する。
したがって、このような差動増幅器単位セル700がN個集積されれば、Nビットのデジタル値の形態で暗号キーを提供することができ、本発明の一部実施形態による暗号キーモジュールが実現され得る。このような実現が下記の図8で図示されている。
図8は、本発明の一実施形態により暗号キーモジュール800が実現された例示的な回路図を示す。
図示された実施形態において、暗号キーモジュール800は6個の差動増幅器811ないし816、前記6個の差動増幅器のいずれか1つを選択する選択部820、及び前記選択部820によって選択された差動増幅器の2つの出力電圧を比較して1ビットのデジタル値を生成する比較部830を備える。
この場合、前記6個の差動増幅器811ないし816の全体の入力端子は短絡され、同じ電圧を有する。
本発明の一実施形態によると、選択部820は6:1MUX素子であってもよい。ただし、これは本発明の実現のための一実施形態に過ぎず、本発明は、特定の実施形態に限定されることはない。
したがって、MUX素子の入力/出力ポートの数は変更されてもよく、さらに選択部820はMUX素子ではない他の素子であってもよい。前記6:1MUX素子は、12個の入力端子を介して入力される6個の差動増幅器の出力電圧を2つの出力端子に出力する。そして、この2つの出力端子は比較部830の2つの入力端子に接続される。
前記実施形態において、暗号キーモジュール800は6ビットのデジタル値である暗号キーを生成してもよい。
以上では、図4ないし図8を参照して半導体工程の工程偏差を用いて暗号キーモジュールを実現する実施形態が説明された。
以下は、図9ないし図13を参照して半導体デザインルールを意図的に違反することによって暗号キーモジュールを実現する実施形態について説明する。
図9は、本発明の一実施形態により半導体デザインルールを意図的に違反して暗号キーモジュールを生成する原理を説明するための概念図である。
通常、コンタクトまたはビアは導電レイヤの間を接続するよう設計されるものであり、通常コンタクトまたはビアサイズは導電レイヤの間を短絡させるよう決定される。そして、通常のデザインルールでは導電レイヤの間を短絡させることが保障されるよう最小限のコンタクトまたはビアサイズが決定されている。
しかし、本発明の一実施形態に係る暗号キーモジュールの実現において、コンタクトまたはビアのサイズをデザインルールに応じて決定したものよりも意図的に小さくし、一部のコンタクトまたはビアは導電レイヤの間を短絡させ、他の一部のコンタクトまたはビアは導電レイヤの間を短絡させず、このような短絡の有無は確率的に決定される。
従来の半導体工程ではコンタクトまたはビアが導電レイヤの間を短絡させることができなければ工程上失敗となるが、これを乱数性を有する暗号キーの生成に利用する。
図9を参照すると、半導体製造工程でメタル1レイヤ902とメタル2レイヤ901の間にビアが形成された形状を示す。
ビアサイズをデザインルールに応じて十分大きくしたグループ910では全てのビアはメタル1レイヤ902とメタル2レイヤ901が短絡され、短絡の有無をデジタル値に表現すれば全て0になる。
一方、ビアサイズを極めて小さくしたグループ930では全てのビアはメタル1レイヤ902とメタル2レイヤ901が短絡されていない。したがって、短絡の有無をデジタル値に表現すれば全て1になる。
そして、ビアサイズをグループ910とグループ930との間のグループ920では、一部のビアはメタル1レイヤ902とメタル2レイヤ901が短絡され、他の一部のビアはメタル1レイヤ902とメタル2レイヤ901が短絡されていない。
本発明の一実施形態によると、暗号キーモジュールを実現するために、グループ920のように、一部のビアはメタル1レイヤ902とメタル2レイヤ901を短絡させ、他の一部のビアはメタル1レイヤ902とメタル2レイヤ901を短絡させられないようビアサイズを設定して構成する。
ビアサイズに対するデザインルールは半導体製造工程により異なるが、例えば0.18ミクロン(um)のCMOS(Complementary metal oxide semiconductor)工程でビアのデザインルールが0.25ミクロンと設定されたとすれば、本発明の一実施形態に係る暗号キーモジュールの実現ではデザインルールを意図的に違反し、ビアサイズを0.19ミクロンに設定することでメタルレイヤ間の短絡の有無が確率的に分布するようにする。
このような短絡有無の確率分布は50%の短絡確率を有することが理想的であり、本発明の一実施形態に係る暗号キーモジュールの実現では前記確率分布が最大50%に近くビアサイズを設定して構成される。このようなビアサイズ設定は工程による実験によってビアサイズを決定してもよい。
図10は、本発明の一実施形態により半導体デザインルールを意図的に違反して実現する暗号キーモジュールの構成を説明するためのグラフである。
グラフにおいてビアのサイズが大きいほど、メタルレイヤ間の短絡確率が1に近いことが確認される。デザインルールによるビアサイズはSdとして、メタルレイヤ間の短絡が十分保障される値である。
そして、Smは理論的にメタルレイヤの短絡確率が0.5になるビアサイズであるが、前記のように工程によって値が異なり実験によって最大に類似する値を探すことはできるが、正確なSmを探すことは難しい。
したがって、本発明の一実施形態に係る暗号キーモジュールの実現において、具体的な実験によりメタルレイヤ間の短絡の有無が0.5で所定の許容誤差を有するSx1とSx2の範囲内(前記Sx1とSx2は別に図示していないが、示されたSx近くの一定マージンを有する領域)で設定される。
図9ないし図10ではビアサイズに関するデザインルールを意図的に違反して暗号キーモジュールを実現する実施形態を説明したが、本発明の他の一部実施形態によると、暗号キーモジュールは、導電レイヤ間のギャップに関するデザインルールを意図的に違反することで実現される。
図11は、本発明の一実施形態により導電レイヤ間のギャップを調整して暗号キーモジュールを生成する過程を説明するための概念図である。
前記のように、本発明の他の一実施形態によると、メタルライン間のギャップを調整してメタルライン間の短絡の有無が確率的に決定されるようにする。
メタルライン間の短絡が十分に保障されるよう、メタルライン間隔を小さくしたグループ1110では全ての場合でメタルラインが短絡された。
そして、メタルラインの間隔を極めて大きくしたグループ1130では全ての場合でメタルラインが短絡されていない。
本実施形態において、暗号キーモジュールを実現するためには、グループ1120のように、メタルラインの一部は短絡されて一部は短絡されないように、短絡が確率的に行われるメタルラインの間隔を設定する。
図12は、本発明の一実施形態に係る暗号キーモジュール1200を実現するために半導体レイヤに形成されたビアまたはコンタクトアレイの例示的な構造を示す概念図である。
半導体基板に積層されたメタルレイヤ間に横M個、縦N個(但し、M及びNは自然数)、合わせてM×N個のビアが形成された形状が図示される。
暗号キーモジュール1200は、M×N個のビアそれぞれがメタルレイヤ間を短絡させるか(デジタル値は0)短絡させることができないか(デジタル値は1)の有無に応じてM×Nビットの暗号キーを生成して提供する。
図13は、本発明の一実施形態により図12に示す実施形態で生成されたデジタル値をそのまま暗号キーとして使用せずに0と1のバランスのために後処理する過程を説明するための概念図である。
本発明の一実施形態によると、暗号キーモジュール1200で生成されたM×Nビットのデジタル値は、所定のk個単位(ただし、kは自然数である)にグルーピングしてグループ化される。
もちろん、図13で示されたグループ化は説明の便宜のための例示的な図面に過ぎず、実際の実現においては暗号キーモジュール1200内のレジスタまたはフリップフロップをグループ化する方法などが可能である。
したがって、デジタル値をグループ化する方法によって0と1のバランスを行う過程は、本技術分野の通常の知識を有する者が様々な変形及び応用によって行うことができ、本発明の範囲から離れて解釈されてることはない。
図13に示すように、4個のデジタル値が1つのグループにグループ化されている。
暗号キーモジュール1200は、グループ1310とグループ1320がそれぞれ生成した4ビットのデジタル値の大きさを比較する。そして、グループ1310の4ビットデジタル値がグループ1320の4ビットデジタル値よりも大きければ、前記グループ1310とグループ1320を代表するデジタル値は1に決定する。
反対に、グループ1310の4ビットデジタル値がグループ1320の4ビットデジタル値よりも小さければ、前記グループ1310とグループ1320を代表するデジタル値は0に決定する。
他の実施形態では、グループ間のデジタル値1の個数を比較してグループ代表デジタル値を選択することも可能である。
本発明の一実施形態に係る方法は、 多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。ここで説明されたソフトウェアモジュールの任意の一つ以上は、そのユニットに固有専用のプロセッサによって実行されてもよく、または、モジュールの一つ以上に共通するプロセッサによって実行されてもよい。説明された方法は汎用コンピュータやプロセッサによって実行されてもよく、ここで説明したような特定のマシンによって行われてもよい。
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲のみならず特許請求の範囲と均等なものなどによって定められるものである。
100:暗号化装置
110:暗号化モジュール
120:EEPROM
130:CPU
140:SDRAM
101:I/Oインタフェース

Claims (20)

  1. 暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行う暗号化装置において、
    暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含む暗号化装置。
  2. 前記暗号化モジュールは、それぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含み、
    前記暗号化モジュールは、前記複数の暗号キーモジュールのいずれか1つを選択する暗号キーモジュール選択部と、
    前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化部と、
    を備える請求項1に記載の暗号化装置。
  3. 前記暗号キーモジュール選択部は、前記複数の暗号キーモジュールのうち、予め付与された識別インデックスに対応する暗号キーモジュールを選択する請求項2に記載の暗号化装置。
  4. 前記暗号化モジュールは複数の標準セルを含み、前記複数の暗号キーモジュールは前記暗号化モジュールに含まれる複数の標準セルのレイアウトのうちランダムに配置される請求項2に記載の暗号化装置。
  5. 前記暗号化モジュールは、前記暗号化モジュールの内部に含まれた前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行い、
    前記暗号キーモジュールが提供する暗号キーは前記暗号化モジュールの外部に流出されず、前記暗号化アルゴリズムを行うために他の追加的暗号化キーが前記暗号化モジュールに流入されない請求項1に記載の暗号化装置。
  6. 前記暗号キーモジュールは、予め生成された前記暗号キーを格納する不揮発性メモリモジュールである請求項1に記載の暗号化装置。
  7. 前記暗号キーモジュールは、前記暗号キーを生成して提供する非メモリモジュールである請求項1に記載の暗号化装置。
  8. 前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記暗号キーモジュール内のノード間の短絡の有無が確率的に決定され、前記暗号キーモジュールは、前記ノード間の短絡の有無を読み出した結果に応じて前記暗号キーを生成して提供する請求項7に記載の暗号化装置。
  9. 前記暗号キーモジュール内のノードは半導体の導電レイヤであり、
    前記デザインルールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアのサイズに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアが前記導電レイヤを短絡するかの有無を用いて前記暗号キーを生成して提供する請求項8に記載の暗号化装置。
  10. 前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記半導体の導電レイヤ間に形成される前記コンタクトまたはビアが前記導電レイヤを短絡する確率と短絡できない確率の差が所定の誤差範囲内にあるようにする前記コンタクトまたはビアのサイズを有する請求項9に記載の暗号化装置。
  11. 前記暗号キーモジュールは、一対の導電レイヤとその間を接続する1つのコンタクトまたはビアを用いて1ビットのデジタル値を生成する単位構造をN個有し、前記N個の単位構造によって生成したNビットのデジタル値を前記暗号キーで生成し、ここでNは自然数である請求項8に記載の暗号化装置。
  12. 前記暗号キーモジュールは、前記生成されたNビットのデジタル値をk個単位でグループ化し、グループ化された複数のグループのうち第1グループ及び第2グループを比較して前記第1グループに含まれたk個のデジタルビットで構成された値が前記第2グループに含まれたk個のデジタルビットで構成された値よりも大きい場合は前記第1グループと前記第2グループを代表するデジタル値を1に決定し、反対の場合には前記第1グループと前記第2グループを代表するデジタル値を0に決定し、N/kビットのデジタル値を前記暗号キーで生成し、ここでkは自然数である請求項11に記載の暗号化装置。
  13. 前記暗号キーモジュール内のノードは半導体の導電レイヤであり、
    前記デザインルールは、前記半導体の導電レイヤ間のギャップに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間が短絡されるかの有無を用いて前記暗号キーを生成して提供する請求項8に記載の暗号化装置。
  14. 前記暗号キーモジュールは、それぞれ1ビットのデジタル値を出力するN個の単位セルを含み、ここでNは自然数であり、
    前記N個の単位セルのそれぞれは、半導体製造工程偏差に基づいて1ビットのデジタル値を生成し、
    前記暗号キーモジュールがNビットの暗号キーを生成して提供する請求項7に記載の暗号化装置。
  15. 前記N個の単位セルのうち第1単位セルは、
    第1論理閾値を有する第1インバータと、
    第2論理閾値を有する第2インバータと、
    を含み、
    前記第1インバータの入力端子及び前記第2インバータの出力端子は第1ノードに接続され、前記第1インバータの出力端子及び前記第2インバータの入力端子は第2ノードに接続されてフィードバック構造をなし、
    前記第1論理閾値と前記第2論理閾値は半導体製造工程偏差に基づいて異なり、前記第1ノードの論理レベルと前記第2ノードの論理レベルに応じて前記第1単位セルに対応する1ビットデジタル値が決定される請求項14に記載の暗号化装置。
  16. 前記暗号キーモジュールは、
    N個の差動増幅器を含み、ここでNは自然数であり、
    前記N個の差動増幅器のうち第1差動増幅器において、前記第1差動増幅器の2つの入力端子が短絡される場合、前記第1差動増幅器の2つの出力端子の論理レベルは半導体製造工程偏差に基づいて異なり、前記2つの出力端子の論理レベルに応じて前記第1差動増幅器に対応する1ビットデジタル値が決定され、
    前記暗号キーモジュールがNビットの暗号キーを生成して提供する請求項7に記載の暗号化装置。
  17. 暗号化するデータが暗号キーを提供する暗号キーモジュールを内部に含む暗号化モジュール内に入力されるステップと、
    前記暗号キーモジュールが提供する暗号キーを用いて暗号化アルゴリズムを行って前記データを暗号化するステップと、
    を含む暗号化方法。
  18. 前記暗号化方法は、前記暗号化モジュールがそれぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含む場合、前記暗号化するステップの前に前記複数の暗号キーモジュールのいずれか1つを選択するステップをさらに含み、
    前記暗号化するステップは、前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行って前記データを暗号化する請求項17に記載の暗号化方法。
  19. 暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行うICチップにおいて、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含むICチップ。
  20. 前記ICチップは、スマートカードに内蔵されて前記スマートカードの応用例において前記暗号化アルゴリズムを行う請求項19に記載のICチップ。
JP2015189092A 2011-02-15 2015-09-28 物理的な攻撃を防御する暗号化装置及び暗号化方法 Pending JP2016021772A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0013269 2011-02-15
KR1020110013269A KR101118826B1 (ko) 2011-02-15 2011-02-15 물리적 공격을 방어하는 암호화 장치 및 암호화 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013554380A Division JP2014506095A (ja) 2011-02-15 2011-02-28 物理的な攻撃を防御する暗号化装置及び暗号化方法

Publications (1)

Publication Number Publication Date
JP2016021772A true JP2016021772A (ja) 2016-02-04

Family

ID=46141374

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013554380A Pending JP2014506095A (ja) 2011-02-15 2011-02-28 物理的な攻撃を防御する暗号化装置及び暗号化方法
JP2015189092A Pending JP2016021772A (ja) 2011-02-15 2015-09-28 物理的な攻撃を防御する暗号化装置及び暗号化方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013554380A Pending JP2014506095A (ja) 2011-02-15 2011-02-28 物理的な攻撃を防御する暗号化装置及び暗号化方法

Country Status (7)

Country Link
US (3) US9014371B2 (ja)
EP (1) EP2677452B1 (ja)
JP (2) JP2014506095A (ja)
KR (1) KR101118826B1 (ja)
CN (2) CN106295408B (ja)
ES (1) ES2685758T3 (ja)
WO (1) WO2012111872A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150071434A1 (en) * 2011-06-07 2015-03-12 Static Control Components, Inc. Secure Semiconductor Device Having Features to Prevent Reverse Engineering
US10235261B2 (en) 2013-07-26 2019-03-19 Ictk Holdings Co., Ltd. Apparatus and method for testing randomness
US9076003B2 (en) 2013-08-20 2015-07-07 Janus Technologies, Inc. Method and apparatus for transparently encrypting and decrypting computer interface data
KR101541597B1 (ko) * 2013-09-03 2015-08-03 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101504025B1 (ko) 2013-09-06 2015-03-18 (주) 아이씨티케이 식별 키 생성 장치 및 방법
KR101489091B1 (ko) * 2013-09-30 2015-02-04 (주) 아이씨티케이 반도체 공정을 이용한 식별키 생성 장치 및 방법
KR101495448B1 (ko) 2013-10-29 2015-02-26 (주) 아이씨티케이 사용자 인증을 위한 ic 칩 및 인증 방법
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
KR101801547B1 (ko) 2015-08-25 2017-11-27 한국과학기술원 물리적, 영구적 파괴를 이용한 하드웨어 기반의 보안 장치 및 이를 이용한 보안 방법
US20170077046A1 (en) * 2015-09-11 2017-03-16 The Regents Of The University Of California Physical unclonable functions through locally enhanced defectivity
US10318431B2 (en) * 2015-09-17 2019-06-11 Hewlett Packard Enterprise Development Lp Obscuration of a cache signal
WO2017138797A1 (ko) * 2016-02-12 2017-08-17 한양대학교 산학협력단 시큐어 시스템 온 칩
CN108701193B (zh) 2016-02-12 2022-08-30 汉阳大学校产学协力团 安全半导体芯片及其工作方法
WO2017138799A1 (ko) * 2016-02-12 2017-08-17 한양대학교 산학협력단 하드웨어 디바이스 및 그 인증 방법
CN105790933A (zh) * 2016-03-03 2016-07-20 山东超越数控电子有限公司 一种自动识别的光模块加密方法
JP6471130B2 (ja) * 2016-09-20 2019-02-13 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびセキュリティシステム
KR102071402B1 (ko) * 2016-11-01 2020-03-03 한국전자통신연구원 사물인터넷 환경 키 관리 서비스 제공 장치
KR102071937B1 (ko) 2017-04-27 2020-01-31 김태욱 식별키 생성장치 및 식별키 생성방법
KR102050021B1 (ko) * 2017-04-27 2019-11-28 김태욱 식별키 유용성 판별장치
DE102018123103A1 (de) * 2017-10-13 2019-04-18 Samsung Electronics Co., Ltd. Halbleitervorrichtung, die Sicherheitsschlüssel erzeugt, Verfahren zum Erzeugen eines Sicherheitsschlüssels und Verfahren zum Registrieren des Sicherheitsschlüssels
US11108572B2 (en) * 2018-10-11 2021-08-31 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function device with a load circuit to generate bias to sense amplifier
KR102244382B1 (ko) 2019-06-13 2021-04-26 숭실대학교산학협력단 Wave-chaos 기반 무선 신호 전송의 물리적 암호화 시스템
KR102146132B1 (ko) * 2019-08-08 2020-08-20 주식회사 페이콕 보안 디바이스 및 방법
US11282799B2 (en) 2020-01-14 2022-03-22 United Microelectronics Corp. Device for generating security key and manufacturing method thereof
US11127480B1 (en) * 2020-06-30 2021-09-21 Dell Products L.P. System and method for short circuit detection
CN112733209B (zh) * 2021-01-19 2023-08-08 贵州黔龙图视科技有限公司 一种低成本硬件加密方法及装置
KR20220155684A (ko) 2021-05-17 2022-11-24 삼성전자주식회사 Crum 칩 및 스마트 카드
US11574079B2 (en) * 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data
US11791290B2 (en) 2021-06-29 2023-10-17 International Business Machines Corporation Physical unclonable function for secure integrated hardware systems
CN115130152B (zh) * 2022-09-01 2022-11-18 北京紫光青藤微系统有限公司 一种物理不可克隆函数的生成方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122931A (ja) * 1998-10-15 2000-04-28 Toshiba Corp デジタル集積回路
JP2004511082A (ja) * 2000-03-14 2004-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 多結晶マイクロスケール・フィーチャ間のブリッジングを防ぐ方法及びその構造
JP2006173485A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd 電子デバイス及びその製造方法
US20060210082A1 (en) * 2004-11-12 2006-09-21 Srinivas Devadas Volatile device keys and applications thereof
WO2009024913A2 (en) * 2007-08-22 2009-02-26 Intrinsic Id Bv Identification of devices using physically unclonable functions
JP2009524998A (ja) * 2006-01-24 2009-07-02 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
WO2010055171A1 (en) * 2008-11-17 2010-05-20 Intrinsic-Id B.V. Distributed puf
JP2011010218A (ja) * 2009-06-29 2011-01-13 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559889A (en) * 1995-03-31 1996-09-24 International Business Machines Corporation System and methods for data encryption using public key cryptography
JP3673015B2 (ja) 1996-04-26 2005-07-20 沖電気工業株式会社 半導体装置における周辺デバイス識別方法
US5802592A (en) 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
JPH10116326A (ja) * 1996-10-11 1998-05-06 Secom Co Ltd Icカード用暗号化装置
US5990701A (en) 1997-06-25 1999-11-23 Sun Microsystems, Inc. Method of broadly distributing termination for buses using switched terminators
US6118279A (en) 1997-07-30 2000-09-12 Candescent Technologies Corporation Magnetic detection of short circuit defects in plate structure
JPWO2002050910A1 (ja) 2000-12-01 2004-04-22 株式会社日立製作所 半導体集積回路装置の識別方法と半導体集積回路装置の製造方法及び半導体集積回路装置
US7085386B2 (en) 2001-12-07 2006-08-01 Activcard System and method for secure replacement of high level cryptographic keys in a personal security device
DE602004023436D1 (de) * 2004-03-29 2009-11-12 St Microelectronics Sa Prozessor zum ausführen eines aes algorithmus
US7266661B2 (en) * 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
JP2006108903A (ja) * 2004-10-01 2006-04-20 Hiromi Fukaya 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
KR101194837B1 (ko) * 2005-07-12 2012-10-25 삼성전자주식회사 멱지수를 숨기는 dpa 대책의 고속 계산을 위한 암호화장치 및 방법
KR20120115425A (ko) 2005-12-14 2012-10-17 엔디에스 리미티드 블록 사이퍼 암호화의 사용을 위한 방법 및 시스템
US8036379B2 (en) * 2006-03-15 2011-10-11 Microsoft Corporation Cryptographic processing
EP2011123B1 (en) 2006-04-13 2015-03-04 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
CN100568393C (zh) * 2006-06-14 2009-12-09 国际商业机器公司 数据存储装置、数据存储方法以及数据读取方法
JP5113074B2 (ja) * 2006-11-06 2013-01-09 パナソニック株式会社 情報セキュリティ装置
KR100969961B1 (ko) * 2007-12-20 2010-07-15 한국전자통신연구원 블록 암호 아리아의 치환 연산 장치 및 방법
CN101498772B (zh) 2008-01-29 2012-07-18 西门子(中国)有限公司 磁共振成像系统中接收线圈的识别码电路
US7991154B2 (en) * 2008-05-14 2011-08-02 Univeristy of Castilla-La Mancha Exponentiation method using multibase number representation
KR100960113B1 (ko) * 2008-09-19 2010-05-27 한국전자통신연구원 고속처리 가능한 아리아 암복호화 장치
US8051097B2 (en) * 2008-12-15 2011-11-01 Apple Inc. System and method for authentication using a shared table and sorting exponentiation
KR100926214B1 (ko) 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US20110080715A1 (en) 2009-10-07 2011-04-07 Castles Technology Co., Ltd. Protective structure of electronic component
US8127151B2 (en) 2009-10-13 2012-02-28 Lockheed Martin Corporation Hardware-based key generation and recovery
KR101139630B1 (ko) 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122931A (ja) * 1998-10-15 2000-04-28 Toshiba Corp デジタル集積回路
JP2004511082A (ja) * 2000-03-14 2004-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 多結晶マイクロスケール・フィーチャ間のブリッジングを防ぐ方法及びその構造
US20060210082A1 (en) * 2004-11-12 2006-09-21 Srinivas Devadas Volatile device keys and applications thereof
JP2006173485A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd 電子デバイス及びその製造方法
JP2009524998A (ja) * 2006-01-24 2009-07-02 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
WO2009024913A2 (en) * 2007-08-22 2009-02-26 Intrinsic Id Bv Identification of devices using physically unclonable functions
WO2010055171A1 (en) * 2008-11-17 2010-05-20 Intrinsic-Id B.V. Distributed puf
JP2011010218A (ja) * 2009-06-29 2011-01-13 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHOI, B.-D. ET AL.: "Integrated circuit design for physical unclonable function using differential amplifiers", ANALOG INTEGRATED CIRCUITS AND SIGNAL PROCESSING, vol. Volume 66 Issue 3, JPN6014038423, 28 November 2010 (2010-11-28), pages 467 - 474, ISSN: 0003351172 *
SUH, G. E. ET AL.: "Aegis: A Single-Chip Secure Porcessor", IEEE DESIGN & TEST OF COMPUTERS, vol. Volume 24, Issue 6, JPN6014038426, December 2007 (2007-12-01), pages 570 - 580, ISSN: 0003351173 *

Also Published As

Publication number Publication date
ES2685758T3 (es) 2018-10-11
US20130322624A1 (en) 2013-12-05
KR101118826B1 (ko) 2012-04-20
JP2014506095A (ja) 2014-03-06
CN103621006A (zh) 2014-03-05
CN103621006B (zh) 2016-09-07
EP2677452A4 (en) 2014-08-06
CN106295408B (zh) 2020-06-02
CN106295408A (zh) 2017-01-04
EP2677452B1 (en) 2018-08-22
US9397826B2 (en) 2016-07-19
US9014371B2 (en) 2015-04-21
US20150195085A1 (en) 2015-07-09
WO2012111872A1 (ko) 2012-08-23
EP2677452A1 (en) 2013-12-25
US20160301528A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US20200364374A1 (en) Apparatus and method for generating identification key
US11729005B2 (en) Apparatus and method for processing authentication information
KR100926214B1 (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR101663341B1 (ko) 식별키 생성 장치 및 방법
KR20100117006A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170425