(57)【要約】【課題】ランダムなデジタル値を提供するデジタル値生成装置が提供される。【解決手段】前記装置は、半導体の工程変移を用いて前記デジタル値を生成する。装置は、前記半導体の工程変移を用いて複数のデジタル値を生成する生成部、及び前記複数のデジタル値を処理して第１デジタル値を提供する処理部を含む。そして、前記生成部は、パラメータが互いに異なるように適用されて前記複数のデジタル値を生成する複数のＰＵＦを含む。【選択図】図１
2019201418.tif 000002
【特許請求の範囲】
【請求項１】
半導体の工程変移を用いてデジタル値を生成する装置において、
前記装置は、
ｎ及びｋを所定の自然数とし、前記半導体の工程変移を用いて、各々がｋビットの、ｎ個の複数のデジタル値を生成する生成部と、
前記複数のデジタル値を処理してｋビットの第１デジタル値を提供する処理部と、
を含み、
前記生成部は、各々がｋビットのデジタル値を生成するように構成されたｎ個の複数のＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）を含み、前記複数のＰＵＦのうち少なくとも一部は前記工程変移を引き起こす少なくとも１つのパラメータが互いに異なるように適用されて製造され、前記複数のＰＵＦが前記複数のデジタル値を生成し、
前記複数のＰＵＦのうち少なくとも一部に適用されるパラメータは、半導体に含まれる伝導性レイヤの間が短絡されたり短絡されていない場合に適用されたパラメータの最小値と最大値との間の範囲で選択される、装置。
【請求項２】
前記複数のＰＵＦのうち少なくとも１つは、半導体の伝導性レイヤの間に形成される少なくとも１つのビアを含み、前記少なくとも１つのビアによって前記伝導性レイヤが短絡されるか否かを用いて前記複数のデジタル値のうち少なくとも１つを生成する、請求項１に記載の装置。
【請求項３】
前記パラメータは、前記ビアのサイズを含む、請求項２に記載の装置。
【請求項４】
前記ビアのサイズは、前記装置を生成する工程に対して先に行われたテスト工程で前記伝導性レイヤの間が短絡されたり、短絡されないと確認されたビアサイズの最小値以上最大値以下の範囲で選択され、前記複数のＰＵＦそれぞれには前記範囲内で互いに異なるビアサイズが適用される、請求項３に記載の装置。
【請求項５】
前記処理部は、前記複数のデジタル値のうち予め指定された条件に適する値を前記第１デジタル値に選択する、請求項１に記載の装置。
【請求項６】
ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小であるＰＵＦによって生成されるデジタル値を前記第１デジタル値として選択する、請求項５に記載の装置。
【請求項７】
ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小値と最大値の中央値であるＰＵＦによって生成されるデジタル値を前記第１デジタル値として選択する、請求項５に記載の装置。
【請求項８】
前記処理部は、前記複数のデジタル値をビットシーケンスごとに論理演算して前記第１デジタル値を算出する、請求項１に記載の装置。
【請求項９】
前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算である、請求項８に記載の装置。
【請求項１０】
半導体の工程変移を用いてデジタル値を生成する装置がデジタル値を生成する方法において、
ｎ及びｋを所定の自然数とし、前記工程変移を引き起こす少なくとも１つのパラメータが互いに異なるように適用されて製造され、各々がｋビットのデジタル値を生成するｎ個の複数のＰＵＦが、 各々がｋビットのｎ個の複数のデジタル値を生成するステップと、
処理部が前記複数のデジタル値を処理してｋビットの第１デジタル値を提供するステップと、
を含み、
前記複数のＰＵＦのうち少なくとも一部に適用されるパラメータは、半導体に含まれる伝導性レイヤの間が短絡されたり短絡されていない場合に適用されたパラメータの最小値と最大値との間の範囲で選択される、方法。
【請求項１１】
前記複数のＰＵＦのうち少なくとも１つは、半導体の伝導性レイヤの間に形成される少なくとも１つのビアを含み、
前記生成するステップは、前記少なくとも１つのビアによって前記伝導性レイヤが短絡されるか否かに応じて前記複数のデジタル値のうち少なくとも１つを生成する、請求項１０に記載の方法。
【請求項１２】
前記パラメータは前記ビアのサイズを含む、請求項１１に記載の方法。
【請求項１３】
前記ビアのサイズは、前記装置を生成する工程に対して先に行われたテスト工程で前記伝導性レイヤ間が短絡されたり、短絡されていないと確認されたビアサイズの最小値以上最大値以下の範囲で選択され、前記複数のＰＵＦそれぞれには前記範囲内で互いに異なるビアサイズが適用される、請求項１２に記載の方法。
【請求項１４】
前記処理するステップは、前記複数のデジタル値のうち予め指定された条件に適する値を前記第１デジタル値に選択する、請求項１０に記載の方法。
【請求項１５】
ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小であるＰＵＦによって生成されるデジタル値を前記第１デジタル値として選択する、請求項１４に記載の方法。
【請求項１６】
ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小値と最大値の中央値であるＰＵＦによって生成されるデジタル値を前記第１デジタル値として選択する、請求項１４に記載の方法。
【請求項１７】
前記処理するステップは、前記複数のデジタル値をビットシーケンスごとに論理演算して前記第１デジタル値を算出する、請求項１０に記載の方法。
【請求項１８】
前記論理演算は排他的ＯＲ（ＸＯＲ）論理演算である、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
セキュリティー分野に関し、より詳しくは工程変移を用いてランダムなデジタル値を生成するＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）に関する。
【背景技術】
【０００２】
ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）は予測不可能なデジタル値を提供する。個々のＰＵＦは正確な製造工程が与えられ、同一の工程で製造されても前記個々のＰＵＦが提供するデジタル値は異なる。
【０００３】
ＰＵＦは、複製が不可能なＰＯＷＦ（Ｐｈｙｓｉｃａｌ  Ｏｎｅ−Ｗａｙ  Ｆｕｎｃｔｉｏｎ  ｐｒａｃｔｉｃａｌｌｙ  ｉｍｐｏｓｓｉｂｌｅ  ｔｏ  ｂｅ  ｄｕｐｌｉｃａｔｅｄ）又はＰＲＦ（Ｐｈｙｓｉｃａｌ  Ｒａｎｄｏｍ  Ｆｕｎｃｔｉｏｎ）のように称されてもよい。
【０００４】
このようなＰＵＦの特性がセキュリティー及び／又は認証のための暗号キーの生成に用いられる。例えば、デバイスを他のデバイスと区別するためのユニークキーを提供するためにＰＵＦを用いてもよい。
【０００５】
韓国登録特許１０−１１３９６３０号（以下‘６３０特許）において、ＰＵＦを実現する方法が提示されている。‘６３０特許では、半導体の工程変移を用いて半導体の伝導性レイヤ（Ｃｏｎｄｕｃｔｉｖｅ  ｌａｙｅｒｓ  ｏｒ  ｃｏｎｄｕｃｔｉｖｅ  ｎｏｄｅｓ）間のインターレイヤコンタクト（Ｉｎｔｅｒ−ｌａｙｅｒ  ｃｏｎｔａｃｔ）又はビア（ｖｉａ）の生成有無が確率的に決定されるようにしてＰＵＦを生成する方法を提示する。‘６３０特許で提示された実施形態の１つは、伝導性レイヤ間に形成されるビアのサイズを小さく設計することによって、ビアが形成される場合と、そうではない場合をランダムに発生させることにある。これによって、人為的な推測のできないランダムデジタル値が生成された。ところで、‘６３０特許の場合、ＰＵＦの収率を高めるためにはＰＵＦが生成したデジタル値に含まれた個別のビット値が「０」又は「１」に偏らないことから、真の乱数になるよう最適なビアサイズを決定する必要がある。
【０００６】
したがって、特定工程に対して予め様々なビアサイズを用いてＰＵＦを生成した後、ＰＵＦが生成したデジタル値を検収し、前記特定工程で用いる最適なビアサイズを決定する１次パスが行われる。そして、このように決定された単一の最適なビアサイズを用いて実際のＰＵＦを生成する２次パスが行われる。ところで、前記特定工程で使用が決定された前記最適なビアサイズが、あるウェハー及び／又はチップでは最適でない値である場合もある。同じ工程でも工程変移が個別ウェハーごとに及び／又は個別チップごとに異なる程度で発生するためである。さらに、同じ工程、同じラインでも時間の流れに応じて工程環境や様々な要因の変化によってオプテマル値は変更されることもある。したがって、ＰＵＦ生成の収率を高める方法が求められている。
【発明の概要】
【課題を解決するための手段】
【０００７】
一側面によると、半導体の工程変移を用いてデジタル値を生成する装置が提供される。
【０００８】
一実施形態によると、前記装置は、前記半導体の工程変移を用いて複数のデジタル値を生成する生成部と、前記複数のデジタル値を処理して第１デジタル値を提供する処理部とを含む。ここで、前記生成部は、複数のＰＵＦを含み、前記複数のＰＵＦのうち少なくとも一部は前記工程変移を引き起こす少なくとも１つのパラメータが互いに異なるように適用されて製造され、前記複数のＰＵＦが前記複数のデジタル値を生成する。
【０００９】
一実施形態によると、前記複数のＰＵＦのうち少なくとも１つは、半導体の伝導性レイヤの間に形成される少なくとも１つのビアを含み、前記少なくとも１つのビアによって前記伝導性レイヤが短絡されるか否かを用いて前記複数のデジタル値のうち少なくとも１つを生成してもよい。一実施形態によると、前記パラメータは、前記ビアのサイズを含む。一実施形態によると、前記ビアのサイズは、前記装置を生成する工程に対して先に行われたテスト工程で前記伝導性レイヤの間が短絡されたり、短絡されないと確認されたビアサイズの最小値以上最大値以下の範囲（これを有効区間とも言える）で選択され、前記複数のＰＵＦそれぞれには前記範囲内で互いに異なるビアサイズが適用されてもよい。
【００１０】
一方、一実施形態によると、前記処理部は、前記複数のデジタル値のうち予め指定された条件に適する値を前記第１デジタル値に選択してもよい。この場合、前記予め指定された条件は、ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小であるＰＵＦによって生成されたものであってもよい。
【００１１】
また、他の実施形態によると、前記予め指定された条件は、ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小値と最大値の中央値であるＰＵＦによって生成されたものであってもよい。
【００１２】
更なる実施形態によると、前記処理部は、前記複数のデジタル値をビットシーケンスごとに論理演算して前記第１デジタル値を算出してもよい。
【００１３】
一実施形態によると、前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算であってもよい。
【００１４】
他の一実施形態によると、半導体の工程変移を用いてデジタル値を生成する装置がデジタル値を生成する方法は、前記工程変移を引き起こす少なくとも１つのパラメータが互いに異なるように適用されて製造された複数のＰＵＦが複数のデジタル値を生成するステップと、処理部が前記複数のデジタル値を処理して第１デジタル値を提供するステップとを含む方法が提供される。
【００１５】
一実施形態によると、前記複数のＰＵＦのうち少なくとも１つは、半導体の伝導性レイヤの間に形成される少なくとも１つのビアを含み、前記生成するステップは、前記少なくとも１つのビアによって前記伝導性レイヤが短絡されるか否かに応じて前記複数のデジタル値のうち少なくとも１つを生成してもよい。
【００１６】
一実施形態によると、前記パラメータは前記ビアのサイズを含んでもよい。この場合、前記ビアのサイズは、前記装置を生成する工程に対して先に行われたテスト工程で前記伝導性レイヤ間が短絡されたり、短絡されていないと確認されたビアサイズの最小値以上最大値以下の範囲で選択され、前記複数のＰＵＦそれぞれには前記範囲内で互いに異なるビアサイズが適用されてもよい。
【００１７】
一実施形態によると、前記処理するステップは、前記複数のデジタル値のうち予め指定された条件に適する値を前記第１デジタル値に選択してもよい。
【００１８】
この場合、前記予め指定された条件は、ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小であるＰＵＦによって生成されたものであってもよい。
【００１９】
一方、前記予め指定された条件は、ビットシーケンスが「１」及び「０」を全て含むデジタル値を提供する少なくとも１つのＰＵＦのうち、前記適用されたパラメータが最小値と最大値の中央値であるＰＵＦによって生成されたものであってもよい。
【００２０】
他の一実施形態によると、前記処理するステップは、前記複数のデジタル値をビットシーケンスごとに論理演算して前記第１デジタル値を算出してもよい。
【００２１】
この場合、前記論理演算は排他的ＯＲ（ＸＯＲ）論理演算であってもよい。
【図面の簡単な説明】
【００２２】
【図１】一実施形態に係るデジタル値生成装置のブロック図である。
【図２】一実施形態に係る生成部の細部構成を説明するための概念図である。
【図３】一実施形態に係る処理部の動作を説明するための概念図である。
【図４】一実施形態に係る処理部の動作を説明するための概念図である。
【図５】一実施形態に係る処理部の動作を説明するための概念図である。
【図６】一実施形態に係るデジタル値生成方法を示すフローチャートである。
【図７】他の一実施形態に係るデジタル値生成方法を示すフローチャートである。
【図８】一実施形態に係るデジタル値生成方法を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、実施形態を添付する図面を参照しながら詳細に説明する。しかし、権利範囲はこのような実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。以下の説明で用いられる用語は、関連する技術分野で一般的かつ普遍的なものを選択したが、技術の発達及び／又は変化、慣例、技術者の選好などに応じて他の用語があり得る。したがって、以下の説明で用いられる用語は技術的思想を限定するものとして理解してはならず、実施形態を説明するための例示的な用語として理解されなければならない。また、特定の場合、出願人が任意に選定した用語もあり、この場合に該当する説明部分で詳細な意味を記載する。したがって、以下の説明で用いられる用語は単なる用語の名称ではない、その用語が有する意味として明細書の全般にわたった内容に基づいて理解されなければならない。
【００２４】
図１は、一実施形態に係るデジタル値生成装置１００のブロック図である。一実施形態によると、装置１００は、半導体の工程変移を用いて複数のデジタル値を生成する生成部１１０、及び前記複数のデジタル値を処理して第１デジタル値を提供する処理部１２０を含む。
【００２５】
前記生成部１１０は、半導体の工程変移によりランダムなデジタル値を生成するＰＵＦを複数含んでもよい。このような複数のＰＵＦは、生成部１１０に含まれる半導体構造のうち概念的に区分される部分である。ＰＵＦ（ＰＵＦ１ないしＰＵＦｎ）は、半導体の工程変移によりそれぞれランダムなデジタル値を生成する。このようなデジタル値のそれぞれはビットシーケンスであってもよい。ＰＵＦは全て物理的に複製不可能であり、それぞれが生成したデジタル値は時不変性を有する。以下はＰＵＦをＰＵＦｉに区分してもよい。ここで、ｉは整数であり、ＰＵＦを区分する概念的なインデックスである。ただし、このような区分は、実際の回路内における配置や構造的区分とは異なる概念である。したがって、生成部１１０そのものがＰＵＦであり、ＰＵＦｉのそれぞれは生成部１１０の部分であると理解される。
【００２６】
図示するように、生成部１１０にはＰＵＦがｎ個含まれてもよい。ここで、ｎは自然数である。実施形態によると、ｎ個のＰＵＦは、ランダムに生成されるデジタル値に含まれる個別ビットが「０」である確率（又は「１」である確率）に影響を与えるいかなる工程要素及び／又は設計要素（以下ではこのような「要素」を「パラメータ」と称することもある）をそれぞれ相異にして生成される。
【００２７】
一実施形態によると、ＰＵＦｉは、半導体の伝導性レイヤ間に形成されるｋ個のビアを含む。ここで、ｋは自然数であり、ＰＵＦｉが含むビアの数である。そして、ＰＵＦｉに含まれるｋ個のビアそれぞれが伝導性レイヤ間を短絡するか否かに応じて、それぞれのビアごとにデジタル値「１」又は「０」が生成される。したがって、１つのＰＵＦｉはｋビットのデジタル値を提供し、生成部１１０ではｎ個のデジタル値が生成される。
【００２８】
一実施形態によると、ｎ個のＰＵＦは、互いに異なるパラメータを適用して生成されたものであってもよい。前記ビアに関する実施形態において、このパラメータはビアサイズであってもよい。例えば、ＰＵＦ１ないしＰＵＦｎはそれぞれ異なるビアサイズを有するように設計及び／又は製造されたものであってもよい。もちろん、前記のように、ビアに関する実施形態はＰＵＦを作る一実施形態に過ぎず、ＰＵＦを作る他の実施形態では前記パラメータは異なってもよい。したがって、特別な言及がなくても前記ビアに関する実施形態は理解を助けるための例示的なものとして解釈されなければならない。例えば、電子回路内の同じ素子のランダムな電気的特性差を用いてＰＵＦを実現する実施形態、半導体の伝導性レイヤ間のスペイシングなどの異なる形態のＰＵＦによる実施形態も可能である。したがって、ＰＵＦを実現する他の多くの実施形態が前記ビア実施形態と共に及び／又はこれに代って適用され得る。
【００２９】
一方、有効区間のＰＵＦについて説明する。上記で説明したように、ｎ個のＰＵＦは互いに異なるパラメータ（例えば、サイズ）を有する。このビアサイズはＰＵＦ１で最も小さく、ＰＵＦｎで最も大きい。ビアサイズが小さいほど工程を経たビアが正常に生成されない確率が大きく、ビアサイズが大きいほど工程後にビアが正常に生成される確率が相対的に大きいのであろう。本明細書の全般にわたる有効区間は、ＰＵＦｉが生成するバイナリ値が全て０又は全て１である場合ではなく、０と１が全て含まれているパラメータの範囲を意味する。例えば、前記ビア関連の実施形態において、ＰＵＦｉのバイナリ値として０及び１が全て存在するビアサイズの範囲が有効区間を意味する。もちろん、このような範囲にある程度のマージン（ｍａｒｇｉｎ）をおいて、その範囲をやや大小にすることも可能であり、実質的に前記範囲を含む区間を有効区間として表現する。有効区間で設定されるビアサイズを用いる前記実施形態に関するＰＵＦ構造については図２を参照して説明する。
【００３０】
図２は、一実施形態に係る生成部１１０の細部構成を説明するための概念図である。ＰＵＦインデックスｉが同一のＰＵＦｉでは、ｋ個のビアが全て同一のサイズを有し得る。このサイズは、ｋ個のビアがランダムに伝導性レイヤ間を短絡させてもよく、そうでない場合も適切なサイズに選択されてもよい。理論的に、ｋ個のビアそれぞれが伝導性レイヤ間を短絡させる確率と短絡させない確率とが同一に１／２となる場合があり、この場合のサイズが前記最適なビアサイズである。前記したように、従来はＰＵＦを生成する特定工程に対して前記１次パスを予め進行させた。これによって、１次パスの進行により前記特定工程で用いる最適なビアサイズを決定した後、その最適なビアサイズを用いて実際に用いられるＰＵＦを量産する２次パスを進行させる。ところで、１次パスを向上させて決定された最適なビアサイズを適用し２次パスを向上させるとしても、個別ウェハーごと及び／又は（１つのウェハー上でも）個別ＰＵＦチップごとにビアが伝導性レイヤ間を短絡させる確率が１／２に保持されない場合もある。この点については、ＰＵＦによって生成された乱数を様々な産業分野、特にセキュリティー分野で活用するために解決すべき課題と認識される。
【００３１】
したがって、実施形態によると、特定の最適なビアサイズを１つに選択することなく、有効区間内の様々なビアサイズを有するＰＵＦを１つのチップで生成した後、その中から最適なＰＵＦｉを選択して使用したり、一部のＰＵＦ値を加工してランダム性の高い値を使用することで、ＰＵＦを作る工程の収率を大きく高める。言い換えれば、同一の１つのサイズにＰＵＦを生成するなく、様々な値を有するＰＵＦを１チップで作った後、その中の一部を選んだり加工して使用することから、ＰＵＦの生成値において「０」及び「１」の比率がアンバランスになる問題をなくす。すると、生成されて使用される最終のデジタル値では「０」及び「１」の頻度差が大きく減少することで、てセキュリティー用としても使用可能となる。参考まで、生成されたデジタル値が真に乱数であるためには、「０」及び「１」の発生頻度が類似するかを評価する所定のテストを通過しなければならない。例えば、米国合衆国技術委員会傘下のＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）のＳｐｅｃｉａｌ  Ｐｕｂｌｉｃａｔｉｏｎ  ８００−２２「Ａ  Ｓｔａｔｉｓｔｉｃａｌ  Ｔｅｓｔ  Ｓｕｉｔｅ  ｆｏｒ  Ｒａｎｄｏｍ  ａｎｄ  Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒｓ  ｆｏｒ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ａｐｐｌｉｃａｔｉｏｎｓ」でもセキュリティー分野で使用される乱数はこのような頻度数テストを通過することを明示している。実施形態によると、このようなランダム性テストを通過することのできるＰＵＦを生成する収率が大きく向上される。
【００３２】
一実施形態によると、いずれか１つのビアホールサイズを予め決定し、全てのビアホールサイズを同一に生成する代わりに、様々なビアホールサイズを生成部１１０内で共に実現する。この場合、上述した「工程偏差を引き起こすパラメータ」とは、「ビアホールのサイズ」である。すなわち、個別のビアホールをどのようなサイズにデザインすれば前記個別ビアが伝導性レイヤ間を短絡する確率と短絡できない確率とが同一になるかを正確に把握できず、把握できるとしても、実際の工程では異なる結果が導き出される点を勘案して、１つのチップ内に様々なパラメータを適用したＰＵＦを実現する。
【００３３】
図２に図示した実施形態では、生成部１１０内に実現されたＰＵＦ１ないしＰＵＦｎは互いに異なるビアホールサイズを有するよう製造されている。いずれか特定のＰＵＦインデックスｉでは、ｋビット長のビットシーケンス（以下、「ＰＵＦビットシーケンス」と称する）が存在する。これらのそれぞれをｋビットのデジタル値に使用すると、互いに異なるｎ個のデジタル値が生成される。本明細書では、説明の便宜のために同一のビアサイズを有するｋ個のビアで構成されるＰＵＦｉが提供するｋビットのバイナリビットシーケンスを１つの「ＰＵＦデジタル値」に説明する。
【００３４】
一方、ビット数ｋや、１つのチップで実現される互いに異なるビアホールサイズの種類ｎは必要な乱数の長さ、工程の進行条件、ランダム性テストを通過するための要求条件、ＰＵＦの応用分野などにより様々に設定されてもよい。図２を参照すると、ＰＵＦ１ではビアホールサイズが最も小さく、順次に大きくなってＰＵＦｎではビアホールサイズが最も大きい。もちろん、このような順序は説明の便宜のためのものであり、必ずサイズが増加する順に実現する必要はない。また、このようなビアホールサイズが大きくなる程度も様々に設定してもよく、一定の比率だけ大きくなる例、均一な直径だけ大きくなる例、ＰＵＦ（ｎ／２）の近所ではビアホールサイズの差をＰＵＦ１やＰＵＦｎの近所よりも小さくすることで精密度を高める例などが挙げられる。
【００３５】
参考として、この明細書の全般にわたってビアが伝導性レイヤ間を短絡させる場合をバイナリ値「１」と説明し、短絡させることができない場合をバイナリ値「０」と説明する。もちろん、短絡の有無に応じてバイナリ値を「１」及び「０」のいずれか１つに決定することは理解のための例示的な説明に過ぎず、判読回路がプルダウン構成であるかプルアップ構成であるかに応じて反対の場合も可能である。
【００３６】
再び図示するものを参照すると、ビアホールサイズが小さいＰＵＦ１の場合、ｋビットのＰＵＦビットシーケンスは全て「０」になる。そして、ビアホールサイズが大きいＰＵＦｎの場合、ｋビットのＰＵＦビットシーケンスは全て「１」になる。一実施形態によると、ＰＵＦ１のビアホールサイズは、工程で設計及び製造して「０」及び「１」を作ることができると予想される最小のビアホールサイズであってもよく、又は、予めその工程で前記１次パスを向上させた結果、ビットシーケンスで「０」及び「１」を全て発生させると確認された最小のビアホールサイズであってもよい。このような意味で提示された実施形態が従来の２−Ｐａｓｓ方式工程のみを向上することを排除しない。
【００３７】
そして、ＰＵＦｎのビアホールサイズは、工程で設計及び製造して「０」及び「１」を作ることができると予想される最大のビアホールサイズであってもよく、又は、予めその工程で前記１次パスを向上させた結果、ビットシーケンスで「０」及び「１」を全て発生させると確認された最大のビアホールサイズであってもよい。
【００３８】
このように様々なサイズのＰＵＦｉを１つの生成部１１０内で同時実現することによって、生成されたＰＵＦデジタル値がランダムテストを通過できずチップの全体が使用できないことを防止することができる。これは生成部１１０及び／又はデジタル値生成装置１００の収率に直接影響のある部分として、従来技術に比べて重要に改善された点である。
【００３９】
生成部１１０がこのような方式でｎ個のデジタル値（それぞれがｋビット）を生成すると、図１に示す処理部１２０は、ｎ個のデジタル値をどのように用いてデジタル値生成装置１００が提供している最終のデジタル値（以下、「第１デジタル値」とも言える）を提供する。このような処理過程において様々な実施形態があり、図３ないし図６は、実施形態のうちの一部を説明するための概念図である。
【００４０】
図３は、一実施形態に係る処理部１２０の動作を説明するための概念図である。一実施形態によると、処理部１２０の判読部１２１は、それぞれのＰＵＦを判読してＰＵＦデジタル値Ａ１ないしＡｎを判読する。前述した図２に示す実施形態において、ＰＵＦ１はビアホールサイズが最も小さく次第にビアホールサイズが大きくなるため、Ａ１は「０」を「１」よりも多く含み、Ａｎは「１」を「０」よりも多く含む。図３で例示的に示すように、Ａ１を含んで一部のデジタル値は全て「０」のみを含んでもよく、Ａｎを含んで一部のデジタル値は全て「１」のみを含んでもよい。
【００４１】
一実施形態によると、処理部１２０の決定部１２２は、判読されたＡ１ないしＡｎのうちデジタル値「０」及び「１」を全て含むＡｐないしＡｑ（有効区間の値）のいずれか１つを選択し、これをデジタル値生成装置１００が提供する第１デジタル値として決定してもよい。どのようなデジタル値を選択するかについては様々な実施形態が存在する。
【００４２】
一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含んでいる最初のデジタル値Ａｐを前記第１デジタル値として決定する。他の一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含んでいる最後のデジタル値Ａｑを前記第１デジタル値として決定してもよい。更なる一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含むＡｐないしＡｑのうち任意の値を前記第１デジタル値として決定してもよい。
【００４３】
一方、更なる一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含む有効区間の値であるＡｐないしＡｑのうち、インデックスがｐとｑの中央であるＡｍを前記第１デジタル値として決定してもよい。Ａｍがデジタル値「０」及び「１」の分布が比較的に均等である点から、このような実施形態は合理的である。
【００４４】
一方、更なる一実施形態によると、決定部１２２は、デジタル値Ａ１ないしＡｎのうち少なくとも一部をビットごとに論理演算して前記第１デジタル値を算出してもよい。この実施形態は、第１デジタル値のランダム性が極めてに高いレベルとなり、セキュリティー分野において第１デジタル値の使用に適する。この実施形態に含まれている数個の例示的な方法について、図４ないし図５を参照して詳細に説明する。
【００４５】
図４は、一実施形態に係る処理部の動作を説明するための概念図である。図示するように、Ａ１ないしＡｎのカラムインデックスが同一のデジタル値を論理演算して第１デジタル値Ｂのビットを算出する。
【００４６】
デジタル値Ａｉは、ビットシーケンスａｉ１ないしａｉｋで構成される。すると、決定部１２２は、カラムインデックスｊ（ｊは自然数）が同じａ１ｊないしａｎｊを論理演算して第１デジタル値のビットｂｊを算出する。論理演算には様々な例があるが、一実施形態によると、前記論理演算は、排他的ＯＲ（ｅＸｃｌｕｓｉｖｅ  ＯＲ：ＸＯＲ）演算であってもよい。ＸＯＲ演算は、入力値ａ１ｊないしａｎｊに「１」が奇数個含まれていれば「１」を出力し、入力値ａ１ｊないしａｎｊに「１」が偶数個含まれていれば「０」を出力する。
【００４７】
ＸＯＲ演算を用いる実施形態によると、複数のデジタル値Ａ１ないしＡｎを第１デジタル値Ｂの算出に使用することから、複数のデジタル値のエントロピーが和される、したがって、全体のエントロピーが大きく向上する効果が期待される。このようなＸＯＲ演算は、演算に用いるｎが大きくなるほどビット値が「１」である確率が５０％に近くなるため、第１デジタル値Ｂのランダム性が大きく高められる。本実施形態において、決定部１２２が算出したｋビットの第１デジタル値Ｂ（Ｂ＝ｂ１ｂ２ｂ３ｂ４ｂ５…ｂｋ）はインタフェース１２３によって出力されてデジタル値生成装置１００の出力として提供される。
【００４８】
一方、図４に示す実施形態では、Ａ１ないしＡｎの全てをＸＯＲ演算に用いたが、これは一実施形態に過ぎず、他の多くの応用が可能である。以下では、異なる応用例を説明する。
【００４９】
図５は、一実施形態に係る処理部の動作を説明するための概念図である。図示するように、一実施形態によると、決定部１２２は、判読されたＡ１ないしＡｎのうちビット値が全て「０」であるか全てが「１」であるデジタル値を除外し、ビット値が「０」及び「１」を全て含んでいる範囲のデジタル値のみを前記ＸＯＲ演算が利用することができる。例えば、ＡｐないしＡｑのみをビットごとにＸＯＲ演算して第１デジタル値Ｂを算出する方法である。ＸＯＲ演算に用いられる入力ビットがｎ個であった図４に示す実施形態に比べて、ＸＯＲ演算に用いられるビット数は（ｑ−ｐ＋１）個として小さくなったが、論理演算のための回路が減少し、エントロピーの高い入力値を予め選別して使用するという点で更なる長所があり。
【００５０】
一方、図４及び図５に示す実施形態では、カラムインデックスｊが同一のビット値どうしにＸＯＲ演算したが、これも１つの例に過ぎず、ＸＯＲ演算する方法は別の形態に変形され得る。したがって、カラムインデックスｊが同一のビット値どうしに演算する他に、予め決定した異なる選定規則に基づくか、又はランダムに選択されたビットどうしに演算することも可能である。
【００５１】
例えば、他の個別ＰＵＦビットシーケンスのデジタル値が全て「０」ではなく、また、全てが「１」ではないもののうち、ＰＵＦインデックスｉが同一のビット値どうしＸＯＲ演算することも可能である。さらに、ランダムに選択される個別ＰＵＦビットシーケンスを用いて異なる論理演算を行うことも可能である。このような様々な変形実施形態は、この明細書により当業者にとって自明に理解されるものであるため、さらに具体的な説明は省略する。
【００５２】
また、上記のようにＸＯＲ演算は他の論理演算によって代替されてもよく、論理演算の入力をどのように組み合わせるか他の実施形態でも説明可能である。
【００５３】
図６は、一実施形態によりデジタル値生成方法を示すフローチャートである。図示するフローチャートは、図３を参照して説明した実施形態の中から、ＰＵＦが生成したデジタル値Ａｉのうちデジタル値「０」及び「１」を全て含んでいる最初のデジタル値Ａｐを、決定部１２２が前記第１デジタル値Ｂとして選択する実施形態に対応する。
【００５４】
最初のインデックスｉは０に設定され、ステップ６１０において、インデックスｉ値が１ずつ増加する。そして、ステップ６２０において、現在のインデックスｉが最終インデックスｎと同一であるか否かをテストする。ステップ６２０の判断結果、まだ第１デジタル値Ｂが決定されていない状態でｉがｎと同一になると、エラーをリターンする（６２１）。そして、ステップ６２０の判断結果、ｉがｎと同一でなければ、ステップ６３０において、現在のインデックスに対応するデジタル値Ａｉの全体ビットが「０」であるかを判断する。
【００５５】
ステップ６３０において、Ａｉの全体ビットが「０」と判断されれば、ステップ６１０に戻って次のインデックスに対して同一の過程を行い、Ａｉの全体ビットが「０」ではないと判断されれば、現在のインデックスｉに対応するＡｉを第１デジタル値Ｂとして決定する（６４０）。図３を参照して説明した実施形態と比較すれば、ステップ６４０でＢ＝Ａｐになる。
【００５６】
図７は、他の一実施形態に係るデジタル値生成方法を示すフローチャートである。
【００５７】
図示されたフローチャートは、図３を参照して説明した実施形態の中から、ＰＵＦが生成したデジタル値Ａｉのうちデジタル値「０」及び「１」を全て含むＡｐないしＡｑを識別し、インデックスｐとインデックスｑの中央値であるインデックスｍに対応するデジタル値Ａｍを、決定部１２２が前記第１デジタル値Ｂに選択する実施形態に対応する。最初のインデックスｉは０に設定され、ステップ７１０でインデックスｉ値は１ずつ増加する。
【００５８】
ステップ７２０においてｉがｎと同一ではない場合、ステップ７３０において、Ａｉの全体ビットが「１」であるかを判断する。Ａｉの全体ビットが「１」ではない場合、ステップ７４０において、Ａｉの全体ビットが「０」であるかを判断する。ステップ７４０でＡｉの全体ビットが「０」であれば、ステップ７１０に戻ってビットインデックスを増加させた後、以後の過程を繰り返す。しかし、ステップ７４０でＡｉの全体ビットが「０」でなければ、現在のインデックスｉをｐに決定してステップ７１０に戻る。
【００５９】
一方、このような繰り返し（ｉｔｅｒａｔｉｏｎ）過程において、ステップ７３０でＡｉの全体ビットが「１」であればｑ値が決定される。ｑ値が現在のインデックスｉに決定されてもよく、図示していないが、現在のインデックスよりも小さい（ｉ−１）がｑに決定される（ステップ７６０）。また、Ａｉの全体ビットが「１」であるビットシーケンスを探すことができず、ステップ７２０でｉがｎと同一であれば、ステップ７６０において、現在のインデックスであるｎがｑに決定される。すると、ステップ７７０において、前記ｐとｑの中央値であるｍｅｄｉａｎ（ｐ、ｑ）を算出し、このインデックスｍｅｄｉａｎ（ｐ、ｑ）に対応するＡｍｅｄｉａｎ（ｐ、ｑ）を第１デジタル値Ｂに決定する。
【００６０】
図８は、一実施形態に係るデジタル値生成方法を示すフローチャートである。ステップ８１０において、デジタル値生成装置１００の生成部１１０が生成した複数のデジタル値が判読部１２１によって判読される。前記複数のデジタル値は、それぞれ図１に示すＰＵＦによって生成されたものである。そして、前記判読過程は、図１及び図２を参照して例示的に説明したＰＵＦからＡｉないしＡｎのデジタル値を判読する過程である。
【００６１】
前記のように、このような過程によってｎ個のデジタル値（それぞれがｋビット）が決定部１２２に送信される。もちろん、ｎ個のＰＵＦが生成した値の全てが判読されなければならないものではなく、ｎ個のうち一部のデジタル値のみが決定部１２２に送信されてもよい。すると、ステップ８２０において、決定部１２２が判読されたデジタル値を用いてデジタル値生成装置１００が提供する乱数である第１デジタル値を決定する。
【００６２】
一実施形態によると、決定部１２２は、判読された複数のデジタル値Ａ１ないしＡｎのうち、デジタル値「０」及び「１」を全て含む値ＡｐないしＡｑを識別する。そして、ＡｐないしＡｑのいずれか１つを選択し、これを第１デジタル値Ｂとして決定してもよい。前記選択は、予め決定された規則に基づいたものであってもよく、ランダムに選択されてもよい。
【００６３】
このような選択過程において可能な数個の実施形態が図３を参照して説明されている。一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含む最初のデジタル値Ａｐを前記第１デジタル値Ｂとして決定してもよい。
【００６４】
他の一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含む最後のデジタル値Ａｑを前記第１デジタル値Ｂとして決定してもよい。更なる一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含むＡｐないしＡｑのうち任意の値を前記第１デジタル値Ｂとして決定してもよい。一方、更なる一実施形態によると、決定部１２２は、Ａｉのうちデジタル値「０」及び「１」を全て含むＡｐないしＡｑのうち、インデックスがｐとｑの中央であるＡｍを前記第１デジタル値Ｂとして決定してもよい。
【００６５】
一方、図４ないし図５を参照して説明したように、更なる一実施形態によると、決定部１２２は、デジタル値Ａ１ないしＡｎのうち少なくとも一部をビットごとに論理演算して前記第１デジタル値Ｂを算出することもできる。一実施形態によると、決定部１２２は、カラムインデックスｊ（ｊは自然数）が同じａ１ｊないしａｎｊを論理演算、例えば、ＸＯＲ演算して第１デジタル値Ｂに含まれるビット値ｂｊを算出してもよい。詳しい内容は、図４を参照して上述した通りである。
【００６６】
また、図５を参照して上述したように、他の一実施形態によると、決定部１２２は、判読されたＡ１ないしＡｎのうちビット値が全て「０」であるか全て「１」であるデジタル値を除外し、ビット値が「０」及び「１」を全て含む範囲のデジタル値ＡｐないしＡｑをビットごとにＸＯＲ演算して第１デジタル値Ｂを算出することができる。
【００６７】
ステップ８２０において、第１デジタル値を決定する過程について、図３ないし図５を参照して例示的に説明した実施形態の他にも様々な変形が可能である。また、論理演算する場合、ＸＯＲ演算の他にも、デジタル値のエントロピーを高めることができるいずれの演算も可能であることは同一である。このように第１デジタル値Ｂが決定されれば、ステップ８３０において、デジタル値生成装置１００が提供する乱数としてＢが提供されてもよい。
【００６８】
このような様々な実施形態によって、一部のパラメータを適用したＰＵＦでランダムなデジタル値が生成されなくても、該当のＰＵＦを含む生成部１１０のチップ全体は利用可能であるため、ＰＵＦの製造収率が高くなる。また、様々なパラメータを適用したＰＵＦを一回に実現して別途の１次パスを向上する時間が節約されることから、ＰＵＦ工程に所要する時間を最小化できる。
【００６９】
また、最終的に提供される第１デジタル値Ｂは、エントロピーが極めて高まって真に乱数として扱われる確率が高い。したがって、セキュリティー分野などのランダム性が重要な分野応用にＰＵＦを使用できることで信頼度が大きく向上する。
【００７０】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、または、命令を実行して応答できる異なる装置のように、１つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現されてもよい。処理装置は、オペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【００７１】
ソフトウェアはコンピュータプログラム、コード、命令、またはこのうちの１つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータで判読可能な記録媒体に格納されてもよい。
【００７２】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【００７３】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【図１】
2019201418.tif 000003
【図２】
2019201418.tif 000004
【図３】
2019201418.tif 000005
【図４】
2019201418.tif 000006
【図５】
2019201418.tif 000007
【図６】
2019201418.tif 000008
【図７】
2019201418.tif 000009
【図８】
2019201418.tif 000010