(57)【要約】【課題】依頼計算において外部ノードとサーバ装置が結託して署名検証処理を欺く結託攻撃を防止する。【解決手段】センター装置からクライアント装置に送信された電子署名付きメッセージの署名検証の一部の計算処理を、クライアント装置からサーバ装置に依頼し、サーバ装置での計算結果に基づいてクライアント装置において署名の正当性を判定する電子署名検証方法において、センター装置からクライアント装置に電子署名付きメッセージを送信する際に暗号化を施してから送信し、クライアント装置では受信したメッセージを復号してから、サーバ装置に対して計算処理を依頼する。上記の暗号化方式は共通鍵暗号方式を採用することが好ましい。【選択図】図３
2014225746.tif 000002
【特許請求の範囲】
【請求項１】
センター装置からクライアント装置に送信された電子署名付きメッセージの署名検証の一部の計算処理を、クライアント装置からサーバ装置に依頼し、サーバ装置での計算結果に基づいてクライアント装置において署名の正当性を判定する電子署名検証方法において、
前記センター装置が、メッセージに電子署名を付与する署名付与ステップと、
前記センター装置が、前記電子署名付きメッセージを暗号化する暗号化ステップと、
前記センター装置が、暗号化された電子署名付きメッセージを前記クライアント装置に送信する送信ステップと、
前記クライアント装置が、前記センター装置から暗号化された電子署名付きメッセージを受信する受信ステップと、
前記クライアント装置が、受信した電子署名付きメッセージを復号する復号ステップと、
前記クライアント装置が、復号された電子署名付きメッセージに対して電子署名検証のための前処理を実行した後、電子署名検証のための一部の計算処理をサーバ装置に依頼し、前記サーバ装置から得られる計算結果に基づいて電子署名の正当性を判定する検証ステップと、
を含む、電子署名検証方法。
【請求項２】
前記センター装置と前記クライアント装置との間の暗号化方式は、共通鍵暗号方式である、
請求項１に記載の電子署名検証方法。
【請求項３】
電子署名方式は、楕円曲線ＤＳＡである、
請求項１または２に記載の電子署名検証方法。
【請求項４】
ｍをメッセージ、
Ｇをベースポイント、
ｄを前記センター装置の秘密鍵、
Ｑを前記センター装置の公開鍵、
ｎをＧの位数として、
前記センター装置が行う署名付与ステップでは、
（１）ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）整数ｋ（０＜ｋ＜ｎ）をランダムに選択し、ｋＧ＝（ｘ，ｙ）を計算し、
（３）ｓ＝ｋ−１（ｅ＋ｄｘ）を計算し、
（４）署名文（ｍ，ｘ，ｓ）を生成し、
前記クライアント装置が行う検証ステップでは、
（１）前記復号ステップで得られた署名文（ｍ，ｘ，ｓ）に基づいて、ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）ｕ１＝ｓ−１ｅ（ｍｏｄ  ｎ）とｕ２＝ｓ−１ｘ（ｍｏｄ  ｎ）を計算し、
（３）ｕ１Ｇ＋ｕ２Ｑ＝（ｖ，ｗ）の計算を前記サーバ装置に依頼し、
（４）ｖ≡ｘ（ｍｏｄ  ｎ）ならば署名が正当であると判定する、
請求項３に記載の電子署名検証方法。
【請求項５】
センター装置からクライアント装置に送信された電子署名付きメッセージの署名検証の一部の計算処理を、クライアント装置からサーバ装置に依頼し、サーバ装置での計算結果に基づいてクライアント装置において署名の正当性を判定する電子署名検証システムであって、
前記センター装置は、
メッセージに電子署名を付与する署名付与手段と、
電子署名付きメッセージを暗号化する暗号化手段と、
暗号化された電子署名付きメッセージを前記クライアント装置に送信する送信手段と、
を備え、
前記クライアント装置は、
前記センター装置から、暗号化された電子署名付きメッセージを受信する受信手段と、
受信した電子署名付きメッセージを復号する復号手段と、
復号された電子署名付きメッセージに対して電子署名検証のための前処理を実行した後、電子署名検証のための一部の計算処理を前記サーバ装置に依頼し、前記サーバ装置から得られる計算結果に基づいて電子署名の正当性を判定する検証手段と、
を備える、
電子署名検証システム。
【請求項６】
前記センター装置と前記クライアント装置との間の暗号化方式は、共通鍵暗号方式である、
請求項５に記載の電子署名検証システム。
【請求項７】
電子署名方式は、楕円曲線ＤＳＡである、
請求項５または６に記載の電子署名検証システム。
【請求項８】
ｍをメッセージ、
Ｇをベースポイント、
ｄを前記センター装置の秘密鍵、
Ｑを前記センター装置の公開鍵、
ｎをＧの位数として、
前記センター装置の電子署名手段は、
（１）ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）整数ｋ（０＜ｋ＜ｎ）をランダムに選択し、ｋＧ＝（ｘ，ｙ）を計算し、
（３）ｓ＝ｋ−１（ｅ＋ｄｘ）を計算し、
（４）署名文（ｍ，ｘ，ｓ）を生成し、
前記クライアント装置の検証手段は、
（１）前記復号ステップで得られた署名文（ｍ，ｘ，ｓ）に基づいて、ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）ｕ１＝ｓ−１ｅ（ｍｏｄ  ｎ）とｕ２＝ｓ−１ｘ（ｍｏｄ  ｎ）を計算し、
（３）ｕ１Ｇ＋ｕ２Ｑ＝（ｖ，ｗ）の計算を前記サーバ装置に依頼し、
（４）ｖ≡ｘ（ｍｏｄ  ｎ）ならば署名が正当であると判定する、
請求項７に記載の電子署名検証システム。
【請求項９】
前記クライアント装置と前記サーバ装置は、１つの車両内に搭載され、車内ネットワークで接続されたＥＣＵであり、
前記クライアント装置と前記センター装置とは、無線通信により接続される、
請求項５〜８のいずれかに記載の電子署名検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名の検証技術に関し、特に、電子署名を依頼計算により検証する技術に関する。
【背景技術】
【０００２】
通信技術において電子署名を用いることは、なりすましや改ざんによる攻撃を防止するために有効である。例えば、自動車内部に搭載されたＥＣＵ（Electronic Control Unit:
電子制御装置）が外部装置とメッセージ通信をしてサービスを提供する場合に、電子署
名によってセキュリティを確保することが有効である。
【０００３】
ただし、必要な計算リソースやインターオペラビリティの観点から、全ての機器に電子署名技術に必要な機能を全て持たせることは最適とは限らない。例えば、車両システムであれば、ＥＣＵは比較的演算能力が低く、また、取り替える性質のものではない。したがって、車内のＥＣＵで署名検証を行うことは必ずしも最適ではない。
【０００４】
そこで、電子署名の検証処理の一部を、演算能力の高い他の装置に代行させる技術が研究・開発されている（特許文献１，２など）。このように必ずしも信頼できるとは限らない装置を用いて暗号処理を効率化する技術は、依頼計算（Implicit Asking あるいは Server-Aided Computation）と呼ばれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１２５４６８号公報
【特許文献２】特開平３−７３９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、署名の検証者とデータ本体の活用者が異なるシステムにおいて、ネットワーク経由で署名付きデータ通信を行っている。この場合、偽送信者が送信する偽データに対して、署名検証者が偽送信者と連携して悪意を持って検証結果を偽証することで、誤ったデータを活用者に読み込ませることが可能となる。すなわち、特定のメッセージに関する依頼計算の「正しい」結果を偽送信者が署名検証者に通知しておき、検証者がこのメッセージに関する計算を依頼された場合には通知された「正しい」結果を活用者に返せば、誤ったデータを読み込ませることができる。
【０００７】
特許文献２では、依頼計算によって安全に署名検証処理を実現している。この技術では、入力データの処理に秘密情報が必要な計算において、秘密情報を漏らさないために、主装置（計算を依頼するノード）において、依頼計算の前処理として変換演算を行い、計算結果取得後の後処理として逆変換演算を行う必要がある。この手法では、情報を秘匿できるが、そのためのオーバーヘッドが大きくなる。
【０００８】
本発明は上記の問題点を考慮してなされたものであり、本発明の目的は、依頼計算処理においてメッセージ送信者と計算ノードとが結託して特定のメッセージに対する署名検証を通過させることを、簡易な方法で防止する技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる電子署名検証方法は、センター装置からクライアント装置
に送信された電子署名付きメッセージの署名検証の一部の計算処理を、クライアント装置からサーバ装置に依頼し、サーバ装置での計算結果に基づいてクライアント装置において署名の正当性を判定する電子署名検証方法であって、センター装置からクライアント装置に電子署名付きメッセージを送信する際に、暗号化処理を施して送信することを特徴とする。
【００１０】
すなわち、本発明の第１の態様にかかる電子署名検証方法は、
センター装置が、メッセージに電子署名を付与する署名付与ステップと、
センター装置が、前記電子署名付きメッセージを暗号化する暗号化ステップと、
センター装置が、暗号化された電子署名付きメッセージを前記クライアント装置に送信する送信ステップと、
クライアント装置が、前記センター装置から暗号化された電子署名付きメッセージを受信する受信ステップと、
クライアント装置が、受信した電子署名付きメッセージを復号する復号ステップと、
クライアント装置が、復号された電子署名付きメッセージに対して電子署名検証のための前処理を実行した後、電子署名検証のための一部の計算処理をサーバ装置に依頼し、前記サーバ装置から得られる計算結果に基づいて電子署名の正当性を判定する検証ステップと、
を含む。
【００１１】
このように本発明においては、センター装置から受信した電子署名付きメッセージを、クライアント装置において復号し、復号結果に基づいてサーバ装置へ計算を依頼している。正規のセンター装置以外のエンティティ（偽のセンター装置）は、正規のセンター装置とクライアント装置との間の暗号化処理の鍵を知らないため、平文のメッセージを送るか、適当な鍵を用いて暗号化したメッセージを送ることになる。いずれにしても、クライアント装置は正規の鍵を用いて復号を行うため、偽のセンター装置から送信されたメッセージは復号された時点で意味をなさないデータとなる。したがって、サーバ装置は依頼された計算内容から知り得る情報から、その計算が偽のセンター装置から送信されたメッセージに関わる処理であるかどうかを判断できない。したがって、サーバ装置は、結託している偽のセンター装置からの電子署名付きメッセージの検証を通過させることはできない。
【００１２】
本発明において、センター装置とクライアント装置との間の暗号化方式は、共通鍵暗号方式を採用することが好ましい。共通鍵暗号方式は演算量が比較的少ないため、クライアント装置の演算能力が低い場合であっても迅速な処理が可能となる。
【００１３】
本発明において、電子署名方式として楕円曲線ＤＳＡ（ＥＣＤＳＡ：Elliptic Curve Digital Signature Algorithm）を採用することが好ましい。より具体的には、
ｍをメッセージ、
Ｇをベースポイント、
ｄを前記センター装置の秘密鍵、
Ｑを前記センター装置の公開鍵、
ｎをＧの位数として、
前記センター装置が行う署名付与ステップでは、
（１）ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）整数ｋ（０＜ｋ＜ｎ）をランダムに選択し、ｋＧ＝（ｘ，ｙ）を計算し、
（３）ｓ＝ｋ−１（ｅ＋ｄｘ）を計算し、
（４）署名文（ｍ，ｘ，ｓ）を生成し、
前記クライアント装置が行う検証ステップでは、
（１）前記復号ステップで得られた署名文（ｍ，ｘ，ｓ）に基づいて、ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）ｕ１＝ｓ−１ｅ（ｍｏｄ  ｎ）とｕ２＝ｓ−１ｘ（ｍｏｄ  ｎ）を計算し、
（３）ｕ１Ｇ＋ｕ２Ｑ＝（ｖ，ｗ）の計算を前記サーバ装置に依頼し、
（４）ｖ≡ｘ（ｍｏｄ  ｎ）ならば署名が正当であると判定する、
ことが好ましい。
【００１４】
このようにすることで、サーバ装置が依頼された計算から秘密情報を知ることができず、したがって、秘密情報を外部に漏洩させることもできない。
【００１５】
本発明の第２の態様は、上記の方法を実装した電子署名検証システムである。具体的には、本発明の第２の態様にかかる電子署名検証システムは、
センター装置からクライアント装置に送信された電子署名付きメッセージの署名検証の一部の計算処理を、クライアント装置からサーバ装置に依頼し、サーバ装置での計算結果に基づいてクライアント装置において署名の正当性を判定する電子署名検証システムであって、
前記センター装置は、
メッセージに電子署名を付与する署名付与手段と、
電子署名付きメッセージを暗号化する暗号化手段と、
暗号化された電子署名付きメッセージを前記クライアント装置に送信する送信手段と、
を備え、
前記クライアント装置は、
前記センター装置から、暗号化された電子署名付きメッセージを受信する受信手段と、
受信した電子署名付きメッセージを復号する復号手段と、
復号された電子署名付きメッセージに対して電子署名検証のための前処理を実行した後、電子署名検証のための一部の計算処理を前記サーバ装置に依頼し、前記サーバ装置から得られる計算結果に基づいて電子署名の正当性を判定する検証手段と、
を備える。
【００１６】
本発明において、前記クライアント装置と前記サーバ装置は、１つの車両内に搭載され、車内ネットワークで接続されたＥＣＵであり、
前記クライアント装置と前記センター装置とは、無線通信により接続される、
ことも好ましい。
【００１７】
本発明は、上記処理の少なくとも一部を含む電子署名検証方法として捉えることができる。また、本発明は、これらの処理を行う電子署名検証システムとして捉えることもできる。また、本発明は、これらの処理をコンピュータに行わせるためのコンピュータプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００１８】
本発明によれば、依頼計算処理においてメッセージ送信者と計算ノードとが結託して特定のメッセージに対する署名検証を通過させることを、簡易な方法で防止することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態にかかる電子署名検証システムの概要を示す図。
【図２】本実施形態にかかる電子署名検証システムの機能構成を示すブロック図。
【図３】本実施形態にかかる電子署名検証処理の流れを示すフロー図。
【発明を実施するための形態】
【００２０】
＜システム概要＞
以下、結託攻撃に対応した依頼計算による電子署名検証方式を、車両システムに適用した実施形態について説明する。図１は、本実施形態にかかるシステムの構成を示す図である。本システムは、車両１００とセンター装置２００とから構成される。センター装置２００から車両１００に対して、電子署名付きのメッセージが送信され、車両１００において電子署名の検証に成功した場合に、そのメッセージを受け付ける。
【００２１】
車両１００は、より詳細には、クライアントＥＣＵ１１０とサーバＥＣＵ１２０とを含む。クライアントＥＣＵ１１０が、センター装置２００からのメッセージを利用するＥＣＵである。ここで、クライアントＥＣＵ１１０は、信頼される演算装置であるが、演算能力が低くリアルタイムに署名検証動作を行うことができないことを想定する。例えば、クライアントＥＣＵ１１０は、車両１００が工場出荷時から備える通信機能付きのＥＣＵである。一方、サーバＥＣＵ１２０は、暗号処理用コプロセッサなどを搭載し演算能力が十分に高いが、必ずしも信頼できないＥＣＵであることを想定する。例えば、サーバＥＣＵ１２０は、車両１００の稼働期間内において後発的に追加した通信機能付きのＥＣＵである。
【００２２】
＜詳細構成＞
図２は、本実施形態にかかるシステムの機能構成を示すブロック図である。
【００２３】
クライアントＥＣＵ１１０は、演算能力がそれほど高くない一般的なＥＣＵである。ここでは、クライアントＥＣＵ１１０は、署名検証処理に伴い必要となる処理のうち、高々数回の多倍長四則演算と剰余演算が行えるものとする。クライアントＥＣＵ１１０は、共通鍵暗号方式の処理とハッシュ関数の処理については、その全てを十分な速度で行えるだけの演算能力を持つことが好ましい。
【００２４】
クライアントＥＣＵ１１０は、その機能部として、受信部１１１、暗号処理部１１２、署名検証部１１３を有する。署名検証部１１３は、前処理部１１４、計算依頼部１１５、判定部１１６を含む。クライアントＥＣＵ１１０は、マイクロプロセッサ、メモリ、通信インタフェースなどを備え、メモリに格納されたプログラムをマイクロプロセッサが実行することにより、上記の機能が実現される。
【００２５】
受信部１１１は、センター装置２００から送信されるメッセージを受信する。受信部１１１は、例えば、無線通信機であり、センター装置２００と直接に無線通信を行う。受信部１１１は、車両内の他の無線通信機を介してセンター装置２００と通信を行うように構成してもよい。
【００２６】
暗号処理部１１２は、センター装置２００から送信される暗号化メッセージの復号を行う処理部である。暗号処理部１１２は、受信部１１１がセンター装置２２０から受信したメッセージを入力として受け取り、これに対して復号処理を施す。本実施形態では、センター装置２００とクライアントＥＣＵ１００との間の暗号化方式として、共通鍵暗号方式を採用する。具体的には、ＡＥＳやトリプルＤＥＳなどを採用する。暗号処理部１１２には、センター装置２００との間で共有される共通鍵が格納される。
【００２７】
署名検証部１１３は、センター装置２００から送信される電子署名付きメッセージの署名検証を行う機能部である。署名検証部１１３は、暗号処理部１１２が復号したメッセージを入力として受け付け、そのメッセージに付与されている電子署名の検証を行う。本実施形態では、電子署名方式として、楕円曲線ＤＳＡ（ＥＣＤＳＡ：Elliptic Curve Digital Signature Algorithm）を採用する。ＥＣＤＳＡは、楕円曲線上の点Ｐと自然数ｄから
スカラー倍点Ｑ＝ｄ×Ｐを計算することは簡単であるが、逆に、点Ｐ，Ｑ＝ｄ×Ｐから自然数ｄを求めることは困難であることを利用した電子署名方式である。ＥＣＤＳＡは既知であるため、その詳細な説明はここでは省略する。署名検証部１１３は、センター装置２００の公開鍵や楕円曲線のパラメータなどを保持している。
【００２８】
署名検証部１１３は、電子署名検証に必要な処理を全て行うのではなく、一部の処理はサーバＥＣＵ１２０に依頼する。そのために、署名検証部１１３は、前処理部１１４、計算依頼部１１５、判定部１１６を有する。前処理部１１４は、安全にサーバＥＣＵ１２０に計算を依頼するために必要な前処理を行う機能部である。計算依頼部１１５は、サーバＥＣＵ１２０に対して必要なパラメータを渡して、計算の依頼および計算結果の取得を行う機能部である。なお、本実施形態においては、クライアントＥＣＵ１１０とサーバＥＣＵ１２０はＣＡＮ等の車内ネットワークを介して通信可能である。判定部１１６は、サーバＥＣＵ１２０の計算結果に基づいて、センター装置２００から送信された電子署名付きメッセージの署名が正当であるか否かの判定を行う機能部である。前処理部１１４、計算依頼部１１５、判定部１１６が行う処理の詳細については、後ほど詳しく説明する。
【００２９】
サーバＥＣＵ１２０は、暗号処理用コプロセッサなどを有し、十分な演算能力を有するＥＣＵである。サーバＥＣＵ１２０は、電子署名処理に関わる全ての演算を許容時間内に行えるものとする。サーバＥＣＵ１２０は、車内ネットワークを介してクライアントＥＣＵ１１０から計算の依頼を受け付け、計算処理部１２１にて依頼された計算を実行して、計算結果をクライアントＥＣＵ１１０へ返す。サーバＥＣＵ１２０は、マイクロプロセッサ、暗号処理プロセッサ、メモリ、通信インタフェースなどを備え、メモリに格納されたプログラムをマイクロプロセッサが実行することにより、上記の機能が実現される。
【００３０】
センター装置２００は、計算機能および通信機能を有する任意の演算装置（コンピュータ）である。センター装置２００は、車両１００のクライアントＥＣＵ１１０にメッセージを送信する。この際、センター装置２００は、メッセージに電子署名を付与するとともに、暗号化処理を施してからクライアントＥＣＵ１１０へ送信する。
【００３１】
センター装置２００は、その機能部として、署名付与部２０１、暗号処理部２０２、送信部２０３を有する。クライアントＥＣＵ１１０は、マイクロプロセッサ、メモリ、通信インタフェースなどを備え、メモリに格納されたプログラムをマイクロプロセッサが実行することにより、上記の機能が実現される。
【００３２】
署名付与部２０１は、メッセージに対して電子署名を付与する機能部である。上述のように、本実施形態ではＥＣＤＳＡ方式により電子署名を付与する。署名付与部２０１は、秘密鍵や楕円曲線のパラメータなどを保持している。
【００３３】
暗号処理部２０２は、署名付与部２０１によって電子署名が付与されたメッセージに対して、共通鍵暗号方式による暗号化を施す機能部である。暗号処理部２０２には、クライアントＥＣＵ１１０との間で共有される共通鍵が格納される。
【００３４】
送信部２０３は、暗号処理部２０２によって暗号化された電子署名付きメッセージをクライアントＥＣＵ１１０へ送信する機能部である。送信部２０３は、クライアントＥＣＵ１１０に対して直接無線通信により送信してもよいし、他の装置やネットワークを介して送信してもよい。
【００３５】
＜処理詳細＞
以下、本実施形態における電子署名の付与および検証処理について、図３を参照しながら詳細に説明する。図３は、本実施形態における電子署名の付与および検証処理の流れを
示すフロー図である。
【００３６】
まず、ステップＳ１における、センター装置２００での電子署名付与処理について説明する。センター装置２００の署名付与部２０１は、ＥＣＤＳＡ方式により、メッセージに対して電子署名を付与する。より具体的には、ｍをメッセージ、Ｇをベースポイント（楕円曲線上の点）、ｄを秘密鍵、ｍをＧの位数として、以下の処理を行う。
（１）ｍのハッシュ値を計算し、その値を整数値ｅに変換、
（２）整数ｋ（０＜ｋ＜ｎ）をランダムに選択し、ｋＧ＝（ｘ，ｙ）を計算、
（３）ｓ＝ｋ−１（ｅ＋ｄｘ）  ｍｏｄ  ｎを計算、
（４）署名文（ｍ，ｘ，ｓ）を生成。
【００３７】
次に、ステップＳ２において、センター装置２００の暗号処理部２０２は、生成された署名文（署名付きメッセージ）に対して、共通鍵暗号方式による暗号処理を施す。そして、ステップＳ３において、送信部２０３が、暗号化された署名文をクライアントＥＣＵ１１０に対して送信する。
【００３８】
クライアントＥＣＵ１１０の受信部１１１は、ステップＳ４において、センター装置２００から送信される暗号化された署名文を受信する。ステップＳ５において、暗号処理部１１２がセンター装置２００から受信した暗号文を復号し、署名文（平文）を取得する。
【００３９】
ステップＳ６において、前処理部１１４は、電子署名検証のための前処理を実施する。具体的には、
（１）ステップＳ５で得られた署名文（ｍ，ｘ，ｓ）に基づいて、ｍのハッシュ値を計算し、その値を整数値ｅに変換し、
（２）ｕ１＝ｓ−１ｅ（ｍｏｄ  ｎ）とｕ２＝ｓ−１ｘ（ｍｏｄ  ｎ）を計算する。
【００４０】
ステップＳ７において、計算依頼部１１５は、上記前処理の結果に基づいて、サーバＥＣＵ１２０に対して、計算の依頼を行う。具体的には、
（３）ｕ１，ｕ２，Ｇ，ＱをサーバＥＣＵ１２０に渡して、ｕ１Ｇ＋ｕ２Ｑ＝（ｖ，ｗ）の計算を前記サーバ装置に依頼する。
なお、Ｑは、秘密鍵ｄに対応する公開鍵（＝ｄＧ）である。
【００４１】
ステップＳ８において、サーバＥＣＵ１２０の計算処理部１２１は依頼された計算を実行し、計算結果をクライアントＥＣＵ１１０へ返す。
【００４２】
ステップＳ９において、判定部１１６は、サーバＥＣＵ１２０での計算結果に基づいて電子署名が正しいか否かを判定する。具体的には、
（４）ｖ≡ｘ（ｍｏｄ  ｎ）ならば署名が正当であると判定する。
クライアントＥＣＵ１１０は、署名が正当であると判定されたメッセージを受け入れ、正当ではないと判定されたメッセージは拒絶する。
【００４３】
＜本実施形態の効果＞
本実施形態によれば、悪意のあるサーバＥＣＵと外部ノード（偽センター）とが結託して特定のメッセージをクライアントＥＣＵに受理させることを防げる。結託攻撃を行うためには、サーバＥＣＵがクライアントＥＣＵから計算の依頼をされたときに、その計算が偽センターからのメッセージに関するものであることを認識できる必要がある。しかしながら、偽センターがクライアントＥＣＵに送信した署名付きメッセージに対してステップＳ４において共通鍵による復号処理が施されるので、偽センターから送られたメッセージは復号された時点で意味をなさないデータとなる。したがって、復号処理後の署名付きメッセージについての計算依頼が偽センターからのメッセージに対応するものであることを
サーバＥＣＵは知り得ない。また、仮に何らかの方法で依頼された計算が偽センターからのメッセージに関連するものであることが分かったとしても、復号処理によりメッセージ内容が偽センターに予測不能な内容に変換されているので、サーバＥＣＵはこのメッセージの署名検証を通過させるために返すべき計算結果を知り得ない。つまり、悪意のあるサーバＥＣＵと偽センターとが結託してクライアントＥＣＵを欺くことを防止できる。
【００４４】
本実施形態では、上記のような結託攻撃を防止するためにクライアントＥＣＵで行う処理を最小限とすることができる。特許文献２に記載の方法では、計算依頼の前に変換処理を行い、計算結果取得後に逆変換処理を行っており、この変換および逆変換処理は複雑なものであるが、本実施形態の方法では複雑な後処理が不要となる。クライアントＥＣＵでは、サーバＥＣＵへの計算依頼の前に前処理（ステップＳ６）として一部の剰余演算を行う必要はあるものの、計算結果を取得した後に特に重い処理を行う必要がなく、単に計算結果が所定の値と一致するか否かのみを判定すればよい。したがって、高速に署名検証を終了させることができる。
【００４５】
また、本実施形態では、電子署名方式として、ＥＣＤＳＡ方式を採用しているので、少ない計算量で強い暗号強度を確保できる。ＲＳＡ方式と同じ暗号強度を実現しようとした場合、ＥＣＤＳＡ方式ではより短い鍵長で対処可能である。また、演算の際に必要となるメモリ量もＲＳＡと比較して少なくて済む。
【００４６】
また、本実施形態では、サーバＥＣＵは計算を依頼される際に渡されるパラメータからメッセージ内容やその他の秘密情報を得ることができない。したがって、サーバＥＣＵが秘密情報を奪取し、外部ノードに漏洩するという危険が存在しない。
【００４７】
＜変形例＞
上記の実施形態では、電子署名方式としてＥＣＤＳＡ方式を採用したが、その他の電子署名方式を採用しても、サーバＥＣＵと偽センターによる結託攻撃を防止することができる。すなわち、センター装置とクライアントＥＣＵとの間の通信に対して暗号化処理を施し、クライアントＥＣＵにて復号処理後のメッセージに基づいて依頼計算を行うことで、サーバＥＣＵは依頼された計算がどのメッセージに関するものであるか判別できなくなるため、結託攻撃を防止できる。したがって、電子署名方式は、ＥＣＤＳＡに限定されず、ＤＳＡ、ＲＳＡなど任意の電子署名方式を採用可能である。
【００４８】
上記の実施形態では、サーバＥＣＵの計算結果を検証する機構を採用していないため、サーバＥＣＵにおける計算処理に関する不正をチェックすることはできない。そこで、予め計算結果が分かっている処理をサーバＥＣＵに依頼するなどして、サーバＥＣＵが正しく計算処理を行っているかチェックする機構を設けることも好ましい。
【００４９】
上記の実施形態では、車両内に搭載されたシステムと外部のセンター装置との間のメッセージ通信に、本発明にかかる電子署名検証方式を適用しているが、本発明は車両システム以外の任意のシステムに対して適用することが可能である。すなわち、電子署名付きメッセージを送信するセンター装置と、必ずしも信頼されないサーバ装置と、電子署名付きメッセージを利用するが検証処理の一部の処理をサーバ装置に依頼するクライアント装置とから構成される任意の形態のシステムに対して、本発明は適用可能である。
【符号の説明】
【００５０】
１００  車両
１１０  クライアントＥＣＵ
１２０  サーバＥＣＵ
２００  センター装置
【図１】
2014225746.tif 000003
【図２】
2014225746.tif 000004
【図３】
2014225746.tif 000005