(57)【特許請求の範囲】
【請求項１】
ユーザのために署名を生成する方法であって、前記ユーザは、第１のユーザデバイスと第２のユーザデバイスとを操作し、
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
前記第１のメッセージＭに基づく第２のメッセージＭ’を獲得することと、
前記第２のメッセージＭ’と、前記第２のユーザデバイスと共有される第１の共有された秘密とを用いて有効性検証チャレンジを生成することであって、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記第２のユーザデバイスが、前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって前記第２のメッセージＭ’を再生成することを可能にするために、前記有効性検証チャレンジを前記第２のユーザデバイスに送り、
前記第２のユーザデバイスから有効性検証コードを受けることであって、前記有効性検証コードは、前記ユーザに特有である情報を用いて生成され、署名を生成するための前記要求が、前記第２のユーザデバイスの上に表示される前記第２のメッセージＭ’が第１のメッセージＭに対応するとの前記ユーザによる確証に応じて、前記ユーザによって確証されていることを示し、
前記有効性検証コードが前記第２のユーザデバイスから受け取られたことを検証し、
前記有効性検証コードが成功裡に検証された場合、前記第１のメッセージＭのために、前記ユーザのための前記署名を生成する、
方法。
【請求項２】
前記獲得することは、（ｉ）前記第１のユーザデバイスから前記第２のメッセージＭ’を受け取ること、または、（ｉｉ）前記第１のユーザデバイスから前記第１のメッセージＭを受け取り、前記第１のメッセージＭに基づいて前記第２のメッセージＭ’を生成すること、を含む、請求項１に記載の方法。
【請求項３】
前記第２のメッセージＭ’は、前記第１のメッセージと同じである、請求項１または請求項２に記載の方法。
【請求項４】
前記第２のユーザデバイスによって読むことが可能なバーコードとして前記有効性検証チャレンジを再フォーマットすることと、再フォーマットされた前記有効性検証チャレンジを前記第２のユーザデバイスに送ることと、を更に備えた、請求項１乃至請求項３のいずれか一項に記載の方法。
【請求項５】
前記署名を生成する前に前記有効性検証コードを検証することを更に備える、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記有効性検証コードは、共有された第２の秘密を用いて検証される、請求項５に記載の方法。
【請求項７】
共有された前記第２の秘密は、前記第１の共有された秘密とは異なる、請求項６に記載の方法。
【請求項８】
前記第１の共有された秘密および／または共有された第２の秘密を得るために、前記第２のユーザデバイスにあらかじめ登録することを更に備える、請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
署名生成デバイスからの第１のメッセージＭのための署名の要求を有効性検証するために有効性検証デバイスによって実行される方法であって、前記有効性検証デバイスは、ユーザによって操作可能であり、
前記署名生成デバイスから有効性検証チャレンジを受け、前記有効性検証チャレンジは、前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記署名生成デバイスと前記有効性検証デバイスとの間で共有される第１の共有された秘密とを用いて生成されており、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって、前記有効性検証チャレンジから前記第２のメッセージＭ’を生成し、
前記有効性検証デバイス上に前記第２のメッセージＭ’を表示し、
表示されている前記第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザによる確証を受け、
前記署名を生成するための前記要求が前記ユーザによる確証によって確証されていることを示す有効性検証コードを生成し、
前記有効性検証コードを出力する、
方法。
【請求項１０】
前記第２のメッセージＭ’は、前記第１のメッセージＭと同じである、請求項９に記載の方法。
【請求項１１】
前記署名生成デバイスと共有された第２の秘密を用いて前記有効性検証コードを生成することを備える、請求項９または１０に記載の方法。
【請求項１２】
対称鍵である前記第２の秘密での暗号化を用いて前記有効性検証コードを生成することを備える、請求項１１に記載の方法。
【請求項１３】
認証および有効性検証デバイスから前記有効性検証チャレンジを受けることを備える、請求項９乃至１２のいずれか一項に記載の方法。
【請求項１４】
前記有効性検証コードを前記認証および有効性検証デバイスに出力することを備える、請求項１３に記載の方法。
【請求項１５】
署名生成デバイスから前記有効性検証チャレンジを受けることを備える、請求項９乃至１２のいずれか一項に記載の方法。
【請求項１６】
ユーザのために署名を生成する方法であって、前記ユーザは、第１のユーザデバイスと第２のユーザデバイスとを操作し、
前記第１のユーザデバイスの上に第１のメッセージＭを表示し、
前記第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから署名サーバに要求を送り、
第１のメッセージＭに基づく第２のメッセージＭ’を獲得し、
前記第２のメッセージＭ’と、前記第２のユーザデバイスと前記署名サーバとの間で共有される第１の共有された秘密とを用いて、有効性検証チャレンジを生成することであって、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記第２のユーザデバイスに前記有効性検証チャレンジを送り、
前記第１の共有された秘密を用いて、前記第２のユーザデバイスの上で前記第２のメッセージＭ’を再生成することであって、前記第２のメッセージＭ’は、前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって生成され、
前記第２のユーザデバイスの上に前記第２のメッセージＭ’を表示し、
表示された前記第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザによる確証を受け、
署名を生成するための前記要求が前記ユーザによる確証によって確証されていることを示す有効性検証コードを生成し、
前記第２のユーザデバイスから前記署名サーバに、前記有効性検証コードを送り、
前記有効性検証コードが前記第２のユーザデバイスから受け取られたことを検証し、
前記有効性検証コードが成功裡に検証された場合、前記第１のメッセージＭのために、前記ユーザのための前記署名を生成する、
方法。
【請求項１７】
前記獲得することは、（ｉ）前記第１のユーザデバイスから前記第２のメッセージＭ’を受け取ること、または、（ｉｉ）前記第１のユーザデバイスから前記第１のメッセージＭを受け取り、前記第１のメッセージＭに基づいて前記第２のメッセージＭ’を生成すること、を含む、請求項１６に記載の方法。
【請求項１８】
前記署名を生成する前に、前記有効性検証コードを検証することを更に備える、請求項１６または請求項１７に記載の方法。
【請求項１９】
プロセッサ上で実行するときに、請求項１乃至１８のいずれか一項に記載の方法を実装するためのプロセッサ制御コードを記憶する記憶媒体。
【請求項２０】
ユーザのために署名を生成するための署名サーバであって、前記ユーザは、第１のユーザデバイスと第２のユーザデバイスとを操作し、
前記署名サーバは、
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
前記第１のメッセージＭに基づく第２のメッセージＭ’を獲得することと、
前記第２のメッセージＭ’と、前記第２のユーザデバイスと共有される第１の共有された秘密とを用いて有効性検証チャレンジを生成することであって、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記第２のユーザデバイスが、前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって前記第２のメッセージＭ’を再生成できるように、前記有効性検証チャレンジを前記第２のユーザデバイスに送ることと、
前記第２のユーザデバイスから有効性検証コードを受けることであって、前記有効性検証コードは、署名を生成するための前記要求が前記ユーザによって確証されていることを示し、前記有効性検証コードは、前記第２のユーザデバイスの上に表示される前記第２のメッセージＭ’が前記第１のメッセージＭに対応するとの前記ユーザによる確証に応じて、前記ユーザに特有である情報を用いて生成され、
前記有効性検証コードが前記第２のユーザデバイスから受け取られたことを検証し、
前記有効性検証コードが成功裡に検証された場合、前記第１のメッセージＭのために、前記ユーザのための署名を生成することと、
を行うように構成される、
署名サーバ。
【請求項２１】
前記獲得することは、（ｉ）前記第１のユーザデバイスから前記第２のメッセージＭ’を受け取ること、または、（ｉｉ）前記第１のユーザデバイスから前記第１のメッセージＭを受け取り、前記第１のメッセージＭに基づいて前記第２のメッセージＭ’を生成すること、を含む、請求項２０に記載の署名サーバ。
【請求項２２】
前記ユーザのための署名を生成するために署名生成デバイスを備える、請求項２０または請求項２１に記載の署名サーバ。
【請求項２３】
前記署名生成デバイスは、ユーザにローカルである、請求項２２に記載の署名サーバ。
【請求項２４】
前記署名生成デバイスは、前記有効性検証チャレンジを生成する、請求項２２または２３に記載の署名サーバ。
【請求項２５】
前記署名生成デバイスと前記第２のユーザデバイスの両方は、前記第１の共有された秘密を記憶する、請求項２４に記載の署名サーバ。
【請求項２６】
前記有効性検証チャレンジを生成するために認証および有効性検証サーバを備える、請求項２０乃至２３のいずれか一項に記載の署名サーバ。
【請求項２７】
前記認証および有効性検証サーバと前記第２のユーザデバイスの両方は、前記第１の共有された秘密を記憶する、請求項２６に記載の署名サーバ。
【請求項２８】
前記認証および有効性検証サーバはユーザから離れている、請求項２６または２７に記載の署名サーバ。
【請求項２９】
署名生成デバイスが第１のメッセージＭのための署名を生成することの要求を有効性検証するためのユーザのための有効性検証デバイスであって、
前記有効性検証デバイスは、
前記署名生成デバイスから有効性検証チャレンジを受けることであって、前記有効性検証チャレンジは、前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記署名生成デバイスと前記有効性検証デバイスとの間で共有される第１の共有された秘密とを用いて生成され、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって、前記有効性検証チャレンジから前記第２のメッセージＭ’を生成することと、
前記有効性検証デバイス上に前記第２のメッセージＭ’を表示することと、
前記第２のメッセージＭ’が前記第１のメッセージＭに対応することの前記ユーザによる確証に応じて有効性検証コードを生成することと、前記有効性検証コードは、前記署名を生成するための前記要求が前記ユーザによって確証されていることを示し、
前記有効性検証コードを出力することと、
を行うように構成される、
有効性検証デバイス。
【請求項３０】
前記第２のメッセージＭ’は、前記第１のメッセージＭと同じである、請求項２９に記載の有効性検証デバイス。
【請求項３１】
前記有効性検証デバイスは、前記署名生成デバイスと共有され、前記有効性検証デバイスの上に記憶された第２の秘密を用いて前記有効性検証コードを生成するよう構成される、請求項２９または３０に記載の有効性検証デバイス。
【請求項３２】
前記有効性検証デバイスは、対称鍵である前記第２の秘密を用いた暗号化方法を用いて前記有効性検証コードを生成するよう構成される、請求項３１に記載の有効性検証デバイス。
【請求項３３】
前記有効性検証デバイスは、認証および有効性検証デバイスから前記有効性検証チャレンジを受けるよう構成される、請求項２９乃至３２のいずれか一項に記載の有効性検証デバイス。
【請求項３４】
前記有効性検証デバイスは、前記有効性検証コードを前記認証および有効性検証デバイスに出力するよう構成される、請求項３３に記載の有効性検証デバイス。
【請求項３５】
前記有効性検証デバイスは、署名生成デバイスから前記有効性検証チャレンジを受けるよう構成される、請求項２９乃至３４のいずれか一項に記載の有効性検証デバイス。
【請求項３６】
請求項２０乃至２８のいずれか一項に記載の署名サーバと、請求項２９乃至３５のいずれか一項に記載の有効性検証デバイスとを備える、ユーザのための署名を生成するためのシステム。
【請求項３７】
署名サーバ、初期処理デバイス、および、有効性検証デバイスを備えたシステムであって、前記初期処理デバイスと前記有効性検証デバイスとはユーザによって操作可能であり、
前記初期処理デバイスは、
第１のメッセージＭを表示することと、
前記第１のメッセージＭのための署名を生成するために、前記署名サーバに要求を送ることと、
をするよう構成され、
前記署名サーバは、
前記第１のメッセージに基づく第２のメッセージＭ’を獲得することと、
前記第２のメッセージＭ’と、前記有効性検証デバイスと前記署名サーバとの間で共有される第１の共有された秘密とを用いて有効性検証チャレンジを生成することであって、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成され、
前記有効性検証デバイスに前記有効性検証チャレンジを送ることと、
をするように構成され、
前記有効性検証デバイスは、
前記第１の共有された秘密を用いて前記第２のメッセージＭ’を再生成することであって、前記第２のメッセージＭ’は、前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することによって生成され、
前記第２のメッセージＭ’を表示することと、
表示された前記第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザによる確証を受けることと、
署名を生成するための前記要求が前記ユーザによる確証によって確証されていることを示す有効性検証コードを生成することと、
前記有効性検証コードを前記署名サーバに送ることと、
をするように構成され、
前記署名サーバは、さらに、
前記有効性検証コードが前記有効性検証デバイスから送られたことを検証することと、
前記有効性検証コードが成功裡に検証された場合、前記第１のメッセージＭのために、前記ユーザのための署名を生成することと、
をするように構成される、
システム。
【請求項３８】
前記初期処理デバイスは、さらに、
前記第２のメッセージＭ’を生成することと、
前記第２のメッセージＭ’を前記署名サーバに送ることと、
をするように構成され、
前記獲得することは、前記初期処理デバイスから前記第２のメッセージＭ’を受け取ることを含む、
請求項３７に記載のシステム。
【請求項３９】
前記初期処理デバイスは、さらに、前記第１のメッセージＭを前記署名サーバに送るように構成され、
前記獲得することは、
前記第１のメッセージＭを前記初期処理デバイスから受け取ることと、
前記第１のメッセージＭに基づいて前記第２のメッセージＭ’を生成することと、
を含む、
請求項３７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル署名を要求し、提供するための方法と装置に関する。
【背景技術】
【０００２】
デジタル署名の概念がもたらされてから４０年近くがたっても、依然、電子商取引（e-commerce）として知られるものにおいて、いくつもの課題が存在する。ゴールは、ドキュメントや取引がユーザによってデジタル的に署名され、基礎をなすインフラ全体が、取引が電子化される前の数世紀の伝統的に受け入れられていたものの特性のほとんどを有する安全な法的フレームワークを提供するような仕組みである。
簡潔に言えば、主な課題は、以下のシステムを提供することである：
１）"What You See Is What You Sign"（あなたが見るものがあなたがサインするもの）または"WYIWYS"として知られているキャッチフレーズにおけるものを提供し、以下のような方法で、ユーザが"what he sees"（彼が見たもの）にサインしようと決めることを可能にする：
２）特定の取引またはドキュメント上のこの特定のデジタル署名が、特定のユニークに識別されたユーザの意思による行為で生成されたことの実体的で説得力のある証拠（特に、法的な意味で）を与えることが可能である。
【０００３】
"WYSIWYS"の概念は、Peter LandrockとTorben Pedersenによる「“WYSIWYS? What you see is what you sign?” Information Security Technical Report, Elsevier, Vol 3, No 2, 1998」に紹介された。
【０００４】
他の基本的な技術論文は、Fiat Shamirの「“How to Prove Yourself: Practical Solutions to Identification and Signature Problems” Advances in Cryptology, CRYPTO’86 Proceedings, Lecture Notes in Computer Science, Springer Verlag 1986」である。この論文は、電子データの確実な搬送に関連する以下の様々なスキームを定義している。
認証（authentication）スキーム：Ａは、Ｂに対し、彼がＡであることを証明できるが、他の誰も、Ｂに対し、彼がＡであることを証明できない。
証明（identification）スキーム：Ａは、Ｂに対し、彼がＡであることを証明できるが、Ｂは、他の誰かに対し、彼がＡであることを証明できない。
署名（signature）スキーム：Ａは、Ｂに対し、彼がＡであることを証明することができるが、Ｂは、彼自身にさえ、彼がＡであることを証明できない。
【０００５】
認証スキームは、共有鍵を用いた対称暗号化技術を用いることによって可能である。ソフトウェアベースのプロトコルにおいて、より強力な証明スキームは公開鍵技術を必要とした。これらの技術は、Ａの秘密鍵が含まれたが、それは、彼の鍵が選ばれたコンテンツをもったメッセージに適用されることを必要としないことを証明する。いわゆるゼロ知識証明スキーム（zero-knowledge identification scheme）がこのカテゴリーにはいる。最後に、安全な署名スキームにおいて、これが可能である証明スキームとは反対に、基礎をなすプロトコルはＢによってシミュレートされることができない。
【０００６】
署名スキームのための１つのコンセプトは、各ユーザが、マイクロチップを主とするスマートカードまたは署名スティック等のローカル署名生成デバイス上に記憶された彼の秘密鍵を持って回ることであった。このアプローチは、それがＵＳＢポートおよび／またはスマートカードリーダーの利用可能性、ｗｅｂベース環境におけるそのような周辺機器を使用することの不十分な適応可能性、および、古いデバイスと現代のデバイス、または、異なるブランドを有するデバイスの間の可能な互換性の問題を必要とするので、いくつかの重大な欠点を有する。また、ユーザが、可動性と使用の容易さの障害となる安全な場所に署名生成デバイスを保管することが不可欠である。このアプローチは、現実に、全国的な規模の開発や高い利用率をもっていきわたらず、派生した開発は、少ないユーザをもった管理された環境に制限されている。
【０００７】
署名スキームのための代わりのアプローチは、欧州特許１３６４５０８に記載されている。このスキームは、秘密鍵の所有者が秘密鍵に対する唯一のコントロールを保持することを保証するが、ユーザのための署名の生成のための秘密鍵を中央で記憶するセントラル（安全な）署名生成デバイスを用いる。このアプローチは、現在、例えば、デンマーク、ノルウェイ、ルクセンブルグにおいて、ほとんど全ての市民、ビジネス、および、公的サービス機関によって広く使用されている。
【０００８】
過去３０年の間に、いくつかの他の商業的な解決策が発展し、アタックがますます精巧になってくるにつれて、ますます進歩している。安全性の低い解決策は、ユーザのみを特定しようとするがメッセージ自身の安全を守らない、ある程度のセッションセキュリティを与える解決策である。例えば、１つの初期の解決策は、メッセージとともに転送される静的なパスワードに依存し、最近の解決策は、メッセージとともに転送されるためのいわゆるＯＴＰ（One Time Password）（しかし、依然、メッセージの内容とは独立に生成される）に依存している。
【０００９】
スマートホンの到来でもって、新たな機会の領域が出願した。これらは、例えば、欧州特許第１９６９８８０および欧州特許第１９５９３７４において利用されており、専用のハードウェアを用いて、実際に、認証と証明に関する上記２つの要件に合致するが、かなり高価なハードウェアの使用を代償としている。
【００１０】
しかし、これらのアプローチのどれも、WYSIWYSの特性−声の確認または個別チャネルの使用等の更なる手段なくその目的にかなうことが重要である−を保証しない。
【００１１】
WYSIWYSの１つの強力な実現は、最もユーザフレンドリーではないにもかかわらず、Mastercardによって開発され、後にＤＰＡ（Dynamic Passcode Authentication）としてVisaによって採用された、ＣＡＰ（Chip Authentication Program）であり、それは、スタンドアロンのカードリーダーと、デビットまたはクレジットＥＭＶチップカードを必要とする。ユーザが、例えばワークステーション上で支払の明細を与えたら、彼は、かれのＰＩＮをキー入力し、「署名（Sign）」機能を選択することによって、かれのデビットカードまたはクレジットカードをカードリーダーに入れることを求められる。かれは、次に、支払われるべき額と受取人の口座をキー入力することを要求され、メッセージ認証コード（message authorization code：ＭＡＣ）が彼のデビットまたはクレジットカードによって生成され、カードリーダーに表示される。続いて、彼は、ワークステーション上での彼の取引とともにこれをキー入力する。
【００１２】
この背景にある暗号法は、支払カードとバンクバックエンドとの間で共有される鍵をもちいた対称暗号化システムである。そして、これは、上述の定義でもって、「認証スキーム」であるように見える。しかし、支払カードとバンクバックエンド上の鍵が改竄防止ハードウェアによって保護されているので、これは、事実上、間違いなく署名スキームであって、電子バンキングのために広く用いられている。
【００１３】
従って、WYSIWYSは、対称暗号技術と改竄防止ハードウェアとの組み合わせを用いて達成され得る。しかし、公開鍵技術に基づく署名スキームは、やり取りが多数対１者、即ち銀行に対してである電子バンキングに対して、多くの独立のパーティが他の独立のパーティとやり取りする電子商取引において重要でない場合、特に有用である。更に、上述の技術や方法のどれも、加入国を通じて採用され、多くの世界各国で参考とされた電子署名に関する欧州議会指令（Directive 1999/93/EC）で規定されたように、ローカルまたはセントラルの（安全な）署名生成デバイスによって実行される法的拘束力のある電子署名に拘束された強いWYSIWYS機能性を提供する要求には対応していない。
【００１４】
対照的に、本発明の主な寄与は、現在は、スマートホン、タブレットＰＣ、および、同様なデバイスを含む、利用可能な最新の技術を用いて、このWYSIWYS機能性を如何に生成するかである。
【発明の概要】
【００１５】
本発明の第１の態様に従って、第1と第２のユーザデバイスを有するユーザのための署名を生成する生成する方法が提供され、
方法は
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
前記第１のメッセージＭに基づいた第２のメッセージＭ’と、前記ユーザと共有された第１の秘密を用いて有効性検証チャレンジとを生成することと、
前記第２のユーザデバイスが前記第２のメッセージＭ’を再生成することを可能にするために、前記有効性検証チャレンジを前記ユーザに送ることと、
前記第２のユーザデバイスから有効性検証コードを受けることと、前記有効性検証コードは、署名を生成するための前記要求を確証することと、
前記第１のメッセージＭについて、前記ユーザのために前記署名を生成することと、
を備える。
【００１６】
本発明の第２の態様に従って、第１と第２のユーザデバイスを有するユーザのために署名を生成するための署名サーバが提供され、
サーバは、
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
第１のメッセージＭに基づいた第２のメッセージＭ’と、前記ユーザと共有された第１の秘密とを用いて有効性検証チャレンジを生成することと、
前記第２のユーザデバイスが前記第２のメッセージＭ’を再生成することを可能にするために、前記ユーザに前記有効性検証チャレンジを送ることと、
前記第２のユーザデバイスから有効性検証コードを受けることと、前記有効性検証コードは署名を生成するための要求を確証する、
第１のメッセージＭのためにユーザのための署名を生成することと、
から構成される。
【００１７】
従って、本発明の主要な特徴は、好ましくはお互いに別個である第１と第２のユーザデバイスとの相互作用である。署名のための要求は第１のユーザデバイスから受け取られ、署名が生成される前に第２のユーザデバイスから確証される。更に、署名要求を確証する前に、ユーザがメッセージを見ることができるために、メッセージが第２のユーザデバイス上で再生成できるよう、有効性検証チャレンジが生成される。従って、“What You See Is What You Sign” (WYSIWYS)の機能性が提供される。
【００１８】
方法は、署名サーバの中のプロセッサ上で実行される生成ステップと、署名サーバの入力／出力システムによって実行される受け取りと送りのステップとを有するコンピュータに実装された方法である。
【００１９】
署名サーバは、署名生成デバイス、例えば、電子署名についての欧州議会指令（Directive 1999/93/EC）によって定義されているような安全な署名生成デバイスを備える。署名生成デバイス（より具体的には、署名生成デバイスのプロセッサ）は、署名を生成するための要求を受け、最終的に署名を生成する。署名は、好ましくは、先進の電子署名、即ち、署名者に一意的にリンクされた署名であり、署名者を特定することができ、署名者が彼の唯一の制御のもとに維持できる手段を用いて生成され、データの以降の変更が検出可能であるような方法で署名が関係するデータにリンクされる。
【００２０】
署名サーバは、ローカルであってもよく、または、ユーザから離れていてもよい。ローカルによれば、署名生成デバイスは、ユーザによって所有（即ち、保有）される。離れている場合、署名生成デバイスは、ユーザから物理的に分離されており、例えば、別個のエンティティによって管理され得るセントラル署名サーバ上にある。
【００２１】
署名生成デバイスは、また、有効性検証チャレンジを生成し、したがって、単一のエンティティが有効性検証チャレンジと署名との両方を提供する。しかし、２つのユーザデバイスとの相互作用は、依然、セキュリティを確実にするために必要とされる。この構成において、署名生成デバイスは、ユーザにローカルであり得る。
【００２２】
署名サーバは、個別の認証および有効性検証サーバを備え得る。認証および有効性検証サーバ（より具体的には、認証および有効性検証サーバのプロセッサ）は、有効性検証チャレンジを生成し得る。認証および有効性検証サーバは、署名生成デバイスから離れているまたは一体になって入れもよい。
【００２３】
第１の共有された秘密は、それに応じて有効性検証チャレンジを生成している認証および有効性検証サーバ、または、署名生成デバイス上に記憶され得る。従って、ユーザは、第１の共有された秘密の共有を可能にするために、第２のユーザデバイスを、署名サーバ（より具体的には、署名生成デバイス、または、有効性検証チャレンジ生成する認証および有効性検証サーバ）に登録することが必要である。
【００２４】
有効性検証チャレンジは、派生された第１のメッセージである第２のメッセージＭ’に基づいており、従って、有効性検証チャレンジはオリジナルメッセージから派生される。従って、ユーザが有効性検証チャレンジからメッセージＭ’（または、可能ならばオリジナルメッセージＭ）を再生成できるならば、ユーザはこの有効性検証者レンジが信頼されているソースから来ることを保証され得る。更に、ユーザは、署名生成プロセスの部分として有効性検証のためにユーザに提示される前に、メッセージが変更されていないことを再保証されることができる。従って、ユーザは、メッセージに署名する要求を確証できる。これは"WYSIWYS"機能性を提供する。
【００２５】
第２のメッセージＭ’は、第１のメッセージＭと同一であり得、または、第１のメッセージＭから得られ得る。Ｍ’は、ハンドヘルドデバイス上に表示されるように設計される。第２のメッセージＭ’は、有効性検証の目的のためにユーザへの表示を単純化するために、第１のメッセージＭの簡略表記されたバージョンであり得る。代替的に、第２のメッセージＭ’は第１のメッセージの異なるバージョンであってもよい。第２のメッセージＭ’がユーザに表示されるとき、第２のメッセージＭ’が、かれが署名されるべきであると望む第１のメッセージＭに関係することをユーザが確証することができるように、第２のメッセージＭ’は、好ましくは、第１のメッセージからの十分な情報を備える。Ｍは、例えば、購入オーダーであってよく、Ｍ’は、例えば、ＰＯリファレンス、受領者、額をもったそのサマリーである。第２のメッセージＭ’は、署名生成デバイスによって生成され得、または、第１のユーザデバイスによって生成され得る。それがどこで生成されるかにかかわらず、Ｍ’は、最終的に、有効性検証チャレンジを生成するために署名サーバによって受け取られる。
【００２６】
有効性検証チャレンジは、好ましくは、前記第２のメッセージＭ’が前記第１の共有された秘密を用いて前記有効性検証チャレンジから得られることが可能であるように生成される。例えば、前記有効性検証チャレンジは、前記第１の共有された秘密を用いて前記有効性検証チャレンジを解読することが前記第２のメッセージＭ’を再生成するように、前記第１の共有された秘密を用いて前記第２のメッセージＭ’を暗号化することによって、対称暗号化により生成され得る。代替的に、有効性検証チャレンジは、メッセージ認証コード（message authentication code：ＭＡＣ）の形式で、第１の共有された秘密を用いて生成され得る。代替的に、有効性検証チャレンジは、ユーザに関連付けられた秘密鍵の形式で第１の共有された秘密、第２のユーザデバイスに存在する秘密鍵の公開部分、を用いて署名されたＭ’のデジタル的に署名されたバージョンであり得る。従って、第１の共有された秘密を交換する、または、さもなければ同意するために、デバイスを事前登録することが必要である。
【００２７】
有効性検証チャレンジは、直接または間接に第２のユーザデバイスに送られ得、例えば、有効性検証チャレンジは第１のユーザデバイスを介して送られ得る。方法は、更に、第２のユーザデバイスによって読むことが可能なバーコード（例えば、ＱＲコード（登録商標））として有効性検証チャレンジを再フォーマットすることを備える。バーコードは、第２のユーザデバイスによって読まれるために、第１のユーザデバイス上に表示され得る。
【００２８】
有効性検証コードは、第２のユーザデバイスから直接または間接に受け取られ得る。有効性検証コードは、署名が生成される前に検証され得る。検証は、有効性検証コードが第２のユーザデバイスから受け取られていることをチェックする。検証は、任意の標準のプロセスによって行われ得る。従って、有効性検証コードは、ユーザに特有な、好ましくは、有効性検証チャレンジを生成するために用いられた情報とは異なる情報、即ち、第２の共有された秘密を用いて生成されなければならない。
【００２９】
署名を生成する前に、署名サーバは、有効性検証コードがユーザからのものであることを検証することが必要である。有効性検証コードの検証は、−それが用いられる場合―、認証および有効性検証サーバによって実行され得、検証の結果は、署名生成デバイスに送られ得る。この場合、署名生成デバイスは、また、結果が認証および有効性検証サーバからのものであることを検証し得る。代替的に、有効性検証コードの検証は、署名生成デバイス自身によって行われてもよい。第２の共有された秘密が有効性検証コードを生成するために用いられるならば、これは、また、有効性検証コードを検証するデバイスに記憶される。従って、デバイスの事前登録の一部として第２の共有された秘密を交換、または、さもなければ同意することが必要である。
【００３０】
ユーザは、少なくとも２つのデバイス、第１のユーザデバイスと第２のユーザデバイスを有する。代替的に、ユーザは、第１と第２のユーザデバイスの機能性を併合する単一のデバイスを有してもよい。従って、第１のユーザデバイスは、また、第２のユーザデバイスであり得る。この単一のデバイスは、２者の機能性を提供するよう適用されなければならず、例えば、単一のデバイスが２つの独立のチャネルを扱うことができる、および／または、信用のおけるグラフィカルユーザインタフェースを有し得る。第１のユーザデバイスは、署名のための要求を送出する。第２のユーザデバイスは、有効性検証チャレンジから第２のメッセージＭ’を再生成し、署名を生成するための要求を確証する有効性検証コードを生成する。第１のユーザデバイスは初期処理デバイスと呼ばれ得、第２のユーザデバイスは有効性検証デバイスと呼ばれ得、これらの用語は明細書を通じて互換的に用いられる。初期処理デバイスは、ワークステーション、ラップトップコンピュータ、タブレット、または、スマートホン等の任意の電子デバイスであり得る。同様に、有効性検証デバイスは、任意の電子デバイスであってよいが、好ましくは、初期処理デバイスに対して異なる電子デバイスである。
【００３１】
発明の他の態様に従って、ユーザが第１のメッセージＭのための署名要求を有効性検証するための有効性検証デバイスが提供され、
有効性検証デバイスは、
署名生成デバイスから有効性検証チャレンジを受けることと、有効性検証チャレンジは、第１のメッセージＭに基づく第２のメッセージＭ’と、署名生成デバイスと有効性検証デバイスとの間で共有される第１の秘密とを用いて生成されている、
第１の共有された秘密を用いて有効性検証チャレンジから第２のメッセージＭ’を生成することと、
第２のメッセージＭ’をユーザに表示することと、
第２のメッセージＭ’が第１のメッセージＭに対応することのユーザ確証を受け取ることと、
署名を生成するための要求を確証する有効性検証コードを生成することと、
有効性検証コードを出力することと、
から構成される。
【００３２】
発明の他の態様に従って、署名生成デバイスから第１のメッセージＭのための署名要求をする方法が提供され、
方法は、
署名生成デバイスから有効性検証チャレンジを受けることと、有効性検証チャレンジは、第１のメッセージＭに基づく第２のメッセージＭ’と、前記署名生成デバイスと前記ユーザとの間で共有される第１の秘密とを用いて生成されている、
第１の共有された秘密を用いて、有効性検証チャレンジから第２のメッセージＭ’を生成することと、
ユーザに、第２のメッセージＭ’を表示することと、
第２のメッセージＭ’が第１のメッセージＭに対応することの確証を受け取ることと、
署名を生成するための要求を確証する有効性検証コードを生成することと、
有効性検証コードを出力することと、
を備える。
【００３３】
本発明の第１と第２の態様に関連して上述された特徴は、ユーザによって利用されるデバイスやステップに関係する本発明のこれらの態様にも適用される。例えば、有効性検証チャレンジと第２のメッセージＭ’は、上述のように生成され、送られ得る。
【００３４】
第２のメッセージＭ’は、解読によって有効性検証チャレンジから生成され得る。例えば、第１の共有された秘密は、対称鍵であってよい。代替的に、有効性検証チェレンジは、有効性検証チャレンジから得られるメッセージ認証コード（message authentication code：ＭＡＣ）を検証することによって第１の共有された秘密を用いて有効性検証され得る。
【００３５】
代替的に、第１の共有された秘密は、ユーザに関連付けられた秘密鍵であってもよく、秘密鍵の公開部分が第２のユーザデバイスに存在する。この場合には、第２のメッセージＭ’は、有効性検証チャレンジに秘密鍵の公開部分を適用することによって生成される。
【００３６】
有効性検証コードは、ユーザに固有であり、好ましくは、有効性検証チャレンジを生成するために用いられる情報、例えば、第２の共有された秘密、とは異なる情報、を用いて生成されなければならない。有効性検証コードは、ＯＡＴＨチャレンジレスポンスアルゴリズム（OATH challenge response algorithm：ＯＣＲＡ）［RFC 6287- ISSN 2070-1721に記載される）、または、Mastercard CAP、Visa CodeSure、Vasco Digipass challenge response based mechanisms等の等価な独占技術を含む種々の規格化された方法を用いて生成され得る。有効性検証コードは、有効性検証デバイスとセントラル認証および有効性検証サーバまたは署名生成デバイス（どのデバイスが有効性検証コードを検証しているかによって）との間で共有される対称鍵である第２の秘密での暗号化を用いて生成され得る。有効性検証コードは、また、リプレイアタックを避けるために、ノンスを用いた署名された応答であり得る。
【００３７】
上述のように、署名サーバは、署名生成デバイスおよび／または認証および有効性検証デバイスを備える。認証および有効性検証デバイスがある場合、有効性検証デバイスは、認証および有効性検証デバイスから有効性検証チャレンジを受け得、認証および有効性検証デバイスに有効性検証コードを出力し得る。この場合において、必要な秘密が共有されることを保証するために、有効性検証デバイスを、認証および有効性検証デバイスに予め登録する必要がある。代替的に、認証が署名生成デバイス自身によって行われる場合には、有効性検証デバイスは、署名生成デバイスから有効性検証チャレンジを受け取り得、有効性検証コードを署名生成デバイスに出力し得る。
【００３８】
本発明のためのフルシステムは、署名サーバ、第1のユーザデバイス（初期処理デバイス）、および、第２のユーザデバイス（有効性検証デバイス）を備える。本発明の他の態様に従うと、メッセージＭのための署名を与えるためのシステムが提供され、このシステムは、上述の署名サーバ、上述の第１のユーザデバイス、および、上述の第２のユーザデバイスを備える。
【００３９】
本発明の他の態様に従えば、署名サーバ、ユーザのための初期処理デバイス、および、ユーザのための有効性検証デバイスを備えるシステムが提供され、
初期処理デバイスは、
第１のメッセージＭを表示することと、
前記第１のメッセージのための署名を生成するために、署名サーバに要求を送ることと、
のために構成され、
署名サーバは、
前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記ユーザと前記署名サーバとの間で共有された第１の秘密とを用いて有効性検証チャレンジを生成することと、
前記有効性検証チャレンジを有効性検証デバイスに送ることと、
のために構成され、
有効性検証デバイスは、
前記第１の共有された秘密を用いて前記第２のメッセージＭ’を再生成することと、
前記第２のメッセージＭ’を表示することと、
表示された第２のメッセージＭ’が第１のメッセージＭに対応することのユーザ確証を受けることと、
署名を生成するための要求を確証する有効性検証コードを生成することと、
前記署名サーバに前記有効性検証コードを送ることと、
のために構成され、
それによって、前記署名サーバは、第１のメッセージＭのためにユーザのための署名を生成する。
【００４０】
同様に、本発明の他の態様に従って、
第１のユーザデバイス上に第１のメッセージＭを表示することと、
前記第１のンメッセージＭのための署名を生成するために、前記第１のユーザデバイスから署名サーバに要求を送ることと、
第１のメッセージＭに基づいた第２のメッセージＭ’を生成することと、
前記第２のメッセージＭ’と、前記ユーザと前記署名サーバとの間で共有された第１の秘密とを用いて、有効性検証チャレンジを生成することと、
第２のユーザデバイスに前記有効性検証チャレンジを送ることと、
前記第１の共有された秘密を用いて、前記第２のユーザデバイス上で前記第２のメッセージＭ’を再生成することと、
前記第２のメッセージＭ’を前記第２のユーザデバイス上に表示することと、
第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザ確証を受けることと、
署名を生成するための要求を確証する有効性検証コードを生成することと、
前記第２のユーザデバイスから前記署名サーバに前記有効性検証コードを送ることと、
第１のメッセージＭのためにユーザのための署名を生成することと、
を備える方法が提供される。
【００４１】
本発明は、更に、上述のシステムと方法を、例えば汎用コンピュータシステム上に、または、デジタル信号プロセッサ（digital signal processor：ＤＳＰ）上に実装するためのプロセッサ制御コードを提供する。コードは、ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ，不揮発性メモリ（例えば、フラッシュ）またはリードオンリーメモリ（ファームウェア）等のプログラマブルメモリ等の物理的なデータキャリア上で提供される。本発明の実施形態を実装するためのコード（および／または、データ）は、Ｃまたはアセンブリコード等の従来のプログラミング言語（インタープリットされるか、または、コンパイルされる）でのソース、オブジェクト、または、実行可能コードを備え得る。技術に習熟した者が理解するように、そのようなコードおよび／またはデータは、お互いにやり取りしあう、複数の結合されたコンポーネントの間で分散され得る。
【００４２】
本発明は、以下の添付の図面において、例として図示される。
【図面の簡単な説明】
【００４３】
【図１ａ】図１ａは、システムにおける種々のデバイスによって使用されるステップのフローチャートである。
【図１ｂ】図１ｂは、サンプルメッセージである。
【図２ａ】図２ａは、システムを通じた情報の流れを示す、システムの一構成についての概略図である。
【図２ｂ】図２ｂは、図２ａに示された実装例についてのフローチャートである。
【図２ｃ】図２ｃは、図２ａに示された実装例についてのフローチャートである。
【図３ａ】図３ａは、システムの他の構成についての概略システム図である。
【図３ｂ】図３ｂは、図３ａに示された実装例についてのフローチャートである。
【図３ｃ】図３ｃは、図３ａに示された実装例についてのフローチャートである。
【図４ａ】図４ａは、システムの他の構成についての概略システム図である。
【図４ｂ】図４ｂは、図４ａに示された実装例についてのフローチャートである。
【図４ｃ】図４ｃは、図４ａに示された実装例についてのフローチャートである。
【図５ａ】図５ａは、ユーザデバイスのコンポーネントを示す概略ブロック図である。
【図５ｂ】図５ｂは、セントラル認証および有効性検証サーバ、または、署名生成デバイスのコンポーネントを示す概略ブロック図である。
【詳細な説明】
【００４４】
図１ａは、この新規な発明が、複数のデバイスを用いた強い"WYSIWYS"機能性を如何にして提供するかを示すフローチャートである。システムは、３つのキーデバイスを備える；  署名生成デバイス（signature creation device：ＳＣＤ）と、初期処理デバイス（initial transaction device）と有効性検証デバイス（validation device）とここでは呼ばれるユーザによって保持される好ましくは２つのデバイスである。図２ａから図４ａを参照してより詳細に説明されるように、署名生成デバイスは、実際のデジタル署名生成が実行される場所である。署名生成デバイスは、署名サーバ等のセントラルＳＣＤ、または、スマートカードまたは署名スティックの等のローカル署名生成デバイスであり得る。初期処理デバイスは、ワークステーション、ラップトップコンピュータ、タブレットまたはスマートホン等の任意の電子デバイスであり得る。同様に、有効性検証デバイスは、任意の電子デバイスであってよいが、好ましくは、初期処理デバイスに対して異なる電子デバイスである。２つの独立の通信チャネルがあり、メッセージが即時の検出なしに変更されることを避けるために、セキュリティの適切なレベルでもって"WYSIWYS"を達成するため、初期処理デバイスと有効性検証デバイスの各々に１つである。ただ１つのユーザデバイスが用いられたとすると、信頼されたＧＵＩ（Graphical User Interface）等の追加の改竄防止態様を有しなければならなかったであろう。
【００４５】
始めに、ステップ１００において、ユーザは、彼がデジタル署名を用いてコミットするよう準備された特定のメッセージＭを特定するために初期処理デバイスを用いる。メッセージは、電子形式の取引、ドキュメント、または、購入オーダーであってよい。購入オーダーの形式でのメッセージの例が図１ｂに示される。
【００４６】
初期処理デバイスが安全でないプラットホームであり得る場合、初期処理デバイス上での攻撃者がメッセージを他のものと置き換え得るから、ユーザは、一般的に、このデバイス上でメッセージに署名をすることにコミットできない。従って、ユーザがメッセージＭを受け入れ（Ｓ１０２）、そのメッセージに署名することを望むとすると、署名生成デバイスに署名生成の要求をする（Ｓ１０４）。
【００４７】
メッセージＭに署名するための要求をＳＣＤが受け取ったら（Ｓ１０６）、ＳＣＤは、ユーザがこの特定のメッセージに署名することにコミットしていることの証拠を受け取るまで、署名を生成しない。本質的に、これは、有効性検証デバイスにメッセージ（または、その一部）を送ることによって達成される。従って、ステップＳ１０８において、メッセージの派生バージョンＭ’が生成される。Ｍ’は、メッセージＭの全体であってもよく、または、メッセージＭ内の情報の抽出から生成されてもよい。従って、図１ｂの例では、ハイライトされたフィールド１１がＭ’を形成するために用いられ得る。
【００４８】
Ｍ’は、署名生成デバイスによって生成されるとして図１ａに示されるが、それは、以下に図２ｂ、３ｂ、および４ｂに示されたように、システム内の処理デバイスまたは他のデバイスによって生成されることができる。それは、有効性検証チャレンジの生成のために署名生成デバイスで受け取られる必要がある（Ｓ１１０）。以下により詳細に説明されるように、有効性検証チャレンジは、また、メッセージに基づくか、または、メッセージから派生される。
【００４９】
有効性検証チャレンジは、有効性検証デバイスに送られる（Ｓ１１２）。原メッセージから派生される有効性検証チャレンジの生成によって、ユーザは、署名生成プロセスの一部としての有効性検証のためにユーザに提示される前にそれが変えられていないことを信じるために、受け入れ可能な理由をもって信頼されたソースからこの派生されたメッセージが来ることを保証される。有効性検証デバイス（デバイス上で実行する特定のアプリケーションを含み得る）は、メッセージの派生されたバージョンＭ’を表示する（Ｓ１１４）。ユーザが処理を認識するならば、彼は、有効性検証デバイス上でそれを承認し（Ｓ１１６）、その場合にはユニークな有効性検証コードが生成される（Ｓ１１８）。この有効性検証コードは署名生成デバイスにおいて受け取られ（Ｓ１２０）、処理がセントラルまたはローカルＳＣＤ（Ｓ１２２）によって署名される前に検証されなければならない。検証は、この検証が成功した場合、署名のみが生成され得ることを保証する。
【００５０】
イノベーションは、ＳＣＤがセントラル署名サーバであるかまたはローカルデバイス（スマートカード、ＵＳＢ、署名スティック）であるかどうかに応じて、いくつかの現実化を可能にする。後者の場合、ユニークな有効性検証コードを検証するための様々な現実化がある。
【００５１】
プロセスは、有効性検証デバイスを登録し、いくつかの対称または非対称の鍵でそれを個人的にするために設定されなければならない。これは、当技術において周知であり、従って詳細には記載されない標準的な技術である。
【００５２】
図２ａから図２ｃは、複数のデバイスを用いて強い"WYSIWYS"機能性を提供するための１つの構成を示す。図２ａに示されるように、この構成は、ユーザデバイス：初期処理デバイス１０と有効性検証デバイス１２、を備える。これらのデバイスは、"WYSIWYS"機能性の部分として、お互いに独立である。構成は、また、ユーザデバイスから離れて設置され、セントラル署名生成デバイス１４とセントラル認証および有効性検証デバイス１６とを備えるセントラルシステムを備える。セントラル署名生成デバイス１４は、初期処理デバイス１０に接続され、セントラル認証および有効性検証サーバ１６は、有効性検証デバイス１２に接続される。従って、ユーザデバイス１２、１４の各々は、システムの中央部との個別の独立な通信チャネルを有する。
【００５３】
図２ａにおいて、署名生成デバイス１４とセントラル認証および有効性検証サーバ１６は、お互いに、好ましくは安全な接続を介して、接続される２つの個別のエンティティとして示される。これは、単に、各エンティティがプロセスにおいて異なる機能や役割を有することを示すにすぎない。署名生成デバイス１４とセントラル認証および有効性検証デバイス１６の個々の機能は、また、単一のエンティティ、例えば、単一の署名サーバによって提供され得ることが認識される。
【００５４】
システムまわりの情報の流れは、数字１から８によって示され、図２ｂと２ｃに関連してより詳細に説明される。最初に、矢印１によって示されるように、ユーザは、初期処理デバイス上に表示されているメッセージＭの内容に同意し、受け入れる（Ｓ２００）。受け入れることは、彼が、デジタル署名をもったメッセージにコミットする準備がされていることを意味する。前記メッセージＭは、オプションとして、アプリケーションプロバイダーによって制御されたリモートｗｅｂサーバからｗｅｂ ＨＴＭＬページを受け取っている初期処理デバイスのクライアントブラウザ上で提示され得る。
【００５５】
矢印２ａによって示されたように、ユーザは、メッセージＭまたはそのハッシュされたバージョンのための署名を要求するために、セントラルＳＣＤまたは署名サーバにコンタクトする（Ｓ２０２）。メッセージの派生されたバージョン、Ｍ’と呼ばれる、が生成される。Ｍ’は、Ｍと同じであってよく、または、Ｍから派生されてもよいが、本質的に同じ内容を有する。Ｍは、例えば、購入オーダーであってよく、Ｍ’は、例えば、ＰＯ問い合わせ番号、受領者、額等を有したそのサマリーである。ステップ２０４ａ、２０４ｂ、２０４ｃによって示されるように、Ｍ’は、初期処理デバイス、ＳＣＤまたはセントラル認証および有効性検証サーバによって計算処理される。それがどこで生成されるにかかわらず、矢印２ｂによって示されたように、セントラル認証および有効性検証サーバが最終的にＭ’を受け取ること（Ｓ２０６）を保証するために、セントラルＳＣＤとセントラル認証および有効性検証サーバとの間のやり取りがある。
【００５６】
矢印３とＳ２０８によって示されるように、有効性検証チャレンジＶＣＭ’，ｕｓｅｒが、メッセージＭ’とＭ’に関連付けられたユーザ（そして、従って、原メッセージＭ）のために、セントラル認証および有効性検証サーバによって生成される。この有効性検証チャレンジは、Ｍ’の暗号化によって安全が確保された関数であり、任意の既知の技法を用いて生成され得る。有効性検証チャレンジは、ユーザとセントラル認証および有効性検証サーバにユニークである情報を用いてメッセージＭ’を保護する必要があり、それにより、有効性検証チャレンジが原メッセージＭに基づき、信頼のおけるソースからのものであることを、ユーザが確かだと思い得る。更に、有効性検証デバイスは、有効性検証チャレンジからＭ’を回復することができる必要がある。例えば、有効性検証チャレンジは、認証および有効性検証サーバと有効性検証デバイスとの両方によって共有される対称鍵のもとでの暗号化を用いて生成され得る。同様に、有効性検証チャレンジは、認証および有効性検証サーバと有効性検証デバイスの両方によって共有されるメッセージ認証コード（message authentication code：ＭＡＣ）を用いて生成され得る。代替的に、有効性検証チャレンジは、ユーザに関連付けられた秘密鍵、有効性検証デバイスに存在する秘密鍵の公開部分、を用いて署名されたＭ’のデジタル署名バージョンであり得る。有効性検証チャレンジの生成は、有効性検証チャレンジが生成されることを可能にするために、初期の段階でユニークな情報（例えば、対称鍵、公開／秘密鍵、または、ＭＡＣ）を共有するために、有効性検証デバイスが登録されているか、他に、セントラル認証および有効性検証サーバとリンクされていることを必要とすることが認識される。
【００５７】
破線矢印４およびステップ２１０によって示されるように、有効性検証チャレンジＶＣＭ’，ｕｓｅｒは、有効性検証デバイスに送られる。破線は、有効性検証デバイスとの接続が、例えば、初期処理デバイスを介して間接であり得る、または、以下に記載のように直接であることを示す。更に、有効性検証チャレンジは、送る前に再フォーマットされ得る例えば、規格化されたクイックレスポンス（quick response：ＱＲ）コード（ISO/IEC18004）、または、適当なデバイスによって読むことが可能である類似のバーコードとして再フォーマットされ得る。再フォーマットされた有効性検証チャレンジＶＣＭ’，ＵＳＥＲは、初期処理デバイスに送られ、スクリーンの上に表示され得、それによって、それは、有効性検証デバイス上にあるカスタムアプリケーションソフトウェア（Ａｐｐ）によって制御されたカメラ上等、有効性検証デバイスによって取り込まれ、読まれ得る。
【００５８】
代替的に、有効性検証チャレンジは、ネットワーク上で直接に送られ得、例えば、有効性検証デバイス上にあるカスタムＡＰＰ（アプリケーションソフトウェア）がある場合、ユーザは、有効性検証チャレンジＶＣＭ’，ｕｓｅｒが有効性検証デバイスに届くことを確実にするコマンドプッシュを入力することができ得る。そのような場合に、有効性検証の時点でユーザが物理的に存在することを保証するために、ＰＩＮ、パスワード、または、認証パターンによってＡＰＰへのアクセスを保護することに価値がある。ユーザが物理的に存在することを保証する一つの方法は、ユーザがＡＰＰを開始するためにネットワーク上で要求を送ることであり、それによって、有効性検証チャレンジＶＣＭ’，ｕｓｅｒが、セントラル有効性検証および認証サーバから引き出され、有効性検証デバイスＡＰＰに利用可能にされ得る。
【００５９】
有効性検証チャレンジがどのように送られるにかかわらず、それが有効性検証デバイスで受け取られたならば、有効性検証チャレンジは、メッセージＭ’を再生成するために用いられ、それによって、Ｍ’は、有効性検証デバイススクリーン上に表示され得る（Ｓ２１２）。Ｍ’を引き出すための方法は、有効性検証チャレンジのための生成方法に依存する。例えば、Ｍ’は、成功裡のＭＡＣ有効性検証によって、または、対称暗号化または非対称暗号化技術を用いた解読によって引き出され得る。
【００６０】
矢印５によって示されているように、プロセスにおけるこの地点において、ユーザは、かれの有効性検証デバイス上でメッセージＭ’を読み、それが、かれが署名するようにコミットされているメッセージＭと一致することを検証することができる（Ｓ２１４）。例えば、上記例において、Ｍが購入オーダーであり、Ｍ’がＰＯ問い合わせ番号、受領者、額等の重要なフィールドにおける情報をもったそのサマリーである場合、ユーザは、Ｍを特定するために、当該フィールドからの情報を提示される。有効性検証デバイス上のメッセージＭ’の正しい表示は、ユーザに、それがセントラルＳＣＤによって受け取られていたのでメッセージの内容が変更されていないことの証拠と、Ｍ’の引き出しが成功裡に完了しているので有効性検証チャレンジが信頼されたソースからのものである証拠との両方を与える。実際上もしそうであれば、ユーザは、Ｍ’を承認または有効化し得、有効性検証デバイスＡＰＰは、ユニークな有効性検証コードを計算処理し得る（Ｓ２１６）。Ｍ’が一致しない場合、プロセスは、署名が生成されることなく終了される。有効性検証コードは、OATH challenge response algorithm（ＯＣＲＡ）［RFC 6287- ISSN 2070-1721に記載］、または、 MasterCard CAP、Visa CodeSure ［WO2013013262］、または、Vasco Digipass challenge response based mechanism等の等価な占有技術を含む種々の規格化された方法を用いて生成され得る。従って、有効性検証コードは、好ましくは、有効性検証デバイスとセントラル認証および有効性検証サーバとの間で共有される別のデバイス特定鍵を用いた対称暗号法を用いて生成される。有効性検証コードは、また、リプレイアタックを避けるためにノンスを用いた署名された応答であり得る。有効性検証コードは、ユーザに特有であり、好ましくは、有効性検証チャレンジを生成するために用いられた情報とは異なる情報を用いて生成されなければならない。セントラル認証および有効性検証サーバは、有効性検証コードが有効性検証デバイスからのものであることを確証する必要がある。しかし、有効性検証チャレンジと異なり、セントラル認証および有効性検証サーバが有効性検証コードの中の情報の任意の部分を再生成することは重要なことではない。従って、非対称スキームが、また、使用され得る。
【００６１】
破線矢印６とステップ２１８によって示されているように、有効性検証コードは、セントラル認証および有効性検証サーバに送り返される。これは、例えば、初期処理デバイスを介して、間接的に行われる。１つのシナリオでは、ユーザは、マニュアルで、初期処理デバイス上で有効性検証コードをタイプ入力し、それが、セントラルＳＣＤを介して、セントラル認証および有効性検証サーバに迂回される。代替的に、有効性検証コードは、ネットワーク上で、有効性検証デバイスからセントラル認証および有効性検証サーバに直接に送られ得、これによって、コードがユーザによってタイプ入力されるのを回避する。
【００６２】
ステップ２２０において、有効性検証コードが、セントラル認証および有効性検証サーバによって検証される。検証は、例えば、RFC 6287に記載されたようなOATH OCRAを用いて、任意の規格技術を用いて行われる。矢印７とＳ２２２によって示されるように、検証の結果は、セントラルＳＣＤに安全に送られる（２つが物理的に異なる場合）。
【００６３】
最後に、矢印８によって示されているように、セントラルＳＣＤは、有効性検証コードの検証結果をチェックする（Ｓ２２４）。このチェックは、セントラル認証および有効性検証サーバからのレスポンスが正しく認証されることを確証すること、検証の結果がポジティブであることを確証することを含む。このチェックが正しくないならば、プロセスはメッセージに署名することなく終了される。代替的に、全てが正常であるならば、署名が、ユーザのセントラルＳＣＤを用いてメッセージＭのために生成される（Ｓ２２６）。
【００６４】
最後のステップとして、生成された署名は、従来の方法を用いて、ユーザまたは任意の信頼する者によって検証され得る（Ｓ２２８）。論争がある場合には、セントラル認証および有効性検証サーバのログが、ユーザが有効性検証デバイスを用いて署名にコミットしたことのシステムプルーフを生成するために用いられ得る。
【００６５】
図３ａは、セントラル署名生成デバイスがローカル署名生成デバイスに置き換えられた、図２ａの構成の変形例を示す。ローカルによって、署名生成デバイスが、例えばＵＳＢスティックまたはドングル等のユーザによって所有される（即ち、携えられる）ことを意味する。全ての他のデバイスは同じであり、同じ番号が用いられる。更に、以下により詳細に説明されるように、プロセスにおけるステップの多くは同様であり、従って、両者に共通なステップは、この実施形態に関連してはあまり詳細には説明されない。システム周りの情報の流れは、番号１から１０によって示され、図３ｂと３ｃに関連してより詳細に説明される。
【００６６】
先の構成に置けるように、矢印１によって示されるように、ユーザは、彼の初期処理デバイス上に表示されているメッセージＭの内容に同意し、受け入れる（Ｓ３００）。同様に、先の構成におけるように、矢印２によって示されるように、ユーザは、メッセージＭのための署名を要求するために署名生成デバイスにコンタクトする（Ｓ３０２）。主要な相違は、要求がローカル署名生成デバイスに送られることである。
【００６７】
再び、Ｍ’と呼ばれる、メッセージの派生されたバージョンが初期処理デバイスによって生成され（Ｓ３０４ａ）、ＳＣＤによって生成され（３０４ｂ）、または、セントラル認証および有効性検証サーバによって生成される（３０４ｃ）。しかし、先の構成とは対照的に、Ｍ’が初期処理デバイスによって生成される（Ｓ３０４ａ）またはＳＣＤによって生成される（３０４ｂ）場合、メッセージＭ’は、セントラル認証および有効性検証サーバがメッセージＭ’を信頼することができることを保証するために、メッセージＭ’がセントラル認証および有効性検証サーバに送られる前に、ローカルＳＣＤによって認証される（Ｓ３０５）。認証は、署名など、任意の既知の技術によって行われ得る。この構成では、ＳＣＤとセントラル認証および有効性検証サーバとの間の安全な接続がない。従って、認証は、セントラル認証および有効性検証サーバが、メッセージＭ’がローカルＳＣＤから受け取られていることを信頼できることを保証する。
【００６８】
矢印５によって示されたような有効性検証チャレンジを生成する前に、セントラル認証および有効性検証サーバが、Ｍ’がユーザのＳＣＤから来ることを保証するために、いくつかのオプションとしての検証を実行し得る（Ｓ３０７）。これらのオプションとしてのステップは、ハードウェアセキュリティモジュール（hardware security module：ＨＳＭ）、または、セントラル認証および有効性検証サーバの安全なコンパウンドによって実行され得る。これらの検証は、正しい証明書がユーザによって選択され、その証明書が有効であり、ローカルＳＣＤが、それが署名を実行する前に接続され、機能しうることを保証し得る。これらのオプションとしての検証が完了したら、有効性検証チャレンジＶＣＭ’，ｕｓｅｒが、メッセージＭ’とＭ’に関連付けられたユーザのために、セントラル認証および有効性検証サーバによって生成される（Ｓ３０８）。この有効性検証チャレンジは、上述のように生成される。
【００６９】
次の数ステップは上述されている。従って、破線矢印６とステップ３１０によって示されたように、有効性検証チャレンジＶＣＭ’，ｕｓｅｒは、有効性検証デバイスに、直接または間接的に送られる。有効性検証チャレンジがどのように送られるかにかかわらず、それが有効性検証デバイスで受け取られれば、有効性検証チャレンジは、Ｍ’が有効性検証デバイスのスクリーン上で表示され得る（Ｓ３１２）ように、メッセージＭ’を再生成するために用いられる。矢印７によって示されているように、プロセスのこの地点で、ユーザは、彼の有効性検証デバイス上でメッセージＭ’を読むことができ、それが、彼がサインしようとコミットされているメッセージＭと合致することを検証する（Ｓ３１４）。有効性検証デバイスは、次に、上述のように、ユニークな有効性検証コードを計算処理する。破線矢印８とステップＳ３１８によって示されるように、有効性検証コードが、セントラル認証および有効性検証サーバに直接または間接的に送り返される。
【００７０】
先の構成におけるように、ステップ３２０において、有効性検証コードが、セントラル認証および有効性検証サーバによって検証される。しかし、矢印９とＳ３２２によって示されるように、この検証の結果は、次に、（図２ａのセントラルＳＣＤではなく）ローカルＳＣＤに安全に送られる。安全な送信は、検証の結果に署名するおよび／または暗号化すること等による既知の技術によって達成され得る。最後に、矢印１０によって示されるように、セントラルＳＣＤが、有効性検証コードの検証の結果をチェックする（Ｓ３２４）。このチェックは、セントラル認証および有効性検証サーバからの応答が正しく認証されることを確証することと、検証の結果がポジティブであることを確証することとを含む。このチェックが正しくない場合、プロセスは、メッセージに署名することなく終了される。代替的に、全てが正常である場合は、ユーザは、かれが有効性検証デバイス上で承認したメッセージＭ’に実際に対応していることに確信を持つことができ、結果、メッセージＭ（または、そのハッシュ）が最終的に署名され得る。
【００７１】
従って、ローカルＳＣＤを用いて、デジタル署名がメッセージＭのために生成される（Ｓ３２６）。オプションとして、セントラル認証および有効性検証サーバからの応答および／または有効性検証コードは、署名された署名属性として付与され得る。前のように、生成された署名は、これまでの方法を用いて、ユーザまたは任意の信頼する者によって検証され得る。論争がある場合には、セントラル認証および有効性検証サーバのログが、ユーザが有効性検証デバイスを用いて署名をすることにコミットされていたことのシステムプルーフを生成するために用いられる。
【００７２】
上記構成は、ローカル署名生成デバイスを有するにかかわらず、セントラル認証および有効性検証サーバが必要とされるという不利な点を有する。図４ａは、図３ａの構成の変形を示し、ローカル署名生成デバイス２４がセントラル認証および有効性検証サーバの機能性を提供する。この構成において、全ての動作は、ネットワーク接続を必要とすることなくローカルに完了される。署名生成デバイス２４は、Ｍ上に署名をする前に、有効性検証コードを検証する。ローカル署名生成デバイスが、有効性検証デバイス１２上に表示され、承認されたメッセージ上に署名を生成するためにのみ用いられ得ることを、これが保証する。ローカルで、署名生成デバイスは、ＵＳＢスティックまたはドングルといった、ユーザによって所有される（即ち、携えられる）。初期処理および有効性検証デバイスは、前のものと同じであり、従って、同じ番号が用いられている。更に、以下により詳細に説明されるように、プロセスにおけるステップの多くは同様であり、従って、両者に共通なステップは単に前の説明を参照する。システム周りの情報の流れは、番号１から８によって示され、図４ｂと４ｃに関連してより詳細に説明される。
【００７３】
先の構成におけるように、矢印１で示されるように、ユーザは、彼の初期処理デバイス上に表示されているメッセージＭの内容に同意し、受け入れる（Ｓ４００）。同様に、先の構成におけるように、矢印２で示されるように、ユーザは、メッセージＭのための署名を要求するために、ローカル署名生成デバイスにコンタクトする（Ｓ４０２）。再び、Ｍ’と呼ばれるメッセージの派生されたバージョンが、初期処理デバイスによって生成される（Ｓ４０４ａ）またはＳＣＤによって生成される（Ｓ４０４ｂ）。
【００７４】
先の構成とは対照的に、矢印３によって示されるように、セントラル認証および有効性検証サーバではなくローカルＳＣＤが、メッセージＭ’およびＭ’に関連付けられたユーザのための有効性検証チャレンジＶＣＭ’，ｕｓｅｒを生成する（Ｓ４０８）。この有効性検証チャレンジは、上述と同じメカニズムを用いて生成され；唯一の違いは、それらが、セントラル認証および有効性検証サーバではなく、ローカルＳＣＤ上で実行されることである。
【００７５】
先の構成に示されたように、破線矢印４とステップ４１０によって示されたように、有効性検証チャレンジＶＣＭ’，ｕｓｅｒは、直接または間接的に、有効性検証デバイスに送られる。有効性検証チャレンジがどのように送られるかにかかわらず、それが有効性検証デバイスで受け取られたら、有効性検証チャレンジは、メッセージＭ’を再生成するために用いられ、Ｍ’は、有効性検証デバイスのスクリーン上に表示される（Ｓ４１２）。矢印５で示されたように、プロセスのこの地点で、ユーザは有効性検証デバイス上でメッセージＭ’を読み、それが、彼が署名しようとコミットされているメッセージＭと合致していることを検証できる。妥当性検証デバイスは、次に、上述のように、ユニークな有効性検証コードを計算処理する（Ｓ４１６）。
【００７６】
この構成において、セントラル認証および有効性検証サーバはなく、従って、有効性検証コードは検証のためにそこに送られることはできない。従って、有効性検証コードが有効性検証デバイスからローカルＳＣＤに直接送られるのではなく、有効性検証コードは、有効性検証デバイス上に表示され、ユーザは、有効性検証コードを初期処理デバイスに入力する。これは、破線矢印６とＳ４１８によって示される。矢印７とＳ４２０は、次に、有効性検証コードが初期処理デバイスからローカルＳＣＤに送られることを示す。従って、有効性検証コードは、有効性検証デバイスからローカルＳＣＤに間接的に送られる。有効性検証コードは、メッセージＭに署名するために、ローカルＳＣＤへの要求の部分として送られ得る。
【００７７】
先の構成とは対照的に、ステップＳ４２４において、有効性検証コードは、ローカルＳＣＤによって検証される。従って、この構成において、有効性検証デバイスとローカルＳＣＤはお互いに登録される必要があり、有効性検証コードが有効性検証デバイスからのものであることを、ローカルＳＣＤが確証できるように用いられることができる秘密鍵または類似の秘密をそれらが共有する。ローカルＳＣＤと有効性検証デバイスとの間の認証は、任意の既知の方法を用い得る。例えば、秘密鍵は対称鍵、即ち、暗号化テキストを生成するための平文の暗号化と、平文に戻すための暗号化文の複合化の両方に用いられ得る鍵、であってよい。秘密鍵は、ローカルＳＣＤと有効性検証デバイスの両方の上での、好ましくは長いパスワードを入力することによる初期化フェーズまたはパスシーケンスにおいて交換され得る。しかし、秘密鍵の他の交換も可能である。秘密鍵が記憶されると、署名のための要求は、ローカルＳＣＤにおいて秘密鍵を用いるために必要とされるアクセスコード（例えば、ＰＩＮ）を含み得る。
【００７８】
検証プロセスに続いて全てが正常であるならば、有効性検証コードが、実際に、有効性検証デバイス上で承認したメッセージＭ’に対応するとの確信を持つことができ、メッセージＭ（または、そのハッシュ）は最終的に署名され得る。従って、デジタル署名がローカルＳＣＤを用いてメセージＭのために生成される（Ｓ４２６）。オプションとして、Ｍ’および／または有効性検証コードは、署名された署名属性として付与され得る。
【００７９】
上述のように、有効性検証デバイスと初期処理デバイスは、この中に記載された機能を実行するとめの特定用途コンピュータであるように、ソフトウェアによって変更されている（例えば、プログラムされる、または、構成される）任意の形態の電子デバイスであってよい。図５ａは、有効性検証デバイスまたは初期処理デバイスのいずれかのコンポーネントを概略的に示す。各々は、コードおよびデータメモリ５４、入力／出力システム５６（例えば、ネットワークおよび／または記憶媒体および／または他の通信）、例えばキーボードおよび／またはマウスを備えるユーザインタフェース５８、ユーザディスプレイ６２に結合されたプロセッサ５２を備える。また、図２ｂのステップＳ２１０に関連して上述されたように、有効性検証チャレンジのバーコードまたは類似の読取可能バージョンが生成されるときに用いられ得るオプションとしてのカメラ６４が存在し得る。メモリ５４に記憶されたコードおよび／またはデータは、取り外し可能な記憶媒体上に与えられてもよい。
【００８０】
有効性検証デバイスについて、入力／出力システム５６は、有効性検証チャレンジを受けるために用いられ得、または、代替的に、カメラ６４が、初期処理デバイス上に表示されているバーコードから有効性検証チャレンジを獲得するために用いられ得る。プロセッサ５２は、有効性検証チャレンジからメッセージＭ’を再生成するために用いられ得、ユーザディスプレイ６２は、メッセージＭ’を表示するために用いられる。そして、ユーザインタフェース５８は、メッセージＭ’が正しい場合にメッセージＭ’を承認するため、および、有効性検証コードを計算するために、ユーザによって用いられ得る。ディスプレイ６２は、ユーザに有効性検証コードを表示し得、入力／出力システム５６は、システムの適切な部分にこの有効性検証コードを通信し得る。メモリ５４に記憶されたデータは、任意の入ってくるデータの検証および／または解読のために要求される必要な共有された秘密、例えば、図４ａの構成におけるローカルＳＣＤとのみ共有される、または、図２ａと３ａの構成におけるセントラル認証および有効性検証サーバと共有される秘密のペアを含み得る。秘密のペアは、好ましくは、メッセージＭ’を再生成するために入ってくる有効性検証チャレンジを解読および／または検証するための１つ、有効性検証コードを生成するための１つの、２つの異なる情報を備える。
【００８１】
初期処理デバイスについて、ユーザディスプレイ６２は、原メッセージＭを表示するために用いられ得、そして、ユーザインタフェース５８はメッセージＭのための署名を要求するためにユーザによって用いられ得る。ユーザディスプレイ６２は、また、例えばバーコードの形式で、有効性検証チャレンジを表示するために用いられ得る。ユーザインタフェース５８は、有効性検証コードが署名生成デバイスに送られ得るように、有効性検証コードを入力するために用いられ得る。
【００８２】
図５ｂは、署名生成デバイス（ローカルまたはセントラル）、または、セントラル認証および有効性検証サーバのコンポーネントを示す。各々は、コードおよびデータメモリ７４と入力／出力システム７６（例えば、ネットワークおよび／または記憶媒体および／または他の通信のためのインタフェースを備える）とに結合されるプロセッサ７２を備える。メモリ７４に記憶されたコードおよび／またはデータは、取り外し可能な記憶媒体上に与えられてもよい。デバイスは、また、有効性検証デバイスと共有される秘密のペアを備えるユーザデータベース７８を備える。ユーザデータベースは、個別のコンポーネントとして示されているが、同じデバイスに統合され得る。デバイスは、また，ハードウェアセキュリティモジュール８０を備える。ＨＳＭは、ＳＣＤの場合に、署名鍵を保護し、用いるために使用され得る。ＨＳＭは、認証および有効性検証サーバにおいて有効性検証チャレンジとコードを保護する鍵を保護し用いるために用いられ得る。
【００８３】
図２ａおよび３ａの構成において、セントラル認証および有効性検証サーバのためのプロセッサ７２は、有効性検証チャレンジを生成し得、入力／出力システムは、それを、有効性検証デバイスに送り得る。有効性検証コードは、入力／出力システム７６を介して受け取られ得、プロセッサ７２によって検証される。そして、検証の結果は、署名生成デバイスに送られ得る。
【００８４】
全ての構成において、署名生成デバイスについて、プロセッサ７２が、ユーザデータベース７８に記憶された秘密情報を用いて署名を生成し得る。更に、図４ａの構成において、署名生成デバイスのためのプロセッサ７２は、有効性検証チャレンジを生成し得、入力／出力システム７６はそれを有効性検証デバイスに送る。有効性検証コードは、入力／出力システム７６を介して受信され、プロセッサ７２によって検証される。
【００８５】
図５ｂは、単一または複数のセントラルプロセッシングユニット、例えば、マイクロプロセッサ、から実装され得る複数の内部コンポーネントをもった単一の計算処理デバイスを示す。デバイスの機能性は、いくつかの計算処理デバイスを通して分散され得ることが認識される。また、個々のコンポーネントが、組み合わされた機能性を提供するために１つまたは複数のコンポーネントに組み合され得ることも認識される。更に、図５ｂに示されたモジュール、データベース、または、デバイスの任意のものが、この中に記載された機能を実行するために特定用途コンピュータであるように、ソフトウェアによって変更される（例えば、プログラムされるまたは構成される）汎用コンピュータに実装され得る。
【００８６】
疑いなく、多くの他の有効な代替案が技量に習熟した者に生じる。発明は、記載された実施形態に限定されず、本明細書に添付された特許請求の範囲の真意と範囲の中に入る、本技術に技量を有した者にとって明らかな変更を包含することが理解される。
本願出願時の特許請求の範囲に記載された発明を以下に付記する。
［Ｃ１］
第１のユーザデバイスと第２のユーザデバイスとを有するユーザのために署名を生成する方法であって、
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
前記第１のメッセージＭに基づいた第２のメッセージＭ’と、前記ユーザと共有された第１の秘密とを用いて有効性検証チャレンジを生成することと、
前記第２のユーザデバイスが前記第２のメッセージＭ’を再生成することを可能にするために、前記有効性検証チャレンジを前記ユーザに送ることと、
前記第２のユーザデバイスから有効性検証コードを受けることと、前記有効性検証コードは、署名を生成するための前記要求を確証する、
前記第１のメッセージＭについて、前記ユーザのために前記署名を生成することと、
を備える方法。
［Ｃ２］
前記第２のメッセージＭ’は、前記第１のメッセージと同じである、［Ｃ１］に記載の方法。
［Ｃ３］
前記有効性検証チャレンジは、前記共有された第１の秘密を用いて前記第２のメッセージＭ’を暗号化することによって生成される、［Ｃ１］または［Ｃ２］に記載の方法。
［Ｃ４］
前記第２のユーザデバイスによって読むことが可能なバーコードとして前記有効性検証チャレンジを再フォーマットすることと、再フォーマットされた有効性検証チャレンジを前記ユーザに送ることと、を更に備えた、［Ｃ１］乃至［Ｃ３］のいずれか一項に記載の方法。
［Ｃ５］
前記署名を生成する前に前記有効性検証コードを検証することを備える、［Ｃ１］乃至［Ｃ４］のいずれか一項に記載の方法。
［Ｃ６］
前記有効性検証コードは、第２の共有された秘密を用いて検証される、［Ｃ５］に記載の方法。
［Ｃ７］
前記第２の共有された秘密は、前記共有された第１の秘密とは異なる、［Ｃ６］に記載の方法。
［Ｃ８］
前記共有された第１の秘密および／または第２の共有された秘密を得るために、前記第２のユーザデバイスにあらかじめ登録することを更に備える、［Ｃ１］乃至［Ｃ７］のいずれか一項に記載の方法。
［Ｃ９］
署名生成デバイスからの第１のメッセージＭのための署名の要求を有効性検証する方法であって、
前記署名生成デバイスから有効性検証チャレンジを受けることと、前記有効性検証チャレンジは、前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記署名生成デバイスとユーザとの間で共有される第１の秘密とを用いて生成されている、
前記共有された第１の秘密を用いて前記有効性検証チャレンジから前記第２のメッセージＭ’を生成することと、
前記ユーザに前記第２のメッセージＭ’を表示することと、
表示されている前記第２のメッセージＭ’が前記第１のメッセージＭと対応していることの確証を受けることと、
前記署名を生成するための前記要求を確証する有効性検証コードを生成することと、
前記有効性検証コードを出力することと、を備える方法。
［Ｃ１０］
前記第２のメッセージＭ’は、前記第１のメッセージＭと同じである、［Ｃ９］に記載の方法。
［Ｃ１１］
前記第２のメッセージＭ’は、前記共有される第１の秘密を用いて前記有効性検証チャレンジを解読することによって生成される、［Ｃ９］または［Ｃ１０］に記載の方法。
［Ｃ１２］
前記署名生成デバイスと共有された第２の秘密を用いて前記有効性検証コードを生成することを備える、［Ｃ９］乃至［Ｃ１１］のいずれか一項に記載の方法。
［Ｃ１３］
対称鍵である前記第２の秘密での暗号化を用いて前記有効性検証コードを生成することを備える、［Ｃ１２］に記載の方法。
［Ｃ１４］
認証および有効性検証デバイスから前記有効性検証チャレンジを受けることを備える、［Ｃ９］乃至［Ｃ１３］のいずれか一項に記載の方法。
［Ｃ１５］
前記有効性検証コードを前記認証および有効性検証デバイスに出力することを備える、［Ｃ１４］に記載の方法。
［Ｃ１６］
署名生成デバイスから前記有効性検証チャレンジを受けることを備える、［Ｃ９］乃至［Ｃ１３］のいずれか一項に記載の方法。
［Ｃ１７］
ユーザのために署名を生成する方法であって、
第１のユーザデバイスの上に第１のメッセージＭを表示することと、
前記第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから署名サーバに要求を送ることと、
第１のメッセージＭに基づく第２のメッセージＭ’を生成することと、
前記第２のメッセージＭ’と、前記ユーザと前記署名サーバとの間で共有される第１の秘密とを用いて、有効性検証チャレンジを生成することと、
第２のユーザデバイスに前記有効性検証チャレンジを送ることと、
前記共有される第１の秘密を用いて、前記第２のユーザデバイスの上で前記第２のメッセージＭ’を再生成することと、
前記第２のユーザデバイスの上に前記第２のメッセージＭ’を表示することと、
前記表示された第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザ確証を受けることと、
署名を生成するための前記要求を確証する有効性検証コードを生成することと、
前記第２のユーザデバイスから前記署名サーバに、前記有効性検証コードを送ることと、
前記第１のメッセージＭのために前記ユーザのための前記署名を生成することと、
を備える方法。
［Ｃ１８］
前記署名を生成する前に、前記有効性検証コードを検証することを更に備える、［Ｃ１７］に記載の方法。
［Ｃ１９］
プロセッサ上で実行するときに、［Ｃ１］乃至［Ｃ１８］のいずれか一項に記載の方法を実装するためのプロセッサ制御コードを運ぶキャリア。
［Ｃ２０］
ユーザのために署名を生成するための署名サーバであって、前記ユーザは、第１のユーザデバイスと第２のユーザデバイスとを有し、  前記署名サーバは、
第１のメッセージＭのための署名を生成するために、前記第１のユーザデバイスから要求を受けることと、
前記第１のメッセージＭに基づいた第２のメッセージＭ’と、前記ユーザと共有される第１の秘密とを用いて有効性検証チャレンジを生成することと、
前記第２のユーザデバイスが第２のメッセージＭ’を再生成できるように、前記有効性検証チャレンジを前記ユーザに送ることと、
前記第２のユーザデバイスから有効性検証コードを受けることと、前記有効性検証コードは、署名を生成するための前記要求を確証する、
前記第１のメッセージＭのために前記ユーザのための署名を生成することと、
から構成される、署名サーバ。
［Ｃ２１］
前記ユーザのための署名を生成するために署名生成デバイスを備える、［Ｃ２０］に記載の署名サーバ。
［Ｃ２２］
前記署名生成デバイスは、ユーザにローカルである、［Ｃ２１］に記載の署名サーバ。
［Ｃ２３］
前記署名生成デバイスは、有効性検証チャレンジを生成する、［Ｃ２１］または［Ｃ２２］のいずれか一項記載の署名サーバ。
［Ｃ２４］
前記署名生成デバイスと前記第２のユーザデバイスの両方は、前記共有される第１の秘密を記憶する、［Ｃ２３］に記載の署名サーバ。
［Ｃ２５］
前記有効性検証チャレンジを生成するために認証および有効性検証サーバを備える、［Ｃ２０］乃至［Ｃ２２］のいずれか一項に記載の署名サーバ。
［Ｃ２６］
前記認証および有効性検証サーバと前記第２のユーザデバイスの両方は、前記共有される第１の秘密を記憶する、［Ｃ２５］に記載の署名サーバ。
［Ｃ２７］
前記認証および有効性検証サーバは、ユーザから離れている［Ｃ２５］または［Ｃ２６］のいずれか一項に記載の署名サーバ。
［Ｃ２８］
第１のメッセージＭのための署名の要求を有効性検証するためのユーザのための有効性検証デバイスであって、
署名生成デバイスから有効性検証チャレンジを受けることと、前記有効性検証チャレンジは、前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記署名生成デバイスと前記有効性検証デバイスとの間で共有される第１の秘密とを用いて生成されている、
前記共有される第１の秘密を用いて前記有効性検証チャレンジから前記第２のメッセージＭ’を生成することと、
前記ユーザに前記第２のメッセージＭ’を表示することと、
前記第２のメッセージＭ’が前記第１のメッセージＭに対応することのユーザ確証を受けることと、
前記署名を生成するために前記要求を確証する有効性検証コードを生成することと、
前記有効性検証コードを出力することと、
から構成される有効性検証デバイス。
［Ｃ２９］
前記第２のメッセージＭ’は、前記第１のメッセージＭと同じである、［Ｃ２８］に記載の有効性検証デバイス。
［Ｃ３０］
前記第２のメッセージＭ’は、前記共有される第１の秘密を用いて前記有効性検証チャレンジを解読することによって生成される、［Ｃ２８］または［Ｃ２９］のいずれか一項に記載の有効性検証デバイス。
［Ｃ３１］
前記有効性検証デバイスは、前記署名生成デバイスと共有され、前記有効性検証デバイスの上に記憶された第２の秘密を用いて前記有効性検証コードを生成するよう構成される、［Ｃ２８］乃至［Ｃ３０］のいずれか一項に記載の有効性検証デバイス。
［Ｃ３２］
前記有効性検証デバイスは、対称鍵である前記第２の秘密での暗号化方法を用いて前記有効性検証コードを生成するよう構成される、［Ｃ３１］に記載の有効性検証デバイス。
［Ｃ３３］
前記有効性検証デバイスは、認証および有効性検証デバイスから前記有効性検証チャレンジを受けるよう構成される、［Ｃ２８］乃至［Ｃ３２］のいずれか一項に記載の有効性検証デバイス。
［Ｃ３４］
前記有効性検証デバイスは、前記有効性検証コードを前記認証および有効性検証デバイスに出力するよう構成される、［Ｃ３３］に記載の有効性検証デバイス。
［Ｃ３５］
前記有効性検証デバイスは、署名生成デバイスから前記有効性検証チャレンジを受けるよう構成される、［Ｃ２８］乃至［Ｃ３４］のいずれか一項に記載の有効性検証デバイス。
［Ｃ３６］
［Ｃ２０］乃至［Ｃ２７］のいずれか一項に記載の署名サーバと、［Ｃ２８］乃至［Ｃ３５］のいずれか一項に記載の有効性検証デバイスとを備える、ユーザのための署名生成システム。
［Ｃ３７］
署名サーバ、ユーザのための初期処理デバイス、および、ユーザのための有効性検証デバイスを備えたシステムであって、
前記初期処理デバイスは、
第１のメッセージＭを表示することと、
前記第１のメッセージＭのための署名を生成するために前記署名サーバに要求を送ることと、
をするよう構成され、
前記署名サーバは、
前記第１のメッセージＭに基づく第２のメッセージＭ’と、前記ユーザと前記署名サーバとの間で共有される第１の秘密とを用いて有効性検証チャレンジを生成することと、
前記有効性検証デバイスに前記有効性検証チャレンジを送ることと、
をするように構成され、
前記有効性検証デバイスは、
前記共有される第１の秘密を用いて前記第２のメッセージＭ’を再生成することと、
前記第２のメッセージＭ’を表示することと、
前記表示された第２のメッセージＭが前記第１のメッセージＭに対応することのユーザ確証を受けることと、
署名を生成するための前記要求を確証する有効性検証コードを生成することと、
前記有効性検証コードを前記署名サーバに送ることと、
をするように構成され、
前記署名サーバは、前記第１のメッセージＭのために前記ユーザのための署名を生成する、システム。
【図１ａ】
0006585038.tif 000002
【図１ｂ】
0006585038.tif 000003
【図２ａ】
0006585038.tif 000004
【図２ｂ】
0006585038.tif 000005
【図２ｃ】
0006585038.tif 000006
【図３ａ】
0006585038.tif 000007
【図３ｂ】
0006585038.tif 000008
【図３ｃ】
0006585038.tif 000009
【図４ａ】
0006585038.tif 000010
【図４ｂ】
0006585038.tif 000011
【図４ｃ】
0006585038.tif 000012
【図５ａ】
0006585038.tif 000013
【図５ｂ】
0006585038.tif 000014