JP2021141460A - 被認証装置、認証システムおよび認証方法 - Google Patents

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

Info

Publication number
JP2021141460A
JP2021141460A JP2020038119A JP2020038119A JP2021141460A JP 2021141460 A JP2021141460 A JP 2021141460A JP 2020038119 A JP2020038119 A JP 2020038119A JP 2020038119 A JP2020038119 A JP 2020038119A JP 2021141460 A JP2021141460 A JP 2021141460A
Authority
JP
Japan
Prior art keywords
authentication
password
operation code
identification information
authenticated
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
JP2020038119A
Other languages
English (en)
Inventor
謙治郎 堀
Kenjiro Hori
謙治郎 堀
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
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020038119A priority Critical patent/JP2021141460A/ja
Priority to US17/192,071 priority patent/US11777920B2/en
Publication of JP2021141460A publication Critical patent/JP2021141460A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

【課題】被認証装置の複製を従来よりも困難にすること。【解決手段】被認証装置は、認証装置から識別情報、パスワードおよびチャレンジを受信して、パスワード認証を実行する。パスワード認証が成功すると、被認証装置は、識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得する。被認証装置は、パスワード認証に成功したパスワードを用いて、暗号化された認証演算コードから実行可能な認証演算コードを復号する。被認証装置は、認証演算コードにチャレンジを適用して認証演算コードを実行することでレスポンスを生成する。【選択図】 図3

Description

本発明は被認証装置、認証システムおよび認証方法に関する。
設計上で想定されていない部品が画像形成装置などの電子機器に接続されると、電子機器が故障したり、想定外の事象が発生したりする。特許文献1によればバッテリパックが正規品かどうかを識別するために、ID(識別情報)を認証することが記載されている。
特開2003−162986号公報
特許文献1では、認証装置と被認証装置が共通の暗号鍵を保持している。認証装置と被認証装置のどちらか一方に対するデータ解析が成功すると、認証装置による認証を成功させることが可能な被認証装置が製造可能になってしまう。そこで、本発明は、被認証装置の複製を従来よりも困難にすることを目的とする。
本発明は、たとえば、
認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段と、
前記パスワードをハッシュ化するハッシュ演算手段と、
前記識別情報に対応した比較情報を読み出し、前記ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行するパスワード認証手段と、
前記パスワード認証が成功すると、前記チャレンジに基づきレスポンスを生成する生成手段と、
前記レスポンスを前記認証装置に送信する送信手段と、
を有し、
前記生成手段は、
前記識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得し、前記パスワード認証に成功した前記パスワードを用いて前記暗号化された認証演算コードから実行可能な認証演算コードを復号し、当該認証演算コードに前記チャレンジを適用して当該認証演算コードを実行することで前記レスポンスを生成することを特徴とする被認証装置を提供する。
本発明によれば被認証装置の複製が従来よりも困難になる。
画像形成装置を説明する図。 認証システムを説明する図。 認証システムを説明する図。 認証シーケンスを説明する図 レスポンスの生成処理を示すフローチャート。 メモリデータマップを説明する図。 レスポンスの生成処理を示すフローチャート。 メモリデータマップを説明する図。 レスポンスの生成処理を示すフローチャート。 メモリデータマップを説明する図。 マイコンの機能を説明する図。 マイコンの機能を説明する図。 マイコンの機能を説明する図。 マイコンの機能を説明する図。
以下、添付図面を参照して実施形態が詳しく説明される。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一または同様の構成に同一の参照番号が付され、重複した説明は省略される。
<実施例1>
[画像形成装置(認証システム)]
図1Aは画像形成装置100及びオプション給紙装置300、オプション排紙装置400の概略の構成を示している。画像形成装置100は電子写真プロセスにしたがってシートに画像を形成するプリンタ、複写機または複合機などである。シート積載部11のシートを給紙部12によって供給し、シートを搬送ローラ13、14によって搬送する。搬送されたシートは転写ローラ20と感光ドラム19によって形成された転写ニップ部に搬送されて感光ドラム19に形成されたトナー像がシートに転写される。感光ドラム19は、その表面を帯電ローラ17によって一様に帯電し、その後、露光部21から光が照射されて静電潜像が形成される。そして形成された静電潜像を現像ローラによってトナーで現像してトナー像が形成される。シートに転写された画像が定着器200によって定着された後、搬送ローラ26と排出ローラ27によって搬送された画像形成装置100の外に排出される。ここでプロセスカートリッジ102は感光ドラム19、帯電ローラ17、現像ローラ16、およびクリーナー18を一体化して構成され、画像形成装置100に対して着脱可能な交換部品である。また、定着器200も画像形成装置100に対して着脱可能な交換部品である。
オプション給紙装置300はシートの積載量を増やすために設けられた装置であり、画像形成装置100に対して着脱可能である。オプション排紙装置400は、画像が形成されたシートを振り分けて排出するための装置であり、画像形成装置に対して着脱可能である。
図1Bは、図1Aで説明した構成において、プロセスカートリッジ102に認証チップを設けた構成を示している。コントローラ101は、制御装置105、認証チップ106および通信回路104を有している。制御装置105は、画像形成装置100の全体を統括的に制御するコントローラである。認証チップ106は、被認証チップ103を認証する半導体集積回路である。通信回路104はプロセスカートリッジ102と通信するための通信回路である。プロセスカートリッジ102は、画像形成装置100の本体から着脱可能な交換部品であり、感光ドラム、感光ドラムを感光ドラムにトナーを供給するための現像部である。プロセスカートリッジ102は被認証チップ103を有している。被認証チップ103は耐タンパチップである。制御装置105は、装着センサ209を用いてプロセスカートリッジ102が装着されたことを検知すると、認証チップ106に認証を指示する。制御装置105は、認証チップ106により生成されたチャレンジを、通信回路104を介して被認証チップ103に送信する。制御装置105は、通信回路104を介して被認証チップ103から受信したレスポンスを認証チップ106に転送する。制御装置105は、認証チップ106から認証結果を受け取る。被認証チップ103は、画像形成装置100の消耗品や交換部品(定着器200)、オプションデバイス(オプション給紙装置300やオプション排紙装置400など)に組み込まれてもよい。
図2はコントローラ101と被認証チップ103との内部構成を示している。認証チップ106は入出力回路201a、マイコン202a、揮発性メモリ203a、暗号回路206aおよび不揮発性メモリ205aを有している。入出力回路201aは、制御装置105から出力されたコマンドなどを受信し、マイコン202aへ転送する通信回路として機能する。さらに、入出力回路201aはマイコン202aからのレスポンスデータを制御装置105へ転送する。そのため、入出力回路201aは入力回路(受信回路)と出力回路(送信回路)を有している。マイコン202aは制御装置105から受信されたコマンドに従って内部処理を実施するためのプロセッサ回路である。不揮発性メモリ205aには認証チップ106の制御を行うプログラムが書き込まれている。揮発性メモリ203aはマイコン202aがデータ処理を実施する際に一時的にデータを保存するメモリである。暗号回路206aは、マイコン202aの指令に従い、認証処理のための暗号計算を実行する回路である。
入出力回路201bはプロセスカートリッジ102が画像形成装置100の本体に装着されたときに通信回路104と電気的に接続される回路である。入出力回路201bは、制御装置105から送信されたコマンドやチャレンジを、通信回路104を経由して受信し、マイコン202bに出力する。入出力回路201bは、マイコン202bから出力されたレスポンスを、通信回路104を経由して受信し、マイコン202aに出力する。そのため、入出力回路201bは入力回路(受信回路)と出力回路(送信回路)を有している。マイコン202bは制御装置105からのコマンドに従って内部処理を実施するためのプロセッサ回路である。不揮発性メモリ205bには被認証チップ103を制御するためのプログラムおよびテーブルなどが書き込まれている。揮発性メモリ203bはマイコン202bがデータ処理を実施する際に一時的にデータを保存するためのメモリである。暗号回路206bはマイコン202bの指令に従い、認証処理のための暗号計算を実行する回路である。
認証処理の起点は制御装置105である。制御装置105は認証処理に必要な様々なコマンドを認証チップ106および被認証チップ103へ出力する。認証チップ106および被認証チップ103はそれぞれコマンドに従った処理を実行し、コマンドに対するレスポンスとして実行結果を制御装置105へ返答する。制御装置105は必須ではなく、認証チップ106および被認証チップ103が直接的に通信してもよい。
[認証シーケンス]
図3は被認証チップ103、制御装置105および認証チップ106が実行する認証シーケンスを示している。制御装置105は、装着センサ209を用いてプロセスカートリッジ102が装着されたことを検知すると、認証シーケンスを開始する。
Sq1で制御装置105は被認証チップ103の識別情報IDmを制御装置105に送信するよう被認証チップ103に対して要求する。被認証チップ103はこの要求を受信する。識別情報IDmは不揮発性メモリ205bに記憶されている。mはインデックスであり、0以上の整数である。IDmの長さは、たとえば、16バイト以上である。識別情報IDmは被認証チップ103が保有する識別データであるが、固有の情報でなくてもよい。すなわち、同一の識別情報IDmが、複数の異なる被認証チップに記憶されていてもよい。
Sq2で被認証チップ103は識別情報IDmを不揮発性メモリ205bから読み出して、制御装置105に返信する。制御装置105は識別情報IDmを受信する。
Sq3で制御装置105は識別情報IDmを認証チップ106に転送する。認証チップ106は識別情報IDmを受信する。
Sq4で制御装置105は認証チップ106の識別情報IDnを制御装置105に送信するよう認証チップ106に対して要求する。認証チップ106はこの要求を受信する。nはインデックスであり、0以上の整数である。IDnの長さは、たとえば、16バイト以上である。識別情報IDnは認証チップ106が保有する識別データであるが、固有の情報でなくてもよい。すなわち、同一の識別情報IDnが複数の異なる認証チップに記憶されていてもよい。
Sq5で認証チップ106は識別情報IDnを不揮発性メモリ205aから読み出して制御装置105に識別情報IDnを返信する。制御装置105は識別情報IDnを受信する。
Sq6で制御装置105は識別情報IDnを被認証チップ103に転送する。被認証チップ103は識別情報IDnを受信する。Sq1からSq6まで実行されると、被認証チップ103と認証チップ106は、互いに相手の識別情報を取得する。IDnとIDmは有限個の数の識別情報であり、それらの長さは16バイト程度必要である。IDnとIDmは容易に推測されないように、にランダムに決定されてもよい。
Sq7で制御装置105は認証チップ106に対して16バイトのパスワードPwdと16バイトのチャレンジCdataを要求する。パスワードPwdおよびチャレンジCdataは認証情報と呼ばれてもよい。認証チップ106は、パスワードPwdとチャレンジCdataを、たとえば、以下の手順で演算する。
Pwd=SHA256(IDm||Mpwd)・・・・・(1)
SHA256は暗号学的ハッシュ関数である。SHA256の詳細は、たとえば、NIST_FIPS_PUB 180−4に記載されている。ハッシュ関数は一方向性関数の一例である。一方向性関数は、出力データから入力データを復元できないように、入力データから出力データを生成する関数の総称である。Mpwdは認証チップ106が保有するマスターパスワードであり、不揮発性メモリ205に記憶されている。||は連結演算子であり、二つのデータ列を一つのデータ列に連結することを意味する。SHA256は32バイトのデータを出力する関数である。認証チップ106は、この32バイトのデータのうち上位の16バイトを切り出してPwdを生成する。つまり、上位の16バイトがPwdとなる。(1)式によって識別情報IDmごとに異なるパスワードPwdが生成される。マスターパスワードMpwdは識別情報IDnごとに異なるものとする。結果として、パスワードPwdは、被認証チップ103の識別情報IDmと認証チップ106の識別情報IDnとに紐づけられる。なお、パスワードPwdはマスターパスワードMpwdからは生成した派生情報と呼ばれてもよい。(1)式におけるSHA256の演算は、暗号回路206aの支援を受けながらマイコン202が不揮発性メモリ205に格納された演算プログラムを実行することによって、実行される。SHA256の演算に伴い発生する計算途中のデータと計算結果のデータは、揮発性メモリ203aに一時的に記憶される。被認証チップ103においても、(1)式に従って前もって計算されたパスワードが、被認証チップ103の不揮発性メモリ205bに書き込まれていてもよい。Pwdは、(1)式の代わりに、テーブルを用いて決定されてもよい。たとえば、不揮発性メモリ205aが識別情報ID(IDm)とパスワード(Pwd)とを紐づけるパスワードテーブルを記憶していてもよい。マイコン202aは、パスワードテーブルを参照することでIDmに対応するPwdを取得してもよい。
認証チップ106は、チャレンジCdataをランダムに生成する。たとえば、マイコン202aは、暗号回路206aに実装されている疑似乱数発生器を用いてチャレンジCdataをランダムに生成してもよい。なお、チャレンジCdataは揮発性メモリ203aに記憶され、レスポンスを確認する際に使用される。
Sq8で認証チップ106はパスワードPwdとチャレンジCdataを制御装置105に送信する。制御装置105は認証チップ106からパスワードPwdとチャレンジCdataを受信する。
Sq9で制御装置105はパスワードPwdとチャレンジCdataを被認証チップ103に転送する。被認証チップ103は制御装置105からパスワードPwdとチャレンジCdataを受信する。
Sq10で被認証チップ103はパスワードPwdとチャレンジCdataに基づきレスポンスRdataを生成して、制御装置105に送信する。制御装置105は被認証チップ103からレスポンスRdataを受信する。
Sq11で制御装置105はレスポンスRdataを認証チップ106に転送する。認証チップ106は制御装置105からレスポンスRdataを受信し、レスポンスRdataを用いて認証演算を実行して認証結果を生成する。
Sq12で認証チップ106は認証結果を制御装置105に送信する。制御装置105は認証チップ106から認証結果を受信する。
[レスポンスの生成]
図4は被認証チップ103のマイコン202bが実行するパスワード認証とレスポンスの生成を示している。
S401でマイコン202bはパスワードPwdをハッシュ化し、ハッシュ化されたパスワードHpassを生成する。このハッシュ化は(2)式にしたがって実行されてもよい。
Hpass=H(Pwd)=SHA256(Pwd)・・・・・(2)
ここでHは暗号学的ハッシュ関数である。(2)式でもSHA256が採用されている。(2)式のSHA256は、暗号回路206bの支援を受けながらマイコン202bが不揮発性メモリ205bに格納された演算プログラムにより実現されてもよい。SHA256の演算途中のデータと演算結果のデータは揮発性メモリ203bで一時的に記憶される。
S402でマイコン202bは認証チップ106の識別情報IDnに対応する比較用パスワード(ハッシュ化されたパスワードHpass’(IDn))を読み出す。たとえば、マイコン202bは識別情報IDnに対応するHpass’(IDn)を、不揮発性メモリ205bに記憶されているテーブルから検索して読み出してもよい。マイコン202bは、Hpass’(IDn)を揮発性メモリ203bに一時的に記憶する。
S403で、マイコン202bは二つのパスワードが一致したかどうかを判定する。つまり、マイコン202bはHpassとHpass’(IDn)とを比較する。Hpass’(IDn)は、(1)式と(2)式とが満たされるように予め決定されている。つまり、(3)式が成り立つように、Hpass’(IDn)は計算されて、不揮発性メモリ205bのテーブルに記憶されている。
Hpass’(IDn)=SHA256(SHA256(IDm||Mpwd) )・・・・・(3)
二つのパスワードが一致しなければ、マイコン202bはS410に進む。S410でマイコン202bはエラービットErrを0から1に変更する。エラービットErrのデフォルト値は0である。エラービットErrは、レスポンスRdataとともにレスポンスデータを形成する。つまり、エラービットErrは、レスポンスデータを構成する複数のフィールドのうちの一つのフィールドに格納される。その後、S407でマイコン202bはエラービットErrとレスポンスRdataを連結してレスポンスデータを生成して制御装置105へ送信する。一方、S403で二つのパスワードが一致すれば、マイコン202bはS404に進む。
S404でマイコン202bは識別情報IDnに紐づけされている暗号化された認証演算コードEncAuth(IDn)を不揮発性メモリ205bのテーブルから検索し読み出す。暗号化された認証演算コードEncAuth(IDn)は、実行可能なプログラムコードである認証演算コードAuth(IDn)を暗号化することで予め生成されている。マイコン202bはEncAuth(IDn)を揮発性メモリ203bに一時的に記憶する。
S405でマイコン202bは暗号化された認証演算コードEncAuth(IDn)から認証演算コードAuth(IDn)を復号する。たとえば、マイコン202bは復号化関数Dec()を不揮発性メモリ205bから読み出し、復号化関数Dec()に基づき認証演算コードEncAuth(IDn)から認証演算コードAuth(IDn)を復号してもよい。復号化関数Dec()は、NIST_FIPS_PUB 197に記載されているようなAESアルゴリズムをベースとした復号化関数であってもよい。マイコン202bは、復号化関数Dec()を揮発性メモリ203bに一時的に記憶する。マイコン202bは、(4)式にしたがって認証演算コードAuth(IDn)を求める。
Auth(IDn)=Dec(Pwd,EncAuth(IDn))=CBC_AES_Dec(Pwd,EncAuth(IDn))・・・・・(4)
ここで、CBC_AES_Decは、NIST SP 800−38Aに記載されているCBCブロックモードの復号化関数であってもよい。ここでは復号化関数の原始関数としてAESが用いられている。CBC_AES_Decの入力ペイロードは復号鍵Pwdである。CBC_AES_Decの出力メッセージコードはEncAuth(IDn)である。
長いメッセージを暗号化または復号化するためにAESが単体で利用されると、統計解析手法に対して脆弱となる。復号化関数としてCBCブロックモードのAESが利用されると、統計解析手法に対して頑強となる。
マイコン202bは、暗号回路206bの支援を受けながら不揮発性メモリ205bに格納された演算プログラムを実行することで、(4)式を演算する。マイコン202bは、認証演算コードAuth(IDn)を揮発性メモリ203bに一時的に記憶する。
(4)式ではCBCモードの復号化関数が採用されているが、暗号化関数と復号化関数は双対的であって互いに逆変換可能である。そのため、復号化関数は暗号化関数に置換可能である。重要なのは、Auth(IDn)がマイコン202bによって実行可能なプログラムコードであることである。
認証演算コードAuth(IDn)の例として、NIST SP 800−38Bに記載されているメッセージ認証コードCMACがある。CMACは暗号化関数AESをメッセージ認証で利用するために考案された認証アルゴリズムである。CMACの入力パラメータは暗号鍵KとメッセージMである。CMACは暗号鍵KとメッセージMに対応するメッセージ認証コードを生成する。したがって、認証演算コードAuth(IDn)は(5)式で表現されるプログラムコードである。
Auth(input)=CMAC(K=Kn,M=input)・・・・・(5)
ここで、Knは生成された認証演算コードAuth(input)(つまり、Auth(IDn))に予め組み込まれている鍵である。鍵Knは識別情報IDnに対応している。様々なIDnに対応した鍵Knがセットされた(5)式に相当する認証演算コードAuth(IDn)が予め用意される。さらに、Auth(IDn)は、(4)式で定められる復号化関数の逆関数(すなわち暗号化関数)で暗号化される。暗号されたAuth(IDn)が、EncAuth(IDn)として不揮発性メモリ205bに記憶される。そのため、(4)式と(5)式が成立する。EncAuth(IDn)の数は、識別情報IDnの数に一致する。つまり、市場に存在するすべての識別情報IDnに対応したEncAuth(IDn)が不揮発性メモリ205bに記憶される。(5)式は、認証演算コードAuth(IDn)が認証鍵Knを内包したメッセージ認証コードCMACであることを示している。
(5)式の例としてCMACが採用されたが、これは一例に過ぎない。CMACに代えてHMACが採用さてもよい。HMACはNIST_FIPS_PUB 198−1に記載されているSHA256のような暗号学的ハッシュ関数を利用したメッセージ認証アルゴリズムである。この場合、(5)式は(6)式に置換される。
Auth(input)=HMAC(K=Kn||M=input)・・・・・(6)
ここで、Knは認証演算コードAuth(IDn)に予め組み込まれる鍵であり、識別情報IDnに対応している。(5)式と同様に、(6)式に相当する複数の認証演算コードAuth(IDn)が予め用意される。認証演算コードAuth(IDn)は、(4)式で定められる復号化関数の逆関数(すなわち暗号化関数)で暗号化される。これにより、暗号化された認証演算コードEncAuth(IDn)が生成され、不揮発性メモリ205bに記憶される。(6)式は、認証演算コードAuth(IDn)が認証鍵Knを内包したメッセージ認証コードHMACであることを示している。
S406でマイコン202bは認証演算コードAuth(IDn)とチャレンジCdataを用いてレスポンスRdataを生成する。この生成には、たとえば(7)式が使用されてもよい。
Rdata=Auth(Cdata)・・・・・(7)
S408でマイコン202bはエラービットErrとレスポンスRdataとを制御装置105に送信する。たとえば、マイコン202bはレスポンスRdataとエラービットErrを連結して、レスポンスデータErr||Rdataを生成して制御装置105に送信する。S403で二つのパスワードが一致した場合、エラービットErrは0である。
[メモリデータマップ]
図5は被認証チップ103の不揮発性メモリ205bのメモリデータマップを示す。図5が示すように、インデックスnごとに、認証チップ106の識別情報IDn、ハッシュ化されたパスワードHpass’(IDn)、暗号化認証演算コードEncAuth(IDn)が一つのセットを形成している。マイコン202bは、受信された識別情報IDnに対応するハッシュ化されたパスワードHpass’(IDn)と暗号化された認証演算コードEncAuth(IDn)を不揮発性メモリ205bから読み出すことができる。
不揮発性メモリ205bには、被認証チップ103に割り当てられた識別情報IDmと、ハッシュ関数であるSHA256()、復号化関数であるCBC_AES()およびその他のプログラムも記憶されている。その他のプログラムは、上述されたプログラムコードを含む。
[認証チップでの認証処理]
Sq11に関して説明されたように、認証チップ106のマイコン202aは、被認証チップ103が生成した認証演算結果をレスポンスデータとして受信する。マイコン202aは、チャレンジCdataをペイロードとして認証演算コードAuth(IDn)に入力して、認証演算コードAuth(Cdata)を実行する。マイコン202aは、実行結果(認証結果)を、揮発性メモリ203aに一時的に記憶する。認証演算コードAuth(IDn)は、(5)式で表現されたものと同じものであり、平文で不揮発性メモリ205aに記憶されている。認証演算コードAuth(IDn)は識別情報IDnに対応している。つまり、被認証チップ103で実行される認証演算コードAuth(IDn)と認証チップ106で実行される認証演算コードAuth(IDn)は同一である。したがって、同一のペイロードが入力されれば、被認証チップ103で取得される認証結果(例:Rdata)と認証チップ106で取得される認証結果(例:Auth(Cdata))は同一となる。
マイコン202aは、レスポンスデータからエラービットErrを分離して、エラービットErrが0であるか1であるかを判定する。つまり、パスワード認証が成功したかどうかが確認される。つまり、パスワード認証が成功した場合、マイコン202aは、レスポンスRdataと、Auth(Cdata)との比較を実行する。パスワード認証が失敗した場合、マイコン202aは、レスポンスRdataと、Auth(Cdata)との比較を実行しない。マイコン202は比較結果を認証結果として制御装置105に送信する。レスポンスRdataと、Auth(Cdata)とが不一致であれば、制御装置105は、プロセスカートリッジ102が正規品ではないことを示す通知を出力する。この通知は制御装置105に接続された表示装置などに表示されてもよい。
マイコン202aも(5)式で表現される認証演算コードAuth(IDn)を使用するが、これは一例に過ぎない。マイコン202bが(6)式を採用するようにプログラムされている場合、マイコン202aも(6)式を採用するようにプログラムされる。重要なのは、被認証チップ103が実行する認証演算コードと認証チップ106で実行する認証演算コードとが一致していることである。認証演算コードAuth(IDn)が識別情報IDnに紐づいているため、次のように認証演算コードが切り替えられてもよい。たとえば、IDn=0x…00の場合、マイコン202は(5)式の認証演算コードを選択する。IDn=0x…01の場合、マイコン202は(6)式の認証演算コードを利用する。
[実施例1の特徴]
A: 被認証チップ103は識別情報IDnごとに異なる複数の暗号化された認証演算コードEncAuth(IDn)を備えている。識別情報IDmと識別情報IDnとに紐づけられた正しいパスワードPwdが被認証チップ103に入力されない限り、暗号化された認証演算コードEncAuth(IDn)が得られない、したがって、正しい認証演算コードAuth(IDn)も得られない。
B: 被認証チップ103は、暗号学的ハッシュ関数でハッシュ化されたパスワードHpass’(IDn)を不揮発性メモリ205bに保持している。したがって、ハッシュ化されたパスワードHpass’(IDn)が攻撃されて暴露されても、パスワードPwdは暴露されない。
C: 認証チップ106に記憶されるマスターパスワードMpwdは、識別情報IDnに紐づいている。したがって、あるコントローラ101に保持されている識別情報IDxが暴露されたとしても、異なる識別情報IDyをもつ他のコントローラ101のマスターパスワードMpwdは暴露されない。
D: 認証チップ106は平文の認証演算コードAuth()を有している。認証演算コードAuth(IDm)は識別情報IDmに紐づけられている。そのため、識別情報IDmが異なれば、認証演算コードAuth(IDm)も異なる。識別情報IDxを割り当てられたコントローラ101に設けられた認証演算コードAuth()が暴露されても、異なる識別情報IDyをもつ他のコントローラ101の認証演算コードAuth()は暴露されない。
識別情報IDnと識別情報IDmとの組み合わせは多数する。そのため、あるコントローラ101とあるプロセスカートリッジ102の組み合わせで取り交わされるパスワードPwdが暴露されても、他の組み合わせについてパスワードPwdは暴露されない。また、すべてのコントローラ101についてそれぞれの認証演算コードを入手することは困難である。したがって、コントローラ101ごとのパスワードの秘匿性と認証演算コードの秘匿性は十分に確保される。
このように実施例1では攻撃者による認証解析がとても困難になる。被認証チップ103にハードウエアの破壊を伴う攻撃が行われ、不揮発性メモリ205bに保管されたパスワードと暗号化された認証演算コードが読み出されても、暗号化された認証演算コードを復号することは困難である。被認証チップ103の不揮発性メモリ205bの記憶内容を完全にコピーしたとしても、マイコン202bの動作を完全にコピーするまたはエミュレートすることは困難である。これを実現するには、ハードウエアを含めたすべてをコピーすることは、莫大な労力と費用を有するため、現実的ではない。また、マイコン202を汎用のマイクロコントローラで複製することも困難である。これは、マイコン202の演算命令形態と汎用のマイクロコントローラの演算命令形態が異なるからである。
IDn、IDm、Pwdの各長さは16バイトと仮定されている。これは全数探索を事実上困難にするために有効である。しかし、安全性の許容度に依存して、IDn、IDm、Pwdの長さは短くされてもよいし、長くされてもよい。
(4)式でAESの一暗号ブロックモードであるCBC_AESが利用されているがこれも一例に過ぎない。NIST SP 800−38Aに記載されているような、他のブロックモードであるCFB_AES、OFB_AES、CTR_AESなどが利用されてもよい。
ここではAESをベースとした共通鍵方式のブロック暗号化が例示されている。代替え案として、共通鍵方式のストリーム暗号技術が採用されてもよい。この場合、共通鍵に応じた疑似乱数ビットストリームが生成され、ビットストリームとメッセージとの排他的論理和が演算されることで、ストリーム暗号が生成される。疑似乱数ビットストリームは色々な手法で生成可能である。一例として暗号学的ハッシュ関数が使用されてもよい。たとえば、暗号パスワードPwdとカウンタCTR+とを連結することで、SHA256()のペイロードPwd||CTR+が生成される。この演算結果は、SHA256(Pwd||CTR+)と表記される。この演算はカウンタCTR+を増加しながら、繰り返し実行される。その実行結果は、Repeat_SHA256(Pwd||CTR+)と表記される。さらに、Repeat_SHA256(Pwd||CTR+)とメッセージであるEncAuth(IDn)との排他的論理和.xor.が演算される。(8)式は(4)式の代替である。
Auth()=Repeat_SHA256(Pwd||CTR+).xor.EncAuth(IDn)・・・・・(8)
ここで、.xor.は排他的論理和を示す演算子である。
認証演算コードについて(5)式と(6)式が例示された。(5)式ではメッセージ認証コードCMACが使用されている。CMACのベースとなる共通鍵ブロック暗号としては、AESが標準的であるが、他のブロック暗号技術が採用されてもよい。たとえば、日本のCRYPTRECは軽量暗号ガイドラインを提示している(https://www.cryptrec.go.jp/report/cryptrec-gl-2003-2016jp.pdf)。プログラムデータ量が小さいブロック暗号技術(例:SIMON、SPECK、MIDORIなど)が採用されてもよい。これにより、認証演算コードAuth()のプログラムデータ量が削減される。
<実施例2>
実施例1では暗号化された認証演算コードEncAuth()から認証演算コードAuth()が復号され、認証演算コードAuth()にチャレンジCdataが入力されている。暗号化された認証演算コードEncAuth()は識別情報IDnごとに予め用意されていた。
実施例2では、認証演算コードAuth()は複数の識別情報IDnに対して共通に用意される。その一方で、認証演算コードAuth()に入力されるデータを生成するプログラムコード(結合演算コードConc())が暗号化されている。結合演算コードConc()を認証演算コードAuth()の一部で考えれば、認証演算コードAuth()の一部が暗号化されることを意味する。この結合演算コードConc()は識別情報IDnごとに異なる。暗号化された結合演算コードEncConc()が復号されて、平文の結合演算コードConc()が生成される。チャレンジCdataが結合演算コードConc()で処理されて、認証演算コードAuth()に入力される。実施例2において実施例1と共通する事項の説明は省略される。
図6は実施例2の処理を示している。図6が図4と異なる点は、S404〜S406がS604〜S606に置換されている点である。ここでは結合演算コードConc()が新たに定義される。結合演算コードConc()は、一義に決まる関数であって、二つのデータ列の分割、連結または排他的論理和を行うプログラムコードである。
S404でマイコン202bは識別情報IDnに対応する暗号化された結合演算コードEncConc(IDn)を不揮発性メモリ205bのテーブルから検索して読み出す。マイコン202bは、EncConc(IDn)を揮発性メモリ203bに一時的に記憶する。
S405でマイコン202bは暗号化された結合演算コードEncConc(IDn)を復号する。まず、マイコン202bは不揮発性メモリ205bから復号化関数Dec()を読み出す。Dec()は実施例1で説明されたものと同じものであってもよい。復号化関数Dec()は揮発性メモリ203bに一時的に記憶される。マイコン202bは(9)式にしたがって平文の結合演算コードConc()を求める。
Conc()=Dec(Pwd, EncConc(IDn))=CBC_AES_Dec(Pwd, EncConc(IDn))・・・・・(9)
CBC_AES_Decとその代替案はすでに実施例1で説明されたものである。マイコン202bは、暗号回路206bの支援を受けながら不揮発性メモリ205bに格納された演算プログラムを実行することで、結合演算コードConc()を取得する。結合演算コードConc()はマイコン202bにより実行可能なプログラムコードである。結合演算コードConc()は揮発性メモリ203bに一時的に記憶される。(9)式は、CBCモードの復号化関数を示している。しかし、暗号化関数と復号化関数は双対的で互いに逆変換可能である。そのため、復号化関数は暗号化関数に置換されてもよい。
結合演算コードConc()は、自ら保有する鍵Knと、メッセージinputを用いて、演算を実行する。鍵Knとメッセージinputはそれぞれ16バイトのデータ列である。このとき、Conc()は(10)式で表現される。
Conc(input)=Kn||input・・・・・(10)
ここで、鍵Knは、結合演算コードConc()に予め組み込まれた鍵情報であり、識別情報IDnに対応している。IDnに対応した鍵Knがセットされた(10)式に相当する結合演算コードConc()が予め用意される。結合演算コードConc()は、(9)式で定められる復号化関数の逆関数(すなわち暗号化関数)で暗号化され、暗号された結合演算コードEncConc(IDn)になる。識別情報IDnごとの暗号された結合演算コードEncConc(IDn)は不揮発性メモリ205bに記憶される。これが、(9)式と(10)式が成立する理由となる。Conc(IDn)の数と識別情報IDの数は一致している。
図7は不揮発性メモリ205bのメモリデータマップを示している。図7では、暗号化された認証演算コードEncAuth(IDn)に代わりに、暗号化された結合演算コードEncConc(IDn)が記憶されている。さらに、共通かつ平文の認証演算コードAuth()も記憶されている。
S606でマイコン202bは、結合演算コードConc()、チャレンジCdataおよび認証演算コードAuth()を用いてレスポンスRdataを生成する。マイコン202bは不揮発性メモリ205bから認証演算コードAuth()を読み出す。たとえば、マイコン202bは、(11)式を用いてレスポンスRdataを生成する。
Rdata=Auth(Conc(Cdata))=HMAC(Conc(Cdata))・・・・・(11)
HMACとその代替案であるCMACはすでに実施例1で説明された。実施例1では、認証演算コードAuth()にCdataが直接的に入力されていた。実施例2では、認証演算コードAuth()にConc(Cdata)が入力される。
[実施例2の特徴]
実施例1は識別情報IDnに対応した暗号化された認証演算コードから認証演算コードを復号し、認証演算コードを実行する。実施例2は、識別情報IDnに対応した暗号化された結合演算コードから結合演算コードが復号し、結合演算コードにより認証演算コードへの入力を生成する。つまり、認証演算コードは暗号化されていない。一般に、共通鍵暗号を利用する認証関数のプログラムコードは数Kバイトのプログラム容量になる。実施例1では、識別情報IDnと同数の暗号化された認証演算コードを不揮発性メモリ205bが記憶しなければならない。不揮発性メモリ205bの記憶容量は有限であるため、記憶可能な識別情報IDnの数が制限される。実施例2では、識別情報IDnごとに結合演算コードが用意されるが、認証演算コードは一つのみである。結合演算コードのプログラムサイズは、認証演算コードのプログラムサイズと比較して小さい。たとえば、単なるデータ連結についてのプログラムサイズは数十バイト程度である)。よって、実施例2は、記憶可能な識別情報IDnの数を増やすことができる。このように認証演算に使用される認証関数のうち、一部分のみを識別情報IDnに暗号化することで、不揮発性メモリ205bの記憶領域を有効に活用することが可能となる。
(10)式は二つのデータ列の連結(concatenation)を採用しているが、これは一例に過ぎない。(12)式が示すように、二つのデータ列の排他的論理和が採用されてもよい。
Conc(input)=Kn.xor.input・・・・・(12)
この場合、Conc(input)が出力するデータの長さは、(10)式と比較して、半分(16バイト)である。
結合演算コードConc()としてもう少し複雑な構造が採用されてもよい。
Conc(input)=Kn_l.xor.input_l|| Kn_u.xor.input_u・・・・・(13)
ここで、Kn_lとKn_uはそれぞれ鍵Knの下位8バイトと上位8バイトである。input_lとinput_uはそれぞれinputの下位8バイトと上位8バイトである。このように入力される複数のデータをそれぞれ複数に分割し、この分割により生成された複数のサブデータを組み合わせて、連結または排他的論理和を適用するようなConc()が採用されてもよい。重要なのは、様々な式により情報が前処理されてから認証演算コードAuth()に入力されるため、入力される情報の量は削減されないことである。結合演算コードConc()が暗号化されていれば認証演算コードAuth()は平文でも十分である。そのため、認証演算コードによる認証演算結果(レスポンス)を推測することは極めて困難になる。
<実施例3>
実施例1、2で、被認証チップ103は、認証チップ106のパスワードを、暗号学的ハッシュ関数でハッシュ化して比較用データと比較することでパスワードを認証している。つまり、ハッシュ化によってパスワードが保護されている。実施例3は、別の方法でパスワードを保護する。実施例3においても実施例1または実施例2と共通する事項の説明は省略される。
図8は実施例3の処理を示している。図4と比較してS401、S402、S403がS801、S802、S803に置換されている。図6に示されたS401、S402、S403もS801、S802、S803に置換されてもよい。
S801でマイコン202bは識別情報IDnに対応する暗号化されたEncdata(IDn)を不揮発性メモリ205bから読み出す。暗号化されたEncdata(IDn)は16バイトのデータである。
S802でマイコン202bは認証チップ106から受信されたパスワードPwdと、暗号化されたEncdata(IDn)とを用いてデータを復号する。パスワードPwdは復号鍵として(14)式に代入される。
Decdata=Dec(Pwd, EnCdata(IDn))=AES_Dec((Pwd, Encdata(IDn)) ・・・・・(14)
ここで、AES_DecはNIST_FIPS_PUB 197に記載されたAESを利用した復号化関数である。復号鍵としてパスワードPwdが採用され、入力データとして、暗号化されたEncdata(IDn)が採用されている。
S803でマイコン202bは、復号されたデータDecdataと識別情報IDnとが一致するかどうかを判定する。一致していれば、マイコン202bはS404に進む。一致していなければ、マイコン202bはS410に進む。
不揮発性メモリ205bに記憶されているEncdata(IDn)は、(14)式で求められるDecdataが識別情報IDnと一致するように、予め生成される。すなわち、識別情報IDnをパスワードPwdでAES暗号化(つまりAES_Decの逆関数で暗号化)して得られるものが、Encdata(IDn)である。受信されたパスワードPwdが正しい場合、Encdata(IDn)が正しく復号される。このように、不揮発性メモリ205bに記憶されている暗号化されたデータEncdata(IDn)は、パスワードPwdで識別情報IDnを暗号化することで生成されたデータである。暗号化されたデータEncdata(IDn)が何らかの理由で暴露されたとしてもDecdataは不明のままである。パスワードPwdが判明しない限り、Decdataは安全である。よって、実施例3は、実施例1と同様にセキュアなパスワード認証を実現できる。
図9は実施例3において不揮発性メモリ205bに記憶されるメモリデータマップを示している。図5で示された実施例1のハッシュ化されたパスワードHpass’(IDn)に代えて、暗号化されたデータEncdata(IDn)が記憶されている。
(14)式はAESの復号化関数を採用している。暗号化関数と復号化関数は双対的で互いに逆変換可能である。そのため、復号化関数が暗号化関数に置換されてもよい。
<実施例4>
図10は実施例1のマイコン202bに搭載されたCPUよって実現される機能を示している。CPUはプロセッサ回路の一例である。図10に示された機能の一部またはすべてがASICまたはFPGAなどのハードウエア回路により実現されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。
パスワード認証部1000は、識別情報IDnに対応した比較情報を読み出し、ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行する。具体的には、取得部1001は識別情報IDnに対応した比較情報であるHpass’(IDn)を不揮発性メモリ205bから取得して、比較部1003に入力する。演算部1002はパスワードPwdに基づきハッシュ化されたパスワードであるHpass(IDn)を生成して、比較部1003に入力する。比較部1003は、Hpass’(IDn)とHpass(IDn)を比較してパスワード認証を実行し、実行結果であるエラービットErrを連結部1004に渡す。
レスポンス生成部1010は、パスワード認証部1000によるパスワード認証が成功すると、チャレンジCdataに基づきレスポンスRdataを生成する。取得部1011は、識別情報IDnに対応する暗号化された認証演算コードEncAuth()を不揮発性メモリ205bから取得して、復号部1012に渡す。復号部1012は、パスワードPwdを用いて、暗号化された認証演算コードEncAuth()から認証演算コードAuth()を復号して、実行部1013に渡す。実行部1013は、認証演算コードEncAuth()に引数としてチャレンジCdataを設定し、認証演算コードEncAuth()を実行する。これによりレスポンスRdataが生成される。実行部1013は、レスポンスRdataを連結部1004に渡す。連結部1004は、エラービットErrとレスポンスRdataとを連結してレスポンスデータを生成して、入出力回路201bの出力回路に出力する。入出力回路201bの出力回路はレスポンスデータを送信する。
図11は認証チップ106のマイコン202aに搭載されたCPUよって実現される機能を示している。CPUはプロセッサ回路の一例である。図11に示された機能の一部またはすべてがASICまたはFPGAなどのハードウエア回路により実現されてもよい。
パスワード生成部1101は、被認証チップ103の認証情報IDmと、不揮発性メモリ205aから取得されたマスターパスワードとに基づきパスワードPwdを生成する。チャレンジ生成部1102は、乱数発生器を内蔵しており、乱数発生器を用いてチャレンジCdataを生成する。チャレンジ生成部1102は、入出力回路201aに設けられた出力回路を通じてチャレンジCdataを送信する。また、チャレンジ生成部1102は、不揮発性メモリ205aを介してチャレンジCdataを実行部1103に渡す。実行部1103は、引数としてCdataを認証演算コードAuth()にセットして、認証演算コードAuth()を実行し、認証データAuth(Cdata)を生成して、判定部1105に渡す。
分離部1104は、入出力回路201aに設けられた入力回路により受信されたレスポンスデータであるErr||RdataをエラービットErrとレスポンスRdataとに分離する。判定部1105は、認証データAuth(Cdata)とレスポンスRdataを比較することで、被認証チップ103を認証する。判定部1105は、エラービットErrが1であるか、または、認証データAuth(Cdata)とレスポンスRdataとが不一致であれば、認証失敗と判定する。判定部1105は、エラービットErrが0であり、かつ、認証データAuth(Cdata)とレスポンスRdataとが一致すれば、認証成功と判定する。
図12は実施例2のマイコン202bに搭載されたCPUよって実現される機能を示している。パスワード認証部1000は変更されていないため、その説明は省略される。図12ではレスポンス生成部1010がレスポンス生成部1210に置換されている。レスポンス生成部1210は以下で説明される機能を有している。
取得部1201は、識別情報IDnに対応する暗号化された結合演算コードEncConc()を不揮発性メモリ205bから取得して、復号部1202に渡す。復号部1202は、パスワードPwdを用いて、暗号化された結合演算コードEncConc()から結合演算コードConc()を復号し、実行部1023に渡す。復号部1202の復号アルゴリズムは実施例2で説明されたとおりである。
実行部1203は、前処理として、引数としてチャレンジCdataをセットして結合演算コードConc()を実行し、Conc(Cdata)を生成する。実行部1203は、前処理により生成されたConc(Cdata)を引数としてセットし、認証演算コードAuth()を実行し、レスポンスRdataを生成する。実行部1203は認証演算コードAuth()を不揮発性メモリ205bから取得する。
図13は実施例3のマイコン202bに搭載されたCPUよって実現される機能を示している。パスワード認証部1000がパスワード認証部1300に置換されている。図13ではレスポンス生成部1010は変更されていない。しかし、レスポンス生成部1010はレスポンス生成部1210に置換されてもよい。
図13が示すように取得部1301は、識別情報IDnに対応する暗号データであるEncdata(IDn)を不揮発性メモリ205bから取得して、復号部1302に渡す。復号部1302は、パスワードPwdを復号鍵として使用して、Encdata(IDn)から平文データDecdata(IDn)を復号し、比較部1303に渡す。比較部1303は、識別情報IDnと平文データDecdata(IDn)とが一致するかどうかを判定する。比較部1303は、判定結果を示すエラービットErrを連結部1004に出力する。
<実施例から導き出される技術思想>
[観点1、20、21]
入出力回路201bに搭載された入力回路は認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段として機能する。マイコン202bおよび演算部1002はパスワードをハッシュ化するハッシュ演算手段として機能する。マイコン202bおよび比較部1003は識別情報に対応した比較情報を読み出し、ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行するパスワード認証手段として機能する。マイコン202bおよびレスポンス生成部1010は、パスワード認証が成功すると、チャレンジに基づきレスポンスを生成する生成手段として機能する。入出力回路201bに設けられた出力回路は、レスポンスを認証装置に送信する送信手段として機能する。
マイコン202b(レスポンス生成部1010)は識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得する。マイコン202b(レスポンス生成部1010)はパスワード認証に成功したパスワードを用いて、暗号化された認証演算コードから実行可能な認証演算コードを復号する。さらに、マイコン202b(レスポンス生成部1010)は、当該認証演算コードにチャレンジを適用して当該認証演算コードを実行することでレスポンスを生成する。よって、被認証装置の複製が従来よりも困難になる。
[観点2]
図5が例示するように、不揮発性メモリ205bは、認証装置に割り当てられている識別情報と、予めパスワードをハッシュ化することで生成された比較情報と、暗号化された認証演算コードとを一組とした、複数の組を記憶した記憶手段として機能する。パスワード認証手段(例:パスワード認証部1000)は、認証装置から受信された識別情報に対応した比較情報を記憶手段から読み出すように構成されていてもよい。レスポンス生成部1010は、認証装置から受信された識別情報に対応した暗号化された認証演算コードを記憶手段から読み出すように構成されていてもよい。
[観点3]
レスポンス生成部1010は、パスワードと暗号化された認証演算コードとを入力とし、認証演算コードを出力とする復号関数(例:Dec())を使用して、認証演算コードを復号してもよい。これにより、プロセッサによって実行可能なプログラムコードが復号されてもよい。
[観点4、5]
復号関数は、たとえば、パスワードを共通鍵とする共通鍵暗号アルゴリズム(例:AESなど)を実行する関数(例:CBC_AES_Dec())であってもよい。復号関数は、共通鍵暗号アルゴリズムを原始関数としたブロック暗号を実行する関数であってもよい。このようなブロック暗号手法としては、暗号ブロック連鎖モード(CBCモード)、暗号フィードバックモード(CFBモード)、出力フィードバックモード(COBモード)またはカウンタモード(CTRモード)などがある。また、復号関数は、パスワードとカウンタと連結して用いる暗号学的ハッシュ関数を繰り返し演算することで得られたデータ列と、暗号化された認証演算コードとの排他的論理和を求めることで、認証演算コードを生成する関数であってもよい。これは(8)式により例示されている。
[観点7、8]
(5)式および(6)式が例示するように、認証演算コードは、予め保有する鍵にチャレンジを作用させてレスポンスを生成するようにプログラミングされたプログラムコードであってもよい。また、認証演算コードは、暗号化をベースとしてメッセージ認証コード(CMAC)を生成するアルゴリズムを使用して、チャレンジをレスポンスに変換してもよい。認証演算コードは、ハッシュ関数をベースとしてメッセージ認証コード(HMAC)を生成するアルゴリズムを使用して、チャレンジをレスポンスに変換してもよい。
[観点9、10]
送信手段(例:入出力回路201bの出力回路)は、被認証装置に割り当てられた識別情報を認証装置に対して送信するように構成されていてもよい。(1)式が例示するように、認証装置から受信されるパスワードは、被認証装置に割り当てられた識別情報と認証装置が保持しているマスターパスワードに基づいて求められたパスワードであってもよい。たとえば、認証装置から受信されるパスワードは、被認証装置に割り当てられた識別情報と認証装置が保持しているマスターパスワードとを連結して得られたデータ列を暗号学的ハッシュ関数に入力することを求められたパスワードであってもよい。
[観点11]
マイコン202b(レスポンス生成部1210)は、パスワード認証が成功すると、実行可能なプログラムコードである認証演算コードにチャレンジを作用させて認証演算コードを実行することでレスポンスを生成してもよい。レスポンス生成部1210は、識別情報に対応して記憶されているプログラムコードであって暗号化された前処理演算コード(例:EncConc())を取得する。前処理演算コードは、チャレンジに前処理を施し、前処理されたチャレンジを認証演算コードに渡すプログラムコードである。レスポンス生成部1210は、パスワード認証に成功したパスワードを用いて、暗号化された前処理演算コードから実行可能な前処理演算コード(例:Conc())を復号する。レスポンス生成部1210は、当該前処理演算コードにチャレンジを適用して当該前処理演算コードを実行することで前処理データ(例:Conc(Cdata))を生成する。レスポンス生成部1210は、当該前処理データを認証演算コードに作用させて認証演算コードを実行することでレスポンスを生成する。このように、認証演算コードの全体が暗号されている必要はなく、認証演算コードの一部となりうる前処理演算コード(結合演算コード)が暗号化されていてもよい。これにより、被認証装置の複製が従来よりも困難になる。
[観点12]
図7が示すように、不揮発性メモリ205bは、認証装置に割り当てられている識別情報と、予めパスワードをハッシュ化することで生成された比較情報と、暗号化された前処理演算コードとを一組とした、複数の組を記憶した記憶手段の一例である。レスポンス生成部1210は、認証装置から受信された識別情報に対応した暗号化された前処理演算コードを記憶手段から読み出すように構成されていてもよい。
[観点13]
レスポンス生成部1210は、パスワードと暗号化された前処理演算コードとを入力とし、前処理演算コードを出力とする復号関数を使用して、前処理演算コードを復号してもよい。
[観点14]
実施例2で例示されたように、前処理演算コードは、予め保持されている鍵とチャレンジとを連結するプログラムコードであってもよい。前処理演算コードは、予め保持されている鍵とチャレンジとの排他的論理和を演算するプログラムコードであってもよい。前処理演算コードは、予め保持されている鍵の一部とチャレンジの一部との排他的論理和と、予め保持されている鍵の残りの一部とチャレンジの残りの一部との排他的論理和とを連結するプログラムコードであってもよい。
[観点15]
実施例3で例示されたように、マイコン202b(パスワード認証部1300)は、識別情報に対応した暗号データを読み出し、暗号データにパスワードを復号鍵として作用させて暗号データから平文データを復号する復号手段として機能する。パスワード認証部1300の比較部1303は、平文データと識別情報とを比較することでパスワード認証を実行するパスワード認証手段として機能する。
[観点16]
図9が示すように、不揮発性メモリ205bは、認証装置に割り当てられている識別情報と、暗号データと、暗号化された認証演算コードとを一組とした、複数の組を記憶した記憶手段の一例である。復号手段(例:取得部1301)は、認証装置から受信された識別情報に対応した暗号データを記憶手段から読み出すように構成されていてもよい。レスポンス生成部1010は、認証装置から受信された識別情報に対応した暗号化された前処理演算コードを記憶手段から読み出すように構成されていてもよい。
[観点17]
復号部1302は、パスワードと暗号データとを入力とし、平文データを出力とする復号関数を使用して、平文データを復号してもよい。
[観点18]
図13ではパスワード認証部1300とレスポンス生成部1010とが組み合わされている。しかし、パスワード認証部1300と、図12で説明されたレスポンス生成部1210とが組み合わされてもよい。
[観点19]
認証装置は画像形成装置100であってってもよい。被認証装置は画像形成装置100から着脱可能な交換部品または消耗品(例:プロセスカートリッジ102)であってもよい。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項が添付される。
103:被認証チップ、106:認証チップ、201:入出力回路、202:マイコン(CPU)

Claims (21)

  1. 認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段と、
    前記パスワードをハッシュ化するハッシュ演算手段と、
    前記識別情報に対応した比較情報を読み出し、前記ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行するパスワード認証手段と、
    前記パスワード認証が成功すると、前記チャレンジに基づきレスポンスを生成する生成手段と、
    前記レスポンスを前記認証装置に送信する送信手段と、
    を有し、
    前記生成手段は、
    前記識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得し、前記パスワード認証に成功した前記パスワードを用いて前記暗号化された認証演算コードから実行可能な認証演算コードを復号し、当該認証演算コードに前記チャレンジを適用して当該認証演算コードを実行することで前記レスポンスを生成することを特徴とする被認証装置。
  2. 前記認証装置に割り当てられている識別情報と、予めパスワードをハッシュ化することで生成された比較情報と、前記暗号化された認証演算コードとを一組とした、複数の組を記憶した記憶手段をさらに有し、
    前記パスワード認証手段は、前記認証装置から受信された前記識別情報に対応した比較情報を前記記憶手段から読み出すように構成されており、
    前記生成手段は、前記認証装置から受信された前記識別情報に対応した前記暗号化された認証演算コードを前記記憶手段から読み出すように構成されていることを特徴とする請求項1に記載の被認証装置。
  3. 前記生成手段は、前記パスワードと前記暗号化された認証演算コードとを入力とし、前記認証演算コードを出力とする復号関数を使用して、前記認証演算コードを復号することを特徴とする請求項1または2に記載の被認証装置。
  4. 前記復号関数は、前記パスワードを共通鍵とする共通鍵暗号アルゴリズムを実行する関数であることを特徴とする請求項3に記載の被認証装置。
  5. 前記復号関数は、前記共通鍵暗号アルゴリズムを原始関数とした、暗号ブロック連鎖モード、暗号フィードバックモード、出力フィードバックモードまたはカウンタモードに基づくブロック暗号を実行する関数であることを特徴とする請求項4に記載の被認証装置。
  6. 前記復号関数は、前記パスワードとカウンタと連結して用いる暗号学的ハッシュ関数を繰り返し演算することで得られたデータ列と、前記暗号化された認証演算コードとの排他的論理和を求めることで、前記認証演算コードを生成する関数であることを特徴とする請求項3に記載の被認証装置。
  7. 前記認証演算コードは、予め保有する鍵に前記チャレンジを作用させて前記レスポンスを生成するプログラムコードであることを特徴とする請求項1ないし6のいずれか一項に記載の被認証装置。
  8. 前記認証演算コードは、暗号化をベースとしてメッセージ認証コード(CMAC)を生成するアルゴリズム、または、ハッシュ関数をベースとしてメッセージ認証コード(HMAC)を生成するアルゴリズムを使用して、前記チャレンジを前記レスポンスに変換することを特徴とする請求項7に記載の被認証装置。
  9. 前記送信手段は、前記被認証装置に割り当てられた識別情報を前記認証装置に対して送信するように構成されており、
    前記認証装置から受信されるパスワードは、前記被認証装置に割り当てられた識別情報と前記認証装置が保持しているマスターパスワードに基づいて求められたパスワードであることを特徴とする請求項1ないし8のいずれか一項に記載の被認証装置。
  10. 前記認証装置から受信されるパスワードは、前記被認証装置に割り当てられた識別情報と前記認証装置が保持しているマスターパスワードとを連結して得られたデータ列を暗号学的ハッシュ関数に入力することを求められたパスワードであることを特徴とする請求項9に記載の被認証装置。
  11. 認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段と、
    前記パスワードをハッシュ化するハッシュ演算手段と、
    前記識別情報に対応した比較情報を読み出し、前記ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行するパスワード認証手段と、
    前記パスワード認証が成功すると、実行可能なプログラムコードである認証演算コードに前記チャレンジを作用させて前記認証演算コードを実行することでレスポンスを生成する生成手段と、
    前記レスポンスを前記認証装置に送信する送信手段と、
    を有し、
    前記生成手段は、
    前記識別情報に対応して記憶されているプログラムコードであって暗号化された前処理演算コードを取得し、前記パスワード認証に成功した前記パスワードを用いて前記暗号化された前処理演算コードから実行可能な前処理演算コードを復号し、当該前処理演算コードに前記チャレンジを適用して当該前処理演算コードを実行することで前処理データを生成し、当該前処理データを前記認証演算コードに作用させて前記認証演算コードを実行することで前記レスポンスを生成することを特徴とする被認証装置。
  12. 前記認証装置に割り当てられている識別情報と、予めパスワードをハッシュ化することで生成された比較情報と、前記暗号化された前処理演算コードとを一組とした、複数の組を記憶した記憶手段をさらに有し、
    前記パスワード認証手段は、前記認証装置から受信された前記識別情報に対応した比較情報を前記記憶手段から読み出すように構成されており、
    前記生成手段は、前記認証装置から受信された前記識別情報に対応した前記暗号化された前処理演算コードを前記記憶手段から読み出すように構成されていることを特徴とする請求項11に記載の被認証装置。
  13. 前記生成手段は、前記パスワードと前記暗号化された前処理演算コードとを入力とし、前記前処理演算コードを出力とする復号関数を使用して、前記前処理演算コードを復号することを特徴とする請求項11または12に記載の被認証装置。
  14. 前記前処理演算コードは、
    予め保持されている鍵と前記チャレンジとを連結するか、
    前記予め保持されている鍵と前記チャレンジとの排他的論理和を演算するか、
    前記予め保持されている鍵の一部と前記チャレンジの一部との排他的論理和と、前記予め保持されている鍵の残りの一部と前記チャレンジの残りの一部との排他的論理和とを連結するプログラムコードであることを特徴とする請求項11ないし13のいずれか一項に記載の被認証装置。
  15. 認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段と、
    前記識別情報に対応した暗号データを読み出し、前記暗号データに前記パスワードを復号鍵として作用させて前記暗号データから平文データを復号する復号手段と、
    前記平文データと前記識別情報とを比較することでパスワード認証を実行するパスワード認証手段と、
    前記パスワード認証が成功すると、前記チャレンジに基づきレスポンスを生成する生成手段と、
    前記レスポンスを前記認証装置に送信する送信手段と、
    を有し、
    前記生成手段は、
    前記識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得し、前記パスワード認証に成功した前記パスワードを用いて前記暗号化された認証演算コードから実行可能な認証演算コードを復号し、当該認証演算コードに前記チャレンジを適用して当該認証演算コードを実行することで前記レスポンスを生成することを特徴とする被認証装置。
  16. 前記認証装置に割り当てられている識別情報と、前記暗号データと、前記暗号化された認証演算コードとを一組とした、複数の組を記憶した記憶手段をさらに有し、
    前記復号手段は、前記認証装置から受信された前記識別情報に対応した前記暗号データを前記記憶手段から読み出すように構成されており、
    前記生成手段は、前記認証装置から受信された前記識別情報に対応した前記暗号化された前処理演算コードを前記記憶手段から読み出すように構成されていることを特徴とする請求項15に記載の被認証装置。
  17. 前記復号手段は、前記パスワードと前記暗号データとを入力とし、前記平文データを出力とする復号関数を使用して、前記平文データを復号することを特徴とする請求項15または16に記載の被認証装置。
  18. 認証装置から識別情報、パスワードおよびチャレンジを受信する受信手段と、
    前記識別情報に対応した暗号データを読み出し、前記暗号データに前記パスワードを復号鍵として作用させて前記暗号データから平文データを復号する復号手段と、
    前記平文データと前記識別情報とを比較することでパスワード認証を実行するパスワード認証手段と、
    前記パスワード認証が成功すると、前記チャレンジに基づきレスポンスを生成する生成手段と、
    前記レスポンスを前記認証装置に送信する送信手段と、
    を有し、
    前記生成手段は、
    前記識別情報に対応して記憶されているプログラムコードであって暗号化された前処理演算コードを取得し、前記パスワード認証に成功した前記パスワードを用いて前記暗号化された前処理演算コードから実行可能な前処理演算コードを復号し、当該前処理演算コードに前記チャレンジを適用して当該前処理演算コードを実行することで前処理データを生成し、当該前処理データを、実行可能なプログラムコードである認証演算コードに作用させて前記認証演算コードを実行することで前記レスポンスを生成することを特徴とする被認証装置。
  19. 前記認証装置は画像形成装置であって、前記被認証装置は前記画像形成装置から着脱可能な交換部品または消耗品であることを特徴とする請求項1ないし18のいずれか一項に記載の被認証装置。
  20. 認証装置と被認証装置とを有する認証システムであって、
    前記認証装置は、前記認証装置に割り当てられた識別情報、パスワードおよびチャレンジを前記被認証装置に送信し、前記被認証装置から前記チャレンジに対応したレスポンスを受信して、当該レスポンスを用いて前記被認証装置を認証するように構成されており、
    前記被認証装置は、請求項1ないし16のいずれか一項に記載された被認証装置であることを特徴とする認証システム。
  21. 認証装置が、前記認証装置の識別情報、パスワードおよびチャレンジを被認証装置に送信する工程と、
    前記被認証装置が、前記認証装置から前記識別情報、前記パスワードおよび前記チャレンジを受信する工程と、
    前記被認証装置が、前記パスワードをハッシュ化する工程と、
    前記被認証装置が、前記識別情報に対応した比較情報を読み出し、前記ハッシュ化されたパスワードと当該比較情報とを比較することでパスワード認証を実行する工程と、
    前記被認証装置が、前記パスワード認証が成功すると、前記識別情報に対応して記憶されているプログラムコードであって暗号化された認証演算コードを取得する工程と、
    前記被認証装置が、前記パスワード認証に成功した前記パスワードを用いて、前記暗号化された認証演算コードから実行可能な認証演算コードを復号する工程と、
    前記被認証装置が、当該認証演算コードに前記チャレンジを適用して当該認証演算コードを実行することでレスポンスを生成する工程と、
    前記被認証装置が、前記レスポンスを前記認証装置に送信する工程と、
    前記認証装置が、前記レスポンスを受信する工程と、
    前記認証装置が、前記レスポンスを用いて前記被認証装置を認証する工程と
    を有する認証方法。
JP2020038119A 2020-03-05 2020-03-05 被認証装置、認証システムおよび認証方法 Pending JP2021141460A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020038119A JP2021141460A (ja) 2020-03-05 2020-03-05 被認証装置、認証システムおよび認証方法
US17/192,071 US11777920B2 (en) 2020-03-05 2021-03-04 Authentication system for preventing replication of authentication target apparatus authenticated by authentication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020038119A JP2021141460A (ja) 2020-03-05 2020-03-05 被認証装置、認証システムおよび認証方法

Publications (1)

Publication Number Publication Date
JP2021141460A true JP2021141460A (ja) 2021-09-16

Family

ID=77556011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020038119A Pending JP2021141460A (ja) 2020-03-05 2020-03-05 被認証装置、認証システムおよび認証方法

Country Status (2)

Country Link
US (1) US11777920B2 (ja)
JP (1) JP2021141460A (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162986A (ja) * 2001-11-27 2003-06-06 Sanyo Electric Co Ltd Id発生装置及びid確認装置
US7814320B2 (en) * 2005-07-19 2010-10-12 Ntt Docomo, Inc. Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
ES2952534T3 (es) * 2015-12-30 2023-11-02 Onespan Int Gmbh Un método, un sistema y un aparato que usan criptografía de seguridad hacia adelante para la verificación de códigos de acceso
US10833877B2 (en) 2017-10-12 2020-11-10 Canon Kabushiki Kaisha Method of authenticating authentication-target apparatus by authentication apparatus, authentication apparatus, authentication- target apparatus, and image forming apparatus
US11296896B2 (en) 2018-03-30 2022-04-05 Canon Kabushiki Kaisha Method of authenticating authentication-target apparatus using challenge and response
JP2020072348A (ja) 2018-10-30 2020-05-07 キヤノン株式会社 認証方法、認証装置、被認証装置及び画像形成装置

Also Published As

Publication number Publication date
US11777920B2 (en) 2023-10-03
US20210281556A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US7003667B1 (en) Targeted secure printing
US8924709B2 (en) Print release with end to end encryption and print tracking
JP4235520B2 (ja) 情報処理装置、印刷装置、印刷データ送信方法、印刷方法、印刷データ送信プログラム及び記録媒体
TR201815427T4 (tr) Güvenli sunucu-bağımlı birim iletişimi için sistem ve yöntem.
US8689305B2 (en) Information processing apparatus, user authentication method, and storage medium
CN104902138B (zh) 加密/解密***及其控制方法
KR101560246B1 (ko) 클라우드 프린팅 시스템 및 이를 이용한 클라우드 프린팅 서비스 방법
JP2014143568A (ja) 認証システム及び認証子変換器
CN114236994A (zh) 验证方法、耗材芯片、耗材和图像形成装置
AU2019255227B2 (en) System and methods for changing addresses of one or more components
US8250661B2 (en) Image processing apparatus, information processing apparatus, and methods thereof
JP2005251168A (ja) ネットワーク接続リソースの保護システムおよび保護方法
JP6575275B2 (ja) サーバ装置、及び、サーバ装置を備える通信システム
JP6838460B2 (ja) 情報管理制御装置、画像処理装置、情報管理制御システム
JP2021141460A (ja) 被認証装置、認証システムおよび認証方法
CN108632039B (zh) 一种成像装置与控制终端之间的安全认证方法
JP7213724B2 (ja) 認証方法、認証システム、被認証装置および認証装置
JP2006304199A (ja) ホストコンピュータ、印刷装置及びそれらの制御方法、コンピュータプログラム、記憶媒体
KR20100043799A (ko) Mtm 기반 모바일 단말기 간의 비밀 데이터 이전 방법
JP2020072348A (ja) 認証方法、認証装置、被認証装置及び画像形成装置
JP7090496B2 (ja) 認証方法、認証装置、被認証装置及び画像形成装置
WO2010067797A1 (ja) 通信装置、サーバ装置及び通信プログラム
JP5637976B2 (ja) プリントシステム、プリンタ、印刷指示装置及びプリントシステムに用いられるプログラム
US20220368543A1 (en) Technique for protecting secret information of authentication-target apparatus
JP2016139262A (ja) 情報処理装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113