(57)【要約】【課題】半導体装置の複製を難しくすると共に、認証に必要な秘密認証コードの漏洩を難しくして、より確実な認証を実現するのに使用する論理回路の実現。【解決手段】複数のトランジスタPTr11-PTr81,NTr11-NTr81と、複数の入力ノードA,S,Rと、出力ノードX1,X2と、を有し、複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される出力データを出力ノードに出力し、所定の論理演算によれば、複数の入力データを所定の状態にすると、出力データは論理的には不定状態となり、複数のトランジスタは、駆動能力の異なるトランジスタWP,SP,SN,WNを含み、少なくとも１つの出力データは、論理的には不定状態であっても、複数のトランジスタの駆動能力が異なることにより、所定の出力データとなる論理回路。【選択図】図３
2014072827.tif 000002
【特許請求の範囲】
【請求項１】
複数のトランジスタと、
複数の入力ノードと、
少なくとも１つの出力ノードと、を備え、
前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、
前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、
前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、
前記少なくとも１つの出力データは、前記論理的には不定状態でも、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなることを特徴とする論理回路。
【請求項２】
前記複数のトランジスタは、注入イオン濃度が異なることにより前記駆動能力が異なる請求項１記載の論理回路。
【請求項３】
当該論理回路は、Ｒ−Ｓフリップフロップを含む請求項１または２記載の論理回路。
【請求項４】
コードを発生するコード発生回路であって、
少なくとも１つのコード要素発生回路を備え、
前記コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態を維持しても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記コードを、各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記少なくとも１つのコード要素発生回路の出力データから生成することを特徴とするコード発生回路。
【請求項５】
複数のコード要素発生回路と、
基準コードを記憶する基準コード記憶回路と、
前記複数のコード要素発生回路の出力データから生成した認証コードを、前記基準コードと比較して一致するか判定する判定回路と、を備え、
前記各コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態を維持しても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記認証コードを、前記各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記各コード要素発生回路の出力データから生成し、
前記判定回路の判定結果が不一致の場合には、内部機能を停止状態にする半導体装置。
【請求項６】
複数のコード要素発生回路と、
前記複数のコード要素発生回路の出力データをシリアルデータに変換するスキャン回路と、を備え、
各コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態を維持しても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記複数の要素発生回路の出力データを前記シリアルデータに変換し、
請求項４記載のコード発生回路であり、
前記シリアルデータを外部に出力する半導体装置。
【請求項７】
認証対象の半導体装置が正規のものであるか認証する認証装置であって、
前記認証対象の半導体装置は、
複数のコード要素発生回路と、
前記複数のコード要素発生回路の出力データをシリアルデータに変換するスキャン回路と、を備え、
各コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態を維持しても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記複数の要素発生回路の出力データを前記シリアルデータに変換し、
前記シリアルデータを外部に出力する半導体装置であり、
基準コードを記憶する基準コード記憶回路と、
前記認証対象の半導体装置の出力する前記複数のコード要素発生回路の出力データと、前記基準コードを比較して一致するか判定する判定回路と、を備える認証装置。
【請求項８】
コードを発生するコード発生方法であって、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態であっても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなる少なくとも１つのコード要素発生回路に対して、前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記少なくとも１つのコード要素発生回路の出力データから、前記コードを生成することを特徴とするコード発生方法。
【請求項９】
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態であっても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなる複数のコード要素発生回路に対して、前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記複数のコード要素発生回路の出力データから認証コードを発生し、
記憶されている基準コードを読み出し、
前記認証コードを、前記基準コードと比較して一致するか判定する認証方法。
【請求項１０】
暗号コードを記憶する暗号コード記憶回路と、
外部からの暗号処理要求に応じて、前記暗号コード記憶回路から読み出した前記暗号コードに基づいて、前記暗号処理要求に伴い入力される暗号データを復号判定する復号処理回路と、を備え、
前記暗号コード記憶回路は、前記暗号コードの少なくとも一部のコードを発生するコード発生回路を含み、
前記コード発生回路は、
少なくとも１つのコード要素発生回路を備え、
前記コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態を維持しても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記暗号コードの少なくとも一部のコードを、各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記少なくとも１つのコード要素発生回路の出力データから生成する、
ことを特徴とする暗号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路、コード発生回路、半導体装置、認証装置、暗号処理装置、コード発生方法および認証方法に関する。
【背景技術】
【０００２】
半導体装置は、内部に集積回路を搭載しており、パッケージを開封して回路パターンを複写することで模造品を作ることができる。不正に模造品が製造されるのを防止するために、半導体装置の複製を難しくする技術が求められている。
【０００３】
半導体装置の複製を難しくする１つの技術は、単に回路パターンを複写しただけでは正常に動作しないようにすることである。例えば、回路を形成するトランジスタの動作特性を変えることが提案されており、回路の大部分をエンハンスメント型トランジスタで形成し、一部をディプレション型トランジスタで形成することが提案されている。このような回路は、パターンの複写により類似の回路が形成できても、トランジスタの動作特性（閾値電圧）が分からなければ正常に動作しないため、不正な複製品作成の意欲を抑制する効果がある。さらに、このような回路は、複製に要する労力が大きくなり、この点でも不正な複製品作成の意欲を抑制する。しかし、パターンの複写により類似の回路を再現した場合、動作特性が異なると正常に動作しない部分を見つけ出すことが可能であり、その部分に限ってトランジスタの動作特性を解析するのは比較的容易に行えるので、複製を防止する効果は十分でない。
【０００４】
半導体装置の複製を難しくする別の技術は、半導体装置に認証コードを記憶しておき、認証コードを認証装置に出力し、認証コードが正規であることが判明した時のみ、その半導体からの動作を受け付けるようにすることである。また、半導体装置は、動作時に記憶している認証コードと外部から入力される基準コードの一致を判定する認証回路を有し、一致の判定が得られた時にのみ動作状態になるようにする。以上のようにすることで、複製品を作っても認証コードが分からなければ半導体装置は動作しないので、不正な複製品作成を抑制する効果がある。
【０００５】
しかし、光学的に回路が読み取られる場合、論理回路で構成される認証コードおよび認証回路もすべて複製されるという問題があった。その対策として、不揮発メモリに入った鍵などの重要データを読み取られにくいレイアウトにすることが知られている。また、動作特性を複製しにくいアナログ素子を搭載するという方法が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２０５１４８号公報
【特許文献２】特開平１−１２９３２８号公報
【特許文献３】特開平９−９２７２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように、半導体装置の複製を難しくする技術が知られており、それらの技術は、不正な複製品の出現を抑制する上で有効であるが、より一層複製を難しくすることが求められている。
実施形態の論理回路、コード発生回路、半導体装置、認証装置、暗号処理装置、コード発生方法および認証方法は、半導体装置の複製を難しくすると共に、認証に必要な秘密認証コードの漏洩を難しくして、より確実な認証を実現する。
【課題を解決するための手段】
【０００８】
実施形態の第１の観点によれば、複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を有する論理回路が提供される。論理回路は、複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、少なくとも１つの出力ノードに出力する。論理回路では、所定の論理演算によれば、複数の入力データを所定の状態にすると、少なくとも１つの出力データは論理的には不定状態となる。複数のトランジスタは、駆動能力の異なるトランジスタを含み、少なくとも１つの出力データは、論理的には不定状態であっても、複数のトランジスタの駆動能力が異なることにより、所定の出力データとなる。
【０００９】
実施形態の第２の観点によれば、コードを発生するコード発生回路が提供される。コード発生回路は、少なくとも１つのコード要素発生回路を有する。コード要素発生回路は、複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を有する。コード発生回路では、複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、少なくとも１つの出力ノードに出力する。所定の論理演算によれば、複数の入力データを所定の状態にすると、少なくとも１つの出力データは論理的には不定状態となる。複数のトランジスタは、駆動能力の異なるトランジスタを含む。少なくとも１つの出力データは、論理的には不定状態であっても、複数のトランジスタの駆動能力が異なることにより、所定の出力データとなる。コード発生回路は、コードを、各コード要素発生回路の複数の入力データを所定の状態にして論理的には不定状態になるようにした時の少なくとも１つのコード要素発生回路の出力データから生成する。
【００１０】
実施形態の第３の観点によれば、コードを発生するコード発生方法が提供される。コード発生方法は、少なくとも１つのコード要素発生回路の出力データから、コードを生成する。各コード要素発生回路は、複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を有する。コード発生回路では、複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、少なくとも１つの出力ノードに出力する。所定の論理演算によれば、複数の入力データを所定の状態にすると、少なくとも１つの出力データは論理的には不定状態となる。複数のトランジスタは、駆動能力の異なるトランジスタを含む。少なくとも１つの出力データは、論理的には不定状態であっても、複数のトランジスタの駆動能力が異なることにより、所定の出力データとなる。コード発生方法は、各コード要素発生回路の複数の入力データを所定の状態にして論理的には不定状態になるようにした時の少なくとも１つのコード要素発生回路の出力データからコードを生成する。
【発明の効果】
【００１１】
第１の観点の論理回路は、通常の動作を行うため、コードを記憶している部分であると認識されにくい。しかも、第１の観点の論理回路は、論理的に不定状態にすると、複数のトランジスタの駆動能力の違いにより所定の出力データを出力するので、回路パターンで所定のデータを解析することが難しい。
【００１２】
第２の観点のコード発生回路は、第１の観点の論理回路を利用してコードを発生するため、コード発生回路であると認識されにくく、光学的な回路パターンの解析でコードを解読するのが難しい。
【図面の簡単な説明】
【００１３】
【図１】図１は、一般的なＲＳラッチ回路の回路図である。
【図２】図２は、第１実施形態の論理回路の回路図である。
【図３】図３は、拡張版ＲＳラッチ回路のトランジスタレベルの回路図である。
【図４】図４は、拡張版ＲＳラッチ回路の認識データ出力動作を説明する図である。
【図５】図５は、拡張版ＲＳラッチ回路の認識データ出力動作を説明する図である。
【図６】図６は、拡張版ＲＳラッチ回路を表す記号を示す。
【図７】図７は、拡張版ＲＳラッチ回路の変形例の回路図を示す図である。
【図８】図８は、第１実施形態の拡張版ＲＳラッチ回路を使用して不正な複製を防止する機能を形成した半導体装置を、正規品であるか否か認証する第２実施形態の認証システムを示す図である。
【図９】図９は、第２実施形態の認証システムにおける認証処理を示すフローチャートである。
【図１０】図１０は、第２実施形態の認証システムにおける認証処理を示すタイムチャートである。
【図１１】図１１は、第３実施形態の認証システムが認証対象とする半導体装置に含まれるスキャン機能を付加した拡張版スキャンフリップフロップの回路図、および拡張版スキャンフリップフロップを表すシンボルを示す。
【図１２】図１２は、第３実施形態の認証システムを示す図である。
【図１３】図１３は、第３実施形態の認証システムにおける認証処理を示すフローチャートである。
【図１４】図１４は、第３実施形態の認証システムにおける認証処理を示すタイムチャートである。
【図１５】図１５は、第３実施形態の認証システムの変形例を示す図である。
【図１６】図１６は、第３実施形態の認証システムの変形例における認証処理を示すタイムチャートである。
【図１７】図１７は、第４実施形態の認証システムにおける認証対象の半導体装置を示す図である。
【図１８】図１８は、第４実施形態の半導体装置における認証処理を示すフローチャートである。
【図１９】図１９は、第５実施形態の認証システムを示す図である。
【図２０】図２０は、第５実施形態の認証システムにおける認証処理を示すタイムチャートである。
【図２１】図２１は、第６実施形態の認証システムを示す図である。
【図２２】図２２は、第６実施形態の認証システムにおける半導体装置の構成を示す図である。
【図２３】図２３は、第７実施形態の認証システムを示す図である。
【図２４】図２４は、第７実施形態の認証システムにおける認証動作を示すフローチャートである。
【図２５】図２５は、第８実施形態の半導体装置を示す図である。
【図２６】図２６は、コード記憶回路を使用するホストの構成を示す図であり、（Ａ）が第９実施形態の認証システムの場合の例を、（Ｂ）が第１０実施形態の暗号処理システムの場合の例を示す。
【図２７】図２７は、第９および第１０実施形態において、基準コード記憶回路または暗号コード記憶回路が、基準コードまたは暗号コードを記憶する形態を説明する図である。
【発明を実施するための形態】
【００１４】
前述のように、光学的に回路パターンを解析して回路を複製し、その回路図を再現することが可能である。そのため、半導体装置の複製を防止し、内部に記憶した秘密のコードを知られないためには、光学的な回路パターンの解析だけでは、回路を複製し、回路図を再現することが難しいことが望ましい。
【００１５】
さらに、コードを記憶する回路部分や、単なる複製では正常に動作しないようにしている回路部分が特定されにくいようにすることが望ましい。これは、そのような回路部分の配置場所が特定しにくいと共に、動作時期などからも特定が難しいことが望ましい。例えば、不揮発性メモリにコードを記憶する場合、不揮発性メモリの位置が特定されると、複製のための解析に要する労力は大幅に少なくなる。また、認証動作は、半導体装置の起動時になどにのみ行うのが一般的であるが、そのような場合にのみ動作する回路部分が特定されると、解析に要する労力は大幅に少なくなる。
【００１６】
以下に説明する実施形態では、光学的な回路パターンの解析が難しく、コードを記憶する回路部分の特定が難しい回路および半導体装置、およびそれを利用した認証システムが開示される。
【００１７】
第１実施形態では、入力データに対して所定の論理演算により決定される出力データを出力するが、入力データを所定の状態にすると、出力データが論理的には不定状態になる論理回路を利用する。さらに、第１実施形態の論理回路は複数のトランジスタを含み、複数のトランジスタは駆動能力の異なるトランジスタを含む。第１実施形態の論理回路では、上記のように入力データを所定の状態にして出力データが論理的には不定状態であっても、複数のトランジスタの駆動能力が異なることにより、所定の出力データとなる。
【００１８】
言い換えれば、第１実施形態の論理回路は、通常時には所定の論理演算を行う論理回路として動作する。このような論理回路では、一般に、出力データが不定状態にならないように、出力データが論理的には不定状態になる入力データを入力することを禁止している。第１実施形態の論理回路は、この不定状態を利用する。半導体装置の製造プロセスでトランジスタを形成する場合に、注入イオン濃度が異なることにより、トランジスタの駆動能力が異なることが知られている。このような論理回路では、出力データが論理的には不定状態になる入力データを入力した場合に、出力データは不定状態になるが、トランジスタの駆動能力の違いにより、出力データは確実に所定の値になる。したがって、トランジスタの注入イオン濃度を、不定状態にした時に出力データが所定の値になるように設定した場合、出力データが論理的には不定状態にする入力データを入力すれば、所定の出力データが得られることになる。実施形態では、コードをこの所定の出力データに対応付けて記憶する。
【００１９】
第１実施形態の論理回路は、注入イオン濃度を異ならせてトランジスタの駆動能力を異ならせているので、光学的に回路を読み取っただけでは所定のデータを知ることはできない。さらに、第１実施形態の論理回路は、通常時には所定の論理演算を行う論理回路として動作しており、コードに関係する情報を記憶している部分であると特定するのが難しい。
【００２０】
以下、出力が不定状態を取り得る論理回路として、ＲＳフリップフロップ回路（ＲＳラッチ回路）を利用した例を説明するが、使用できる論理回路はこれに限定されず、出力が不定状態を取り得る論理回路であればよい。
【００２１】
図１は、一般的なＲＳラッチ回路の回路図である。
ＲＳラッチ回路については広く知られているので詳しい説明は省略するが、出力データＸ１およびＸ２は、一方が“Ｈ”であれば他方は“Ｌ”である相補型データである。出力データＸ１およびＸ２が同じ値になる状態、具体的には入力データＲ＝“Ｈ”および入力データＳ＝“Ｈ”で、Ｘ１＝“Ｈ”およびＸ２＝“Ｈ”となるため、前記の相補型データという条件は満たさなくなる。さらに、入力データＲ＝“Ｈ”および入力データＳ＝“Ｈ”で、Ｘ１＝“Ｈ”およびＸ２＝“Ｈ”とした後、入力データＲ＝“Ｌ”および入力データＳ＝“Ｌ”とすると、出力データがどのような状態になるか一定でないという問題があるため、一般のラッチでは禁止入力とされている。したがって、仕様上では、そのような入力データ（Ｒ＝“Ｈ”およびＳ＝“Ｈ”）を入力しないようにすることが求められている。
【００２２】
図２は、第１実施形態の論理回路の回路図である。
図２に示すように、第１実施形態の論理回路は、４個のＮＡＮＤゲートＮＡＮＤ１〜ＮＡＮＤ４と、４個のインバータＩｎｖ１〜Ｉｎｖ４と、を有し、図示のように接続されている。ＮＡＮＤ１およびＮＡＮＤ２とＩｎｖ１およびＩｎｖ２は、図１の一般的なＲＳラッチ回路を形成している。ＮＡＮＤ３は、入力データＳをＩｎｖ３で反転したデータ／Ｓとコード出力制御データ“Ａ”を入力とし、／ＳとＡのＮＡＮＤである出力データをＩｎｖ１に出力する。また、ＮＡＮＤ４は、入力データＲをＩｎｖ３で反転したデータ／Ｒとコード出力制御データ“Ａ”を入力とし、／ＲとＡのＮＡＮＤである出力データをＩｎｖ２に出力する。図２に示した第１実施形態の論理回路を、ここでは拡張版ＲＳラッチ回路と称する。
【００２３】
図３は、拡張版ＲＳラッチ回路のトランジスタレベルの回路図である。図示のように、インバータおよびＮＡＮＤゲートは、広く知られた回路構成を有する。ＮＡＮＤ１は、ＰＴｒ１１およびＰＴｒ１２と、ＮＴｒ１１とＮＴｒ１２と、で形成される。ＮＡＮＤ２は、ＰＴｒ２１およびＰＴｒ２２と、ＮＴｒ２１とＮＴｒ２２と、で形成される。Ｉｎｖ１は、ＰＴｒ３１と、ＮＴｒ３１と、で形成される。Ｉｎｖ２は、ＰＴｒ６１と、ＮＴｒ６１と、で形成される。ＮＡＮＤ３は、ＰＴｒ４１およびＰＴｒ４２と、ＮＴｒ４１とＮＴｒ４２と、で形成される。ＮＡＮＤ４は、ＰＴｒ７１およびＰＴｒ７２と、ＮＴｒ７１とＮＴｒ７２と、で形成される。Ｉｎｖ３は、ＰＴｒ５１と、ＮＴｒ５１と、で形成される。Ｉｎｖ４は、ＰＴｒ８１と、ＮＴｒ８１と、で形成される。ここで、ＮＡＮＤゲートＮＡＮＤ１は、相対的に駆動能力の弱い２個のＰｃｈトランジスタＰＴｒ１１およびＰＴｒ１２（ＷＰで示す）と、相対的に駆動能力の強い２個のＮｃｈトランジスタＮＴｒ１１およびＮＴｒ２２（ＳＮで示す）と、を有する。また、ＮＡＮＤゲートＮＡＮＤ２は、相対的に駆動能力の強い２個のＰｃｈトランジスタＰＴｒ２１およびＰＴｒ２２（ＳＰで示す）と、相対的に駆動能力の弱い２個のＮｃｈトランジスタＮＴｒ２１およびＮＴｒ２２（ＷＮで示す）と、を有する。Ｉｎｖ１およびＩｎｖ２の出力が共に“Ｌ（Ｌｏｗ）”になると、Ｘ１およびＸ２は共に“Ｈ”になる。その後、Ｉｎｖ１およびＩｎｖ２の出力を共にＨにすると、論理的には前の状態を維持するはずである、すなわちＸ１およびＸ２は共に“Ｈ”である。しかし、この状態ではデータの衝突が発生し、論理的には不定の状態であるが、実際には駆動能力の違いにより、確実にＸ１＝“Ｌ”、Ｘ２＝“Ｈ”にすることができる。
【００２４】
第１実施形態では、トランジスタの駆動能力の強弱は、ここでは、製造工程において、注入イオン濃度を調整することにより行う。駆動能力の強いトランジスタと弱いトランジスタで、どのような注入イオン濃度の差を設けるかは、プロセスに応じて適宜決定され、製造バラツキ等を考慮して、上記の出力データを不定状態にした時に、出力データが確実に所望の値になるように設定する。なお、図３と逆の駆動能力に設定すると、Ｘ１＝“Ｈ”、Ｘ２＝“Ｌ”にすることができる。詳しくは、ＮＡＮＤ１は、駆動能力の強い２個のＰｃｈトランジスタと、駆動能力の弱い２個のＮｃｈトランジスタと、を有し、ＮＡＮＤ２は、駆動能力の弱い２個のＰｃｈトランジスタと、駆動能力の強い２個のＮｃｈトランジスタと、を有する。Ｉｎｖ１およびＩｎｖ２の出力が共に“Ｌ”になると、Ｘ１およびＸ２は共に“Ｈ”になる。その後、Ｉｎｖ１およびＩｎｖ２の出力が共に“Ｈ”になっても、Ｘ１およびＸ２が共に“Ｈ”の状態を維持せず、確実にＸ１＝“Ｈ”、Ｘ２＝“Ｌ”にすることができる。このように、トランジスタの駆動能力の強弱を設定することにより、論理的には出力データが不定状態になる時でも、所定の出力データを得ることができる。ここでは、所定のデータを認証データと称する。
【００２５】
拡張版ＲＳラッチ回路では、Ａ＝“Ｈ”の時、図１に示した一般のＲＳラッチ回路として動作する。
Ａ＝“Ｈ”の時、Ｓ＝“Ｈ”、Ｒ＝“Ｌ”で、Ｘ１＝“Ｈ”、Ｘ２＝“Ｌ”となる。これをセット（ｓｅｔ）動作と称する。
Ａ＝“Ｈ”の時、Ｓ＝“Ｌ”、Ｒ＝“Ｈ”で、Ｘ１＝“Ｌ”、Ｘ２＝“Ｈ”となる。これをリセット（ｒｅｓｅｔ）動作と称する。
Ａ＝“Ｈ”の時、Ｓ＝“Ｌ”、Ｒ＝“Ｌ”で、前の情報を保持する。
Ａ＝“Ｈ”の時、Ｓ＝“Ｈ”、Ｒ＝“Ｈ”にすることは、一般のラッチ動作では禁止されている。
【００２６】
次に、拡張版ＲＳラッチ回路で、認証データを出力する方法を説明する。
図４および図５は、図３の拡張版ＲＳラッチ回路の認証データ出力動作を説明する図である。図４および図５で、実線は“Ｈ”の状態の信号線を、破線は“Ｌ” の状態の信号線を、それぞれ示す。
【００２７】
認証データを出力させるときは、Ｓ＝“Ｌ”、Ｒ＝“Ｌ”（前値保持状態）にしておく。この状態で、Ａ＝“Ｌ”とすると、図４に示すように、Ｘ１＝“Ｈ”、Ｘ２＝“Ｈ”となる。さらに続けて、図５に示すように、Ａ＝“Ｌ”から“Ｈ”とすると、論理的には、Ｘ１＝“Ｘ”、Ｘ２＝“Ｘ”、すなわちＸ１＝“Ｈ”、Ｘ２＝“Ｈ”となるが、トランジスタの駆動能力が上記のように異なるため、Ｘ１＝“Ｌ”、Ｘ２＝“Ｈ”となる。詳細に説明すると、図４のようにＡ＝“Ｌ”でＸ１＝“Ｈ”およびＸ２＝“Ｈ”である状態から、Ａを“Ｌ”から“Ｈ”に変化すると、ラッチ部で、図５に示すように出力データの衝突が発生する。ここで、Ｎｃｈトランジスタの駆動能力の強い方の出力データＸ１＝“Ｌ”となり、Ｐｃｈトランジスタの駆動能力の強い方の出力データＸ２＝“Ｈ”となる。
【００２８】
図６は、拡張版ＲＳラッチ回路を表す記号を示す。図示のように複数の入力データＳ、ＲおよびＡを受けて、出力データＸ１およびＸ２を出力する。
【００２９】
図７は、拡張版ＲＳラッチ回路の変形例の回路図を示す図である。図７の回路では、図２の回路からＩｎｖ３およびＩｎｖ４を除いている。したがって、図７の回路の真理値表は、図２の回路と異なるが、容易に分かるので、説明は省略する。
【００３０】
図８は、第１実施形態の拡張版ＲＳラッチ回路を使用して不正な複製を防止する機能を形成した半導体装置を、正規品であるか否か認証する第２実施形態の認証システムを示す図である。
【００３１】
図８に示すように、第２実施形態の認証システムは、ホスト１０と、認証対象の半導体装置２０と、を有する。ホスト１０は、半導体装置２０から送られる認証コードが所定の基準コード（ＲＥＦＣＯＤＥ）と対応するか判定して、認証対象の半導体装置２０が正規品であるか否か認証する。
【００３２】
半導体装置２０は、通常の回路動作を行うメインロジック２１と、複数の拡張版ＲＳラッチ回路２２１〜２２８と、拡張版ＲＳラッチ回路２２１〜２２８に入力する入力データを切り替えるセレクタ群を有する。半導体装置２０は、認証動作時に、外部から制御信号ＭＯＤＥ、ＳＥＴ、ＲＥＳＥＴおよびＩＮを受ける。ＳＥＴは図２の“Ｓ”に、ＲＥＳＥＴは“Ｒ”に、ＩＮは“Ａ”に対応する信号である。セレクタ群は、各拡張版ＲＳラッチ回路に対応して３個のセレクタＭ１１−Ｍ１３、Ｍ２１−Ｍ２３、…を有する。３個のセレクタは、ＭＯＤＥが通常動作を示す時には、メインロジック２１からのデータが対応する拡張版ＲＳラッチ回路に入力し、ＭＯＤＥが認証動作を示す時には、ＳＥＴ、ＩＮおよびＲＥＳＥＴが対応する拡張版ＲＳラッチ回路に入力するように切り替える。
【００３３】
拡張版ＲＳラッチ回路２２１〜２２８は、認証動作に上記のように認証データＸ１またはＸ２を出力し、それらが半導体装置２０からＯＵＴ１、…、ＯＵＴ８として出力される。ここでは、８個の認証データを合わせて認証コードが形成される。ＯＵＴ１、…、ＯＵＴ８は、半導体装置２０の出力端子からホスト１０の入力端子に送られる。図８に示すように、拡張版ＲＳラッチ回路２２１〜２２８のＸ１とＸ２のいずれかを認証コードとして利用するかは任意である。
【００３４】
なお、図示を容易にするために、拡張版ＲＳラッチ回路２２１〜２２８は、メインロジック２１外に配置されるように示したが、メインロジック２１内に回路の一部として設けられることが望ましい。
【００３５】
例えば、半導体装置２０は、ホスト１０を含むシステムの一部に含まれ、システム全体で所定の機能を実現する。半導体装置２０は、システムの起動時または半導体装置２０の起動時、または定期的に正規品であるか認証され、正規品であればシステムの一部として動作するが、非正規品であると認証された場合には、システムのほかの部分へのアクセスが制限される。これにより、システムは正常に動作しなくなる。また、半導体装置２０が非正規品であると認証された場合には、ホスト１０などのシステムのほかの部分が、「半導体装置２０が非正規品である」ことを示すメッセージをユーザに報知する。
【００３６】
また、例えば、半導体装置２０は、ホスト１０に回線等を介してアクセスする認証対象の製品に含まれる。製品は、アクセス時に半導体装置２０の認証コードをホスト１０に出力し、半導体装置２０が正規品であると認証された時のみ、所定のサービスが受けられ、非正規品と認証された場合には、所定のサービスの提供が拒否される。半導体装置２０またはそれを含む製品と、ホスト１０の間の認証コードの送信は、半導体装置２０またはそれを含む製品を、ホスト１０に有線信号経路で接続して行っても、専用または汎用の無線信号経路で接続して行ってもよい。
【００３７】
図９は、第２実施形態の認証システムにおける認証処理を示すフローチャートである。また、図１０は、第２実施形態の認証システムにおける認証処理を示すタイムチャートである。図９および図１０を参照して、第２実施形態における認証処理を説明する。
【００３８】
ステップＳ１１は、図１０のタイムチャートの（１）の期間で、通常動作モードであり、ＭＯＤＥ＝“Ｌ”であり、セレクタ群Ｍ１１〜Ｍ２３は、メインロジック２１からのデータが拡張版ＲＳラッチ回路２２１〜２２８に入力するように選択する。ここで、拡張版ＲＳラッチ回路２２１〜２２８の入力データＡには、メインロジック２１から固定値“Ｈ”が入力される。したがって、ＳＥＴ、ＲＥＳＥＴおよびＩＮは、“Ｈ”でも、“Ｌ”でもよい。ＯＵＴ１〜ＯＵＴ８は、メインロジック２１の動作に応じて変化する。
【００３９】
ステップＳ１２では、図１０のタイムチャートの（２）のタイミングで、認証モードに切り替えられ、ＭＯＤＥは“Ｌ”から“Ｈ”に変化し、ＩＮ＝“Ｈ”に設定される。これにより、セレクタ群Ｍ１１〜Ｍ２３は、ＳＥＴ、ＲＥＳＥＴおよびＩＮが、拡張版ＲＳラッチ回路２２１〜２２８に、Ｓ、ＲおよびＡとして入力するように選択する。ＩＮ＝“Ｈ”のためＡ＝“Ｈ”であり、拡張版ＲＳラッチ回路２２１〜２２８は、ＲＳラッチとして動作する。
【００４０】
ステップＳ１３では、図１０のタイムチャートの（３−１）〜（３−４）に示すように、ＳＥＴおよびＲＥＳＥＴを適宜設定して、拡張版ＲＳラッチ回路２２１〜２２８にＲＳラッチ動作を行わせる。これは、ＭＯＤＥを“Ｈ”に変化させた後、どの時点で認証コードの出力を行うかを分かりにくくするためであり、サイクル数は任意に設定すればよい。図１０では、（３−１）でセット動作を行い、（３−２）でその状態をラッチし、（３−３）でリセット動作を行い、（３−４）でその状態をラッチしている。
【００４１】
ステップＳ１４では、図１０のタイムチャートの（４）に示すように、ＩＮ＝“Ｌ”として認証コードの出力のためのプリセット動作を行い、Ｘ１およびＸ２を“Ｈ”とする。この時、ＭＯＤＥは“Ｈ”を維持し、ＳおよびＲは“Ｌ”とする。
【００４２】
ステップＳ１５では、図１０のタイムチャートの（５）に示すように、ＩＮ＝“Ｈ”とし、ＳおよびＲは“Ｌ”とするので、駆動能力の違いにより拡張版ＲＳラッチ回路２２１〜２２８の出力データＸ１およびＸ２が所定のデータとなり、認証コードが出力される。この時、ＭＯＤＥは“Ｈ”を維持する。
【００４３】
ステップＳ１６では、拡張版ＲＳラッチ回路２２１〜２２８の出力データＸ１およびＸ２が所定のデータとなり、認証コードのパラレルデータＯＵＴ１〜ＯＵＴ８として出力されるので、ホスト１０が、基準コードと一致するか確認する認証処理を行う。
【００４４】
ステップＳ１７では、ステップＳ１１からＳ１７を複数回繰り返し、複数回すべてで、ホスト１０が、認証コードと基準コードが一致することを確認すると、正規品であるとの認証が終了する。もし一回でも認証コードと基準コードが一致しない場合には、非正規品であると判定する。
【００４５】
ここで、第１実施形態の拡張版ＲＳラッチ回路を使用していれば、認証コードは常に同じであり、上記の複数回の認証コードと基準コードの一致判定はすべて一致となる。しかし、第１実施形態の拡張版ＲＳラッチ回路を使用していない場合、言い換えれば、トランジスタの駆動能力が正しく設定されていない場合、拡張版ＲＳラッチ回路２２１〜２２８の出力データＸ１およびＸ２は一定でない。そのため、複数回の認証コードと基準コードの一致判定ですべて一致することはないので、非正規品であると判定することができる。
【００４６】
なお、図１０のタイムチャートでは、（３−１）〜（３−４）で、ＳＥＴおよびＲＥＳＥＴを適宜設定して、拡張版ＲＳラッチ回路２２１〜２２８にＲＳラッチ動作を行わせている。そこで、このＲＳラッチ動作による状態を外部に出力し、それをホスト１０で確認して、拡張版ＲＳラッチ回路２２１〜２２８が正常に動作していることを確認するようにしてもよい。具体的には、図１０の（３−２）のセット動作の状態を維持している時、および（３−４）のリセット動作の状態を維持している時の出力データＯＵＴ１〜ＯＵＴ８について、ホスト１０で確認する。
【００４７】
さらに、認証コードの生成に使用しない第１実施形態の拡張版ＲＳラッチ回路を、メインロジック２１を形成する回路要素として使用してもよい。また、認証コードの生成にのみ使用する第１実施形態の拡張版ＲＳラッチ回路で、メインロジック２１を形成する回路要素として使用しないものを設けてもよい。これらにより、認証コードの生成に使用する拡張版ＲＳラッチ回路の特定を一層難しくすることができる。
【００４８】
図１１の（Ａ）は、第３実施形態の認証システムが認証対象とする半導体装置に含まれるスキャン機能を付加した拡張版ＲＳラッチ回路（以下、拡張版スキャンフリップフロップと称する）の回路図である。図１１の（Ｂ）は、拡張版スキャンフリップフロップを表すシンボルを示す。
【００４９】
図１１の（Ａ）に示すように、拡張版スキャンフリップフロップは、第１実施形態の拡張版ＲＳラッチ回路ＥＸＲＳと、２個のＡＮＤ回路ＡＮＤ１およびＡＮＤ２と、１個のインバータＩｎｖ５と、セレクタＳ３と、を有する。拡張版スキャンフリップフロップは、通常動作時には、セレクタＳ３は、選択信号Ｓに応じて入力データＤを選択するように動作し、Ａは“Ｈ”で、ＥＸＲＳは一般のスキャンフリップフロップとして動作する。拡張版スキャンフリップフロップは、認証モード時には、セレクタＳ３は、選択信号Ｓに応じてスキャン入力ＳＩを選択するように動作し、クロックＣＫおよびＡを制御して、認証データの読み出しと、読み出した認証データのスキャン動作を行う。
【００５０】
図１２は、第３実施形態の認証システムを示す図である。第３実施形態の認証システムは、図１１の拡張版スキャンフリップフロップを使用して不正な複製を防止する機能を形成した半導体装置を、正規品であるか否か認証する。
【００５１】
図１２に示すように、第３実施形態の認証システムは、ホスト１０と、認証対象の半導体装置２０と、を有する。ホスト１０は、第２実施形態と同じであるが、認証コードがシリアルデータとして入力されることが異なる。
【００５２】
半導体装置２０は、図１１の拡張版スキャンフリップフロップ２３１〜２３４を使用したことが、第２実施形態の認証対象の半導体装置２０と異なる。拡張版スキャンフリップフロップ２３１〜２３４を使用するため、第２実施形態で設けたセレクタは不要である。拡張版スキャンフリップフロップ２３１〜２３４は、入力データＤとしてメインロジック２１からのデータが入力され、選択信号Ｓ、クロック信号ＣＫおよび制御信号Ａとして外部から制御信号ＭＯＤＥ、ＣＫおよびＩＮが入力される。また、初段の拡張版スキャンフリップフロップ２３１のスキャン入力ＳＩに外部からのスキャン入力ＩＳＩが入力される。さらに、拡張版スキャンフリップフロップ２３２〜２３４は、前段の拡張版スキャンフリップフロップの出力データＸ１またはＸ２が入力される。認証モード時、拡張版スキャンフリップフロップ２３１〜２３４は、シフトレジスタとして動作し、生成した認証コードをシリアルデータとして伝送し、ホスト１０に出力する。図１２の例では、拡張版スキャンフリップフロップ２３１の出力データＸ１が次段に、拡張版スキャンフリップフロップ２３２〜２３４の出力データＸ２が次段（出力端子）に、それぞれ出力される。
【００５３】
図１３は、第３実施形態の認証システムにおける認証処理を示すフローチャートである。また、図１４は、第３実施形態の認証システムにおける認証処理を示すタイムチャートである。図１３および図１４を参照して、第３実施形態における認証処理を説明する。
【００５４】
ステップＳ２１は、図１４のタイムチャートの（１）の期間で、通常動作モードである。この時、ＭＯＤＥ＝“Ｌ”であり、ＩＮ＝“Ｈ”であり、各拡張版スキャンフリップフロップのセレクタＳ３は、メインロジック２１からのデータが各拡張版スキャンフリップフロップに入力するように選択する。拡張版スキャンフリップフロップ２３１〜２３４の出力Ｘ１１、Ｘ２２、Ｘ３２およびＸ４２は、メインロジック２１の動作に応じて変化する。
【００５５】
ステップＳ２２では、図１４のタイムチャートの（２）のタイミングで、認証モードに切り替えられ、ＭＯＤＥは“Ｌ”から“Ｈ”に変化し、ＩＮは“Ｈ”が維持される。これにより、各拡張版スキャンフリップフロップのセレクタＳ３は、ＳＩを選択するように切り替えられる。ＩＮ＝“Ｈ”のためＡ＝“Ｈ”であり、拡張版スキャンフリップフロップ２３１〜２３４は、通常のスキャンフリップフロップとして動作する。
【００５６】
ステップＳ２３では、図１４のタイムチャートの（３）の期間で、ＣＫを周期的に変化させ、ＳＩを適宜設定して、拡張版スキャンフリップフロップ２３１〜２３４にＲＳラッチ動作を行わせる。前述のように、この動作は、ＭＯＤＥを“Ｈ”に変化させた後、どの時点で認証コードの出力を行うかを分かりにくくするためであり、サイクル数は任意に設定すればよい。
【００５７】
ステップＳ２４では、図１４のタイムチャートの（４）に示すように、ＩＮ＝“Ｌ”として認証コードの出力のためのプリセット動作を行い、各拡張版スキャンフリップフロップのＸ１およびＸ２を“Ｈ”とする。この時、ＭＯＤＥは“Ｈ”を維持し、ＳＩは“Ｌ”とする。
【００５８】
ステップＳ２５では、図１４のタイムチャートの（５）に示すように、ＩＮ＝“Ｈ”に変化させる。この時、ＳＩは“Ｌ”であるので、駆動能力の違いにより拡張版スキャンフリップフロップ２３１〜２３４の出力データＸ１１、Ｘ２２、Ｘ３２およびＸ４２が所定のデータとなる。そして、ＣＫを周期的に変化させ、拡張版スキャンフリップフロップ２３１〜２３４がシフト動作を行い、出力データＸ１１、Ｘ２２、Ｘ３２およびＸ４２をシリアルデータとして出力する。この間、ＭＯＤＥは“Ｈ”に維持され、ＳＩはどのような値でもよい。
【００５９】
ステップＳ２６では、上記のシリアルデータが、認証コードとして出力されるので、ホスト１０が、基準コードと一致するか確認する認証処理を行う。
【００６０】
ステップＳ２７では、ステップＳ２１からＳ２７を複数回繰り返し、複数回すべてで、ホスト１０が、認証コードと基準コードが一致することを確認すると、正規品であるとの認証が終了する。もし一回でも認証コードと基準コードが一致しない場合には、非正規品であると判定する。複数回処理を繰り返す理由は、第２実施形態と同じ理由である。
【００６１】
図１５は、第３実施形態の認証システムの変形例を示す図である。この変形例では、半導体装置２０は、第３実施形態と同様に、図１１の拡張版スキャンフリップフロップ２３１〜２３４を使用するが、認証コードの出力は、パラレルデータとして行うことが異なる。認証コードのパラレルデータは、通常動作時にはメインロジック２１からの出力データを外部に出力するデータ入出力端子を利用して行う。そのため、メインロジック２１からの出力データと認証コードのパラレルデータの一方を選択してデータ入出力端子に出力する複数（ここでは４個）のセレクタＭ１〜Ｍ４を設ける。セレクタＭ１〜Ｍ４は、ＭＯＤＥに応じて選択を切り替え、通常動作時にはメインロジック２１からの出力データを選択し、認証モード時には認証コードのパラレルデータを選択する。
【００６２】
図１６は、図１５の第３実施形態の認証システムの変形例における認証処理を示すタイムチャートである。図１６の（４）で、第３実施形態と同様にプリセット動作を行い、認証コードのパラレルデータを生成した後、（５）でパラレルデータとして外部に出力することが、図１４のタイムチャートと異なる。第３実施形態の認証システムの変形例では、認証コードをパラレルデータとして出力するので、認証処理に要する時間を短くできる。
【００６３】
上記の第２実施形態、第３実施形態および変形例の認証システムでは、半導体装置内で発生した認証コードは、外部のホストに送られ、ホストで認証処理が行われた。認証の結果、半導体装置が不正規品の場合には、ホストは、半導体装置またはそれを含む装置からのアクセスを拒否するようにした。
【００６４】
一方、半導体装置内部に認証コードの判定回路設け、不正にコピーされた場合には、半導体装置自体が動作しないようにすることも可能である。次に説明する第４実施形態は、半導体装置内部に認証コードの判定回路を設けた例である。
【００６５】
図１７は、第４実施形態の認証システムにおける認証対象の半導体装置を示す図である。第４実施形態の半導体装置２０は、内部に認証コード判定回路２４を設け、読み出した認証コードを外部に出力せずに、半導体装置２０の内部で正規の認証コードであるか判定することが、第３実施形態の変形例と異なる。図１７では、図１１の拡張版スキャンフリップフロップ２３１〜２３４を使用し、読み出した認証データはパラレルデータとして認証コード判定回路２４に送られるが、図６の拡張版ＲＳラッチ回路を使用することも可能である。
【００６６】
第４実施形態の半導体装置２０は、図１７に示すように、内部に基準コードを記憶するＲＥＦＣＯＤＥ記憶回路２５、を有する。ＲＥＦＣＯＤＥ記憶回路２５は、製造段階で、ハードウエアにより、例えばＲＯＭや不揮発メモリなどの形式で作られ、固定の基準コードを出力するものであればよい。第４実施形態の半導体装置２０では、認証コードは注入イオン濃度により設定されたトランジスタの駆動能力の違いにより設定される値であり、回路の光学的な解析によるコピーでは再現できない。そのため、光学的な解析によるコピーで基準コードが再現されても、認証コードとは一致しないため、ＲＥＦＣＯＤＥ記憶回路２５は不一致の判定結果を出力する。半導体装置２０は、判定結果が不一致の場合には、それ以上の動作を停止するように作られるので、不正コピーを抑制することができる。
【００６７】
なお、第４実施形態の半導体装置２０で、ＲＥＦＣＯＤＥ記憶回路２５をメモリとし、半導体装置の製品番号等から基準コードの情報を得て、外部からＲＥＦＣＯＤＥ記憶回路２５に基準コードを書き込むようにしてもよい。また、ＲＥＦＣＯＤＥ記憶回路２５を設けず、外部から基準コードを入力し、半導体装置２０内から読み出した認証コードが、外部から入力された基準コードに一致する場合にのみ、動作するようにしてもよい。第４実施形態の半導体装置２０は、ホストからの外部信号ＭＯＤＥに応じて認証処理を開始し、ホストからＳＩ、ＣＫ、およびＩＮを入力することにより、認証処理を制御する。
【００６８】
図１８は、第４実施形態の半導体装置２０における認証処理を示すフローチャートである。ステップＳ３５で、認証コードをパラレルデータとして出力すること、およびステップＳ３６で、認証コード判定回路２４が、半導体装置２０内で認証処理を行うことが、図１３のフローチャートと異なり、他は同じである。
【００６９】
図１９は、第５実施形態の認証システムを示す図である。第５実施形態の認証システムは、半導体装置２０で認証コードを生成する拡張版スキャンフリップフロップの一部に、ダミー拡張版スキャンフリップフロップを含むことが、第３実施形態と異なる。
【００７０】
図１９に示すように、半導体装置２０は、図１１の（Ｂ）に示した拡張版スキャンフリップフロップ２３１、２３３および２３４と、ダミー拡張版スキャンフリップフロップ２３２Ｄと、を有する。ダミー拡張版スキャンフリップフロップ２３２Ｄは、拡張版スキャンフリップフロップ２３１、２３３および２３４と、第３実施形態と同様に接続される。
【００７１】
ダミー拡張版スキャンフリップフロップ２３２Ｄは、拡張版スキャンフリップフロップと同様の回路構成を有するが、注入イオン濃度による駆動能力の違いがなく、不定状態から保持状態にした時に、どのような状態になるか一定でない。そのため、認証コードの読み出しを行うと、拡張版スキャンフリップフロップ２３１、２３３および２３４からは所定データが常に出力されるが、ダミー拡張版スキャンフリップフロップ２３２Ｄの出力値は、試行を行う度に“Ｈ”が出るか“Ｌ”が出るか一意に決まらない。
【００７２】
第５実施形態の認証システムでは、認証処理は、第３実施形態と同様に行う。半導体装置２０からホスト１０に出力される認証コードのシリアルデータには、ダミー拡張版スキャンフリップフロップ２３２Ｄの出力データが含まれ、“Ｈ”が出るか“Ｌ”が出るか一意に決まらない。シリアルデータにおけるダミー拡張版スキャンフリップフロップ２３２Ｄの出力データの位置はあらかじめ分かっているので、ホスト１０は、ダミー拡張版スキャンフリップフロップ２３２Ｄの出力データを除いた認証コードと基準コードが一致するか判定する。第５実施形態では、認証コードが出力されることが分かっても、その中に試行を行う度に“Ｈ”が出るか“Ｌ”が出るか一意に決まらないデータが含まれるため、認証コードの出力を判別するのが難しくなり、その分コピーを難しくする。
【００７３】
図２０は、第５実施形態の認証システムにおける認証処理を示すタイムチャートである。ダミー拡張版スキャンフリップフロップ２３２Ｄの出力データＸ２２が不定（×）であることが、図１４の第３実施形態の認証システムのタイムチャートと異なる。
【００７４】
上記の第２実施形態、第３実施形態および第３実施形態の変形例の認証システムでは、半導体装置内で発生した認証コードは、外部のホストに送るため、そのまま出力された。言い換えれば、半導体装置から、認証コードが平文で出力された。そのため、認証コードが出力されるタイミングが分かると、認証コードが容易に判明することになる。判明した認証コードに基づいて、半導体装置の回路を解析すると、認証コードを記憶した拡張版ＲＳラッチ回路または拡張版スキャンフリップフロップの位置の探索が容易になり、それにより認証コードを含めてコピーが容易になる。そのため、認証コードを外部に出力する場合でも、正規の認証コードが分からないようにすることが望ましい。次に説明する第６実施形態では、このような要望を実現する。
【００７５】
図２１は、第６実施形態の認証システムを示す図である。第６実施形態の認証システムは、ホスト１０と、認証対象の半導体装置２０と、を有する。ホスト１０は、認証対象の半導体装置２０の認証コードを共通鍵として記憶している。
【００７６】
第６実施形態の認証システムでは、以下の一連の認証処理を行う。ホスト１０は、（１）発生した乱数を半導体装置２０に送付する。半導体装置２０は、（２）内部から読み出した認証コードを共通鍵として用いて、送付された乱数を暗号化する。さらに、半導体装置２０は、（３）暗号化した乱数を、ホスト１０に送付する。ホスト１０は、（４）記憶している認証コードで送付された暗号化済みの乱数を復号化する。さらに、ホスト１０は、復号化した乱数が、送付した乱数と一致するか判定する。一致すれば、正規の認証コードで暗号化されたと分かるので、半導体装置２０が正規品であると判定し、不一致であれば、非正規品と判定する。
【００７７】
図２２は、第６実施形態の認証システムにおける半導体装置２０の構成を示す図である。第６実施形態における半導体装置２０は、暗号化回路２６を有することが、図１２に示した第３実施形態の半導体装置２０と異なる。暗号化回路２６は、拡張版スキャンフリップフロップ２３１〜２３４の出力する認証コードで、ホスト１０から送付された乱数ＲＡＮＤを暗号化し、暗号化済みの乱数をホスト１０に送付する。暗号化済みの乱数のホスト１０への送付、およびホスト１０から半導体装置２０への乱数の送付は、シリアルデータの形で行っても、パラレルデータの形で行ってもよい。
【００７８】
図２３は、第７実施形態の認証システムを示す図である。第７実施形態の認証システムは、半導体装置２０がハッシュ関数処理回路２７を有することが、第６実施形態と異なる。ホスト１０は、半導体装置２０のハッシュ関数処理回路２７と同じハッシュ関数を記憶している。ハッシュ関数処理回路２７は、ホスト１０から送付された乱数ＲＡＮＤと、拡張版スキャンフリップフロップ２３１〜２３４の出力する認証コードをハッシュ関数にかけてハッシュ値を算出し、ハッシュ値をホスト１０に送付する。ホスト１０は、半導体装置２０に送付した乱数ＲＡＮＤと、記憶している基準コードをハッシュ関数にかけてハッシュ値を算出し、算出したハッシュ値と送付されたハッシュ値が一致するか判定する。
【００７９】
図２４は、第７実施形態の認証システムにおける認証動作を示すフローチャートである。ステップＳ４１からＳ４５は、図９の第２実施形態のＳ１１からＳ１５と同じである。
【００８０】
ステップＳ４６では、ハッシュ関数処理回路２７は、ホスト１０から送付された乱数ＲＡＮＤと、拡張版スキャンフリップフロップ２３１〜２３４の出力する認証コードをハッシュ関数にかけてハッシュ値を算出し、ハッシュ値をホスト１０に送付する。
【００８１】
ステップＳ４７では、ホスト１０は、半導体装置２０に送付した乱数ＲＡＮＤと、記憶している基準コードをハッシュ関数にかけてハッシュ値を算出し、算出したハッシュ値と送付されたハッシュ値が一致するか判定し、認証処理を実施する。
ステップ４８では、第１実施形態と同様に、ステップＳ４１からＳ４７を繰り返す。
【００８２】
図１７の第４実施形態では、半導体装置２０の内部に認証コード判定回路２４を設け、半導体装置２０の内部で正規の認証コードであるか判定したが、認証処理自体は、ホスト１０から起動されて制御される。これに対して、次に説明する第８実施形態では、半導体装置２０自体が、起動時などに自動的に認証処理を実行し、認証結果が不一致の場合には、自動的に動作を停止する。
【００８３】
図２５は、第８実施形態の半導体装置２０を示す図である。第８実施形態の半導体装置２０は、第４実施形態と同様に、認証コード判定回路２４と、基準コードを記憶したＲＥＦＣＯＤＥ記憶回路２５と、を有し、さらに認証動作を制御する制御回路２９と、を有する。制御回路２９は、半導体装置２０の起動時に自動的に認証処理を起動するか、外部からの要求に応じて認証処理を起動するように、制御を行う。制御回路２９は、第２から第７実施形態でホスト１０が出力した制御信号ＭＯＤＥ、ＳＩ、ＣＫおよびＩＮを発生し、半導体装置２０内の各部に印加する。処理動作自体は、他の実施形態と同じなので、説明は省略する。
【００８４】
第２から第８実施形態では、製造段階で第１実施形態の拡張版ＲＳラッチ回路を半導体装置に組み込むことにより、半導体装置が非正規品であることを検出可能にした。しかし、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路は、これに限定されず、秘密の基準コードを生成する回路として使用できる。以下、このような応用例を説明する。
【００８５】
図２６は、コード記憶回路を使用するホストの構成を示す図であり、（Ａ）が第９実施形態の認証システムの場合の例を、（Ｂ）が第１０実施形態の暗号処理システムの場合の例を示す。
図２６の（Ａ）では、第９実施形態のホスト３０は、外部からの認証要求と共に入力される認証コードが正規のコードであるか認証する。ホスト３０は、半導体装置３１を含み、図示していないが他の半導体装置を含んでもよい。半導体装置３１は、基準コード記憶回路３２と、認証回路３３と、認証制御回路３４と、を有し、認証処理機能を実現する。基準コード記憶回路３２は、外部から入力される認証コードが正規であるか判定するのに必要な基準コードを記憶しており、基準コードの少なくとも一部は、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路により記憶されている。
【００８６】
認証制御回路３４は、外部からの認証要求に応じて、基準コード記憶回路３２を起動する起動信号を出力する。基準コード記憶回路３２は、起動信号に応じて、コード記憶回路に記憶されている基準コードを読み出し、認証回路３３に出力する。認証回路３３は、外部から入力される認証コードと、基準コード記憶回路３２から出力される基準コードを比較して一致するか否か判定し、判定結果を認証結果として認証制御回路３４に出力する。認証回路３３における一致判定処理は、各種の変形例があり、認証コードと基準コードが直接一致するか判定する処理に限定されない。
【００８７】
図２６の（Ａ）の例では、基準コード記憶回路３２は、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路により基準コードを記憶している。通常、ホストは、基準コードをメモリに記憶し、外部からは基準コードを記憶したメモリ部分にはアクセス不能にして、基準コードを秘匿している。しかし、基準コードがメモリに記憶されていることが分かっている場合には、基準コードを記憶したメモリの入出力信号を監視するなどの手法により、不正に基準コードを知ることができる。また、基準コードを記憶するメモリが、ハードウエアによる固定メモリの場合には、不正に入手したホスト３０の半導体装置を光学的に解析することにより基準コードを解析することも可能である。これに対して、
図２６の（Ａ）に示した第９実施形態の認証システムでは、基準コード記憶回路３２は、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路により基準コードを記憶している。そのため、通常の回路として動作する部分に対して所定のコード読み出し動作を行うことにより出力されるコードを基準コードとして利用しているため、回路内でコードを記憶している部分の特定が難しい。さらに、動作シーケンスも、メモリからのデータの読み出しに比べて複雑であり、コード読み出しのタイミングの特定も難しい。このような理由で、第９実施形態の認証システムは、秘密の基準コードを、これまで以上の高い秘匿性で保持することが可能である。
【００８８】
図２６の（Ｂ）の第１０実施形態の暗号処理システムでは、ホスト４０は、外部からの暗号処理された暗号データの処理要求を受け、復号処理した上でデータ処理を行う。ホスト４０は、半導体装置４１を含み、図示していないが他の半導体装置を含んでもよい。半導体装置４１は、内部に暗号コード記憶回路４３を含む通常処理回路４２と、復号処理回路４４と、暗号処理制御回路４５と、を有する。暗号コード記憶回路４３は、外部から入力される暗号データを復号するのに必要な暗号コードを記憶しており、暗号コードの少なくとも一部は、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路により記憶されている。
【００８９】
制御回路４５は、外部からの暗号データの処理要求に応じて、暗号コード記憶回路４３および復号処理回路４４を起動する起動信号を出力する。暗号コード記憶回路４３は、起動信号に応じて暗号コードを読み出し、復号処理回路４４に出力する。復号処理回路４４は、外部から入力される暗号データを、暗号コード記憶回路４３から出力される暗号コードに基づいて復号し、平文のデータを通常処理回路４２に渡す。通常処理回路４２は、平文のデータに対して、通常の処理を行う。
【００９０】
第１０実施形態は、第９実施形態と同様に、秘密の暗号コードを、これまで以上の高い秘匿性で保持することが可能である。
【００９１】
図２７は、第９および第１０実施形態において、基準コード記憶回路３２または暗号コード記憶回路４３が、基準コードまたは暗号コードを記憶する形態を説明する図である。図２７に示すように、基準コード記憶回路３２または暗号コード記憶回路４３は、ハードウエア固定コード記憶回路５１と、ユーザ設定コード記憶回路５２と、合成回路５３と、を有する。ハードウエア固定コード記憶回路５１は、第１実施形態の拡張版ＲＳラッチ回路を利用したコード記憶回路であり、固定コードを記憶しており、拡張版ＲＳラッチ回路に対して所定の動作を行うことにより、記憶している固定コードを出力する。ユーザ設定コード記憶回路５２は、例えば、アクセス権を有するユーザのみがアクセスできる書換え可能な不揮発性メモリで形成され、ユーザが任意に設定可能なユーザ設定コードを記憶する。合成回路５３は、ハードウエア固定コード記憶回路５１から出力される固定コードと、ユーザ設定コード記憶回路５２から出力されるユーザ設定コードを合わせて、合成コードまたは暗号コードとして出力する。
【００９２】
合成回路５３における合成方法は、各種の例が可能である。例えば、２つのコードを組み合わせて合成コードとしても、２つのコードの一方で他方のコードを暗号処理した結果を合成コードとしても、２つのコードをハッシュ関数に掛けた結果を合成コードとしてもよい。
【００９３】
第９および図１０実施形態で、図２７に示したコード記憶回路を使用することにより、製造者とユーザの間での秘密コードの秘匿性を向上できる。半導体装置は、ユーザ設定コード記憶回路５２にユーザ設定コードを記憶するには、ハードウエア固定コード記憶回路５１に設定したコードを入力することが必要であるように作られる。製造者は、製造段階でハードウエア固定コード記憶回路５１を設定し、設定したコードをユーザに知らせる。もちろん、ハードウエア固定コード記憶回路５１に設定したコードは、製造者の責任で秘匿される。半導体装置を供給されたユーザは、製造者から知らされたハードウエア固定コード記憶回路５１に設定したコードを利用して、ユーザ設定コード記憶回路５２に、ユーザが独自に決定したユーザ設定コード設定する。これにより、製造者は、図２７に示したコード記憶回路の出力するコードを知ることができなくなり、コード記憶回路の出力するコードが漏洩した場合でも、製造者から情報が漏洩した可能性を低減できる。
【００９４】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【００９５】
以下、実施形態に関し、更に以下の付記を開示する。
（付記１）
複数のトランジスタと、
複数の入力ノードと、
少なくとも１つの出力ノードと、を備え、
前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、
前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、
前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、
前記少なくとも１つの出力データは、前記論理的には不定状態でも、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなることを特徴とする論理回路。
（付記２）
前記複数のトランジスタは、注入イオン濃度が異なることにより前記駆動能力が異なる付記１記載の論理回路。
（付記３）
当該論理回路は、ＲＳフリップフロップを含む付記１または２記載の論理回路。
（付記４）
コードを発生するコード発生回路であって、
少なくとも１つのコード要素発生回路を備え、
前記コード要素発生回路は、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態であっても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなり、
前記コードを、各コード要素発生回路の前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記少なくとも１つのコード要素発生回路の出力データから生成することを特徴とするコード発生回路。
（付記５）
前記複数のトランジスタは、注入イオン濃度が異なることにより前記駆動能力が異なる付記４記載のコード発生回路。
（付記６）
当該論理回路は、ＲＳフリップフロップを含む付記４または５記載のコード発生回路。
（付記７）
複数のコード要素発生回路を含み、
前記複数のコード要素発生回路の出力データから前記コードを生成する付記４から６のいずれか１項記載のコード発生回路。
（付記８）
付記７記載のコード発生回路を含む半導体装置。
（付記９）
基準コードを記憶する基準コード記憶回路と、
前記複数のコード要素発生回路の出力データから生成した認証コードを、前記基準コードと比較して一致するか判定する判定回路と、を備え、
前記判定回路の判定結果が不一致の場合には、内部機能を停止状態にする付記８記載の半導体装置。
（付記１０）
前記複数のコード要素発生回路の出力データをシリアルデータに変換するスキャン回路を備え、前記シリアルデータを外部に出力する付記８記載の半導体装置。
（付記１１）
前記コード要素発生回路と同じ回路構成で、前記複数の入力データを所定の状態にしても出力データが不定状態であるダミーコード要素発生回路を備え、
前記スキャン回路は、前記ダミーコード要素発生回路の出力データを含めて前記シリアルデータを生成する付記１０記載の半導体装置。
（付記１２）
前記複数のコード要素発生回路の出力データをパラレルデータとして外部に出力する付記９記載の半導体装置。
（付記１３）
前記コード要素発生回路と同じ回路構成で、前記複数の入力データを所定の状態にしても出力データが不定状態であるダミーコード要素発生回路を備え、
前記パラレルデータには、前記ダミーコード要素発生回路の出力が含まれる付記１２記載の半導体装置。
（付記１４）
前記複数のコード要素発生回路の出力データを暗号化処理する暗号化回路を、備え、
前記暗号化回路で暗号化した前記複数のコード要素発生回路の出力データを、外部に出力する付記８、１０から１３のいずれか１項記載の半導体装置。
（付記１５）
前記複数のコード要素発生回路の出力データと、外部から入力された乱数をハッシュ関数に乗じて、ハッシュ値を算出するハッシュ関数回路を、備え、
前記ハッシュ関数回路で演算したハッシュ値を外部に出力する付記８、１０から１３のいずれか１項記載の半導体装置。
（付記１６）
付記８、１０から１３のいずれか１項に記載の半導体装置を認証対象とし、認証対象の半導体装置が正規のものであるか認証する認証装置であって、
基準コードを記憶する基準コード記憶回路と、
前記認証対象の半導体装置の出力する前記複数のコード要素発生回路の出力データと、前記基準コードを比較して一致するか判定する判定回路と、を備える認証装置。
（付記１７）
付記１４記載の半導体装置を認証対象とし、認証対象の半導体装置が正規のものであるか認証する認証装置であって、
基準コードを記憶する基準コード記憶回路と、
前記認証対象の半導体装置の出力する暗号化した前記複数のコード要素発生回路の出力データを解読して復号する復号化回路と、
復号化した前記複数のコード要素発生回路の出力データと、前記基準コードを比較して一致するか判定する判定回路と、を備える認証装置。
（付記１８）
付記１５記載の半導体装置を認証対象とし、認証対象の半導体装置が正規のものであるか認証する認証装置であって、
基準コードを記憶する基準コード記憶回路と、
乱数を認証対象の半導体装置に送信する乱数送信回路と、
前記乱数をハッシュ関数に乗じて、基準ハッシュ値を算出するハッシュ値算出回路と、
前記認証対象の半導体装置の出力するハッシュ値と、前記基準ハッシュ値を比較して一致するか判定する判定回路と、を備える認証装置。
（付記１９）
基準コードを記憶する基準コード記憶回路と、
外部からの認証要求に応じて、前記基準コード記憶回路から読み出した前記基準コードと、前記認証要求に伴い入力される認証コードを比較して一致するか判定する認証回路と、を備え、
前記基準コード記憶回路は、付記７記載のコード発生回路を含むことを特徴とする認証装置。
（付記２０）
前記基準コード記憶回路は、
付記７記載のコード発生回路と、
ユーザが設定したユーザ設定コードを記憶するユーザ設定コード記憶回路と、
前記コード発生回路の出力する固定コードおよび前記ユーザ設定コードを合成して合成コードを出力する合成回路と、を備え、
前記合成コードを前記基準コードとして出力する付記１９記載の認証装置。
（付記２１）
暗号コードを記憶する暗号コード記憶回路と、
外部からの暗号処理要求に応じて、前記暗号コード記憶回路から読み出した前記暗号コードに基づいて、前記暗号処理要求に伴い入力される暗号データを復号判定する復号処理回路と、を備え、
前記暗号コード記憶回路は、付記７記載のコード発生回路を含むことを特徴とする暗号処理装置。
（付記２２）
前記暗号コード記憶回路は、
付記７記載のコード発生回路と、
ユーザが設定したユーザ設定暗号コードを記憶するユーザ設定暗号コード記憶回路と、
前記コード発生回路の出力する固定暗号コードおよび前記ユーザ設定暗号コードを合成して合成暗号コードを出力する合成回路と、を備え、
前記合成暗号コードを前記基準コードとして出力する付記２１記載の暗号処理装置。
（付記２３）
コードを発生するコード発生方法であって、
複数のトランジスタと、複数の入力ノードと、少なくとも１つの出力ノードと、を備え、前記複数の入力ノードに入力される複数の入力データに対して、所定の論理演算により決定される少なくとも１つの出力データを、前記少なくとも１つの出力ノードに出力し、前記所定の論理演算によれば、前記複数の入力データを所定の状態にすると、前記少なくとも１つの出力データは論理的には不定状態となり、前記複数のトランジスタは、駆動能力の異なるトランジスタを含み、前記少なくとも１つの出力データは、前記論理的には不定状態であっても、前記複数のトランジスタの前記駆動能力が異なることにより、所定の出力データとなる少なくとも１つのコード要素発生回路に対して、前記複数の入力データを所定の状態にして論理的には不定状態になるようにした時の前記少なくとも１つのコード要素発生回路の出力データから、前記コードを生成することを特徴とするコード発生方法。
（付記２４）
前記複数のトランジスタは、注入イオン濃度が異なることにより前記駆動能力が異なる付記２３記載のコード発生方法。
（付記２５）
当該論理回路は、ＲＳフリップフロップを含む付記２３または２４記載のコード発生方法。
（付記２６）
複数の前記コード要素発生回路の出力データから前記コードを生成する付記２３から２５のいずれか１項記載のコード発生方法。
（付記２７）
記憶されている基準コードを読み出し、
付記２６記載のコード発生方法で、認証コードを発生し、
前記認証コードを、前記基準コードと比較して一致するか判定する認証方法。
（付記２８）
付記２６記載のコード発生方法で、基準コードを発生し、
入力される認証コードを、前記基準コードと比較して一致するか判定する認証方法。
【符号の説明】
【００９６】
１０    ホスト
２０    半導体装置
２１    メインロジック
２４    認証コード判定回路
２５    ＲＥＦＣＯＤＥ記憶回路
２６    暗号化回路
２７    ハッシュ関数処理回路
２９    制御回路
３０    ホスト
３１    半導体装置
３２    基準コード記憶回路
３３    認証回路
３４    認証制御回路
４０    ホスト
４１    半導体装置
４２    通常処理回路
４３    暗号コード記憶回路
４４    復号処理回路
４５    暗号処理制御回路
２２１−２２８    拡張版ＲＳラッチ
２３１−２３４    拡張版フリップフロップ
ＰＴｒ１１〜ＰＴｒ８１    Ｐｃｈトランジスタ
ＮＴｒ１１〜ＮＴｒ８１    Ｎｃｈトランジスタ
【図１】
2014072827.tif 000003
【図２】
2014072827.tif 000004
【図３】
2014072827.tif 000005
【図４】
2014072827.tif 000006
【図５】
2014072827.tif 000007
【図６】
2014072827.tif 000008
【図７】
2014072827.tif 000009
【図８】
2014072827.tif 000010
【図９】
2014072827.tif 000011
【図１０】
2014072827.tif 000012
【図１１】
2014072827.tif 000013
【図１２】
2014072827.tif 000014
【図１３】
2014072827.tif 000015
【図１４】
2014072827.tif 000016
【図１５】
2014072827.tif 000017
【図１６】
2014072827.tif 000018
【図１７】
2014072827.tif 000019
【図１８】
2014072827.tif 000020
【図１９】
2014072827.tif 000021
【図２０】
2014072827.tif 000022
【図２１】
2014072827.tif 000023
【図２２】
2014072827.tif 000024
【図２３】
2014072827.tif 000025
【図２４】
2014072827.tif 000026
【図２５】
2014072827.tif 000027
【図２６】
2014072827.tif 000028
【図２７】
2014072827.tif 000029