(57)【要約】【課題】ＰＵＦを用いて効果的且つ効率的に模造品の製造を防ぐことができる半導体集積回路を提供する。【解決手段】半導体集積回路は、所定の機能を実現する第１の回路と、物理的クローン作製不能機能を有する第２の回路とを含み、第１の回路の中の少なくとも１つのノードの信号値が第２の回路の出力に応じて変化するように第２の回路が第１の回路に組み込まれており、第１の回路が所定の機能を実現するように第２の回路の出力が設定されることを特徴とする。【選択図】図１
2015139010.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を実現する第１の回路と、
物理的クローン作製不能機能を有する第２の回路と
を含み、前記第１の回路の中の少なくとも１つのノードの信号値が前記第２の回路の出力に応じて変化するように前記第２の回路が前記第１の回路に組み込まれており、前記第１の回路が前記所定の機能を実現するように前記第２の回路の出力が設定されることを特徴とする半導体集積回路。
【請求項２】
前記第２の回路はホットキャリア注入により閾値を設定したトランジスタ素子を含むことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記第２の回路は前記トランジスタ素子を含むセンスアンプであることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記第１の回路は、前記所定の機能として前記第１の回路への複数入力に対して１つ又は複数の出力を生成することを特徴とする請求項１乃至３何れか一項記載の半導体集積回路。
【請求項５】
前記複数入力から前記１つ又は複数の出力への変換は所定のアルゴリズムにより規定され、前記所定のアルゴリズムを実現するように前記第２の回路の出力が設定されることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記複数入力から前記１つ又は複数の出力への変換は暗号関数であり、前記暗号関数を実現するように前記第２の回路の出力が設定されることを特徴とする請求項４又は５記載の半導体集積回路。
【請求項７】
前記複数入力から前記１つ又は複数の出力への変換は暗号の非線形変換回路であることを特徴とする請求項４又は５記載の半導体集積回路。
【請求項８】
第１のデータを第２のデータに変換する変換関数が格納されたサーバと、
前記サーバと通信可能な半導体集積回路と、
を含み、前記半導体集積回路は、
前記変換関数の機能を実現する第１の回路と、
物理的クローン作製不能機能を有する第２の回路と
を含み、前記第１の回路の中の少なくとも１つのノードの信号値が前記第２の回路の出力に応じて変化するように前記第２の回路が前記第１の回路に組み込まれており、前記第１の回路が前記変換関数の機能を実現するように前記第２の回路の出力が設定されることを特徴とする認証システム。
【請求項９】
物理的クローン作製不能機能が組み込まれた所定の変換関数を実現する回路に入力を与え、
前記入力に応答して前記回路が生成した第１の出力を受け取り、
前記回路とは別に用意された前記変換関数に前記入力を与えて第２の出力を生成させ、
前記第１の出力と前記第２の出力とを比較する
各段階を含む認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、半導体集積回路、認証システム、及び認証方法に関する。
【背景技術】
【０００２】
近年、プリンタカートリッジや、電池等のバッテリー、ゲーム機のカートリッジといった製品のクローン品（偽造品）を防止するために、正規品に認証機能を付与することが行われている。認証機能を実現するためには、正規品であることを保証するための秘密情報（例えば秘密鍵など）を用いればよい。しかし、秘密情報をＩＣチップ内部にある不揮発性メモリに格納した場合、攻撃者に値を読み取られる恐れがある。即ち、正規品の内部に存在するＩＣチップを顕微鏡で詳細に観察して内部構造を解析すれば、不揮発性メモリ内部の秘密情報の値を特定することができてしまう。
【０００３】
不揮発性メモリに秘密情報を格納すること無く、認証機能をセキュアに実現する有効な手段がＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ：物理的クローン作製不能機能（関数））である。ＰＵＦから生成される秘密情報は、顕微鏡などの解析を行った場合でも、値を特定することは不可能である。
【０００４】
ＰＵＦ回路は、物理的クローン作製不能機能を有する回路であり、デバイス毎に特定の出力値（以下「個体別情報」と呼ぶ）を生成する回路である。入力無しで特定の出力を生成するＰＵＦと、入力有りで当該入力に応じた出力を生成する関数として機能するＰＵＦとがある。理想的なＰＵＦ回路は以下の特性を有する。まず第１の特性として、あるデバイス上に実装されたＰＵＦは、常に同一の個体別情報を出力する（再現性）。この場合、入力有りのＰＵＦであれば、同一の入力に対して、常に同一の個体別情報を出力する。次に第２の特性として、異なるデバイス上に実装されたＰＵＦ間では、全く異なる個体別情報を出力する（ユニーク性）。この場合、入力有りのＰＵＦであれば、同一の入力に対して、デバイス間で異なる個体別情報を出力する。
【０００５】
一般にＰＵＦは、デバイス毎のバラツキに起因するデバイス内の信号遅延や素子特性のわずかな違いを利用して出力を定める構成となっている。これにより、デバイス毎に全く異なる値となるＰＵＦ出力を実現することができる。このようなＰＵＦの場合、同一デバイスであっても、その動作電圧値や動作温度等の条件が異なると出力値が異なることがあり、ＰＵＦ出力の再現性は１００％ではない。従って、誤り訂正の工夫をすることが必要となる。
【０００６】
このようなＰＵＦを利用して暗号機能を実現することで、製品の安全性が向上する。具体例として、スマートカードがある。また、通信の秘匿性を保証するために、携帯電話のＳＩＭカードや無線インターネット接続の端末などにも暗号機能が用いられるが、そのための暗号鍵を生成するための部分にＰＵＦを用いれば、暗号鍵が攻撃者に解析される危険性が大幅に低下し、安全性が向上する。
【０００７】
入力有りのＰＵＦを用いる認証システムと、入力無しのＰＵＦを用いる認証システムとでは、それぞれ構成及び特徴が異なり、一長一短がある。
【０００８】
入力有りのＰＵＦの一例として、ｎビットの入力に対して１ビットの出力を生成するＰＵＦを考える。このＰＵＦの場合、入力と出力とのペアは２ｎ通り存在する。このＰＵＦを用いた場合、認証システムは以下に説明するような構成となる。あるデバイス（正規チップ）に搭載されたＰＵＦにおける入力と出力との２ｎ通りのペアを記載したテーブルを作成し、このテーブルを認証サーバに予め保存しておく。対象デバイスが正規品かどうかを照合する場合、認証サーバは、対象デバイスにある入力を与え、それに対して返された出力値と自らが保持するテーブルに記載の出力値とが一致するか否かを確認することで、認証を行う。このような場合に対象デバイスに与える入力をチャレンジと呼び、対象デバイスからの出力をレスポンスと呼ぶ。
【０００９】
この手法の場合、認証のためにサーバに格納するテーブルサイズが大きいことが問題となる。例えば、ある製品がそのライフサイクル中に１００００回認証される場合、少なくとも１００００個のチャレンジとレスポンスとのペアをサーバに保存することになる。またこのテーブルの値はＰＵＦ毎（対象製品のチップ毎）に異なるため、販売されたチップ数分のテーブルを認証サーバに保持することになる。従って、認証サーバに格納されるテーブルのサイズが膨大となり、認証にかかる時間も増大する。またＰＵＦの再現性が１００％ではない場合、サーバ側に誤りを補正するメカニズムを予め備えておくことになり、コストが増大してしまう。
【００１０】
入力無しのＰＵＦを用いる場合、出力は１種類しか存在しない。そこで、ＰＵＦの出力を鍵として、暗号関数と組み合わせることで認証システムを実現する手法が知られている。具体的には、あるデバイスに搭載されたＰＵＦが生成する複数ビットの出力をデバイス内のレジスタに格納する。レジスタに格納されたデータは、暗号関数に対する鍵入力として用いられる。認証サーバ側では、鍵と暗号関数とを登録しておく。対象デバイスが正規品かどうかを照合する場合、認証サーバは、対象デバイスの暗号関数に対して平文入力をチャレンジとして与え、暗号文をレスポンスとして出力させる。このレスポンスが、認証サーバ内の鍵と暗号関数とを用いて内部生成した出力と一致するか否かを確認することで、認証を行う。なお、再現性が１００％でない場合、ＰＵＦの出力には誤りが含まれているので、誤り訂正符号等を用いて正しいデータに補正し、この補正後のデータをレジスタに格納する。
【００１１】
この手法の場合、認証サーバ側ではサイズの大きなテーブルを保存する必要がなく、利便性が高い。一方で、この認証システムは偽造耐性が低いという欠点がある。１つの攻撃ポイントは、ＰＵＦ出力の誤りを訂正するための補正データ部分である。補正データは不揮発性メモリに格納されることを前提としているため、リバースエンジニアリングによって攻撃者に読み取られる可能性がある。結果的にこの補正データから鍵を予測される危険性がある。更なる攻撃ポイントは、鍵を格納するレジスタである。サイドチャネル攻撃などを用いることにより、レジスタに格納されている鍵を攻撃者が解読してしまうと、認証システムの安全性は崩壊する。
【００１２】
上記のような従来の構成の場合、入力有りのＰＵＦを用いてテーブルデータを用いる認証システムの場合には、認証サーバの格納データ量が膨大になり、実用性に問題がある。また入力無しのＰＵＦを用いて鍵と暗号関数とを用いる認証システムの場合には、攻撃に対して脆弱である。なお模造品の製造を防ぐことが目的なのであるから、究極的には、認証システムの有無に関わらず、その目的を達成できることが望ましい。以上の観点から、ＰＵＦを用いて効果的且つ効率的に模造品の製造を防ぐことができる半導体集積回路が望まれる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特表２００５−５２３４８１号公報
【特許文献２】特表２００７−５０９５６３号公報
【特許文献３】特表２００８−５１４９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
以上を鑑みると、ＰＵＦを用いて効果的且つ効率的に模造品の製造を防ぐことができる半導体集積回路、当該半導体集積回路を用いた認証システム、及び認証方法が望まれる。
【課題を解決するための手段】
【００１５】
半導体集積回路は、所定の機能を実現する第１の回路と、物理的クローン作製不能機能を有する第２の回路とを含み、前記第１の回路の中の少なくとも１つのノードの信号値が前記第２の回路の出力に応じて変化するように前記第２の回路が前記第１の回路に組み込まれており、前記第１の回路が前記所定の機能を実現するように前記第２の回路の出力が設定されることを特徴とする。
【００１６】
認証システムは、第１のデータを第２のデータに変換する変換関数が格納されたサーバと、前記サーバと通信可能な半導体集積回路とを含み、前記半導体集積回路は、前記変換関数の機能を実現する第１の回路と、物理的クローン作製不能機能を有する第２の回路とを含み、前記第１の回路の中の少なくとも１つのノードの信号値が前記第２の回路の出力に応じて変化するように前記第２の回路が前記第１の回路に組み込まれており、前記第１の回路が前記変換関数の機能を実現するように前記第２の回路の出力が設定されることを特徴とする。
【００１７】
認証方法は、物理的クローン作製不能機能が組み込まれた所定の変換関数を実現する回路に入力を与え、前記入力に応答して前記回路が生成した第１の出力を受け取り、前記回路とは別に用意された前記変換関数に前記入力を与えて第２の出力を生成させ、前記第１の出力と前記第２の出力とを比較する各段階を含む。
【発明の効果】
【００１８】
少なくとも１つの実施例によれば、ＰＵＦを用いて効果的且つ効率的に模造品の製造を防ぐことができる半導体集積回路、当該半導体集積回路を用いた認証システム、及び認証方法が提供される。
【図面の簡単な説明】
【００１９】
【図１】模造品の製造を防ぐことができる半導体集積回路及び認証システムの構成の一例を示す図である。
【図２】認証システムの全体構成の一例を示す図である。
【図３】半導体集積回路の構成の一部の一例を示す図である。
【図４】図３の回路にＰＵＦ回路を組み込むことにより得られる回路の一例を示す図である。
【図５】ＨＣＩ−ＳＡ−ＰＵＦ回路の構成の一例を示す図である。
【図６】ＰＵＦ回路とＸＯＲ回路とを組み合わせた回路の第１の機能を説明するための図である。
【図７】ＰＵＦ回路とＸＯＲ回路とを組み合わせた回路の第２の機能を説明するための図である。
【図８】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の機能を説明するための図である。
【図９】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。
【図１０】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。
【図１１】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。
【図１２】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。
【図１３】ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。
【図１４】半導体集積回路の構成の別の一例を示す図である。
【図１５】半導体集積回路の構成の別の一例を示す図である。
【図１６】機能回路の構成の一例を示す図である。
【図１７】図１６の回路にＰＵＦ回路を組み込むことにより得られる回路の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００２１】
図１は、模造品の製造を防ぐことができる半導体集積回路及び認証システムの構成の一例を示す図である。図１（ａ）に示す半導体集積回路１０は、Ｎビットの入力に応じてＭビットの出力を生成する回路である。ここでＮは２以上の整数であり、Ｍは１以上の整数である。半導体集積回路１０の入出力関係は、所定の機能を実現するためのものであり、所定の機能として複数Ｎ個の入力ビットに対して１つ又は複数Ｍ個の出力ビットを生成してよい。この所定の機能とは、例えば何らかの変換関数の入出力関係を実現するものであってよい。
【００２２】
半導体集積回路１０には、少なくとも１つのＰＵＦ回路１１が組み込まれている。より具体的には、半導体集積回路１０の中の少なくとも１つのノードの信号値がＰＵＦ回路１１の出力に応じて変化するように、ＰＵＦ回路１１が半導体集積回路１０に組み込まれている。そして、半導体集積回路１０が前記所定の機能を実現するように、ＰＵＦ回路１１の出力が設定されている。
【００２３】
この構成において用いられるＰＵＦ回路１１は、再現性１００％を実現できるＰＵＦである。そのようなＰＵＦの一例として、ＨＣＩ−ＳＡ−ＰＵＦがある。ＨＣＩ−ＳＡ−ＰＵＦは、ＳＡ（センスアンプ）−ＰＵＦを改良したものである。センスアンプは、主にメモリセルからの電圧を増幅するために用いられる回路であり、２つの入力Ａ及びＢの大小を比較する回路である。例えばＡよりもＢの方が小さければ０を出力し、ＡよりもＢの方が大きければ１を出力する。殆ど値が等しいＡとＢをセンスアンプの入力とすると、各トランジスタ素子の閾値の僅かな違い等に応じて、センスアンプ出力が０又は１に定まる。この出力値は、デバイス毎のトランジスタ素子閾値等のばらつきに依存するので、好ましくは、再現性とユニーク性とを備えることが期待される。
【００２４】
しかし実際には、ＳＡ−ＰＵＦの出力は電圧値や温度等に依存してしまう面があり、再現性は１００％ではない。また出力の値を設計者が制御することができない、という問題がある。
【００２５】
ＨＣＩ−ＳＡ−ＰＵＦでは、センスアンプをＬＳＩチップに実装する際にホットキャリア注入（Hot Carrier Injection：ＨＣＩ）を利用してトランジスタ素子の閾値電圧を上昇させることで、センスアンプの出力値を制御することが可能となる。即ち、センスアンプの出力が０又は１のどちらかになるように、回路の物理特性をＨＣＩにより設定することが可能となる。またＨＣＩを利用することにより、トランジスタ素子間に十分な閾値差を設定することができるので、１００％の再現性を実現することが可能となる。
【００２６】
図１（ａ）においてＰＵＦ回路１１は、ホットキャリア注入により閾値を設定したトランジスタ素子を含むことで、再現性１００％を実現するＰＵＦ回路であってよい。より具体的には、ＰＵＦ回路１１はＨＣＩ−ＳＡ−ＰＵＦであってよい。
【００２７】
半導体集積回路１０により実現される複数入力から１つ又は複数の出力への変換は、所定のアルゴリズムにより規定されてよく、当該所定のアルゴリズムを実現するようにＰＵＦ回路１１の出力が設定されてよい。また半導体集積回路１０により実現される複数入力から１つ又は複数の出力への変換は、暗号関数であってよく、当該暗号関数を実現するようにＰＵＦ回路１１の出力が設定されてよい。半導体集積回路１０が、認証システムの認証対象のデバイスに組み込まれる認証回路であるとすると、認証システムのサーバ側には当該所定のアルゴリズム又は暗号関数を格納しておけばよい。即ち、図１（ｂ）に示すように認証サーバ１２において、当該所定のアルゴリズム又は暗号関数を実現する変換関数１３を、ハードディスク等の記憶装置に格納しておけばよい。
【００２８】
認証対象のデバイスが正規品かどうかを照合する場合、認証サーバ１２は、対象デバイスの半導体集積回路１０に対する入力として所望のチャレンジを与え、半導体集積回路１０が出力したレスポンスを受信する。認証サーバ１２は、内部の変換関数１３に前記チャレンジと同一の値を入力することにより内部生成した出力が、受信したレスポンスと一致するか否かを確認する。内部生成した出力とレスポンスとが一致する場合、対象デバイスは正規のデバイスとして認証される。内部生成した出力とレスポンスとが一致しない場合、対象デバイスは正規のデバイスではないとしてリジェクトされる。なお半導体集積回路１０の変換関数は暗号関数そのものではなく、暗号の非線形変換回路であってもよい。
【００２９】
このように図１に示す半導体集積回路及び認証システムでは、認証サーバ１２側には、変換関数１３のみを格納しておけばよい。図１に示す認証システムは、認証サーバ側においてサイズの大きなテーブルを保存する従来技術の構成と比較して、利便性が高い。また図１に示す認証システムは、認証サーバ側において暗号関数と各対象デバイス毎の鍵とを保存する従来技術の構成と比較しても、利便性が高い。更に図１に示す認証システムは、ＰＵＦが半導体集積回路内に組み込まれているために、補正データや鍵を不揮発性メモリやレジスタに格納する従来技術の構成と比較して、偽造耐性が高い。即ち、図１に示す認証システムには、従来技術の構成のような脆弱なポイントが存在しない。
【００３０】
図２は、認証システムの全体構成の一例を示す図である。認証対象デバイス１５は、認証サーバ１２と無線等により通信可能である。認証対象デバイス１５は、図１の半導体集積回路１０に相当する認証回路１０と機能回路１６とを含む。機能回路１６は、認証対象デバイス１５の主たる目的である機能を実現する回路である。例えば認証対象デバイス１５が携帯電話であれば、機能回路１６は携帯電話機能を提供する回路である。
【００３１】
認証サーバ１２は、前述のように認証回路１０にチャレンジを与えレスポンスを受信することにより、認証回路１０を内蔵する認証対象デバイス１５の正当性を認証することができる。認証の結果、認証対象デバイス１５が正規のデバイスであると判明した場合、認証サーバ１２による許可に基づいて、認証対象デバイス１５の機能回路１６は所望の動作を実行できる。認証の結果、認証対象デバイス１５が正規のデバイスでないと判明した場合、認証サーバ１２による拒絶のために、認証対象デバイス１５の機能回路１６は所望の動作を実行できない。
【００３２】
なお機能回路１６にＰＵＦ回路を組み込むことにより、偽造耐性を高めてもよい。即ち、機能回路１６の中の少なくとも１つのノードの信号値がＰＵＦ回路の出力に応じて変化するように、ＰＵＦ回路が機能回路１６に組み込まれてよい。そして、機能回路１６が前記所定の機能を実現するように、ＰＵＦ回路の出力が設定されてよい。
【００３３】
図３は、半導体集積回路１０の構成の一部の一例を示す図である。図３に示す回路は、ＫＡＳＵＭＩ暗号における非線形変換関数Ｓ７の２ビット目を出力する回路である。半導体集積回路１０の変換関数をＫＡＳＵＭＩの暗号関数とした場合、図３に示す回路は半導体集積回路１０の一部分に相当する。
【００３４】
Ｓ７のようにアルゴリズムが公知である変換関数を用いると、リバースエンジニアリングによって変換関数がＳ７であることを類推され，結果的に変換関数のアルゴリズムを攻撃者に知られてしまう恐れがある。従って、半導体集積回路１０に用いる変換関数としては公知ではない独自に開発した暗号関数等であることが好ましいが、ここでは、説明のための一例として，公知のＳ７を取り上げることにする。
【００３５】
図３に示す非線形変換関数Ｓ７は７ビットＸ０乃至Ｘ６を入力として１ビットｙ２を出力する関数である。この関数を実現する非線形変換回路は、図３に示すように、インバータ２０及び２１、ＡＮＤ回路２２乃至２９、ＯＲ回路３０乃至３４、及び定数入力回路３５を含む。以下に説明するように、この非線形変換回路の中の少なくとも１つのノードの信号値がＰＵＦ回路の出力に応じて変化するように、ＰＵＦ回路を非線形変換回路に組み込む。その際、非線形変換回路が所定の機能（即ち変換関数Ｓ７の入出力関係を実現する機能）を実現するようにＰＵＦ回路の出力を設定する。
【００３６】
図４は、図３の回路にＰＵＦ回路を組み込むことにより得られる回路の一例を示す図である。図４において、図３と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
【００３７】
図４の回路においては、図３のインバータ２０がＰＵＦ回路２０Ａ及びＸＯＲ回路２０Ｂで置き換えられ、インバータ２１がＰＵＦ回路２１Ａ及びＸＯＲ回路２１Ｂで置き換えられている。また更に、ＡＮＤ回路２６がＰＵＦ回路２６Ａ−１乃至２６Ａ−４及びセレクタ回路２６Ｂで置き換えられている。また配線途中にＰＵＦ回路３６Ａ乃至３８Ａ及びＸＯＲ回路３６Ｂ乃至３８Ｂが挿入されている。また更に、定数入力回路３５がＰＵＦ回路３５Ａで置き換えられている。図４の回路例において、各ＰＵＦ回路はＨＣＩ−ＳＡ−ＰＵＦ回路である。
【００３８】
図５は、ＨＣＩ−ＳＡ−ＰＵＦ回路の構成の一例を示す図である。図５に示すＨＣＩ−ＳＡ−ＰＵＦ回路は、ＰＭＯＳトランジスタ４１及び４２、ＮＭＯＳトランジスタ４３乃至４７、オフセット強制回路４８及び４９を含む。ＰＭＯＳトランジスタ４１及び４２並びにＮＭＯＳトランジスタ４３乃至４７の回路部分がセンスアンプ回路に相当する。センスアンプ回路においては、ＮＭＯＳトランジスタ４５及び４６のゲートに、入力電圧ＩＮ１及びＩＮ２として同一の電圧が印可されると、それぞれの閾値電圧に応じて異なる量の電流がＮＭＯＳトランジスタ４５及び４６に流れる。この電流量の差が、ＰＭＯＳトランジスタ４１及び４２並びにＮＭＯＳトランジスタ４３及び４４の回路部分のラッチ機能により増大されて、出力電圧ＯＵＴ１及びＯＵＴ２として現れる。
【００３９】
例えばＮＭＯＳトランジスタ４５の閾値を、ホットキャリア注入により、ＮＭＯＳトランジスタ４６の閾値よりも大きく設定すると、出力電圧ＯＵＴ１及びＯＵＴ２はそれぞれＨＩＧＨ及びＬＯＷとなる。逆に、ＮＭＯＳトランジスタ４６の閾値を、ホットキャリア注入により、ＮＭＯＳトランジスタ４５の閾値よりも大きく設定すると、出力電圧ＯＵＴ１及びＯＵＴ２はそれぞれＬＯＷ及びＨＩＧＨとなる。
【００４０】
ＮＭＯＳトランジスタ４５又は４６へのホットキャリア注入は、オフセット強制回路４８及び４９により行われる。具体的には、ＮＭＯＳトランジスタ４５のゲート絶縁膜にホットキャリアが注入されるように、オフセット強制回路４８及び４９がＮＭＯＳトランジスタ４５のドレイン電圧、ソース電圧、及びゲート電圧を適切な電圧値に設定する。或いは、ＮＭＯＳトランジスタ４６のゲート絶縁膜にホットキャリアが注入されるように、オフセット強制回路４８及び４９がＮＭＯＳトランジスタ４６のドレイン電圧、ソース電圧、及びゲート電圧を適切な電圧値に設定する。一般的には、ドレインに高電圧を印可した状態で、ゲート電圧がドレイン電圧よりも小さい場合にホットキャリア注入が顕著になり、特に、ゲート電圧がドレイン電圧の１／２程度である場合にホットキャリア注入効果が最大となる。
【００４１】
このようにしてＮＭＯＳトランジスタ４５及び４６の一方のゲート絶縁膜にホットキャリアを意図的に注入することにより、トランジスタの閾値電圧を増加させることができる。即ち、ＮＭＯＳトランジスタ４５とＮＭＯＳトランジスタ４６との間で、トランジスタの閾値電圧に差を生じさせることができる。ＨＣＩ−ＳＡ−ＰＵＦ回路の出力値は、この閾値電圧の差に応じたものとなるので、上記のような閾値電圧設定により、ＨＣＩ−ＳＡ−ＰＵＦ回路の出力値を所望の値に設定することができる。
【００４２】
図６は、ＰＵＦ回路とＸＯＲ回路とを組み合わせた回路の第１の機能を説明するための図である。図６において、ＨＣＩ−ＳＡ−ＰＵＦ回路５０Ａの出力がＸＯＲ回路５０Ｂの一方の入力に印可されている。また入力端子からの入力信号ｉｎがＸＯＲ回路５０Ｂのもう一方の入力に印可されている。この回路構成により、入力信号ｉｎを反転して出力信号ｏｕｔとして出力する回路を実現することができる。この図６に示される回路を、図３に示される回路中のインバータ２０及び２１の代わりに用いることができる。顕微鏡等により解析してもＨＣＩ−ＳＡ−ＰＵＦ回路の出力値を特定することはできないので、図４に示すＰＵＦ回路２０Ａ及びＸＯＲ回路２０Ｂの回路部分が、インバータであるか否かを外部から特定することはできない。
【００４３】
図７は、ＰＵＦ回路とＸＯＲ回路とを組み合わせた回路の第２の機能を説明するための図である。図７において、ＨＣＩ−ＳＡ−ＰＵＦ回路５１Ａの出力がＸＯＲ回路５１Ｂの一方の入力に印可されている。また入力端子からの入力信号ｉｎがＸＯＲ回路５１Ｂのもう一方の入力に印可されている。この回路構成により、入力信号ｉｎをそのまま出力信号ｏｕｔとして出力する回路を実現することができる。この図６に示される回路を、図３に示される回路中のＡＮＤ回路２６の出力部分につながる配線部分に挿入することができる。顕微鏡等により解析してもＨＣＩ−ＳＡ−ＰＵＦ回路の出力値を特定することはできないので、図４に示すＰＵＦ回路３６Ａ及び３７Ａ並びにＸＯＲ回路３６Ｂ及び３７Ｂの回路部分が、入出力が同一の配線と等価であるか否かを外部から特定することはできない。
【００４４】
図８は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の機能を説明するための図である。図８において、ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−１乃至６１Ａ−４の出力がセレクタ回路６１Ｂに入力として印可されている。またセレクタ回路６１Ｂには更に、選択制御信号として各１ビットの信号Ａ及びＢが印可される。ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−１、６１Ａ−２、６１Ａ−３、及び６１Ａ−４の出力は、それぞれ、０、０、０、及び１である。
【００４５】
選択制御信号Ａ及びＢがそれぞれ０及び０のとき、セレクタ回路６１Ｂは、ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−１の０出力を選択して出力する。選択制御信号Ａ及びＢがそれぞれ０及び１のとき、セレクタ回路６１Ｂは、ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−２の０出力を選択して出力する。選択制御信号Ａ及びＢがそれぞれ１及び０のとき、セレクタ回路６１Ｂは、ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−３の０出力を選択して出力する。選択制御信号Ａ及びＢがそれぞれ１及び１のとき、セレクタ回路６１Ｂは、ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−１の１出力を選択して出力する。
【００４６】
図８の回路は、上述のようにしてＡＮＤ演算を実行する。従って、図３に示される回路中のＡＮＤ回路２６を、図８の回路で置き換えることができる。顕微鏡等により解析してもＨＣＩ−ＳＡ−ＰＵＦ回路の出力値を特定することはできないので、図４に示すＰＵＦ回路２６Ａ−１乃至２６Ａ−４及びセレクタ回路２６Ｂの回路部分が、ＡＮＤ回路であるか否かを外部から特定することはできない。
【００４７】
図９は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。図９において、ＨＣＩ−ＳＡ−ＰＵＦ回路６２Ａ−１乃至６２Ａ−４の出力がセレクタ回路６２Ｂに入力として印可されている。また、各１ビットの選択制御信号Ａ及びＢにより、セレクタ回路６２Ｂが選択するＨＣＩ−ＳＡ−ＰＵＦ回路の出力を指定することができる。ＨＣＩ−ＳＡ−ＰＵＦ回路６１Ａ−１、６１Ａ−２、６１Ａ−３、及び６１Ａ−４の出力は、それぞれ、０、１、１、及び１である。この図９の回路により、ＯＲ演算を実行することができる。図３に示す回路中のＯＲ回路の一つ又は複数を、図９に示す回路により置き換えてもよい。
【００４８】
図１０は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。図１０において、ＨＣＩ−ＳＡ−ＰＵＦ回路６３Ａ−１乃至６３Ａ−４の出力がセレクタ回路６３Ｂに入力として印可されている。また、各１ビットの選択制御信号Ａ及びＢにより、セレクタ回路６３Ｂが選択するＨＣＩ−ＳＡ−ＰＵＦ回路の出力を指定することができる。ＨＣＩ−ＳＡ−ＰＵＦ回路６３Ａ−１、６３Ａ−２、６３Ａ−３、及び６３Ａ−４の出力は、それぞれ、０、１、１、及び０である。この図１０の回路により、ＸＯＲ演算を実行することができる。図１に示す半導体集積回路１０の中にＸＯＲ回路が含まれている場合、そのＸＯＲ回路を図１０の回路により置き換えることができる。
【００４９】
図１１は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。図１１において、ＨＣＩ−ＳＡ−ＰＵＦ回路６４Ａ−１乃至６４Ａ−４の出力がセレクタ回路６４Ｂに入力として印可されている。また、各１ビットの選択制御信号Ａ及びＢにより、セレクタ回路６４Ｂが選択するＨＣＩ−ＳＡ−ＰＵＦ回路の出力を指定することができる。ＨＣＩ−ＳＡ−ＰＵＦ回路６４Ａ−１、６４Ａ−２、６４Ａ−３、及び６４Ａ−４の出力は、それぞれ、１、１、１、及び０である。この図１１の回路により、ＮＡＮＤ演算を実行することができる。図１に示す半導体集積回路１０の中にＮＡＮＤ回路が含まれている場合、そのＮＡＮＤ回路を図１１の回路により置き換えることができる。
【００５０】
図１２は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。図１２において、ＨＣＩ−ＳＡ−ＰＵＦ回路６５Ａ−１乃至６５Ａ−４の出力がセレクタ回路６５Ｂに入力として印可されている。また、各１ビットの選択制御信号Ａ及びＢにより、セレクタ回路６５Ｂが選択するＨＣＩ−ＳＡ−ＰＵＦ回路の出力を指定することができる。ＨＣＩ−ＳＡ−ＰＵＦ回路６５Ａ−１、６５Ａ−２、６５Ａ−３、及び６５Ａ−４の出力は、それぞれ、１、０、０、及び０である。この図１２の回路により、ＮＯＲ演算を実行することができる。図１に示す半導体集積回路１０の中にＮＯＲ回路が含まれている場合、そのＮＯＲ回路を図１２の回路により置き換えることができる。
【００５１】
図１３は、ＰＵＦ回路とセレクタ回路とを組み合わせた回路の別の機能を説明するための図である。図１３において、ＨＣＩ−ＳＡ−ＰＵＦ回路６６Ａ−１乃至６６Ａ−４の出力がセレクタ回路６６Ｂに入力として印可されている。また、各１ビットの選択制御信号Ａ及びＢにより、セレクタ回路６６Ｂが選択するＨＣＩ−ＳＡ−ＰＵＦ回路の出力を指定することができる。ＨＣＩ−ＳＡ−ＰＵＦ回路６６Ａ−１、６６Ａ−２、６６Ａ−３、及び６６Ａ−４の出力は、それぞれ、１、０、０、及び１である。この図１３の回路により、ＮＸＯＲ演算を実行することができる。図１に示す半導体集積回路１０の中にＮＸＯＲ回路が含まれている場合、そのＮＸＯＲ回路を図１３の回路により置き換えることができる。
【００５２】
図１４は、半導体集積回路１０の構成の別の一例を示す図である。図１４の例においては、ＰＵＦ回路の出力をセレクタ回路により選択する回路構成により、半導体集積回路１０の実現するＮビット入力且つＭビット出力の変換関数そのものを実現してしまう。
【００５３】
図１４の回路は、２Ｎ個のＭビット定数回路７２Ａ−１乃至７２Ａ−２Ｎ、及びセレクタ回路（マルチプレクサ：ＭＵＸ）７２Ｂを含む。セレクタ回路７２Ｂは、Ｎビットの選択制御信号の値に応じて、２Ｎ個のＭビット定数回路７２Ａ−１乃至７２Ａ−２Ｎのうちの１つの回路を選択し、当該回路のＭビット出力を選択して出力する。Ｍビット定数回路７２Ａ−１乃至７２Ａ−２Ｎの出力を所望の値に設定することにより、図１４の回路は、Ｎビット入力、Ｍビット出力である任意の変換関数を実現することができる。なおＭビット定数回路７２Ａ−１乃至７２Ａ−２Ｎの各々は、Ｍ個のＨＣＩ−ＳＡ−ＰＵＦ回路によりＭ個の定数出力を生成してよい。
【００５４】
図１５は、半導体集積回路１０の構成の別の一例を示す図である。図１５の回路８１は、Ｎビット入力且つＭビット出力である関数回路８２、Ｎビット定数回路８３Ａ、ＸＯＲ回路８３Ｂ、Ｍビット定数回路８４Ａ、及びＸＯＲ回路８４Ｂを含む。Ｎビット定数回路８３Ａ及びＭビット定数回路８４Ａの各々は、Ｍ個のＨＣＩ−ＳＡ−ＰＵＦ回路によりＭ個の定数出力を生成してよい。
【００５５】
図１５の半導体集積回路１０に示すように、Ｎビット入力且つＭビット出力である関数回路８２の入力部分及び出力部分の少なくとも一方に対して、ＨＣＩ−ＳＡ−ＰＵＦ回路の出力とのＸＯＲ演算を実行するＸＯＲ回路を設けてよい。この回路構成により、Ｎビット入力且つＭビット出力である所定の機能を実現することができる。なおこの場合の所定の機能とは、関数回路８２の入出力関係が実現する変換関数のことではなく、関数回路８２の入出力の少なくとも一方にＸＯＲ回路による変換が加えられた回路８１全体が実現する入出力関係のことである。
【００５６】
図４に示されるＰＵＦ回路３８Ａ及びＸＯＲ回路３８Ｂは、図１５に示されるように、関数回路の出力部分においてＸＯＲ回路による変換を加えるものである。ＰＵＦ回路３８Ａの定数出力は１であるので、図３の回路の出力ｙ２の反転信号である／ｙ２が図４の回路の出力となり、この／ｙ２が意図される目標の機能を実現する出力ということになる。／ｙ２ではなくｙ２が意図される目標の機能を実現する出力である場合には、ＰＵＦ回路３８Ａの定数出力は１ではなく０に設定される。
【００５７】
図３には、半導体集積回路１０により実現する認証回路の構成の一例として、ＫＡＳＵＭＩ暗号における非線形変換関数Ｓ７を用い、関数Ｓ７にＰＵＦ回路を組み込む例を示した。前述のように、認証回路ではなく、機能回路１６にＰＵＦ回路を組み込む構成により、偽造耐性を高めてもよい。
【００５８】
図１６は、機能回路１６の構成の一例を示す図である。図１６に示す回路は、全加算回路であり、インバータ９０及び９１、ＡＮＤ回路９２乃至９５、ＯＲ回路９６及び９７、ＮＯＲ回路９８及び９９を含む。全加算回路は、入力Ａ、入力Ｂ、キャリーＣｉを加算することにより、和Ｓ及びキャリーＣを生成する。
【００５９】
図１７は、図１６の回路にＰＵＦ回路を組み込むことにより得られる回路の一例を示す図である。図１７において、図１６と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
【００６０】
図１７の回路においては、図１６のインバータ９０がＰＵＦ回路９０Ａ及びＸＯＲ回路９０Ｂで置き換えられている。また更に、ＮＯＲ回路９９がＰＵＦ回路９９Ａ−１乃至９９Ａ−４及びセレクタ回路９９Ｂで置き換えられている。また配線途中にＰＵＦ回路１００Ａ及びＸＯＲ回路１００Ｂが挿入されている。図１７において、各ＰＵＦ回路はＨＣＩ−ＳＡ−ＰＵＦ回路である。顕微鏡等により解析してもＨＣＩ−ＳＡ−ＰＵＦ回路の出力値を特定することはできないので、図１７に組み込まれたＰＵＦ回路の部分が如何なる論理演算を実行する部分であるのかを外部から特定することはできない。また、顕微鏡での解析に加えて、回路構造を別ＬＳＩチップにデッドコピーした場合、論理がかわってしまうので、偽造することができない。従って、図１７に示すようにＰＵＦ回路を組み込んで作成した機能回路である全加算回路は、偽造することが困難である。
【００６１】
図１７では、説明を簡単にするために、１ビットの全加算回路を機能回路の例として用いた。機能回路の実現する機能の例としては、映像音声処理機能、通信機能、各種インターフェース機能、算術演算機能、データ保護（暗号)）機能等が挙げられる。また機能回路は、図２に示されるように認証回路と一緒にデバイスに設けられている必要はなく、認証回路無しで機能回路のみがデバイスに設けられていてもよい。
【００６２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【００６３】
１０  認証回路
１１  ＰＵＦ回路
１２  認証サーバ
１３  変換関数
【図１】
2015139010.tif 000003
【図２】
2015139010.tif 000004
【図３】
2015139010.tif 000005
【図４】
2015139010.tif 000006
【図５】
2015139010.tif 000007
【図６】
2015139010.tif 000008
【図７】
2015139010.tif 000009
【図８】
2015139010.tif 000010
【図９】
2015139010.tif 000011
【図１０】
2015139010.tif 000012
【図１１】
2015139010.tif 000013
【図１２】
2015139010.tif 000014
【図１３】
2015139010.tif 000015
【図１４】
2015139010.tif 000016
【図１５】
2015139010.tif 000017
【図１６】
2015139010.tif 000018
【図１７】
2015139010.tif 000019