IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャープ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-11
(45)【発行日】2023-07-20
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
   H04L 9/10 20060101AFI20230712BHJP
【FI】
H04L9/10 Z
【請求項の数】 19
(21)【出願番号】P 2021551364
(86)(22)【出願日】2020-09-30
(86)【国際出願番号】 JP2020037117
(87)【国際公開番号】W WO2021070701
(87)【国際公開日】2021-04-15
【審査請求日】2022-02-18
(31)【優先権主張番号】P 2019185686
(32)【優先日】2019-10-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100147304
【弁理士】
【氏名又は名称】井上 知哉
(74)【代理人】
【識別番号】100148493
【弁理士】
【氏名又は名称】加藤 浩二
(72)【発明者】
【氏名】中野 貴司
(72)【発明者】
【氏名】本田 大輔
(72)【発明者】
【氏名】玉井 幸夫
(72)【発明者】
【氏名】山崎 信夫
【審査官】赤穂 州一郎
(56)【参考文献】
【文献】特開2017-118229(JP,A)
【文献】特開2014-036438(JP,A)
【文献】特開2017-130759(JP,A)
【文献】特開2013-126221(JP,A)
【文献】特開2015-139010(JP,A)
【文献】特開2011-123909(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00 - 9/40
G09C 1/00 - 5/00
H04K 1/00 - 3/00
(57)【特許請求の範囲】
【請求項1】
多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、
複数の期間のそれぞれにおいて、前記出力値を取得する出力値取得部と、
前記複数の期間を累積した累積期間を算出し、複数の前記出力値を累積した第1素子出力値を算出し、複数の前記累積期間と複数の前記第1素子出力値との相関関数を算出する算出部と、
外部装置から受信した入力情報と前記相関関数とに基づいて固有値を生成する生成部と、
を備える情報処理装置。
【請求項2】
前記複数の累積期間のそれぞれは互いに長さが異なる、請求項1に記載の情報処理装置。
【請求項3】
前記多値デバイスは複数の前記単位素子を含み、前記単位素子は電荷発生素子であり、
記算出部は、複数の前記電荷発生素子にそれぞれ対応する複数の前記相関関数を算出し、
前記生成部は、複数の前記相関関数に基づいて前記固有値を生成する、請求項2に記載の情報処理装置。
【請求項4】
前記入力情報は、所定の設定累積期間を含み
前記生成部は、複数の前記設定累積期間と前記相関関数とに基づいて複数の第2素子出力値を算出し、複数の前記第2素子出力値に基づいて前記固有値を生成する、請求項に記載の情報処理装置。
【請求項5】
前記多値デバイスは複数の前記単位素子を含み、
前記入力情報は、所定の設定累積期間を含み、
前記算出部は、複数の前記単位素子のそれぞれに対応する前記相関関数を算出し、
前記生成部、複数の前記設定累積期間から一の設定累積期間を選択し、前記一設定累積期間と複数の前記相関関数とに基づいて複数の第2素子出力値を算出し前記複数の第2素子出力値に基づいて前記固有値を生成する、請求項に記載の情報処理装置。
【請求項6】
前記生成部は、規格化された前記相関関数、規格化された前記設定累積期間、または規格化された前記第2素子出力値に基づいて前記固有値を生成する、請求項またはに記載の情報処理装置。
【請求項7】
前記生成部は、前記第2素子出力値の閾値に対する大小に基づいて前記固有値を生成する、請求項4または5に記載の情報処理装置。
【請求項8】
記生成部は、複数の前記閾値から所望の閾値を選択し、前記第2素子出力値の前記所望の閾値に対する大小に基づいて前記固有値を生成する、請求項に記載の情報処理装置。
【請求項9】
記多値デバイスは、マトリクス状に配列された複数の前記単位素子を含み、
前記入力情報は、複数の前記単位素子のそれぞれの位置に関する素子位置情報を含
記生成部は、複数の前記第2素子出力値の分布に応じた分布位置情報を決定し、前記分布位置情報を含む前記固有値を、多値化符号の固有値として生成し、
前記分布位置情報と前多値化符号の固有値とに基づいて、更新固有値を生成する認証部をさらに備え
前記素子位置情報の数は、前記更新固有値のコード長を超えてい、請求項4または5に記載の情報処理装置。
【請求項10】
前記生成部は、複数の前記第2素子出力値のそれぞれの閾値に対する大小関係に基づいて、複数の前記第2素子出力値のそれぞれに対応する前記分布位置情報を決定する、請求項に記載の情報処理装置。
【請求項11】
前記生成部は、複数の前記第2素子出力値の大きさの順番に基づいて、複数の前記第2素子出力値のそれぞれに対応する前記分布位置情報を決定する、請求項10に記載の情報処理装置。
【請求項12】
前記認証部は、さらに、前記入力情報に対応する複数の前記第2素子出力値のうち、前記更新固有値に対応する複数の前記素子位置情報に対応する複数の前記第2素子出力値に基づいて、認証用更新固有値を生成し、前記更新固有値と前記認証用更新固有値とを比較することにより認証を行う、請求項11のいずれか一項に記載の情報処理装置。
【請求項13】
前記生成部は、前記固有値を複数生成し、生成した複数の前記固有値の演算をもって一の前記固有値を生成する、請求項1または2に記載の情報処理装置。
【請求項14】
記生成部は、PUF(Physically Unclonable Function)を有する、請求項1~13のいずれか一項に記載の情報処理装置。
【請求項15】
前記多値デバイスは、フォトダイオード、浮遊拡散層もしくは電荷を保持する層を有する電荷発生素子、または電荷を蓄積電気特性もしくは光学特性にバラつきのある層を有する演算記憶素子構成され、請求項に記載の情報処理装置。
【請求項16】
前記多値デバイスは、複数の前記単位素子を有し、
前記生成部は、前記複数の前記単位素子のうちの一部の前記単位素子のそれぞれの前記出力値を累積した複数の前記第1素子出力値と前記入力情報とに基づいて前記固有値を生成する、請求項1に記載の情報処理装置。
【請求項17】
数の前記単位素子の少なくとも一部が遮光されている、請求項16に記載の情報処理装置。
【請求項18】
前記入力情報と、前記入力情報に基づいて生成された前記固有値である認証用固有値との組を複数記憶している記憶部と、
新たな入力情報を前記情報処理装置に対して提供すると共に前記新たな入力情報に基づいた新たな固有値の生成を指示する指示部と、
前記新たな固有値と、前記認証用固有値とを比較することにより認証を行う認証部と、を備える外部装置と接続可能である、請求項1に記載の情報処理装置。
【請求項19】
多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、
出力値取得部が、複数の期間のそれぞれにおいて前記出力値を取得するステップと、
算出部が、前記複数の期間に基づいて累積期間を算出し、複数の前記出力値を累積した第1素子出力値を算出し、複数の前記累積期間と複数の前記第1素子出力値との相関関数を算出するステップと、
生成部が、外部装置から入力された入力情報と前記相関関数とに基づいて固有値を生成するステップと、
を備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。本願は、2019年10月9日に、日本に出願された特願2019-185686に優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
近年、暗号化処理に物理複製困難関数(Physically Unclonable Function; PUF)を用いることが提案されている(例えば、特許文献1を参照。)。PUFは、発生パターンが予測困難であり、かつ、特性が劣化し難い。このため、PUFを用いることにより、情報の安全性を大きく向上し得る。PUFの設計が複製可能なものであっても、製造されたものが、物理的に複製できない値を出力するものであれば、ここでは、PUFを有するものになる。
【0003】
例えば特許文献1には、PUFから固有値を生成する情報処理装置の一例が記載されている。特許文献1に記載の情報処理装置では、出力データ取得部が、オプティカルブラック領域の画素からの出力データを複数回取得する。平均値算出部は、オプティカルブラック領域の画素毎に、読み出された複数回の出力データの平均値を算出する。中央値算出部は、平均値算出部で算出された平均値の集合から中央値を算出する。固有値生成部は、中央値と平均値とを比較することにより固有値を生成する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-118229号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
PUFから固有値を生成する情報処理装置には、温度等の条件に依存せずに安定して固有値を生成可能であることが求められる。
【0006】
本開示の主な目的は、安定して固有値を生成し得る情報処理装置、情報処理方法を提供することにある。
【課題を解決するための手段】
【0007】
本開示の一態様に係る情報処理装置は、多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、前記出力値を取得する出力値取得部と、取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出する算出部と、前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する生成部とを備える。
【0008】
本開示の一態様に係る情報処理方法では、多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、前記出力値を取得するステップと、取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出するステップと、前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成するステップとを備える。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係る認証システムのブロック図である。
図2】第1実施形態における情報処理装置のブロック図である。
図3】第1実施形態における撮像部の模式的平面図である。
図4】第1実施形態における外部装置のブロック図である。
図5】第1実施形態における認証のフローチャートである。
図6】第1実施形態におけるチャレンジの送信及びレスポンス生成指示工程(ステップS100)を表すフローチャートである。
図7】第1実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図8】第1実施形態における固有鍵の演算方法を説明するための図である。
図9】第1実施形態における認証工程(ステップS400)を表すフローチャートである。
図10A】第1の実施形態の変形例の外部装置のブロック図である。
図10B】第1実施形態の変形例におけるレスポンス生成工程を表すフローチャートである。
図10C】第1実施形態の変形例における認証用レスポンス生成工程を表すフローチャートである。
図11】第2実施形態に係る情報処理装置のブロック図である。
図12】第3実施形態に係る情報処理装置のブロック図である。
図13】第4実施形態に係る情報処理装置のブロック図である。
図14】第5実施形態に係る情報処理装置のブロック図である。
図15】ハミング距離を用いて一致度の判断を行う際の演算の一例である。
図16】第6実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図17】第6実施形態における固有鍵の演算方法を説明するための図である。
図18】第7実施形態に係る情報処理装置のブロック図である。
図19】第8実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図20】第9実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図21】第10実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図22】第11実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。
図23】第12実施形態における固有鍵の生成方法を説明するための図である。
図24】第12実施形態における認証工程(ステップS400)を表すフローチャートである。
図25】第12実施形態における更新レスポンスの一例である。
図26A】出力値のヒストグラムの一例を示す図である。
図26B】分布位置情報の決定方法を説明するための図である。
【発明を実施するための形態】
【0010】
以下、本開示を実施した好ましい形態の一例について説明する。但し、下記の実施形態は、単なる例示である。本開示は、下記の実施形態に何ら限定されない。
【0011】
(第1実施形態)
(情報処理システム)
図1は、第1実施形態に係る認証システムのブロック図である。第1実施形態では、図1に示す認証システムについて説明する。第1実施形態に係る認証システムは、例えば、イメージセンサ等の複数の電荷発生素子を有するデバイスの個体情報に基づいて固有値の一例である固有鍵を生成し、その固有鍵を用いてデバイスの認証を行うシステムである。特に、本実施形態では、デバイスの複数の電荷発生素子が有する個体情報に基づいて物理複製困難関数(Physically Unclonable Function;PUF)を算出し、算出したPUFに基づいて固有鍵を生成する例について説明する。
【0012】
図1に示すように、認証システムは、情報処理装置1と、外部装置2とを含む。
【0013】
情報処理装置1と、外部装置2とは、通信可能(詳細には、相互データ通信可能)である。本実施形態では、情報処理装置1と外部装置2とは、無線通信可能であってもよいし、電気的配線(LANケーブルや電子回路など)による有線通信可能であってもよい。情報処理装置1と外部装置2とは、例えば、ネットワークを介して無線通信可能であってもよい。情報処理装置1と外部装置2とは、例えば、移動通信システム、Wi-Fi(登録商標)、Bluetooth(登録商標)などの近距離無線、LPWA(Low Power, Wide Area)、LPWAN(Low-Power Wide-Area Network)等により無線通信可能であってもよい。以下、本実施形態では、情報処理装置1と外部装置2とがネットワークを介して無線通信可能である例について説明する。
【0014】
認証システムでは、外部装置2から入力されたチャレンジ200(入力情報)に対して、情報処理装置1は、チャレンジに応じたレスポンス201(固有鍵)を生成し、外部装置2に送信する。外部装置2は、外部装置2に送信したチャレンジ200に対応したレスポンスを記憶しており、その記憶しているレスポンスと、情報処理装置1から送信されたレスポンス201とを比較することにより情報処理装置1の認証を行う。
【0015】
なお、チャレンジ200は、認証を行うための条件を含むデータであり、レスポンス201とは、チャレンジ200に基づいて生成される情報処理装置1に固有のデータである。チャレンジ200及びレスポンス201の詳細については、後述する。
【0016】
(情報処理装置1)
図2は、第1実施形態における情報処理装置1のブロック図である。次に、主として図2を参照しながら、情報処理装置1について説明する。
【0017】
情報処理装置1は、例えば、デジタルスチルカメラ、デジタルビデオカメラ等の撮像装置、スマートフォン、タブレット型パーソナルコンピュータ等の撮像機構を有する情報端末、複写機やスキャナ等の画像処理装置、腕時計、ウエアラブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子ロック、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等の情報機器等である。本実施形態では、情報処理装置1がデジタルビデオカメラである例について説明する。より具体的には、本実施形態の情報処理装置1は監視用のネットワークビデオカメラである。
【0018】
図2に示すように、情報処理装置1は、イメージセンサ10と、処理部20と、記憶部30と、表示部40と、操作部50と、通信部60とを備えている。イメージセンサ10と、処理部20と、記憶部30と、表示部40と、操作部50と、通信部60とは、バスライン70を介して接続されており、相互に通信可能である。
【0019】
イメージセンサ10は、静止画像や動画像を撮像するデバイスである。イメージセンサ10は、撮像した画像を画像信号221として出力する。また、イメージセンサ10は、さらに、PUFの算出に必要な信号(後述する暗電流信号213)を出力する。なお、イメージセンサ10の詳細については後述する。
【0020】
処理部20は、例えば、Central Processing Unit(CPU)などの各種プロセッサにより構成することができる。
【0021】
処理部20は、情報処理装置1における各種情報処理を行う。具体的には、処理部20は、例えば、画像信号221に基づいて画像データを形成し、記憶部30に記憶させると共に、画像データに基づく画像を表示部40に表示させる。処理部20は、例えば、形成した画像データを通信部60に外部装置2に対して送信させる。処理部20は、必要に応じて、形成した画像データを通信部60に外部装置2に対して送信させる。処理部20は、例えば、暗電流信号213や、外部装置2からのチャレンジ200等に基づいてレスポンス201を生成し、通信部60に送信する。なお、処理部20の構成の詳細については後述する。
【0022】
記憶部30は、例えば、RAM(Random Access Memory)等のメモリや、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスク等により構成することができる。
【0023】
記憶部30は、処理部20から入力されたデータや、通信部60を介して外部から受信したデータや指令等を記憶する。
【0024】
表示部40は、例えば、液晶ディスプレイ、エレクトロルミネッセンスディスプレイ等の各種ディスプレイにより構成することができる。
【0025】
表示部40は、処理部20から出力された画像データに基づく画像や、外部装置2による認証結果等の各種情報を示す画像を表示する。
【0026】
操作部50は、情報処理装置1のユーザが操作することで、情報処理装置1に対する指示を入力する部分である。ユーザは、例えば、操作部50から、撮像等を行う指示を情報処理装置1に対して入力することができる。
【0027】
なお、例えば、情報処理装置1が処理内容を記憶している場合などにおいては、操作部50を設ける必要は必ずしもない。操作部50は、例えば、パーソナルコンピュータ等との間で信号を授受する信号端子により構成されていてもよい。すなわち、情報処理装置1は、操作部50を介して接続されたパーソナルコンピュータ等により操作可能であってもよい。
【0028】
通信部60は、外部装置2等と通信する。通信部60は、例えば、外部装置2からチャレンジ200を受け取り、外部装置2に対してレスポンス201を送信する。通信部60は、例えば、外部装置2に対して画像データを送信する。通信部60は、ネットワークを経由して外部装置2以外の装置と通信可能である。有線通信の場合、通信部60はデータの伝送機能のみを有する電気的配線(LANケーブル、電子回路など)であってもよい。
【0029】
(イメージセンサ10)
イメージセンサ10は、撮像部11と、制御部12とを有する。制御部12は、撮像部11を制御する。制御部12は、撮像部11に対して撮像を指示し、撮像部11から入力される画素信号211、212に基づいて画像(動画像)データを生成し、画像信号221として出力する。
【0030】
撮像部11は、制御部12からの指令に基づいて撮像し、制御部12に対して各画素の画素信号211、212及び暗電流信号213を出力する。
【0031】
具体的には、撮像部11は、複数の撮像素子11aを含む。複数の撮像素子11aのそれぞれは、画素を構成している。各撮像素子11aは、フォトダイオードを有する。各撮像素子11aは、例えば、CMOS(Complementary Metal-Oxide Semiconductor device)やCCD(Charge Coupled Device)等により構成することができる。
【0032】
撮像素子11aは、受光した光の光量に応じた電荷を発生させて電気信号に変換し、画素信号211、212として出力する。詳細には、撮像素子11aは、光学系により撮像面上に結像された入射光の光量に応じた電荷を発生させて電気信号に変換し、画素信号211、212として出力する。このため、複数の撮像素子11aのそれぞれは、電荷発生素子を構成している。すなわち、イメージセンサ10は、複数の電荷発生素子を有している。
【0033】
ここで、「電荷発生素子」とは、電荷を発生させる素子のことを意味する。電荷発生素子には、電荷を発生させ、かつ、発生させた電荷を蓄積する素子も含まれる。
【0034】
上述のように、各撮像素子11aはフォトダイオードを有している。このため、例えば、フォトダイオードと酸化ケイ素等により構成された絶縁膜との間の界面で生じる界面準位に起因して表面リーク電流等が流れるため、撮像素子11aに光が照射されていない状態であっても、流れる電流(暗電流)が存在する。このため、各撮像素子11aは、暗電流も電気信号に変換し、暗電流信号213として出力する。なお、本実施形態では、暗電流信号213と画素信号212とは実質的に等しい信号である。
【0035】
図3は、第1実施形態における撮像部11の模式的平面図である。図3に示すように、それぞれ画素を構成している複数の撮像素子11aは、撮像部11の受光面11A上に間隔をおいてマトリクス状に配列されている。
【0036】
図3に示すように、受光面11Aは、中央部に位置する有効領域11A1と、周縁部に位置する遮光領域11A2とを含む。有効領域11A1は、外部からの光を受光可能である。有効領域11A1は、撮像する画像が結像する領域である。一方、遮光領域11A2の上には、遮光部材(図示せず。)が配置されている。このため、遮光領域11A2は、遮光部材により遮光されている。遮光領域11A2には、外部からの光が実質的に到達しない。
【0037】
複数の撮像素子11aは、有効領域11A1及び遮光領域11A2に配置されている。複数の撮像素子11aのうち、有効領域11A1に位置する撮像素子を有効撮像素子11a1とする。一方、複数の撮像素子11aのうち、遮光領域11A2に位置する撮像素子を遮光撮像素子11a2とする。
【0038】
制御部12は、有効撮像素子11a1から出力された画素信号211から画像信号220を形成し、遮光撮像素子11a2から出力された画素信号212(暗電流信号213と実質的に等しい。)に基づいて画像信号220を補正する。制御部12は、この補正された画像信号221を出力する。
【0039】
遮光撮像素子11a2は、図示しない遮光部材により遮光されている。遮光撮像素子11a2には光が実質的に入射しない。このため、遮光撮像素子11a2から出力される画素信号212は、例えば、暗電流の大きさに応じた信号である。このため、遮光撮像素子11a2から出力された画素信号212は、例えば、暗電流等に基づくノイズを除去するために用いることができる。制御部12は、例えば、遮光撮像素子11a2から出力された画素信号212に基づいて、黒基準レベルを決定し、その黒基準レベルに基づいて画像信号220を補正する。この補正により、暗電流等に起因して発生するノイズが除去された画像信号221を得ることができる。
【0040】
本実施形態では、画像信号220の補正に使用する場合の遮光撮像素子11a2からの信号を画素信号212と称呼し、後述する固有鍵240の生成に使用する場合の遮光撮像素子11a2からの信号を暗電流信号213と称呼することとする。
【0041】
なお、本実施形態では、有効領域11A1が中央部に位置しており、遮光撮像素子11a2が有効領域11A1を包囲するように周縁部に設けられている例について説明した。但し、本開示において、有効領域と遮光領域との位置関係は、本実施形態の位置関係に限定されない。本開示において、遮光領域は有効領域に対してどのような位置関係を有していてもよく、遮光領域のみでもよい。
【0042】
(処理部20)
図2に示すように、処理部20は、算出部21と、生成部22と、出力値取得部210とを備えている。
【0043】
出力値取得部210は、デバイス(例えば、イメージセンサ10)に含まれる単位素子(例えば、電荷発生素子)から発生する出力値を取得する。当該出力値は、例えば、複数の遮光撮像素子11a2から出力された、発生した電荷に応じた暗電流信号213である。
【0044】
算出部21は、出力値取得部210により取得される出力値に基づいて、互いに時間が異なる期間に対応する複数の第1素子出力値(以下、単に出力値とも称呼する)を算出する。本実施形態では、算出部21は、相関関数230を算出する。具体的には、算出部21は、複数の遮光撮像素子11a2から出力された、発生した電荷に応じた出力値である暗電流信号213に基づいて、電荷発生期間が相互に異なる複数の出力値を取得する。算出部21は、その電荷発生期間が異なる複数の出力値から、電荷発生期間と出力値との相関関数230を算出する。従って、相関関数230は、電荷発生期間と出力値との相関関数である。
【0045】
なお、本実施形態では、後に詳述するように、電荷発生期間が相互に異なる複数の出力値を累積や演算により求める。従って、本実施形態では、出力値は、詳細には、累積出力値である。なお、電荷発生期間が相互に異なる複数の出力値は、例えば、出力値の加算、乗算等の四則演算により算出することも可能である。また、電荷発生期間が同じまたは相互に異なる複数の出力値を直接取得してもよい。
【0046】
生成部22は、算出部21により算出される複数の出力値と、所定の入力情報とに基づいて、固有値(固有鍵240)を生成する。本実施形態では、生成部22は、相関関数230に基づいて、固有鍵240を生成する。具体的には、生成部22は、固有鍵240として、固有の値を生成する。本実施形態では、より具体的には、生成部22は、相関関数230に基づいて、一の電荷発生期間における出力値を計算し、その計算された出力値に基づいて固有鍵240を生成する。相関関数230に基づく固有鍵240の生成方法の詳細については後述する。
【0047】
なお、固有鍵とは、認証に用いられる情報である。固有鍵240は、情報処理装置1に対して固有に生成される情報であり、従って、生成条件であるチャレンジ200により一義的に決定される情報である。
【0048】
(外部装置2)
図4は、第1実施形態における外部装置2のブロック図である。外部装置2は、例えば、ネットワークを介して情報処理装置1と通信可能な外部サーバ等により構成することができる。
【0049】
図4に示すように、外部装置2は、記憶部81と、指示部82と、認証部84と、通信部83とを備えている。記憶部81と、指示部82と、認証部84と、通信部83とは、バスライン85を介して接続されており、相互に通信可能である。
【0050】
記憶部81は、例えば、RAM(Random Access Memory)等のメモリや、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスク等により構成することができる。
【0051】
記憶部81は、入力情報としてのチャレンジ200と、そのチャレンジ200に対応した固有鍵240としてのレスポンス201との組、またはチャレンジ200とレスポンス201の組を出力する相関係数を構成する値を少なくともひとつ記憶している。以下、チャレンジ200と、そのチャレンジ200に対応したレスポンス201の組を「チャレンジアンドレスポンス」と称呼することがある。
【0052】
チャレンジアンドレスポンスは、一のチャレンジ200と、そのチャレンジ200を情報処理装置1に対して入力したときに生成されるレスポンス201の組のことである。このため、チャレンジアンドレスポンスは、情報処理装置1をブラックボックスとする情報処理装置1に固有のデータである。従って、チャレンジアンドレスポンスは、情報処理装置1なくして生成することは実際上困難である。チャレンジアンドレスポンスは、実際にチャレンジ200を入力して情報処理装置1にレスポンス201を生成させることにより得ることができる。よって、情報処理装置1を用いてチャレンジアンドレスポンスを作成し、その作成したチャレンジアンドレスポンスを外部装置2の記憶部81に記憶させておく必要がある。本実施形態においては、記憶部81は、複数のチャレンジアンドレスポンスの組情報、または上記デバイスの単位素子毎に取得した相関関数に関するデータをデータベースとして記憶している。前記チャレンジアンドレスポンスの組情報と前記相関関数に関するデータは、上記デバイスから取得されず、上記デバイス毎のデータベースを実サンプルとし、実サンプルと異なるデータを出力する敵対的生成ネットワーク(GAN:Generative Adversarial Network)などの機械学習により生成されたデータであってもよい。
【0053】
記憶部81は、さらに、認証部84から入力されるデータ、通信部83を経由して情報処理装置1から送信された画像データ等を記憶する。
【0054】
指示部82は、入力情報としてのチャレンジ200を、通信部83を経由して情報処理装置1の処理部20、具体的には、算出部21及び生成部22に提供すると共に、提供したチャレンジ200に基づいた固有鍵240の生成を処理部20に指示する。詳細には、指示部82は、記憶部81に記憶された複数のチャレンジアンドレスポンスのうちの少なくともひとつを参照する。指示部82は、参照したチャレンジアンドレスポンスのなかから一のチャレンジアンドレスポンスを選択する。指示部82は、選択したチャレンジアンドレスポンスのチャレンジ200を処理部20に対して提供すると共に、そのチャレンジ200に基づいた固有鍵240の生成を処理部20に対して指示する。
【0055】
認証部84は、処理部20が生成した固有鍵240を、通信部83を経由してレスポンス201として受け取る。認証部84は、受け取ったレスポンス201と、提供したチャレンジ200に対応したレスポンス201(使用したチャレンジアンドレスポンスを構成しているレスポンス201)とを比較することにより情報処理装置1の認証を行う。また、記憶部81に保管された相関関数230を構成する値に基づいて、提供したチャレンジ200に対応したレスポンス201(使用したチャレンジアンドレスポンスを構成しているレスポンス201)を算出し、受け取ったレスポンス201と比較することにより、情報処理装置1の認証を行っても良い。相関関数230に基づくレスポンスの生成方法の詳細については後述する。
【0056】
通信部83は、情報処理装置1の通信部60とネットワークを経由して通信可能である。通信部83は、指示部82からのチャレンジ200を通信部60に対して送信する。通信部83は、通信部60から送信されたレスポンス201を受信する。また、通信部83は、通信部60を介して情報処理装置1dはから送信された画像データを受信する。通信部83が有線通信で送受信する場合、通信部60は、データの伝送機能のみを有する電気的配線(LANケーブル、電子回路など)であってもよい。
【0057】
外部装置2は、情報処理装置1に対して認証のためのチャレンジ200を出力し、情報処理装置1から送信されるレスポンス201に基づいて情報処理装置1の認証を行う。ここで、情報処理装置1の認証とは、情報処理装置1が、外部装置2が想定している情報処理装置であるか否かを判定することを意味する。
【0058】
例えば、情報処理装置1が監視カメラである場合、外部装置2は、情報処理装置1との間でチャレンジ200及びレスポンス201の送受信を行うと共に、情報処理装置1から画像データを受け付ける。外部装置2は、画像を受け付ける際に、まず、情報処理装置1の認証を行い、通信先が情報処理装置1であることを確定してから、画像データを受信する。このため、外部装置2は、情報処理装置1からの画像データのみを受信することができる。外部装置2は、情報処理装置1以外の装置からの画像データの受信を拒否する。例えば、情報処理装置1以外の監視カメラが外部装置2にアクセスし、画像データの送信を行ったとしても、認証により他の監視カメラや他のなりすまし装置からの画像データ(例えば、偽造画像データ)の送信であることが判定できるため、誤った画像データを受信することを抑制することができる。また、外部装置2に対して、情報処理装置1以外の認証されていない装置がアクセスすることを好適に規制することができる。従って、外部装置2に対する情報処理装置1を経由したサイバー攻撃を好適に規制することができる。
【0059】
(情報処理装置1の認証)
次に、情報処理装置1の認証について、主として図5図9を参照しながら、詳細に説明する。
【0060】
図5は、第1実施形態における認証のフローチャートである。
【0061】
情報処理装置1の認証に際しては、図5に示すように、まず、ステップS100において、チャレンジ200の送信及びレスポンスを生成する旨の指示が行われる。具体的には、図1に示すように、外部装置2がチャレンジ200を情報処理装置1に対して送信する。それと共に、外部装置2は、情報処理装置1に対してレスポンス201の生成指示を行う。
【0062】
次に、図5に示すステップS200において、情報処理装置1は、送信されたチャレンジ200に基づいて固有鍵240(図2を参照。)を生成する。
【0063】
次に、ステップS300において、情報処理装置1は、生成した固有鍵240に基づくレスポンス201を送信する。
【0064】
次に、ステップS400において、外部装置2は、送信されたレスポンス201に基づいて情報処理装置1の認証を行う。具体的には、外部装置2は、送信されたレスポンス201と、送信したチャレンジ200とチャレンジアンドレスポンスを構成するレスポンス(以下、「認証用レスポンス」ということがある。)とを比較する。外部装置2は、レスポンス201と認証用レスポンスとが一致していると判断したときに、情報処理装置1が真であると認証する。外部装置2は、レスポンス201と認証用レスポンスとが異なっていると判断したときに、情報処理装置1が偽であると認証する。
【0065】
外部装置2により情報処理装置1が真であると認証された場合、外部装置2は、情報処理装置1からの画像データを受け入れる。外部装置2により情報処理装置1が偽であると認証された場合、外部装置2は、情報処理装置1からの画像データを拒絶する。
【0066】
以下、ステップS100、ステップS200、ステップS300及びステップS400について詳細に説明する。
【0067】
(ステップS100:チャレンジの送信及びレスポンス生成指示工程)
図6は、第1実施形態におけるチャレンジの送信及びレスポンス生成指示工程(ステップS100)を表すフローチャートである。
【0068】
図6に示すように、まず、ステップS101において、チャレンジアンドレスポンスの選択が行われる。具体的には、図4に示す指示部82は、記憶部81に記憶されている複数のチャレンジアンドレスポンスのなかから、一のチャレンジアンドレスポンスを選択する。指示部82は、記憶部81に記憶されたチャレンジアンドレスポンスのデータベースに対して、選択したチャレンジアンドレスポンスに選択済みである旨の情報を付与する。その後のチャレンジアンドレスポンスの選択工程においては、記憶部81に記憶された複数のチャレンジアンドレスポンスのうち、選択済みである旨の情報が附されていないチャレンジアンドレスポンスのなかから一のチャレンジアンドレスポンスが選択される。このため、本実施形態においては、記憶部81に記憶されている複数のチャレンジアンドレスポンスのそれぞれは、一度の認証にのみ用いられる。
【0069】
チャレンジ200には、情報処理装置1において特定のレスポンス201が生成可能な情報が含まれている。このため、チャレンジ200が特定されると、情報処理装置1において生成されるレスポンス201も特定される。チャレンジ200の具体的な内容は、情報処理装置1がチャレンジ200に基づいてどのようにレスポンス201(固有鍵)を生成するかによって適宜設定することができる。本実施形態においては、具体的には、チャレンジ200は、以下の(1)~(4)の情報を少なくとも含んでいてもよい。
【0070】
(1)画素を構成している撮像素子11aの位置情報(座標)
(2)撮像素子11aにおいて発生する電荷量に対応した出力値を検出する単位時間及び検出回数(撮像素子11aに光が入射し、露光が行われることにより撮像する場合、単位時間は撮像の露光時間と同一でもよい。)
(3)固有鍵240の生成に用いるデータを作成するために設定する電荷発生期間(Tpm
(4)閾値(Lth
画素を構成している撮像素子11aの位置情報(座標)は、マトリクス状に配列された、複数の単位素子(撮像素子11a)のそれぞれの位置に関する情報を示す。
【0071】
なお、閾値(Lth)を固定値とする場合は、チャレンジ200は、閾値(Lth)を含む必要は必ずしもない。
【0072】
図6に示すように、ステップS101に続いて、ステップS102が行われる。ステップS102においては、図4に示す外部装置2の指示部82が、通信部83を経由して、ステップS101において選択したチャレンジ200を情報処理装置1に送信すると共に、そのチャレンジ200に基づいてレスポンス201を生成することを情報処理装置1に対して指示する。これにより固有鍵240の生成工程(ステップS200)が開始する。
【0073】
(ステップS200:固有鍵240の生成工程)
図7は、第1実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図8は、第1実施形態における固有鍵240の演算方法を説明するための図である。
【0074】
ステップS102においてレスポンス201の生成指示が行われると、ステップS200において、情報処理装置1は、固有鍵240の生成を開始する。具体的には、図7に示すように、まず、ステップS201において、算出部21は、通信部60を経由して、情報処理装置1からチャレンジ200を受信する。上述の通り、チャレンジ200は、画素を構成している撮像素子11aの位置情報(座標)を含む。本実施形態では、チャレンジ200には、m個の画素P(m=1~m)のそれぞれの座標が含まれている。
【0075】
次に、算出部21は、ステップS202において、チャレンジ200に基づいて、複数の画素Pのそれぞれにおける単位時間あたりに発生した電荷に応じた出力値を読み込む。詳細には、算出部21は、複数の画素Pのそれぞれにおいて、単位時間あたりに発生した電荷に応じた出力値をn回読み込む。具体的には、図8に示すように、算出部21は、それぞれ同様の単位時間を有する期間t(n=1~n)あたりに各画素Pから出力される出力値amnを読み込む。さらに具体的には、算出部21は、期間tにおける画素Pからの出力値a11、期間tにおける画素Pからの出力値a12、・・・、期間tにおける画素Pからの出力値a1n、・・・、期間tにおける画素Pからの出力値amnを撮像部11から読み込む。
【0076】
次に、図7に示すステップS203において、図8に示すように、算出部21は、各画素Pからの各期間Tに対応する第1素子出力値Amn(以下、出力値Amnと称呼する)を算出する。
【0077】
なお、期間Tは、下記の式(1)によって定義される。出力値Amnは、画素Pにおける出力値である。出力値Amnは、下記の式(2)によって定義される。
【0078】
【数1】
【0079】
【数2】
ここで、本実施形態では、期間t(t、t、・・・、t)は、すべて同じ長さの期間である。このため、例えば、期間Tは、期間Tの2倍の長さの期間、Tは、Tのn倍の長さの期間となる。このため、複数の出力値Amnは、電荷発生期間が相互に異なる出力値である。
【0080】
なお、期間t(t、t、・・・、t)は、相互に同じ長さである必要は必ずしもない。例えば、期間t(t、t、・・・、t)の各期間の時間が事後的に読み出し可能であるような場合には、期間t(t、t、・・・、t)は、相互に異なる期間であってもよい。
【0081】
次に、図7に示すステップS204において、算出部21は、複数の出力値Amnから、画素P毎に、電荷発生期間Tと出力値Aとの相関関数A=f(T)(図8を参照。)を算出する。算出部21は、算出した相関関数A=f(T)を生成部22(図2を参照。)に出力する。
【0082】
なお、相関関数A=f(T)の算出方法は、特に限定されない。相関関数A=f(T)は、例えば、種々の近似法を用いて算出することができる。相関関数A=f(T)は、例えば、最小二乗法等を用いて算出することができる。詳細には、相関関数A=f(T)は、例えば、実際の出力値と、相関関数Aを用いて算出される出力値との差の二乗和が最小となるように最小二乗法を用いて算出することができる。
【0083】
相関関数A=f(T)は、例えば、ロバスト回帰また適応フィルタ等を用いて算出することもできる。詳細には、相関関数A=f(T)は、例えば、実際の出力値と、相関関数Aを用いて算出される出力値との差の一乗和が最小となるようにロバスト回帰を用いて算出することもできる。また、期間tに出力される出力値A(例えば、A1nなど)間の最適化アルゴリズムに従ってその伝達関数を自己適応させるフィルタ(適応フィルタ)を用い、相関関数A=f(T)を算出してもよい。また、相関関数A=f(T)は、出力値から算出された相関関数と、既に情報処理装置1に設定された関数(例えば、擬似乱数生成アルゴリズムの数式など)と組み合わされた関数であってもよい。
【0084】
次に、図7に示すステップS205において、図8に示すように、生成部22は、相関関数A=f(T)に基づいて、複数の所定の期間(電荷発生期間Tpm(m=1~m))における複数の第2素子出力値L(以下、出力値Lと称呼する)(m=1~m)を算出する。電荷発生期間Tpm(m=1~m)は、各画素Pで同一であってもよいし、異なっていてもよい。また、図7に示すステップS203において、算出部21は、各画素Pからの各期間Tに、チャレンジ200で与えられる電荷発生期間Tpmを与え、出力値Lを算出してもよい。
【0085】
次に、図7に示すステップS206において、図8に示すように、生成部22は、出力値L(m=1~m)と閾値Lthとに基づいて固有鍵240を生成する。
【0086】
詳細には、生成部22は、以下の手順で固有鍵240を生成する。
【0087】
まず、ステップS205において、生成部22は、相関関数A=f(T)に基づいて少なくとも一の電荷発生期間における出力値を計算し、ステップS206において、計算された出力値に基づいて固有鍵240を生成する。
【0088】
記憶部30(図2を参照。)には、所定の電荷発生期間Tpmが記憶されている。生成部22は、記憶部30に記憶された所定の電荷発生期間Tpmを設定する。生成部22は、複数の画素Pのそれぞれについて、設定した電荷発生期間Tpmにおける出力値L(m=1~m)を相関関数A=f(T)に基づいて計算する(ステップS205)。
【0089】
本実施形態では、具体的には、記憶部30には、所定の電荷発生期間Tpmとして、n個の期間T(n=1~n)が記憶されている。生成部22は、チャレンジ200に基づいて、所定の電荷発生期間Tpmを設定する。次に、生成部22は、設定した電荷発生期間Tpmを相関関数A=f(T)に代入することにより、設定した電荷発生期間Tpmにおける出力値L(L、L、・・・、L)を計算する。
【0090】
次に、ステップS206において、生成部22は、計算された複数の出力値Lのそれぞれの閾値Lthに対する大小(閾値Lth以上か、若しくは、閾値Lth未満か)に基づいて、デジタル数値の要素からなる固有鍵240(具体的には、PUFからの固有値)を生成する。閾値Lthは、それぞれの出力値L(m=1~m)間で同一であってもよいし、異なっていてもよい。
【0091】
本実施形態では、チャレンジ200は送信されるたびに変更される。チャレンジ200に含まれる画素P(m=1~m)の座標、電荷発生期間Tpm(m=1~m)閾値Lth等のうちの少なくともひとつが変更されることにより、画素Pが同一であっても複数の異なる固有鍵240の生成が可能となる。
【0092】
本実施形態では、詳細には、記憶部30は、所定の閾値Lthを記憶している。生成部22は、チャレンジ200に基づいて、記憶部30に記憶された所定の閾値Lthを設定する。生成部22は、複数の出力値Lの設定された閾値Lthに対する大小関係(選択された一の閾値Lth以上か、若しくは、閾値Lth未満か)を判定する。生成部22は、例えば、出力値Lが閾値Lth以上のときを「1」とし、閾値Lth未満のときを「0」として、m個の出力値Lをm個の要素からなる固有鍵240に変換する。
【0093】
ステップS206は、複数の出力値Lに対して設定された閾値Lthに対する大小関係で固有鍵240に変換するステップであってもよい。その場合、チャレンジ200に含まれる閾値Lth次第では、固有鍵240を構成する要素のすべてが0または1になる可能性がある。その場合、固有鍵240が、予測可能性の高い(セキュリティの低い)数列になる可能性がある。そのため、予め、セキュリティの低い固有鍵240が算出されるチャレンジ200は除いておくことが好ましい。または、固有鍵240を0と1の個数に偏りの少ない数列にするために、ステップ205で、出力値L(L、L、・・・、L)を計算した後、出力値Lに対して、平均が0で分散が1の数値に変換する正規化を行ってもよい。例えば、出力値Lを規格化した後の値Zを式(3)によって定義される式で出力値Lを変換してもよい。なお、LminとLmaxは、出力値L(L、L、・・・、L)の最大値と最小値を示す。この場合、ステップS206の閾値Lthは、例えば、0.5のような固定値であってもよい。
【0094】
【数3】
出力値Lを中央値または最頻値で除算してもよいし、出力値Lから中央値または最頻値を減算してもよい。出力値Lを中央値または最頻値で除算する場合、ステップS206において使用する閾値Lth、例えば、0.5のような固定値であってもよい。
【0095】
出力値Lの正規化は、例えば、二乗平均平方根が1になる数値に変換する方法や統計学を用いたその他の方法を用いて行うことができる。
【0096】
または、固有鍵240を0と1の個数に偏りの少ない数列にするために、ステップS205で、出力値L(L、L、・・・、L)を計算した後、出力値Lの平均値と分散値とに基づいて、式(4)によって定義される式で出力値Lを変換してもよい。
【0097】
【数4】
【0098】
(ステップS300:レスポンス201の送信工程)
次に、ステップS300(図5を参照。)において、処理部20(図2を参照。)は、生成された固有鍵240をレスポンス201として、通信部60を経由して外部装置2(図1を参照。)に送信する。
【0099】
(ステップS400:認証工程)
次に、ステップS400(図5を参照。)において、外部装置2は、情報処理装置1の認証を行う。
【0100】
図9は、第1実施形態における認証工程(ステップS400)を表すフローチャートである。図9に示すように、認証工程では、まず、ステップS401において、認証部84(図4を参照。)が、通信部83を経由して、情報処理装置1から送信されたレスポンス201を取得する。また、ステップS401において、認証部84は、記憶部81に記憶されている、送信したチャレンジ200に対応するレスポンスを認証用レスポンスとして取得する。
上述の通り、チャレンジ200に対して情報処理装置1により生成されるレスポンス201は確定する。このため、情報処理装置1が真であるならば、レスポンス201と認証用レスポンスとは一致する。
【0101】
次に、ステップS402において、認証部84は、レスポンス201と認証用レスポンスとを対比することにより認証を行う。レスポンス201が認証用レスポンスと一致している場合には、認証部84は、情報処理装置1を真と判断する。レスポンス201が認証用レスポンスと一致していない場合には、認証部84は、情報処理装置1を偽(他の装置が情報処理装置1になりすましている。)と判断する。
【0102】
なお、一致度の判断は、例えば、デジタル信号の誤り率を示すハミング距離を用いて行うことができる。ハミング距離とは、任意の2つのコード間において、互いに対応したビット同士を比較(比較に、例えば排他的論理和を使用してもよい。)した時の値が異なっているビット数の割合である。図15に具体的な演算例を示す。
【0103】
なお、レスポンスを構成している数のすべてが完全に一致している場合に、レスポンス201と認証用レスポンスとが一致していると判断してもよいし、レスポンスを構成している数が所定のハミング距離以下(例えば、m=128でハミング距離0.1以下、0.2以下等)で一致している場合に、レスポンス201と認証用レスポンスとが一致していると判断してもよい。また、連続した複数回の認証結果(例えば、m=128でハミング距離が4回連続0.4以下)をもって判断してもよい。
【0104】
ところで、例えば、相関関数A=f(T)を求めることなく、実際の出力値amn、出力値Amnから固有鍵を直接生成することも考えられる。しかしながら、暗電流値等のイメージセンサ10から得られる出力値は、温度等の条件に依存して変化する。このため、実際の出力値amn、出力値Amnから固有鍵を直接生成すると、情報処理装置1の温度が変化した場合に生成される固有鍵が変化する可能性がある。すなわち、実際の出力値amn、出力値Amnから固有鍵を直接生成した場合、安定して固有鍵を生成することが困難である。換言すれば、情報処理装置の温度条件等の各条件が変化した場合であっても、特定のチャレンジに対して同じ固有鍵が生成されるようにすることは困難である。
【0105】
それに対して、本実施形態では、電荷発生期間が異なる複数の出力値Amnから、電荷発生期間と出力値との相関関数A=f(T)を算出する。そして、算出した相関関数A=f(T)に基づいて固有鍵240を生成する。このように、相関関数A=f(T)を求めることにより、温度条件等の各種条件の変化に伴って発生するノイズを低減することができる。ノイズが低減された相関関数A=f(T)に基づいて固有鍵240を生成することにより、ノイズの影響を低減して安定して固有鍵240を生成することが可能となる。
【0106】
具体的には、本実施形態では、相関関数A=f(T)に基づいて、所定の電荷発生期間Tpmにおける出力値Lを算出する。この出力値Lは、相関関数A=f(T)に基づいて算出されたものであるため、温度条件等の各種条件が変化することに起因して発生したノイズの影響が低減された出力値である。この出力値Lを用いて固有鍵240を生成することにより、ノイズの影響を低減して安定して固有鍵240を生成することが可能となる。
【0107】
本実施形態では、遮光されている遮光撮像素子11a2から出力された画素信号211に基づいて、電荷発生期間が相互に異なる複数の出力値Amnを取得する。遮光撮像素子11a2は、有効撮像素子11a1とは異なり、遮光されており、実質的に受光しない。このため、遮光撮像素子11a2においては、有効撮像素子11a1において発生する光ショットノイズが発生しない。よって、遮光撮像素子11a2からの出力値には、外乱が少ない。従って、遮光撮像素子11a2からの画素信号211に基づく出力値Amnを用いて固有鍵240を生成させることにより、固有鍵240の安定した生成を実現し得る。また、遮光撮像素子11a2からの出力値を取得するためには、デバイスの仕様変更などのような容易にできないことが生じる(必要になる)場合がある。しかし、遮光撮像素子11a2からの出力値を取得することが困難である場合、有効撮像素子11a1から、感光の鈍い露光条件(暗電流の生成速度はデバイスのプロセスで決まるため、感光時間は最小が良いとは限らない(例えば、露光時間1μsec))で、遮光撮像素子11a2からの出力値と実質的に同等な出力値を取得し、固有鍵240を生成させることも実現し得る。
【0108】
本実施形態では、複数の所定の電荷発生期間Tpmから選択した一の電荷発生期間Tpmにおける各画素Pからの出力値L(m=1~m)に基づいて固有鍵240を生成する。このため、固有鍵240の生成に使用する所定の電荷発生期間Tpmを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
【0109】
本実施形態では、所定の閾値Lthを用いて固有鍵240を生成する。このため、固有鍵240の生成に使用する所定の閾値Lthを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
【0110】
本実施形態では、イメージセンサ10が有する複数の撮像素子11aのうちの一部の撮像素子から出力された出力値amnに基づいて出力値Amnを取得して固有鍵240を生成する。このため、固有鍵240の生成に使用する撮像素子11aを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
【0111】
以下、本開示における好ましい実施形態の他の例及び変形例について説明する。以下の説明において、上記第1実施形態と実質的に共通の機能を有する部材を共通の符号で参照し、説明を省略する。
【0112】
(第1変形例)
第1実施形態では、電荷発生素子がフォトダイオードを有する撮像素子である例について説明した。但し、本開示において、電荷発生素子は、電荷を発生させる素子である限りにおいて特に限定されない。
【0113】
電荷発生素子は、例えば、光電変換膜を有する有機イメージセンサであってもよい。電荷発生素子は、例えば、浮遊拡散層または電荷を保持するメモリ等を有する素子であってもよい。浮遊拡散(Floating Diffusion)層とは、シリコン基板等の半導体基板上に設けられた、不純物を含んだ拡散層のことである。浮遊拡散層を有する素子としては、例えば、電荷蓄積ノード等が挙げられる。電荷を保持(蓄積)するメモリの具体例としては、DRAM(Dynamic Random Access Memory)、フラッシュメモリ(Flash Memory)、SRAM(Static Random Access Memory)等が挙げられる。
【0114】
(第2変形例)
第1実施形態では、情報処理装置1がカメラ(具体的には、デジタルビデオカメラ)である例について説明した。但し、本開示において、情報処理装置は、カメラに限定されない。本開示において、情報処理装置は、電荷発生素子を有する装置である限りにおいて特に限定されない。情報処理装置は、例えば、コピー機、コピー機能を有する複合機、パーソナルコンピュータ、スマートフォンやタブレット型パーソナルコンピュータ等の情報端末等であってもよい。
【0115】
(第3変形例)
第1実施形態では、遮光撮像素子11a2からの暗電流信号213(=画素信号212)に基づいて固有鍵240を生成する例について説明した。但し、本開示は、この構成に限定されない。例えば、メカニカルシャッターやモールド樹脂などによりイメージセンサ10に入射する光を遮光し、有効撮像素子11a1からの画素信号211に基づいて固有鍵240を生成してもよい。例えば、有効撮像素子11a1及び遮光撮像素子11a2からの画素信号211、212に基づいて固有鍵240を生成してもよい。例えば、撮像部11に設けられた複数の撮像素子11aのすべてからの画素信号211、212に基づいて固有鍵240を生成してもよい。
【0116】
例えば、情報処理装置1が有効撮像素子11a1及び遮光撮像素子11a2のうちの一方のみを有していてもよい。遮光撮像素子11a2のみを有する情報処理装置1の例としては、腕時計、ウエアブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子ロック、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等のネットワークに接続する情報機器等が挙げられる。
【0117】
(第4変形例)
図2に示す、第1実施形態に係る情報処理装置1のブロック図では、算出部21及び生成部22を描画しているが、算出部21及び生成部22を物理的に設ける必要は必ずしもない。例えば、LSI(Large Scale Integration)、マイコン(Micro Controller)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等により構成された処理部20に、固有鍵240の生成工程(ステップS300)を実行させるプログラムが格納されていてもよい。また、固有鍵240の生成工程(ステップS300)を実行させるためのプログラムが、記憶媒体に記憶されていてもよい。さらには、固有鍵240の生成工程(ステップS300)を実行させるためのプログラムが、インターネット等を経由して配信されてもよい。
【0118】
(第5変形例)
第1実施形態では、出力値Lと閾値Lthとを比較することにより生成した固有値を固有鍵240として生成する例について説明した。但し、本開示はこの構成に限定されない。生成部22は、例えば、PUFからの固有値に対して、さらに別のデータを追加して固有鍵240を生成してもよい。PUFからの固有値に対して追加する別のデータは、特に限定されない。PUFに対して追加する別のデータの具体例としては、例えば、イメージセンサ10から出力される画像の撮影日時に関するデータ等が挙げられる。撮影日時等の別のデータは、例えば、固有鍵240のヘッダやフッタに埋め混まれていてもよいし、ファイル名として埋め混まれていてもよい。
【0119】
(第6変形例)
第1実施形態では、情報処理装置1から固有鍵240を外部装置2に対して送信する例について説明した。但し、本開示は、これに限定されない。例えば、情報処理装置は、固有鍵240を暗号化し、暗号化した固有鍵240を外部装置2に対して送信してもよい。
【0120】
(第7変形例)
第1の実施形態では、情報処理装置1がレスポンス201を生成する例について説明した。但し、本開示は、この構成に限定されない。外部装置2が、乱数を含むチャレンジ200を生成し、生成したチャレンジ200に基づいて、レスポンス201を生成してもよい。
【0121】
図10Aは、本変形例に係る外部装置2のブロック図である。図10Aに示すように、本変形例に係る外部装置2の指示部82は、乱数生成部1001を備え、認証部84は、算出部1002と、生成部1003とを備える。
【0122】
乱数生成部1001は、乱数を生成する。指示部82は、乱数生成部1001が生成した乱数を含むチャレンジを生成する。算出部1002は、乱数生成部1001が生成したチャレンジに対応する相関関数A=f(T)を算出する。算出部1002は、算出部21と実質的に同様の機能を有する。このため、算出部1002の説明として、情報処理装置1に含まれる算出部21の説明を援用する。
【0123】
生成部1003は、算出部1002が算出した相関関数A=f(T)を構成する値に基づいて、固有鍵(レスポンス201)を生成する。生成部1003は、生成部22と実質的に同様の機能を有する。このため、生成部1003の説明として、情報処理装置1に含まれる生成部22の説明を援用する。
【0124】
図10Bは、本変形例におけるレスポンス201の算出処理のフローチャートである。なお、記憶部81は、指示部82によって生成されるチャレンジ200に対応する、各画素Pの相関関数A=f(T)を構成する値を予め記憶するものとする。
【0125】
図10Bに示すステップS403において、指示部82は、乱数生成部1001によって生成された乱数を含むチャレンジ200を生成する。指示部82によって生成されるチャレンジ200は、少なくとも、m個の単位素子(例えば、画素P)のそれぞれの位置情報(座標)と、電荷発生期間Tpmとを含む。
【0126】
ステップS404において、算出部1002は、ステップS403で生成されたチャレンジ200に含まれる位置情報を読み込む。ステップ405において、算出部1002は、ステップS403で生成されたチャレンジ200に対応する、記憶部81に記憶される各画素Pの相関関数A=f(T)を構成する値を読み込む。
【0127】
S406において、生成部1003は、S405で読み込まれた各画素Pの相関関数A=f(T)を構成する値と、S403で生成されたチャレンジ200に含まれる電荷発生期間Tpmとに基づいて、出力値Lを算出する。
【0128】
S407において、生成部1003は、S406で算出した出力値Lに基づいて、固有鍵(レスポンス201)を生成する。S406及びS407の処理は、S205及びS206の処理と同様であり、詳細な説明は省略する。
【0129】
以上より、本変形例においては、外部装置2が、生成したチャレンジ200に対応するレスポンス201を生成する。
【0130】
(第8変形例)
第1の実施形態では、認証工程(S400)を開始する時点において、外部装置2の記憶部81に、チャレンジアンドレスポンスが記憶されている例について説明した。但し、本開示は、この構成に限定されない。図10Aに例示するように、外部装置2の認証部84が、算出部1002と、生成部1003とを含む場合、認証工程(S400)が開始される段階で、外部装置2が、認証用レスポンスを生成してもよい。
【0131】
図10Cは、本変形例における認証用レスポンス生成処理のフローチャートである。認証工程(S400)が開始される段階で、図10Cに示すS1101の処理が開始される。なお、記憶部81は、指示部82によって生成されるチャレンジ200に対応する、各画素Pの相関関数A=f(T)を構成する値を予め記憶するものとする。
【0132】
S1101において、算出部1002は、チャレンジ200に含まれる位置情報を読み込む。S1102において、算出部1002は、チャレンジ200に対応する、記憶部81に記憶される各画素Pの相関関数A=f(T)を構成する値を読み込む。
【0133】
S1103において、生成部1003は、S1101で読み込まれた、各画素Pの相関関数A=f(T)を構成する値と、S403で生成されたチャレンジ200に含まれる電荷発生期間Tpmとに基づいて、出力値Lを算出する。S1104において、生成部1003は、S1103で算出した出力値Lmに基づいて、固有鍵(認証用レスポンス)を生成する。S1103及びS1104の処理は、S205及びS206の処理と同様であり、詳細な説明は省略する。
【0134】
以上より、本変形例においては、認証工程(S400)が開始される段階で、外部装置2が、チャレンジ200と、生成部1003が生成した固有鍵(認証用レスポンス)との組を、チャレンジアンドレスポンスとして生成する。
【0135】
(第2実施形態)
図11は、第2実施形態に係る情報処理装置1aのブロック図である。
【0136】
第1実施形態では、情報処理装置1がイメージセンサ10を備えている例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、イメージセンサを有していなくてもよい。
【0137】
図11に示すように、第2実施形態に係る情報処理装置1aは、第1実施形態に係る情報処理装置1とは異なり、イメージセンサ10を備えていない。情報処理装置1aは、バスライン70に接続された接続部90を備えている。接続部90には、イメージセンサ10を備える撮像装置3が接続可能に構成されている。情報処理装置1aのように、イメージセンサ10を備える撮像装置3が接続可能である場合においても、情報処理装置1aの各部と、イメージセンサ10とが接続部90及びバスライン70を介して接続可能である。従って、第1実施形態と同様に、イメージセンサ10からの画素信号211に基づいて固有鍵240を生成することが可能である。
【0138】
撮像装置3は、例えば、イメージセンサ10をモジュール化したカメラモジュール等であってもよい。例えば、スマートフォンまたはタブレット型パーソナルコンピュータ等の情報端末において生体認証を行う場合、情報処理装置への偽造認証データを防止すために、撮像装置3で生成させた認証データのヘッダやフッタまたは認証データ自体に、固有鍵240を埋め込み、生体認証における撮影装置および認証データの偽造判断に用いてもよい。
【0139】
情報処理装置1aは、撮像装置3にネットワークを介して接続可能であってもよい。
【0140】
また、通信部60も撮像装置3に設けられていてもよい。情報処理装置は、例えば、処理部20のみにより構成されていてもよい。
【0141】
(第3実施形態)
図12は、第3実施形態に係る情報処理装置1bのブロック図である。第1実施形態に係る情報処理装置1は、情報処理装置1を認証するために固有鍵240を使用する。但し、本開示において、固有鍵の使用用途は、情報処理装置の認証に限定されない。例えば、固有鍵を情報の暗号化に用いてもよい。
【0142】
第3実施形態に係る情報処理装置1bは、第1実施形態と同様に固有鍵240を情報処理装置1bの認証に用いるのみならず、情報の暗号化にも用いる。具体的には、撮像部11により撮像された画像データの暗号化にも固有鍵240を用いる。
【0143】
図12に示すように、情報処理装置1bの処理部20は、暗号化部23をさらに有する。暗号化部23は、イメージセンサ10から出力された画像データを、生成部22により生成された固有鍵240を用いて暗号化する。暗号化部23は、暗号化した画像データを、記憶部30に記憶させたり、通信部60を介して外部装置2等に送信したりする。
【0144】
なお、固有鍵240を用いて画像データを暗号化する方法は、特に限定されない。固有鍵240を用いて画像データを暗号化する方法の具体例としては、例えば、共有鍵暗号で用いられているAES(Advanced Encryption Standard)など、公開鍵暗号で用いられているRSA暗号、楕円曲線暗号(Elliptic Curve Cryptography)など、デジタル署名で用いられる楕円曲線DSA(Elliptic Curve Digital Signature Algorithm)などの暗号アルゴリズムが挙げられる。
【0145】
また、暗号通信で使用される使い捨てのランダムな値(ノンス)、またはパスワードを暗号化する際に付与されるランダムな値(ソルト)の生成に固有鍵240を用いても構わない。
【0146】
固有鍵240を用いて暗号化するデータは、画像データに限らず、腕時計、ウエアブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、自動調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子鍵、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等のネットワークに接続する情報機器等のデータ(非画像データ)でも構わない。
【0147】
(第9変形例)
第3実施形態では、固有鍵240を画像データの暗号化と、情報処理装置1bの認証との両方に使用する例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、固有鍵240を画像データの暗号化のみに使用してもよい。
【0148】
(第10変形例)
画像などのデータの暗号化におけるアルゴリズムで用いる乱数を発生する乱数発生アルゴリズム(例えば、暗号論的擬似乱数生成器(cryptographically secure pseudo random number generator)のシード値(初期値)に固有鍵240を用いてもよい。
【0149】
(第4実施形態)
図13は、第4実施形態に係る情報処理装置1cのブロック図である。図13に示すように、情報処理装置1cの処理部20は、組込部24を更に有する。組込部24は、生成部22が生成した固有鍵240を、イメージセンサ10から出力された画像(静止画像でもよいし、動画像でもよい。)データに対して組み込んで一体化する。詳細には、組込部24は、画像データを構成しているワンショットまたは複数フレームのそれぞれに対して、組み込み前後での画像の違い(例えば、解像度、明るさ、コントラストなど)が少なくとも見た目ではわからないように固有鍵240を組み込んでいく。すなわち、組込部24は、情報ハインディング技術により画像データに固有鍵240を組み込む。固有鍵240を画像データに情報ハインディングすることにより画像データが改ざんされたときに、改ざんされた痕跡が残るようにすることができる。すなわち、画像データの改ざんをトレース可能にできる。画像データへの固有鍵240の組み込み方法は、情報ハインディング技術に限らず、画像データのヘッダ、フッタ、またはメタデータ部かメディアデータ部の一部に追記する方法でもよい。
【0150】
(第11変形例)
第4実施形態に係る情報処理装置1cの処理部20は、組込部24と暗号化部23とを有しており、固有鍵240が情報ハインディング技術により組み込まれた画像データを、固有鍵240を用いて暗号化した暗号化データを外部装置2に対して送信する例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、固有鍵240を情報ハインディング技術により組み込まれた画像データを送信してもよい。
【0151】
(第5実施形態)
図14は、第5実施形態に係る情報処理装置1dのブロック図である。第1実施形態では、情報処理装置1が指示部82及び認証部84を備えていない例について説明した。但し、本開示は、この構成に限定されない。
【0152】
図14に示すように、第5実施形態に係る情報処理装置1dの処理部20は、指示部82と認証部84とをさらに有する。処理部20に含まれる指示部82は、外部装置2に含まれる指示部82と実質的に同様の機能を有する。このため、処理部20に含まれる指示部82の説明として、第1実施形態の外部装置2に含まれる指示部82の説明を援用する。処理部20に含まれる認証部84は、外部装置2に含まれる認証部84と実質的に同様の機能を有する。このため、処理部20に含まれる認証部84の説明として、第1実施形態の外部装置2に含まれる認証部84の説明を援用する。第5実施形態においては、記憶部30が、外部装置2に含まれる記憶部81の機能を兼ね備えている。
【0153】
第5実施形態に係る情報処理装置1dのように、情報処理装置は、自己認証するための機構を備えていてもよい。第5実施形態に係る情報処理装置1dは、指示部82と認証部84とを備えている。このため、情報処理装置1dは、自己認証を行うことが可能である。例えば、情報処理装置1dの内部ハードウェア(オペレーティングシステム等)または半導体メモリカードのような外付けハードウェア(監視カメラなどの記録データ等)が物理的に奪われた場合、内部ハードディスクまたは外付けハードディスクのロック解除を、情報処理装置1dの自己認証の結果を受けて行うこともでき、固有鍵240を物理的な情報漏洩の防止に使用することもできる。
【0154】
(第12変形例)
上記実施形態及び変形例では、期間と出力値との相関関数に基づいて固有鍵を生成する例について説明した。但し、本開示は、これに限定されない。
【0155】
例えば、期間と出力値との相関に関するパラメータに基づいて固有鍵を生成してもよい。ここで、「期間と出力値との相関に関するパラメータ」とは、期間と出力値との相関関係に関わるパラメータ全般を意味する。「期間と出力値との相関に関するパラメータ」は、そのパラメータを用いることにより、所定の期間に対して出力値を算出可能なパラメータであることが好ましい。「期間と出力値との相関に関するパラメータ」は、例えば、期間と出力値との相関関数を構成する係数等であってもよいが、期間と出力値との相関関数と全く関係しないパラメータであってもよい。
【0156】
例えば、「期間と出力値との相関に関するパラメータ」が期間と出力値との相関関数を構成する係数である場合、記憶部30に相関関数の基本式が記憶されており、「期間と出力値との相関に関するパラメータ」が与えられることにより、相関関数が決定されてもよい。
【0157】
例えば、「期間と出力値との相関に関するパラメータ」が期間と出力値との相関関数を構成する係数である場合、パラメータは、相関関数を経由して算出されてもよいが、相関関数を経由せずに算出されてもよい。すなわち、本開示において、相関関数が算出される必要性は必ずしもない。例えば、相関関数が算出されることなく、相関に関するパラメータが算出されてもよい。
【0158】
(第13変形例)
上記実施形態及び変形例では、一定の電荷発生期間(フレーム)に対する出力値が取得され、その出力値を累積することにより、電荷発生期間が相互に異なる複数の出力値を算出する例について説明した。但し、本開示は、これに限定されない。例えば、期間が相互に異なる複数の出力値を直接取得してもよい。
【0159】
(第14変形例)
上記実施形態及び変形例では、複数の電荷発生素子から出力される、発生した電荷に応じた出力値から相関関数等を算出する例について説明した。但し、本開示は、これに限定されない。例えば、デバイスがひとつの電荷発生素子を有していてもよい。その場合、図8に示す相関関数等は、ひとつのみ与えられることになるが、例えば、図8の電荷発生期間(T)を複数与えることにより、固有鍵の生成が可能となる。従って、本開示において、デバイスが複数の電荷発生素子を有している必要は必ずしもない。本開示において、デバイスは、ひとつの電荷発生素子を有していてもよい。
【0160】
(第15変形例)
上記実施形態及び変形例では、外部装置2がチャレンジ200を送信する例について説明した。但し、本開示は、これに限定されない。例えば、情報処理装置の操作者がチャレンジを入力してもよい。
【0161】
(第16変形例)
上記実施形態及び変形例では、ひとつのチャレンジ200が入力され、それに対してひとつのレスポンス201が出力される例について説明した。但し、本開示は、これに限定されない。
【0162】
例えば、情報処理装置に対して複数のチャレンジが入力され、複数のチャレンジのそれぞれに対して固有鍵が生成されてもよい。その場合、生成された複数の固有鍵を論理演算(例えば、論理和OR、排他的論理和XOR)し、その演算結果に基づいてレスポンスを生成させてもよい。
【0163】
(第6実施形態)
図16は、第6実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。図17は、第6実施形態における固有鍵の演算方法を説明するための図である。
【0164】
上記実施形態等では、期間と出力値との相関関数または期間との出力値との相関に関するパラメータに基づいて固有鍵を生成する例について説明した。但し、本開示は、これに限定されない。例えば、本実施形態では、デバイスの複数の電荷発生素子のそれぞれから出力される、発生した電荷に応じた複数の出力値に基づいて、複数の電荷発生素子のそれぞれにおける、単位時間あたりに発生する電荷に関する出力値を算出するための条件を取得し、その条件に基づいて固有鍵を生成する。以下、本実施形態における固有鍵の生成処理について、図16及び図17を参照しながら詳細に説明する。それ以外については、上記実施形態と共通するため、上記実施形態の記載を援用するものとする。
【0165】
情報処理装置が固有鍵240の生成を開始すると、図16に示すように、まず、第1実施形態と同様に、ステップS201において、算出部21は、通信部60を経由して、情報処理装置1からチャレンジ200を受信する。チャレンジ200は、画素を構成している撮像素子11aの位置情報(座標)を含む。本実施形態では、チャレンジ200には、m個の画素P(m=1~m)のそれぞれの座標が含まれている。または、チャレンジ200には、第1実施形態と同様の情報を含み、上記(1)~(4)の情報を少なくとも含んでいてもよい。
【0166】
次に、算出部21は、ステップS202において、チャレンジ200に基づいて、複数の画素Pのそれぞれにおける単位時間あたりに発生した電荷に応じた出力値を読み込む。詳細には、算出部21は、複数の画素Pのそれぞれにおいて、単位時間あたりに発生した電荷に応じた出力値をn回読み込む。具体的には、図17に示すように、算出部21は、それぞれ同様の単位時間を有する期間t(n=1~n)あたりに各画素Pから出力される出力値amnを読み込む。さらに具体的には、算出部21は、期間tにおける画素Pからの出力値a11、期間tにおける画素Pからの出力値a12、・・・、期間tにおける画素Pからの出力値a1n、・・・、期間tにおける画素Pからの出力値amnを撮像部11から読み込む。
【0167】
なお、本実施形態において、複数の期間tは、相互に同じ長さである。期間tは、例えば、動画像を構成する1フレームに対応する期間であってもよい。
【0168】
次に、図16に示すステップS204において、算出部21は、画素P毎における、単位時間あたりに発生する電荷に関する出力値を算出するための条件として、図17に示す相関関数A=f(t)を算出する。算出部21は、算出した相関関数A=f(t)を生成部22(図2を参照。)に出力する。
【0169】
図17に示すグラフにおいては、横軸に、期間tが等間隔に配置されている。本実施形態では、期間tが相互に等しいため、相関関数A=f(t)は、理想的には、傾きが0である水平な関数になると考えられる。そのため、本実施形態の画素Pからの出力値の階調が、1ビットであってもよい。
【0170】
相関関数A=f(t)は、上述の通り、例えば、最小二乗法やロバスト回帰または最適化アルゴリズムに従って自己適応させる適応フィルタ等により算出することができる。本実施形態では、相関関数A=f(t)は、互いに時間が異なる複数の期間tの各出力値の累積出力値、または当該累積出力値をnまたはnを整数で割った値(例えば、n/2)で除算または剰余であってもよい。
【0171】
次に、図16に示すステップS205において、図17に示すように、生成部22は、画素P毎に算出された相関関数A=f(t)に基づいて、画素P毎に単位時間(t)あたりの出力値に相当する出力値L(m=1~m)を算出する。または、生成部22は、算出した出力値L(m=1~m)と、チャレンジ200で与えられる電荷発生期間Tpm(m=1~m)とを四則演算した値を、画素P毎に単位時間(t)あたりの出力値に相当する出力値L(m=1~m)として算出してもよい。
【0172】
次に、図16に示すステップS206において、図17に示すように、生成部22は、出力値L(m=1~m)と閾値Lthとに基づいて固有鍵240を生成する。
【0173】
本実施形態においても、第1実施形態等と同様に、各電荷発生素子から出力された出力値から直接的に固有鍵を生成せず、一旦出力値を算出するための条件を算出し、その条件に基づいて固有鍵を生成する。このため、仮に、各電荷発生素子から出力された出力値にノイズ等が含まれている場合であっても、固有鍵を安定して生成することが可能である。
【0174】
(第7実施形態)
第7実施形態に係る情報処理装置1700について、図18を参照しながら、詳細に説明する。図18は、情報処理装置1700の構成の一例を示す図である。図18に示す通り、情報処理装置1700は、多値デバイス1710を含む。
【0175】
多値デバイス(単に、デバイスとも称呼する)1710は、2ビット以上の階調の出力値を出力する単位素子1711を含む。ここで、本開示において、単位素子1711は、1の素子又は2以上の素子の集合であるものとする。
【0176】
単位素子1711は、例えば、フォトダイオード、浮遊拡散層または電荷を保持する層を有する電荷発生素子、または電荷を蓄積(保持)し、電気または光学特性の分布が一様ではない(即ち、2ビット以上の階調の出力値を出力する演算記憶素子(フラッシュメモリ、抵抗変化型メモリ))であってもよい。さらに、本開示において、単位素子1711は、記憶素子に記憶される2ビット以上の階調のデータを示してもよい。
【0177】
さらに、情報処理装置1700は、出力値取得部1701と、算出部1702と、生成部1703とを備える。出力値取得部1701は、単位素子1711から出力される出力値を取得する。具体的には、出力値取得部1701は、所定の入力情報に基づいて、単位素子1711から出力される所定の出力値を取得する。ここで、単位素子1711が、2以上の記憶素子を含んで構成される場合、出力値取得部1701は、当該単位素子1711が記憶するデータを、出力値として取得してもよい。
【0178】
算出部1702は、取得される時間が異なる、単位素子1711から出力される出力値に基づいて、所定の入力情報に基づく所定の期間に対応する複数の第1素子出力値を算出する。生成部1703は、複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する。
【0179】
これにより、情報処理装置1700は、多値デバイス1710に固有の単位素子1711と、所定の入力情報とに応じた固有値を生成する。このため、情報処理装置1700は、多値デバイス1710に含まれる単位素子1711の特性に応じた固有値を生成できる。
【0180】
また、情報処理装置1700は、単位素子から出力された出力値から直接的に固有値を生成せず、一旦、当該出力値に基づいて第1素子出力値を算出し、当該第1素子出力値と、所定の入力情報とに基づいて、固有値を算出する。このため、情報処理装置1700は、単位素子から出力された出力値に含まれるノイズの影響を低減して安定して固有値を生成することが可能になる。
【0181】
(第17変形例)
本変形例においては、情報処理装置1700は、多値デバイス1710のチャレンジアンドレスポンスの組情報または相関関数に関するデータを実サンプルとし、実サンプルと異なるデータを出力する敵対的生成ネットワーク(GAN:Generative Adversarial Network)などの機械学習により生成されたデータを保存するデバイスを含んでもよい。その場合、当該デバイスは、2ビット以上の階調のデータから構成される、複数のデータの集合を記憶するものとする。さらに、本変形例において、単位素子1711は、2ビット以上の階調のデータを示すものである。
【0182】
本変形例において、出力値取得部1701は、データを保存するデバイスから単位素子1711に対応するデータを、出力値として取得する。算出部1702は、取得した出力値(即ち、単位素子1711に対応するデータ)に基づいて、所定の入力情報に基づく所定の期間に対応する複数の第1素子出力値を算出する。生成部1703は、複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する。
【0183】
これにより、本変形例においては、情報処理装置1700は、多値デバイス1710に記憶されるデータと、所定の入力情報とに応じた固有値を生成する。このため、情報処理装置1700は、多値デバイス1710に記憶されるデータに応じた固有値を生成できる。
【0184】
(第8実施形態)
第8実施形態に係る情報処理装置1について、図19を参照しながら、詳細に説明する。
【0185】
図19は、第8実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図19に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。
【0186】
算出部21は、複数の出力値Amnから、画素P毎に、電荷発生期間Tと出力値Aとの相関関数A=f(T)を算出した場合(ステップS204)、画素Pに対応する、所定の期間T=K(Kは定数、例えば、K=1)における相関関数A=f(T=K)の出力値Aを算出する(ステップS1801)。具体的には、算出部21は、所定の期間T=Kを相関関数A=f(T)に代入することにより、相関関数A=f(T=K)の出力値Aを算出する。
【0187】
相関関数A=f(T)に、チャレンジ200に基づいて設定された電荷発生期間Tpmを代入した場合、代入された複数の電荷発生期間Tpmと、相関関数A=f(T)の複数の出力値とに基づいて、相関関数A=f(T)を推測されるおそれがある。しかし、算出部21が、所定の期間T=Kにおける各画素Pに対応する相関関数A=f(T=K)の出力値Aを算出することで、電荷発生期間Tpmに基づいて、相関関数を推測することを困難にできる。
【0188】
ステップS1802において、算出部21は、算出された出力値Aを規格化して二値化した値A_normal(m=1~m)を算出する。例えば、算出部21は、出力値Aに対して、平均が0で分散が1の数値に変換する正規化を行い、閾値を0で二値化し、A_normalを算出する。
【0189】
ステップS1803において、算出部21は、電荷発生期間Tpmを規格化して二値化した値T_normalpm(m=1~m)を算出する。例えば、算出部21は、電荷発生期間Tpmに対して、平均が0で分散が1の数値に変換する正規化を行い、閾値を0で二値化し、T_normalpmを算出する。
【0190】
ステップS1804において、算出部21は、算出された値A_normalと、算出された値T_normalpmとを論理関数(例えば、排他的論理和)により演算し、出力値Lを算出する。
【0191】
ステップS1805において、生成部22は、算出された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS1805の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
【0192】
以上により、本実施形態では、情報処理装置1は、相関関数を推測することを困難にし、且つ、各画素Pに基づく出力値Aと、電荷発生期間Tpmとを規格化することにより、「0」と、「1」とが均等に混ざり合った、予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
【0193】
(第9実施形態)
第9実施形態に係る情報処理装置1について、図20を参照しながら、詳細に説明する。
【0194】
図20は、第9実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図20に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図20に示すステップS1901の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
【0195】
算出部21は、相関関数A=f(T=K)(Kは定数、例えば、K=1)の出力値Aを算出した場合(ステップS1901)、算出部21は、式(5)及び式(6)によって定義される式で、チャレンジ200で与えられる電荷発生期間Tpmと、算出された相関関数の出力値Aとの剰余を規格化し、出力値Lを算出する(ステップS1902)。具体的には、算出部21は、チャレンジ200に基づいて設定された電荷発生期間Tpm(以下、電荷発生期間Tpmの設定値とも称呼する)と、算出された相関関数の出力値Aとの大小関係を判定し、大きい方の値を小さい方の値で除算した剰余を、出力値Lとして算出する。
【0196】
例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値Aより大きい場合、式(5)によって定義される式で、電荷発生期間Tpmの設定値を出力値Aで除算した剰余を、出力値Lとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値A以下である場合、式(6)によって定義される式で、出力値Aを電荷発生期間Tpmの設定値で除算した剰余を、出力値Lとして算出する。
【0197】
【数5】
【数6】
【0198】
ステップS1903において、生成部22は、算出された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS1903の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
【0199】
以上により、本実施形態では、情報処理装置1は、各画素Pに基づく出力値Aと電荷発生期間とTpmとの剰余を規格化することで、予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
【0200】
(第10実施形態)
第10実施形態に係る情報処理装置1について、図21を参照しながら、詳細に説明する。
【0201】
図21は、第10実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図21に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図21に示すステップS2001の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
【0202】
算出部21は、相関関数A=f(T=K)の出力値Aを算出した場合(ステップS2001)、式(7)及び式(8)によって定義される式で、チャレンジ200に基づいて設定された電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値Lを算出する(ステップS2002)。つまり、本実施形態では、算出部21は、電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値Lを算出する。
【0203】
例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値Aより大きい場合、式(7)によって定義される式で、電荷発生期間Tpmの設定値を出力値Aで除算した剰余と、出力値Am+1との和を、出力値Lとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値A以下である場合、式(8)によって定義される式で、出力値Aを電荷発生期間Tpmの設定値で除算した剰余と、出力値Am+1との和を、出力値L(m=1~m)として算出する。なお、算出部21は、画素Pm+1に基づく出力値Am+1を算出しない場合、算出部21は、画素Pに基づく出力値Aと、画素Pに基づく出力値Aとに基づいて、出力値Lを算出する。
【0204】
【数7】
【数8】
【0205】
ステップS2003において、算出部21は、算出された出力値L(m=1~m)を規格化する。出力値Lを規格化する方法は、上記の通りであり、詳細な説明は省略する。
【0206】
ステップS2004において、生成部22は、規格化された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS2004の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
【0207】
以上により、本実施形態では、情報処理装置1は、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、画素Pに対応する出力値Lを算出し、規格化することで、より一層予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
【0208】
(第11実施形態)
第11実施形態に係る情報処理装置1について、図22を参照しながら、詳細に説明する。
【0209】
図22は、第11実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図22に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図22に示すステップS2101の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
【0210】
算出部21は、相関関数A=f(T=K)の出力値Aを算出した場合(ステップS2101)、式(9)及び式(10)によって定義される式で、チャレンジ200に基づいて設定された電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値L1mを算出する(ステップS2102)。ステップS2102における出力値L1mを算出する方法は、ステップS2002における出力値Lを算出する方法と同様であるため、詳細な説明は省略する。
【0211】
【数9】
【数10】
【0212】
ステップS2103において、算出部21は、式(11)及び式(12)によって定義される式で、電荷発生期間Tpmと、算出された出力値L1mとに基づいて、出力値L2mを算出する。具体的には、算出部21は、チャレンジ200に基づいて設定された電荷発生期間Tpmと、算出された出力値L1mとの大小関係を判定し、大きい方の値を小さい方の値で除算した剰余を、出力値L2mとして算出する。
【0213】
例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値L1mより大きい場合、式(11)によって定義される式で、電荷発生期間Tpmの設定値を出力値L1mで除算した剰余を、出力値L2mとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値L1m以下である場合、式(12)によって定義される式で、出力値L1mを電荷発生期間Tpmの設定値で除算した剰余を、出力値L2mとして算出する。
【0214】
【数11】
【数12】
【0215】
ステップS2104において、算出部21は、算出された出力値L2m(m=1~m)を規格化する。出力値L2mを規格化する方法は、出力値Lを規格化する方法と同様であり、出力値Lを規格化する方法は上記の通りであるため、詳細な説明は省略する。
【0216】
ステップS2105において、生成部22は、規格化された出力値L2m(m=1~m)に基づいて、固有鍵240を生成する。ステップS2105の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
【0217】
以上により、本実施形態では、情報処理装置1は、出力値L1mと電荷発生期間Tpmとの剰余を規格化し、規格化された出力値L2mに基づいて固有鍵240を生成することで、より一層予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
【0218】
(第12実施形態)
第12実施形態に係る情報処理装置1について、図23図25を参照しながら、詳細に説明する。
【0219】
第12実施形態に係る生成部22は、出力値L(m=1~m)の分布に応じた分布位置情報を含む、多値化符号の固有鍵240を生成する。ここで、図23に示すように、出力値Lは、素子の製造ばらつきに起因するため、出力値Lの分布は、正規分布で示すことができる。そこで、生成部22は、複数の出力値Lの閾値Lthと、出力値Lのそれぞれとの大小関係に基づいて、複数の出力値Lのそれぞれに対応する分布位置情報を決定する。生成部22は、決定した分布位置情報を含む、多値化符号の固有鍵240を生成する。なお、本実施形態では、閾値Lthは、複数の出力値Lに応じた値である。例えば、閾値Lthは、複数の出力値Lの中央値である。
【0220】
例えば、図23に示すように、生成部22は、出力値Lの分布において、閾値Lth未満であり、且つ第2閾値Lth1(第2閾値Lth1<閾値Lth)未満の出力値Lを「00」とする分布位置情報を決定する。さらに、生成部22は、第2閾値Lth1以上であり、且つ閾値Lth未満の出力値Lを「01」とする分布位置情報を決定する。さらに、生成部22は、閾値Lth以上であり、且つ第3閾値Lth2(第3閾値Lth2>閾値Lth)未満の出力値Lを「10」とする分布位置情報を決定する。さらに、生成部22は、第3閾値Lth2以上を「11」とし、複数の出力値Lのそれぞれに対応する分布位置情報を決定する。これにより、決定される分布位置情報「00」、「01」、「10」、「11」はそれぞれ、出力値L(m=1~m)の分布に応じた値となる。
【0221】
本実施形態においては、チャレンジ200は、上記(1)~(4)の情報とともに、以下の(5)の情報をさらに含む。
(5)更新固有値(以下、更新レスポンスとも称呼する)の大きさ(Ysize)を示す更新固有値情報
【0222】
更新固有値(更新レスポンス)は、生成部22により生成される多値化符号の固有鍵240に基づく値である。更新レスポンスの大きさYsizeは、更新レスポンスとして出力されるコード長(ビット数)を示す。例えば、更新固有値情報が、Ysize=16を示す場合、更新レスポンスのコード長は、16ビットであることを示す。つまり、更新固有値情報がYsize=16を示す場合、更新レスポンスが、0又は1から構成される16個の要素からなることを示す。
【0223】
複数の素子位置情報の個数mは、更新固有値情報により示される更新レスポンスの大きさYsizeを超える。換言すると、複数の素子位置情報により示される単位素子の位置の個数m(即ち、単位素子の総数)は、チャレンジ200により与えられる更新レスポンスの大きさYsizeより大きい。素子位置情報は、例えば、画素を構成する撮像素子11aの位置情報(座標)の数である。
【0224】
生成部22は、分布位置情報「00」に対応する出力値Lの個数が、チャレンジ200により与えられる更新レスポンスの大きさYsize/2個となるように、第2閾値Lth1を決定する。同様に、生成部22は、分布位置情報「11」に対応する出力値Lの個数が、チャレンジ200により与えられる更新レスポンスの大きさYsize/2個となるように、第3閾値Lth2を決定する。
【0225】
つまり、分布位置情報「00」に対応する出力値Lの個数と、分布位置情報「11」に対応する出力値Lの個数との合計が、更新レスポンスの大きさYsizeと同数であるように、第3閾値Lth2を決定する。さらに、生成部22は、分布位置情報「00」に対応する出力値Lの個数と、分布位置情報「11」に対応する出力値Lの個数とが同数になるように生成する。
【0226】
例えば、チャレンジ200により与えられる、出力値Lに対応する単位素子の総数mが400であり、且つ更新レスポンスの大きさYsizeが128であるとする。その場合、生成部22は、分布位置情報「00」に対応する出力値Lmの個数が64個となるように、第2閾値Lth1を決定する。同様に、生成部22は、分布位置情報「11」に対応する出力値Lの個数が64個となるように、第3閾値Lth2を決定する。なお、その場合、分布位置情報「01」に対応する出力値Lの個数と、分布位置情報「10」に対応する出力値Lの個数との合計は、272(=400-128)個となる。
【0227】
そして、生成部22は、複数の出力値Lのそれぞれを、決定された対応する分布位置情報に変換することで、m個の要素からなる固有鍵240を生成する。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。
【0228】
ここで、分布位置情報「01」または分布位置情報「10」に対応する出力値Lは、分布位置情報「00」または分布位置情報「11」に対応する出力値Lよりも、閾値Lthに近い。そのため、分布位置情報「01」と、分布位置情報「10」とに対応する出力値Lに基づく固有鍵240の値(「1」、または「0」)は、ビット反転するおそれがあり、再現性が相対的に低い。なお、ここでビット反転とは、再現ばらつきで出力値Lが閾値を跨ぐことにより、符号が変わることを示す。一方、分布位置情報「00」と、分布位置情報「11」とに対応する出力値Lに基づく固有鍵240の値は、ビット反転するおそれが相対的に低く、再現性が相対的に高い。そのため、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成することで、生成される多値化符号の固有鍵240は、出力値Lの再現性に関する情報を含むことができる。
【0229】
本実施形態では、記憶部81は、チャレンジ200と、そのチャレンジ200に対応した出力値Lを含むレスポンス201(認証用レスポンス)との組を少なくともひとつ、チャレンジアンドレスポンスとして記憶している。
【0230】
認証部84は、生成部22にて生成された分布位置情報を含む多値化符号の固有鍵240に基づいて、更新固有値(更新レスポンス)を生成する。
【0231】
次に、第12実施形態に係る情報処理装置1の認証について、主として図24図25を参照しながら、詳細に説明する。
【0232】
図24は、第12実施形態における認証工程(ステップS400)を表すフローチャートである。図25は、多値化符号のレスポンス201及び更新レスポンスの一例を示す図である。
【0233】
ステップS300において、処理部20は、分布位置情報を含む多値化符号の固有鍵240をレスポンス201として、通信部60を経由して外部装置2に送信する。
【0234】
ステップS2201において、認証部84は、通信部83を経由して、情報処理装置1から送信された、多値化符号の固有鍵240を、レスポンス201として取得する。
【0235】
ステップS2202において、認証部84は、取得されたレスポンス201に基づいて、更新レスポンスを生成する。
【0236】
例えば、図25に示すように、レスポンス201に対応する画素の総数mが24個であり、レスポンス201が、画素PからP24までに基づく出力値Lに対応するとする。さらに、レスポンス201が、「00」、「01」、「10」、「11」のいずれかの値から構成される、多値化符号の要素からなるとする。ここで、上記の通り、分布位置情報「01」と、分布位置情報「10」とに対応する出力値Lに基づく固有鍵240の値は、ビット反転するおそれがあり、再現性が相対的に低い。
【0237】
そのため、認証部84は、レスポンス201から、分布位置情報「01」と、分布位置情報「10」とに対応する値を除いて、更新レスポンスを生成する。これにより、認証部84は、レスポンス201から、再現性が相対的に高い出力値Lに基づく更新レスポンスを生成できる。
【0238】
例えば、図25に例示するレスポンス201において、画素P、P、P、P12、P20、P24に対応する分布位置情報は、「01」又は「10」である。そのため、認証部84は、画素P、P、P、P12、P20、P24に対応する分布位置情報を示す値をレスポンス201から除いて、二値化し、更新レスポンスを生成する(図25参照)。
【0239】
ここで、レスポンス201において、分布位置情報「00」に対応する値の個数と、分布位置情報「11」に対応する値の個数との合計が、チャレンジ200により与えられる更新レスポンスの大きさYsizeと同数である。つまり、更新レスポンスの大きさ(コード長)は、チャレンジ200に含まれる更新固有値情報により示される大きさYsizeである。つまり、チャレンジ200により更新レスポンスのコード長を指定することにより、認証部84は指定されたコード長の更新レスポンスを生成する。
【0240】
ステップS2203において、認証部84は、チャレンジ200に対応する、記憶部81に記憶される出力値L(m=1~m)のうち、更新レスポンスに対応する素子位置情報に対応する値に基づいて、認証用更新レスポンスを生成する。具体的には、認証部84は、記憶部81に記憶される、出力値Lを含む認証用レスポンスのうち、生成された更新レスポンスに対応する素子位置情報に対応する出力値Lを二値化し、認証用更新レスポンスを生成する。ここで、認証部84は、「0」の個数と、「1」の個数とが同数になるように認証用更新レスポンスを生成する。
【0241】
例えば、認証部84は、図25に例示するレスポンス201を取得した場合、認証部84は、記憶部81に記憶される出力値Lを含む認証用レスポンスのうち、画素P、P、P、P12、P20、P24以外の画素(即ち、P、P~P、P~P、P10~P11、P13~P19、P21~P23)に対応する出力値Lを二値化し、認証用更新レスポンスを生成する。これにより、認証用更新レスポンスは、更新レスポンスに対応する単位素子と同一の位置である単位素子に基づく出力値Lから構成されることになる。
【0242】
ステップS2204において、認証部84は、更新レスポンスと、認証用更新レスポンスとを対比することにより認証を行う。ステップS2204の処理は、ステップS402の処理と同様であるため、詳細な説明は省略する。
【0243】
上記の通り、本実施形態では、更新レスポンスは、ビット反転するおそれが相対的に低く、再現性が相対的に高い。さらに、本実施形態では、上記の通り、更新レスポンスと、認証用更新レスポンスとは、同一の位置である単位素子に基づく出力値Lから構成される。そのため、認証部84は、更新レスポンスと、認証用更新レスポンスとを対比する際に、異なる単位素子に基づく値を対比することを防止できる。その結果、本実施形態では、情報処理装置1が真である場合において更新レスポンスと認証用更新レスポンスとを対比することによる認証精度を向上できる。
【0244】
(第18変形例)
上記実施形態では、出力値Lの閾値Lthと、複数の出力値Lのそれぞれとの大小関係に基づいて、複数の出力値Lのそれぞれに対応する分布位置情報を決定する例について説明した。但し、本開示は、これに限定されない。
【0245】
例えば、生成部22は、複数の出力値L(m=1~m)の大きさの順番に基づいて、当該複数の出力値Lのそれぞれに対応する分布位置情報を決定し、決定した分布位置情報を含む、多値化符号の固有鍵240を生成する。
【0246】
具体的には、生成部22は、算出された出力値L(L、L、・・・、L)を、素子位置情報の順(m=1~m)から、当該出力値Lの大きさの順に並び替える。生成部22は、出力値Lのうち、最大値から降順にYsize/2個の出力値Lを「1」とする分布位置情報を決定する。さらに、生成部22は、最小値から昇順にYsize/2個の出力値Lを「0」とする分布位置情報を決定する。さらに、生成部22は、他の出力値Lを「2」とする分布位置情報を決定する。
【0247】
例えば、チャレンジ200により与えられる、出力値Lに対応する単位素子の総数mが400であり、且つ更新レスポンスの大きさYsizeが128であるとする。ここで総数400の出力値のヒストグラムを図26Aに示す。次に、生成部22は、出力値L(L、L、・・・、L)を、素子位置情報の順(m=1~400)から、当該出力値Lの大きさの順に並び替える。そして、図26Bに示すように、生成部22は、出力値Lのうち、最大値から降順に64個の出力値Lを「1」とする分布位置情報を決定する。さらに、生成部22は、最小値から昇順に64個の出力値Lを「0」とする分布位置情報を決定する。
【0248】
生成部22は、複数の出力値Lのそれぞれを、決定された対応する分布位置情報に変換することで、m個の要素からなる固有鍵240を生成する。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。そして、生成部22は、生成された固有鍵240を、出力値Lの大きさの順から、素子位置情報の順に並び替える。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。
【0249】
(第19変形例)
デバイスに含まれる単位素子が、2ビット以上の出力値を出力する演算記憶素子(フラッシュメモリ、抵抗変化型メモリ)である場合、情報処理装置1は、電荷発生期間Tpmに替えて、チャレンジ200により、固有鍵240の生成に用いるデータを作成するために設定する所定の期間Tpmが与えられてもよい。さらに、出力値Amn、出力値A、及び出力値L(m=1~m)は、演算記憶素子に含まれるm個のメモリセルのそれぞれに対応する出力値であってもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図10C
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26A
図26B