(57)【要約】      （修正有）【課題】被認証装置を簡易に認証する認証システムを提供する。【解決手段】被認証装置は、命令コードを認証装置に送信する命令コード送信手段と、乱数と秘密識別情報と命令コードにより第１の比較値を生成する第１比較値生成手段とを有し、認証装置は、乱数生成手段と乱数と秘密識別情報と命令コードとにより第２の比較値を生成する第２比較値生成手段と、命令コードを実行する制御手段とを有し、被認証装置の命令コード送信手段が命令コードを認証装置に送信し、認証装置の乱数生成手段が、命令コードの受信に応答して乱数を生成し被認証装置に送信し、被認証装置の第１比較値生成手段が、乱数の受信に応答して第１の比較値を生成して認証装置に送信し、認証装置の第２比較値生成手段が、命令コードの受信に応答して第２の比較値を生成し、認証装置の制御手段が、被認証装置から受信した第１の比較値と、第２の比較値とが一致すれば命令コードを実行する。【選択図】図７
2015122620.tif 000002
【特許請求の範囲】
【請求項１】
認証装置と、前記認証装置と通信可能な被認証装置とを有し、
前記被認証装置は、
前記認証装置を制御する命令コードを生成し前記認証装置に送信する命令コード送信手段と、
前記認証装置から受信した乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成する第１比較値生成手段と、を有し、
前記認証装置は、
前記乱数を生成する乱数生成手段と、
前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する第２比較値生成手段と、
前記命令コードを実行する制御手段と、を有し、
前記被認証装置の前記命令コード送信手段が前記命令コードを前記認証装置に送信し、
前記認証装置の前記乱数生成手段が、前記命令コードの受信に応答して前記乱数を生成し前記被認証装置に送信し、
前記被認証装置の前記第１比較値生成手段が、前記乱数の受信に応答して前記第１の比較値を生成して前記認証装置に送信し、
前記認証装置の前記第２比較値生成手段が、前記命令コードの受信に応答して前記第２の比較値を生成し、
前記認証装置の前記制御手段が、前記被認証装置から受信した前記第１の比較値と、前記第２の比較値とが一致するときに前記命令コードを実行する認証システム。
【請求項２】
請求項１において、
前記被認証装置の前記第１比較値生成手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成し、
前記認証装置の前記第２比較値生成手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証システム。
【請求項３】
請求項１において、
前記被認証装置の前記第１比較値生成手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成し、
前記認証装置の前記第２比較値生成手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記被認証装置の前記第１比較値生成手段及び前記認証装置の前記第２比較値生成手段はそれぞれ、複数の前記秘密識別情報に基づいて前記第１、第２の比較値を生成する認証システム。
【請求項５】
認証装置と、前記認証装置と通信可能な被認証装置とを有する認証システムにおける認証方法であって、
前記被認証装置が、前記認証装置を制御する命令コードを前記認証装置に送信する工程と、
前記認証装置が、前記命令コードの受信に応答して乱数を生成し、前記被認証装置に送信する工程と、
前記被認証装置が、前記乱数の受信に応答して、前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成し、前記認証装置に送信する工程と、
前記認証装置が、前記命令コードの受信に応答して、前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する工程と、
前記認証装置が、前記被認証装置から受信した前記第１の比較値と、前記第２の比較値とが一致するときに前記命令コードを実行する工程と、を有する認証方法。
【請求項６】
被認証装置と通信可能に接続され、前記被認証装置の認証処理を行う認証装置であって、
前記被認証装置からの前記認証装置を制御する命令コードの受信に応答して、乱数を生成し、前記被認証装置に送信する乱数送信手段と、
前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する比較値生成手段と、
前記認証装置が送信した前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて前記被認証装置が生成した第１の比較値の前記被認証装置からの受信に応答して、前記第１の比較値と前記第２の比較値とを比較し、一致するときに前記命令コードを実行する制御手段と、を有する認証装置。
【請求項７】
認証装置と通信可能に接続され、前記認証装置によって認証処理が行われる被認証装置であって、
前記認証装置を制御する命令コードを前記認証装置に送信する命令コード送信手段と、
前記認証装置からの乱数の受信に応答して、前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成し、前記認証装置に送信する比較値送信手段と、を有し、
前記第１の比較値は、前記認証装置において、前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて前記認証装置が生成する第２の比較値と比較され、前記第１の比較値と前記第２の比較値とが一致するときに前記命令コードが実行される被認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、認証方法、認証装置、及び、被認証装置に関する。
【背景技術】
【０００２】
近年、組込み機器製品において正規品と同等の機能をもつ安価な模造品が製作され、市場に出回っている。模造品は、正規品と同等の機能を備え、安価であることから、正規品の代わりに購入されるケースが増加している。このため、正規品の販売台数が減少し多大な損失が発生している。
【０００３】
例えば、複数の製品が通信を介して連携する組み込み機器製品がある。このような組込み機器製品では、ある製品の操作にしたがって、別の製品の制御が可能になる。連携する複数の製品とは、例えば、カーナビゲーションとエアコンである。この場合、エアコンは、カーナビゲーションの操作にしたがって制御可能である。
【０００４】
連携する複数の組込み機器製品において、一部の製品に模造品が使用され、正規品が模造品によって制御されることがある。このような場合、正規品は、接続された機器製品が正規品であるか模造品であるかを認証することが求められる（例えば、特許文献１〜３）。接続された機器製品が正規品であるか否かを判別する方法として、例えば、チャレンジ＆レスポンス方式による認証方法が用いられる。
【０００５】
チャレンジ＆レスポンス方式では、予め、認証する機器製品（以下、認証装置）と認証される機器製品（以下、被認証装置）は、秘密識別情報（ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｄａｔａ）、以下ＩＤと称する）を共有する。被認証装置が、認証装置に対して認証依頼を出力すると、認証装置は、乱数（チャレンジ値）を生成し、被認証装置に送信する。続いて、被認証装置は、乱数（チャレンジ値）と秘密ＩＤとに基づいてＭＡＣ値を計算し、レスポンス値として認証装置に送信する。また、認証装置も同様にして、乱数と秘密ＩＤとに基づいて、ＭＡＣ値を計算する。そして、認証装置は、算出したＭＡＣ値と、被認証装置から受信したレスポンス値（ＭＡＣ値）とが一致する場合に、被認証装置が正規品である旨、判定し、被認証装置による制御を受け入れる。
【０００６】
しかしながら、認証対象の機器製品が複数ある場合、模造品による正規品への成りすましが可能になる。この場合、認証装置が、乱数（チャレンジ値）を生成し、被認証装置に送信すると、模造品の被認証装置は、受信した乱数（チャレンジ値）を正規品に送信して正規品にレスポンス値を生成させ、生成されたレスポンス値を受信する。そして、模造品の被認証装置は、受信したレスポンス値を認証装置に送信する。レスポンス値は、正規品によって生成されたＭＡＣ値であるため、認証装置が生成したＭＡＣ値と一致する。したがって、模造品である被認証装置は、正規品であると判定される。
【０００７】
そこで、例えば、チャレンジ＆レスポンス方式に加えて、命令コードの暗号化が行われる。認証装置と被認証装置は、秘密ＩＤに加えて共通鍵を共有する。チャレンジ＆レスポンス方式による認証処理に成功した後、続いて、被認証装置は、認証装置を制御する命令コードを、共通鍵にしたがって暗号化し、認証装置に送信する。そして、認証装置は、暗号化された命令コードを受信すると、共通鍵にしたがって復号し、命令コードを取得する。そして、認証装置は、命令コードに対応する処理を実行する。
【０００８】
このように、チャレンジ＆レスポンス方式による認証に加えて、命令コードが共通鍵によって暗号化される。共通鍵を有しない模造品の被認証装置は、命令コードを暗号化できない。したがって、模造品の被認証装置は、正規品になりすますことができず、正規品を制御することができない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２-０６３１３９号公報
【特許文献２】特開２０１１-１７６６４９号公報
【特許文献３】特開２０１２-１７４１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、チャレンジ＆レスポンス方式に加えて、命令コードを暗号化する場合、共通鍵の共有のための暗号化及び復号処理が増加することに加え、命令コードの暗号化及び復号処理が必要となる。したがって、暗号処理が増加することによりコストが増加し、認証処理にかかる負荷も高くなる。
【００１１】
また、認証処理の後に、正規品が模造品に差し替えられることがあることから、定期的に認証処理が行われる。しかしながら、操作等が発生しないタイミングに認証処理を行うことにより、認証装置と被認証装置との間の通信データが増大する。
【００１２】
１つの側面は、本発明は、認証装置を制御する被認証装置を簡易に認証する認証システム、認証方法、認証装置、及び、被認証装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の側面は、認証装置と、前記認証装置と通信可能な被認証装置とを有し、前記被認証装置は、前記認証装置を制御する命令コードを生成し前記認証装置に送信する命令コード送信手段と、前記認証装置から受信した乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成する第１比較値生成手段と、を有し、前記認証装置は、前記乱数を生成する乱数生成手段と、前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する第２比較値生成手段と、前記命令コードを実行する制御手段と、を有し、前記被認証装置の前記命令コード送信手段が前記命令コードを前記認証装置に送信し、前記認証装置の前記乱数生成手段が、前記命令コードの受信に応答して前記乱数を生成し前記被認証装置に送信し、前記被認証装置の前記第１比較値生成手段が、前記乱数の受信に応答して前記第１の比較値を生成して前記認証装置に送信し、前記認証装置の前記第２比較値生成手段が、前記命令コードの受信に応答して前記第２の比較値を生成し、前記認証装置の前記制御手段が、前記被認証装置から受信した前記第１の比較値と、前記第２の比較値とが一致するときに前記命令コードを実行する。
【発明の効果】
【００１４】
第１の側面によれば、秘密ＩＤと命令コードと認証装置が送信した乱数に基づく被認証装置が生成する第１の比較値が、乱数と秘密ＩＤと被認証装置から受信した命令コードに基づく認証装置が生成する第２の比較値と一致する時に、認証装置が命令コードを実行することによって、認証装置を制御する被認証装置を簡易に認証する。
【図面の簡単な説明】
【００１５】
【図１】チャレンジ＆レスポンス方式の実施の形態例を説明する図である。
【図２】チャレンジ＆レスポンス方式の別の実施の形態例を説明する図である。
【図３】模造品の被認証装置によるなりしましを説明する図である。
【図４】チャレンジ＆レスポンス方式に加えて命令コードの暗号化を行う場合の実施の形態例を説明する図である。
【図５】本実施の形態例における認証装置の構成を説明する図である。
【図６】本実施の形態例における被認証装置の構成を説明する図である。
【図７】本実施の形態例における認証処理システムの処理の流れを説明する図である。
【図８】本実施の形態例における認証システムによるなりすましの防止を説明する図である。
【図９】ＭＡＣ計算部がソフトウェアによって実現される場合における処理の流れを説明する第１の図である。
【図１０】ＭＡＣ計算部がソフトウェアによって実現される場合における処理の流れを説明する第２の図である。
【図１１】ＭＡＣ計算部がハードウェアによって実現される場合における処理の流れを説明する第１の図である。
【図１２】ＭＡＣ計算部がハードウェアによって実現される場合における処理の流れを説明する第２の図である。
【図１３】本実施の形態例の認証装置の処理の具体例を説明する図である。
【図１４】本実施の形態例の被認証装置の処理の具体例を説明する第１の図である。
【図１５】本実施の形態例の被認証装置の処理の具体例を説明する第２の図である。
【発明を実施するための形態】
【００１６】
以下、図面にしたがって本発明の実施の形態を説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１７】
初めに、チャレンジ＆レスポンス方式による認証を説明する。
【００１８】
［チャレンジ＆レスポンス方式］
図１は、チャレンジ＆レスポンス方式の実施の形態例を説明する図である。図１の認証システムは、認証装置１０と被認証装置２０とを有する。認証装置１０と被認証装置とは、無線または有線の通信回線を介して、互いに通信可能である。
【００１９】
例えば、認証装置１０はエアコンに、被認証装置２０はカーナビゲーションに対応する。カーナビゲーションとエアコンとは連携し、カーナビゲーションの操作にしたがってエアコンの制御が可能である。ただし、この例に限定されるものではなく、認証装置１０及び被認証装置２０は、例えば、車載ネットワーク等を介して接続する別の装置であってもよい。
【００２０】
チャレンジ＆レスポンス方式では、認証装置１０及び被認証装置２０は、予め、秘密ＩＤｃｍを共有する。図１の例では、初めに、被認証装置２０は、認証装置１０に認証依頼を出力する（ａ１）。認証装置１０は、認証依頼を受けて、乱数（チャレンジ値）Ｒ１を生成する（ａ２）。続いて、認証装置１０は、生成した乱数（チャレンジ値）Ｒ１を被認証装置１０に送る（ａ３）。被認証装置２０は、認証装置１０から乱数（チャレンジ値）Ｒ１を受信すると、乱数（チャレンジ値）Ｒ１と秘密ＩＤｃｍとに基づいてＭＡＣ（Message Authentication Code）値Ｍ１を生成する（ａ４）。ＭＡＣ値Ｍ１とは、メッセージを認証するための情報である。例えば、認証装置１０は、共通鍵（この例では、秘密ＩＤｃｍ）と、認証対象の任意長のメッセージ（この例では、乱数Ｒ１）とを入力として、ＨＭＡＣ方式やＡＥＳ方式等に基づいて、ＭＡＣ値Ｍ１を算出する。
【００２１】
続いて、被認証装置２０は算出したＭＡＣ値Ｍ１を、レスポンス値として認証装置１０に送信する（ａ６）。また、認証装置１０は、被認証装置２０と同様にして、生成した乱数Ｒ１と秘密ＩＤｃｍに基づいて、ＭＡＣ値Ｍ２を算出して生成する（ａ５）。そして、認証装置１０は、被認証装置２０からレスポンス値（ＭＡＣ値Ｍ１）を受信すると、生成したＭＡＣ値Ｍ２と比較して、一致するか否かを検証する（ａ７）。一致する場合、認証装置１０は、被認証装置２０が正規品であると判定し、被認証装置２０から受信した認証装置１０を制御する命令コードＥＸ（図示せず）に基づいて処理を実行する。一方、一致しない場合、認証装置１０は、被認証装置２０が模造品であると判定し、被認証装置２０による制御を行わない。
【００２２】
模造品の被認証装置２０は、秘密ＩＤｃｍを有していない。秘密ＩＤｃｍを有していない模造品の被認証装置２０は、認証装置１０が生成するＭＡＣ値Ｍ２と同一のレスポンス値Ｍ１を生成することができない。したがって、模造品の被認証装置２０は、正規品と判定されず、認証装置１０の制御が行えない。
【００２３】
なお、被認証装置２０は、認証に成功した後、正規品から模造品に差し替えられる場合がある。したがって、例えば、認証装置１０は、定期的に、被認証装置２０の認証処理を行う。例えば、被認証装置２０は、タイマー機能を有し、認証装置１０に定期的に認証依頼を出力する。
【００２４】
図２は、チャレンジ＆レスポンス方式の別の実施の形態例を説明する図である。図２の認証装置１０は、定期的に、または任意のタイミングで、乱数（チャレンジ値）Ｒ１を生成し（ａ１１）、被認証装置２０に出力する（ａ１２）。これにより、定期的に、被認証装置２０の認証処理が行われる。図１で説明した例と同様にして、乱数（チャレンジ値）Ｒ１を受信すると、被認証装置２０は、乱数（チャレンジ値）Ｒ１と秘密ＩＤｃｍとに基づいてＭＡＣ値Ｍ１を生成する（ａ１２）。後続の処理（ａ１３〜ａ１６）についても、図１の例と同様である。
【００２５】
定期的に、または、任意のタイミングで認証処理を行うことによって、被認証装置２０が継続して正規品であることが確認される。ただし、定期的に、または、任意のタイミングで認証処理を行うことによって、認証装置１０と被認証装置２０との間の通信データ量が増大してしまう。また、認証装置１０が認証する対象の被認証装置２０の数が多い場合、さらに、通信データ量が増大する。
【００２６】
また、認証装置１０に複数の被認証装置２０が接続する場合、模造品の被認証装置３０による、正規品の被認証装置２０を利用したなりすましが可能になる。続いて、模造品の被認証装置３０による正規品へのなりすまし方法を説明する。
【００２７】
［模造品によるなりすまし］
図３は、模造品の被認証装置３０によるなりすましを説明する図である。図３は、認証装置１０と模造品の被認証装置３０と正規品の被認証装置２０とを有する。各装置は、互いに通信可能である。
【００２８】
図１、図２で説明したとおり、正規品の被認証装置２０は、乱数（チャレンジ値）Ｒ１の受信に応答して、レスポンス値を生成し、乱数（チャレンジ値）Ｒ１の送信元の装置に、生成したレスポンス値Ｍ１を送信する機能を有する。そこで、模造品の被認証装置３０は、乱数（チャレンジ値）Ｒ１を認証装置１０から受信すると（ａ１２）、受信した乱数（チャレンジ値）Ｒ１を、正規品の被認証装置２０に転送する（ｂ１１、ｂ１２）。正規品の被認証装置２０は、乱数（チャレンジ値）Ｒ１を受信すると、レスポンス値を生成して（ｂ１３）、乱数（チャレンジ値）の送信元である模造品の被認証装置３０に送信する（ｂ１４）。そこで、模造品の被認証装置３０は、正規品の被認証装置２０からレスポンス値Ｍ１を受信すると、レスポンス値Ｍ１を認証装置１０に転送する（ｂ１５、ａ１５）。
【００２９】
認証装置１０が模造品の被認証装置３０から受信するレスポンス値Ｍ１は、正規品の被認証装置２０が生成したレスポンス値である。したがって、認証装置１０が模造品の被認証装置３０から受信するレスポンス値Ｍ１は、認証装置１０が生成するＭＡＣ値Ｍ２と一致する。これにより、認証装置１０は、模造品の被認証装置３０が正規品の被認証装置２０であると判定し、模造品の被認証装置３０からの制御を受け付ける。つまり、模造品の被認証装置２０は、正規品になりすまして、認証装置１０を制御することが可能になる。
【００３０】
そこで、模造品の被認証装置２０によるなりすましを防ぐために、チャレンジ＆レスポンス方式に加えて、命令コードＥＸの暗号化が行われる。
【００３１】
図４は、チャレンジ＆レスポンス方式に加えて命令コードＥＸの暗号化を行う場合の実施の形態例を説明する図である。図４の認証処理において、チャレンジ＆レスポンス方式の認証の後、被認証装置２０は、命令コードＥＸを共通鍵に基づいて暗号化する。図４において、認証装置１０及び被認証装置２０は、予め、秘密ＩＤｃｍに加えて、秘密鍵ｓｃを共有する。
【００３２】
具体的に、図１、図２と同様にして、認証装置１０は乱数（チャレンジ値）Ｒ１を生成して被認証装置２０に送信し、被認証装置２０から受信したレスポンス値Ｍ１と、生成したＭＡＣ値Ｍ２とが一致するか否かを検証する（ａ１１〜ａ１６）。続いて、認証装置１０は、共通鍵となる乱数Ｒ２を生成する（ａ１７）。次に、認証装置１０は、被認証装置２０と共有している秘密鍵ｓｃを用いて、乱数Ｒ２を暗号化し（ａ１８）、被認証装置１０に送信する（ａ１９）。被認証装置２０は、暗号化された乱数Ｒ２ａを受信すると、共有している秘密鍵ｓｃに基づいて復号し（ａ２０）、乱数Ｒ２を取得する（ａ２１）。取得した乱数Ｒ２は、認証装置１０と被認証装置２０との共通鍵である。
【００３３】
次に、被認証装置２０は、認証装置１０に対する制御を指示する命令コードＥＸを生成し（ａ２２）、共通鍵（乱数Ｒ２）によって暗号化し（ａ２３）、認証装置１０に送信する（ａ２４）。そして、認証装置１０は、暗号化された命令コードＥＸａを共有する共通鍵（乱数Ｒ２）に基づいて復号し（ａ２５）、命令コードＥＸを取得する（ａ２６）。認証装置１０は、命令コードＥＸを取得すると、命令コードＥＸに基づく処理を実行する。
【００３４】
図４の認証処理によると、模造品の被認証装置３０は、秘密鍵を有していないことにより、暗号化された乱数Ｒ２を認証装置１０から受信しても、復号することができない。したがって、模造品の被認証装置３０は、共通鍵（乱数Ｒ２）を取得できない。共通鍵を有しない模造品の被認証装置３０は、自身が発行する命令コードＥＸを暗号化できないため、認証に失敗する。
【００３５】
また、図３に例示したように、例えば、模造品の被認証装置３０が暗号化された乱数Ｒ２を正規品の被認証装置２０に転送する場合、正規品の被認証装置２０は、当該正規品の被認証装置２０が発行する命令コードＥＸを暗号化した情報を模造品の被認証装置３０に返信する。したがって、模造品の被認証装置３０は、正規品の被認証装置２０から、自装置が発行する命令コードＥＸを暗号化した情報を受信することはできない。このため、模造品の被認証装置３０は、自装置が発行する命令コードＥＸを暗号した情報を認証装置１０に送信することができず、正規品の被認証装置２０を利用した場合でも、正規品になりすましできない。
【００３６】
しかしながら、図４に示す認証方法によると、図１、図２に対して、秘密鍵による暗号化及び複合処理、共通鍵（乱数Ｒ２）による命令コードＥＸの暗号化及び復号処理が必要となる。したがって、暗号化及び復号処理が増加すると共に、処理が煩雑となってしまう。これにより、処理の負荷が増大し、コストも増加する。
【００３７】
そこで、本実施の形態例における認証方法では、被認証装置２０が、認証装置１０を制御する命令コードＥＸを認証装置１０に送信し、認証装置１０が、命令コードＥＸの受信に応答して乱数（チャレンジ値）Ｒ１を生成し、被認証装置２０に送信する。また、被認証装置２０が、乱数Ｒ１の受信に応答して、乱数Ｒ１と認証装置１０及び被認証装置２０が共通に有する秘密ＩＤｃｍと命令コードＥＸとに基づいて第１の比較値（ＭＡＣ値／レスポンス値）Ｍ１を生成し、認証装置１０に送信する。また、認証装置１０は、命令コードＥＸの受信に応答して、乱数Ｒ１と秘密ＩＤｃｍと命令コードＥＸとに基づいて第２の比較値（ＭＡＣ値）Ｍ２を生成し、被認証装置２０から受信した第１の比較値Ｍ１と、第２の比較値Ｍ２とが一致するときに命令コードＥＸを実行する。
【００３８】
本実施の形態例における認証システムは、乱数Ｒ１と秘密ＩＤｃｍに加えて、命令コードＥＸとに基づいて、ＭＡＣ値Ｍ２を生成する。正規品の被認証装置２０は、秘密ＩＤｃｍを有するため、命令コードＥＸと秘密ＩＤｃｍとに基づいて、認証装置１０が生成するＭＡＣ値Ｍ１と同一のＭＡＣ値Ｍ２を生成することができる。一方、模造品の被認証装置３０は、命令コードＥＸを有するものの、秘密ＩＤｃｍを有しないため、認証装置１０が生成するＭＡＣ値Ｍ１と同一のＭＡＣ値Ｍ２を生成することができない。したがって、模造品の被認証装置３０は、認証に失敗する。
【００３９】
続いて、本実施の形態例における認証システムの認証装置１０及び被認証装置２０の構成を説明する。初めに、認証装置１０の構成を説明する。
【００４０】
［認証装置の構成例］
図５は、本実施の形態例における認証装置１０の構成を説明する図である。認証装置１０は、例えば、ＲＯＭ（Read Only Memory）１０１、乱数生成部１０２、ＣＰＵ（Central Processing Unit）１０４、通信部１０５、ＲＡＭ（Random Access Memory）１０６、ＭＡＣ計算部１０７、秘密ＩＤｃｍを有する。各部は、バス１１０を介して互いに接続される。
【００４１】
乱数生成部１０２は、乱数Ｒ１（図４）を生成する。乱数生成部１０２は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。また、通信部１０５は、無線または有線の通信を介して、被認証装置２０を含む外部の装置とのデータの送受信を制御する。また、秘密ＩＤｃｍは、被認証装置２０と予め共有される情報である。秘密ＩＤｃｍは、ＲＯＭ１０１に記憶されてもよいし、固定情報としてハードウェア等に搭載されてもよい。また、秘密ＩＤｃｍは、複数のＩＤであってもよい。
【００４２】
ＭＡＣ計算部１０７は、秘密ＩＤｃｍと乱数と命令コードとを入力としてＭＡＣ関数に基づいて、ＭＡＣ値Ｍ２を算出する。ＭＡＣ計算部１０７についても、乱数生成部１０２と同様にして、ハードウェアによって実現されていてもよいし、ソフトウェアによって実現されてもよい。また、ＭＡＣ計算部１０７は、秘密ＩＤｃｍと接続され、ＣＰＵ１０４を介さずに秘密ＩＤｃｍを取得できるように構成されてもよい。または、ＭＡＣ計算部１０７がソフトウェアによって構成される場合、ＭＡＣ計算部１０７が秘密ＩＤｃｍを読み出す。
【００４３】
また、本実施の形態例における認証処理がソフトウェアによって実行される場合、ＲＡＭ１０６は、例えば、認証装置１０側の認証プログラムＰＲ１０を記憶する。ＣＰＵ１０４は、認証プログラムＰＲ１０と協働して、本実施の形態例における認証装置１０側の認証処理を行う。
【００４４】
なお、本実施の形態例における認証装置１０は、さらに、被認証装置２０の命令コードのリストＥＸＬを有してもよい。例えば、認証装置１０のＣＰＵ１０４は、被認証装置２０から受信した命令コードＥＸに基づいて、保持する命令コードのリストＥＸＬを参照し、命令コードＥＸに対応する処理を行う。ただし、認証装置１０は、命令コードのリストＥＸＬを必ずしも有する必要はない。
【００４５】
［被認証装置の構成例］
図６は、本実施の形態例における被認証装置２０の構成を説明する図である。被認証装置２０は、例えば、ＲＯＭ（Read Only Memory）２０１、命令コードＥＸ、ＣＰＵ（Central Processing Unit）２０２、通信部２０３、ＲＡＭ（Random Access Memory）２０４、ＭＡＣ計算部２０５、秘密ＩＤｃｍを有する。各部は、バス２１０を介して互いに接続される。図５で説明したとおり、被認証装置２０は、認証装置１０と秘密ＩＤｃｍを共有する。また、通信部１０５、及び、ＭＡＣ計算部１０７は、図５と同様である。
【００４６】
また、本実施の形態例における認証処理がソフトウェアによって実行される場合、ＲＡＭ２０４は、例えば、被認証装置２０側の認証プログラムＰＲ２０を記憶する。ＣＰＵ１０４は、認証プログラムＰＲ２０と協働して、本実施の形態例における被認証装置２０側の認証処理を行う。また、被認証装置２０は、認証装置１０を制御する命令コードＥＸを有する。
【００４７】
次に、本実施の形態例における認証処理システムの処理の流れを説明する。
【００４８】
［本実施の形態例の処理］
図７は、本実施の形態例における認証処理システムの処理の流れを説明する図である。まず、被認証装置２０は、認証装置１０を制御するタイミングで、命令コードＥＸを認証装置１０に送信する（ａ２１）。認証装置１０の乱数生成部１０２は、命令コードＥＸの受信に応答して、乱数Ｒ１を生成する（ａ２２）。そして、認証装置１０は、生成された乱数Ｒ１を認証装置１０に送信する（ａ２３）。
【００４９】
被認証装置２０は、認証装置１０から乱数Ｒ１を受信すると、ＭＡＣ値Ｍ１を生成する（ａ２４）。具体的に、被認証装置２０のＭＡＣ計算部２０５は、受信した乱数Ｒ１と命令コードＥＸとに基づく値と秘密ＩＤｃｍとを入力として、ＭＡＣ値Ｍ１を算出して生成する。そして、被認証装置２０は、生成したＭＡＣ値Ｍ１を認証装置１０に送信する（ａ２６）。
【００５０】
また、認証装置１０は、被認証装置２０に乱数Ｒ１を送信した後、乱数Ｒ１と命令コードＥＸとに基づく値と秘密ＩＤｃｍとを入力として、ＭＡＣ値Ｍ２を算出して生成する（ａ２５）。そして、認証装置１０は、被認証装置２０からＭＡＣ値Ｍ１を受信すると、自装置で生成したＭＡＣ値Ｍ２と比較し、一致する場合に、被認証装置２０が正規品であると判定する。被認証装置２０が正規品であると判定された場合、認証装置１０は、被認証装置２０から送信された命令コードＥＸに対応する処理を実行する（ａ２７）。
【００５１】
なお、本実施の形態例において、被認証装置２０がＭＡＣ値Ｍ１を算出するタイミングと、認証装置１０がＭＡＣ値Ｍ２を算出するタイミングは、図７の例に限定されるものではない。各ＭＡＣ値Ｍ１、Ｍ２は、ＭＡＣ値の比較処理の前に生成されていればよい。
【００５２】
なお、図７の例では、秘密ＩＤｃｍを１つ使用する場合を例示したが、この例に限定されるものではない。ＭＡＣ値の生成に使用される秘密ＩＤｃｍは、複数個であってもよい。この場合、例えば、認証装置１０及び被認証装置２０は、予め、複数の秘密ＩＤｃｍを共有する。認証システムは、複数の秘密ＩＤｃｍを用いることによって、第３者によるＭＡＣ値の生成をより困難にすることができる。
【００５３】
また、認証装置１０が、同一の命令コードＥＸを既に実行中である場合、処理（ａ２１〜ａ２６）は省略されてもよい。または、認証装置１０は、受信した命令コードＥＸと同一の命令コードＥＸが既に実行中の場合、実行処理の間に定期的に処理ｓ２２〜ｓ２６を行い、被認証装置２０が模造品に差し替えられていないことを確認してもよい。
【００５４】
図７に示すように、本実施の形態例における認証システムは、乱数Ｒ１と秘密ＩＤｃｍに加えて、命令コードＥＸとに基づいて、ＭＡＣ値Ｍ２を生成する。したがって、秘密ＩＤｃｍと命令コードＥＸとを両方有する正規品の被認証装置２０のみが、認証装置１０のＭＡＣ値Ｍ２と一致するＭＡＣ値Ｍ１を生成することができ、認証に成功する。したがって、秘密ＩＤｃｍを有しない模造品の被認証装置３０は、認証に失敗する。
【００５５】
なお、本実施の形態例における認証システムによると、模造品の被認証装置２０は、図３に説明したように、正規品の被認証装置２０を利用したとしても、正規品になりすますことはできない。続いて、本実施の形態例における認証システムによる、なりすましの防止を説明する。
【００５６】
図８は、本実施の形態例における認証システムによる、なりすましの防止を説明する図である。図３のなりすましの事例と同様にして、例えば、模造品の被認証装置３０は、認証装置１０から受信した乱数（チャレンジ値）Ｒ１を、正規品の被認証装置２０に転送する（ｂ２１、ｂ２２）。正規品の被認証装置２０は、乱数（チャレンジ値）Ｒ１を受信すると、受信した乱数Ｒ１に基づいてＭＡＣ値Ｍ１を生成する（ｂ２３）。ただし、このとき、乱数（チャレンジ値）Ｒ１を受信する正規品の被認証装置２０は、模造品の被認証装置３０が送信した命令コードＥＸを有していない。したがって、正規品の被認証装置２０は、ＭＡＣ値Ｍ１を生成できないため、模造品の被認証装置３０にＭＡＣ値Ｍ１を送信できない（ｂ２４）。
【００５７】
また、仮に、正規品の被認証装置２０が、乱数Ｒ１と秘密ＩＤｃｍと、いずれかの命令コードＥＸとに基づいてＭＡＣ値Ｍ１を生成したとしても（ｂ２３）、正規品の被認証装置２０がＭＡＣ値Ｍ１の生成に使用した命令コードＥＸと、模造品の被認証装置３０が発行した命令コードＥＸとは一致しない。したがって、模造品の被認証装置３０が、正規品の被認証装置２０から取得したＭＡＣ値Ｍ１を認証装置１０に転送しても（ｂ２５〜ｂ２７）、転送したＭＡＣ値Ｍ１は、認証装置１０が生成するＭＡＣ値Ｍ２と一致しない（ａ２７）。このため、模造品の被認証装置３０は、正規品の被認証装置２０を利用しても、正規品になりすますことができない。
【００５８】
図８に示すように、模造品の被認証装置３０がＭＡＣ値Ｍ１を正規品の被認証装置２０に生成させる場合であっても、正規品の被認証装置２０は模造品の被認証装置３０が認証装置１０に送信した命令コードＥＸを有していないため、認証装置１０のＭＡＣ値Ｍ２と一致するＭＡＣ値Ｍ１を生成しない。したがって、模造品の被認証装置３０は、認証に失敗し、正規品になりすますことができない。
【００５９】
図７、図８で説明したように、認証システムは、認証装置１０が複数の正規品の被認証装置２０と接続し、認証装置１０が被認証装置２０より命令コードＥＸに基づいて操作される場合に、いずれかの被認証装置２０が正規品から模造品に置き換えられた場合であっても、模造品の被認証装置３０を検出することができる。そして、認証装置１０は、模造品と判定された被認証装置３０からの命令コードＥＸによる制御を回避することができる。これにより、模造品の被認証装置３０の使用が抑止される。
【００６０】
また、本実施の形態例における認証システムによると、既存のチャレンジ＆レスポンスの形態の処理に新たに暗号化及び復号処理を追加することなく、簡易に、なりすましを回避することができる。これにより、認証処理にかかる負荷が抑えられると共に、コストも抑えられる。また、本実施の形態例における認証システムにおいて、認証処理は、命令コードＥＸの発行に応答して行われる。これにより、通信データ量が抑えられるため、認証装置１０が多数の被認証装置２０と接続される場合でも、通信データの増大が抑えられる。また、命令コードＥＸの発行のタイミングで認証処理が行われることから、適切なタイミングで被認証装置２０が正規品であるか否かが判定可能になる。
【００６１】
続いて、ＭＡＣ計算部１０７、２０５の処理の詳細を説明する。初めに、ＭＡＣ計算部１０７、２０５をソフトウェアにしたがって実現する場合における処理の流れを説明する。認証装置１０のＭＡＣ計算部１０７、及び、被認証装置２０のＭＡＣ計算部２０５の処理は同一である。
【００６２】
図９は、ＭＡＣ計算部１０７、２０５がソフトウェアによって実現される場合における処理の流れを説明する第１の図である。初めに、ＭＡＣ計算部１０７、２０５は、ＲＡＭ１０６、２０４から、受信した（認証装置１０）、または、送信済み（被認証装置２０）の命令コードＥＸを取得する（Ｓ１１）。次に、ＭＡＣ計算部１０７は、ＲＡＭ１０６、２０４から、生成した（認証装置１０）、または、受信した（被認証装置２０）の乱数Ｒ１を取得する（Ｓ１２）。また、ＭＡＣ計算部１０７、２０５は、予め保持する秘密ＩＤｃｍを取得する（Ｓ１３）。
【００６３】
次に、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを結合し、ＭＡＣ値Ｍ１、Ｍ２の計算のＭＡＣ計算入力データＤ１とする。（Ｓ１４）。例えば、乱数Ｒ１「０ｘＡ８２９ＢＤＦＣ」、命令コードＥＸ「０ｘＦ００００００１」の場合を例示する。この場合、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸを順列に結合して、ＭＡＣ計算入力データＤ１「０ｘＡ８２９ＢＤＦＣＦ００００００１」を生成する。または、ＭＡＣ計算部１０７、２０５は、命令コードＥＸと乱数Ｒ１とを順列に結合して、ＭＡＣ計算入力データＤ１「０ｘＦ００００００１Ａ８２９ＢＤＦＣ」を生成してもよい。ＭＡＣ計算入力データＤ１の結合方法は、認証装置１０のＭＡＣ計算部１０７と、被認証装置２０のＭＡＣ計算部２０５とで同一であれば、いずれの方法であってもよい。
【００６４】
結合によりＭＡＣ計算入力データＤ１を生成する場合、ＭＡＣ計算部１０７、２０５は、メモリ操作のみによって、ＭＡＣ計算入力データＤ１を生成することができる。したがって、ＭＡＣ計算部１０７、２０５は、論理演算や算術演算を行うことなく、簡易な処理にしたがってＭＡＣ計算入力データＤ１を生成することができる。
【００６５】
続いて、ＭＡＣ計算部１０７、２０５は、生成したＭＡＣ計算入力データＤ１と秘密ＩＤｃｍとを入力としてＭＡＣ値Ｍ１、Ｍ２を計算し（Ｓ１５）、取得する（Ｓ１６）。ＭＡＣ計算部１０７、２０５は、例えば、ＨＭＡＣや、ＡＥＳ等の方式に基づいて、ＭＡＣ値Ｍ１、Ｍ２を算出する。これにより、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸと秘密ＩＤｃｍとに基づいて、ＭＡＣ値Ｍ１、Ｍ２を生成することができる。
【００６６】
なお、ＭＡＣ計算入力データＤ１は、演算処理に基づいて生成されてもよい。続いて、ＭＡＣ計算部１０７、２０５が、演算処理に基づいてＭＡＣ計算入力データＤ１を生成する処理の流れを説明する。
【００６７】
図１０は、ＭＡＣ計算部１０７、２０５がソフトウェアによって実現される場合における処理の流れを説明する第２の図である。図９のフローチャート図と同様にして、ＭＡＣ計算部１０７、２０５は、命令コードＥＸ、乱数Ｒ１、秘密ＩＤｃｍを取得する（Ｓ１１〜Ｓ１３）。続いて、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを結合する（Ｓ１４）。
【００６８】
図１０のフローチャート図では、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを演算処理した値を、ＭＡＣ値Ｍ１、Ｍ２の計算のＭＡＣ計算入力データＤ２とする。演算処理は、ＸＯＲ演算、ＥＯＲ演算等の論理演算、加算等の算術演算のいずれの演算処理であってもよい。例えば、乱数Ｒ１「０ｘＡ８２９ＢＤＦＣ」、命令コードＥＸ「０ｘＦ００００００１」の場合を例示する。例えば、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとをＸＯＲ演算して、ＭＡＣ計算入力データＤ２「０ｘ５８２９ＢＤＦＤ」を生成する。または、例えば、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを加算して、ＭＡＣ計算入力データＤ２「０ｘ１９８２９ＢＤＦＤ」を生成する。ＭＡＣ計算入力データＤ２を生成する演算処理は、認証装置１０のＭＡＣ計算部１０７と、被認証装置２０のＭＡＣ計算部２０５とで同一であれば、いずれの処理であってもよい。
【００６９】
続いて、図９のフローチャート図と同様にして、続いて、ＭＡＣ計算部１０７、２０５は、生成したＭＡＣ計算入力データＤ２と秘密ＩＤｃｍとを入力として、ＭＡＣ値Ｍ１、Ｍ２を計算し（Ｓ１５）、取得する（Ｓ１６）。
【００７０】
図１０の方法によると、生成されるＭＡＣ計算入力データＤ２のサイズは、乱数Ｒ１または命令コードＥＸのサイズのうち、大きいサイズとなる。したがって、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを結合する場合に対して、ＭＡＣ計算入力データＤ２のサイズを小さく抑えることができ、使用するメモリ容量を抑えることができる。
【００７１】
図９、図１０によって、ＭＡＣ計算部１０７、２０５がソフトウェアにおって実現される場合を説明したが、ＭＡＣ計算部１０７、２０５は、ハードウェアによって実現されてもよい。続いて、ＭＡＣ計算部１０７、２０５をハードウェアにしたがって実現する場合における処理の流れを説明する。認証装置１０のＭＡＣ計算部１０７、２０５、及び、被認証装置２０のＭＡＣ計算部１０７、２０５の処理は同一である。
【００７２】
図１１は、ＭＡＣ計算部１０７、２０５がハードウェアによって実現される場合における処理の流れを説明する第１の図である。図１１は、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとを連結して、ＭＡＣ値Ｍ１、Ｍ２の計算のＭＡＣ計算入力データＤ１とする場合の構成である。
【００７３】
図１１のＭＡＣ計算部１０７、２０５は、例えば、命令コードレジスタ３０１、乱数レジスタ３０２、ＭＡＣ計算入力データレジスタ３０３、秘密ＩＤレジスタ３０４、ＭＡＣ演算器３０５を有する。各レジスタは、対応する値を保持する。また、ＭＡＣ演算器３０５は、例えば、ＨＭＡＣや、ＡＥＳ等の方式に基づいて、ＭＡＣ値を算出する。
【００７４】
初めに、ＭＡＣ計算部１０７、２０５は、ＲＡＭ１０６、２０４から、受信した（認証装置１０）、または、送信済み（被認証装置２０）の命令コードＥＸを取得すると（Ｓ２１）、取得した命令コードＥＸを命令コードレジスタ３０１に設定する（Ｓ２２）。続いて、ＭＡＣ計算部１０７、２０５は、ＲＡＭ１０６、２０４から、生成した（認証装置１０）、または、受信した（被認証装置２０）の乱数Ｒ１を取得し（Ｓ２３）、乱数レジスタ３０２に設定する（Ｓ２４）。乱数レジスタ３０２と命令コードレジスタ３０１とに値が設定されると、ＭＡＣ計算入力データレジスタ３０３に連結した値が設定される。
【００７５】
同様にして、ＭＡＣ計算部１０７、２０５は、秘密ＩＤｃｍを取得し（Ｓ２５）、秘密ＩＤｃｍの値または、インデックス番号をレジスタに設定する（Ｓ２６）。例えば、ＭＡＣ計算部１０７、２０５は、秘密ＩＤｃｍの値をそのまま秘密ＩＤレジスタ３０４に設定してもよいし、秘密ＩＤレジスタ３０４のインデックス番号を設定し、ＭＡＣ演算器３０５が、秘密ＩＤｃｍの格納領域からインデックス番号に基づいて取得してもよい。
【００７６】
続いて、ＭＡＣ演算器３０５は、計算を開始する（Ｓ２７）。ＭＡＣ演算器３０５は、秘密ＩＤレジスタ３０４の値とＭＡＣ計算入力データレジスタ３０３の値を入力として、ＭＡＣ値Ｍ１、Ｍ２を計算して出力する。そして、ＭＡＣ計算部１０７、２０５は、ＭＡＣ演算器３０５から出力されたＭＡＣ値Ｍ１、Ｍ２を取得する（Ｓ２８）。
【００７７】
図１１に示すように、ＭＡＣ値Ｍ１、Ｍ２の生成処理をハードウェアによって実現することにより、ＭＡＣ計算部１０７、２０５は、より高速にＭＡＣ値Ｍ１、Ｍ２を生成することができる。また、本実施の形態例における認証システムは、チャレンジ＆レスポンスの処理に新たな暗号化及び復号処理を追加する必要がないため、回路規模が抑えられる。
【００７８】
図１２は、ＭＡＣ計算部１０７、２０５がハードウェアによって実現される場合における処理の流れを説明する第２の図である。図１２は、乱数Ｒ１と命令コードＥＸとをＸＯＲ演算した値を、ＭＡＣ値Ｍ１、Ｍ２の計算のＭＡＣ計算入力データＤ２とする場合の構成である。ただし、図１２の例に限定されるものではなく、ＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとをＥＯＲ演算等の他の論理演算した値、または、加算等の算術演算した値を、ＭＡＣ計算入力データＤ２としてもよい。
【００７９】
図１２のＭＡＣ計算部１０７、２０５は、図１１のＭＡＣ計算部１０７、２０５に加えて、ＸＯＲ演算器３１０を有する。図１２のＭＡＣ計算部１０７、２０５は、図１１において説明したとおり、命令コードＥＸ、乱数Ｒ１、秘密ＩＤｃｍを対応するレジスタに設定する（Ｓ２１〜Ｓ２６）。乱数レジスタ３０２及び命令コードレジスタ３０１に値が設定されると、ＸＯＲ演算器３１０は、乱数レジスタ３０２及び命令コードレジスタ３０１の値を入力としてＸＯＲ演算し、結果の値をＭＡＣ計算入力データレジスタ３０３に設定する。
【００８０】
続いて、ＭＡＣ計算部１０７、２０５は、ＭＡＣ演算器３０５にしたがって、計算を開始する（Ｓ２７）。ＭＡＣ演算器３０５は、秘密ＩＤレジスタ３０４の値とＭＡＣ計算入力データレジスタ３０３の値とを入力として、ＭＡＣ値Ｍ１、Ｍ２を計算して出力する。そして、ＭＡＣ計算部１０７、２０５は、ＭＡＣ演算器３０５によって出力されたＭＡＣ値Ｍ１、Ｍ２を取得する（Ｓ２８）。
【００８１】
図１２のＭＡＣ計算部１０７、２０５は、乱数Ｒ１と命令コードＥＸとをＸＯＲ演算した値をＭＡＣ計算データレジスタ３０３に設定することにより、ＭＡＣ計算データレジスタ３０３のサイズを小さく抑えることができる。図１２の例において、ＭＡＣ計算データレジスタ３０３のサイズは、乱数Ｒ１、命令コードＥＸのいずれかサイズの大きい方のサイズとなる。レジスタのサイズが小さく抑えられることにより、回路規模が削減される。
【００８２】
続いて、本実施の形態例における認証処理の具体例を説明する。具体例では、認証装置１０がエアコン、被認証装置２０がリモートコントローラである場合を例示する。リモートコントローラは、エアコンを制御する命令コードＥＸをエアコンに送信する。具体例に示すように、本実施の形態例における認証装置１０及び被認証装置２０は、別の製品であってもよいし、同一の製品に含まれる別の部品製品であってもよい。
【００８３】
［具体例］
図１３は、本実施の形態例における認証システムの認証装置１０の処理の具体例を説明する図である。工程Ｓ３４〜Ｓ３６の処理は、図９、図１０のフローチャート図の処理、図１１、図１２のフローチャート図の処理に対応する。
【００８４】
リモートコントローラによるエアコンの制御内容は、例えば、「電源ＯＮ」「温度を１℃上げる」「温度を１℃下げる」等である。図１３に示すように、リモートコントローラは、例えば、エアコンの電源を投入する場合、命令コードＥＸ「０ｘ０００００００１」を発行する。また、リモートコントローラは、エアコンの温度を１度上げる場合、命令コードＥＸ「０ｘ０００００００２」を発行する。また、リモートコントローラは、不明な命令を示す命令コードＥＸ「０ｘＦＦＦＦＦＦＦＦ」を有する。
【００８５】
認証装置１０であるエアコンは、被認証装置２０であるリモートコントローラから、例えば、電源ＯＮを示す命令コードＥＸ「０ｘ０００００００１」を受信する（Ｓ３０）。命令コードＥＸ「０ｘ０００００００１」を受信すると（Ｓ３１のＹＥＳ）、認証装置１０の乱数生成部１０２は、乱数Ｒ１を生成する（Ｓ３２）。続いて、認証装置１０は、命令コードＥＸ「０ｘ０００００００１」の受信元の被認証装置２０に、乱数Ｒ１を送信する（Ｓ３３）。また、認証装置１０は、秘密ＩＤｃｍを秘密ＩＤ格納領域から取得し（Ｓ３４）、乱数Ｒ１、命令コードＥＸに基づいて、ＭＡＣ計算入力データを生成する（Ｓ３５）。次に、認証装置１０は、ＭＡＣ計算入力データと秘密ＩＤｃｍに基づいてＭＡＣ値Ｍ２を計算する（Ｓ３６）。
【００８６】
そして、認証装置１０は、被認証装置２０であるリモートコントローラから、リモートコントローラ側で生成したＭＡＣ値Ｍ１を受信し、自装置で生成したＭＡＣ値Ｍ２と比較する（Ｓ３８）。比較した結果、ＭＡＣ値Ｍ１、Ｍ２が一致する場合に（Ｓ３９のＹＥＳ）、認証装置１０であるエアコンは、電源ＯＮの制御を実行する（Ｓ４０）。一方、ＭＡＣ値Ｍ１、Ｍ２が一致しない場合（Ｓ３９のＮＯ）、認証装置１０であるエアコンは、電源ＯＮの制御を行わず、命令コードＥＸの受信処理（Ｓ３０）に戻る。
【００８７】
図１４は、本実施の形態例における認証システムの被認証装置２０の処理の具体例を説明する第１の図である。図１３で前述したとおり、被認証装置２０であるリモートコントローラは、例えば、「電源ＯＮ」「温度を１℃上げる」「温度を１℃下げる」等を示す命令コードＥＸを、認証装置１０に送信する。
【００８８】
被認証装置２０であるリモートコントローラは、操作ボタンが押されたか確認する（Ｓ５１）。操作ボタンが押下された場合（Ｓ５２のＹＥＳ）、被認証装置２０は、操作ボタン（この例では、電源ＯＮに対応する操作ボタン）に対応する命令コードＥＸ「０ｘ０００００００１」を命令格納領域から取得する（Ｓ５３）。そして、被認証装置２０は、命令コードＥＸを認証装置１０に送信する（Ｓ５４）。また、被認証装置２０は、送信した命令コードＥＸ「０ｘ０００００００１」をメモリ（ＲＡＭ）２０１に格納する（Ｓ５５）。
【００８９】
図１５は、本実施の形態例における認証システムの被認証装置２０の処理の具体例を説明する第２の図である。工程Ｓ６６〜Ｓ６８の処理は、図９、図１０のフローチャート図の処理、図１１、図１２のフローチャート図の処理に対応する。
【００９０】
被認証装置２０であるリモートコントローラは、図１４に説明したように命令コードＥＸ「０ｘ０００００００１」を認証装置１０であるエアコンに出力すると、認証装置１０から乱数Ｒ１を受信したか否かを確認する（Ｓ６１）。乱数Ｒ１を受信した場合（Ｓ６２のＹＥＳ）、被認証装置２０は、認証装置１０に送信済みの命令コードＥＸ「０ｘ０００００００１」を、メモリ（ＲＡＭ）２０１から取得する（Ｓ６３）。被認証装置２０は、メモリ（ＲＡＭ）２０１に送信済みの命令コードＥＸがある場合（Ｓ６４のＹＥＳ）、秘密ＩＤｃｍ格納領域から秘密ＩＤｃｍを取得する（Ｓ６６）。
【００９１】
次に、被認証装置２０は、乱数Ｒ１、命令コードＥＸ「０ｘ０００００００１」に基づいて、ＭＡＣ計算入力データを生成する（Ｓ６７）。また、被認証装置２０は、ＭＡＣ計算入力データと秘密ＩＤｃｍに基づいてＭＡＣ値Ｍ１を計算し（Ｓ６８）、認証装置１０に送信する（Ｓ６９）。そして、被認証装置２０は、乱数Ｒ１の受信確認処理（Ｓ６１）に戻る。
【００９２】
一方、メモリ（ＲＡＭ）２０１に送信済みの命令コードＥＸがない場合（Ｓ６４のＮＯ）、被認証装置２０は、命令コードＥＸに不明な命令コードＥＸ「０ｘＦＦＦＦＦＦＦＦ」を設定する（Ｓ６５）。送信済みの命令コードＥＸがない場合は（Ｓ６４のＮＯ）、例えば、命令コードＥＸを送信した被認証装置２０以外の被認証装置２０が、乱数Ｒ１を受信する場合である。即ち、メモリに送信済みの命令コードＥＸがない場合は（Ｓ６４のＮＯ）、正規品の被認証装置２０が、模造品の被認証装置３０から乱数Ｒ１を受信した場合に該当する。
【００９３】
命令コードＥＸに不明な命令コードＥＸ「０ｘＦＦＦＦＦＦＦＦ」を設定すると（Ｓ６５）、送信済みの命令コードＥＸを取得した場合と同様にして、被認証装置２０は、秘密ＩＤｃｍと、乱数Ｒ１と命令コードＥＸ「０ｘＦＦＦＦＦＦＦＦ」とに基づいてＭＡＣ値Ｍ１を計算する（Ｓ６６〜Ｓ６８）。そして、被認証装置２０は、生成したＭＡＣ値Ｍ１を認証装置１０に送信する。生成したＭＡＣ値Ｍ１は、不明な命令コードＥＸ「０ｘＦＦＦＦＦＦＦＦ」に基づくため、認証装置１０が生成するＭＡＣ値Ｍ２と一致しない。したがって、模造品の被認証装置３０は、認証に失敗する。
【００９４】
また、送信済みの命令コードＥＸがない場合（Ｓ６４のＮＯ）、被認証装置２０は、乱数Ｒ１の受信待ち処理（Ｓ６１）に戻ってもよい。乱数Ｒ１の受信待ち処理に戻る場合、被認証装置２０は、ＭＡＣ値Ｍ１を生成しない。したがって、認証装置１０は、被認証装置２０からＭＡＣ値Ｍ１を受信できないため、模造品の被認証装置３０は認証に失敗する。
【００９５】
以上のように、本実施の形態例における認証システムは、認証装置１０と、認証装置１０と通信可能な被認証装置２０とを有する。そして、被認証装置２０は、認証装置１０を制御する命令コードＥＸを生成し認証装置１０に送信する命令コード送信手段２０３と、認証装置１０から受信した乱数Ｒ１と、認証装置１０及び被認証装置２０が共通に有する秘密識別情報（秘密ＩＤ）ｃｍと、命令コードＥＸとに基づいて第１の比較値（ＭＡＣ値）Ｍ１を生成する第１比較値生成手段２０５と、を有する。また、認証装置１０は、乱数Ｒ１を生成する乱数生成手段１０２と、乱数Ｒ１と、秘密識別情報（秘密ＩＤ）ｃｍと、命令コードＥＸとに基づいて第２の比較値（ＭＡＣ値）Ｍ２を生成する第２比較値生成手段１０７と、命令コードＥＸを実行する制御手段と、を有する。
【００９６】
そして、認証システムにおいて、被認証装置２０の命令コード送信手段２０３が命令コードＥＸを認証装置１０に送信し、認証装置１０の乱数生成手段１０２が命令コードＥＸの受信に応答して乱数Ｒ１を生成し被認証装置２０に送信する。そして、被認証装置２０の第１比較値生成手段２０５が、乱数Ｒ１の受信に応答して第１の比較値Ｍ１を生成して認証装置１０に送信し、認証装置１０の第２比較値生成手段１０７が、命令コードＥＸの受信に応答して第２の比較値Ｍ２を生成する。そして、認証装置１０の制御手段が、被認証装置２０から受信した第１の比較値Ｍ１と、第２の比較値Ｍ２とが一致するときに命令コードＥＸを実行する。
【００９７】
本実施の形態例における認証システムは、秘密ＩＤｃｍに加えて、命令コードＥＸに基づいてＭＡＣ値Ｍ１を生成する。即ち、秘密ＩＤｃｍと命令コードＥＸとを両方有する被認証装置２０のみが認証に成功し、当該命令コードＥＸに基づいて認証装置１０を制御することができる。したがって、秘密ＩＤｃｍを有しない模造品の被認証装置３０は、認証装置１０が生成するＭＡＣ値Ｍ２と一致するＭＡＣ値Ｍ１を生成することができず、認証に失敗する。これにより、認証システムは、模造品の被認証装置３０による、認証装置１０の制御を回避することができる。
【００９８】
また、認証システムは、模造品の被認証装置３０による、正規品の被認証装置２０を利用した、正規品へのなりすましを防止することができる。命令コードＥＸは、認証装置１０を制御する主体の被認証装置２０のみが発行可能である。つまり、第１の被認証装置２０は、別の第２の被認証装置２０が認証装置１０に送信した命令コードＥＸを検知できない。したがって、仮に、模造品の被認証装置３０が正規品の被認証装置２０を利用してＭＡＣ値Ｍ１を生成させる場合でも、正規品の被認証装置２０は、模造品の被認証装置２０が認証装置１０に送信した命令コードＥＸを有しないことから、認証装置１０のＭＡＣ値Ｍ２と一致するＭＡＣ値Ｍ１を生成することができない。このため、模造品の被認証装置３０は、認証に失敗し、正規品になりすますことができない。
【００９９】
このように、本実施の形態例における認証システムは、認証装置１０が複数の正規品の被認証装置２０と接続し、認証装置１０が被認証装置２０より命令コードＥＸに基づいて操作される場合に、いずれかの被認証装置２０が正規品から模造品に置き換えられる場合であっても、模造品の被認証装置３０を検出することができる。そして、認証装置１０は、模造品と判定された被認証装置３０からの命令コードＥＸによる制御を回避することができる。これにより、模造品の被認証装置３０の使用が抑止される。
【０１００】
また、本実施の形態例における認証システムによると、ＭＡＣ値の判定処理のみに基づいて、模造品の被認証装置３０を検出することができる。即ち、本実施の形態例における認証システムは、チャレンジ＆レスポンスの形態の処理に、新たな暗号化及び復号処理を追加することなく、簡易に、なりすましを防止することができる。これにより、本実施の形態例における認証処理の実装が容易となり、コストも抑えられる。また、認証システムは、認証処理にかかる負荷の増大を抑えることができる。
【０１０１】
また、本実施の形態例における認証システムでは、命令コードＥＸの送信のタイミングに、認証処理を行う。したがって、命令コードＥＸの送信が行われない間は認証処理が行われないため、認証装置１０が多数の被認証装置２０と接続される場合でも、通信データが増大することが回避される。
【０１０２】
また、本実施の形態例における認証システムにおいて、被認証装置の第１比較値生成手段は、乱数と命令コードとを結合した入力値（ＭＡＣ計算入力データ）と、秘密識別情報とに基づいて第１の比較値を生成し、認証装置の第２比較値生成手段は、乱数と命令コードとを結合した入力値（ＭＡＣ計算入力データ）と、秘密識別情報とに基づいて第２の比較値を生成する。これにより、認証システムは、メモリ操作のみの簡易な処理にしたがって入力値を生成することができる。
【０１０３】
または、本実施の形態例における認証システムにおいて、被認証装置の第１比較値生成手段は、乱数と命令コードとを論理演算または算術演算にして生成した入力値（ＭＡＣ計算入力データ）と、秘密識別情報とに基づいて第１の比較値を生成し、認証装置の第２比較値生成手段は、乱数と命令コードとを論理演算または算術演算にして生成した入力値（ＭＡＣ計算入力データ）と、秘密識別情報とに基づいて第２の比較値を生成する。これにより、認証システムは、入力値のサイズを抑えることができ、使用するメモリ容量を抑えることができる。また、ＭＡＣ値生成処理がハードウェアによって実現される場合、回路規模が小さく抑えられる。
【０１０４】
また、本実施の形態例における認証システムにおいて、被認証装置の第１比較値生成手段及び認証装置の第２比較値生成手段はそれぞれ、ＨＭＡＣ方式、または、ＡＥＳ方式のいずれかに基づいて第１、第２の比較値を生成する。認証システムは、いずれのＭＡＣ値の生成方式に基づいても、模造品の被認証装置３０を検出できる。
【０１０５】
また、本実施の形態例における認証システムにおいて、被認証装置の第１比較値生成手段及び認証装置の第２比較値生成手段はそれぞれ、複数の秘密識別情報（秘密ＩＤ）に基づいて第１、第２の比較値を生成する。認証システムは、複数の秘密ＩＤを用いることによって、第３者によるＭＡＣ値の生成をより困難にすることができる。
【０１０６】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１０７】
（付記１）
認証装置と、前記認証装置と通信可能な被認証装置とを有し、
前記被認証装置は、
前記認証装置を制御する命令コードを生成し前記認証装置に送信する命令コード送信手段と、
前記認証装置から受信した乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成する第１比較値生成手段と、を有し、
前記認証装置は、
前記乱数を生成する乱数生成手段と、
前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する第２比較値生成手段と、
前記命令コードを実行する制御手段と、を有し、
前記被認証装置の前記命令コード送信手段が前記命令コードを前記認証装置に送信し、
前記認証装置の前記乱数生成手段が、前記命令コードの受信に応答して前記乱数を生成し前記被認証装置に送信し、
前記被認証装置の前記第１比較値生成手段が、前記乱数の受信に応答して前記第１の比較値を生成して前記認証装置に送信し、
前記認証装置の前記第２比較値生成手段が、前記命令コードの受信に応答して前記第２の比較値を生成し、
前記認証装置の前記制御手段が、前記被認証装置から受信した前記第１の比較値と、前記第２の比較値とが一致するときに前記命令コードを実行する認証システム。
【０１０８】
（付記２）
付記１において、
前記被認証装置の前記第１比較値生成手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成し、
前記認証装置の前記第２比較値生成手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証システム。
【０１０９】
（付記３）
付記１において、
前記被認証装置の前記第１比較値生成手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成し、
前記認証装置の前記第２比較値生成手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証システム。
【０１１０】
（付記４）
付記１乃至３のいずれかにおいて、
前記被認証装置の前記第１比較値生成手段及び前記認証装置の前記第２比較値生成手段はそれぞれ、ＨＭＡＣ方式、または、ＡＥＳ方式のいずれかに基づいて前記第１、第２の比較値を生成する認証システム。
【０１１１】
（付記５）
付記１乃至４のいずれかにおいて、
前記被認証装置の前記第１比較値生成手段及び前記認証装置の前記第２比較値生成手段はそれぞれ、複数の前記秘密識別情報に基づいて前記第１、第２の比較値を生成する認証システム。
【０１１２】
（付記６）
認証装置と、前記認証装置と通信可能な被認証装置とを有する認証システムにおける認証方法であって、
前記被認証装置が、前記認証装置を制御する命令コードを前記認証装置に送信する工程と、
前記認証装置が、前記命令コードの受信に応答して乱数を生成し、前記被認証装置に送信する工程と、
前記被認証装置が、前記乱数の受信に応答して、前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成し、前記認証装置に送信する工程と、
前記認証装置が、前記命令コードの受信に応答して、前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する工程と、
前記認証装置が、前記被認証装置から受信した前記第１の比較値と、前記第２の比較値とが一致するときに前記命令コードを実行する工程と、を有する認証方法。
【０１１３】
（付記７）
被認証装置と通信可能に接続され、前記被認証装置の認証処理を行う認証装置であって、
前記被認証装置からの前記認証装置を制御する命令コードの受信に応答して、乱数を生成し、前記被認証装置に送信する乱数送信手段と、
前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第２の比較値を生成する比較値生成手段と、
前記認証装置が送信した前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて前記被認証装置が生成した第１の比較値の前記被認証装置からの受信に応答して、前記第１の比較値と前記第２の比較値とを比較し、一致するときに前記命令コードを実行する制御手段と、を有する認証装置。
【０１１４】
（付記８）
付記７において、
前記認証装置の前記比較値生成手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証装置。
【０１１５】
（付記９）
付記７において、
前記認証装置の前記比較値生成手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第２の比較値を生成する認証装置。
【０１１６】
（付記１０）
付記７乃至９のいずれかにおいて、
前記認証装置の前記比較値生成手段は、ＨＭＡＣ方式、または、ＡＥＳ方式のいずれかに基づいて前記第２の比較値を生成する認証装置。
【０１１７】
（付記１１）
付記７乃至１０のいずれかにおいて、
前記認証装置の前記比較値生成手段は、複数の前記秘密識別情報に基づいて前記第２の比較値を生成する認証装置。
【０１１８】
（付記１２）
認証装置と通信可能に接続され、前記認証装置によって認証処理が行われる被認証装置であって、
前記認証装置を制御する命令コードを前記認証装置に送信する命令コード送信手段と、
前記認証装置からの乱数の受信に応答して、前記乱数と、前記認証装置及び被認証装置が共通に有する秘密識別情報と、前記命令コードとに基づいて第１の比較値を生成し、前記認証装置に送信する比較値送信手段と、を有し、
前記第１の比較値は、前記認証装置において、前記乱数と、前記秘密識別情報と、前記命令コードとに基づいて前記認証装置が生成する第２の比較値と比較され、前記第１の比較値と前記第２の比較値とが一致するときに前記命令コードが実行される被認証装置。
【０１１９】
（付記１３）
付記１２において、
前記被認証装置の前記比較値送信手段は、前記乱数と前記命令コードとを結合した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成する被認証装置。
【０１２０】
（付記１４）
付記１２において、
前記被認証装置の前記比較値送信手段は、前記乱数と前記命令コードとを論理演算または算術演算にして生成した入力値と、前記秘密識別情報とに基づいて前記第１の比較値を生成する被認証装置。
【０１２１】
（付記１５）
付記１２乃至１４のいずれかにおいて、
前記被認証装置の前記比較値送信手段は、ＨＭＡＣ方式、または、ＡＥＳ方式のいずれかに基づいて前記第１の比較値を生成する被認証装置。
【０１２２】
（付記１６）
付記１２乃至１５のいずれかにおいて、
前記被認証装置の前記比較値送信手段は、複数の前記秘密識別情報に基づいて前記第１の比較値を生成する被認証装置。
【符号の説明】
【０１２３】
１０：認証装置、１０１：ＲＯＭ、１０２：乱数生成部、１０４：ＣＰＵ、１０５：通信部、１０６：ＲＡＭ、１０７：ＭＡＣ計算部、ｃｍ：秘密ＩＤ、Ｒ１：乱数（チャレンジ値）、Ｍ２：認証装置の生成するＭＡＣ値、
２０：被認証装置、２０１：ＲＯＭ、ＥＸ：命令コード、２０２：ＣＰＵ、２０３：通信部、２０４：ＲＡＭ、２０５：ＭＡＣ計算部、Ｍ１：被認証装置が生成するＭＡＣ値
【図１】
2015122620.tif 000003
【図２】
2015122620.tif 000004
【図３】
2015122620.tif 000005
【図４】
2015122620.tif 000006
【図５】
2015122620.tif 000007
【図６】
2015122620.tif 000008
【図７】
2015122620.tif 000009
【図８】
2015122620.tif 000010
【図９】
2015122620.tif 000011
【図１０】
2015122620.tif 000012
【図１１】
2015122620.tif 000013
【図１２】
2015122620.tif 000014
【図１３】
2015122620.tif 000015
【図１４】
2015122620.tif 000016
【図１５】
2015122620.tif 000017