"メタスタビリティ型PUF回路、前記メタスタビリティ型PUF回路が所定値を出力する頻度を検出する頻度検出部、周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部、及び前記頻度検出部により検出された頻度と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部、を備える温度センサメタスタビリティ型PUF回路と、前記メタスタビリティ型PUF回路が所定値を出力する頻度を検出する頻度検出部と、周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部と、前記頻度検出部により検出された頻度と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部と、を備える温度センサ、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する出力値生成回路、前記出力値生成回路の出力値に基づいて暗号鍵を生成する暗号鍵生成部、前記暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う暗号化処理部、及び前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記暗号化処理部を制御して前記暗号化処理の実行を禁止する暗号化処理制御部、を備える暗号化装置。前記メタスタビリティ型PUF回路が、前記出力値生成回路として共用されている請求項2に記載の暗号化装置。前記暗号鍵生成部は、前記温度判定部により判定された周囲温度が所定範囲外である場合には、前記暗号鍵の出力を禁止する請求項2又は3に記載の暗号化装置。通信ネットワークを介してサーバ装置とデータの授受を行う通信部を更に備え、前記記憶部が、前記サーバ装置に配置されている、請求項2又は3に記載の暗号化装置。前記出力値生成回路は、前記記憶部に記憶されているデータを前記通信部が受け取らない場合には、前記出力値の生成動作を停止する請求項5に記載の暗号化装置。メタスタビリティ型PUF回路が所定値を出力する頻度を検出し、周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部に記憶されている該データと、前記検出された頻度とに基づいて、周囲温度を判定し、入力値に対しての出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路の出力値に基づいて暗号鍵を生成し、前記暗号鍵を用いて情報の暗号化処理を行い、前記周囲温度の判定により判定された周囲温度が所定範囲内である場合には、前記暗号鍵を用いて情報の暗号化処理を行い、該周囲温度が該所定範囲外である場合には、該暗号化処理の実行を禁止する、暗号化方法。前記デジタル回路が、前記頻度の検出がされるメタスタビリティ型PUF回路である請求項7に記載の暗号化方法。請求項1に記載の温度センサ、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する出力値生成回路、前記出力値生成回路の出力値に基づいて個体別情報を生成する個体別情報生成部、及び前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記個体別情報生成部により生成される個体別情報の出力を禁止する個体別情報出力制御部、を備える個体別情報生成装置。前記メタスタビリティ型PUF回路が、前記出力値生成回路として共用されている請求項9に記載の個体別情報生成装置。前述したように、フォールト攻撃は、暗号化処理装置に意図的に異常を発生させることによって、装置内部に格納されている秘密情報を入手する攻撃である。PUFを用いて生成した秘密情報は、解析困難ではあるが、この秘密情報を用いて処理を行っている暗号機能に対してフォールト攻撃が行われた場合には、秘密情報が攻撃者に入手されてしまう可能性がある。そこで、暗号機能へのフォールト攻撃に対する対策が求められている。その対策のひとつに、装置の環境温度を監視して装置への温度ストレスの有無を検出するというものがある。また、クローン対策としてPUFが使用される製品例として前述したもののうちのひとつである電池は、発火事故を防止する安全上の観点から、温度の監視を行う場合がある。また、電池のクローン品には正規品に対して性能が劣っているものがあり、異常発熱による発火事故も懸念されており、温度監視が法律によって要求されている場合もある。このように、PUFが使用される場面において、併せて温度監視が求められる場合がある。温度監視に使用される温度センサはPUFとは全く異なるデバイスであるため、従来は、PUFと温度センサとは個別に実装されていた。特に、PUFは、一般的にはデジタル回路で構成されるのに対し、温度センサは一般的にはアナログ回路で構成されていた。アナログ回路はプロセスの微細化による小型化の恩恵を受けにくいと言われているため、デジタル回路であるPUFがプロセスの微細化に伴って小型化されても温度センサはそれほど小型化されず、全体としての実装コストの低下は抑制されてしまう。上述した問題に鑑み、本明細書で後述する温度センサは、デジタル回路を用いて周囲温度の検知を行えるようにする。本明細書で後述する温度センサのひとつに、メタスタビリティ型PUF回路、頻度検出部、記憶部、及び温度判定部を備えるというものがある。ここで、頻度検出部は、メタスタビリティ型PUF回路が所定値を出力する頻度を検出する。記憶部には、周囲温度とメタスタビリティ型PUF回路が所定値を出力する頻度との関係を表したデータが予め記憶されている。そして、温度判定部は、頻度検出部により検出された頻度と記憶部に記憶されているデータとに基づいて、周囲温度を判定する。また、本明細書で後述する暗号化装置のひとつに、上述した温度センサと共に、出力値生成回路、暗号鍵生成部、暗号化処理部、及び暗号化処理制御部を備えるというものがある。ここで、出力値生成回路は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路である。暗号鍵生成部は、出力値生成回路の出力値に基づいて暗号鍵を生成する。暗号化処理部は、暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う。そして、暗号化処理制御部は、温度判定部により判定された周囲温度が所定範囲外である場合に、暗号化処理部を制御して暗号化処理の実行を禁止する。また、本明細書で後述する個体別情報生成装置のひとつに、出力値生成回路、個体別情報生成部、及び個体別情報出力制御部を備えるというものがある。ここで、出力値生成回路は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する。個体別情報生成部は、出力値生成回路の出力値に基づいて個体別情報を生成する。そして、個体別情報出力制御部は、温度判定部により判定された周囲温度が所定範囲外である場合に、個体別情報生成部により生成される個体別情報の出力を禁止する。本明細書で後述する温度センサは、周囲温度の検知がデジタル回路で行えるという効果を奏する。まず図4について説明する。図4は、暗号化装置の一実施例の機能ブロック図である。図4において、暗号化装置110は温度センサ100を備えている。この温度センサ100は、メタスタビリティ型PUF回路101、頻度検出部102、記憶部103、及び温度判定部104を備えている。メタスタビリティ型PUF回路101は、前述したように、デジタル回路の不定状態を利用するPUFであり、より具体的には、例えば、前述したバタフライ型PUFやSRAM-PUFなどである。頻度検出部102は、メタスタビリティ型PUF回路101が所定値を出力する頻度を検出する。記憶部103には、周囲温度とメタスタビリティ型PUF回路101が上記の所定値を出力する頻度との関係を表したデータが予め記憶されている。温度判定部104は、頻度検出部102により検出された頻度と記憶部103に記憶されているデータとに基づいて、周囲温度を判定する。詳細は後述するが、メタスタビリティ型PUF回路101が、所定値を出力する頻度は、周囲温度に対して単調に変化する。そこで、上述したようにすることで、デジタル回路であるメタスタビリティ型PUFを用いて周囲温度の検知を行うことができるようになる。暗号化装置110は、以上のように構成されている温度センサ100と共に、出力値生成回路111、暗号鍵生成部112、暗号化処理部113、及び暗号化処理制御部114を備えている。出力値生成回路111は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路であり、より具体的には、例えば前述した各種のPUFである。暗号鍵生成部112は、出力値生成回路111の出力値に基づいて暗号鍵を生成する。暗号化処理部113は、暗号鍵生成部112により生成された暗号鍵を用いて情報の暗号化処理を行う。暗号化処理制御部114は、温度センサ100の温度判定部104により判定された周囲温度が所定範囲外である場合に、暗号化処理部113を制御して暗号化処理の実行を禁止する。このような構成を備えている暗号化装置110は、周囲温度を所定範囲外とするような温度ストレスを検知して暗号化処理の実行を禁止することで、温度ストレスによる前述のフォールト攻撃を防護することができる。なお、温度センサ100のメタスタビリティ型PUF回路101を、出力値生成回路111として共用し、暗号鍵生成部112が、メタスタビリティ型PUF回路101の出力値に基づいて暗号鍵を生成するようにしてもよい。また、暗号鍵生成部112は、温度判定部104により判定された周囲温度が所定範囲外である場合には、暗号鍵の出力を禁止するようにしてもよい。このようにすることで、フォールト攻撃に対する防護が更に強化される。また、図4において破線により表したように、暗号化装置110が、更に、通信ネットワークを介して不図示のサーバ装置とデータの授受を行う通信部115を備えるように構成してもよい。なお、このように構成する場合には、温度センサ100の記憶部103は、当該サーバ装置に配置するようにする。このようにして、暗号化装置110を構成する他の構成要素とは物理的に離れている別の場所に記憶部103を配置するように構成することで、顕微鏡等での記憶部103の観察による解析に基づいた暗号解読の可能性を低減することができる。なお、出力値生成回路111は、記憶部103に記憶されているデータを通信部115が受け取らない場合には、出力値の生成動作を停止させるようにしてもよい。このようにすることで、暗号解読のための攻撃に対する防護が更に強化される。次に図5について説明する。図5は、個体別情報生成装置の一実施例の機能ブロック図である。図5において、個体別情報生成装置120は、電子デバイスであるデバイス1に実装されて構成されており、デバイス1についての個体別情報を生成する。個体別情報生成装置120は温度センサ100を備えている。この温度センサ100は、図4の暗号化装置110が備えているものと同様に構成されており、メタスタビリティ型PUF回路101、頻度検出部102、記憶部103、及び温度判定部104を備えている。また、個体別情報生成装置120は、温度センサ100と共に、出力値生成回路121、個体別情報生成部122、及び個体別情報生成制御部123を備えている。出力値生成回路121は、図4の暗号化装置110が備えている出力値生成回路111と同様の、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路であり、より具体的には、例えば前述した各種のPUFである。個体別情報生成部122は、出力値生成回路121の出力値に基づいて個体別情報を生成する。個体別情報生成制御部123は、温度センサ100の温度判定部104により判定された周囲温度が所定範囲外である場合に、個体別情報生成部122により生成される個体別情報の出力を禁止する。このような構成を備えている個体別情報生成装置120は、周囲温度を所定範囲外とするような温度ストレスを検知して個体別情報の出力を禁止する。従って、この個体別情報を暗号鍵として用いて情報の暗号化処理を行う暗号化装置が個体別情報生成装置120に設けられていても、この暗号化装置に対する温度ストレスによる前述のフォールト攻撃を防護することができる。なお、温度センサ100のメタスタビリティ型PUF回路101を、出力値生成回路121として共用し、個体別情報生成部122が、メタスタビリティ型PUF回路101の出力値に基づいて個体別情報を生成するようにしてもよい。次に、暗号化装置110及び個体別情報生成装置120の具体的な構成について説明する。まず図6について説明する。図6は、個体別情報生成装置120を備えた暗号化装置110の構成例を図解したものである。暗号化装置110は、個体別情報生成装置120、CPU210、暗号演算器220、ROM230、RAM240、及び通信インタフェース部250を備えて構成されている。なお、これらの各構成要素はバスライン260にいずれも接続されており、CPU210による管理の下で各種のデータを相互に授受することができるように構成されている。個体別情報生成装置120は、半導体集積回路であるチップ200に実装されており、このチップ200についての個体別情報を生成する。この個体別情報生成装置120の具体的な構成については後述する。CPUCentralProcessingUnit210は、暗号化装置110の各構成要素の動作を管理する中央演算部であり、図4における暗号化処理制御部114の機能の提供も行う。暗号演算器220は、各種の情報の暗号化処理や、暗号化されているデータの復号処理を行うものであり、図4における暗号化処理部113の一例である。なお、本実施形態では、暗号演算器220は、公開鍵コプロセッサ221と共通鍵コプロセッサ222とを備えている。ここで、公開鍵コプロセッサ221は、代表的な公開鍵暗号方式であるRSA暗号や楕円曲線暗号等を用いて暗号化及び復号の処理を行う。また、共通鍵コプロセッサ222は、代表的な共通鍵暗号方式であるAES暗号等を用いて暗号化及び復号の処理を行う。なお、暗号演算器220を暗号化装置110に備える代わりに、暗号演算器220により行われる暗号化及び復号の処理を、CPU210に行わせるように構成してもよい。ROMReadOnlyMemory230には、CPU210により実行される制御プログラムや、暗号演算器220が暗号化や復号の処理において使用する固有のパラメータが予め格納されている不揮発性半導体メモリである。CPU210は、暗号化装置110への電力供給が開始されたときに、この制御プログラムをROM230から読み出してその実行を開始することで、暗号化装置110の各構成要素の動作管理を行えるようになる。RAMRandomAccessMemory240は、CPU210や暗号演算器220が各種の処理を行う際に、必要に応じて作業用記憶領域として使用する揮発性半導体メモリである。通信インタフェース部250は、サーバ装置300と通信ネットワーク310を介してデータの授受を行うものであり、図4における通信部115の一例である。つまり、通信インタフェース部250は、前述した温度センサ100の記憶部103がサーバ装置300に配置される場合に使用するものである。従って、記憶部103がチップ200上に配置される場合には、通信インタフェース部250は不要である。この暗号化装置110において、暗号演算器220は、個体別情報生成装置120が出力値生成回路111の出力値に基づいて生成した個体別情報を暗号鍵として用いて、情報の暗号化処理を行う。なお、この暗号化処理において暗号鍵として用いられた個体別情報は、この暗号化情報に対して行う復号処理にも使用される。なお、個体別情報生成装置120で生成される個体別情報を暗号鍵の生成に用いる際に、生成された個体別情報のエントロピを更に向上させるための後処理PostProcessingを行ってもよい。このために行われる後処理の一例として、線形フィードバックシフトレジスタLFSRの使用を挙げることができる。LFSRは、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるカウンタであり、個体別情報のエントロピを向上させることができる。従って、LFSRから出力されるデータ列を用いて暗号鍵の生成を行うようにすることで、よりランダム性の高い暗号鍵を生成することが可能になる。なお、LFSRは、専用のハードウェアを構成して用いるようにしてもよく、また、CPU210を用いてソフトウェアにより実現するようにしてもよい。次に図7について説明する。図7は、個体別情報生成装置120の構成の第一の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。図7の個体別情報生成装置120は、バタフライ型PUF部410、オシレータ401、セレクタ402、PUF出力部420、及び温度検出部430を備えている。バタフライ型PUF部410は、図4における出力値生成回路111及び図5における出力値生成回路121の一例であり、バタフライ型PUFを含むラッチ411を複数個備えている。なお、ここでは、個体別情報生成装置120に与えられたチャレンジによって、128個のラッチ411が選択されたものとする。オシレータ401は、ラッチ411に与えるクロック信号を生成する。生成されたクロック信号は、ラッチ411内のバタフライ型PUFへの入力信号図2における入力Aに相当する信号となる。セレクタ402は、ID判定回路421からの選択信号に基づいて、チャレンジによって選択された128個のラッチ411の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。また、セレクタ402は、温度判定シーケンサ431からの選択信号に基づいて、128個のラッチ411の出力から出力を1つ選択してレジスタ433に格納させる。次にPUF出力部420について説明する。PUF出力部420は、図5における個体別情報生成部122の一例であり、バタフライ型PUF部410の出力値に基づいて個体別情報を生成する。なお、前述したように、図6の暗号化装置110においては、PUF出力部420が生成した個体別情報を暗号鍵として用いるので、このPUF出力部420は、図4における暗号鍵生成部112の一例ともいえる。PUF出力部420は、ID判定回路421、シフトレジスタ422、及びエントロピ圧縮部423を備えている。ID判定回路421は、セレクタ402によって選択されたラッチ411の出力に基づいて所定の数値を出力する回路である。図3の個体別情報生成装置20では、符号誤り訂正回路を用いて出力の再現性を確保することを説明したが、本実施例では、このID判定回路421を用いることで、ラッチ411の出力が乱数であっても、個体別情報生成装置120の出力の再現性が確保される。本実施例では、ID判定回路421に入力されるラッチ411の出力値が一定の値固定値0である場合には、ID判定回路421は数値00を出力するようにする。また、ID判定回路421に入力されるラッチ411の出力値が固定値1である場合には、ID判定回路421は数値11を出力するようにする。更に、ID判定回路421に入力されるラッチ411の出力値が0と1との両方の値をとる不定値である場合すなわち、ラッチ411の出力値が乱数である場合には、ID判定回路421は数値10若しくは01を出力するようにする。但し、ここで、ラッチ411の出力値が1である頻度が0である頻度よりも高い場合すなわち、出力値が1である頻度が50パーセントよりも高い場合には、ID判定回路421は数値10を出力するようにする。また、ラッチ411の出力値が1である頻度が0である頻度よりも低い場合すなわち、出力値が0である頻度が50パーセントよりも高い場合には、ID判定回路421は数値01を出力するようにする。電源電圧及び周囲温度が一定の条件の下では、ラッチ411の出力値が乱数である場合に、そのラッチ411が出力する各値の出力頻度は、個々のラッチ411においてほぼ一定であり、再現性を有している。従って、このようにして、ラッチ411の出力値が1である頻度に応じて、ID判定回路421が、数値10若しくは01を出力するようにすることで、前述したような符号誤り訂正回路による個体別情報の再現性の確保が必須のものではなくなる。ここで図8について説明する。図8は、ID判定回路421の具体的構成例を図解したものである。図8のID判定回路421は、セレクタ402によって選択されたラッチ411からの連続する1023ビット分の出力値が全て0である場合には00を出力し、当該連続する1023ビット分の出力値が全て1である場合には11を出力する。また、このID判定回路421は、当該1023ビット分の出力値のうち、値が0である個数が512個以上である場合すなわち、出力値の50パーセント以上が0の場合には、01を出力する。更に、このID判定回路421は、当該1023ビット分の出力値のうち、値が1である個数が512個以上である場合すなわち、出力値の50パーセント以上が1の場合には、10を出力する。このID判定回路421は、ビット数変換器501、加算器502、レジスタ503、リダクション演算回路504及び506、AND論理積回路505及び508、NOT否定回路507、及びOR論理和回路509を備えて構成されている。ビット数変換器501は、ラッチ411から出力される1ビットの出力値を10ビットのデータに変換する変換器であり、当該1ビットの出力値を最下位ビットの値とし、当該最下位ビットに上位9ビット分の0を付加して得られるデータを出力する。加算器502は、ビット数変換器501から出力される10ビットのデータを、レジスタ503に格納されている10ビットのデータに加算し、その加算結果を出力する。レジスタ503は、加算器502から出力される10ビットの加算結果が格納される。従って、ビット数変換器501、加算器502、及びレジスタ503により、セレクタ402によって選択されたラッチ411から出力される出力値が1であった個数を計数するカウンタ回路が構成されている。この個数が512個以上1023個以下の場合には、レジスタ503に格納される10ビットのデータのうちの最上位のビットの値が1となり、この個数が0個以上511個以下の場合には、当該最上位のビットの値が0となる。この最上位のビットの値が、ID判定回路421からの2ビットの出力のうちの上位ビットの出力ID[1]として導き出されると共に、AND回路505及び508各々への入力の1つとされる。なお、レジスタ503は、セレクタ402によって選択されたラッチ411から1023ビット分の値の出力を受け取る度に、格納されている全てのビットの値が0にリセットされる。また、このリセットの度に、セレクタ402には選択信号が送られて、ラッチ411の出力の選択が次のものに切り替えられる。リダクション演算回路504及び506は、どちらも、レジスタ503に格納されている10ビットのデータに対するリダクション演算を行う回路である。但し、リダクション演算回路504は、当該10ビットのデータに対して論理積のリダクション演算を行うのに対し、リダクション演算回路506は、当該10ビットのデータに対して論理和のリダクション演算を行う。従って、リダクション演算回路504は、当該10ビットのデータの全ての値が1である場合にのみ値1を出力し、当該10ビットのデータのうちで少なくとも1ビットの値が0である場合には値0を出力する。一方、リダクション演算回路506は、当該10ビットのデータのうちで少なくとも1ビットの値が1である場合には値1を出力し、当該10ビットのデータの全ての値が0である場合にのみ値0を出力する。AND回路505には、リダクション演算回路504の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値とが入力される。従って、AND回路505は、選択されたラッチ411から出力される出力値が1であった個数が1023個の場合にのみすなわち、当該出力値が全て1であった場合にのみ値1を出力し、その他の場合には値0を出力する。一方、AND回路508には、リダクション演算回路506の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値をNOT回路507によって反転した値とが入力される。従って、AND回路508は、選択されたラッチ411から出力される出力値が1であった個数が1個以上511個以下の場合には値1を出力する。そして、その他の場合、すなわち、選択されたラッチ411から出力される出力値が1であった個数が0個、若しくは、512個以上1023個以下の場合には、AND回路508は値0を出力する。OR回路509には、AND回路505及び508各々の出力が入力される。従って、OR回路509は、AND回路505及び508の出力のうちの少なくとも一方の値が1のとき、すなわち、選択されたラッチ411の出力値が1であった個数が1個以上511個以下の場合若しくは1023個の場合に、値1を出力する。一方、この他の場合、すなわち、選択されたラッチ411の出力値が1であった個数が0個の場合若しくは512個以上1022個以下の場合に、OR回路509は値0を出力する。このOR回路509の出力が、ID判定回路421からの2ビットの出力のうちの下位ビットの出力ID[0]として導き出される。以上の動作をまとめると、選択されたラッチ411からの1023ビット分の出力値のうちで値が1の個数が0個である場合すなわち、当該出力値が全て0であった場合には、ID判定回路421の出力は、上位ビット下位ビット共に0となる。また、この1023ビット分の出力値のうちで値が1の個数が1023個である場合すなわち、当該出力値が全て1であった場合には、ID判定回路421の出力は、上位ビット下位ビット共に1となる。更に、この1023ビット分の出力値のうちで値が1の個数が1個以上511個以下である場合すなわち、当該出力値の50パーセント以上が0の場合には、ID判定回路421の出力は、上位ビットが0となり、下位ビットが1となる。そして、この1023ビット分の出力値のうちで値が1の個数が512個以上1022個以下である場合すなわち、出力値の50パーセント以上が1の場合には、ID判定回路421の出力は、上位ビットが1となり、下位ビットが0となる。なお、ID判定回路421を図8の構成例のようなハードウェアのみで構成する代わりに、ID判定回路421の機能を演算処理装置で実現させるプログラムソフトウェアを作成し、当該プログラムを当該演算処理装置で実行させるようにして構成してもよい。図7の説明に戻る。シフトレジスタ422には、バタフライ型PUF部410の128個のラッチ411の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。エントロピ圧縮部423は、シフトレジスタ422に並べられた256128×2ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報レスポンスの生成結果として出力する。シフトレジスタ422に格納された値をそのままレスポンスとして使用すると、128個のラッチ411のセレクタ402による選択順序と、シフトレジスタ422に格納されているビット列の並び順とが1対1対応してしまう。従って、この対応関係を推測されてしまうと、チャレンジラッチ411の選択に対するレスポンスの値が推測できてしまう可能性がある。エントロピ圧縮部423は、この推測を困難なものとするためのものである。エントロピ圧縮部423としては、例えば一方向性関数回路を使用する。一方向性関数回路は、入力が一意であれば、出力が一意に定まるが、出力から入力を求めることは非常に困難な関数である。なお、本実施例では、エントロピ圧縮部423として、入力されたビット列に対するハッシュ関数値を得る回路を用いる。より具体的には、この回路として、米国連邦情報処理基準FederalInformationProcessingStandardFIPSに採用されているハッシュ関数であるSHA-256によるハッシュ関数値を得る回路を用いる。このエントロピ圧縮部423を用いることで、レスポンスからチャレンジを推測することが極めて困難なものとなり、安全性が向上する。図7の個体別情報生成装置120では、以上のようにして個体別情報が生成される。次に温度検出部430について説明する。温度検出部430は、温度判定シーケンサ431と、不揮発性メモリ432と、レジスタ433とを備えている。温度判定シーケンサ431は、レジスタ433に格納されているラッチ411の出力と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。不揮発性メモリ432は、後述するテンプレート情報を記憶しておくものである。なお、テンプレート情報の漏出によって個体別情報生成装置120が生成する個体別情報が推定されることの防止のために、不揮発性メモリ432は耐タンパ性を有しているものを用いることが好ましい。レジスタ433は、ラッチ411から出力されるビット列のうち、温度判定シーケンサ431からの選択信号に基づきセレクタ402によって選択されたものを格納する。ここで、温度検出部430による周囲温度の判定の手法について、図9A及び図9Bを用いて説明する。図2のバタフライ型PUF10では、入力Aが0から1へと変化させる立ち上がりのタイミングにおいて、出力B及びCの値を変化させて0若しくは1とする。従って、入力Aとしてクロック信号をバタフライ型PUF10に印加すると、出力B及びCとしてビット列が出力される。従って、クロック信号をバタフライ型PUF10に例えば200万サイクル入力すれば、200万ビットのビット列がバタフライ型PUF10から出力される。ここで、この200万ビットのビット列を、図9Aに図解するように、1024ビットを1区間とする計2048区間kukan1,kukan2...kukan2048のビット列に分割する。そして、この区間毎の1024ビットのビット列において、値が1であるビットの個数を計数し、値が1であるビットがビット列に含まれている頻度を各区間について算出する。図9Bは、バタフライ型PUF10が形成されている半導体チップの周囲温度を25°C室温とした場合と85°Cとした場合とにおける、この算出結果をプロットしたグラフの一例である。発明者は、十数個の半導体チップFPGA:FieldProgrammableGateArrayを使用して上述の実験を行った。この実験の結果、複数個のバタフライ型PUF10を単一の半導体チップに形成した場合であっても、その半導体チップの周囲温度によって、上記の算出結果から得られるグラフの傾向が異なることが判明した。すなわち、図9Bのグラフを得たバタフライ型PUF10では、周囲温度が上昇すると、出力ビット列中に含まれる1の割合が増加することが分かった。また、その一方で、バタフライ型PUF10には、周囲温度が上昇すると、出力ビット列中に含まれる1の割合が減少するものや、周囲温度の変化に対して出力ビット列中に含まれる1の割合がほとんど変化しないものが存在することも分かった。そこで、図7の温度判定シーケンサ431は、バタフライ型PUF部410のラッチ411が出力するビット列における所定値1の頻度が周囲温度に応じて変化することを利用し、この頻度から周囲温度の推定を行う。より具体的には、温度判定シーケンサ431は、以下に説明するようにして、チップ200の周囲温度を推定する。まず、チップ200に形成されているバタフライ型PUF部410の各ラッチ411について、チップ200の周囲温度と、値が1であるビットが出力ビット列に含まれている頻度についての前述した区間の平均値平均頻度との関係をチップ200毎について求める。次に、求められた関係から、各チップ200について、周囲温度に対する平均頻度の変化が単調増加若しくは単調減少しているラッチ411を選択する。そして、選択されたラッチ411についての上述した関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。図10のテーブルは、このテンプレート情報の例であり、異なるチップ200チップA及びチップBについてのものであり、それぞれ選択された2つのラッチ411についての周囲温度と頻度との関係がテーブル形式で示されている。周囲温度の検出時には、温度判定シーケンサ431は、まず、セレクタ402に選択信号を出力して、不揮発性メモリ432に記憶されている上述のテンプレート情報で上述の関係が表されているラッチ411の出力を選択させる。すると、選択されたラッチ411の出力であるビット列が、セレクタ402を介してレジスタ433に送られる。レジスタ433は、オシレータ401で生成されたクロック信号に同期しているこのビット列を格納する。なお、本実施例では、レジスタ433に格納するビット列のビット数を、前述した1区間のビット列に相当する1024ビットとするが、このビット数でなくてもよい。次に、温度判定シーケンサ431は、レジスタ433に格納されているビット列を読み出して、そのビット列において値が1であるビットの個数を計数する。そして、そのビット列のビット数に対する当該個数の割合を、値が1であるビットがビット列に含まれている頻度として算出する。ここで、温度判定シーケンサ431は、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの頻度に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。なお、温度判定シーケンサ431は、頻度の算出を、ラッチ411が出力するビット列の他の区間でも行い、各区間について算出された頻度の平均値に基づいて周囲温度の判定を行うようにしてもよい。また、この場合に、算出された頻度に対応付けられている周囲温度をテンプレート情報から区間毎に求め、得られた周囲温度の下限値から上限値までの範囲を、チップ200の周囲温度の検出結果としてもよい。次に図11について説明する。図11は、個体別情報生成装置120の構成の第二の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。図11に図解した第二の例は、図7に示した第一の例とは、不揮発性メモリ432を備えていない点が相違している。ここでは、この相違点に関して説明する。図11の個体別情報生成装置120では、前述のテンプレート情報が、サーバ装置300の有している不図示の記憶装置に記憶されている。温度判定シーケンサ431は、テンプレート情報を参照する場合には、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行って、テンプレート情報を取得する。個体別情報生成装置120を図11のように構成することで、テンプレート情報の個体別情報生成装置120からの漏出が防止され、また、不揮発性メモリ432が不要となるので、個体別情報生成装置120の小型化が可能になる。なお、温度判定シーケンサ431は、サーバ装置300からテンプレート情報を取得することができなかった場合には、例えばオシレータ401の動作を停止させて、バタフライ型PUF部410の各ラッチ411の動作を停止させるようにしてもよい。次に図12について説明する。図12は、個体別情報生成装置120の構成の第三の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるSRAM-PUFを用いて個体別情報の生成を行うものである。図12の個体別情報生成装置120は、SRAM-PUF部440、セレクタ402、PUF出力部420、及び温度検出部430を備えている。つまり、この第三の例は、図13に示した第一の例とは、バタフライ型PUF部410と、バタフライ型PUF部410のラッチ411に与えるクロック信号を生成するオシレータ401との代わりに、SRAM-PUF部440を備えている点が相違している。SRAM-PUF部440は、前述したように、メタスタビリティ型PUFの一例であり、SRAMへの電力供給を開始した直後のメモリセルの初期値のばらつきを利用したPUFである。ここでは、個体別情報生成装置120に与えられたチャレンジによって、SRAM-PUF部440が備えている多数のSRAMメモリセル441のうちから128個が選択されたものとする。セレクタ402は、チャレンジによって選択された128個のSRAMメモリセル441の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。また、セレクタ402は、温度判定シーケンサ431からの選択信号に基づいて、SRAMメモリセル441のうちの1つを選択し、その格納内容を読み出させてレジスタ433に格納させる。PUF出力部420及び温度検出部430は、図7の第一の例が備えているものと同様のものである。図12の個体別情報生成装置120では、SRAM-PUF部440への電力の供給及び停止が繰り返されることで、電力供給時の初期値がSRAMメモリセル441から順次得られる。ID判定回路421は、セレクタ402によって選択されたSRAMメモリセル441からの連続する1023ビット分の初期値が全て0である場合には00を出力し、当該連続する1023ビット分の初期値が全て1である場合には11を出力する。また、このID判定回路421は、当該1023ビット分の初期値のうち、値が0である個数が512個以上である場合すなわち、出力値の50パーセント以上が0の場合には、01を出力する。更に、このID判定回路421は、当該1023ビット分の初期値のうち、値が1である個数が512個以上である場合すなわち、出力値の50パーセント以上が1の場合には、10を出力する。シフトレジスタ422には、SRAM-PUF部440の128個のSRAMメモリセル441の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。エントロピ圧縮部423は、シフトレジスタ422に並べられた256128×2ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報レスポンスの生成結果として出力する。温度判定シーケンサ431は、レジスタ433に格納されているラッチ411の出力と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。この温度判定シーケンサ431による周囲温度の判定の手法も、図7の第一の例のものと同様である。すなわち、SRAMメモリセル441の各々について、チップ200の周囲温度と、値が1であるビットが出力ビット列に含まれている頻度についての前述した区間の平均値平均頻度との関係をチップ200毎について求める。次に、求められた関係から、各チップ200について、周囲温度に対する平均頻度の変化が単調増加若しくは単調減少しているSRAMメモリセル441を選択する。そして、選択されたラッチ411についての上述した関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。温度判定シーケンサ431は、周囲温度の検出時には、まず、セレクタ402に選択信号を出力して、不揮発性メモリ432に記憶されている上述のテンプレート情報で上述の関係が表されているSRAMメモリセル441を選択させる。すると、選択されたSRAMメモリセル441の内容が、セレクタ402を介してレジスタ433に送られる。レジスタ433は、SRAM-PUF部440への電力の供給及び停止の繰り返しに同期しているこのビット列を格納する。温度判定シーケンサ431は、レジスタ433に格納されているビット列を読み出して、そのビット列において値が1であるビットの個数を計数する。そして、そのビット列のビット数に対する当該個数の割合を、値が1であるビットがビット列に含まれている頻度として算出する。ここで、温度判定シーケンサ431は、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの頻度に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。なお、図12に図解した個体別情報生成装置120の構成を変形して、図11に図解した第二の例のように構成してもよい。すなわち、前述したテンプレート情報を、サーバ装置300の有している記憶装置に記憶させておくようにしてもよい。このように構成する場合には、温度判定シーケンサ431は、テンプレート情報を参照するときは、第二の例の場合と同様に、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行えばよい。なお、今までに説明した個体別情報生成装置120の構成の第一の例から第三の例は、いずれも、同じPUFを個体別情報の生成と温度検出とに共用するように構成されている。すなわち、チップ200の周囲温度が所定の温度範囲外であることがPUFを用いて検出された場合には、個体別情報生成装置120は、個体別情報の出力を中止すると共に、暗号化処理の実行停止を指示する信号を出力するようにしていた。ここで、チップ200の周囲温度が所定の温度範囲外であることが検出された場合には、更に、PUFそのものの動作を停止させるようにしてもよい。また、上述の信号を受信したCPU210は、暗号演算器220による暗号化処理の実行を禁止させる制御を行うと共に、以降の個体別情報生成装置120からの出力を全て無効として使用しないようにして、安全性の更なる向上を目指してもよい。また、上述したように同じPUFを個体別情報の生成と温度検出とに共用する代わりに、個体別情報の生成と温度検出とに別々のPUFを実装するようにしてもよい。すなわち、図13に図解した暗号化処理システム600の構成のように、温度検出装置610と個体別情報生成装置620との各々に専用のPUFを実装するようにしてもよい。図13の構成では、温度検出装置610が、自らが有しているPUFを用いて周囲温度の検出を行い、周囲温度が所定の温度範囲外であることが検出された場合には、個体別情報生成装置620及び暗号化装置630に停止信号を出力する。個体別情報生成装置620は、自らが有しているPUFを用いて個体別情報の生成を行うが、上述した停止信号を受け取った場合には、個体別情報の生成を中止する。また、暗号化装置630は、個体別情報生成装置620により生成される個体別情報を用いて情報の暗号化処理を行うが、上述した停止信号を受け取った場合には、この暗号化処理の実行を中止する。このように、個体別情報の生成と温度検出とに別々のPUFを実装することで、各々の機能に適した特性を有しているPUFを使用できるようになるので、各機能の性能が向上する。PUFを用いて行う温度測定では、温度変化に対して敏感なPUFを使用することが好ましい。一方、個体別情報の生成では、周囲温度の変化によらず安定した個体別情報を生成する必要があるため、この生成に使用するPUFは、温度変化に対して影響が少ない方が好ましい。従って、個体別情報の生成用のPUFと、温度測定用のPUFとを兼用せずに専用のものとすることで、2つの機能の各々について性能の向上が期待できる。なお、以上までに説明した、PUFを用いた温度検出を、電圧の検出に応用することができる。すなわち、周囲温度が一定の環境において、動作させるために印加する電圧と所定値例えば1を出力する頻度とが単調に変化する関係を有しているPUFを用いることで、周囲温度が一定の環境での電圧の検出を行うことも可能である。"