(57)【要約】  セキュリティ装置及びセキュリティ装置の動作方法が提供される。セキュリティ装置は、物理的な攻撃、例えば、ＩＣチップを分解してメモリ内の暗号キーの格納部分の情報を読み出したり、マイクロプロービング（Ｍｉｃｒｏ−ｐｒｏｂｉｎｇ）によって抽出する攻撃のようなセキュリティ上の攻撃に対応し、暗号化アルゴリズムに用いられる暗号キーを暗号化モジュール内部に隠匿して有し得る。暗号キーは暗号化モジュール内部に物理的な暗号キーモジュールとして含まれてもよく、また、暗号キーを格納しているいずれかの格納媒体が前記暗号化モジュール内に含まれてもよい。したがって、暗号化のためにセキュリティ装置内のバスなどによって暗号キーが送信されない。
2014506095.tif 000002
【特許請求の範囲】
【請求項１】
暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行う暗号化装置において、
暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含む暗号化装置。
【請求項２】
前記暗号化モジュールは、それぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含み、
前記暗号化モジュールは、前記複数の暗号キーモジュールのいずれか１つを選択する暗号キーモジュール選択部と、
前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化部と、
を備える請求項１に記載の暗号化装置。
【請求項３】
前記暗号キーモジュール選択部は、前記複数の暗号キーモジュールのうち、予め付与された識別インデックスに対応する暗号キーモジュールを選択する請求項２に記載の暗号化装置。
【請求項４】
前記暗号化モジュールは複数の標準セルを含み、前記複数の暗号キーモジュールは前記暗号化モジュールに含まれる複数の標準セルのレイアウトのうちランダムに配置される請求項２に記載の暗号化装置。
【請求項５】
前記暗号化モジュールは、前記暗号化モジュールの内部に含まれた前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行い、
前記暗号キーモジュールが提供する暗号キーは前記暗号化モジュール外部に流出されず、前記暗号化アルゴリズムを行うために他の追加的暗号化キーが前記暗号化モジュールに流入されない請求項１に記載の暗号化装置。
【請求項６】
前記暗号キーモジュールは、予め生成された前記暗号キーを格納する不揮発性メモリモジュールである請求項１に記載の暗号化装置。
【請求項７】
前記暗号キーモジュールは、前記暗号キーを生成して提供する非メモリモジュールである請求項１に記載の暗号化装置。
【請求項８】
前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記暗号キーモジュール内のノード間の短絡の有無が確率的に決定され、前記暗号キーモジュールは、前記ノード間の短絡の有無を読み出した結果に応じて前記暗号キーを生成して提供する請求項７に記載の暗号化装置。
【請求項９】
前記暗号キーモジュール内のノードは半導体の導電レイヤであり、
前記デザインルールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアのサイズに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアが前記導電レイヤを短絡するかの有無を用いて前記暗号キーを生成して提供する請求項８に記載の暗号化装置。
【請求項１０】
前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記半導体の導電レイヤ間に形成される前記コンタクトまたはビアが前記導電レイヤを短絡する確率と短絡できない確率の差が所定の誤差範囲内にあるようにする前記コンタクトまたはビアのサイズを有する請求項９に記載の暗号化装置。
【請求項１１】
前記暗号キーモジュールは、一対の導電レイヤとその間を接続する１つのコンタクトまたはビアを用いて１ビットのデジタル値を生成する単位構造をＮ個有し、前記Ｎ個の単位構造によって生成したＮビットのデジタル値を前記暗号キーで生成し、ここでＮは自然数である請求項８に記載の暗号化装置。
【請求項１２】
前記暗号キーモジュールは、前記生成されたＮビットのデジタル値をｋ個単位でグループ化し、グループ化された複数のグループのうち第１グループ及び第２グループを比較して前記第１グループに含まれたｋ個のデジタルビットで構成された値が前記第２グループに含まれたｋ個のデジタルビットで構成された値よりも大きい場合は前記第１グループと前記第２グループを代表するデジタル値を１に決定し、反対の場合には前記第１グループと前記第２グループを代表するデジタル値を０に決定し、Ｎ／ｋビットのデジタル値を前記暗号キーで生成し、ここでｋは自然数である請求項１１に記載の暗号化装置。
【請求項１３】
前記暗号キーモジュール内のノードは半導体の導電レイヤであり、
前記デザインルールは、前記半導体の導電レイヤ間のギャップに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間が短絡されるかの有無を用いて前記暗号キーを生成して提供する請求項８に記載の暗号化装置。
【請求項１４】
前記暗号キーモジュールは、それぞれ１ビットのデジタル値を出力するＮ個の単位セルを含み、ここでＮは自然数であり、
前記Ｎ個の単位セルのそれぞれは、半導体製造工程偏差に基づいて１ビットのデジタル値を生成し、
前記暗号キーモジュールがＮビットの暗号キーを生成して提供する請求項７に記載の暗号化装置。
【請求項１５】
前記Ｎ個の単位セルのうち第１単位セルは、
第１論理閾値を有する第１インバータと、
第２論理閾値を有する第２インバータと、
を含み、
前記第１インバータの入力端子及び前記第２インバータの出力端子は第１ノードに接続され、前記第１インバータの出力端子及び前記第２インバータの入力端子は第２ノードに接続されてフィードバック構造をなし、
前記第１論理閾値と前記第２論理閾値は半導体製造工程偏差に基づいて異なり、前記第１ノードの論理レベルと前記第２ノードの論理レベルに応じて前記第１単位セルに対応する１ビットデジタル値が決定される請求項１４に記載の暗号化装置。
【請求項１６】
前記暗号キーモジュールは、
Ｎ個の差動増幅器を含み、ここでＮは自然数であり、
前記Ｎ個の差動増幅器のうち第１差動増幅器において、前記第１差動増幅器の２つの入力端子が短絡される場合、前記第１差動増幅器の２つの出力端子の論理レベルは半導体製造工程偏差に基づいて異なり、前記２つの出力端子の論理レベルに応じて前記第１差動増幅器に対応する１ビットデジタル値が決定され、
前記暗号キーモジュールがＮビットの暗号キーを生成して提供する請求項７に記載の暗号化装置。
【請求項１７】
暗号化するデータが暗号キーを提供する暗号キーモジュールを内部に含む暗号化モジュール内に入力されるステップと、
前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行って前記データを暗号化するステップと、
を含む暗号化方法。
【請求項１８】
前記暗号化方法は、前記暗号化モジュールがそれぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含む場合、前記暗号化するステップの前に前記複数の暗号キーモジュールのいずれか１つを選択するステップをさらに含み、
前記暗号化するステップは、前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行って前記データを暗号化する請求項１７に記載の暗号化方法。
【請求項１９】
暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行うＩＣチップにおいて、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含むＩＣチップ。
【請求項２０】
前記ＩＣチップは、スマートカードに内蔵されて前記スマートカードの応用例において前記暗号化アルゴリズムを行う請求項１９に記載のＩＣチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
デジタルセキュリティ分野に関し、より詳細には、スマートカードなどのＩＣセキュリティモジュールで物理的な攻撃を防御することができるように暗号化キーの管理を行う暗号化装置及び方法に関する。
【背景技術】
【０００２】
スマートカードは、クレジットカードのような大きさのプラスチックカードとしてデータを加工して処理できる集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ；ＩＣ）を含む。このようなスマートカードは、従来におけるマグネチックカードに比べて様々な長所を有するが、自体データの格納容量を有し、マイクロプロセッサーと共にコプロセッサ（ｃｏ−ｐｒｏｃｅｓｓｏｒ）などの処理部を有する。
【０００３】
したがって、ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）のための個人情報取り扱い及び金融決済情報などの取り扱いのために暗号化アルゴリズムを用いた暗号化（ｅｎｃｒｙｐｔｉｏｎ）演算を自主的に行ったりする。
【０００４】
一方、各種のＩＴ技術の発展に伴ってスマートカードが広く普及されながら、スマートカードに対する様々なセキュリティの威嚇も増加している。
【０００５】
例えば、ＩＣチップに対する逆行分析（Ｒｅｖｅｒｓｅ  Ｅｎｇｉｎｅｅｒｉｎｇ）技術を用いてＩＣチップ内の情報を読み出すような物理的な攻撃はセキュリティに大きな問題いなっている。
【０００６】
物理的な攻撃のうち知られている数個は、ハードウェアセキュリティモジュールに用いられるＥＥＰＲＯＭ、ＲＯＭのメモリ特性、及びデータ格納方式によりバスプロービング（ｂｕｓ  ｐｒｏｂｉｎｇ）、テストモードプロービング（ｔｅｓｔ−ｍｏｄｅ  ｐｒｏｂｉｎｇ）、ＲＯＭやＥＥＰＲＯＭに対する重ね書き（ｏｖｅｒｗｒｉｔｉｎｇ）などの攻撃方法がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
スマートカードに対する物理的な攻撃に強靭な暗号化装置及び方法を提供する。
【０００８】
特に、生成されたり格納されている暗号キーがメモリ内で直接抽出されない暗号化装置及び方法を提供する。また、スマートカードのＩＣチップ内のバスによって流出されない暗号化装置及び方法を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面によると、暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行う暗号化装置において、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含む暗号化装置が提供される。
【００１０】
前記暗号化モジュールは、それぞれ互いに異なる暗号キーを提供する複数の暗号キーモジュールを内部に含み、この場合、前記暗号化モジュールは、前記複数の暗号キーモジュールのいずれか１つを選択する暗号キーモジュール選択部と、前記選択された暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化部とを備えてもよい。
【００１１】
また、前記暗号キーモジュール選択部は、前記複数の暗号キーモジュールのうち、予め付与された識別インデックスに対応する暗号キーモジュールを選択してもよい。
【００１２】
本発明の一実施形態によると、前記暗号化モジュールは複数の標準セルを含み、前記複数の暗号キーモジュールは前記暗号化モジュールに含まれる複数の標準セルのレイアウトのうちランダムに配置される。標準セルは、暗号化モジュールの実現に使用される規格化された素子または素子ブロックであってもよい。
【００１３】
前記暗号化装置において、前記暗号化モジュールは、前記暗号化モジュールの内部に含まれた前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行い、前記暗号キーモジュールが提供する暗号キーは前記暗号化モジュール外部に流出されず、前記暗号化アルゴリズムを行うために他の追加的暗号化キーが前記暗号化モジュールに流入されない。
【００１４】
本発明の一実施形態によると、前記暗号キーモジュールは、予め生成された前記暗号キーを格納する不揮発性メモリモジュールである。
【００１５】
本発明の他の一実施形態によると、前記暗号キーモジュールは、前記暗号キーを生成して提供する非メモリモジュールである。
【００１６】
この場合、前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記暗号キーモジュール内のノード間の短絡の有無が確率的に決定され、前記暗号キーモジュールは、前記ノード間の短絡の有無を読み出した結果に応じて前記暗号キーを生成して提供してもよい。
【００１７】
ここで、前記暗号キーモジュール内のノードは半導体の導電レイヤであり、前記デザインルールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアのサイズに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間に形成されるコンタクトまたはビアが前記導電レイヤを短絡するかの有無を用いて前記暗号キーを生成して提供してもよい。
【００１８】
一方、前記暗号キーモジュールは、半導体製造工程で提供されるデザインルールを意図的に違反して前記半導体の導電レイヤ間に形成される前記コンタクトまたはビアが前記導電レイヤを短絡する確率と短絡できない確率の差が所定の誤差範囲内にあるようにする前記コンタクトまたはビアのサイズを有してもよい。
【００１９】
本発明の一実施形態によると、前記暗号キーモジュールは、一対の導電レイヤとその間を接続する１つのコンタクトまたはビアを用いて１ビットのデジタル値を生成する単位構造をＮ個有し（ただし、Ｎは自然数である）、前記Ｎ個の単位構造によって生成したＮビットのデジタル値を前記暗号キーで生成する。
【００２０】
この場合、前記暗号キーモジュールは、前記生成されたＮビットのデジタル値をｋ個単位でグループ化し（ただし、ｋは自然数である）、グループ化された複数のグループのうち第１グループ及び第２グループを比較して前記第１グループに含まれたｋ個のデジタルビットで構成された値が前記第２グループに含まれたｋ個のデジタルビットで構成された値よりも大きい場合は前記第１グループと前記第２グループを代表するデジタル値を１に決定し、反対の場合には前記第１グループと前記第２グループを代表するデジタル値を０に決定し、Ｎ／ｋビットのデジタル値を前記暗号キーで生成してもよい。
【００２１】
本発明の他の一実施形態によると、前記暗号キーモジュール内のノードは半導体の導電レイヤであり、前記デザインルールは、前記半導体の導電レイヤ間のギャップに関連するものであり、前記暗号キーモジュールは、前記半導体の導電レイヤ間が短絡されるかの有無を用いて前記暗号キーを生成して提供してもよい。
【００２２】
本発明の他の実施形態によると、前記暗号キーモジュールは、それぞれ１ビット（ただし、Ｎは自然数である）のデジタル値を出力するＮ個の単位セルを含み、前記Ｎ個の単位セルのそれぞれは、半導体製造工程偏差に基づいて１ビットのデジタル値を生成し、前記暗号キーモジュールがＮビットの暗号キーを生成して提供してもよい。
【００２３】
この場合、前記Ｎ個の単位セルのうち第１単位セルは、第１論理閾値を有する第１インバータと、第２論理閾値を有する第２インバータとを含み、前記第１インバータの入力端子及び前記第２インバータの出力端子は第１ノードに接続され、前記第１インバータの出力端子及び前記第２インバータの入力端子は第２ノードに接続されてフィードバック構造をなし、前記第１論理閾値と前記第２論理閾値は半導体製造工程偏差に基づいて異なり、前記第１ノードの論理レベルと前記第２ノードの論理レベルに応じて前記第１単位セルに対応する１ビットデジタル値が決定されてもよい。
【００２４】
一方、本発明の更なる実施形態によると、前記暗号キーモジュールは、Ｎ個（但し、Ｎは自然数）の差動増幅器を含み、前記Ｎ個の差動増幅器のうち第１差動増幅器において、前記第１差動増幅器の２つの入力端子が短絡される場合、前記第１差動増幅器の２つの出力端子の論理レベルは半導体製造工程偏差に基づいて異なり、前記２つの出力端子の論理レベルに応じて前記第１差動増幅器に対応する１ビットデジタル値が決定され、前記暗号キーモジュールがＮビットの暗号キーを生成して提供してもよい。
【００２５】
本発明の他の一実施形態によると、暗号化するデータを暗号キーを提供する暗号キーモジュールを内部に含む暗号化モジュール内に入力されるステップと、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行って前記データを暗号化するステップとを含む暗号化方法が提供される。
【００２６】
本発明の他の一実施形態によると、暗号化する入力データが入力されて暗号キーを用いた暗号化アルゴリズムを行うＩＣチップにおいて、暗号キーを提供する暗号キーモジュールを内部に含み、前記暗号キーモジュールが提供する暗号キーを用いて前記暗号化アルゴリズムを行う暗号化モジュールを含むＩＣチップが提供される。
【００２７】
この場合、前記ＩＣチップは、スマートカードに内蔵されて前記スマートカードの応用例において前記暗号化アルゴリズムを行ってもよい。
【発明の効果】
【００２８】
本発明によると、暗号化モジュールの外部でキーを生成してメモリに格納したり、バスなどを介してキーを送信しないことで、不揮発性メモリそのものに対する攻撃やバスプロービングなどの物理的な攻撃に安全である。
【００２９】
本発明によると、モジュールの内部で他の標準セル（ｓｔａｎｄａｒｄ  ｃｅｌｌ）に類似する形状でランダムに配置されるため、暗号キーモジュールが直接に発見されることが難しいため、メモリの内容を物理的な攻撃によって抽出する攻撃から安全である。
【００３０】
また、暗号キーを格納する不揮発性メモリを必要としないため、空間及び電力使容量の改善を図ることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係る暗号化装置を示す。
【図２】本発明の一実施形態に係る暗号化モジュールを示す。
【図３】本発明の一実施形態に係る暗号化モジュールの例示的構成を示すブロック図である。
【図４】本発明の一実施形態により工程偏差を用いて暗号キーを生成するＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎｓ）形態の暗号キーモジュールを構成する単位セルの概念を説明するための例示的な回路図である。
【図５】図４に示す実施形態を理解するための参考グラフである。
【図６】本発明の一実施形態に係る暗号キーモジュールの例示的な実現を示すブロック図である。
【図７】本発明の一実施形態により差動増幅器の工程偏差を用いてデジタル値を生成する暗号キーモジュールの単位セルを示す。
【図８】本発明の一実施形態により暗号キーモジュールが実現された例示的な回路図を示す。
【図９】本発明の一実施形態により半導体デザインルールを意図的に違反して暗号キーモジュールを生成する原理を説明するための概念図である。
【図１０】本発明の一実施形態により半導体デザインルールを意図的に違反して実現する暗号キーモジュールの構成を説明するためのグラフである。
【図１１】本発明の一実施形態により導電レイヤ間のギャップを調整して暗号キーモジュールを生成する過程を説明するための概念図である。
【図１２】本発明の一実施形態に係る暗号キーモジュールを実現するために半導体レイヤに形成されたビアまたはコンタクトアレイの例示的な構造を示す概念図である。
【図１３】本発明の一実施形態により図１２に示す実施形態で生成されたデジタル値をそのまま暗号キーとして使用せず、０と１のバランスのために後処理する過程を説明するための概念図である。
【発明を実施するための形態】
【００３２】
以下、発明の一部実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００３３】
図１は、本発明の一実施形態に係る暗号化装置１００を示す。
【００３４】
例示的に、暗号化装置１００はスマートカードのＩＣチップに含まれる構成であってもよく、データを格納するためのＥＥＰＲＯＭ１２０、ＣＰＵ１３０、及び選択的にＳＤＲＡＭ１４０を有し、Ｉ／Ｏインタフェース１０１を介して外部と通信する。
【００３５】
暗号化装置１００には暗号化モジュール１１０が含まれるが、例示的に、暗号化モジュール１１０は暗号化のためのクリプトコプロセッサ（Ｃｒｙｐｔｏ  ｃｏ−ｐｒｏｃｅｓｓｏｒ）であってもよい。
【００３６】
以下で特別な記載がなくても、スマートカードまたはスマートカードのＩＣチップが含む暗号化装置１００の応用例に応じて、ＥＥＰＲＯＭ１２０、ＣＰＵ１３０、及び選択的にＳＤＲＡＭ１４０のうち少なくとも一部は省略されてもよく、本発明の思想から離れない範囲で様々な変形や応用が可能である。
【００３７】
また、以下で特別な記載がなくても、Ｉ／Ｏインタフェース１０１は接触式及び／または非接触式などの方式に問わず、暗号化装置１００に出入されるデータの入出力ルートとなる。
【００３８】
一方、本発明の実施形態に係る暗号化装置１００の暗号化モジュール１１０は、暗号化アルゴリズムを行う過程で暗号キーを用いることができる。このような暗号キーは、公開キー、暗号キーなどを含む概念であってもよい。
【００３９】
従来には、暗号化アルゴリズムを行うための暗号キーを暗号化モジュール１１０の外部にデジタル値の形態で格納し、暗号化モジュール１１０が暗号化アルゴリズムを行ってデータを暗号化及び／または復号化する過程で前記暗号キーはバス１０２を介して入力される。
【００４０】
ところが、このような方式は、暗号化アルゴリズム及び／または暗号キーを把握しようとする物理的な攻撃に脆弱であった。
【００４１】
このような物理的な攻撃は、ＥＥＰＲＯＭ１２０などのメモリで暗号キーがある領域を直接攻撃してプロービングやメモリスキャンのような方法でメモリ内の暗号キーを抽出することができる。また、逆行分析を行ってＩＣチップからバス１０２の位置が確認されるために特定の命令語を人為的に実行させ、このときマイクロプローブ（Ｍｉｃｒｏ−ｐｒｏｂｅ）を用いたバスプロービングなどを実行すれば暗号キーが抽出される。
【００４２】
本発明の一実施形態によると、暗号キーは暗号化モジュール１１０内に含まれた暗号キーモジュール１１１が直接に生成したり及び／または予め生成された暗号キーを暗号キーモジュール１１１が格納してから暗号化モジュール１１０が暗号化アルゴリズムを行う場合に提供する。
【００４３】
したがって、前記実施形態によると、暗号化モジュール１１０が暗号化アルゴリズムを行う過程で用いる暗号キーがデジタル値の形態に暗号化モジュール１１０の外部に格納されず、バス１０２を介して暗号キーが伝達されないことから暗号化モジュール１１０の暗号化アルゴリズムに対する物理的な攻撃を防止することができる。
【００４４】
暗号キーを生成したり及び／または格納して暗号化モジュール１１０の暗号化アルゴリズムを実行するとき提供する暗号キーモジュール１１１は物理的に暗号化モジュール１１０内に含まれ、その構成及び動作に関する様々な例示的な実施形態については図２を参考して後述する。
【００４５】
図２は、本発明の一実施形態に係る暗号化モジュール１１０を示す。
【００４６】
図１に示すように、暗号化モジュール１１０は暗号化装置１００で他の構成とバス１０２を介して接続されてもよい。
【００４７】
本発明の一実施形態によると、暗号化モジュール１１０内には少なくとも１つの暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などが含まれる。
【００４８】
例示的に示された各暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などは、それぞれ独立的または相互関連して暗号化アルゴリズムの実行に必要な暗号キーを生成及び／または格納し、暗号化モジュール１１０に提供する。
【００４９】
一部の実施形態において、暗号化モジュール１１０内に暗号キーモジュールが１つのみ含まれてもよく、他の実施形態において図２に示すように複数含まれてもよい。
【００５０】
また、暗号化モジュール１１０内に暗号キーモジュールが複数含まれる場合、複数の暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などのうち少なくとも一部は実際には暗号キーを提供しないダミー（ｄｕｍｍｙ）である場合もある。
【００５１】
暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などを実現する実施形態には、暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などがメモリ素子である場合と非メモリ素子である場合がある。
【００５２】
もちろん、暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などの一部はメモリ素子であり、他の一部は非メモリ素子である実施形態も可能であり、本発明が一部実施形態によって制限的に解釈されることはない。
【００５３】
例示的に、暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などがメモリ素子から構成される実施形態では、予め生成されたデジタル値の形態の暗号キーがメモリ素子である暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などに単に格納されてから、暗号化モジュール１１０が暗号化アルゴリズムを行う過程で必要に応じて読み出して使用する。
【００５４】
他の実施形態では、暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などが非メモリ素子から構成される場合には、暗号キーモジュール２１０、２２０、２３０、２４０及び２５０などの少なくとも一部はＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）によって実現されてもよい。
【００５５】
暗号キーモジュール２１０、２２０、２３０、２４０及び２５０がＰＵＦのような非メモリ素子から構成される実施形態においても、ＰＵＦを実現するための実施形態は様々であり、例示的に半導体製造の工程上のデザインルールを意図的に違反したり、または、半導体製造工程の工程偏差を用いて実現してもよい。
【００５６】
このような実施形態については図４ないし図１３を参照して詳細に後述する。
【００５７】
図３は、本発明の一実施形態に係る暗号化モジュール１１０の例示的な構成を示すブロック図である。
【００５８】
暗号化しようとするデータがバス１０２などを経てデータ入力部３１０に入力されれば、暗号化アルゴリズムの実行が開始される。
【００５９】
図２を参考して説明したように、物理的に暗号化モジュール１１０内に含まれた暗号キーモジュール３２０は１つまたは複数であってもよい。
【００６０】
例示的に、暗号キーモジュール０１  ３２１ないし暗号キーモジュールＮ３２２（ただし、Ｎは自然数）が存在する場合、暗号キーモジュール選択部３３０は、実際に暗号化アルゴリズムに用いる暗号キーを提供する暗号キーモジュールを選択する。
【００６１】
このような選択は、暗号キーモジュール３２０を識別するインデックスのうち実際に選択される暗号キーモジュールのインデックス情報であってもよく、または、暗号キーモジュール３２０が暗号化モジュール１１０と共に設計されて製造される過程でワイヤリング（ｗｉｒｉｎｇ）によって予め決定されたものであってもよい。
【００６２】
このような過程によって暗号キーが与えられれば、暗号化部３４０は、前記暗号キーを用いて暗号化アルゴリズムを行うことで前記入力されたデータを暗号化し、これはデータ出力部３５０を経てバス１０２を介して他の構成に伝達される。
【００６３】
以上はデータ暗号化の過程いついてのみ説明したが、暗号化アルゴリズムを用いる復号化過程も類似する。本発明の実施形態が暗号化または復号化のいずれか１つであると制限的に解釈されることはない。
【００６４】
このように暗号キーの管理が暗号化モジュール１１０内で自主的に行われることによって、暗号キーが暗号化モジュール１１０の外部に伝達されたり、または、外部で暗号化モジュール１１０内に伝達されないため、物理的な攻撃の成功の可能性は著しく低くなる。特に、バス１０２をプロービングなどの物理的な攻撃は成功の可能性が極めて低くなるのであろう。
【００６５】
一方、暗号キーモジュールがメモリ素子の場合は図１ないし図２を参照して上述し、以下では図４〜図１３を参照して暗号キーモジュールが非メモリ素子であるＰＵＦで実現される実施形態について説明する。
【００６６】
参考に、本明細書で記載されるＰＵＦは物理的な複製が不可能であり、一回製造された後には、少なくとも理論的には変わらない暗号キーを生成する。
【００６７】
以下は、暗号キーモジュールが非メモリ素子であるＰＵＦによって実現される様々な実施形態について記載し、図４ないし図８は、半導体工程（Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｐｒｏｃｅｓｓ）における工程偏差を用いて暗号キーを生成する暗号キーモジュールを実現例に対応する。
【００６８】
そして、図９ないし図１３は、回路をデザインする場合のデザインルールを意図的に違反することによって暗号キーモジュールを生成する実現例に対応する。
【００６９】
図４は、本発明の一実施形態により工程偏差を用いて暗号キーを生成するＰＵＦ形態の暗号キーモジュールを構成する単位セルの概念を説明するための例示的な回路図である。
【００７０】
図４に示すように、第１インバータ４１０と第２インバータ４２０が図示される。
【００７１】
半導体工程で工程偏差は様々な理由に起因する。例えば、トランジスタを製造する場合、有効ゲートの長さ、ドーピング濃度関連指数、酸化物の厚さ関連指数、または閾値電圧などのパラメータが工程偏差の原因になり得る。
【００７２】
一般的に工程偏差の小さい半導体製造工程が優れるものと認識されるが、物理的な特徴上、工程偏差を小さくすることはできても完全に除去することは不可能である。
【００７３】
本実施形態において、第１インバータ４１０は第１論理閾値を有し、第２インバータ４２０は第２論理閾値を有する。論理閾値はインバータの入力電圧と出力電圧とが同じ値を有する場合の電圧値であり、図５を参照してより詳細に後述する。
【００７４】
インバータ素子の論理閾値は、動作中であるインバータの出力端子と入力端子を短絡させる場合の電圧値に測定される。
【００７５】
同じ工程で製造されるインバータは、理論上に同じ論理閾値を有するようデザインされるが、上記のように実際製造工程では工程偏差が存在するため、実際にはいずれの２つのインバータも完全に同じ論理閾値を有することができない。
【００７６】
本発明の一実施形態によると、前記第１インバータ４１０と前記第２インバータ４２０は同じ製造工程で製造されたものであり、工程偏差に起因する論理閾値の差を有する。
【００７７】
前記論理閾値の差は工程によって互いに異なるが、例えば、数ないし数十ミリボルト程度の大きさであってもよい。したがって、前記第１インバータ４１０の論理閾値と前記第２インバータ４２０の論理閾値を別途の比較器回路を用いて測定することは、測定上の誤差のために正確ではないこともある。
【００７８】
したがって、２つのインバータの論理閾値を相対的に比較することのできる（すなわち、別途の比較器回路を利用せずに測定する）方法が要求される。本発明における一部の実施形態では、２つのインバータ間の論理閾値を相対的に（別途の比較器回路を利用せずに自主的に）比較していずれかの論理閾値が大きいかを判断する。
【００７９】
もし、第２インバータ４２０が存在しなければ、第１インバータ４１０の入力端子と出力端子を短絡させる場合、第１インバータ４１０の出力電圧は前記第１インバータ４１０の論理閾値と同一である。
【００８０】
また、第１インバータ４１０が存在しなければ、第２インバータ４２０の入力端子と出力端子を短絡させる場合、第２インバータ４２０の出力電圧は前記第２インバータ４２０の論理閾値と同一である。
【００８１】
しかし、図４に示すように、第１インバータ４１０の入力端子と第２インバータ４２０の出力端子が短絡されて第１ノードに接続され、第１インバータ４１０の出力端子と第２インバータ４２０の入力端子が短絡されて第２ノードに接続される場合は、前述の場合と異なる結果をもたらす。
【００８２】
スイッチ４３０を用いて前記第１ノードと前記第２ノードを短絡させる場合、短絡された前記２つのノードの電圧値は、前記第１インバータ４１０の論理閾値と前記第２インバータ４２０の論理閾値との間の値（平均値ではない場合もある、以下同一）になる。
【００８３】
前記２つのインバータの論理閾値のいずれかの値が高いかに関わらず、前記スイッチ４３０が閉じられている間は出力電圧の値が前記２つのインバータの論理閾値の間の値となる。
【００８４】
そして、その後にスイッチ４３０を開放して前記第１ノードと前記第２ノードを開放する場合、前記第１ノードと前記第２ノードのいずれか１つの電圧値の論理的レベル（ｌｏｇｉｃａｌ  ｌｅｖｅｌ）は「０」になり、他の１つの論理的レベルは「１」になる。
【００８５】
例えば、もし、第１インバータ４１０の論理閾値が前記第２インバータ４２０の論理的閾値よりも低いと仮定すると、前記スイッチ４３０が閉じられて第１ノード（Ｏｕｔの反対側のノード）と第２ノード（Ｏｕｔノード）が短絡された間の第１ノードの電圧は前記第１インバータ４１０の論理閾値よりも高い。
【００８６】
したがって、前記スイッチ４３０が再び開放されて前記第１ノードと前記第２ノードが開放された後、第１インバータ４１０は（自身の入力端子である）第１ノードの電圧を論理的レベルハイ（Ｈｉｇｈ）と認識し、これにより第１インバータ２１０の出力端子である第２ノードの電圧を論理的レベルロー（Ｌｏｗ）にする。
【００８７】
この場合、第２インバータ４２０は（自身の入力端子である）第２ノードの電圧を論理的レベルローと認識し、これにより第２インバータ４２０の出力端子である第１ノードの電圧を論理的レベルハイにする。
【００８８】
結局、図４に示す出力端子「Ｏｕｔ」である第２端子の電圧の論理的レベルはハイとなる。
【００８９】
反対に、もし、第１インバータ４１０の論理閾値が前記第２インバータ４２０の論理的閾値よりも高いと仮定すると、前記スイッチ４３０が閉じられて第１ノードと第２ノードが短絡された間の第１ノードの電圧は前記第１インバータ４１０の論理閾値よりも低い。
【００９０】
したがって、前記スイッチ４３０が再び開放されて前記第１ノードと前記第２ノードが開放された後、第１インバータ４１０は（自身の入力端子である）第１ノードの電圧を論理的レベルローと認識し、これにより第１インバータ４１０の出力端子である第２ノードの電圧を論理的レベルハイにする。
【００９１】
この場合、第２インバータ４２０は（自身の入力端子である）第２ノードの電圧を論理的レベルハイと認識し、これにより第２インバータ４２０の出力端子である第１ノードの電圧を論理的レベルローにする。
【００９２】
結局、図４に示す出力端子「Ｏｕｔ」である第２端子の電圧の論理的レベルはローとなる。
【００９３】
前述したように、第１インバータ４１０の論理閾値と第２インバータ４２０の論理閾値のいずれが高いかに応じて、スイッチ４３０の短絡-開放以後の出力端子「Ｏｕｔ」の論理的なレベルはハイ（または「１」）になるか、または、ロー（または「０」）になる。
【００９４】
ところが、同じ製造工程で製造された前記第１インバータ４１０と第２インバータ４２０のうちどの論理閾値が高いかはランダムであり、確率的に２つのインバータのうちいずれか一つの論理閾値が他の論理閾値よりも高い確率は５０％程度である。
【００９５】
そして、ひとまず製造されてからは前記論理閾値が高い側がどの側であるかは変化し難い。
【００９６】
結局、図４に示す実施形態によって１ビットのデジタル値（「１」になったり「０」になる確率は同一であるが、１回決定されれば変化し難い値）を生成する。
【００９７】
前記過程は、図５に示すグラフを参照してより明確に説明する。
【００９８】
図５は、図４に示す実施形態を理解するための参考グラフである。
【００９９】
例示的な参考グラフとして、図４に示す第１インバータ４１０の論理閾値が第２インバータ４２０の論理閾値よりも低い場合に対する電圧特性（ｖｏｌｔａｇｅ  ｃｈａｒａｃｔｅｒｉｓｔｉｃ）が図示されている。
【０１００】
曲線５１０は第１インバータ４１０の電圧特性の曲線であり、曲線５２０は第２インバータ４２０の電圧特性の曲線である。本発明の一実施形態により第１インバータ４１０と第２インバータ４２０が同じ製造工程で製造されるとき、曲線５１０と曲線５２０は大体一致するものの、工程偏差のために若干の差はある。
【０１０１】
曲線５１０と傾きが１である直線５３０の交点を探すと、第１インバータ４１０の論理閾値であるＶ１を決定することができる。また、曲線５２０と直線５３０の交点を探すと、第２インバータ４２０の論理閾値であるＶ２を決定することができる。
【０１０２】
本実施形態においてＶ１はＶ２よりも低い。したがって、図４に示すスイッチ４３０が閉じられ、前記第１ノードと前記第２ノードが短絡される場合（「Ｒｅｓｅｔ」とする）、第１ノードと第２ノードの電圧ＶＲｅｓｅｔはＶ１とＶ２の間にある値となる。
【０１０３】
そして、前記スイッチ４３０が再び開放されて前記第１ノードと前記第２ノードが開放された後、第１インバータ４１０は第１ノードの電圧ＶＲｅｓｅｔを論理的レベルハイと認識し、これにより第１インバータ４１０の出力端子である第２ノードの電圧を論理的レベルローにする。
【０１０４】
この場合、第２インバータ４２０は第２ノードの電圧ＶＲｅｓｅｔを論理的レベルローと認識し、これにより第２インバータ４２０の出力端子である第１ノードの電圧を論理的レベルハイとする。
【０１０５】
したがって、図４に示す出力端子「Ｏｕｔ」である第２端子の電圧の論理的レベルはハイとなる。
【０１０６】
図４に示された単位セルが１ビットのデジタル値を作れば、このような単位セルをＮ個集積すると、Ｎビットのデジタル値が暗号キーを生成することができる。
【０１０７】
本発明の一部実施形態によると、このような方式によって暗号キーモジュール３２０が実現され得る。
【０１０８】
半導体工程偏差を用いたインバータ素子の論理閾値の差を用いてデジタル値形態の暗号キーを生成する暗号キーモジュールの実現は下記の図６に示すような構成も可能である。
【０１０９】
図６は、本発明の一実施形態に係る暗号キーモジュール６００の例示的な実現を示すブロック図である。
【０１１０】
本実施形態において、暗号キーモジュール６００は、インバータ６１１ないしインバータ６１５の５個のインバータ、選択部６２０及び比較器６３０を備える。
【０１１１】
選択部６２０は、図６に示された５個のインバータのいずれか２つを選択する。例えば、インバータ６１２とインバータ６１３が選択されてもよい。
【０１１２】
この場合、比較器６３０は、インバータ６１２の論理閾値とインバータ６１３の論理閾値とを比較し、前記比較結果に応じてＯｕｔ端子に出力電圧を提供する。そして、前記Ｏｕｔ端子の出力電圧の論理的レベルに応じて１ビットのデジタル値が生成されてもよい。
【０１１３】
そして、選択部６２０が他の２つのインバータを選択する場合、前記比較器６３０は再び１ビットのデジタル値を生成してもよい。
【０１１４】
前記のように、選択部６２０が５個のインバータ６１１ないし６１５のうち２つを選択し、比較器６３０が選択された２つのインバータの論理閾値を比較することでデジタル値を生成する場合、最大１０ビットのデジタル値が取得される。
【０１１５】
本実施形態ではインバータが５個であるが、本発明はこれに限定されず、生成しようとするデジタル値のビット数、回路の面積などを考慮して様々に変更することができる。
【０１１６】
そして、半導体チップ内に集積され得る比較器６３０の面積がインバータ６１１ないし６１５の面積に比べて大きいことを考慮したため、本実施形態では選択部６２０によって複数のインバータと１つの比較器６３０が接続された。しかし、他の応用例では、インバータ２個当たり比較器１つが組になってＮビットのデジタル値を生成してもよい。
【０１１７】
一方、半導体工程偏差を用いたインバータ素子の論理閾値差を用いてデジタル値形態の暗号キーを生成する暗号キーモジュールの実現は下記の図７のような構成も可能である。
【０１１８】
図７は、本発明の一実施形態により差動増幅器の工程偏差を用いてデジタル値を生成する暗号キーモジュールの単位セル７００を示す。
【０１１９】
単位セル７００は差動増幅器回路である。トランジスタ及び抵抗のうち少なくとも１つの素子で構成される差動増幅器回路である単位セル７００は第１入力端子７１１と第２入力端子７１２の電圧の差を増幅し、第１出力端子７２１と第２出力端子７２２との間の電圧差として提供する。
【０１２０】
したがって、前記第１入力端子７１１と第２入力端子７１２を短絡させる場合、理論的には、出力電圧値の第１出力端子７２１と第２出力端子７２２との間の電圧差が０でなければならない。
【０１２１】
しかし、半導体工程偏差による素子間の電気的な特性差のために、第１出力端子７２１の電圧と第２出力端子７２２の電圧は完全に同一ではない。
【０１２２】
したがって、図６に示す実施形態においてインバータの論理閾値を比較したような方法により、２つの出力端子のうちどの出力端子の電圧が高いかを比較すれば、１ビットのデジタル値を生成することができる。
【０１２３】
例えば、第１入力端子７１１と第２入力端子７１２を短絡させた場合、第１出力端子７２１の電圧値が第２出力端子７２２の電圧値よりも高ければ、デジタル値「１」と認識し、反対の場合にはデジタル値「０」と認識する。
【０１２４】
したがって、このような差動増幅器単位セル７００がＮ個集積されれば、Ｎビットのデジタル値の形態で暗号キーを提供することができ、本発明の一部実施形態による暗号キーモジュールが実現され得る。このような実現が下記の図８で図示されている。
【０１２５】
図８は、本発明の一実施形態により暗号キーモジュール８００が実現された例示的な回路図を示す。
【０１２６】
図示された実施形態において、暗号キーモジュール８００は６個の差動増幅器８１１ないし８１６、前記６個の差動増幅器のいずれか１つを選択する選択部８２０、及び前記選択部８２０によって選択された差動増幅器の２つの出力電圧を比較して１ビットのデジタル値を生成する比較部８３０を備える。
【０１２７】
この場合、前記６個の差動増幅器８１１ないし８１６の全体の入力端子は短絡され、同じ電圧を有する。
【０１２８】
本発明の一実施形態によると、選択部８２０は６：１ＭＵＸ素子であってもよい。ただし、これは本発明の実現のための一実施形態に過ぎず、本発明は、特定の実施形態に限定されることはない。
【０１２９】
したがって、ＭＵＸ素子の入力／出力ポートの数は変更されてもよく、さらに選択部８２０はＭＵＸ素子ではない他の素子であってもよい。前記６：１ＭＵＸ素子は、１２個の入力端子を介して入力される６個の差動増幅器の出力電圧を２つの出力端子に出力する。そして、この２つの出力端子は比較部８３０の２つの入力端子に接続される。
【０１３０】
前記実施形態において、暗号キーモジュール８００は６ビットのデジタル値である暗号キーを生成してもよい。
【０１３１】
以上では、図４ないし図８を参照して半導体工程の工程偏差を用いて暗号キーモジュールを実現する実施形態が説明された。
【０１３２】
以下は、図９ないし図１３を参照して半導体デザインルールを意図的に違反することによって暗号キーモジュールを実現する実施形態について説明する。
【０１３３】
図９は、本発明の一実施形態により半導体デザインルールを意図的に違反して暗号キーモジュールを生成する原理を説明するための概念図である。
【０１３４】
通常、コンタクトまたはビアは導電レイヤの間を接続するよう設計されるものであり、通常コンタクトまたはビアサイズは導電レイヤの間を短絡させるよう決定される。そして、通常のデザインルールでは導電レイヤの間を短絡させることが保障されるよう最小限のコンタクトまたはビアサイズが決定されている。
【０１３５】
しかし、本発明の一実施形態に係る暗号キーモジュールの実現において、コンタクトまたはビアのサイズをデザインルールに応じて決定したものよりも意図的に小さくし、一部のコンタクトまたはビアは導電レイヤの間を短絡させ、他の一部のコンタクトまたはビアは導電レイヤの間を短絡させず、このような短絡の有無は確率的に決定される。
【０１３６】
従来の半導体工程ではコンタクトまたはビアが導電レイヤの間を短絡させることができなければ工程上失敗となるが、これを乱数性を有する暗号キーの生成に利用する。
【０１３７】
図９を参照すると、半導体製造工程でメタル１レイヤ９０２とメタル２レイヤ９０１の間にビアが形成された形状を示す。
【０１３８】
ビアサイズをデザインルールに応じて十分大きくしたグループ９１０では全てのビアはメタル１レイヤ９０２とメタル２レイヤ９０１が短絡され、短絡の有無をデジタル値に表現すれば全て０になる。
【０１３９】
一方、ビアサイズを極めて小さくしたグループ９３０では全てのビアはメタル１レイヤ９０２とメタル２レイヤ９０１が短絡されていない。したがって、短絡の有無をデジタル値に表現すれば全て１になる。
【０１４０】
そして、ビアサイズをグループ９１０とグループ９３０との間のグループ９２０では、一部のビアはメタル１レイヤ９０２とメタル２レイヤ９０１が短絡され、他の一部のビアはメタル１レイヤ９０２とメタル２レイヤ９０１が短絡されていない。
【０１４１】
本発明の一実施形態によると、暗号キーモジュールを実現するために、グループ９２０のように、一部のビアはメタル１レイヤ９０２とメタル２レイヤ９０１を短絡させ、他の一部のビアはメタル１レイヤ９０２とメタル２レイヤ９０１を短絡させられないようビアサイズを設定して構成する。
【０１４２】
ビアサイズに対するデザインルールは半導体製造工程により異なるが、例えば０．１８ミクロン（ｕｍ）のＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）工程でビアのデザインルールが０．２５ミクロンと設定されたとすれば、本発明の一実施形態に係る暗号キーモジュールの実現ではデザインルールを意図的に違反し、ビアサイズを０．１９ミクロンに設定することでメタルレイヤ間の短絡の有無が確率的に分布するようにする。
【０１４３】
このような短絡有無の確率分布は５０％の短絡確率を有することが理想的であり、本発明の一実施形態に係る暗号キーモジュールの実現では前記確率分布が最大５０％に近くビアサイズを設定して構成される。このようなビアサイズ設定は工程による実験によってビアサイズを決定してもよい。
【０１４４】
図１０は、本発明の一実施形態により半導体デザインルールを意図的に違反して実現する暗号キーモジュールの構成を説明するためのグラフである。
【０１４５】
グラフにおいてビアのサイズが大きいほど、メタルレイヤ間の短絡確率が１に近いことが確認される。デザインルールによるビアサイズはＳｄとして、メタルレイヤ間の短絡が十分保障される値である。
【０１４６】
そして、Ｓｍは理論的にメタルレイヤの短絡確率が０．５になるビアサイズであるが、前記のように工程によって値が異なり実験によって最大に類似する値を探すことはできるが、正確なＳｍを探すことは難しい。
【０１４７】
したがって、本発明の一実施形態に係る暗号キーモジュールの実現において、具体的な実験によりメタルレイヤ間の短絡の有無が０．５で所定の許容誤差を有するＳｘ１とＳｘ２の範囲内（前記Ｓｘ１とＳｘ２は別に図示していないが、示されたＳｘ近くの一定マージンを有する領域）で設定される。
【０１４８】
図９ないし図１０ではビアサイズに関するデザインルールを意図的に違反して暗号キーモジュールを実現する実施形態を説明したが、本発明の他の一部実施形態によると、暗号キーモジュールは、導電レイヤ間のギャップに関するデザインルールを意図的に違反することで実現される。
【０１４９】
図１１は、本発明の一実施形態により導電レイヤ間のギャップを調整して暗号キーモジュールを生成する過程を説明するための概念図である。
【０１５０】
前記のように、本発明の他の一実施形態によると、メタルライン間のギャップを調整してメタルライン間の短絡の有無が確率的に決定されるようにする。
【０１５１】
メタルライン間の短絡が十分に保障されるよう、メタルライン間隔を小さくしたグループ１１１０では全ての場合でメタルラインが短絡された。
【０１５２】
そして、メタルラインの間隔を極めて大きくしたグループ１１３０では全ての場合でメタルラインが短絡されていない。
【０１５３】
本実施形態において、暗号キーモジュールを実現するためには、グループ１１２０のように、メタルラインの一部は短絡されて一部は短絡されないように、短絡が確率的に行われるメタルラインの間隔を設定する。
【０１５４】
図１２は、本発明の一実施形態に係る暗号キーモジュール１２００を実現するために半導体レイヤに形成されたビアまたはコンタクトアレイの例示的な構造を示す概念図である。
【０１５５】
半導体基板に積層されたメタルレイヤ間に横Ｍ個、縦Ｎ個（但し、Ｍ及びＮは自然数）、合わせてＭ×Ｎ個のビアが形成された形状が図示される。
【０１５６】
暗号キーモジュール１２００は、Ｍ×Ｎ個のビアそれぞれがメタルレイヤ間を短絡させるか（デジタル値は０）短絡させることができないか（デジタル値は１）の有無に応じてＭ×Ｎビットの暗号キーを生成して提供する。
【０１５７】
図１３は、本発明の一実施形態により図１２に示す実施形態で生成されたデジタル値をそのまま暗号キーとして使用せずに０と１のバランスのために後処理する過程を説明するための概念図である。
【０１５８】
本発明の一実施形態によると、暗号キーモジュール１２００で生成されたＭ×Ｎビットのデジタル値は、所定のｋ個単位（ただし、ｋは自然数である）にグルーピングしてグループ化される。
【０１５９】
もちろん、図１３で示されたグループ化は説明の便宜のための例示的な図面に過ぎず、実際の実現においては暗号キーモジュール１２００内のレジスタまたはフリップフロップをグループ化する方法などが可能である。
【０１６０】
したがって、デジタル値をグループ化する方法によって０と１のバランスを行う過程は、本技術分野の通常の知識を有する者が様々な変形及び応用によって行うことができ、本発明の範囲から離れて解釈されてることはない。
【０１６１】
図１３に示すように、４個のデジタル値が１つのグループにグループ化されている。
【０１６２】
暗号キーモジュール１２００は、グループ１３１０とグループ１３２０がそれぞれ生成した４ビットのデジタル値の大きさを比較する。そして、グループ１３１０の４ビットデジタル値がグループ１３２０の４ビットデジタル値よりも大きければ、前記グループ１３１０とグループ１３２０を代表するデジタル値は１に決定する。
【０１６３】
反対に、グループ１３１０の４ビットデジタル値がグループ１３２０の４ビットデジタル値よりも小さければ、前記グループ１３１０とグループ１３２０を代表するデジタル値は０に決定する。
【０１６４】
他の実施形態では、グループ間のデジタル値１の個数を比較してグループ代表デジタル値を選択することも可能である。
【０１６５】
本発明の一実施形態に係る方法は、 多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。ここで説明されたソフトウェアモジュールの任意の一つ以上は、そのユニットに固有専用のプロセッサによって実行されてもよく、または、モジュールの一つ以上に共通するプロセッサによって実行されてもよい。説明された方法は汎用コンピュータやプロセッサによって実行されてもよく、ここで説明したような特定のマシンによって行われてもよい。
【０１６６】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【０１６７】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲のみならず特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１６８】
１００：暗号化装置
１１０：暗号化モジュール
１２０：ＥＥＰＲＯＭ
１３０：ＣＰＵ
１４０：ＳＤＲＡＭ
１０１：Ｉ／Ｏインタフェース
【図１】
2014506095.tif 000003
【図２】
2014506095.tif 000004
【図３】
2014506095.tif 000005
【図４】
2014506095.tif 000006
【図５】
2014506095.tif 000007
【図６】
2014506095.tif 000008
【図７】
2014506095.tif 000009
【図８】
2014506095.tif 000010
【図９】
2014506095.tif 000011
【図１０】
2014506095.tif 000012
【図１１】
2014506095.tif 000013
【図１２】
2014506095.tif 000014
【図１３】
2014506095.tif 000015
【国際調査報告】
2014506095.tif 000016
2014506095.tif 000017
2014506095.tif 000018
2014506095.tif 000019