図面 (/)
課題
解決手段
第1の認証データを生成する被認証器101と、被認証器101にて生成された第1の認証データを第2の認証データに変換する認証子変換器103と、認証子変換器103にて変換された第2の認証データにより被認証器101の認証を行う認証器102を備え、第1の認証データは、認証器102から出力されたチャレンジデータと被認証器101が有する所定のデータとを第1の暗号鍵を用いる暗号方式により暗号化した認証子、及び被認証器101が有する所定のデータを含み、第2の認証データは、認証子変換器103が第1の認証データを認証した認証結果に基づいて、認証器102から出力されたチャレンジデータと被認証器101が有する所定のデータとを第2の暗号鍵を用いる暗号方式により暗号化した認証子、及び被認証器101が有する所定のデータを含む。
概要
背景
印刷機能やコピー機能を備えたマルチファンクションプリンタ(以下、プリンタという)では、消耗品や定期的な交換部品をユニット単位で交換することが行われている。例えば、プリンタに必須の機能である定着装置は高温環境で利用されるので、その寿命はプリンタ本体に比べて短く、そのため交換が容易に行えるように設計されることが多い。
また、プリンタには、オプションフィーダーやオプション排紙装置がプリンタに取り付けることができるように、拡張機能が具備されているものが多い。ところが、プリンタ本体(プリンタ仕様)に適合した装置ではないユニット(例えば、他種のプリンタ本体用のもの)が誤ってプリンタに装着されると、プリンタが動作しないだけでなく、プリンタ本体の故障を招くおそれもある。そのため、特に定着装置のような高い信頼性が要求されるユニットに関しては、プリンタ本体に適合したユニットが装着されているかどうかを判別することが重要である。そして、本体に適合しないユニットが装着されていると判別された場合には、ユーザへの注意を喚起することが必要となる。装着された装置が適合したユニットであるか否かを判別するため、暗号技術の一種である認証技術が既に利用されている。その認証方法として、例えば共通鍵暗号を利用したチャレンジレスポンス認証法や、公開鍵暗号を利用した電子署名などがある。
チャレンジレスポンス認証法においては、装着器である被認証器と、認証元となる認証器が共通の鍵を各々有していることが前提となる。被認証器は、認証器より与えられたデータ(チャレンジデータ)に対して暗号化を施し、暗号データ(レスポンスデータ)を認証器に送り返し、認証器は、被認証器から送り返された暗号データが正しいものか否かで認証の判定を行う。ここで行う暗号化は、例えば非特許文献1に記載のようなメッセージ認証コード技術によってなされる。また、メッセージ認証コード技術を用いることにより、被認証器の内部データの送付と被認証器の認証を一度に行うこともできる。
チャレンジレスポンス認証法は共通鍵暗号に基づいて実行され、認証結果は認証器と被認証器が同じ暗号鍵(共通鍵)を有しているか否かにより決まるため、使用される共通鍵が外部からは秘匿されていることが重要となる。そのため、簡単に共通鍵情報を漏洩しないよう、共通鍵データ及び認証動作はセキュリティ性の高い耐タンパチップにて取り扱われることが望ましい。
一方、非特許文献2に記載のような電子署名においては、装着器である被認証器と、認証元となる認証器では、共通の鍵ではなく、対となる鍵を有していることが前提となる。電子署名技術においては、電子署名を生成する署名者(被認証器)、署名の正当性を検証する検証者(認証器)の2つのエンティティが存在する。そして、署名者により送付されたメッセージが、確かに署名者により作成されたものであるか否かを、公開鍵暗号技術を用いて、検証者が検証する。電子署名技術の場合には、認証器と被認証器は共通の鍵を有していないため、被認証器側が有している秘密鍵のみを秘匿しておけば良く、認証器側が有している公開鍵を秘匿しておく必要はない。そのため、被認証器側の鍵データ及び認証動作のみ、耐タンパチップにて取り扱われれば良い。
しかしながら、公開鍵暗号技術を搭載した耐タンパチップは、共通鍵暗号技術を搭載した耐タンパチップに対して高価である。そのため、コストを抑えるために、被認証器である消耗品や定期的に交換される部品などには、共通鍵暗号技術を搭載した耐タンパチップを搭載することが望ましい。
適合した被認証器の供給が確保されるための認証システムが、例えば特許文献1にて提案されている。特許文献1の認証システムでは、認証器は、被認証器内部のデータと、そのデータのダイジェストを暗号化した署名データを読み込み、読み込んだデータのダイジェストと復号化した署名データとを比較し、被認証器の認証を行う。被認証器は、認証器が供給したチャレンジデータ、自ら記憶するダイジェスト、及び認証器との共通秘密データを結合し、再度ダイジェストを作成し、レスポンスデータとして返送する。認証器は、そのレスポンスデータが、チャレンジデータ、復号した署名データ、及び被認証器との共通秘密データを結合し、ダイジェストしたデータと一致するか否かで、被認証器の認証を行う。
概要
コストを抑えて、被認証装置に対するセキュリティの高い認証を行う。第1の認証データを生成する被認証器101と、被認証器101にて生成された第1の認証データを第2の認証データに変換する認証子変換器103と、認証子変換器103にて変換された第2の認証データにより被認証器101の認証を行う認証器102を備え、第1の認証データは、認証器102から出力されたチャレンジデータと被認証器101が有する所定のデータとを第1の暗号鍵を用いる暗号方式により暗号化した認証子、及び被認証器101が有する所定のデータを含み、第2の認証データは、認証子変換器103が第1の認証データを認証した認証結果に基づいて、認証器102から出力されたチャレンジデータと被認証器101が有する所定のデータとを第2の暗号鍵を用いる暗号方式により暗号化した認証子、及び被認証器101が有する所定のデータを含む。
目的
本発明はこのような状況のもとでなされたもので、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことを目的とする
効果
実績
- 技術文献被引用数
- 1件
- 牽制数
- 1件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
第1の認証データを生成する被認証器と、前記被認証器にて生成された前記第1の認証データを第2の認証データに変換する認証子変換器と、前記認証子変換器にて変換された前記第2の認証データに基づいて、前記被認証器の認証を行う認証器と、を備え、前記第1の認証データは、前記認証器から出力され前記認証子変換器を介して前記被認証器に入力されたチャレンジデータと前記被認証器が有する所定のデータとを第1の暗号鍵を用いる暗号方式により暗号化した認証子、及び前記被認証器が有する前記所定のデータを含み、前記第2の認証データは、前記認証子変換器が前記第1の認証データを認証した認証結果に基づいて、前記認証器から出力され前記認証子変換器に入力された前記チャレンジデータと前記被認証器が有する前記所定のデータとを前記第1の暗号鍵を用いる暗号方式とは異なる第2の暗号鍵を用いる暗号方式により暗号化した認証子、及び前記被認証器が有する前記所定のデータを含むことを特徴とする認証システム。
請求項2
請求項3
前記第2の暗号鍵は、公開鍵暗号方式における秘密鍵であり、前記認証子変換器は、公開鍵暗号方式における秘密鍵を有し、前記認証器は、前記秘密鍵と対になる公開鍵を有することを特徴とする請求項1又は2に記載の認証システム。
請求項4
前記第2の暗号鍵は、共通鍵暗号方式における共通鍵であり、前記認証子変換器は、公開鍵暗号方式における秘密鍵を有し、前記認証器は、前記認証子変換器が有する前記秘密鍵と対になる公開鍵を有し、前記認証器は、前記公開鍵により暗号化した前記共通鍵を前記認証子変換器に出力し、前記認証子変換器は、前記認証器より出力された前記暗号化された前記共通鍵を前記秘密鍵により復号することにより、前記共通鍵を有することを特徴とする請求項1又は2に記載の認証システム。
請求項5
前記第2の暗号鍵は、使い捨ての共通鍵であり、前記認証器は、新たな共通鍵を随時生成し、前記認証子変換器に出力することにより、前記使い捨ての共通鍵を変更することを特徴とする請求項4に記載の認証システム。
請求項6
前記認証子変換器は、前記被認証器の認証を前記第1の認証データに基づいて行い、前記被認証器の認証に成功した場合には、前記第2の認証データを前記認証器に出力することを特徴とする請求項1ないし5のいずれか1項に記載の認証システム。
請求項7
前記第2の認証データの暗号化された前記認証子は、前記認証子変換器が前記被認証器の認証を前記第1の認証データに基づいて行った認証結果をさらに含み、前記認証子変換器は、前記被認証器の認証を前記第1の認証データに基づいて行い、前記被認証器の認証の成否にかかわらず、前記第2の認証データを前記認証器に出力することを特徴とする請求項1ないし5のいずれか1項に記載の認証システム。
請求項8
請求項9
前記認証子変換器は、シートに画像を形成する画像形成装置が備える制御手段を有するユニットに設けられていることを特徴とする請求項1ないし8のいずれか1項に記載の認証システム。
請求項10
前記認証器は、シートに画像を形成する画像形成装置が備える制御手段を有するユニットに設けられていることを特徴とする請求項1ないし9のいずれか1項に記載の認証システム。
請求項11
前記認証器は、シートに画像を形成する画像形成装置と接続された外部装置に設けられていることを特徴とする請求項1ないし9のいずれか1項に記載の認証システム。
請求項12
第1の装置とのデータ送信及び受信を行う第1の送受信手段と、第2の装置とのデータ送信及び受信を行う第2の送受信手段と、所定の暗号方式に応じた鍵データに関する情報を記憶した記憶手段と、前記第1の送受信手段が受信した前記第1の装置からのデータに基づいて、前記第1の装置における暗号方式に応じた前記鍵データを用いて前記第1の装置の認証を行うと共に、前記第1の装置からのデータを前記第2の装置における暗号方式に応じた前記鍵データを用いて暗号化されたデータを前記第2の送受信手段により送信する制御手段と、を備えることを特徴とする認証子変換器。
請求項13
前記第1の装置における前記暗号方式は、共通鍵暗号方式であることを特徴とする請求項12に記載の認証子変換器。
請求項14
前記第2の装置における前記暗号方式は、公開鍵暗号方式であることを特徴とする請求項12又は13に記載の認証子変換器。
請求項15
前記第2の装置における前記暗号方式は、共通鍵暗号方式であることを特徴とする請求項12又は13に記載の認証子変換器。
技術分野
背景技術
0002
印刷機能やコピー機能を備えたマルチファンクションプリンタ(以下、プリンタという)では、消耗品や定期的な交換部品をユニット単位で交換することが行われている。例えば、プリンタに必須の機能である定着装置は高温環境で利用されるので、その寿命はプリンタ本体に比べて短く、そのため交換が容易に行えるように設計されることが多い。
0003
また、プリンタには、オプションフィーダーやオプション排紙装置がプリンタに取り付けることができるように、拡張機能が具備されているものが多い。ところが、プリンタ本体(プリンタ仕様)に適合した装置ではないユニット(例えば、他種のプリンタ本体用のもの)が誤ってプリンタに装着されると、プリンタが動作しないだけでなく、プリンタ本体の故障を招くおそれもある。そのため、特に定着装置のような高い信頼性が要求されるユニットに関しては、プリンタ本体に適合したユニットが装着されているかどうかを判別することが重要である。そして、本体に適合しないユニットが装着されていると判別された場合には、ユーザへの注意を喚起することが必要となる。装着された装置が適合したユニットであるか否かを判別するため、暗号技術の一種である認証技術が既に利用されている。その認証方法として、例えば共通鍵暗号を利用したチャレンジレスポンス認証法や、公開鍵暗号を利用した電子署名などがある。
0004
チャレンジレスポンス認証法においては、装着器である被認証器と、認証元となる認証器が共通の鍵を各々有していることが前提となる。被認証器は、認証器より与えられたデータ(チャレンジデータ)に対して暗号化を施し、暗号データ(レスポンスデータ)を認証器に送り返し、認証器は、被認証器から送り返された暗号データが正しいものか否かで認証の判定を行う。ここで行う暗号化は、例えば非特許文献1に記載のようなメッセージ認証コード技術によってなされる。また、メッセージ認証コード技術を用いることにより、被認証器の内部データの送付と被認証器の認証を一度に行うこともできる。
0005
チャレンジレスポンス認証法は共通鍵暗号に基づいて実行され、認証結果は認証器と被認証器が同じ暗号鍵(共通鍵)を有しているか否かにより決まるため、使用される共通鍵が外部からは秘匿されていることが重要となる。そのため、簡単に共通鍵情報を漏洩しないよう、共通鍵データ及び認証動作はセキュリティ性の高い耐タンパチップにて取り扱われることが望ましい。
0006
一方、非特許文献2に記載のような電子署名においては、装着器である被認証器と、認証元となる認証器では、共通の鍵ではなく、対となる鍵を有していることが前提となる。電子署名技術においては、電子署名を生成する署名者(被認証器)、署名の正当性を検証する検証者(認証器)の2つのエンティティが存在する。そして、署名者により送付されたメッセージが、確かに署名者により作成されたものであるか否かを、公開鍵暗号技術を用いて、検証者が検証する。電子署名技術の場合には、認証器と被認証器は共通の鍵を有していないため、被認証器側が有している秘密鍵のみを秘匿しておけば良く、認証器側が有している公開鍵を秘匿しておく必要はない。そのため、被認証器側の鍵データ及び認証動作のみ、耐タンパチップにて取り扱われれば良い。
0007
しかしながら、公開鍵暗号技術を搭載した耐タンパチップは、共通鍵暗号技術を搭載した耐タンパチップに対して高価である。そのため、コストを抑えるために、被認証器である消耗品や定期的に交換される部品などには、共通鍵暗号技術を搭載した耐タンパチップを搭載することが望ましい。
0008
適合した被認証器の供給が確保されるための認証システムが、例えば特許文献1にて提案されている。特許文献1の認証システムでは、認証器は、被認証器内部のデータと、そのデータのダイジェストを暗号化した署名データを読み込み、読み込んだデータのダイジェストと復号化した署名データとを比較し、被認証器の認証を行う。被認証器は、認証器が供給したチャレンジデータ、自ら記憶するダイジェスト、及び認証器との共通秘密データを結合し、再度ダイジェストを作成し、レスポンスデータとして返送する。認証器は、そのレスポンスデータが、チャレンジデータ、復号した署名データ、及び被認証器との共通秘密データを結合し、ダイジェストしたデータと一致するか否かで、被認証器の認証を行う。
0009
特開2000−76063号公報
先行技術
0010
ISO/IEC9797-1:1999、Information technology-Security techniques-MassageAuthentication Codes(MACs)-Part1:Mechanisms using a block cipher
FIPS PUB 186-3:Federal information processing standardspublication Digital Signature Standard(DSS)
発明が解決しようとする課題
0011
しかしながら、上述した従来例では、消耗品や定期的な交換部品が装着された場合には、プリンタ自体による認証は行われず、プリンタ本体と接続された外部装置であるパーソナルコンピュータ等による認証が必要であった。そして、認証技術として共通鍵暗号を使用する場合には、セキュリティを満足するために認証器、被認証器共に耐タンパチップを搭載する必要がある。ところが、汎用品であるパーソナルコンピュータに、カスタム部品である耐タンパチップを搭載することは難しく、パーソナルコンピュータを認証装置として使用することができないという課題がある。また、認証技術として公開鍵暗号を使用する場合には、認証装置としてのパーソナルコンピュータに耐タンパチップを搭載する必要はない。ところが、消耗品である被認証器に公開鍵暗号を搭載した耐タンパチップを載せる必要が出てくるため、コストが高くなるという課題がある。
0012
本発明はこのような状況のもとでなされたもので、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことを目的とする。
課題を解決するための手段
0013
前述した課題を解決するため、本発明では次のとおりに構成する。
0014
(1)第1の認証データを生成する被認証器と、前記被認証器にて生成された前記第1の認証データを第2の認証データに変換する認証子変換器と、前記認証子変換器にて変換された前記第2の認証データに基づいて、前記被認証器の認証を行う認証器と、を備え、前記第1の認証データは、前記認証器から出力され前記認証子変換器を介して前記被認証器に入力されたチャレンジデータと前記被認証器が有する所定のデータとを第1の暗号鍵を用いる暗号方式により暗号化した認証子、及び前記被認証器が有する前記所定のデータを含み、前記第2の認証データは、前記認証子変換器が前記第1の認証データを認証した認証結果に基づいて、前記認証器から出力され前記認証子変換器に入力された前記チャレンジデータと前記被認証器が有する前記所定のデータとを前記第1の暗号鍵を用いる暗号方式とは異なる第2の暗号鍵を用いる暗号方式により暗号化した認証子、及び前記被認証器が有する前記所定のデータを含むことを特徴とする認証システム。
0015
(2)第1の装置とのデータ送信及び受信を行う第1の送受信手段と、第2の装置とのデータ送信及び受信を行う第2の送受信手段と、所定の暗号方式に応じた鍵データに関する情報を記憶した記憶手段と、前記第1の送受信手段が受信した前記第1の装置からのデータに基づいて、前記第1の装置における暗号方式に応じた前記鍵データを用いて前記第1の装置の認証を行うと共に、前記第1の装置からのデータを前記第2の装置における暗号方式に応じた前記鍵データを用いて暗号化されたデータを前記第2の送受信手段により送信する制御手段と、を備えることを特徴とする認証子変換器。
発明の効果
0016
本発明によれば、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことができる。
図面の簡単な説明
0017
実施例1の認証システムの概略構成を示す図
実施例1の被認証器、認証器、認証子変換器の構成を示す図
実施例1の第1の耐タンパチップ、第2の耐タンパチップの内部構成を示す図
実施例1の第2の耐タンパチップ、認証器の認証部の内部構成を示す図
実施例1の認証器における認証処理の動作を示すフローチャート
実施例1の認証子変換器における認証処理の動作を示すフローチャート
実施例1の被認証器における認証処理の動作を示すフローチャート
実施例2の認証システムの概略構成を示す図、及び被認証器、認証器、認証子変換器の構成を示す図
実施例2の第1の耐タンパチップ、第2の耐タンパチップの内部構成を示す図
実施例2の第2の耐タンパチップ、認証器の認証部の内部構成を示す図
実施例2の認証器における認証処理の動作を示すフローチャート
実施例2の認証子変換器における認証処理の動作を示すフローチャート
実施例2の被認証器における認証処理の動作を示すフローチャート
0018
以下、本発明を実施するための最良の形態を、実施例により詳しく説明する。以下の実施例においては、共通鍵暗号方式や公開鍵暗号方式が用いられた実施例について説明する。そのため、共通鍵暗号方式や公開鍵暗号方式における暗号化や認証方法について説明する。
0019
共通鍵暗号方式において用いられるメッセージ認証コード技術は、メッセージ認証コード(以下、MACと略す)の生成者及び検証者の2つのエンティティ間で、事前に共有された暗号鍵(K)を用いて、メッセージの偽造、改ざん、破損などを検知する技術である。これにより、メッセージの生成元が確かであること、及び、受け取ったデータの完全性が保証される。メッセージ認証コード技術を前述したチャレンジレスポンス認証法に使用する場合には、被認証器はMACの生成者となり、認証器はMACの検証者となる。被認証器は、認証器から送られてきたチャレンジデータをメッセージ(M’)として、メッセージ(M’)と暗号鍵(K)から、MAC生成アルゴリズム(F)を用いて、MAC(T)=F(K、M’)を算出し、MAC(T)を認証器に送る。認証器は、被認証器に送付したチャレンジデータ(M)と暗号鍵(K)から、MAC検証アルゴリズム(F)を用いて、MAC(T’)=F(K、M)を算出し、MAC(T’)とMAC(T)が一致するかどうかを検証する。認証器は、MAC(T’)とMAC(T)が一致すれば認証成功、そうでなければ認証失敗と判定する。
0020
また、メッセージ認証コード技術を用いることにより、被認証器の内部データの送付と被認証器の認証を一度に行うこともできる。被認証器は、認証器から送られてきたチャレンジデータ(C’)と被認証器の内部データ(D)を結合して、メッセージ(M)=C’||Dを生成する。そして、被認証器は、メッセージ(M)と暗号鍵(K)から、MAC生成アルゴリズム(F)を用いて、MAC(T)=F(K、M)を算出し、被認証器の内部データ(D)とMAC(T)のペア(D、MAC(T))を認証器に送る。認証器は、被認証器に送付したチャレンジデータ(C)と被認証器から送られてきた内部データ(D’)と暗号鍵(K)から、MAC検証アルゴリズム(F)を用いて、MAC(T’)=F(K、C||D’)を算出する。そして、認証器は、算出したMAC(T’)と被認証器より受信したMAC(T)が一致するかどうかを検証する。MAC(T’)とMAC(T)が一致すれば、認証成功及び被認証器の内部データが正しく送られてきたことを意味し、そうでなければ認証失敗もしくは送られてきた被認証器の内部データに破損があることを意味する。
0021
一方、公開鍵暗号方式が用いられる電子署名においては、装着器である被認証器と、認証元となる認証器では、共通の鍵ではなく、対となる鍵を有していることが前提となる。電子署名技術においては、電子署名を生成する署名者(被認証器)、署名の正当性を検証する検証者(認証器)の2つのエンティティが存在する。そして、署名者により送付されたメッセージが、確かに署名者により作成されたものであるか否かを、公開鍵暗号技術を用いて、検証者が検証する。なお、必要に応じて、署名者の公開鍵の正当性を保証する第三者(認証局)が用いられる。被認証器は、秘密鍵を含む署名生成鍵(sk)を秘密裏に保持し、認証器より送付された署名対象文書(M)に対して署名(S)を生成し、認証器に返送する。このとき、署名生成鍵(sk)及び対応する署名検証鍵(公開鍵)(pk)は被認証器があらかじめ生成しても良いし、被認証器とは別の鍵生成装置で生成しても良い。
0022
認証器は、被認証器から署名(S)、署名検証鍵(pk)を入手する。認証局を用いる場合には、認証局が発行する公開鍵証明書と共に、署名検証鍵(pk)を入手する。認証器は、被認証器に送付した署名対象文書(M)、被認証器から受け取った署名(S)、署名検証鍵(pk)を用いて、署名(S)が署名対象文書(M)、署名検証鍵(pk)に対して正当であるかどうかを認証する。認証器は、署名(S)が正当である場合には認証成功と判定し、正当でない場合には認証失敗を判定する。
0023
[画像形成装置の認証システムの構成]
図1は、実施例1の認証システムの概略構成を示した図である。認証システムは、シートに画像形成を行う画像形成装置と、画像形成装置に接続されたパーソナルコンピュータから構成され、画像形成装置の一例として、図1ではレーザビームプリンタの場合を示している。図1において、第2の装置であるパーソナルコンピュータ503(以下、PC503という)は、レーザビームプリンタ本体501(以下、本体501という)に描画指令を送信する。本体501は、本体501に着脱可能な第1の装置であるプロセスカートリッジ502と、エンジンコントロールユニット504を有し、エンジンコントロールユニット504は、PC503からの描画指令に従って、本体501の制御を行う。本実施例は、本体501に装着される交換可能な装置のプロセスカートリッジ502が画像形成装置に適合したものであるかどうか、PC503にて認証するシステムを示している。
0024
図1において、プロセスカートリッジ502には、カートリッジを認証するための暗号化されたデータである第1の認証子を生成する被認証器101が実装されている。そして、プロセスカートリッジ502が本体501に装着されると、プロセスカートリッジ502は第1の認証子をエンジンコントロールユニット504に送信する。エンジンコントロールユニット504には認証子変換器103が実装されており、プロセスカートリッジ502より受信した第1の認証子をPC503において認証可能な第2の認証子に変換し、PC503へ送信する。PC503にはプロセスカートリッジ502を認証するための認証器102が実装されており、エンジンコントロールユニット504より受信した第2の認証子に基づいて、プロセスカートリッジ502が適合したものであるか否かを認証する。本実施例では、認証器102はハードウェアに限定されるものではなく、例えば同様の機能を実行するソフトウェアでもよい。
0025
[被認証器、認証器、認証子変換器の構成]
図2は、プロセスカートリッジ502の被認証器101、PC503の認証器102、エンジンコントロールユニット504の認証子変換器103の構成を示す図である。
0026
被認証器101は、第1のデータ送受信回路104と、第1の耐タンパチップ105を有する。第1のデータ送受信回路104は、エンジンコントロールユニット504の認証子変換器103とのデータ送受信を行い、第1の耐タンパチップ105は、第1のデータ送受信回路104が受信したチャレンジデータからレスポンスデータを生成する。第1の耐タンパチップ105は、共通鍵暗号方式に基づいて、チャンレンジデータを暗号化し、第1の認証データである第1のレスポンスデータを生成する。
0027
認証器102は、エンジンコントロールユニット504の認証子変換器103とのデータ送受信を行う第2のデータ送受信回路106と、認証開始の指示を出す認証指令部107と、認証指令部107の指令に従って、認証動作を行う認証部108を有している。
0028
認証子変換器103の外部データ送受信部は、第2の送受信手段である第3のデータ送受信回路109と、第1の送受信手段である第4のデータ送受信回路110から構成されている。第3のデータ送受信回路109は、PC503の認証器102とのデータ送受信を行い、第4のデータ送受信回路110は、プロセスカートリッジ502の被認証器101とのデータ送受信を行う。更に、認証子変換器103は、認証子変換指令部111と第2の耐タンパチップ112を有する。認証子変換指令部111は、第4のデータ送受信回路110が被認証器101より第1のレスポンスデータを受信すると、認証子の変換指令を出す。第2の耐タンパチップ112は、認証子変換指令部111により出された指令により、第1のレスポンスデータを共通鍵暗号方式に基づいて復号する。そして、第2の耐タンパチップ112は、復号された第1のレスポンスデータを、公開鍵暗号方式に基づいて暗号化し、第2の認証データである第2のレスポンスデータを生成する。
0029
[第1、第2の耐タンパチップ、認証部の内部構成]
図3−1、3−2は、被認証器101の第1の耐タンパチップ105、認証子変換器103の第2の耐タンパチップ112、認証器102の認証部108を構成する記憶手段であるメモリ、データ、処理ブロック(例:認証判定部)の関係を示した図である。ここで、後述する図3−1(a)の第1の耐タンパチップ105の内部メモリ202の共通鍵データ205と、図3−1(b)の第2の耐タンパチップ112の内部メモリ406の共通鍵データ407は同じデータ値である。暗号化・復号に用いる共通鍵データの共有に関しては、例えば第1の耐タンパチップ105及び第2の耐タンパチップ112の初期化時に、共通の鍵データを設定、もしくは共通の鍵データを使用するための付加情報を書き込むことにより行われる。
0030
また、後述する図3−2(c)の第2の耐タンパチップ112の内部メモリ406の公開鍵データ413と、図3−2(d)の認証部108の公開鍵データ308は同じデータ値である。復号に用いる公開鍵の共有に関しては、例えば認証部108にて認証動作が実行される前に、第2の耐タンパチップ112が内部メモリ406に保持する秘密鍵データ408と対をなす公開鍵データ413を、認証部108が読み込んで取得することにより行われる。
0031
(第1の耐タンパチップの内部構成)
図3−1(a)は、被認証器101の第1の耐タンパチップ105におけるメモリ、データ、処理ブロック(第1の認証子生成部)の関係(内部構成)を示した図である。図3−1(a)において、第1のデータ送受信回路104は、認証器102より送信されたチャレンジデータを受信すると、第1の耐タンパチップ105に出力する。第1の耐タンパチップ105では、入力されたチャレンジデータ201は、第1の耐タンパチップ105の所定のデータである内部メモリ202内の内部データ204と共に、第1の認証子生成部203に入力される。第1の認証子生成部203では、入力された2つのデータを結合する処理を行い、結合されたデータに対して、第1の暗号鍵である内部メモリ202内に格納されている共通鍵データ205にて暗号化処理が施される。ここで実行される暗号化処理は、前述したメッセージ認証コード(MAC)のように、共通鍵暗号を用いて、チャレンジデータ201と内部データ204を結合した入力データの認証子を生成する処理であればよい。暗号化処理されて、第1の認証子生成部203から出力された第1の認証子206は、内部メモリ202の内部データ204と共に、第1のレスポンスデータ207を構成し、第1のデータ送受信回路104へと出力される。
0032
(第2の耐タンパチップの内部構成)
次に、第2の耐タンパチップ112の内部構成について説明する。図3−1(b)は、認証器102からのチャレンジデータを被認証器101に送信するとき、及び第1の認証子の認証動作を行うときのメモリ、データ、処理ブロックの関係(内部構成)を示した図である。図3−2(c)は、第1の認証子を第2の認証子に変換するときのメモリ、データ、処理ブロックの関係を示した図である。なお、図3−1(b)、図3−2(c)において、共通するメモリ、データ等については、同じ符号を付している。
0033
図3−1(b)において、認証子変換指令部111は、第3のデータ送受信回路109を介して、認証器102からチャレンジデータを受信すると、第2の耐タンパチップ112に出力する。そして、認証子変換指令部111は、第4のデータ送受信回路110を介して、被認証器101にチャレンジデータ401を送信する。そして、認証子変換指令部111は、チャレンジデータに対する第1のレスポンスデータが、被認証器101から第4のデータ送受信回路110を介して入力されるのを監視する。第1のレスポンスデータが入力されると、認証子変換指令部111は、第2の耐タンパチップ112へ、入力された第1のレスポンスデータ402を出力すると共に、認証子変換指令を出す。認証子変換指令を受けた第2の耐タンパチップ112は、入力された第1のレスポンスデータ402を、第1の耐タンパチップ内部データ403と第1の認証子404とに分割する。分割された第1の耐タンパチップ内部データ403は、認証器102から受信したチャレンジデータ401と共に、第1の比較認証子生成部405に入力される。第1の比較認証子生成部405は、入力された2つのデータを結合する処理を行い、結合処理されたデータは第2の耐タンパチップ112の内部メモリ406に格納されている共通鍵データ407を用いて暗号化処理が施され、第1の比較認証子409が生成される。ここで、第1の比較認証子生成部405は、図3−1(a)における第1の認証子生成部203と同じ処理を行う。暗号化処理により生成された第1の比較認証子409は、認証判定部414において、第1のレスポンスデータ402より分割された第1の認証子404と比較される。そして、2つのデータが一致していた場合は、第2の耐タンパチップ112は、図3−2(c)に示す第2のレスポンスデータの生成処理へと遷移する。不一致であった場合には、第2の耐タンパチップ112は認証エラーを認証子変換指令部111へ出力する。
0034
第1の比較認証子409と第1の認証子404が一致していた場合には、図3−2(c)において、第2の耐タンパチップ112は、チャレンジデータ401と第1の耐タンパチップ内部データ403を第2の認証子生成部410に入力する。第2の認証子生成部410は、2つのデータを結合する処理を行い、結合処理されたデータは、第2の暗号鍵である内部メモリ406内に格納されている秘密鍵データ408にて暗号化処理が施される。ここで実行される暗号処理は、前述した電子署名のように、入力データの認証子(署名データ)を公開鍵暗号にて作成するものであればよい。暗号化処理により生成された第2の認証子411は、第1のレスポンスデータ402より分割された第1の耐タンパチップ内部データ403と共に、第2のレスポンスデータ412を構成する。そして、第2の耐タンパチップ112は、第2のレスポンスデータ412を認証子変換指令部111へ出力する。認証子変換指令部111は、入力された第2のレスポンスデータ412を第3のデータ送受信回路109を介して、認証器102に送信する。
0035
(認証部の内部構成)
図3−2(d)は、認証器102の認証部108におけるメモリ、データ、処理ブロック(認証判定部等)の関係(内部構成)を示した図である。図3−2(d)において、認証部108は、認証指令部107から認証開始を指示されると、チャレンジデータ301を生成し、認証指令部107へ出力する。認証指令部107は、入力されたチャレンジデータ301を第2のデータ送受信回路106へ出力し、チャレンジデータ301に対する第2のレスポンスデータ302が、第2のデータ送受信回路106を介して認証子変換器103から入力されるのを監視する。第2のレスポンスデータ302が入力されると、認証指令部107は、認証部108へ、入力された第2のレスポンスデータ302を出力すると共に、認証指示を出す。認証指示を受けた認証部108は、入力された第2のレスポンスデータ302を、第1の耐タンパチップ内部データ303と第2の認証子304とに分割する。分割された第1の耐タンパチップ内部データ303は、チャレンジデータ301と共に結合処理部305に入力される。結合処理部305は、入力された2つのデータを結合する処理を行い、結合データ306を出力する。一方、第2のレスポンスデータ302から分割された第2の認証子304は認証子復号部307に入力され、認証子復号部307では、第2の認証子304に対して公開鍵データ308を用いて復号処理が施され、第2の比較認証子309が出力される。
0036
認証子復号部307における復号処理の結果、出力された第2の比較認証子309は、認証判定部310において、結合データ306と比較される。そして、認証部108は、2つのデータが一致していた場合は認証成功を、不一致であった場合は認証エラーを認証指令部107に出力する。
0037
[認証開始から認証判定までの処理の流れ]
次に認証開始から認証判定までの処理の流れを、図4−1〜図4−3のフローチャートを使用して説明する。図4−1(a)、(b)は、認証器102における認証処理の動作を示すフローチャートであり、図4−1(a)は認証開始からチャレンジデータ送信までの動作を、図4−1(b)は第2のレスポンスデータを受信してから認証判定を行う動作を示す。図4−2(c)、(d)は、認証子変換器103における認証処理の動作を示すフローチャートである。図4−2(c)はチャレンジデータ受信からチャレンジデータ送信までの動作を、図4−2(d)は第1のレスポンスデータを受信してから第2のレスポンスデータを送信するまでの動作を示す。図4−3(e)は、被認証器101における認証処理の動作を示すフローチャートであり、チャレンジデータを受信してから第1のレスポンスデータを送信するまでの動作を示す。以下では、本実施例の認証システムにおいて、認証開始から認証判定の終了まで、上述したフローチャートに基づいて、各部の動作について説明する。
0038
(認証器における処理(その1))
図4−1(a)において、エンジンコントロールユニット504は、本体501にプロセスカートリッジ502が挿入されたことを検知すると、カートリッジ検知信号をPC503に送信する。ステップ401(以下、S401のように記す)では、PC503は、エンジンコントロールユニット504がカートリッジ挿入を検知したかどうかをカートリッジ検知信号の受信の有無により判断する。第2のデータ送受信回路106がカートリッジ検知信号を受信するとS402の処理に進み、未受信の場合にはS401の処理を繰り返す。S402では、認証指令部107は、第2のデータ送受信回路106からカートリッジ検知信号を受信したことを通知されると、認証部108へ認証開始を指示する。S403では、認証開始の指示を受信した認証部108は、乱数成分を含むチャレンジデータ301を生成し、認証指令部107へ出力する。S404では、認証指令部107は、チャレンジデータ301を第2のデータ送受信回路106を介して、エンジンコントロールユニット504の認証子変換器103へ送信する。
0039
(認証子変換器における処理(その1))
図4−2(c)において、S430では、エンジンコントロールユニット504の認証子変換器103の第3のデータ送受信回路109は、PC503の認証器102からのチャレンジデータの受信の有無を判断する。そして、第3のデータ送受信回路109がチャレンジデータを受信するとS431の処理に進み、未受信であればS430の処理を繰り返す。S431では、第3のデータ送受信回路109を介して、チャレンジデータを受信した認証子変換指令部111は、受信したチャレンジデータを第2の耐タンパチップ112へ出力する。認証子変換指令部111から受信したチャレンジデータを入力された第2の耐タンパチップ112は、受信したチャレンジデータをチャレンジデータ401として保存する。ここで、PC503の認証器102の認証部で生成されたチャレンジデータ301とチャレンジデータ401は同じデータを指している。S432では、認証子変換指令部111は、第4のデータ送受信回路110を介して、プロセスカートリッジ502の被認証器101にチャレンジデータを送信する。
0040
(被認証器における処理)
図4−3(e)において、S460では、第1のデータ送受信回路104は、エンジンコントロールユニット504の認証子変換器103からのチャレンジデータの受信の有無を判断する。第1のデータ送受信回路104がチャレンジデータを受信するとS461の処理に進み、未受信であればS460の処理を繰り返す。S461では、第1のデータ送受信回路104を介して、チャレンジデータを受信した第1の耐タンパチップ105は、受信したチャレンジデータをチャレンジデータ201として保存する。S462では、第1の耐タンパチップ105は、受信したチャレンジデータと内部メモリ202に格納されている内部データ204を第1の認証子生成部203へ入力する。認証子生成部203では、入力されたチャレンジデータ201と内部データ204を結合する処理が行われ、得られた結合データは、内部メモリ202の共通鍵データ205を用いて暗号化が行われ、第1の認証子206が生成される。S463では、第1の耐タンパチップ105は、第1の認証子206と内部メモリ202に格納されている内部データ204を結合して、第1のレスポンスデータ207を生成する。そして、第1の耐タンパチップ105は、第1のレスポンスデータ207を、第1のデータ送受信回路104を介してエンジンコントロールユニット504の認証子変換器103へ送信する。
0041
(認証子変換器における処理(その2))
図4−2(d)において、S440では、エンジンコントロールユニット504の認証子変換器103の第4のデータ送受信回路110は、プロセスカートリッジ502の被認証器101からの第1のレスポンスデータの受信の有無を判断する。そして、第4のデータ送受信回路110が第1のレスポンスデータを受信するとS441の処理に進み、未受信であればS440の処理を繰り返す。S441では、第4のデータ送受信回路110を介して、第1のレスポンスデータを受信した認証子変換指令部111は、第1のレスポンスデータを第2の耐タンパチップ112へ出力すると共に、認証子変換指令を出す。S442では、第1のレスポンスデータが入力された第2の耐タンパチップ112は、入力された第1のレスポンスデータを第1のレスポンスデータ402として保存する。ここで、プロセスカートリッジ502の被認証器101の第1の耐タンパチップ105の第1のレスポンスデータ207と、第2の耐タンパチップ112に保存された第1のレスポンスデータ402は同じデータを指している。入力された第1のレスポンスデータ402は、第2の耐タンパチップ112によって、第1の耐タンパチップ内部データ403と第1の認証子404とに分割される。
0042
S443では、第1の耐タンパチップ内部データ403は、チャレンジデータ401と共に、第1の比較認証子生成部405に入力される。第1の比較認証子生成部405では、入力されたチャレンジデータ401と第1の耐タンパチップ内部データ403を結合する処理が行われる。更に、第1の比較認証子生成部405では、得られた結合データは、第2の耐タンパチップ112の内部メモリ406に格納されている共通鍵データ407を用いて暗号化処理が行われ、第1の比較認証子409が生成される。
0043
S444では、認証判定部414において、生成された第1の比較認証子409と第1の認証子404との比較が行われる。S445では、認証判定部414が第1の比較認証子409と第1の認証子404が一致するかどうか判定し、2つのデータが一致する場合にはS446に進み、一致しなかった場合にはS449に進む。S449では、認証判定部414は、認証エラーを認証子変換指令部111に出力する。S450では、認証判定部414からの認証エラーを受信した認証子変換指令部111は、第3のデータ送受信回路109を介して、PC503の認証器102へ認証エラーの情報を通知する。なお、認証エラーを受信したPC503の認証器102は、後述する認証エラー処理(S420)を実行し、認証処理を終了する。
0044
S446では、第2の耐タンパチップ112は、第1の比較認証子409と第1の認証子404とが一致しているので、第1の耐タンパチップ内部データ403とチャレンジデータ401を第2の認証子生成部410に入力する。第2の認証子生成部410では、入力されたチャレンジデータ401と第1の耐タンパチップ内部データ403を結合する処理が行われる。得られた結合データは、第2の認証子生成部410により、内部メモリ406に格納されている秘密鍵データ408を用いて暗号化処理が行われ、第2の認証子411が生成される。S447では、第2の耐タンパチップ112は、生成された第2の認証子411と第1の耐タンパチップ内部データ403とを結合して、第2のレスポンスデータ412を生成し、認証子変換指令部111へ出力する。S448では、認証子変換指令部111は、第2の耐タンパチップ112から入力された第2のレスポンスデータ412を、第3のデータ送受信回路109を介して、PC503の認証器102へ送信する。
0045
(認証器における処理(その2))
図4−1(b)において、S410では、PC503の認証器102の第2のデータ送受信回路106は、エンジンコントロールユニット504の認証子変換器103からの第2のレスポンスデータの受信の有無を判断する。そして、第2のデータ送受信回路106が第2のレスポンスデータを受信するとS411の処理に進み、未受信であればS410の処理を繰り返す。S411では、第2のデータ送受信回路106を介して第2のレスポンスデータを受信した認証指令部107は、第2のレスポンスデータ412を認証部108へ出力すると共に、最終認証処理指令を出す。S412では、認証部108は、認証指令部107から出力された第2のレスポンスデータを第2のレスポンスデータ302として保存する。ここで、エンジンコントロールユニット504の認証子変換器103の第2の耐タンパチップの第2のレスポンスデータ412と、認証部108に保存された第2のレスポンスデータ302は同じデータを指している。また、認証部108は、入力された第2のレスポンスデータ302を、第1の耐タンパチップ内部データ303と第2の認証子304とに分割する。
0046
S413では、第1の耐タンパチップ内部データ303は、チャレンジデータ301と共に、結合処理部305に入力される。結合処理部305では、入力されたチャレンジデータ301と第1の耐タンパチップ内部データ303を結合する処理が行われ、結合データ306が生成され、出力される。S414では、入力された第2のレスポンスデータ302から分割された第2の認証子304は、認証子復号部307に入力される。認証子復号部307では、入力された第2の認証子304に対し、公開鍵データ308を使用して復号処理が行われ、第2の比較認証子309が生成される。
0047
S415では、認証判定部310に、生成された第2の比較認証子309と結合データ306が入力され、認証判定部310は、第2の比較認証子309と結合データ306との比較を行う。S416では、認証判定部310は、第2の比較認証子309と結合データ306が一致するかどうかについて判定する。認証判定部310は、2つのデータが一致する場合にはS417に進み、不一致の場合にはS419に進む。S419では、認証判定部310は、認証エラーを認証指令部107に出力する。S420では、認証エラーを受信した認証指令部107は、例えばPC503の表示部に認証エラーを表示したり、警告音を発するような認証エラー処理を実行し、認証処理を終了する。S417では、認証判定部310は、認証指令部107に認証成功を出力する。S418では、認証成功を受信した認証指令部107は、例えばPC503の表示部に認証成功を表示するような認証成功処理を実行し、認証処理を終了する。
0048
以上説明したように、本実施例によれば、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことができる。すなわち、被認証器には比較的コストの安い共通鍵暗号技術を搭載した耐タンパチップを搭載することにより、コストを抑えることができる。また、認証器には耐タンパチップの搭載が不要になるので、耐タンパチップの搭載が困難な汎用製品であるPCなどを採用しても、被認証装置に対するセキュリティの高い認証を行うことができる。
0049
被認証装置は、本実施例ではプロセスカートリッジであったが、例えば、定着器ユニットのような、消耗品や定期的に交換される装置やユニットであってもよい。また、本実施例では、認証子変換器はエンジンコントロールユニットに搭載されていたが、例えば、エンジンコントロールユニットとは異なる制御装置を有するビデオコントロールユニットに搭載してもよい。更に、本実施例では、認証装置は外部装置であるパーソナルコンピュータであったが、例えば画像形成装置のユニットであるビデオコントロールユニットが認証装置であってもよい。
0050
実施例1では、被認証器から認証子変換器に送信する認証メッセージは、共通鍵暗号により生成し、認証子変換器から認証器へ送信する認証メッセージは、公開鍵暗号により生成する認証システムについて説明した。実施例2では、被認証器から認証子変換器に送信する認証メッセージは、実施例1と同様に共通鍵暗号により生成し、認証子変換器から認証器へ送信する認証メッセージは、使い捨ての共通鍵暗号を用いて生成する認証システムについて説明する。なお、本実施例における使い捨ての共通鍵暗号とは、認証子変換器と認証器において共有される共通鍵を、例えば画像形成装置の電源投入時に再設定する等により、随時変更される共通鍵暗号のことであり、共通鍵は認証器により随時生成される。
0051
[画像形成装置における認証システムの構成]
図5(a)は、実施例2の認証システムを搭載した画像形成装置の概略構成を示した図であり、画像形成装置の一例として、本図ではレーザビームプリンタの場合を示している。図5(a)において、定着器ユニット1002は、レーザビームプリンタ本体1001(以下、本体1001という)に着脱可能であり、交換可能なユニットである。ビデオコントロールユニット1003は、本体1001の内部に配置され、エンジンコントロールユニット1004へ描画指令を出す。エンジンコントロールユニット1004は、ビデオコントロールユニット1003からの描画指令に従って、本体1001の制御を行う。ここで、エンジンコントロールユニット1004とビデオコントロールユニット1003は、それぞれ独立したユニットであり、それぞれのユニットに実装されたCPUにて制御されるユニットである。本実施例は、本体1001に装着される定着器ユニット1002が適合したものであるか否かをビデオコントロールユニット1003にて認証するシステムを示している。
0052
図5(a)において、定着器ユニット1002には、定着器ユニットを認証するための暗号化されたデータである第1の認証子を生成する被認証器101が実装されている。そして、本体1001の電源投入時に、定着器ユニット1002は第1の認証子をエンジンコントロールユニット1004に送信する。エンジンコントロールユニット1004には認証子変換器703が実装されており、定着器ユニット1002より受信した第1の認証子をビデオコントロールユニット1003において認証可能な第2の認証子に変換し、送信する。ビデオコントロールユニット1003には、定着器ユニット1002を認証するための認証器702が実装されており、エンジンコントロールユニット1004より受信した第2の認証子に基づいて、定着器ユニット1002が適合したものであるか否かを認証する。本実施例では、認証器702はハードウェアに限定されるものではなく、例えばビデオコントロールユニット1003のCPUによって、同様の機能を実行するソフトウェアでもよい。
0053
[被認証器、認証器、認証子変換器の構成]
図5(b)は、定着器ユニット1002の被認証器101、ビデオコントロールユニット1003の認証器702、エンジンコントロールユニット1004の認証子変換器703の構成を示す図である。
0054
被認証器101は実施例1にて説明した被認証器101と同様であるため、ここでは説明を省略する。
0055
認証器702は、エンジンコントロールユニット1004の認証子変換器703とのデータ送受信を行う第2のデータ送受信回路706と、認証開始の指示を出す認証指令部707と、認証指令部707の指令に従って、認証動作を行う認証部708を有している。
0056
認証子変換器703の外部データ送受信部は、第3のデータ送受信回路709と、第4のデータ送受信回路710から構成されている。第3のデータ送受信回路709は、ビデオコントロールユニット1003の認証器702とのデータ送受信を行い、第4のデータ送受信回路710は、定着器ユニット1002の被認証器101とのデータ送受信を行う。更に、認証子変換器703は、認証子変換指令部711と第2の耐タンパチップ712を有する。認証子変換指令部711は、第4のデータ送受信回路710が被認証器101より第1のレスポンスデータを受信すると、認証子の変換指令を出す。第2の耐タンパチップ712は、認証子変換指令部711により出された指令により第2のレスポンスデータを作成する。
0057
[第1、第2の耐タンパチップ、認証部の内部構成]
図6−1、6−2は、被認証器101の第1の耐タンパチップ105、認証子変換器703の第2の耐タンパチップ712、認証器702の認証部708を構成するメモリ、データ、処理ブロック(例:認証判定部)の関係を示した図である。ここで、後述する図6−1(a)の第1の耐タンパチップ105の内部メモリ202の共通鍵データ205と、図6−1(b)の第2の耐タンパチップ712の内部メモリ910の共通鍵データ911は同じデータ値である。共通鍵データの共有に関しては、例えば第1の耐タンパチップ105及び第2の耐タンパチップ712の初期化時に、共通の鍵データを設定、もしくは共通の鍵データを使用するための付加情報を書き込むことにより行われる。
0058
また、後述する図6−2(c)の第2の耐タンパチップ712の内部メモリ910の公開鍵データ916と、図6−2(d)の認証部108の公開鍵データ803は同じデータ値である。公開鍵の共有に関しては、例えば後述する使い捨ての共通鍵の共有が実行される前に、第2の耐タンパチップ712が内部メモリ910に保持する秘密鍵データ903と対をなす公開鍵データ916を認証部708が読み込んで取得することにより行われる。
0059
図6−1(a)は、被認証器101の第1の耐タンパチップ105におけるメモリ、データ、処理ブロック(第1の認証子生成部)の関係(内部構成)を示した図である。本図は実施例1の図3−1(a)と同じ図であり、実施例1において動作説明を行っているので、ここでは説明を省略する。
0060
(第2の耐タンパチップの内部構成)
次に、第2の耐タンパチップ712の内部構成について説明する。図6−1(b)は、使い捨ての共通鍵の共有動作を行うとき、認証器702からのチャレンジデータを被認証器101に送信するとき、及び第1の認証子の認証動作を行うときのメモリ、データ、処理ブロックの関係を示した図である。図6−2(c)は、第1の認証子を第2の認証子に変換するときのメモリ、データ、処理ブロックの関係を示した図である。なお、図6−1(b)、図6−2(c)において、共通するメモリ、データ等については、同じ符号を付している。
0061
図6−1(b)において、認証子変換指令部711は、第3のデータ送受信回路709を介して、認証器702から暗号化鍵データ901を受信すると、第2の耐タンパチップ712に暗号化鍵データ901を出力する。第2の耐タンパチップ712は、入力された暗号化鍵データ901を暗号化鍵復号部902に入力し、内部メモリ910の秘密鍵データ903を用いて復号処理を行い、復号された使い捨ての共通鍵データ904は内部メモリ910に保存される。これにより、認証器702の認証部708と認証子変換器703の第2の耐タンパチップ712において、使い捨ての共通鍵データが共有される。
0062
また、認証子変換指令部711は、第3のデータ送受信回路709を介して、認証器702からチャレンジデータを受信すると、第2の耐タンパチップ712に出力する。更に、認証子変換指令部711は、第4のデータ送受信回路710を介して、被認証器101にチャレンジデータ905を送信する。そして、認証子変換指令部711は、チャレンジデータに対する第1のレスポンスデータが、被認証器101から第4のデータ送受信回路710を介して入力されるのを監視する。第1のレスポンスデータが入力されると、認証子変換指令部711は、第2の耐タンパチップ712へ、入力された第1のレスポンスデータ906を出力すると共に、認証子変換指令を出す。認証子変換指令を受けた第2の耐タンパチップ712は、入力された第1のレスポンスデータ906を、第1の耐タンパチップ内部データ907と第1の認証子908とに分割する。分割された第1の耐タンパチップ内部データ907は、認証器702から受信したチャレンジデータ905と共に、第1の比較認証子生成部909に入力される。第1の比較認証子生成部909は、入力された2つのデータを結合する処理を行い、結合処理されたデータは第2の耐タンパチップ712の内部メモリ910に格納されている共通鍵データ911を用いて暗号化処理が施され、第1の比較認証子912が生成される。ここで、第1の比較認証子生成部909は、図6−1(a)における第1の認証子生成部203と同じ処理を行う。暗号化処理により生成された第1の比較認証子912は、認証判定部917において、第1のレスポンスデータ906より分割された第1の認証子908と比較される。そして、2つのデータが一致していた場合は、第2の耐タンパチップ712は、図6−2(c)に示す第2のレスポンスデータの生成処理へと遷移する。不一致であった場合には、第2の耐タンパチップ112は認証エラーを認証子変換指令部711へ出力する。
0063
第1の比較認証子912と第1の認証子908が一致していた場合には、図6−2(c)において、第2の耐タンパチップ712は、チャレンジデータ905と第1の耐タンパチップ内部データ907を第2の認証子生成部913に入力する。第2の認証子生成部913は、2つのデータを結合する処理を行い、結合処理されたデータは、第2の暗号鍵である内部メモリ910内に格納されている使い捨ての共通鍵データ904を用いて、暗号化処理が施される。ここで実行される暗号化処理は、例えば前述したメッセージ認証コード(MAC)のように、入力データの認証子を共通鍵暗号にて作成するものであればよい。暗号化処理により生成された第2の認証子914は、第1のレスポンスデータ906より分割された第1の耐タンパチップ内部データ907と共に、第2のレスポンスデータ915を構成する。そして、第2の耐タンパチップ712は、第2のレスポンスデータ915を認証子変換指令部711へ出力する。認証子変換指令部711は、入力された第2のレスポンスデータ915を第3のデータ送受信回路709を介して、認証器702に送信する。
0064
(認証部の内部構成)
図6−2(d)は、認証器702の認証部708におけるメモリ、データ、処理ブロック(認証判定部等)の関係(内部構成)を示した図である。
0065
図6−2(d)において、認証指令部707から認証部708に使い捨ての共通鍵の共有指示指令が出力されると、認証部708は、乱数成分を用いて、使い捨ての共通鍵データ801を生成する。そして、認証部708では、生成された使い捨ての共通鍵データ801に対し、暗号化鍵作成部802によって、公開鍵データ803を用いて暗号化が行われ、暗号化された暗号化鍵データ804を認証指令部707に出力する。認証指令部707は、入力された暗号化鍵データ804を第2のデータ送受信回路706を介して、認証子変換器703へ送信する。そして、前述したように、認証子変換器703の第2の耐タンパチップ712では、暗号化鍵データ804を暗号化鍵復号部902によって復号された使い捨ての共通鍵データ801が保存され、使い捨ての共通鍵データの共有が行われる。使い捨ての共通鍵の共有処理が完了すると、次に認証指令部707は認証開始指示を認証部708へと出力する。
0066
図6−2(d)において、認証部708は、認証指令部707から認証開始を指示されると、チャレンジデータ805を生成し、認証指令部707へ出力する。認証指令部707は、入力されたチャレンジデータ805を第2のデータ送受信回路706へ出力し、チャレンジデータ805に対する第2のレスポンスデータ806が、第2のデータ送受信回路706を介して認証子変換器703から入力されるのを監視する。第2のレスポンスデータ806が入力されると、認証指令部707は、認証部708へ、入力された第2のレスポンスデータ806を出力すると共に、認証指示を出す。認証指示を受けた認証部708は、入力された第2のレスポンスデータ806を、第1の耐タンパチップ内部データ807と第2の認証子808とに分割する。分割された第1の耐タンパチップ内部データ807は、チャレンジデータ805と共に第2の比較認証子生成部809に入力される。第2の比較認証子生成部809は、入力された2つのデータを結合する処理を行う。そして、第2の比較認証子生成部809では、結合されたデータに使い捨ての共通鍵データ801を用いて暗号化処理が行われ、第2の比較認証子810が出力される。認証判定部811は、出力された第2の比較認証子810と、第2の認証子808が一致するかどうかを判定し、認証部708は、2つのデータが一致していた場合は認証成功を、不一致であった場合は認証エラーを認証指令部707に出力する。
0067
[認証開始から認証判定までの処理の流れ]
次に認証開始から認証判定までの処理の流れを、図7−1〜図7−3のフローチャートを使用して説明する。図7−1(a)、(b)は、認証器702における認証処理の動作を示すフローチャートである。図7−1(a)は、使い捨ての共通鍵データ共有の動作と、認証開始からチャレンジデータ送信までの動作を、図7−1(b)は第2のレスポンスデータを受信してから認証判定を行う動作を示す。図7−2(c)、(d)は、認証子変換器703における認証処理の動作を示すフローチャートである。図7−2(c)は使い捨ての共通鍵データ共有の動作と、チャレンジデータ受信からチャレンジデータ送信までの動作を、図7−2(d)は第1のレスポンスデータを受信してから第2のレスポンスデータを送信するまでの動作を示す。図7−3(e)は、被認証器101における認証処理の動作を示すフローチャートであり、チャレンジデータを受信してから第1のレスポンスデータを送信するまでの動作を示す。以下では、本実施例の認証システムにおいて、認証開始から認証判定の終了まで、上述したフローチャートに基づいて、各部の動作について説明する。
0068
(認証器における処理(その1))
図5(a)において、エンジンコントロールユニット1004は、本体1001が電源投入されたことを検知すると、電源投入信号をビデオコントロールユニット1003に送信する。図7−1(a)において、S701では、ビデオコントロールユニット1003は、本体1001が電源投入されたことを電源投入信号の受信の有無により判断する。第2のデータ送受信回路706が電源投入信号を受信するとS702の処理に進み、未受信の場合にはS701の処理を繰り返す。S702では、認証指令部707は、第2のデータ送受信回路706を介して電源投入信号を受信すると、認証部708に使い捨ての共通鍵の共有処理を指示する。S703では、使い捨ての共通鍵の共有指示を受信した認証部708は、乱数成分を含む使い捨ての共通鍵データ801を生成する。S704では、使い捨ての共通鍵データ801が暗号化鍵作成部802に入力され、暗号化鍵作成部802では公開鍵データ803を用いて暗号化が行われ、暗号化鍵データ804が生成され、出力される。S705では、認証部708は、暗号化鍵作成部802から出力された暗号化鍵データ804を認証指令部707へ出力し、認証指令部707は、第2のデータ送受信回路706を介して認証子変換器703へ暗号化鍵データ804を送信する。
0069
図5(a)において、エンジンコントロールユニット1004は、本体1001に新しい定着器ユニット1002が挿入されたことを検知すると、検知信号をビデオコントロールユニット1003に送信する。図7−1(a)において、S706では、ビデオコントロールユニット1003は、エンジンコントロールユニット1004が新しい定着器ユニット1002の装着を検知したかどうかを、検知信号の受信の有無により判断する。第2のデータ送受信回路706が検知信号を受信するとS707の処理に進み、検知信号を受信するまでS706の処理を繰り返す。S707では、認証指令部707は、第2のデータ送受信回路706から検知信号を受信したことを通知されると、認証部708へ認証開始を指示する。S708では、認証開始の指示を受信した認証部708は、乱数成分を含むチャレンジデータ805を生成し、認証指令部707へ出力する。S709では、認証指令部707は、チャレンジデータ805を第2のデータ送受信回路706を介して、エンジンコントロールユニット1004の認証子変換器703へ送信する。
0070
(認証子変換器における処理(その1))
エンジンコントロールユニット1004は、本体1001が電源投入されると、ビデオコントロールユニット1003から使い捨ての共通鍵データが送信されるのを監視する。図7−2(c)において、S730では、エンジンコントロールユニット1004の認証子変換器103の第3のデータ送受信回路709は、ビデオコントロールユニット1003の認証器702からの暗号化鍵データの受信の有無を判断する。そして、第3のデータ送受信回路709が暗号化鍵データを受信するとS731の処理に進み、未受信であればS730の処理を繰り返す。S731では、第3のデータ送受信回路109を介して、暗号化鍵データ804を受信した認証子変換指令部711は、受信した暗号化鍵データ804を第2の耐タンパチップ712へ出力する。ここで、ビデオコントロールユニット1003から受信した暗号化鍵データ804は、第2の耐タンパチップ712内部では暗号化鍵データ901と呼ぶこととする。第2の耐タンパチップ712は、入力された暗号化鍵データ901を暗号化鍵復号部902に入力し、暗号化鍵復号部902では、内部メモリ910の秘密鍵データ903を用いて、暗号化鍵データ901の復号処理を行う。復号された使い捨ての共通鍵データ904は内部メモリ910に保存される。この処理により、ビデオコントロールユニット1003の認証部708と、エンジンコントロールユニット1004の第2の耐タンパチップ712とで、使い捨ての共通鍵データ904が共有される。
0071
S732では、第3のデータ送受信回路709は、ビデオコントロールユニット1003の認証器702からのチャレンジデータの受信の有無を判断する。そして、第3のデータ送受信回路709がチャレンジデータを受信するとS733の処理に進み、未受信であればS732の処理を繰り返す。S733では、第3のデータ送受信回路709を介して、チャレンジデータを受信した認証子変換指令部711は、受信したチャレンジデータを第2の耐タンパチップ712へ出力する。認証子変換指令部711から受信したチャレンジデータを入力された第2の耐タンパチップ712は、受信したチャレンジデータをチャレンジデータ905として保存する。ここで、ビデオコントロールユニット1003の認証器702の認証部708で生成されたチャレンジデータ805とチャレンジデータ905は同じデータを指している。S734では、認証子変換指令部711は、第4のデータ送受信回路710を介して、定着器ユニット1002の被認証器101にチャレンジデータを送信する。
0072
(被認証器における処理)
図7−3(e)は、被認証器101における認証処理の動作を示すフローチャートである。図7−3(e)では、認証子変換器703よりチャレンジデータを受信してから、第1のレスポンスデータを認証子変換器703に送信するまでの動作を示している。本図は、実施例1の図4−3(e)と同じ図である。実施例1では、チャンレンジデータの送信元、及び第1レスポンスデータの送信先が認証子変換器103であったのに対し、本実施例では、認証子変換器703である点を除けば、認証子変換器703における動作は、実施例1の認証子変換器103と同様である。したがって、ここでは図7−3(e)に示す動作説明を省略する。
0073
(認証子変換器における処理(その2))
図7−2(d)において、S740では、エンジンコントロールユニット1004の認証子変換器703の第4のデータ送受信回路710は、定着器ユニット1002の被認証器101からの第1のレスポンスデータの受信の有無を判断する。そして、第4のデータ送受信回路710が第1のレスポンスデータを受信するとS741の処理に進み、未受信であればS740の処理を繰り返す。S741では、第4のデータ送受信回路710を介して、第1のレスポンスデータを受信した認証子変換指令部711は、第1のレスポンスデータを第2の耐タンパチップ712へ出力すると共に、認証子変換指令を出す。S742では、第1のレスポンスデータが入力された第2の耐タンパチップ712は、入力された第1のレスポンスデータを第1のレスポンスデータ906として保存する。ここで、定着器ユニット1002の被認証器101の第1の耐タンパチップ105の第1のレスポンスデータ207と、第2の耐タンパチップ712に保存された第1のレスポンスデータ906は同じデータを指している。入力された第1のレスポンスデータ906は、第2の耐タンパチップ712によって、第1の耐タンパチップ内部データ907と第1の認証子908とに分割される。
0074
S743では、第1の耐タンパチップ内部データ907は、チャレンジデータ905と共に、第1の比較認証子生成部909に入力される。第1の比較認証子生成部909では、入力されたチャレンジデータ905と第1の耐タンパチップ内部データ907を結合する処理が行われる。更に、第1の比較認証子生成部909では、得られた結合データは、第2の耐タンパチップ112の内部メモリ910に格納されている共通鍵データ911を用いて暗号化処理が行われ、第1の比較認証子912が生成される。
0075
S744では、認証判定部917において、生成された第1の比較認証子912と第1の認証子908との比較が行われる。S745では、認証判定部917が第1の比較認証子912と第1の認証子908が一致するかどうか判定し、2つのデータが一致する場合にはS746に進み、一致しなかった場合にはS749に進む。S749では、認証判定部917は、認証エラーを認証子変換指令部711に出力する。S750では、認証判定部917からの認証エラーを受信した認証子変換指令部111は、第3のデータ送受信回路709を介して、ビデオコントロールユニット1003の認証器702へ認証エラーの情報を通知する。なお、認証エラーを受信したビデオコントロールユニット1003の認証器702は、後述する認証エラー処理(S720)を実行し、認証処理を終了する。
0076
S746では、第2の耐タンパチップ712は、第1の比較認証子912と第1の認証子908とが一致しているので、第1の耐タンパチップ内部データ907とチャレンジデータ905を第2の認証子生成部913に入力する。第2の認証子生成部913では、入力されたチャレンジデータ905と第1の耐タンパチップ内部データ907を結合する処理が行われる。そして、得られた結合データは、内部メモリ910に格納されている使い捨ての共通鍵データ904を用いて、第2の認証子生成部913による暗号化処理が行われ、第2の認証子914が生成される。S747では、第2の耐タンパチップ712は、生成された第2の認証子914と第1の耐タンパチップ内部データ907とを結合して、第2のレスポンスデータ915を生成し、認証子変換指令部711へ出力する。S748では、認証子変換指令部711は、第2の耐タンパチップ712から入力された第2のレスポンスデータ915を、第3のデータ送受信回路709を介して、ビデオコントロールユニット1003の認証器702へ送信する。
0077
(認証器における処理(その2))
図7−1(b)において、S710では、ビデオコントロールユニット1003の認証器702の第2のデータ送受信回路706は、エンジンコントロールユニット1004の認証子変換器703からの第2のレスポンスデータの受信の有無を判断する。そして、第2のデータ送受信回路706が第2のレスポンスデータを受信するとS711の処理に進み、未受信であればS710の処理を繰り返す。S711では、第2のデータ送受信回路706を介して第2のレスポンスデータを受信した認証指令部707は、認証部708へ、第2のレスポンスデータ806を出力すると共に、最終認証処理指令を出す。S712では、認証部708は、認証指令部707から出力された第2のレスポンスデータを第2のレスポンスデータ806として保存する。ここで、エンジンコントロールユニット1004の認証子変換器703の第2の耐タンパチップの第2のレスポンスデータ915と、認証部708に保存された第2のレスポンスデータ806は同じデータを指している。また、認証部708は、入力された第2のレスポンスデータ806を、第1の耐タンパチップ内部データ807と第2の認証子808とに分割する。S713では、第1の耐タンパチップ内部データ807は、チャレンジデータ805と共に、第2の比較認証子生成部809に入力される。第2の比較認証子生成部809では、入力されたチャレンジデータ805と第1の耐タンパチップ内部データ807を結合した結合データを生成する処理が行われる。S714では、結合処理により得られた結合データは、使い捨ての共通鍵データ801を用いて、第2の比較認証子生成部809による暗号化処理が行われ、第2の比較認証子810が生成される。S715では、認証判定部811に、生成された第2の比較認証子810と第2の認証子808が入力され、認証判定部811は、第2の比較認証子810と第2の認証子808との比較を行う。S716では、認証判定部811は、第2の比較認証子810と第2の認証子808が一致するかどうかについて判定する。認証判定部811は、2つのデータが一致する場合にはS717に進み、不一致の場合にはS719に進む。S719では、認証判定部811は、認証エラーを認証指令部707に出力する。S720では、認証エラーを受信した認証指令部707は、例えば本体1001の表示部に認証エラーを表示するような認証エラー処理を実行し、認証処理を終了する。S717では、認証判定部811は、認証指令部707に認証成功を出力する。S718では、認証成功を受信した認証指令部707は、例えば本体1001の表示部に認証成功を表示するような認証成功処理を実行し、認証処理を終了する。
0078
以上説明したように、本実施例によれば、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことができる。すなわち、被認証器には比較的コストの安い共通鍵暗号技術を搭載した耐タンパチップを搭載することにより、コストを抑えることができる。また、認証器には耐タンパチップの搭載が不要になるので、更にコストを抑えることができ、画像形成装置内に構築された認証システムにより、被認証装置に対するセキュリティの高い認証を行うことができる。
0079
被認証装置は、本実施例では定着器ユニットであったが、例えば、プロセスカートリッジのような、消耗品や定期的に交換される装置やユニットであってもよい。また、本実施例では、認証子変換器はエンジンコントロールユニットに搭載され、認証器はビデオコントロールユニットに搭載されている。例えば、認証子変換器はビデオコントロールユニットに搭載され、認証器はエンジンコントロールユニットに搭載されていてもよい。更に、本実施例では、認証装置はビデオコントロールユニットであったが、例えば外部装置であるパーソナルコンピュータが認証装置であってもよい。
0080
[その他の実施例]
上述した実施例1、2では、認証子変換器は、被認証器から受信した第1のレスポンスデータの認証判定を行い、認証エラーが検出された場合には、第2のレスポンスデータの生成を行わず、認証器に認証エラーを通知していた。ここでは、実施例1、2において、認証子変換器において、認証判定を行わず、認証結果を含めて暗号化して認証器に送信し、認証器側で認証子変換器での認証エラーを含めて、認証判定を行う例について説明する。
0081
実施例1の認証子変換器103では、図4−2(d)のS444で、第1の比較認証子と第1の認証子との比較を行い、S445で比較結果の判定を行い、認証エラーの場合には、S449に進み、認証エラーを認証子変換指令部111に出力する処理を行っている。実施例1に対応するその他の実施例では、S444において、第1の比較認証子と第1の認証子との比較を行った後、S446の処理に進む。そして、S446では、第2の認証子生成部410は、S444での認証結果と、チャレンジデータ401と、第1の耐タンパチップ内部データ403との結合データを、秘密鍵データ408で暗号化を行い、第2の認証子411を生成する。
0082
続いて、実施例1の認証器102では、図4−1(b)のS414において、認証子復号部307は、第2の認証子304を公開鍵データ308で復号処理し、第2の比較認証子309を生成している。実施例1に対応するその他の実施例では、S414において、認証子復号部307は、第2の認証子304を公開鍵データ308で復号処理し、第2の比較認証子309と、認証子変換器における認証結果を生成する。そして、認証子変換器103における認証結果より、認証エラーであればS419の認証エラーの処理に進み、認証成功であれば、S415に進み、認証器102における認証判定処理を行えばよい。
0083
実施例2に対応するその他の実施例の場合についても、上述した実施例1に対応するその他の実施例の場合と同様の認証判定の処理を行うことができる。実施例2の認証子変換器703では、図7−2(d)のS744で、認証判定部917にて、生成された第1の比較認証子912と第1の認証子908との比較を行い、S745で比較結果の判定を行い、認証エラーの場合にS749に進む。S749では、認証エラーを認証子変換指令部711に出力する処理を行っている。実施例2に対応するその他の実施例では、S744において、第1の比較認証子と第1の認証子との比較を行った後、S746の処理に進む。そして、S746では、第2の認証子生成部913は、S744での認証結果と、チャレンジデータ905と、第1の耐タンパチップ内部データ907との結合データを使い捨ての共通鍵データ904で暗号化を行い、第2の認証子914を生成する。
0084
続いて、実施例2の認証器702では、図7−1(b)のS713では、第1の耐タンパチップ内部データ807は、チャレンジデータ805と共に、第2の比較認証子生成部809に入力される。第2の比較認証子生成部809では、入力されたチャレンジデータ805と第1の耐タンパチップ内部データ807を結合した結合データを生成する処理が行われる。実施例2に対応するその他の実施例の場合には、S713では、第2の比較認証子生成部809に、第1の耐タンパチップ内部データ807と、チャレンジデータ805と、第2の耐タンパチップ712における認証成功の場合の認証結果データを入力する。そして、第2の比較認証子生成部809では、入力された3つのデータを結合した結合データを生成する処理が行われる。そして、S715では、第2の比較認証子生成部809が3つのデータを結合した結合データを暗号化して生成した第2の比較認証子と、第2の認証子との比較が認証判定部811により行われる。S716では、比較結果に基づいて、認証成功又は認証エラーが判定される。第2の比較認証子と第2の認証子が一致していれば、認証子変換器703においても認証成功であったと判定される。第2の比較認証子と第2の認証子が不一致の場合には、認証子変換器703において認証エラーであったか、認証子変換器703では認証成功であったが、認証器702では認証エラーであったと判定される。
実施例
0085
以上説明したように、その他の実施例においても、コストを抑えて、被認証装置に対するセキュリティの高い認証を行うことができる。特に、認証子変換器において、被認証器の認証結果を判定せず、認証の成否にかかわらず、認証結果を認証器に送信することにより、認証判定を認証器において一元的に行うことができる。
0086
101 被認証器
102 認証器
103認証子変換器