JP2024087491A - 被認証装置、認証システム及び認証方法 - Google Patents

被認証装置、認証システム及び認証方法 Download PDF

Info

Publication number
JP2024087491A
JP2024087491A JP2022202338A JP2022202338A JP2024087491A JP 2024087491 A JP2024087491 A JP 2024087491A JP 2022202338 A JP2022202338 A JP 2022202338A JP 2022202338 A JP2022202338 A JP 2022202338A JP 2024087491 A JP2024087491 A JP 2024087491A
Authority
JP
Japan
Prior art keywords
key
authentication
original
identifier
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022202338A
Other languages
English (en)
Inventor
一路 飯島
謙治郎 堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2024087491A publication Critical patent/JP2024087491A/ja
Pending legal-status Critical Current

Links

Images

Abstract

Figure 2024087491000001
【課題】悪意ある攻撃に対する耐性を向上させた認証方式を提供すること。
【解決手段】被認証装置は、異なる鍵識別子の値により識別されるM個の元鍵からなる元鍵集合を予め記憶するメモリを備える。認証システムは、当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに、前記認証識別子の真正性の検証に使用される電子署名値を予め記憶する。前記認証システムは、前記被認証装置へ前記認証識別子及び前記電子署名値を送信する。前記被認証装置は、前記電子署名値を用いた前記認証識別子の検証が成功した場合に、前記第1鍵ID値により識別される前記第1元鍵を前記メモリから読出し、前記第1元鍵と前記認証識別子とに基づいて前記第1認証鍵と同じ第2認証鍵を導出する。
【選択図】図6

Description

本開示は、被認証装置、認証システム及び認証方法に関する。
従来、交換可能な部品を接続した状態で利用される多くの電子機器が知られている。例えば、画像形成装置は、トナー若しくはインクを収容したカートリッジ、プロセスカートリッジ、搬送ローラ、又は定着ユニットといった、様々な交換可能部品と共に動作し得る。電子機器に設計において想定されていない交換可能部品が接続されると、電子機器の故障、動作不良、又は出力品質の低下といった不具合が生じかねない。そのため、電子機器のいくつかは、本体に接続された交換可能部品が正規の部品であるかを認証する仕組みを有する。
特許文献1は、チャレンジレスポンス型の認証方式の一例を開示している。特許文献1の認証方式では、画像形成装置の認証チップはn個の第1識別子でそれぞれ識別されるn個の認証鍵を記憶する認証鍵テーブルを有し、カートリッジの被認証チップはm個の第2識別子でそれぞれ識別されるm個の元鍵を記憶する元鍵テーブルを有する。被認証チップは、認証チップから受信される第1識別子の値と自装置に固有の第2識別子の値との組合せに対応する元鍵に基づいて認証鍵を生成する。認証チップは、自装置に固有の第1識別子の値と被認証チップから受信される第2識別子の値との組合せに対応する認証鍵を認証鍵テーブルから選択する。それにより、認証チップと被認証チップとの間で、認証鍵そのものを通信することなく同一の認証鍵が共有され、その認証鍵を用いたチャレンジレスポンス認証が行われる。認証鍵の共有のためにチップ間で交換される第1識別子の値は個別の画像形成装置に固有であるため、その値が攻撃者に知られたとしても、攻撃者は知得した情報を他の画像形成装置のために使用することができない。同様に、チップ間で交換される第2識別子の値が攻撃者に知られたとしても、攻撃者は知得した情報を他のカートリッジのために使用することができない。
ところで、被認証チップの多くは、大規模集積回路(LSI)チップとして実装される。特許文献1の元鍵テーブルのような秘匿すべきデータは、LSIチップ上の耐タンパ性を有するメモリに格納され、それにより外部からの情報の読取り及び改竄から保護される。しかし、非特許文献1は、LSIチップ上のメモリに格納された情報を漏洩させることのできる、マイクロプロービング攻撃という攻撃手法を紹介している。マイクロプロービング攻撃は、集束イオンビーム(FIB)装置によってLSIチップ上の配線を加工し、狙いをつけた配線上のノードを流れる信号を探知して解析する、というものである。
特開2020-72348号公報
Sergei Skorobogatov, "How microprobing can attack encrypted memory", AHSA2017 Workshop, Vienna, Austria, August 30th to September 1st, 2017
特許文献1の認証方式では、被認証チップは、認証チップからの制御コマンドに従って、指定された第1識別子の値に対応する元鍵を元鍵テーブルから読出す。この元鍵の読出しのためのメモリアクセスが数多く繰り返されほど、元鍵のデータがLSIチップ上の配線を流れる回数が増えるため、非特許文献1に記載されているマイクロプロービング攻撃によって元鍵が漏洩する可能性が高まる。そのため、認証の成否に関わらず、被認証チップにおける元鍵の読出しのためのメモリアクセスが抑制されることが望ましい。
本発明は、上述した点に鑑み、悪意ある攻撃に対する耐性を向上させた認証方式を提供しようとするものである。
ある観点によれば、被認証装置であって、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶する記憶手段と、前記被認証装置を認証する認証システムへ通信可能に接続される接続手段と、前記接続手段を介する前記認証システムとの通信を制御する制御手段と、を備え、前記認証システムは、当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに前記認証識別子の真正性の検証に使用される電子署名値、を予め記憶し、前記制御手段は、前記認証システムから、前記認証識別子及び前記電子署名値を受信し、受信した前記認証識別子の真正性を前記電子署名値を用いて検証し、前記認証識別子の前記検証が成功した場合に、前記認証識別子に基づいて導出される前記第1鍵ID値により識別される前記第1元鍵を前記記憶手段から読出し、読出した前記第1元鍵と前記認証識別子とに基づいて、前記第1認証鍵と同じ第2認証鍵を導出し、前記認証システムから、チャレンジデータを受信し、受信した前記チャレンジデータと導出した前記第2認証鍵とに基づいて、レスポンスデータを生成し、生成した前記レスポンスデータを、前記認証システムへ送信する、被認証装置が提供される。対応する認証システム及び認証方法もまた提供される。
本発明によれば、悪意ある攻撃に対する耐性を向上させた認証方式が提供される。
一実施形態においてプロセスカートリッジが画像形成装置へ接続されている様子を示すブロック図。 第1実施例に係る認証チップの構成の一例を示すブロック図。 第1実施例に係る被認証チップの構成の一例を示すブロック図。 第1実施例に係る認証チップ及び被認証チップのメモリに格納されるデータを生成するためのデータ生成処理の流れの一例を示すフローチャート。 第1実施例に係る鍵記憶テーブルの構成について説明するための説明図。 第1実施例に係る認証処理の全体的な流れの一例を示すシーケンス図。 図6に示した認証鍵取得処理の詳細な流れの一例を示すフローチャート。 第2実施例に係る認証チップの構成の一例を示すブロック図。 第2実施例に係る被認証チップの構成の一例を示すブロック図。 元鍵マトリクスからの元鍵テーブル及び認証鍵テーブルの生成について説明するための説明図。 第2実施例に係る認証チップ及び被認証チップのメモリに格納されるデータを生成するためのデータ生成処理の流れの一例を示すフローチャート。 第2実施例に係る認証処理の全体的な流れの一例を示すシーケンス図。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<1.基本的な構成>
以下に説明する実施形態では、画像形成装置へ接続されるプロセスカートリッジを、画像形成装置に搭載される認証チップが認証するものとする。したがって、画像形成装置を認証システム、プロセスカートリッジを被認証装置と称することがある。プロセスカートリッジは、画像形成装置にとっての交換可能部品の一例である。但し、本開示に係る技術は、画像形成装置及びプロセスカートリッジの組合せには限定されず、様々な電子機器と交換可能部品との組合せに適用可能である。
図1は、プロセスカートリッジ200が画像形成装置100へ接続されている様子を示している。画像形成装置100は、例えば、プリンタ、コピー機又は複合機であってよく、電子写真プロセスに従ってシートに画像を形成する。プロセスカートリッジ200は、電子写真プロセスに関与する交換可能部品である。例えば、ユーザは、画像形成装置100の筐体に配設されるカバー(図示せず)を開けて、画像形成装置100に対しプロセスカートリッジ200を着脱することができる。プロセスカートリッジ200は、例えば、感光体、及び当該感光体の表面にトナー像を形成するための1つ以上の部材を含む。画像形成装置100は、エンジンコントローラ101を備える。エンジンコントローラ101は、例えば、シートの搬送、プロセスカートリッジ200によるトナー像の形成、シートへのトナー像の転写、及びシート上のトナー像の定着といった、画像形成装置100における全体的な画像形成動作を制御する。
画像形成装置100に非正規のプロセスカートリッジが接続されると、装置の故障、動作不良、又は印刷品質の低下といった不具合が生じる虞がある。そこで、画像形成装置100は、装置に装着されたプロセスカートリッジが正規品であるかを認証するための仕組みを有する。画像形成装置100に装着されたプロセスカートリッジ200の機能は、認証が成功した場合にのみ有効化される。この認証の仕組みに関連する構成要素として、エンジンコントローラ101は、接続インタフェース(I/F)103、センサ105、制御装置107、及び認証チップ110を備える。プロセスカートリッジ200は、被認証チップ210を備える。典型的には、認証チップ110及び被認証チップ210は、耐タンパ性を有する。
接続I/F103は、被認証チップ210へ通信可能に接続される接続手段である。接続I/F103と被認証チップ210との間の接続は、電気的な接点を介する有線接続であってもよく、又はアンテナを介する無線接続であってもよい。センサ105は、画像形成装置100へプロセスカートリッジが装着されているか否かを検知するための検知手段である。制御装置107は、画像形成装置100の動作を統括的に制御するコントローラである。認証チップ110は、被認証チップ210から接続I/F103を介して受信される認証データに基づいて、プロセスカートリッジ200が正規品であるかを認証する機能を有する集積回路(IC)チップである。被認証チップ210は、プロセスカートリッジ200の認証データを予め記憶しているメモリを内蔵するICチップである。認証チップ110及び被認証チップ210は、共にLSIであってよい。
本実施形態において、被認証チップ210のメモリは、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶している。画像形成装置100へプロセスカートリッジが装着されたことをセンサ105が検知すると、制御装置107は、認証処理を開始する。その認証処理において、認証チップ110は、画像形成装置100に固有の後述する認証識別子を被認証チップ210へ送信する。被認証チップ210は、受信した認証識別子に基づいて導出される第1鍵ID値により識別される第1元鍵をメモリから読出し、読出した第1元鍵と上記認証識別子とに基づいて、認証に使用すべき認証鍵を導出する。認証チップ110は、チャレンジデータを生成し、接続I/F103を介して被認証チップ210へチャレンジデータを送信する。被認証チップ210は、認証チップ110から受信されるチャレンジデータと導出した上記認証鍵とに基づいて、レスポンスデータを生成し、生成したレスポンスデータを認証チップ110へ返送する。認証チップ110は、被認証チップ210へ送信したチャレンジデータと、上記認証識別子に対応する認証鍵とに基づいて検証用データを生成する。そして、認証チップ110は、被認証チップ210から受信されるレスポンスデータを上記検証用データと比較することによりプロセスカートリッジ200が正規品であるかを認証し、認証の結果を制御装置107へ出力する。
上述した認証処理では、被認証チップにおいてメモリから元鍵が読出されるが、その読出し回数が多くなるとチップ上の配線を流れる元鍵のデータがマイクロプロービング攻撃によって解析され、元鍵が漏洩する可能性が高まる。そこで、次節以降で説明する仕組みによって、被認証チップにおける元鍵の読出しのためのメモリアクセスの回数を抑制することとする。
<2.第1実施例>
<2-1.認証チップの構成例>
図2は、第1実施例に係る認証チップ110の構成の一例を示すブロック図である。図2を参照すると、認証チップ110は、内部バス111、入出力回路112、制御回路113、揮発性メモリ114、不揮発性メモリ115、暗号処理回路121、及び乱数生成回路122を含む。
内部バス111は、制御回路113、揮発性メモリ114、不揮発性メモリ115、暗号処理回路121、及び乱数生成回路122を相互に接続する信号線である。入出力回路112は、制御装置107と認証チップ110の制御回路113との間でデータを中継する。制御回路113は、被認証装置との通信を制御する制御手段である。制御回路113は、例えば中央演算装置(CPU)、マイクロコントローラ又はマイクロプロセッサであってよく、制御装置107から入力されるコマンドに従って様々な処理を行う。揮発性メモリ114は、例えばランダムアクセスメモリ(RAM)であってよく、演算のための一時的な記憶領域を制御回路113に提供する。不揮発性メモリ115は、例えば半導体メモリ又はハードディスクを含み得る記憶手段である。
本実施例において、不揮発性メモリ115は、制御回路113により実行される1つ以上のコンピュータプログラム116、制御パラメータ(図示せず)、認証識別子(I)117、第1認証鍵(A)118、及び電子署名値(σ)119を記憶する。認証識別子117は、被認証チップ210に記憶されているM個の元鍵のうちの1つを識別する鍵ID値に関連する、認証チップ110に固有の識別子である。以下の説明では、M個の元鍵のうち認証識別子117を用いて特定される元鍵を第1元鍵、第1元鍵を識別する鍵ID値を第1鍵ID値と称することがある。第1認証鍵118は、認証識別子117と第1元鍵とに基づいて予め導出された認証鍵である。電子署名値119は、認証識別子117の真正性の検証に使用される、予め生成された電子署名値である。本実施例では、電子署名として、公開鍵暗号方式に基づくデジタル署名が利用されるものとする。
暗号処理回路121は、ハッシュ関数の演算又は共通鍵暗号方式での暗号化を含み得る暗号関連の処理を実行する演算手段である。乱数生成回路122は、制御回路113から入力されるコマンドに従って、乱数値を生成する生成手段である。乱数生成回路122は、例えば上述したチャレンジデータを生成するために利用される。本実施例において、制御回路113は、暗号処理回路121及び乱数生成回路122と連携して、被認証チップ210を認証するためのチャレンジレスポンス型の認証処理を行う認証部131として機能する。認証処理の流れについて、後に詳しく説明する。
<2-2.被認証チップの構成例>
図3は、第1実施例に係る被認証チップ210の構成の一例を示すブロック図である。図3を参照すると、被認証チップ210は、内部バス211、接続I/F212、制御回路213、揮発性メモリ214、不揮発性メモリ215、暗号処理回路221、及び署名検証回路222を含む。
内部バス211は、制御回路213、揮発性メモリ214、不揮発性メモリ215、暗号処理回路221、及び署名検証回路222を相互に接続する信号線である。接続I/F212は、認証システムへ通信可能に接続される接続手段である。制御回路213は、接続I/F212を介する認証システムとの通信を制御する制御手段である。制御回路213は、例えばCPU、マイクロコントローラ又はマイクロプロセッサであってよい。揮発性メモリ214は、例えばRAMであってよく、演算のための一時的な記憶領域を制御回路213に提供する。不揮発性メモリ215は、例えば耐タンパ性を有する半導体メモリを含む記憶手段である。不揮発性メモリ215は、制御回路213により実行される1つ以上のコンピュータプログラム216、制御パラメータ(図示せず)、及びプロセスカートリッジ200の認証に使用される認証データを記憶する。
本実施例において、不揮発性メモリ215に記憶される認証データは、元鍵テーブル217、公開鍵(pk)218、及び鍵記憶テーブル240を含む。元鍵テーブル217は、上述したM個の元鍵からなる元鍵集合が格納されるテーブルである。公開鍵218は、認証チップ110から受信される認証識別子について、公開鍵暗号方式での真正性の検証に使用される。鍵記憶テーブル240は、元鍵テーブル217から読出される元鍵に基づいて導出された認証鍵を将来の再利用に向けて保持しておくためのテーブルである。
暗号処理回路221は、ハッシュ関数の演算又は共通鍵暗号方式での暗号化を含み得る暗号関連の処理を実行する演算手段である。署名検証回路222は、データの真正性の検証のための電子署名を用いた署名検証を実行する検証手段である。例えば、署名検証回路222は、認証チップ110から認証識別子117と共に受信される電子署名値119を用いて、認証識別子117の真正性を検証する。本実施例において、制御回路213は、読出制御部231及び応答部232として機能する。読出制御部231は、不揮発性メモリ215からの認証データの読出しを制御する。応答部232は、認証チップ110から受信される制御コマンドに対して、チャレンジレスポンス型の認証のための応答を行う。読出制御部231及び応答部232の機能について、後に詳しく説明する。
なお、図2及び図3で制御回路とは別個に示した回路(例えば、乱数生成回路、暗号処理回路、及び署名検証回路)の各々は、独立した回路として実装される代わりに、制御回路により実行されるソフトウェアモジュールとして実装されてもよい。また、制御回路の機能として説明したモジュール(例えば、認証部、読出制御部及び応答部)の各々が制御回路とは別個の独立した回路として実装されてもよい。また、図2及び図3には、それぞれ1つの不揮発性メモリを示しているが、図示したメモリの各々は、実際には複数のメモリ回路の集合であってもよい。例えば、被認証チップ210の鍵記憶テーブル240は、元鍵テーブル217を含むメモリ回路とは別個のメモリ回路に含まれてもよい。
<2-3.認証データの生成とメモリへの格納>
画像形成装置100及びプロセスカートリッジ200の製造者は、製造段階で上述した認証データを生成し、認証チップ110及び被認証チップ210のメモリにそれぞれ必要な部分を格納する。本項では、そうした製造段階の処理について説明する。
図4は、認証チップ110の不揮発性メモリ115及び被認証チップ210の不揮発性メモリ215に格納されるデータを生成するためのデータ生成処理の流れの一例を示すフローチャートである。図4のデータ生成処理は、画像形成装置100及びプロセスカートリッジ200とは異なる装置(例えば、汎用コンピュータ)において実行されてよい。なお、以下の説明では、処理ステップを'S'と略記する。
図4を参照すると、まず、データの生成に先立って、S11で、公開鍵暗号のための公開鍵pk及び秘密鍵skのペアが準備される。ここで準備される鍵ペアは、例えば、秘密鍵skを用いて生成される電子署名値が公開鍵pkを用いて検証可能であることが担保されている限り、画像形成装置の個体ごとに相違してもよく、又は正規の製造者が製造する複数の画像形成装置にわたって共通的であってもよい。
次いで、S13で、M個の元鍵K,...,Kが生成される。M個の元鍵K,...,Kは、所定の長さを有する、互いに異なる乱数値であってよい。各元鍵K(m∈1,...,M)のインデックスmを、鍵IDと称することがある。次いで、S15で、生成されたM個の元鍵K,...,Kが、被認証チップ210の不揮発性メモリ215の元鍵テーブル217に格納される。これらM個の元鍵K,...,Kからなる元鍵集合は、同じ画像形成装置100において使用される可能性のある複数のプロセスカートリッジにわたって共通であってよい。また、S17で、公開鍵pkが不揮発性メモリ215に格納される。さらに、S19で、被認証チップ210の不揮発性メモリ215内に、空の鍵記憶テーブル240が生成される。なお、複数のプロセスカートリッジが製造される場合には、上述したS15~S19が複数回反復され得る。
次いで、S21で、画像形成装置100(又は認証チップ110)に固有の秘密値qが生成される。秘密値qは、所定の長さを有する乱数値であってよい。次いで、S23で、鍵ID値mのレンジ[1,M]の中から、第1鍵ID値jがランダムに選択される(j∈1,...,M)。次いで、S25で、秘密値q及び第1鍵ID値jに基づいて、認証識別子Iが生成される。例えば、認証識別子Iは、次の式(1)のように、秘密値qと第1鍵ID値jとを連結することにより生成されてもよい:

= q||j (1)

ここで、演算子||は、当該演算子の前後の値を連結する演算を表す。即ち、秘密値qが相違すれば、対応する認証識別子Iの値も相違することになる。式(1)によれば、第1鍵ID値jは、認証識別子Iの一部に含まれる。したがって、認証識別子Iの一部(例えば、下位の数ビット)を切り出すことで、認証識別子Iから第1鍵ID値jを抽出することが可能である。なお、認証識別子Iから第1鍵ID値jを導出することが可能である限り、認証識別子Iは式(1)とは異なる関係式を用いて生成されてもよい。
次いで、S27で、M個の元鍵K,...,Kのうち第1鍵ID値jにより識別される第1元鍵K、及び認証識別子Iに基づいて、第1認証鍵Aが導出される。例えば、第1認証鍵Aは、次の式(2)のように、第1元鍵Kと認証識別子Iとを連結することにより生成した入力データ(ペイロードともいう)をハッシュ関数へ入力することにより生成されてもよい:

= MSB(h1(K||I)) (2)

ここで、関数h1は、一方向性の暗号学的ハッシュ関数である。暗号学的ハッシュ関数の一例として、NIST(National Institute of Standards and Technology)によりFIPS PUB 180-4として定義されたSHA256を利用することができる。関数MSBは、上位Lビットを切り出す(残りのビットを切り捨てる)関数であり、例えばL=128であってよい。式(2)が採用される場合、第1元鍵K及び認証識別子Iから決定論的に第1認証鍵Aを導出することができ、一方で第1認証鍵Aから第1元鍵Kを推測することは困難である。
代替的に、第1認証鍵Aは、次の式(3)のように、第1元鍵Kを共通鍵として用いて認証識別子Iを暗号化することにより生成されてもよい:

= Enc(K,I||c)) (3)

ここで、Encは、共通鍵暗号方式Xでの暗号化処理を表す関数である。例えば、共通鍵暗号方式Xとして、NISTによりFIPS PUB 197として定義されたブロック暗号の一種であるAES(Advanced Encryption Standard)を利用することができ、ブロック長は例えば128ビットであってよい。関数Encの1番目の引数が共通鍵、2番目の引数が暗号化の対象(平文ともいう)である。式(3)の例では、関数Encの2番目の引数のサイズをブロック長に合わせるために、認証識別子Iに所定のビット列cが連結される。式(3)が採用される場合にも、第1元鍵K及び認証識別子Iから決定論的に第1認証鍵Aを導出することができ、一方で、第1認証鍵Aから第1元鍵Kを推測することは困難である。
次いで、S29で、次の式(4)のように、秘密鍵skを用いて、認証識別子Iの電子署名値σが生成される:

σ=Sign(sk,I) (4)

式(4)の関数Signは、デジタル署名アルゴリズムを表す。ここで利用されるデジタル署名アルゴリズムは、例えば、NISTによりFIPS PUB 186-4として定義されたアルゴリズムであってよい。関数Signの1番目の引数は秘密鍵skであり、2番目の引数は認証識別子Iである。
次いで、S31で、認証識別子I、第1認証鍵A、及び電子署名値σが認証チップ110の不揮発性メモリ115に格納される。なお、複数の画像形成装置が製造される場合には、上述したS21~S31が複数回反復され、各反復において選択される鍵ID値は互いに相違し得る。そして、図4のデータ生成処理は終了する。
<2-4.鍵記憶テーブルの構成>
図5は、本実施例に係る鍵記憶テーブル240の構成について説明するための説明図である。図5を参照すると、鍵記憶テーブル240は、ID241及び認証鍵242という2つのデータ項目を有する。ID241は、鍵記憶テーブル240の各レコードを識別するための識別子である。図5の例では、ID241の値として、認証識別子が使用される。他の例では、ID241の値として、認証識別子に基づいて導出され得る第1鍵ID値が使用されてもよい。即ち、鍵記憶テーブル240は、被認証チップ210において導出される認証鍵(第2認証鍵)の鍵値を、対応する識別子に関連付けて記憶するように構成される。プロセスカートリッジ200(又は被認証チップ210)が製造された当初は、鍵記憶テーブル240は空であり、但し最大でAMAXまでの識別子及び認証鍵のペアを記憶できる記憶領域を有する。プロセスカートリッジ200が画像形成装置100へ装着され、認証チップ110から認証識別子Iが受信されると、被認証チップ210の読出制御部231は、受信した認証識別子Iに対応する第1元鍵Kを元鍵テーブル217から読出す。また、読出制御部231は、読出した第1元鍵Kと認証識別子Iとに基づいて、例えば式(2)又は式(3)に従って、認証チップ110側で保持している第1認証鍵と同じ第2認証鍵Aを導出する。そして、読出制御部231は、導出した第2認証鍵Aを対応する識別子に関連付けて鍵記憶テーブル240に格納する。図5の例において、鍵記憶テーブル240の1番目のレコードは、認証識別子Iと第2認証鍵Aとのペアを示している。
プロセスカートリッジ200が画像形成装置100から一旦取り外された後、再び画像形成装置100へ装着されたものとする。プロセスカートリッジ200の装着が検知されると、認証チップ110から被認証チップ210へ認証識別子Iが送信される。被認証チップ210の読出制御部231は、認証チップ110から受信した認証識別子Iに対応する第1元鍵Kを元鍵テーブル217から過去に読出したことがあるかを判定する。例えば、読出制御部231は、受信した認証識別子Iが鍵記憶テーブル240に記憶されているかをチェックし、認証識別子Iが鍵記憶テーブル240に記憶されている場合に、第1元鍵Kを過去に読出したことがあると判定し得る。この場合、読出制御部231は、元鍵テーブル217へアクセスすることなく、第1元鍵Kと認証識別子Iとに基づいて過去に導出された第2認証鍵Aを、鍵記憶テーブル240から取得する。画像形成装置100へのプロセスカートリッジ200の初回の装着時には、認証識別子Iは鍵記憶テーブル240に記憶されていないため、読出制御部231は、第1元鍵Kを過去に読出したことがないと判定し得る。この場合、読出制御部231は、上述したように、元鍵テーブル217から読出した第1元鍵Kと認証識別子Iとに基づいて、第2認証鍵Aを導出する。応答部232は、このように読出制御部231により導出され又は取得された第2認証鍵Aを用いて、認証チップ110からの認証要求に応答する。
本実施例において、鍵記憶テーブル240は、最大でAMAX個までの認証鍵を記憶することが可能とされる。読出制御部231は、認証チップ110から受信した認証識別子Iに対応する第1元鍵Kを過去に読出したことがないと判定される場合において、鍵記憶テーブル240に記憶されている認証鍵の個数が最大個数AMAXに等しいか否かをチェックする。鍵記憶テーブル240に記憶されている認証鍵の個数が最大個数AMAXに等しい場合、応答部232は、認証チップ110からの認証要求を拒否し、エラーメッセージを認証チップ110へ返送してもよい。
なお、最大個数AMAXの値は、事前の設計段階で、1つのプロセスカートリッジ200が現実的なユースケースでどの程度の数の異なる画像形成装置に装着され使用される可能性があるかを考慮して決定され得る。
<2-5.カートリッジの認証>
図6は、本実施例に係る認証処理の全体的な流れの一例を示すシーケンス図である。認証処理には、主に画像形成装置100の認証チップ110及びプロセスカートリッジ200の被認証チップ210が関与する。認証チップ110と被認証チップ210との間の通信経路にはエンジンコントローラ101の接続I/F103が介在するが、接続I/F103は図中では省略されている。
認証処理は、例えば、センサ105が画像形成装置100へのプロセスカートリッジ200の装着を検知したことをトリガとして、制御装置107が認証チップ110へ認証開始を指示する制御コマンドを送信することで開始され得る。なお、認証開始のトリガは、プロセスカートリッジ200の装着の検知ではなく、例えば、画像形成装置100のユーザインタフェースを介して認証開始を求めるユーザ操作が検知されたことであってもよい。
まず、S111で、認証チップ110の認証部131は、認証チップ110に固有の認証識別子Iを不揮発性メモリ315から読出して被認証チップ210へ送信する。また、S113で、認証部131は、電子署名値σを不揮発性メモリ315から読出して被認証チップ210へ送信し、被認証チップ210に認証識別子Iの真正性の検証を行わせる。
また、S115で、認証部131は、乱数生成回路122に、チャレンジデータとしての乱数値Dを生成させる。S117で、認証部131は、乱数生成回路122により生成されたチャレンジデータDを含む認証要求を被認証チップ210へ送信する。次いで、S119で、認証部131は、被認証チップ210へ送信したチャレンジデータDと、不揮発性メモリ115に記憶されている第1認証鍵Aとに基づき、例えば後述する式(6)又は式(7)に従って、検証用データDを生成する。
S121で、被認証チップ210の応答部232は、署名検証回路222に、認証チップ110から受信した認証識別子Iの真正性を電子署名値σを用いて検証させる。ここでの署名検証は、次の式(5)のように表現され得る:

res=Verify(pk,I,σ) (5)

式(5)の関数Verifyは、式(4)で利用したデジタル署名アルゴリズムに対応するデジタル署名検証アルゴリズムを表す。関数Verifyの1番目の引数は不揮発性メモリ215により記憶されている公開鍵pkであり、2番目の引数は認証識別子Iであり、3番目の引数は署名値σである。関数Verifyの出力resは、署名検証結果、即ち検証が成功したか又は失敗したかを、論理値("真"又は"偽")で示す。S111で受信される認証識別子Iが真正であれば、公開鍵暗号の仕組みによって、署名検証結果resは"真"を示す。S111で受信される認証識別子Iが不正であり又は電子署名値σが不正であれば、署名検証結果resは"偽"を示す。
署名検証結果resが"偽"を示す場合、認証処理はS129へ進み、応答部232は、署名検証の失敗を示すエラーメッセージを認証チップ110へ送信する。この場合、読出制御部231が不揮発性メモリ215の元鍵テーブル217にアクセスすることなく、認証処理は終了する。一方、署名検証結果resが"真"を示す場合、認証処理はS123へ進む。
認証識別子Iが真正であることが成功裏に検証されると、S123で、読出制御部231は、認証鍵取得処理を実行して、第2認証鍵Aを取得する。第2認証鍵Aは、認証チップ110が予め記憶している第1認証鍵Aと同じ鍵である。
図7は、読出制御部231により実行される認証鍵取得処理の詳細な流れの一例を示すフローチャートである。図7を参照すると、まず、S201で、読出制御部231は、認証チップ110から受信した認証識別子Iのレコードが鍵記憶テーブル240に存在するかを判定する。認証識別子Iのレコードが鍵記憶テーブル240に存在しない場合、処理はS203へ進む。一方、認証識別子Iのレコードが鍵記憶テーブル240に存在する場合、処理はS213へ進む。
S203で、読出制御部231は、鍵記憶テーブル240に空きがあるか、即ち、鍵記憶テーブル240に記憶されている認証鍵の個数が最大個数AMAXに未到達であるかを判定する。鍵記憶テーブル240に空きがある場合、処理はS205へ進む。一方、鍵記憶テーブル240に空きがない場合、処理はS215へ進む。
処理がS205へ進んだ場合、読出制御部231は認証識別子Iに対応する第1元鍵Kを過去に読出したことがないと判定したことになる。そこで、S205で、読出制御部231は、認証識別子Iから第1鍵ID値jを導出する。例えば、読出制御部231は、認証識別子Iの下位の所定数のビットを抽出することにより、第1鍵ID値jを導出してもよい。次いで、S207で、読出制御部231は、不揮発性メモリ215の元鍵テーブル217へアクセスし、第1鍵ID値jで識別される第1元鍵Kを読出す。次いで、S209で、読出制御部231は、読出した第1元鍵Kと認証識別子Iとに基づいて、第2認証鍵Aを導出する。例えば、読出制御部231は、上述した式(2)に従って、第1元鍵Kと認証識別子Iとを連結することにより生成した入力データを暗号学的ハッシュ関数へ入力することにより、第2認証鍵Aを導出してもよい。代替的に、読出制御部231は、上述した式(3)に従って、第1元鍵Kを共通鍵として用いて認証識別子Iを暗号化することにより、第2認証鍵Aを導出してもよい。次いで、S211で、読出制御部231は、導出した第2認証鍵Aと認証識別子Iとのペアを鍵記憶テーブル240に記憶させる。
処理がS213へ進んだ場合、読出制御部231は認証識別子Iに対応する第1元鍵Kを過去に読出したことがあると判定したことになる。そこで、S213で、読出制御部231は、第1元鍵Kと認証識別子Iとに基づいて過去に導出された第2認証鍵Aを鍵記憶テーブル240から取得する。例えば、読出制御部231は、鍵記憶テーブル240において認証識別子I(又は第1鍵ID値j)をルックアップすることにより、対応するレコードを迅速に発見して、当該レコードが示す第2認証鍵Aを取得することができる。
処理がS215へ進んだ場合、鍵記憶テーブル240に記憶されている認証鍵の個数が最大個数AMAXに等しく、鍵記憶テーブル240に新たな認証鍵を追加的に記憶させることができない。そこで、S215で、読出制御部231は、メモリアクセス回数の上限到達を示すエラーメッセージを認証チップ110へ送信する。この場合、第1元鍵Kに基づく認証は拒否されることになる。
図6へ戻り、S125で、応答部232は、暗号処理回路221に、認証チップ110から受信したチャレンジデータDと上述した認証鍵取得処理の結果として取得され又は導出された第2認証鍵Aとに基づいて、レスポンスデータを生成させる。例えば、レスポンスデータDは、次の式(6)のように、第2認証鍵AとチャレンジデータDとを連結することにより生成した入力データをハッシュ関数へ入力することにより生成されてもよい:

= MSB(h1(A||D)) (6)

上述したように、関数h1は一方向性の暗号学的ハッシュ関数であってよく、関数MSBは引数の上位Lビットを切り出す関数であってよい。代替的に、レスポンスデータDは、次の式(7)のように、第2認証鍵Aを共通鍵として用いてチャレンジデータDを暗号化することにより生成されてもよい:

= Enc(A,D) (7)

上述したように、Encは、共通鍵暗号方式Xでの暗号化処理を表す関数であり、例えば、共通鍵暗号方式Xとしてブロック長128ビットのAESが利用されてもよい。認証チップ110におけるS119での検証用データの生成も、ここでのレスポンスデータの生成と同様に行われ得る。そして、S127で、応答部232は、生成したレスポンスデータDを認証チップ110へ返送する。
被認証チップ210からレスポンスデータDを受信した認証チップ110の認証部131は、S131で、レスポンスデータDが、S119で生成した検証用データDに一致しているかを判定する。レスポンスデータDが検証用データDに一致している場合には、認証部131は、プロセスカートリッジ200の認証は成功であると判定する。レスポンスデータDが検証用データDに一致していない場合には、認証部131は、プロセスカートリッジ200の認証は不成功であると判定する。認証部131は、S131で判定した認証の結果を制御装置107へ報告する。
S133で、制御装置107は、認証チップ110から報告された認証の結果に応じて、プロセスカートリッジ200の接続を受け入れ又は拒否する。制御装置107は、認証が不成功であった場合に、プロセスカートリッジ200が正規品ではないことをユーザへ警告してもよい。ここでの警告は、例えば、画像形成装置100ディスプレイへの警告メッセージの表示、警告灯の点灯、又は警報音の出力など、任意の手法で行われてよい。
認証が成功であった場合には、制御装置107は、プロセスカートリッジ200の接続を受入れ、プロセスカートリッジ200を用いた画像形成を有効化する。例えば、制御装置107は、プロセスカートリッジ200のメモリが保持し得るさらなる制御パラメータ(例えば、画像形成条件に関連するパラメータ)を読出して、その後の画像形成動作のために利用してもよい。
なお、図6の認証処理に含まれる処理ステップは、図示した順序とは異なる順序で行われてもよい。例えば、認証識別子I及び電子署名値σは、どちらが先に被認証チップ210へ送信されてもよく、同時に送信されてもよい。また、認証チップ110は、被認証チップ210により認証識別子Iの真正性が検証された後に、チャレンジデータDを被認証チップ210へ送信してもよい。また、認証チップ110による検証用データDの生成は、被認証チップ210へのチャレンジデータDの送信の前又は被認証チップ210からのレスポンスデータDの受信の後など、任意のタイミングで行われてよい。
本節では、被認証チップ210の暗号処理回路221が第2認証鍵Aの導出及びレスポンスデータDの生成のための演算を行う例を説明した。このように共通的な回路が双方の演算を行うようにすることで、回路規模の増大を防ぎ、装置の製造コストを抑制することができる。但し、第2認証鍵Aの導出及びレスポンスデータDの生成は、別個の回路により異なるアルゴリズムに従って行われてもよい。例えば、第2認証鍵Aの導出及びレスポンスデータDの生成のうちの一方が暗号学的ハッシュ関数(例えば、SHA256)を利用して行われ、他方が共通鍵暗号方式での暗号化処理(ブロック長128ビットのAES)として行われてもよい。
また、本節では、認証識別子Iが式(1)のように秘密値qと第1鍵ID値jとを連結することにより生成される例を説明した。しかしながら、認証識別子Iを生成する手法は、かかる例には限定されない。一例として、認証識別子Iは、次の式(8)のような演算を通じて生成されてもよい:

= q*M+j-1 (8)

ここで、Mは元鍵テーブル217のサイズ(元鍵テーブル217に含まれる元鍵の個数)を表す。この場合、図7のS205において認証識別子Iから第1鍵ID値を導出する演算は、次の式(9)のような剰余演算となる:

j= 1+(I mod M) (9)

ここで、modは剰余演算子である。他の例として、秘密値qの生成が省略され、認証識別子Iが単に第1鍵ID値jと等しい値とされてもよい(I=j)。
<2-6.第1実施例のまとめ>
上述した第1実施例では、被認証装置は、異なる鍵IDの値によりそれぞれ識別されるM個の元鍵からなる元鍵集合をメモリに予め記憶している。一方、認証システムは、上記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する認証識別子と上記第1元鍵とに基づいて導出された第1認証鍵をメモリに予め記憶している。被認証装置は、認証システムから受信される上記認証識別子に基づく上記第1鍵ID値により識別される上記第1元鍵をメモリから読出して、上記第1元鍵と上記認証識別子とに基づいて上記第1認証鍵と同じ第2認証鍵を導出する。それにより、認証システムと被認証装置との間で共通する認証鍵を秘密裏に共有して、チャレンジレスポンス型の認証を行うことができる。仮に攻撃者が認証システムに搭載されている認証チップを攻撃して上記第1認証鍵を入手することができたとしても、上記第1認証鍵は他の認証システム(例えば、他の画像形成装置)においては役に立たない。これは、1つの認証システムに搭載されている認証チップの解析が、他の認証システムによる認証を不正に通過できる非正規の被認証装置を製造する目的にとって無益であることを意味する。
また、上述した第1実施例では、被認証装置は、認証システムから受信される電子署名値を用いた上記認証識別子の真正性の検証が成功した場合にのみ、上記認証識別子に基づいて導出される上記第1鍵ID値により識別される上記第1元鍵をメモリから読出す。したがって、真正性が担保されていない認証識別子が認証システムから受信されたとしても元鍵を読出すためのメモリアクセスは行われず、元鍵のデータがチップ上の配線を流れる回数が低減される。そのため、マイクロプロービング攻撃等の悪意ある攻撃に対する耐性が向上する。
また、上述した第1実施例では、被認証装置は、認証システムから受信される上記認証識別子に対応する上記第1元鍵をメモリから過去に読出したことがあると判定される場合には、過去に導出済みの上記第2認証鍵を鍵記憶テーブルから取得して使用する。したがって、同じ元鍵のデータがチップ上の配線を何度も流れることがないため、チップ上の配線を流れるデータの統計的な解析が困難となる。これにより、マイクロプロービング攻撃等の悪意ある攻撃に対する耐性は一層向上する。仮に鍵記憶テーブルに登録されている認証鍵が漏洩したとしても、その認証鍵は特定の認証システムについてのみ有効であり、且つ漏洩した認証鍵から元鍵を推測することは困難である。したがって、鍵記憶テーブルに対する攻撃は、被認証装置を模造しようとする不正な目的のためには有益でない。
なお、第1実施例において、電子署名値を用いた認証識別子の真正性の検証、及び鍵記憶テーブルに記憶される第2認証鍵の再利用のうちの一方が省略されてもよい。
上述した仕組みに対し、チップ上の配線を流れるデータの解析を通じて、認証を不正に通過する被認証装置の模造品を製造するためには、攻撃者は、多くの正規の認証チップを入手して認証を繰り返して統計的に有意なデータを収集することを強いられる。しかし、上記元鍵集合のサイズMを十分に大きくすることで、解析に要するデータの規模は膨大となり、解析は現実的には不可能となる。また、上記鍵記憶テーブルに記憶される認証鍵の最大個数に制限を設けることで、解析用のデータの収集を一層困難にし、元鍵集合を秘匿性をさらに強固にすることができる。
<3.第2実施例>
<3-1.認証チップの構成例>
図8は、第2実施例に係る認証チップ110の構成の一例を示すブロック図である。図8を参照すると、認証チップ110は、内部バス111、入出力回路112、制御回路313、揮発性メモリ114、不揮発性メモリ315、暗号処理回路121、及び乱数生成回路122を含む。
制御回路313は、被認証装置との通信を制御する制御手段である。制御回路313は、例えば中央演算装置、マイクロコントローラ又はマイクロプロセッサであってよく、制御装置107から入力されるコマンドに従って様々な処理を行う。不揮発性メモリ315は、例えば半導体メモリ又はハードディスクを含み得る記憶手段である。
本実施例において、不揮発性メモリ315は、制御回路313により実行される1つ以上のコンピュータプログラム116、制御パラメータ(図示せず)、認証識別子(I)117、認証鍵テーブル318、及び電子署名値(σ)119を記憶する。認証鍵テーブル318は、N個(Nは2以上の整数)の認証鍵A1-j,...,AN-jからなる認証鍵集合が格納されるテーブルである。認証鍵A1-j,...,AN-jは、認証識別子117と、2つの鍵IDで各々が識別される元鍵を含む後述する元鍵マトリクスにおいて、第1鍵IDが認証識別子117に関連する第1鍵ID値jに等しいN個の元鍵とに基づいてそれぞれ導出された認証鍵である。
本実施例において、制御回路313は、暗号処理回路121及び乱数生成回路122と連携して、被認証チップ210を認証するためのチャレンジレスポンス型の認証処理を行う認証部331として機能する。認証処理の流れについて、後に詳しく説明する。
<3-2.被認証チップの構成例>
図9は、第2実施例に係る被認証チップ210の構成の一例を示すブロック図である。図9を参照すると、被認証チップ210は、内部バス211、接続I/F212、制御回路413、揮発性メモリ214、不揮発性メモリ415、暗号処理回路221、及び署名検証回路222を含む。
制御回路413は、接続I/F212を介する認証システムとの通信を制御する制御手段である。制御回路413は、例えばCPU、マイクロコントローラ又はマイクロプロセッサであってよい。不揮発性メモリ415は、例えば耐タンパ性を有する半導体メモリを含む記憶手段である。不揮発性メモリ415は、制御回路413により実行される1つ以上のコンピュータプログラム216、制御パラメータ(図示せず)、及びプロセスカートリッジ200の認証に使用される認証データを記憶する。
本実施例において、不揮発性メモリ415に記憶される認証データは、元鍵テーブル417、公開鍵(pk)218、第2鍵ID値(i)419、及び鍵記憶テーブル240を含む。元鍵テーブル417は、M個(Mは2以上の整数)の元鍵Ki-1,...,Ki-Mからなる元鍵集合が格納されるテーブルである。元鍵Ki-1,...,Ki-Mは、2つの鍵IDで各々が識別される元鍵を含む後述する元鍵マトリクスにおいて、第2鍵IDが第2鍵ID値219に等しい元鍵である。第2鍵ID値419は、元鍵マトリクスの第2鍵IDのレンジ[1,N]の中から予めランダムに選択される値iを示す。
制御回路413は、読出制御部231及び応答部432として機能する。応答部432は、認証チップ110から受信される制御コマンドに対して、チャレンジレスポンス型の認証のための応答を行う。応答部432の機能について、第1実施例に係る応答部232との相違点を中心に、後に詳しく説明する。
なお、本実施例においても、図8及び図9で制御回路とは別個に示した回路の各々は、独立した回路として実装される代わりに、制御回路により実行されるソフトウェアモジュールとして実装されてもよい。また、制御回路の機能として説明したモジュールの各々が制御回路とは別個の独立した回路として実装されてもよい。また、図示したメモリの各々は、実際には複数のメモリ回路の集合であってもよい。
<3-3.認証データの生成とメモリへの格納>
画像形成装置100及びプロセスカートリッジ200の製造者は、製造段階で上述した認証データを生成し、認証チップ110及び被認証チップ210のメモリに、それぞれ必要な部分を格納する。そうした製造段階の処理について説明する前に、本実施例における元鍵マトリクスと、認証チップ110の認証鍵テーブル318の認証鍵集合及び被認証チップ210の元鍵テーブル417の元鍵集合との間の関係について説明する。
図10は、元鍵マトリクスからの元鍵テーブル及び認証鍵テーブルの生成について説明するための説明図である。図10に示した元鍵マトリクス500は、第1鍵ID及び第2鍵IDで各々の元鍵が識別される、2次元的な元鍵の配列である。元鍵マトリクス500の各元鍵は、第1鍵IDのM個の候補値のうちの1つと、第2鍵IDのN個の候補値のうちの1つとの組合せにより識別される。よって、元鍵マトリクス500は、合計でM×N個の元鍵を含む。換言すると、元鍵マトリクス500は、各々がM個の元鍵を含むN個の元鍵集合からなる。画像形成装置100及びプロセスカートリッジ200の製造段階で、M×N個の乱数値を生成することにより、このような元鍵マトリクス500が準備される。そして、プロセスカートリッジ200の被認証チップ210が製造される際に、当該チップのために選択された固有の第2鍵ID値iで識別されるM個の元鍵Ki-1,...,Ki-Mが元鍵マトリクス500から抽出され、元鍵テーブル417に格納される。一方、画像形成装置100の認証チップ110が製造される際には、当該チップのために選択された固有の第1鍵ID値jで識別されるN個の元鍵K1-j,...,KN-jが元鍵マトリクス500から抽出される。そして、第1鍵ID値jに関連する認証識別子Iを用いて、N個の元鍵K1-j,...,KN-jがそれぞれ認証鍵A1-j,...,AN-jへ変換され、N個の認証鍵A1-j,...,AN-jが認証鍵テーブル318に格納される。ここでの各元鍵の認証鍵への変換は、第1実施例に関連して上で説明した任意の手法(例えば、式(2)又は式(3))で行われてよい。
図11は、認証チップ110の不揮発性メモリ315及び被認証チップ210の不揮発性メモリ415に格納されるデータを生成するためのデータ生成処理の流れの一例を示すフローチャートである。図11のデータ生成処理は、画像形成装置100及びプロセスカートリッジ200とは異なる装置において実行されてよい。
図11を参照すると、まず、データの生成に先立って、S11で、公開鍵暗号のための公開鍵pk及び秘密鍵skのペアが準備される。ここで準備される鍵ペアは、例えば、画像形成装置の個体ごとに相違してもよく、又は正規の製造者が製造する複数の画像形成装置にわたって共通的であってもよい。
次いで、S12で、M×Nの二次元配列である元鍵マトリクス500が生成される。元鍵マトリクス500の要素である元鍵K1-1,...,KN-Mの各々は、所定の長さを有する、互いに異なる乱数値であってよい。次いで、S14で、1つの被認証チップ210のための第2鍵ID値iが、第2鍵ID値のレンジの中から選択される(i∈1,...,N)。次いで、S16で、第2鍵IDが第2鍵ID値iに等しいM個の元鍵Ki-1,...,Ki-Mが元鍵マトリクス500から抽出され、被認証チップ210の不揮発性メモリ415の元鍵テーブル417に格納される。また、S18で、公開鍵pk及び第2鍵ID値iが不揮発性メモリ415に格納される。さらに、S19で、被認証チップ210の不揮発性メモリ415内に、空の鍵記憶テーブル240が生成される。なお、複数のプロセスカートリッジが製造される場合には、上述したS14~S19が複数回反復され、各反復において選択される第2鍵ID値は互いに相違し得る。
次いで、S21で、画像形成装置100(又は認証チップ110)に固有の秘密値qが生成される。秘密値qは、所定の長さを有する乱数値であってよい。次いで、S23で、1つの認証チップ110のための第1鍵ID値jが、第1鍵ID値のレンジの中から選択される(j∈1,...,M)。次いで、S25で、秘密値q及び第1鍵ID値jに基づいて、認証識別子Iが生成される。
次いで、S28で、元鍵マトリクス500のうちで第1鍵IDが第1鍵ID値jに等しいN個の元鍵K1-j,...,KN-jと、認証識別子Iとに基づいて、N個の認証鍵A1-j,...,AN-jが導出される。例えば、各認証鍵Aは、上述した式(2)のように一方向性の暗号学的ハッシュ関数を用いて生成されてもよく、又は上述した式(3)のように共通鍵暗号方式での暗号化処理を通じて生成されてもよい。
次いで、S29で、上述した式(4)のように、秘密鍵skを用いて、認証識別子Ijの電子署名値σjが生成される。次いで、S32で、認証識別子I、N個の認証鍵A1-j,...,AN-j、及び電子署名値σが認証チップ110の不揮発性メモリ315に格納される。なお、複数の画像形成装置が製造される場合には、上述したS21~S32が複数回反復され、各反復において選択される第1鍵ID値は互いに相違し得る。そして、図11のデータ生成処理は終了する。
<3-4.カートリッジの認証>
図12は、本実施例に係る認証処理の全体的な流れの一例を示すシーケンス図である。認証処理には、主に画像形成装置100の認証チップ110及びプロセスカートリッジ200の被認証チップ210が関与する。認証チップ110と被認証チップ210との間の通信経路にはエンジンコントローラ101の接続I/F103が介在するが、接続I/F103は図中では省略されている。
まず、S311で、被認証チップ210の応答部432は、認証チップ110からの要求に応じて、不揮発性メモリ415に予め記憶されている第2鍵ID値iを認証チップ110へ送信する。次いで、S311で、認証チップ110の認証部331は、認証チップ110に固有の認証識別子Iを被認証チップ210へ送信する。また、S313で、認証部331は、電子署名値σを被認証チップ210へ送信する。
また、S315で、認証部331は、乱数生成回路122に、チャレンジデータとしての乱数値Dを生成させる。S317で、認証部331は、乱数生成回路122により生成されたチャレンジデータDを含む認証要求を被認証チップ210へ送信する。
次いで、S318で、認証部331は、認証鍵テーブル318に記憶されているN個の認証鍵A1-j,...,AN-jのうち、被認証チップ210から受信した第2鍵ID値iにより識別される第1認証鍵Ai-jを選択する。次いで、S319で、認証部331は、被認証チップ210へ送信したチャレンジデータDと、S318で選択した第1認証鍵Ai-jとに基づいて、検証用データDを生成する。
S321で、被認証チップ210の応答部432は、署名検証回路222に、認証チップ110から受信した認証識別子Iの真正性を電子署名値σを用いて検証させる。ここでの署名検証は、上述した式(5)のように表現され得る。
S321で署名検証に失敗した場合、認証処理はS329へ進み、応答部432は、署名検証の失敗を示すエラーメッセージを認証チップ110へ送信する。この場合、読出制御部231が不揮発性メモリ415の元鍵テーブル417にアクセスすることなく、認証処理は終了する。一方、署名検証に成功した場合、認証処理はS323へ進む。
S323で、読出制御部231は、第1実施例と同様に、図7を用いて説明した認証鍵取得処理を実行する。その結果、元鍵テーブル417に記憶されているM個の元鍵Ki-1,...,Ki-Mのうちの第1元鍵Ki-jに対応する第2認証鍵Ai-jが、新たに導出され又は(過去に導出済みである場合には)鍵記憶テーブル240から取得される。第2認証鍵Ai-jは、認証チップ110においてS318で選択される第1認証鍵Ai-jと同じ鍵である。
次いで、S325で、応答部432は、暗号処理回路221に、認証チップ110から受信したチャレンジデータDと上述した第2認証鍵Ai-jとに基づいて、レスポンスデータを生成させる。例えば、レスポンスデータDは、上述した式(6)又は式(7)に従って生成されてよい。そして、S327で、応答部432は、生成したレスポンスデータDを認証チップ110へ返送する。
被認証チップ210からレスポンスデータDを受信した認証チップ110の認証部331は、S331で、レスポンスデータDが、S319で生成した検証用データDに一致しているかを判定する。レスポンスデータDが検証用データDに一致している場合には、認証部331は、プロセスカートリッジ200の認証は成功であると判定する。レスポンスデータDが検証用データDに一致していない場合には、認証部331は、プロセスカートリッジ200の認証は不成功であると判定する。認証部331は、S331で判定した認証の結果を制御装置107へ報告する。
S333で、制御装置107は、認証チップ110から報告された認証の結果に応じて、プロセスカートリッジ200の接続を受け入れ又は拒否する。ここで制御装置107により実行される認証成功時及び認証不成功時の処理は、図6のS133に関連して説明した処理と同様であってよい。
図6の認証処理と同様に、図12の認証処理に含まれる処理ステップもまた、図示した順序とは異なる順序で行われてもよい。例えば、被認証チップ210から認証チップ110への第2鍵ID値iの送信と、認証チップ110から被認証チップ210への認証識別子I及び電子署名値σの送信は、どちらが先に行われてもよい。
本実施例においても、第1及び第2認証鍵の導出と、レスポンスデータの生成とは、同一のアルゴリズムに従って(例えば、同一の回路で)行われてもよく、又は別個のアルゴリズムに従って(例えば、別個の回路で)行われてもよい。
<3-5.第2実施例のまとめ>
上述した第2実施例では、被認証装置は、N×Mの元鍵マトリクスのうちで第2鍵IDが当該被認証装置に固有の第2鍵ID値に等しいM個の元鍵からなる元鍵集合と、上記第2鍵ID値とを、メモリに予め記憶している。認証システムは、同じ元鍵マトリクスのうちで第1鍵IDが当該認証システムに固有の第1鍵ID値に等しいN個の元鍵に基づいてそれぞれ導出された認証鍵集合と、上記第1鍵IDに関連する認証識別子とを、メモリに予め記憶している。認証装置は、被認証装置から受信される上記第2鍵ID値により識別される第1認証鍵をメモリから読出す。被認証装置は、認証システムから受信される上記認証識別子に基づく上記第1鍵ID値により識別される第1元鍵をメモリから読出して、上記第1元鍵と上記認証識別子とに基づいて上記第1認証鍵と同じ第2認証鍵を導出する。それにより、認証システムと被認証装置との間で共通する認証鍵を秘密裏に共有して、チャレンジレスポンス型の認証を行うことができる。仮に攻撃者が被認証装置の被認証チップを攻撃して元鍵テーブルを解析することを試みようとしたとき、異なる被認証チップには元鍵マトリクスに由来する異なる元鍵集合が記憶されているため、複数の被認証チップを一貫性のある解析に利用することができない。それにより、攻撃者が被認証チップの解析を通じて認証を不正に通過することのできる非正規の被認証装置を製造することが、一層困難となる。
また、第2実施例においても、被認証装置は、認証システムから受信される電子署名値を用いた上記認証識別子の真正性の検証が成功した場合にのみ、上記認証識別子に基づいて導出される上記第1鍵ID値により識別される上記第1元鍵をメモリから読出す。したがって、真正性が担保されていない認証識別子が認証システムから受信されたとしても元鍵を読出すためのメモリアクセスは行われず、元鍵のデータがチップ上の配線を流れる回数が低減される。そのため、マイクロプロービング攻撃等の悪意ある攻撃に対する耐性が向上する。
また、第2実施例においても、被認証装置は、認証システムから受信される上記認証識別子に対応する上記第1元鍵をメモリから過去に読出したことがあると判定される場合には、過去に導出済みの上記第2認証鍵を鍵記憶テーブルから取得して使用する。したがって、同じ元鍵のデータがチップ上の配線を何度も流れることがないため、チップ上の配線を流れるデータの統計的な解析が困難となる。これにより、マイクロプロービング攻撃等の悪意ある攻撃に対する耐性は一層向上する。仮に鍵記憶テーブルに登録されている認証鍵が漏洩したとしても、その認証鍵は特定の認証システムについてのみ有効であり、且つ漏洩した認証鍵から元鍵を推測することは困難である。したがって、鍵記憶テーブルに対する攻撃は、被認証装置を模造しようとする不正な目的のためには有益でない。
第2実施例においても、電子署名値を用いた認証識別子の真正性の検証、及び鍵記憶テーブルに記憶される第2認証鍵の再利用のうちの一方が省略されてもよい。
<4.その他の実施形態>
上記実施形態は、1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理の形式でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本明細書の開示は、少なくとも以下の被認証装置、認証システム及び認証方法を含む。
(項目1)
被認証装置であって、
異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶する記憶手段と、
前記被認証装置を認証する認証システムへ通信可能に接続される接続手段と、
前記接続手段を介する前記認証システムとの通信を制御する制御手段と、
を備え、
前記認証システムは、
当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
前記認証識別子の真正性の検証に使用される電子署名値、
を予め記憶し、
前記制御手段は、
前記認証システムから、前記認証識別子及び前記電子署名値を受信し、
受信した前記認証識別子の真正性を前記電子署名値を用いて検証し、
前記認証識別子の前記検証が成功した場合に、前記認証識別子に基づいて導出される前記第1鍵ID値により識別される前記第1元鍵を前記記憶手段から読出し、
読出した前記第1元鍵と前記認証識別子とに基づいて、前記第1認証鍵と同じ第2認証鍵を導出し、
前記認証システムから、チャレンジデータを受信し、
受信した前記チャレンジデータと導出した前記第2認証鍵とに基づいて、レスポンスデータを生成し、
生成した前記レスポンスデータを、前記認証システムへ送信する、
被認証装置。
(項目2)
前記被認証装置の前記認証は、前記認証システムにおいて、前記被認証装置から受信される前記レスポンスデータが、前記認証システムにおいて前記チャレンジデータと前記第1認証鍵とに基づいて生成される検証用データに一致した場合に、成功であると判定される、項目1に記載の被認証装置。
(項目3)
前記制御手段は、前記第1元鍵と前記認証識別子とを連結することにより生成した入力データを暗号学的ハッシュ関数へ入力することにより、前記第2認証鍵を導出する、項目1又は2に記載の被認証装置。
(項目4)
前記制御手段は、前記第1元鍵を共通鍵として用いて前記認証識別子を暗号化することにより、前記第2認証鍵を導出する、項目1又は2に記載の被認証装置。
(項目5)
前記第1鍵ID値は、前記認証識別子の一部に含まれ、
前記制御手段は、前記認証識別子から前記第1鍵ID値を抽出することにより、前記第1鍵ID値を導出する、
項目1~4のいずれか1項に記載の被認証装置。
(項目6)
前記認証システムは、前記第1認証鍵を含むN個(Nは2以上の整数)の認証鍵からなる認証鍵集合を予め記憶し、
前記認証鍵集合の前記N個の認証鍵は、
前記認証識別子と、
各々がM個の元鍵を含むN個の元鍵集合からなる元鍵マトリクスであって、各元鍵が第1鍵IDのM個の候補値のうちの1つと第2鍵IDのN個の候補値のうちの1つとの組合せにより識別される前記元鍵マトリクスにおいて、前記第1鍵IDが前記第1鍵ID値に等しいN個の元鍵と、
に基づいてそれぞれ導出された認証鍵であり、
前記記憶手段に予め記憶されている前記元鍵集合の前記M個の元鍵は、前記元鍵マトリクスにおいて、前記第2鍵IDが前記被認証装置に固有の第2鍵ID値に等しい元鍵であり、
前記第1元鍵は、前記元鍵マトリクスにおいて、前記第1鍵ID値及び前記第2鍵ID値の組合せにより識別される元鍵に等しく、
前記制御手段は、前記第2鍵ID値を前記認証システムへ送信して、前記認証システムに、前記レスポンスデータの検証のために前記第1元鍵に対応する前記第1認証鍵を前記認証鍵集合から選択させる、
項目1~5のいずれか1項に記載の被認証装置。
(項目7)
被認証装置を認証する認証システムであって、
前記被認証装置は、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶し、
前記認証システムは、
前記被認証装置へ通信可能に接続される接続手段と、
前記接続手段を介する前記被認証装置との通信を制御する制御手段と、
記憶手段であって、
前記認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
前記認証識別子の真正性の検証に使用される電子署名値、
を予め記憶する前記記憶手段と、
を備え、
前記制御手段は、
前記被認証装置へ、前記認証識別子及び前記電子署名値を送信して、前記被認証装置に、前記電子署名値を用いて前記認証識別子の真正性を検証させ、
チャレンジデータを生成して前記被認証装置へ送信し、
前記被認証装置において前記認証識別子の前記検証が成功したことに応じて、前記チャレンジデータと、前記認証識別子に関連する前記第1鍵ID値により識別される前記第1元鍵及び前記認証識別子に基づく第2認証鍵とを用いて生成されるレスポンスデータを、前記被認証装置から受信し、
前記チャレンジデータと前記第1認証鍵とに基づいて、検証用データを生成し、
受信した前記レスポンスデータを前記検証用データと比較することにより、前記被認証装置を認証する、
認証システム。
(項目8)
前記第1認証鍵は、前記第1元鍵と前記認証識別子とを連結することにより生成された入力データを暗号学的ハッシュ関数へ入力することにより予め導出された鍵である、項目7に記載の認証システム。
(項目9)
前記第1認証鍵は、前記第1元鍵を共通鍵として用いて前記認証識別子を暗号化することにより予め導出された鍵である、項目7に記載の認証システム。
(項目10)
前記第1鍵ID値は、前記認証識別子の一部に含まれる、項目7~9のいずれか1項に記載の認証システム。
(項目11)
前記記憶手段は、前記第1認証鍵を含むN個(Nは2以上の整数)の認証鍵からなる認証鍵集合を予め記憶し、
前記認証鍵集合の前記N個の認証鍵は、
前記認証識別子と、
各々がM個の元鍵を含むN個の元鍵集合からなる元鍵マトリクスであって、各元鍵が第1鍵IDのM個の候補値のうちの1つと第2鍵IDのN個の候補値のうちの1つとの組合せにより識別される前記元鍵マトリクスにおいて、前記第1鍵IDが前記第1鍵ID値に等しいN個の元鍵と、
に基づいてそれぞれ導出された認証鍵であり、
前記被認証装置により予め記憶される前記元鍵集合の前記M個の元鍵は、前記元鍵マトリクスにおいて、前記第2鍵IDが前記被認証装置に固有の第2鍵ID値に等しい元鍵であり、
前記第1元鍵は、前記元鍵マトリクスにおいて、前記第1鍵ID値及び前記第2鍵ID値の組合せにより識別される元鍵に等しく、
前記制御手段は、
前記第2鍵ID値を前記認証システムから受信し、
受信した前記第2鍵ID値を用いて、前記第1元鍵に対応する前記第1認証鍵を前記認証鍵集合から選択し、
前記レスポンスデータを、前記チャレンジデータと選択した前記第1認証鍵とに基づいて生成される前記検証用データと比較する、
項目7~10のいずれか1項に記載の認証システム。
(項目12)
認証システムへ通信可能に接続される被認証装置を認証するための認証方法であって、
前記被認証装置は、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶する記憶手段を備え、
前記認証システムは、
当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
前記認証識別子の真正性の検証に使用される電子署名値、
を予め記憶し、
前記認証方法は、
前記認証システムから前記被認証装置へ、前記認証識別子及び前記電子署名値を送信することと、
前記被認証装置において、前記認証識別子の真正性を前記電子署名値を用いて検証することと、
前記認証識別子の前記検証が成功した場合に、前記被認証装置において、前記認証識別子に基づいて導出される前記第1鍵ID値により識別される前記第1元鍵を前記記憶手段から読出すことと、
前記被認証装置において、読出した前記第1元鍵と前記認証識別子とに基づいて、前記第1認証鍵と同じ第2認証鍵を導出することと、
前記認証システムから前記被認証装置へ、チャレンジデータを送信することと、
前記被認証装置において、前記チャレンジデータと導出した前記第2認証鍵とに基づいて、レスポンスデータを生成することと、
前記被認証装置から前記認証システムへ、前記レスポンスデータを送信することと、
前記認証システムにおいて、前記チャレンジデータと前記第1認証鍵とに基づいて、検証用データを生成することと、
前記認証システムにおいて、前記被認証装置から受信した前記レスポンスデータを前記検証用データと比較することにより、前記被認証装置を認証することと、
を含む、認証方法。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:画像形成装置(認証システム)、101:エンジンコントローラ、103:接続I/F(接続手段)、110:認証チップ、113,313:制御回路(制御手段)、115,315:不揮発性メモリ(記憶手段)、117:認証識別子、118:第1認証鍵、119:電子署名値、318:認証鍵テーブル、200:プロセスカートリッジ(被認証装置)、210:被認証チップ、212:接続I/F(接続手段)、213,413:制御回路(制御手段)、215,415:不揮発性メモリ(記憶手段)、217,417:元鍵テーブル(第1記憶手段)、218:公開鍵、219:第2鍵ID値、240:鍵記憶テーブル(第2記憶手段)、500:元鍵マトリクス

Claims (12)

  1. 被認証装置であって、
    異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶する記憶手段と、
    前記被認証装置を認証する認証システムへ通信可能に接続される接続手段と、
    前記接続手段を介する前記認証システムとの通信を制御する制御手段と、
    を備え、
    前記認証システムは、
    当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
    前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
    前記認証識別子の真正性の検証に使用される電子署名値、
    を予め記憶し、
    前記制御手段は、
    前記認証システムから、前記認証識別子及び前記電子署名値を受信し、
    受信した前記認証識別子の真正性を前記電子署名値を用いて検証し、
    前記認証識別子の前記検証が成功した場合に、前記認証識別子に基づいて導出される前記第1鍵ID値により識別される前記第1元鍵を前記記憶手段から読出し、
    読出した前記第1元鍵と前記認証識別子とに基づいて、前記第1認証鍵と同じ第2認証鍵を導出し、
    前記認証システムから、チャレンジデータを受信し、
    受信した前記チャレンジデータと導出した前記第2認証鍵とに基づいて、レスポンスデータを生成し、
    生成した前記レスポンスデータを、前記認証システムへ送信する、
    被認証装置。
  2. 前記被認証装置の前記認証は、前記認証システムにおいて、前記被認証装置から受信される前記レスポンスデータが、前記認証システムにおいて前記チャレンジデータと前記第1認証鍵とに基づいて生成される検証用データに一致した場合に、成功であると判定される、請求項1に記載の被認証装置。
  3. 前記制御手段は、前記第1元鍵と前記認証識別子とを連結することにより生成した入力データを暗号学的ハッシュ関数へ入力することにより、前記第2認証鍵を導出する、請求項1に記載の被認証装置。
  4. 前記制御手段は、前記第1元鍵を共通鍵として用いて前記認証識別子を暗号化することにより、前記第2認証鍵を導出する、請求項1に記載の被認証装置。
  5. 前記第1鍵ID値は、前記認証識別子の一部に含まれ、
    前記制御手段は、前記認証識別子から前記第1鍵ID値を抽出することにより、前記第1鍵ID値を導出する、
    請求項1に記載の被認証装置。
  6. 前記認証システムは、前記第1認証鍵を含むN個(Nは2以上の整数)の認証鍵からなる認証鍵集合を予め記憶し、
    前記認証鍵集合の前記N個の認証鍵は、
    前記認証識別子と、
    各々がM個の元鍵を含むN個の元鍵集合からなる元鍵マトリクスであって、各元鍵が第1鍵IDのM個の候補値のうちの1つと第2鍵IDのN個の候補値のうちの1つとの組合せにより識別される前記元鍵マトリクスにおいて、前記第1鍵IDが前記第1鍵ID値に等しいN個の元鍵と、
    に基づいてそれぞれ導出された認証鍵であり、
    前記記憶手段に予め記憶されている前記元鍵集合の前記M個の元鍵は、前記元鍵マトリクスにおいて、前記第2鍵IDが前記被認証装置に固有の第2鍵ID値に等しい元鍵であり、
    前記第1元鍵は、前記元鍵マトリクスにおいて、前記第1鍵ID値及び前記第2鍵ID値の組合せにより識別される元鍵に等しく、
    前記制御手段は、前記第2鍵ID値を前記認証システムへ送信して、前記認証システムに、前記レスポンスデータの検証のために前記第1元鍵に対応する前記第1認証鍵を前記認証鍵集合から選択させる、
    請求項1~5のいずれか1項に記載の被認証装置。
  7. 被認証装置を認証する認証システムであって、
    前記被認証装置は、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶し、
    前記認証システムは、
    前記被認証装置へ通信可能に接続される接続手段と、
    前記接続手段を介する前記被認証装置との通信を制御する制御手段と、
    記憶手段であって、
    前記認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
    前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
    前記認証識別子の真正性の検証に使用される電子署名値、
    を予め記憶する前記記憶手段と、
    を備え、
    前記制御手段は、
    前記被認証装置へ、前記認証識別子及び前記電子署名値を送信して、前記被認証装置に、前記電子署名値を用いて前記認証識別子の真正性を検証させ、
    チャレンジデータを生成して前記被認証装置へ送信し、
    前記被認証装置において前記認証識別子の前記検証が成功したことに応じて、前記チャレンジデータと、前記認証識別子に関連する前記第1鍵ID値により識別される前記第1元鍵及び前記認証識別子に基づく第2認証鍵とを用いて生成されるレスポンスデータを、前記被認証装置から受信し、
    前記チャレンジデータと前記第1認証鍵とに基づいて、検証用データを生成し、
    受信した前記レスポンスデータを前記検証用データと比較することにより、前記被認証装置を認証する、
    認証システム。
  8. 前記第1認証鍵は、前記第1元鍵と前記認証識別子とを連結することにより生成された入力データを暗号学的ハッシュ関数へ入力することにより予め導出された鍵である、請求項7に記載の認証システム。
  9. 前記第1認証鍵は、前記第1元鍵を共通鍵として用いて前記認証識別子を暗号化することにより予め導出された鍵である、請求項7に記載の認証システム。
  10. 前記第1鍵ID値は、前記認証識別子の一部に含まれる、請求項7に記載の認証システム。
  11. 前記記憶手段は、前記第1認証鍵を含むN個(Nは2以上の整数)の認証鍵からなる認証鍵集合を予め記憶し、
    前記認証鍵集合の前記N個の認証鍵は、
    前記認証識別子と、
    各々がM個の元鍵を含むN個の元鍵集合からなる元鍵マトリクスであって、各元鍵が第1鍵IDのM個の候補値のうちの1つと第2鍵IDのN個の候補値のうちの1つとの組合せにより識別される前記元鍵マトリクスにおいて、前記第1鍵IDが前記第1鍵ID値に等しいN個の元鍵と、
    に基づいてそれぞれ導出された認証鍵であり、
    前記被認証装置により予め記憶される前記元鍵集合の前記M個の元鍵は、前記元鍵マトリクスにおいて、前記第2鍵IDが前記被認証装置に固有の第2鍵ID値に等しい元鍵であり、
    前記第1元鍵は、前記元鍵マトリクスにおいて、前記第1鍵ID値及び前記第2鍵ID値の組合せにより識別される元鍵に等しく、
    前記制御手段は、
    前記第2鍵ID値を前記認証システムから受信し、
    受信した前記第2鍵ID値を用いて、前記第1元鍵に対応する前記第1認証鍵を前記認証鍵集合から選択し、
    前記レスポンスデータを、前記チャレンジデータと選択した前記第1認証鍵とに基づいて生成される前記検証用データと比較する、
    請求項7~10のいずれか1項に記載の認証システム。
  12. 認証システムへ通信可能に接続される被認証装置を認証するための認証方法であって、
    前記被認証装置は、異なる鍵識別子(鍵ID)の値によりそれぞれ識別されるM個(Mは2以上の整数)の元鍵からなる元鍵集合を予め記憶する記憶手段を備え、
    前記認証システムは、
    当該認証システムに固有の認証識別子であって前記M個の元鍵のうちの第1元鍵を識別する第1鍵ID値に関連する前記認証識別子、
    前記認証識別子及び前記第1元鍵に基づいて導出された第1認証鍵、並びに
    前記認証識別子の真正性の検証に使用される電子署名値、
    を予め記憶し、
    前記認証方法は、
    前記認証システムから前記被認証装置へ、前記認証識別子及び前記電子署名値を送信することと、
    前記被認証装置において、前記認証識別子の真正性を前記電子署名値を用いて検証することと、
    前記認証識別子の前記検証が成功した場合に、前記被認証装置において、前記認証識別子に基づいて導出される前記第1鍵ID値により識別される前記第1元鍵を前記記憶手段から読出すことと、
    前記被認証装置において、読出した前記第1元鍵と前記認証識別子とに基づいて、前記第1認証鍵と同じ第2認証鍵を導出することと、
    前記認証システムから前記被認証装置へ、チャレンジデータを送信することと、
    前記被認証装置において、前記チャレンジデータと導出した前記第2認証鍵とに基づいて、レスポンスデータを生成することと、
    前記被認証装置から前記認証システムへ、前記レスポンスデータを送信することと、
    前記認証システムにおいて、前記チャレンジデータと前記第1認証鍵とに基づいて、検証用データを生成することと、
    前記認証システムにおいて、前記被認証装置から受信した前記レスポンスデータを前記検証用データと比較することにより、前記被認証装置を認証することと、
    を含む、認証方法。
JP2022202338A 2022-12-19 被認証装置、認証システム及び認証方法 Pending JP2024087491A (ja)

Publications (1)

Publication Number Publication Date
JP2024087491A true JP2024087491A (ja) 2024-07-01

Family

ID=

Similar Documents

Publication Publication Date Title
CN110493197B (zh) 一种登录处理方法及相关设备
US8365262B2 (en) Method for automatically generating and filling in login information and system for the same
EP2456121B1 (en) Challenge response based enrollment of physical unclonable functions
EP1983466B1 (en) Method and apparatus of secure authentication for system-on-chip (SoC)
US8746363B2 (en) System for conducting remote biometric operations
KR101038331B1 (ko) 인증서 폐기 목록의 관리
US11228438B2 (en) Security device for providing security function for image, camera device including the same, and system on chip for controlling the camera device
DK2811708T3 (en) User authentication system and method
EP1832036A2 (en) Method and device for key generation and proving authenticity
JP2006211343A (ja) 認証方式及び認証システム
US8566952B1 (en) System and method for encrypting data and providing controlled access to encrypted data with limited additional access
CN109076090A (zh) 更新生物特征数据模板
CN101124767A (zh) 密钥生成以及证明真实性的方法和设备
Fischlin et al. Subtle kinks in distance-bounding: an analysis of prominent protocols
JP5183517B2 (ja) 情報処理装置及びプログラム
US20070283161A1 (en) System and method for generating verifiable device user passwords
JP2024087491A (ja) 被認証装置、認証システム及び認証方法
JP2024087492A (ja) 被認証装置及び認証方法
CN114726606A (zh) 一种用户认证方法、客户端、网关及认证服务器
KR102308248B1 (ko) 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법
JP2004320174A (ja) 認証システム、認証装置、認証方法
KR102021956B1 (ko) 스마트 카드 기반 인증 시스템, 장치 및 인증 방법
EP3272064B1 (fr) Authentification chainee par l'intermediaire de dispositifs connectes
US20230308260A1 (en) Apparatus for Receiving Cryptographically Protected Communication Data and Method for Receiving Cryptographically Protected Communication Data
CN117424709B (zh) 终端设备的登录方法、设备以及可读存储介质