(57)【特許請求の範囲】
【請求項１】
第3者サーバにおいて使用され、
第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を得るステップであって、前記第1の鍵が、決済サーバにおける前記第3者決済識別子に対応する鍵であり、前記第3者決済識別子が、前記決済サーバにおける第3者の一意識別子である、ステップと、
第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を得るステップであって、前記第1の署名情報が、前記第3者決済識別子、前記決済情報、および前記第1の署名を含み、前記第2の鍵が、クライアントサーバにおける前記第3者クライアント識別子に対応する鍵であり、前記第3者クライアント識別子が、前記クライアントサーバにおける前記第3者の一意識別子である、ステップと、
前記クライアントサーバが、前記第2の鍵、前記第3者クライアント識別子、および前記第1の署名情報によって前記第2の署名の検証に成功したとき、前記クライアントサーバが前記第1の署名情報を検証のために前記決済サーバに送信するように、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の署名を検証のために前記クライアントサーバに提供するステップとを含み、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証方法。
【請求項２】
第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を得る前記ステップが、
前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第1の文字列を生成するステップと、
第1の非可逆暗号化方法で前記第1の文字列を暗号化して前記第1の署名を得るステップとを含む、請求項1に記載の方法。
【請求項３】
第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を得る前記ステップが、
前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後、第2の文字列を生成するステップと、
第2の非可逆暗号化方法で前記第2の文字列を暗号化して前記第2の署名を得るステップとを含む、請求項1に記載の方法。
【請求項４】
前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第1の文字列を生成する前記ステップの前に、前記方法が、
第1のタイムスタンプおよび第1の無作為な文字列のうちの少なくとも一方を獲得するステップをさらに含み、
前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第1の文字列を生成する前記ステップが、
獲得された第1のタイムスタンプおよび/または獲得された第1の無作為な文字列、前記第3者決済識別子、前記決済情報、ならびに前記第1の鍵が前記第1の配列規則に従って配列された後に前記第1の文字列を生成するステップを含む、請求項2に記載の方法。
【請求項５】
第1のタイムスタンプおよび第1の無作為な文字列のうちの少なくとも一方を獲得する前記ステップの後に、
前記獲得された第1のタイムスタンプおよび/または前記獲得された第1の無作為な文字列を前記第1の署名情報に追加するステップをさらに含む、請求項4に記載の方法。
【請求項６】
前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後、第2の文字列を生成する前記ステップの前に、前記方法が、
第2のタイムスタンプおよび第2の無作為な文字列のうちの少なくとも一方を獲得するステップをさらに含み、
前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後、第2の文字列を生成する前記ステップが、
獲得された第2のタイムスタンプおよび/または獲得された第2の無作為な文字列、前記第3者クライアント識別子、前記第1の署名情報、ならびに前記第2の鍵が前記第2の配列規則に従って配列された後に前記第2の文字列を生成するステップを含む、請求項3に記載の方法。
【請求項７】
前記第3者クライアント識別子、前記第1の署名情報、および前記第2の署名を検証のために前記クライアントサーバに提供する前記ステップが、
前記第2のタイムスタンプおよび/または前記第2の無作為な文字列、前記第3者クライアント識別子、前記第1の署名情報、ならびに前記第2の署名を検証のために前記クライアントサーバに送信するステップを含む、請求項6に記載の方法。
【請求項８】
クライアントサーバにおいて使用され、
第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得するステップであって、前記第3者クライアント識別子が、前記クライアントサーバにおける第3者の一意識別子であり、前記第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、前記第2の署名が、第2の鍵によって前記第3者クライアント識別子および前記第1の署名情報を暗号化することによって前記第3者サーバによって取得される、ステップと、
前記第3者クライアント識別子に対応する前記第2の鍵を問い合わせるステップと、
前記第2の鍵、前記第3者クライアント識別子、および前記第1の署名情報によって前記第2の署名を検証するステップと、
検証が成功したときに、検証のために決済サーバに前記第1の署名情報を送信するステップとを含み、
前記第3者決済識別子が、前記決済サーバにおける前記第3者の一意識別子であり、前記第1の署名が、第1の鍵によって前記第3者決済識別子および前記決済情報を暗号化することによって前記第3者サーバにより取得され、前記第1の鍵が、前記決済サーバにおける前記第3者決済識別子に対応する鍵であり、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証方法。
【請求項９】
前記第2の鍵および前記第1の署名情報によって前記第2の署名を検証する前記ステップが、
前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後、第3の文字列を生成するステップと、
第2の非可逆暗号化方法で前記第3の文字列を暗号化して第3の署名を取得するステップと、
前記第3の署名が前記第2の署名と一貫性があるかどうかを判定するステップと、
判定結果が前記第3の署名が前記第2の署名と一貫性があるということである場合、前記検証が成功したと判定するステップと、
前記判定結果が前記第3の署名が前記第2の署名と一貫性がないということである場合、前記検証が失敗したと判定するステップとを含む、請求項8に記載の方法。
【請求項１０】
前記第3者サーバによって送信され、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の署名に対応する第2のタイムスタンプを受信するステップと、
前記第2のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するステップと、
検出結果が前記第2のタイムスタンプが前記予め定義された時間の範囲内にあることである場合に、前記第3者クライアント識別子に対応する前記第2の鍵を問い合わせる前記ステップを実行するステップとをさらに含む、請求項8または9に記載の方法。
【請求項１１】
決済サーバにおいて使用され、
クライアントサーバによって送信された第1の署名情報を受信するステップであって、前記第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、前記第3者決済識別子が、決済サーバにおける第3者の一意識別子であり、前記第1の署名が、第1の鍵によって前記第3者決済識別子および前記決済情報を暗号化することによって第3者サーバにより取得される、ステップと、
前記第3者決済識別子に対応する前記第1の鍵を問い合わせるステップと、
前記第1の鍵、前記第3者決済識別子、および前記決済情報によって前記第1の署名を検証するステップと、
検証が成功したときに、前記決済情報に応答するステップとを含み、
前記第1の署名情報が、前記クライアントサーバが第2の鍵、第3者クライアント識別子、および前記第1の署名情報によって第2の署名を検証することに成功した後に前記クライアントサーバによって送信され、前記第2の署名が、前記第2の鍵によって前記第3者クライアント識別子および前記第1の署名情報を暗号化することによって前記第3者サーバにより取得され、前記第2の鍵が、前記クライアントサーバにおける前記第3者クライアント識別子に対応する鍵であり、前記第3者クライアント識別子が、前記クライアントサーバにおける前記第3者の一意識別子であり、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証方法。
【請求項１２】
前記第1の鍵、前記第3者決済識別子、および前記決済情報によって前記第1の署名を検証する前記ステップが、
前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第4の文字列を生成するステップと、
第1の非可逆暗号化方法で前記第4の文字列を暗号化して第4の署名を得るステップと、
前記第4の署名が前記第1の署名と一貫性があるかどうかを判定するステップと、
判定結果が前記第4の署名が前記第1の署名と一貫性があるということである場合、前記検証が成功したと判定するステップと、
前記判定結果が前記第4の署名が前記第1の署名と一貫性がないということである場合、前記検証が失敗したと判定するステップとを含む、請求項11に記載の方法。
【請求項１３】
前記第1の署名情報が第1のタイムスタンプをさらに含む場合、前記第3者クライアント識別子に対応する前記第1の鍵を問い合わせる前記ステップの前に、前記方法が、
前記第1のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するステップと、
検出結果が前記第1のタイムスタンプが前記予め定義された時間の範囲内にあることである場合、前記第3者決済識別子に対応する前記第1の鍵を問い合わせる前記ステップを実行するステップとをさらに含む、請求項11または12に記載の方法。
【請求項１４】
第3者サーバにおいて使用され、
第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を取得するように構成された第1の署名モジュールであって、前記第1の鍵が、決済サーバにおける前記第3者決済識別子に対応する鍵であり、前記第3者決済識別子が、前記決済サーバにおける第3者の一意識別子である、第1の署名モジュールと、
第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を取得するように構成された第2の署名モジュールであって、前記第1の署名情報が、前記第3者決済識別子、前記決済情報、および前記第1の署名を含み、前記第2の鍵が、クライアントサーバにおける前記第3者クライアント識別子に対応する鍵であり、前記第3者クライアント識別子が、前記クライアントサーバにおける前記第3者の一意識別子である、第2の署名モジュールと、
前記クライアントサーバが、前記第2の鍵、前記第3者クライアント識別子、および前記第1の署名情報によって前記第2の署名の検証に成功したとき、前記クライアントサーバが前記第1の署名情報を検証のために前記決済サーバに送信するように、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の署名を検証のために前記クライアントサーバに提供するように構成された第1の提供モジュールとを含み、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証装置。
【請求項１５】
前記第1の署名モジュールが、第1の生成ユニットおよび第1の暗号化ユニットを含み、
前記第1の生成ユニットが、前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第1の文字列を生成するように構成され、
前記第1の暗号化ユニットが、第1の非可逆暗号化方法で前記第1の文字列を暗号化して前記第1の署名を得るように構成される、請求項14に記載の装置。
【請求項１６】
前記第2の署名モジュールが、第2の生成ユニットおよび第2の暗号化ユニットを含み、
前記第2の生成ユニットが、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後、第2の文字列を生成するように構成され、
前記第2の暗号化ユニットが、第2の非可逆暗号化方法で前記第2の文字列を暗号化して前記第2の署名を得るように構成される、請求項14に記載の装置。
【請求項１７】
第1のタイムスタンプおよび第1の無作為な文字列のうちの少なくとも一方を獲得するように構成された第1の獲得モジュールをさらに含み、
前記第1の生成ユニットが、獲得された第1のタイムスタンプおよび/または獲得された第1の無作為な文字列、前記第3者決済識別子、前記決済情報、ならびに前記第1の鍵が前記第1の配列規則に従って配列された後に前記第1の文字列を生成するようにさらに構成される、請求項15に記載の装置。
【請求項１８】
前記獲得された第1のタイムスタンプおよび/または前記獲得された第1の無作為な文字列を前記第1の署名情報に追加するように構成された情報追加モジュールをさらに含む、請求項17に記載の装置。
【請求項１９】
第2のタイムスタンプおよび第2の無作為な文字列のうちの少なくとも一方を獲得するように構成された第2の獲得モジュールをさらに含み、
前記第2の生成ユニットが、獲得された第2のタイムスタンプおよび/または獲得された第2の無作為な文字列、前記第3者クライアント識別子、前記第1の署名情報、ならびに前記第2の鍵が前記第2の配列規則に従って配列された後に前記第2の文字列を生成するようにさらに構成される、請求項16に記載の装置。
【請求項２０】
前記第1の提供モジュールが、
前記第2のタイムスタンプおよび/または前記第2の無作為な文字列、前記第3者クライアント識別子、前記第1の署名情報、ならびに前記第2の署名を検証のために前記クライアントサーバに送信するように構成される、請求項19に記載の装置。
【請求項２１】
クライアントサーバにおいて使用され、
第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得するように構成された第1の受信モジュールであって、前記第3者クライアント識別子が、前記クライアントサーバにおける第3者の一意識別子であり、前記第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、前記第2の署名が、第2の鍵によって前記第3者クライアント識別子および前記第1の署名情報を暗号化することによって前記第3者サーバによって取得される、第1の受信モジュールと、
前記第3者クライアント識別子に対応する前記第2の鍵を問い合わせるように構成された第1の問い合わせモジュールと、
前記第2の鍵、前記第3者クライアント識別子、および前記第1の署名情報によって前記第2の署名を検証するように構成された第1の検証モジュールと、
検証が成功したときに、検証のために決済サーバに前記第1の署名情報を送信するように構成された第2の送信モジュールとを含み、
前記第3者決済識別子が、前記決済サーバにおける前記第3者の一意識別子であり、前記第1の署名が、第1の鍵によって前記第3者決済識別子および前記決済情報を暗号化することによって前記第3者サーバにより取得され、前記第1の鍵が、前記決済サーバにおける前記第3者決済識別子に対応する鍵であり、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証装置。
【請求項２２】
前記第1の検証モジュールが、第3の生成ユニット、第3の暗号化ユニット、第1の判断ユニット、第1の判定ユニット、および第2の判定ユニットを含み、
前記第3の生成ユニットが、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の鍵が第2の配列規則に従って配列された後に第3の文字列を生成するように構成され、
前記第3の暗号化ユニットが、第2の非可逆暗号化方法で前記第3の文字列を暗号化して第3の署名を取得するように構成され、
前記第1の判断ユニットが、前記第3の署名が前記第2の署名と一貫性があるかどうかを判定するように構成され、
前記第1の判定ユニットが、判定結果が前記第3の署名が前記第2の署名と一貫性があるということである場合、前記検証が成功したと判定するように構成され、
前記第2の判定ユニットが、前記判定結果が前記第3の署名が前記第2の署名と一貫性がないということである場合、前記検証が失敗したと判定するように構成される、請求項21に記載の装置。
【請求項２３】
前記第3者サーバによって送信され、前記第3者クライアント識別子、前記第1の署名情報、および前記第2の署名に対応する第2のタイムスタンプを受信するように構成されたタイムスタンプ受信モジュールと、
前記第2のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するように構成された第1の検出モジュールとをさらに含み、
前記第1の問い合わせモジュールが、検出結果が前記第2のタイムスタンプが前記予め定義された時間の範囲内にあることである場合、前記第3者クライアント識別子に対応する前記第2の鍵を問い合わせることを実行するように構成される、請求項21または22に記載の装置。
【請求項２４】
決済サーバにおいて使用され、
クライアントサーバによって送信された第1の署名情報を受信するように構成された第2の受信モジュールであって、前記第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、前記第3者決済識別子が、前記決済サーバにおける第3者の一意識別子であり、前記第1の署名が、第1の鍵によって前記第3者決済識別子および前記決済情報を暗号化することによって第3者サーバにより取得される、第2の受信モジュールと、
前記第3者決済識別子に対応する前記第1の鍵を問い合わせるように構成された第2の問い合わせモジュールと、
前記第1の鍵、前記第3者決済識別子、および前記決済情報によって前記第1の署名を検証するように構成された第2の検証モジュールと、
検証が成功したときに、前記決済情報に応答するように構成された情報応答モジュールとを含み、
前記第1の署名情報が、前記クライアントサーバが第2の鍵、第3者クライアント識別子、および前記第1の署名情報によって第2の署名を検証することに成功した後に前記クライアントサーバによって送信され、前記第2の署名が、前記第2の鍵によって前記第3者クライアント識別子および前記第1の署名情報を暗号化することによって前記第3者サーバにより取得され、前記第2の鍵が、前記クライアントサーバにおける前記第3者クライアント識別子に対応する鍵であり、前記第3者クライアント識別子が、前記クライアントサーバにおける前記第3者の一意識別子であり、
前記第3者サーバが前記第1の鍵および前記第2の鍵を有し、前記第2の鍵が前記クライアントサーバによって提供され、前記第1の鍵が前記決済サーバによって提供される、署名検証装置。
【請求項２５】
前記第2の検証モジュールが、第4の生成ユニット、第4の暗号化ユニット、第4の判断ユニット、第3の判定ユニット、および第4の判定ユニットを含み、
前記第4の生成ユニットが、前記第3者決済識別子、前記決済情報、および前記第1の鍵が第1の配列規則に従って配列された後、第4の文字列を生成するように構成され、
前記第4の暗号化ユニットが、第1の非可逆暗号化方法で前記第4の文字列を暗号化して第4の署名を得るように構成され、
前記第4の判断ユニットが、前記第4の署名が前記第1の署名と一貫性があるかどうかを判定するように構成され、
前記第3の判定ユニットが、判定結果が前記第4の署名が前記第1の署名と一貫性があるということである場合、前記検証が成功したと判定するように構成され、
前記第4の判定ユニットが、前記判定結果が前記第4の署名が前記第1の署名と一貫性がないということである場合、前記検証が失敗したと判定するように構成される、請求項24に記載の装置。
【請求項２６】
前記第1の署名情報が第1のタイムスタンプをさらに含む場合、前記装置が、
前記第1のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するように構成された第2の検出モジュールを含み、
前記第2の問い合わせモジュールが、検出結果が前記第1のタイムスタンプが前記予め定義された時間の範囲内にあることである場合、前記第3者決済識別子に対応する前記第1の鍵を問い合わせることを実行するように構成される、請求項24または25に記載の装置。
【請求項２７】
第3者サーバ、クライアントサーバ、および決済サーバを含む署名検証システムであって、
前記第3者サーバが、請求項14から20のいずれか一項に記載の署名検証装置を含み、
前記クライアントサーバが、請求項21から23のいずれか一項に記載の署名検証装置を含み、
前記決済サーバが、請求項24から26のいずれか一項に記載の署名検証装置を含む、署名検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、インターネットテクノロジーの分野に関し、特に、署名検証方法、装置、およびシステムに関する。
【背景技術】
【０００２】
インターネットテクノロジーの急速な発展によって、オンライン決済が、1つの大きな潮流になった。オンライン決済は、決済情報の送信をともない、したがって、決済情報の送信のセキュリティをどのようにして保証すべきかが、重要な問題になり、決済情報に対して署名の検証を実行する方法が、決済情報の送信のセキュリティを保証する有効な手段である。
【０００３】
送信プロセスにおける決済情報の改ざんによって引き起こされるユーザまたは第3者の売買業者の損失を避けるために、決済情報および売買業者のアカウントは、通常署名され、署名は、送信される決済情報および売買業者のアカウントを暗号化する方法である。決済情報が注文情報であることを例として用いると、既存の注文情報送信プロセスにおいては、銀行または決済プラットフォームなどの決済サービス提供者(payment service party)が、前もって第3者の売買業者に第3者の売買業者に対応する鍵を提供する可能性があり、注文情報を生成した後、第3者の売買業者が、対応する鍵によって注文情報および売買業者のアカウントのための署名を生成し、第3者の売買業者が、注文情報と、売買業者のアカウントおよび注文情報のための署名を決済サービス提供者のサーバに送信し、サーバが、売買業者のアカウントに応じて第3者の売買業者に対応する鍵を問い合わせ、問い合わされた鍵を使用することによって注文情報のための鍵を検証し、検証が成功したときに注文情報に応答する。つまり、サーバは、注文情報および売買業者のアカウントが改ざんされていないことを署名を使用することによって検証するときに注文情報に応答する。
【０００４】
本方法を実装するプロセスにおいては、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、したがって、鍵が漏らされると、他者が鍵を使用することによって注文情報および売買業者のアカウントを改ざんまたは偽造することができ、これは、ユーザまたは第3者の売買業者に対する財産の毀損を容易に引き起こし、セキュリティが低い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
第3者の売買業者と決済サービス提供者との両方が、決済情報送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという背景技術の問題を解決するために、本発明の実施形態は、署名検証方法、装置、およびシステムを提供する。
【課題を解決するための手段】
【０００６】
態様は、署名検証方法を提供し、方法は、第3者サーバにおいて使用され、
第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を得るステップであって、第1の鍵が、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子が、決済サーバにおける第3者の一意識別子である、ステップと、
第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を得るステップであって、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第2の鍵が、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子である、ステップと、
クライアントサーバが、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したとき、クライアントサーバが第1の署名情報を検証のために決済サーバに送信するように、第3者クライアント識別子、第1の署名情報、および第2の署名を検証のためにクライアントサーバに提供するステップとを含む。
【０００７】
別の態様は、署名検証方法を提供し、方法は、クライアントサーバにおいて使用され、
第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得するステップであって、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名が、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバによって取得される、ステップと、
第3者クライアント識別子に対応する第2の鍵を問い合わせるステップと、
第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証するステップと、
検証が成功したときに、検証のために決済サーバに第1の署名情報を送信するステップとを含み、
第3者決済識別子が、決済サーバにおける第3者の一意識別子であり、第1の署名が、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、第1の鍵が、決済サーバにおける第3者決済識別子に対応する鍵である。
【０００８】
さらに別の態様は、署名検証方法を提供し、方法は、決済サーバにおいて使用され、
クライアントサーバによって送信された第1の署名情報を受信するステップであって、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子が、決済サーバにおける第3者の一意識別子であり、第1の署名が、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得される、ステップと、
第3者決済識別子に対応する第1の鍵を問い合わせるステップと、
第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証するステップと、
検証が成功したときに、決済情報に応答するステップとを含み、
第1の署名情報が、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名が、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得され、第2の鍵が、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子である。
【０００９】
別の態様は、署名検証装置を提供し、装置は、第3者サーバにおいて使用され、
第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を取得するように構成された第1の署名モジュールであって、第1の鍵が、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子が、決済サーバにおける第3者の一意識別子である、第1の署名モジュールと、
第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を取得するように構成された第2の署名モジュールであって、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第2の鍵が、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子である、第2の署名モジュールと、
クライアントサーバが、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したとき、クライアントサーバが第1の署名情報を検証のために決済サーバに送信するように、第3者クライアント識別子、第1の署名情報、および第2の署名を検証のためにクライアントサーバに提供するように構成された第1の提供モジュールとを含む。
【００１０】
別の態様は、署名検証装置を提供し、装置は、クライアントサーバにおいて使用され、
第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得するように構成された第1の受信モジュールであって、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名が、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバによって取得される、第1の受信モジュールと、
第3者クライアント識別子に対応する第2の鍵を問い合わせるように構成された第1の問い合わせモジュールと、
第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証するように構成された第1の検証モジュールと、
検証が成功したときに、検証のために決済サーバに第1の署名情報を送信するように構成された第2の送信モジュールとを含み、
第3者決済識別子が、決済サーバにおける第3者の一意識別子であり、第1の署名が、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、第1の鍵が、決済サーバにおける第3者決済識別子に対応する鍵である。
【００１１】
別の態様は、署名検証装置を提供し、装置は、決済サーバにおいて使用され、
クライアントサーバによって送信された第1の署名情報を受信するように構成された第2の受信モジュールであって、第1の署名情報が、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子が、決済サーバにおける第3者の一意識別子であり、第1の署名が、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得される、第2の受信モジュールと、
第3者決済識別子に対応する第1の鍵を問い合わせるように構成された第2の問い合わせモジュールと、
第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証するように構成された第2の検証モジュールと、
検証が成功したときに、決済情報に応答するように構成された情報応答モジュールとを含み、
第1の署名情報が、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名が、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得され、第2の鍵が、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子が、クライアントサーバにおける第3者の一意識別子である。
【００１２】
第7の態様は、第3者サーバ、クライアントサーバ、および決済サーバを含む署名検証システムを提供し、
第3者サーバが、第4の態様において説明された署名検証装置を含み、
クライアントサーバが、第5の態様において説明された署名検証装置を含み、
決済サーバが、第6の態様において説明された署名検証装置を含む。
【００１３】
本発明の実施形態において提供される技術的な解決策の有益な効果は、以下の通りである。
【００１４】
第3者決済識別子および決済情報は、第1の署名を得るために第1の鍵によって暗号化され、第3者クライアント識別子および第1の署名情報が、第2の署名を得るために第2の鍵によって暗号化され、第3者クライアント識別子、第1の署名情報、および第2の署名が、検証のためにクライアントサーバに提供され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【００１５】
本発明の実施形態における技術的な解決策をより明瞭に説明するために、以下で、実施形態を説明するために必要とされる添付の図面を簡単に紹介する。明らかに、以下の説明の添付の図面は、本発明の一部の実施形態を示すに過ぎず、当業者は、創造的な努力なしに添付の図面からその他の図面を導き出すことがやはり可能である。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による署名検証方法にともなう実装環境の例示的な概略構造図である。
【図２】本発明の実施形態による署名検証方法の流れ図である。
【図３】本発明の実施形態による署名検証方法の流れ図である。
【図４】本発明の別の実施形態による署名検証方法の流れ図である。
【図５Ａ】本発明の別の実施形態による署名検証方法の流れ図である。
【図５Ｂ】本発明の別の実施形態による署名検証方法の流れ図である。
【図６】本発明の実施形態による署名検証装置の概略構造図である。
【図７】本発明の実施形態による署名検証装置の概略構造図である。
【図８】本発明の別の実施形態による署名検証装置の概略構造図である。
【図９】本発明の別の実施形態による署名検証システムの概略構造図である。
【図１０】本発明の実施形態によるサーバの概略構造図である。
【図１１】本発明の実施形態による署名検証方法の特定の実装の概略図である。
【発明を実施するための形態】
【００１７】
本発明の目的、技術的な解決策、および利点をより明瞭にするために、以下で、本発明の実施形態が、添付の図面を参照して詳細に説明される。
【００１８】
第3者のサーバが1つの鍵を有するだけであり、決済情報に一度署名するだけである背景技術のメカニズムとは異なり、本発明の実施形態を実装するプロセスにおいて、発明者は、決済情報に対して二重の署名を行うために、第3者のサーバが2つの鍵を有し、一方の鍵がクライアントサーバによって提供され、他方の鍵が決済サーバによって提供されるメカニズムを提供する。
【００１９】
図1は、本発明の実施形態による署名検証方法にともなう実装環境の例示的な概略構造図である。実装環境は、第3者サーバ120、クライアントサーバ140、および決済サーバ160を含む。
【００２０】
第3者サーバ120は、決済情報を構築し、提供し、二重の署名を形成するように構成され、第3者サーバは、1つのサーバであるか、または複数のサーバによって形成されたサーバクラスタ、またはクラウドコンピューティングサービスセンターである可能性がある。第3者サーバ120は、ワイヤレスネットワークまたは有線ネットワークを通じてクライアントサーバ140に接続される。第3者サーバ120自体は、決済能力を持たず、第3者サーバ120は、決済を実行するためにクライアントサーバ140を呼び出す必要がある。第3者とは、商品を提供する売買業者を指し、商品は、表現(expression)、ゲーム機器、会員サービス、おもちゃ、服などである可能性がある。
【００２１】
クライアントサーバ140は、1つのサーバ、または複数のサーバによって形成されたサーバクラスタ、またはクラウドコンピューティングセンターである可能性がある。クライアントサーバ140は、第3者のための決済を完了するための第3者サーバの呼び出しを受信し、決済プロセスにおいて、第3者サーバによって提供された決済情報の外側の(outer)第1のレイヤの署名を検証するように構成される。クライアントサーバ140は、ワイヤレスネットワークを通じて決済サーバ160に接続され、データ送信が、クライアントサーバと決済サーバとの間で実行され得る。クライアントサーバ140は、ソーシャルアプリケーションクライアントにバックグラウンドサービスを提供するサーバである可能性があり、またはインスタントメッセージングクライアントにバックグラウンドサービスを提供するサーバである可能性があり、これは、限定されない。
【００２２】
決済サーバ160は、1つのサーバ、または複数のサーバによって形成されたサーバクラスタ、またはクラウドコンピューティングセンターである可能性がある。決済サーバ160は、クライアントサーバ140が決済情報の外側の署名を検証することに成功した後、決済情報の内側の(inner)署名を検証し続けるように構成される。署名の検証が成功した後、決済サーバ160は、決済情報に応じて、注文および転送などのさらなる応答を行う可能性がある。
【００２３】
本発明の実施形態は、主として、3つの部分を含み、つまり、第1の部分において、第3者サーバが、決済情報のための内側の第1の署名および外側の第2の署名を生成し、第2の部分において、クライアントサーバが、外側の第2の署名を検証し、第3の部分において、クライアントサーバが外側の第2の署名を検証することに成功した後、決済サーバが、内側の第1の署名を検証する。以下では、まず、3つの実施形態、すなわち、第3者サーバの側の署名検証方法、クライアントサーバの側の外側の署名検証方法、および決済サーバの側の内側の署名検証方法を用いることによる二重署名メカニズムを説明し、それから、さらなる説明のために第3者サーバの側、クライアントサーバの側、および決済サーバの側を組み合わせる実施形態を提供する。詳細は、以下の通りである。
【００２４】
図2は、本発明の実施形態による署名検証方法の流れ図である。この実施形態は、署名検証方法が図1に示された第3者サーバにおいて適用される例を用いることによって説明を与える。署名検証方法は、以下を含む。
【００２５】
ステップ202: 第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を得る。
【００２６】
第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子は、決済サーバにおける第3者の一意識別子である。
【００２７】
ステップ204: 第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を得る。
【００２８】
第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子である。
【００２９】
ステップ206: 検証のためにクライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を提供する。
【００３０】
クライアントサーバは、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したときに、検証のために決済サーバに第1の署名情報を送信するように構成される。
【００３１】
結論として、この実施形態において提供される署名検証方法においては、第3者決済識別子および決済情報が、第1の署名を得るために第1の鍵によって暗号化され、第3者クライアント識別子および第1の署名情報が、第2の署名を得るために第2の鍵によって暗号化され、第3者クライアント識別子、第1の署名情報、および第2の署名が、検証のためにクライアントサーバに提供され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【００３２】
図3は、本発明の実施形態による署名検証方法の流れ図である。この実施形態は、署名検証方法が図1に示されたクライアントサーバにおいて適用される例を用いることによって説明を与える。署名検証方法は、以下を含む。
【００３３】
ステップ302: 第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得する。
【００３４】
第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得される。
【００３５】
ステップ304: 第3者クライアント識別子に対応する第2の鍵を問い合わせる。
【００３６】
ステップ306: 第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証する。
【００３７】
ステップ308: 検証が成功したときに、検証のために決済サーバに第1の署名情報を送信する。
【００３８】
第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵である。
【００３９】
結論として、この実施形態において提供される署名検証方法においては、第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名が、獲得され、第3者クライアント識別子に対応する第2の鍵が、問い合わされ、第2の署名が、第2の鍵、第3者クライアント識別子、および第1の署名情報によって検証され、検証が成功したときに、第1の署名情報が、検証のために決済サーバに送信され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【００４０】
図4は、本発明の実施形態による署名検証方法の流れ図である。この実施形態は、署名検証方法が図1に示された決済サーバにおいて適用される例を用いることによって説明を与える。署名検証方法は、以下を含む。
【００４１】
ステップ402: クライアントサーバによって送信された第1の署名情報を受信する。
【００４２】
第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得される。
【００４３】
ステップ404: 第3者決済識別子に対応する第1の鍵を問い合わせる。
【００４４】
ステップ406: 第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証する。
【００４５】
ステップ408: 検証が成功したときに、決済情報に応答する。
【００４６】
第1の署名情報は、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得され、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子である。
【００４７】
結論として、この実施形態において提供される署名検証方法においては、クライアントサーバによって送信された第1の署名情報が、受信され、第3者決済識別子に対応する第1の鍵が、問い合わされ、第1の署名が、第1の鍵、第3者決済識別子、および決済情報によって検証され、検証が成功したときに、決済情報が、応答され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信において使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【００４８】
図5Aは、本発明の実施形態による署名検証方法の流れ図である。この実施形態は、署名検証方法が図1に示された実装環境において適用される例を用いることによって説明を与える。署名検証方法は、以下を含む。
【００４９】
ステップ501: 第3者サーバが、第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を得る。
【００５０】
第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子は、決済サーバにおける第3者の一意識別子である。第3者決済識別子は、第3者の売買業者によって決済サーバにおいて登録される。
【００５１】
第1の鍵は、決済サーバによって自動的に生成され、第3者サーバに提供される可能性があり、第1の鍵は、第3者決済識別子に対応する。それぞれの第3者決済識別子は、異なる第1の鍵に対応する。たとえば、第3者決済識別子がAである場合、Aに対応する第1の鍵A1がある。署名は、送信される決済情報を暗号化する方法であり、送信された決済情報およびその他の情報が改ざんされていないことを保証するために使用される。
【００５２】
このステップは、特に、以下のサブステップを含む。
【００５３】
1: 第3者決済識別子、決済情報、および第1の鍵が第1の配列規則に従って配列された後、第3者サーバが第1の文字列を生成する。
【００５４】
第1の配列規則は、3つのフィールド、すなわち、第3者決済識別子、決済情報、および第1の鍵がフィールド名のASCIIコードの昇順に、またはフィールド名のASCIIコードの降順に、または別の方法で配列されることである可能性があり、これは、本明細書において限定されない。第1の文字列は、第3者決済識別子、決済情報、および第1の鍵が配列された後に、予め定義された規則に従って生成され、予め定義された規則は、URLのキー値のペアのフォーマット規則である可能性がある。
【００５５】
たとえば、第3者決済識別子はa=1であり、決済情報はb=2であり、および第1の鍵はc=3であると仮定され、第3者決済識別子、決済情報、および第1の鍵がASCIIコードの昇順に配列される場合、データ列a=1 b=2 c=3が得られ、それから、URLのキー値のペアによってデータ列から文字列が生成され、URLのキー値のペアのフォーマットによってデータ列a=1 b=2 c=3から文字列a=1& b=2& c=3が生成される。
【００５６】
2: 第3者サーバが、第1の非可逆暗号化方法で第1の文字列を暗号化して第1の署名を得る。
【００５７】
第1の非可逆暗号化方法は、MD5またはSha1などの暗号化方法である可能性がある。たとえば、第3者サーバが、第1の非可逆暗号化方法で第1の文字列a=1& b=2& c=3を暗号化して第1の署名を得る。
【００５８】
フィールドは、3つのフィールド、すなわち、第3者決済識別子、決済情報、および第1の鍵に限定されない可能性があり、第3者サーバは、通常、2つのフィールド、すなわち、第1のタイムスタンプおよび第1の無作為な文字列のうちの少なくとも一方をさらに獲得し、第1のタイムスタンプは、第1の署名が生成されるときのこの瞬間に対応する可能性があり、第1の無作為な文字列は、第1の文字列の一意性を保証するために使用されることにさらに留意されたい。この場合、第3者サーバは、獲得された第1のタイムスタンプおよび/または獲得された第1の無作為な文字列、第3者決済識別子、決済情報、ならびに第1の鍵が第1の配列規則に従って配列された後に第1の文字列を生成する可能性もあり、第3者サーバは、獲得された第1のタイムスタンプおよび/または第1の無作為な文字列を第1の署名情報に加える。
【００５９】
ステップ502: 第3者サーバが、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を得る。
【００６０】
第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含む。第1の署名情報は、第1のタイムスタンプおよび/または第1の無作為な列をさらに含み得る。第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の売買業者の一意識別子である。第2の鍵は、第3者クライアント識別子に対応し、異なる第3者クライアント識別子は、異なる第2の鍵に対応する。
【００６１】
このステップは、特に、以下のサブステップを含む。
【００６２】
1: 第3者クライアント識別子、第1の署名情報、および第2の鍵が第2の配列規則に従って配列された後、第3者サーバが第2の文字列を生成する。
【００６３】
このステップにおいて、第3者サーバによって第2の文字列を生成する方法は、ステップ501において第3者サーバによって第1の文字列を生成する方法と同様であり、さらなる詳細は、本明細書において与えられない。
【００６４】
2: 第3者サーバが、第2の非可逆暗号化方法で第2の文字列を暗号化して第2の署名を得る。第2の非可逆暗号化方法は、MD5またはSha1などの暗号化方法である可能性がある。
【００６５】
フィールドは、3つのフィールド、すなわち、第3者クライアント識別子、第1の署名情報、および第2の鍵に限定されない可能性があり、第3者サーバは、通常、2つのフィールド、すなわち、第2のタイムスタンプおよび第2の無作為な文字列のうちの少なくとも一方をさらに獲得し、第2のタイムスタンプは、第2の署名が生成されるときのこの瞬間に対応する可能性があり、第2の無作為な文字列は、第2の文字列の一意性を保証するために使用されることにさらに留意されたい。この場合、第3者サーバは、獲得された第2のタイムスタンプおよび/または獲得された第2の無作為な文字列、第3者クライアント識別子、第1の署名情報、ならびに第2の鍵が第2の配列規則に従って配列された後に第2の文字列を生成する可能性もある。
【００６６】
ステップ503: 第3者サーバが、検証のためにクライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を提供する。
【００６７】
加えて、第3者サーバは、第2のタイムスタンプおよび第2の無作為な文字列のうちの少なくとも一方を獲得する場合、検証のためにクライアントサーバに第2のタイムスタンプおよび/または第2の無作為な文字列、第3者クライアント識別子、第1の署名情報、ならびに第2の署名を提供する。
【００６８】
第1のタイムスタンプおよび第2のタイムスタンプは、決済情報が有効な期間内にあるかどうかを判定するために使用される。
【００６９】
異なる決済方法に関して、第3者サーバによってクライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を提供する方法は異なることに留意されたい。実装方法において、第3者サーバは、ユーザが決済をトリガするときにクライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を送信する可能性があり、別の実装方法において、第3者サーバは、第3者クライアント識別子、第1の署名情報、および第2の署名を2次元コードに前もって変換し、2次元コードを商品のウェブページに埋め込む可能性があり、ユーザがクライアントを使用することによって決済のために2次元コードをスキャンするとき、クライアントは、2次元コードをスキャンすることによって第3者クライアント識別子、第1の署名情報、および第2の署名を取得し、クライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を送信し、さらに別の実装方法において、第3者サーバは、第3者クライアント識別子、第1の署名情報、および第2の署名を使用することによって決済リンクを予め生成し、決済リンクを商品のウェブページに埋め込む可能性があり、ユーザが決済リンクをクリックして決済のためにクライアントを呼び出すとき、クライアントは、決済リンクから抽出される第3者クライアント識別子、第1の署名情報、および第2の署名をクライアントサーバに送信する。本明細書において、第3者サーバによってクライアントサーバに第3者クライアント識別子、第1の署名情報、および第2の署名を提供する方法は、特に限定されない。
【００７０】
ステップ504: クライアントサーバが、第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得する。
【００７１】
第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報に署名することによって第3者サーバにより取得される。
【００７２】
第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報に署名することによって第3者サーバにより取得され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵である。
【００７３】
第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名をクライアントサーバによって獲得する方法は、第1に、クライアントサーバが、第3者サーバによって送信される第3者クライアント識別子、第1の署名情報、および第2の署名を直接受信し、第2に、クライアントサーバが、クライアントによって2次元コードをスキャンすることによって得られる第3者クライアント識別子、第1の署名情報、および第2の署名を受信し、2次元コードは、第3者サーバが前もって第3者クライアント識別子、第1の署名情報、および第2の署名を使用することによって2次元コードを生成した後に商品のウェブページに埋め込まれ、第3に、クライアントサーバが、クライアントによってトリガされた決済リンクから抽出される第3者クライアント識別子、第1の署名情報、および第2の署名を受信し、決済リンクは、第3者サーバが前もって第3者クライアント識別子、第1の署名情報、および第2の署名を使用することによって決済リンクを生成した後に商品のウェブページに埋め込まれることである可能性があることにさらに留意されたい。本明細書において、第3者サーバによって提供される第3者クライアント識別子、第1の署名情報、および第2の署名をクライアントサーバによって獲得する方法は、特に限定されない。
【００７４】
たとえば、クライアントサーバは、クライアントが2次元コードによって表される商品購入情報をスキャンすることによって取得することを知っているとき、第3者サーバから対応する情報を直接引き出し、それによって、情報処理の速度を高める可能性がある。
【００７５】
ステップ505: クライアントサーバが、第3者クライアント識別子に対応する第2の鍵を問い合わせる。
【００７６】
第3者クライアント識別子、第1の署名情報、および第2の署名を獲得した後、クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を問い合わせる。クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を予め記憶する。たとえば、第3者クライアント識別子がBである場合、クライアントサーバにBに対応する第2の鍵B1が存在する。
【００７７】
ステップ506: クライアントサーバが、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証する。
【００７８】
図5Bに示されるように、このステップは、以下のサブステップを含むがこれらに限定されない。
【００７９】
ステップ506a: 第3者クライアント識別子、第1の署名情報、および第2の鍵が第2の配列規則に従って配列された後、クライアントサーバが第3の文字列を生成する。
【００８０】
このステップにおいて、クライアントサーバによって第3の文字列を生成する方法は、ステップ502において第3者サーバによって第2の文字列を生成する方法と同様であり、さらなる詳細は、本明細書において与えられない。このステップの配列規則は、ステップ502における配列規則と同じであり、つまり、第3者クライアント識別子、第1の署名情報、および第2の鍵がステップ502においてフィールド名のASCIIコードの昇順に配列される場合、同じ方法がこのステップにおいて使用される。
【００８１】
ステップ506b: クライアントサーバが、第2の非可逆暗号化方法で第3の文字列を暗号化して第3の署名を得る。
【００８２】
第2の非可逆暗号化方法は、MD5またはSha1などの暗号化方法である可能性がある。このステップの暗号化方法はステップ502の暗号化方法と同じであり、つまり、Sha1暗号化方法がステップ502において使用される場合、Sha1暗号化方法がこのステップにおいても使用されることにさらに留意されたい。
【００８３】
ステップ506c: クライアントサーバが、第3の署名が第2の署名と一貫性があるかどうかを判定する。
【００８４】
ステップ506d: 判定結果が第3の署名が第2の署名と一貫性があるということである場合、クライアントサーバが、検証が成功したと判定する。
【００８５】
たとえば、ステップ502において第2の鍵B1を使用することによって署名することにより第3者サーバによって取得された第2の署名がyyyyであり、このステップにおいて第2の鍵B1を使用することによって署名することによりクライアントサーバによって取得された第3の署名がyyyyであると仮定すると、第3の署名が、第2の署名と一貫性があり、これは、情報が改ざんされていないことを示し、クライアントサーバは、検証が成功したと判定する。
【００８６】
ステップ506e: 判定結果が第3の署名が第2の署名と一貫性がないということである場合、クライアントサーバが、検証が失敗したと判定する。
【００８７】
たとえば、ステップ502において第2の鍵B1を使用することによって署名することにより第3者サーバによって取得された第2の署名がyyyyであり、このステップにおいて第2の鍵B1を使用することによって署名することによりクライアントサーバによって取得された第3の署名がffffであると仮定すると、第3の署名が、第2の署名と一貫性がなく、これは、情報が改ざんされていることを示し、クライアントサーバは、検証が失敗したと判定する。
【００８８】
ステップ507: 検証が成功したときに、クライアントサーバが、検証のために決済サーバに第1の署名情報を送信する。
【００８９】
クライアントサーバが第3者サーバによって送信される第2のタイムスタンプを同時に受信する場合、ステップ505の前に、方法が以下のステップをさらに含むことにさらに留意されたい。
【００９０】
1: クライアントサーバが、第3者サーバによって送信され、第3者クライアント識別子、第1の署名情報、および第2の署名に対応する第2のタイムスタンプを受信する。
【００９１】
2: クライアントサーバが、第2のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出する。
【００９２】
タイムスタンプは、決済情報が有効な期間内にあるかどうかを判定するために使用され、たとえば、第2のタイムスタンプが予め定義された時間の範囲内にある場合、クライアントサーバは、第2の署名を検証し続ける可能性があり、つまり、クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行し、第2のタイムスタンプが予め定義された時間の範囲を超える場合、クライアントサーバは、第2の署名を検証し続けず、つまり、クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行しない。
【００９３】
3: 検出結果が第2のタイムスタンプが予め定義された時間の範囲内にあることである場合、クライアントサーバが、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行する。
【００９４】
4: 検出結果が第2のタイムスタンプが予め定義された時間の範囲を超えていることである場合、クライアントサーバが、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行しない。
【００９５】
たとえば、予め定義された時間の範囲が60秒であると仮定すると、第2のタイムスタンプが60秒以内にある場合、クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行し、第2のタイムスタンプが60秒を超えている場合、クライアントサーバは、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行しない。
【００９６】
ステップ508: 決済サーバが、クライアントサーバによって送信された第1の署名情報を受信する。
【００９７】
第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報に署名することにより第3者サーバによって取得される。
【００９８】
第1の署名情報は、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報に署名することによって第3者サーバにより取得され、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子である。
【００９９】
ステップ509: 決済サーバが、第3者決済識別子に対応する第1の鍵を問い合わせる。
【０１００】
決済サーバが、第3者決済識別子に対応する第1の鍵を予め記憶する。たとえば、第3者決済識別子がAである場合、決済サーバにAに対応する第1の鍵A1がある。
【０１０１】
ステップ510: 決済サーバが、第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証する。
【０１０２】
このステップは、以下のサブステップを含むがこれらに限定されない。
【０１０３】
1: 第3者決済識別子、決済情報、および第1の鍵が第1の配列規則に従って配列された後、決済サーバが第4の文字列を生成する。
【０１０４】
このステップにおいて、決済サーバによって第4の文字列を生成する方法は、ステップ501において第3者サーバによって第1の文字列を生成する方法と同様であり、さらなる詳細は、本明細書において与えられない。このステップの配列規則は、ステップ501における配列規則と同じであり、つまり、第3者決済識別子、決済情報、および第1の鍵がステップ501においてフィールド名のASCIIコードの昇順に配列される場合、同じ方法がこのステップにおいて使用される。
【０１０５】
2: 決済サーバが、第1の非可逆暗号化方法で第4の文字列を暗号化して第4の署名を得る。
【０１０６】
第1の非可逆暗号化方法は、MD5またはSha1などの暗号化方法である可能性がある。このステップの暗号化方法はステップ501の暗号化方法と同じであり、つまり、MD5暗号化方法がステップ501において使用される場合、MD5暗号化方法がこのステップにおいても使用されることにさらに留意されたい。
【０１０７】
3: 決済サーバが、第4の署名が第1の署名と一貫性があるかどうかを判定する。
【０１０８】
4: 判定結果が第4の署名が第1の署名と一貫性があるということである場合、クライアントサーバは、検証が成功したと判定する。
【０１０９】
たとえば、ステップ501において第1の鍵A1を使用することによって署名することにより第3者サーバによって取得された第2の署名がaaaaであり、このステップにおいて第1の鍵A1を使用することによって署名することにより決済サーバによって取得された第4の署名がaaaaであると仮定すると、第4の署名が、第1の署名と一貫性があり、これは、情報が改ざんされていないことを示し、決済サーバは、検証が成功したと判定する。
【０１１０】
5: 判定結果が第4の署名が第1の署名と一貫性がないということである場合、決済サーバは、検証が失敗したと判定する。
【０１１１】
たとえば、ステップ501において第1の鍵A1を使用することによって署名することにより第3者サーバによって取得された第2の署名がaaaaであり、このステップにおいて第1の鍵A1を使用することによって署名することにより決済サーバによって取得された第4の署名がbbbbであると仮定すると、第4の署名が、第1の署名と一貫性がなく、これは、情報が改ざんされていることを示し、決済サーバは、検証が失敗したと判定する。
【０１１２】
ステップ511: 検証が成功したときに、決済サーバが、決済情報に応答する。
【０１１３】
つまり、決済情報は改ざんされておらず、次の動作が実行される可能性があり、決済サーバが注文、取引、または決済などの決済情報に応答する可能性がある。
【０１１４】
第1の署名情報が第1のタイムスタンプをさらに含む場合、ステップ509の前に、方法は以下のステップをさらに含むことにさらに留意されたい。
【０１１５】
1: 決済サーバが、第1のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出する。
【０１１６】
このステップにおいて第1のタイムスタンプが予め定義された時間の範囲内にあるかどうかを決済サーバによって検出する方法は、第2のタイムスタンプが予め定義された時間の範囲内にあるかどうかをクライアントサーバによって検出する方法と同様であり、さらなる詳細は、本明細書において再び与えられない。以下のステップの原理は、クライアントサーバによって実行される対応するステップの原理と同様であり、さらなる詳細は、本明細書において与えられない。
【０１１７】
2: 検出結果が第1のタイムスタンプが予め定義された時間の範囲内にあることである場合、決済サーバが、第3者決済識別子に対応する第1の鍵を問い合わせるステップを実行する。
【０１１８】
3: 検出結果が第1のタイムスタンプが予め定義された時間の範囲を超えていることである場合、決済サーバが、第3者決済識別子に対応する第1の鍵を問い合わせるステップを実行しない。
【０１１９】
結論として、この実施形態において提供される署名検証方法においては、第3者決済識別子および決済情報が、第1の署名を得るために第1の鍵によって署名され、第3者クライアント識別子および第1の署名情報が、第2の署名を得るために第2の鍵によって暗号化され、第3者クライアント識別子、第1の署名情報、および第2の署名が、検証のためにクライアントサーバに送信され、クライアントサーバは、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したときに、検証のために決済サーバに第1の署名情報を送信し、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【０１２０】
以下は、本発明の装置の実施形態である。この部分において説明されない詳細に関しては、上の対応する方法の実施形態が参照され得る。
【０１２１】
図6は、本発明の実施形態による署名検証装置の概略構造図である。署名検証装置は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せを使用することによって第3者サーバ600のすべてまたは一部として実装される可能性がある。署名検証装置は、第1の署名モジュール620、第2の署名モジュール640、および第1の送信モジュール660を含み、
第1の署名モジュール620は、第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を取得するように構成され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、
第2の署名モジュール640は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を取得するように構成され、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名モジュール620によって取得される第1の署名を含み、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、
第1の送信モジュール660は、第3者クライアント識別子、第1の署名情報、および第2の署名モジュール640によって取得される第2の署名を検証のためにクライアントサーバに送信するように構成され、その結果、クライアントサーバは、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したとき、第1の署名情報を検証のために決済サーバに送信する。
【０１２２】
結論として、この実施形態において提供される署名検証装置においては、第3者決済識別子および決済情報が、第1の署名を得るために第1の鍵によって暗号化され、第3者クライアント識別子および第1の署名情報が、第2の署名を得るために第2の鍵によって暗号化され、第3者クライアント識別子、第1の署名情報、および第2の署名が、検証のためにクライアントサーバに送信され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【０１２３】
図7は、本発明の実施形態による署名検証装置の概略構造図である。署名検証装置は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せを使用することによってクライアントサーバ700のすべてまたは一部として実装される可能性がある。署名検証装置は、第1の受信モジュール720、第1の問い合わせモジュール740、第1の検証モジュール760、および第2の送信モジュール780を含み、
第1の受信モジュール720は、第3者サーバによって送信される第3者クライアント識別子、第1の署名情報、および第2の署名を受信するように構成され、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバによって取得され、
第1の問い合わせモジュール740は、第1の受信モジュール720によって受信された第3者クライアント識別子に対応する第2の鍵を問い合わせるように構成され、
第1の検証モジュール760は、第1の問い合わせモジュール740によって問い合わされた第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証するように構成され、
第2の送信モジュール780は、第1の検証モジュール760が第2の署名の検証に成功したときに、検証のために決済サーバに第1の署名情報を送信するように構成され、
第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵である。
【０１２４】
結論として、この実施形態において提供される署名検証装置においては、第3者サーバによって送信される第3者クライアント識別子、第1の署名情報、および第2の署名が、受信され、第3者クライアント識別子に対応する第2の鍵が、問い合わされ、第2の署名が、第2の鍵、第3者クライアント識別子、および第1の署名情報によって検証され、検証が成功したときに、第1の署名情報が、検証のために決済サーバに送信され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【０１２５】
図8は、本発明の実施形態による署名検証装置の概略構造図である。署名検証装置は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せを使用することによって決済サーバ800のすべてまたは一部として実装される可能性がある。署名決済装置は、第2の受信モジュール820、第2の問い合わせモジュール840、第2の検証モジュール860、および情報応答モジュール880を含み、
第2の受信モジュール820は、クライアントサーバによって送信された第1の署名情報を受信するように構成され、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、
第2の問い合わせモジュール840は、第2の受信モジュール820によって受信された第3者決済識別子に対応する第1の鍵を問い合わせるように構成され、
第2の検証モジュール860は、第2の問い合わせモジュール840によって問い合わされた第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証するように構成され、
情報応答モジュール880は、第2の検証モジュール860が第1の署名の検証に成功したときに、決済情報に応答するように構成され、
第1の署名情報は、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得され、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子である。
【０１２６】
結論として、この実施形態において提供される署名検証装置においては、クライアントサーバによって送信された第1の署名情報が、受信され、第3者決済識別子に対応する第1の鍵が、問い合わされ、第1の署名が、第1の鍵、第3者決済識別子、および決済情報によって検証され、検証が成功したときに、決済情報が、応答され、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【０１２７】
図9は、本発明の実施形態による署名検証システムの概略構造図である。署名検証システムは、第3者サーバ600、クライアントサーバ700、および決済サーバ800を含み、第3者サーバ600は、ワイヤレスネットワークまたは有線ネットワークを通じてクライアントサーバ700に接続され、クライアントサーバ700は、ワイヤレスネットワークまたは有線ネットワークを通じて決済サーバ800に接続され、詳細は、以下の通りである。
【０１２８】
第3者サーバ600は、第1の署名モジュール620、第2の署名モジュール640、および第1の送信モジュール660を含み、
第1の署名モジュール620は、第1の鍵によって第3者決済識別子および決済情報を暗号化して第1の署名を取得するように構成され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵であり、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、
第2の署名モジュール640は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化して第2の署名を取得するように構成され、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、
第1の送信モジュール660は、第3者クライアント識別子、第1の署名情報、および第2の署名を検証のためにクライアントサーバに送信するように構成され、その結果、クライアントサーバは、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したとき、第1の署名情報を検証のために決済サーバに送信する。
【０１２９】
第1の署名モジュール620は、第1の生成ユニット621および第1の暗号化ユニット622を含み、
第1の生成ユニット621は、第3者決済識別子、決済情報、および第1の鍵が第1の配列規則に従って配列された後、第1の文字列を生成するように構成され、
第1の暗号化ユニット622は、第1の非可逆暗号化方法で第1の文字列を暗号化して第1の署名を得るように構成される。
【０１３０】
第2の署名モジュール640は、第2の生成ユニット641および第2の暗号化ユニット642を含み、
第2の生成ユニット641は、第3者クライアント識別子、第1の署名情報、および第2の鍵が第2の配列規則に従って配列された後に第2の文字列を生成するように構成され、
第2の暗号化ユニット642は、第2の非可逆暗号化方法で第2の文字列を暗号化して第2の署名を取得するように構成される。
【０１３１】
さらに、第3者サーバ600は、第1の獲得モジュール630をさらに含み、
第1の獲得モジュール630は、第1のタイムスタンプおよび第1の無作為な文字列のうちの少なくとも一方を獲得するように構成され、
第1の生成ユニット621は、獲得された第1のタイムスタンプおよび/または獲得された第1の無作為な文字列、第3者決済識別子、決済情報、ならびに第1の鍵が第1の配列規則に従って配列された後に第1の文字列を生成するようにさらに構成される。
【０１３２】
さらに、第3者サーバ600は、情報追加モジュール631をさらに含み、
情報追加モジュール631は、獲得された第1のタイムスタンプおよび/または獲得された第1の無作為な文字列を第1の署名情報に追加するように構成される。
【０１３３】
さらに、第3者サーバ600は、
第2のタイムスタンプおよび第2の無作為な文字列のうちの少なくとも一方を獲得するように構成された第2の獲得モジュール650をさらに含み、
第2の生成ユニット641は、獲得された第2のタイムスタンプおよび/または獲得された第2の無作為な文字列、第3者クライアント識別子、第1の署名情報、ならびに第2の鍵が第2の配列規則に従って配列された後に第2の文字列を生成するようにさらに構成され、
第1の送信モジュール660は、第2のタイムスタンプおよび/または第2の文字列、第3者クライアント識別子、第1の署名情報、ならびに第2の署名を検証のためにクライアントサーバに送信するようにさらに構成される。
【０１３４】
クライアントサーバ700は、第1の受信モジュール720、第1の問い合わせモジュール740、第1の検証モジュール760、および第2の送信モジュール780を含み、
第1の受信モジュール720は、第3者サーバによって送信される第3者クライアント識別子、第1の署名情報、および第2の署名を獲得するように構成され、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子であり、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバによって取得され、
第1の問い合わせモジュール740は、第3者クライアント識別子に対応する第2の鍵を問い合わせるように構成され、
第1の検証モジュール760は、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証するように構成され、
第2の送信モジュール780は、検証が成功したときに、検証のために決済サーバに第1の署名情報を送信するように構成され、
第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報を暗号化することによって第3者サーバにより取得され、第1の鍵は、決済サーバにおける第3者決済識別子に対応する鍵である。
【０１３５】
さらに、第1の検証モジュール760は、第3の生成ユニット761、第3の暗号化ユニット762、第1の判断ユニット763、第1の判定ユニット764、および第2の判定ユニット765を含み、
第3の生成ユニット761は、第3者クライアント識別子、第1の署名情報、および第2の鍵が第2の配列規則に従って配列された後に第3の文字列を生成するように構成され、
第3の暗号化ユニット762は、第2の非可逆暗号化方法で第3の文字列を暗号化して第3の署名を取得するように構成され、
第1の判断ユニットは、第3の署名が第2の署名と一貫性があるかどうかを判定するように構成され、
第1の判定ユニット764は、判定結果が第3の署名が第2の署名と一貫性があるということである場合、検証が成功したと判定するように構成され、
第2の判定ユニット765は、判定結果が第3の署名が第2の署名と一貫性がないということである場合、検証が失敗したと判定するように構成される。
【０１３６】
さらに、クライアントサーバ700は、
第3者サーバによって送信され、第3者クライアント識別子、第1の署名情報、および第2の署名に対応する第2のタイムスタンプを受信するように構成されたタイムスタンプ受信モジュール730と、
第2のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するように構成された第1の検出モジュール731とをさらに含み、
第1の問い合わせモジュール740は、検出結果が第2のタイムスタンプが予め定義された時間の範囲内にあることである場合、第3者クライアント識別子に対応する第2の鍵を問い合わせるステップを実行するように構成される。
【０１３７】
決済サーバ800は、第2の受信モジュール820、第2の問い合わせモジュール840、第2の検証モジュール860、および情報応答モジュール880を含み、
第2の受信モジュール820は、クライアントサーバによって送信された第1の署名情報を受信するように構成され、第1の署名情報は、第3者決済識別子、決済情報、および第1の署名を含み、第3者決済識別子は、決済サーバにおける第3者の一意識別子であり、第1の署名は、第1の鍵によって第3者決済識別子および決済情報に署名することによって第3者サーバにより取得され、
第2の問い合わせモジュール840は、第3者決済識別子に対応する第1の鍵を問い合わせるように構成され、
第2の検証モジュール860は、第1の鍵、第3者決済識別子、および決済情報によって第1の署名を検証するように構成され、
情報応答モジュール880は、検証が成功したときに、決済情報に応答するように構成され、
第1の署名情報は、クライアントサーバが第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名を検証することに成功した後にクライアントサーバによって送信され、第2の署名は、第2の鍵によって第3者クライアント識別子および第1の署名情報を暗号化することによって第3者サーバにより取得され、第2の鍵は、クライアントサーバにおける第3者クライアント識別子に対応する鍵であり、第3者クライアント識別子は、クライアントサーバにおける第3者の一意識別子である。
【０１３８】
さらに、第2の検証モジュール860は、第4の生成ユニット861、第4の暗号化ユニット862、第4の判断ユニット863、第3の判定ユニット864、および第4の判定ユニット865を含み、
第4の生成ユニット861は、第3者決済識別子、決済情報、および第1の鍵が第1の配列規則に従って配列された後、第4の文字列を生成するように構成され、
第4の暗号化ユニット862は、第1の非可逆暗号化方法で第4の文字列を暗号化して第4の署名を得るように構成され、
第4の判断ユニット863は、第4の署名が第1の署名と一貫性があるかどうかを判定するように構成され、
第3の判定ユニット864は、判定結果が第4の署名が第1の署名と一貫性があるということである場合、検証が成功したと判定するように構成され、
第4の判定ユニット865は、判定結果が第4の署名が第1の署名と一貫性がないということである場合、検証が失敗したと判定するように構成される。
【０１３９】
さらに、第1の署名情報が第1のタイムスタンプをさらに含む場合、決済サーバ800は、
第1のタイムスタンプが予め定義された時間の範囲内にあるかどうかを検出するように構成された第2の検出モジュール830を含み、
第2の問い合わせモジュール840は、検出結果が第1のタイムスタンプが予め定義された時間の範囲内にあることである場合、第3者決済識別子に対応する第1の鍵を問い合わせるステップを実行するように構成される。
【０１４０】
結論として、この実施形態において提供される署名検証装置においては、第3者決済識別子および決済情報が、第1の署名を得るために第1の鍵によって署名され、第3者クライアント識別子および第1の署名情報が、第2の署名を得るために第2の鍵によって署名され、第3者クライアント識別子、第1の署名情報、および第2の署名が、検証のためにクライアントサーバに送信され、クライアントサーバは、第2の鍵、第3者クライアント識別子、および第1の署名情報によって第2の署名の検証に成功したときに、検証のために決済サーバに第1の署名情報を送信し、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、第3者の売買業者が2つの鍵を保有し、クライアントサーバおよび決済サーバが別々に1つの鍵を保有する。
【０１４１】
図10は、本発明の実施形態によるサーバの概略構造図である。サーバは、第3者サーバ、またはクライアントサーバ、または決済サーバである可能性がある。特に、
【０１４２】
サーバ1000は、中央演算処理装置(CPU) 1001、ランダムアクセスメモリ(RAM) 1002および読み出し専用メモリ(ROM) 1003を含むシステムメモリ1004、ならびにシステムメモリ1004およびCPU 1001を接続するシステムバス1005を含む。サーバ1000は、コンピュータの構成要素間の情報送信を助ける基本入出力システム(I/Oシステム) 1006、ならびにオペレーティングシステム1013、アプリケーションプログラム1014、および別のプログラムモジュール1015を記憶するように構成された大容量ストレージデバイス1007をさらに含む。
【０１４３】
基本I/Oシステム1006は、情報を表示するように構成されたディスプレイ1008と、ユーザによって情報を入力するように構成されたマウスまたはキーボードなどの入力デバイス1009とを含む。ディスプレイ1008および入力デバイス1009は、システムバス1005に接続された入力/出力コントローラ1010を使用することによってCPU 1001に接続される。基本I/Oシステム1006は、キーボード、マウス、および電子スタイラスなどの複数のその他のデバイスの入力を受信し、処理するために入力/出力コントローラ1010をさらに含む可能性がある。同様に、入力/出力コントローラ1010は、さらに、ディスプレイスクリーン、プリンタ、または別の種類の出力デバイスに出力を与える。
【０１４４】
大容量ストレージデバイス1007は、システムバス1005に接続された大規模ストレージコントローラ(図示せず)を使用することによってCPU 1001に接続される。大容量ストレージデバイス1007および関連するコンピュータ可読媒体は、クライアントデバイスのための不揮発性ストレージを提供する。つまり、大容量ストレージデバイス1007は、ハードディスクまたはCD-ROMドライブなどのコンピュータ可読媒体(図示せず)を含み得る。
【０１４５】
一般性を失うことなく、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含み得る。コンピュータストレージ媒体は、任意の方法またはテクノロジーを使用することによって実装され、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するように構成された揮発性および不揮発性の移動可能なおよび移動不可能な媒体を含む。コンピュータストレージ媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、または別のソリッドストレージテクノロジー(solid storage technology)、およびCD-ROM、DVD、または別の光学式ストレージ、およびカセット、テープ、ディスクストレージ、または別の磁気式ストレージデバイスを含む。確かに、当業者は、コンピュータストレージ媒体が上述のものに限定されないことを知り得る。システムメモリ1004および大容量ストレージデバイス1007は、一律にメモリと呼ばれる可能性がある。
【０１４６】
本発明の様々な実施形態によれば、サーバ1000は、インターネットなどのネットワークを使用することによってネットワーク上のリモートコンピュータに接続することにより実行される可能性がある。つまり、サーバ1000は、システムバス1005に接続されたネットワークインターフェースユニット1011を使用することによってネットワーク1012に接続される可能性があり、またはサーバ1000は、ネットワークインターフェースユニット1011を使用することによって別の種類のネットワークもしくはリモートコンピュータシステム(図示せず)に接続される可能性がある。
【０１４７】
メモリは、1つまたは複数のプログラムをさらに含み、1つまたは複数のプログラムは、メモリに記憶され、1つまたは複数のCPU 1001は、図2から図5Bに示された実施形態のいずれかにおいて提供された署名検証方法を含む1つまたは複数のプログラムを実行するように構成される。
【０１４８】
図11は、本発明の実施形態による署名検証方法の特定の実装の概略図である。この実施形態において、説明は、第3者サーバが売買業者によって提供される第3者ウェブページサーバであり、クライアントサーバがWechatのバックグラウンドサーバであり、決済サーバがTenpayのバックグラウンドサーバである例を使用することによって与えられる。WechatおよびTenpayは、中国においてTencent technology (Shenzhen) Co., Ltd.によって提供されるインターネットサービスである。署名検証方法は、以下を含む。
【０１４９】
ステップ1101: 第3者ウェブページサーバが、ユーザによってウェブページ上でトリガされた購入信号を受信し、公開アカウントと、二重の署名を有する注文情報とをWechatクライアントに提供する。
【０１５０】
第3者ウェブページサーバは、商品の購入ウェブページを提供する可能性がある。ユーザは、モバイル電話のブラウザ上で購入ウェブページを見て、商品を購入することを決定するとき、購入ウェブページ上の購入ボタンをクリックして購入信号をトリガする可能性がある。購入信号を受信した後、第3者ウェブページサーバは、二重の署名を有する注文情報を生成する可能性があり、注文情報は、内側の第1の署名および外側の第2の署名を有する。内側の第1の署名は、Tenpayによって提供された第1の鍵による暗号化によって取得され、外側の第2の署名は、Wechatによって提供された第2の鍵による暗号化によって取得される。
【０１５１】
第3者ウェブページサーバは、決済プロセスを開始するために、予め定義された機能インターフェースを使用することによってユーザのモバイル電話上のWechatクライアントを呼び出し、呼び出しプロセスにおいて、第3者の売買業者の公開アカウントと、Wechatにおける二重の署名を有する注文情報とをWechatクライアントに提供する。
【０１５２】
ステップ1102: Wechatクライアントが、公開アカウントと、二重の署名を有する注文情報とをWechatのバックグラウンドサーバに送る。
【０１５３】
ステップ1103: Wechatのバックグラウンドサーバが、オープンプラットフォームを使用することによって外側の第2の署名を検証する。
【０１５４】
オープンプラットフォームとは、第3者の売買業者に開かれたサービスを提供するためのWechatのバックグラウンドサーバのためのプラットフォームであり、開かれたサービスは、Wechatの決済機能を含む。オープンプラットフォームは、Wechatのバックグラウンドサーバの一部と考えられ得る。
【０１５５】
二重の署名を有する注文情報を受信した後、Wechatのバックグラウンドサーバは、注文情報、Wechatにおける第3者の売買業者の公開アカウント、および外側の第2の署名をオープンプラットフォームに送信し、オープンプラットフォームは、外側の第2の署名を検証する。オープンプラットフォームは、Wechatにおける第3者の売買業者の公開アカウントに従って対応する鍵を問い合わせる可能性がある。
【０１５６】
ステップ1104: Wechatのバックグラウンドサーバが、オープンプラットフォームから検証結果を受信する。
【０１５７】
検証結果が検証が成功したことであるとき、ステップ1105を実行し、検証結果が検証が失敗したことであるとき、第2の署名に対する検証が失敗したことを示す応答をWechatクライアントにフィードバックする。
【０１５８】
ステップ1105: 外側の第2の署名に対する検証が成功したとき、Wechatのバックグラウンドサーバが、注文情報、第3者の決済アカウント、および内側の署名などの情報をTenpayのバックグラウンドサーバに送信する。
【０１５９】
第3者の決済アカウント(パートナーID)は、Tenpayにおける第3者の売買業者のアカウントである。
【０１６０】
ステップ1106: 注文情報などの情報を成功裏に受信した後、Tenpayのバックグラウンドサーバが、Wechatのバックグラウンドサーバに決済IDを返す。
【０１６１】
ステップ1107: Wechatのバックグラウンドサーバが、Wechatクライアントに決済IDを返す。
【０１６２】
決済IDを受信した後、Wechatクライアントは、決済IDについての決済ページをユーザに対して表示し得る。
【０１６３】
ステップ1108: Wechatクライアントが、ユーザの確認信号に従って現実の決済を開始する。
【０１６４】
Wechatクライアントは、決済ページ上でユーザの確認信号を受信し、このプロセスにおいて、ユーザは、Wechatの決済パスコードを入力するかまたは別の操作を実行する必要がある可能性もある。ユーザの確認信号を受信した後、Wechatクライアントは、Wechatのバックグラウンドサーバへの現実の決済を開始する。
【０１６５】
ステップ1109: Wechatのバックグラウンドサーバが、注文の支払いを実際にするようにTenpayのバックグラウンドサーバに要求する。
【０１６６】
ステップ1110: Tenpayのバックグラウンドサーバが、注文情報の内側の第1の署名を検証する。
【０１６７】
Tenpayのバックグラウンドサーバは、第3者の決済アカウントに応じて対応する鍵を問い合わせる可能性があり、それから、第1の署名を検証する。
【０１６８】
ステップ1111: Tenpayのバックグラウンドサーバが、内側の第1の署名に対する検証が成功したかどうかを示す応答を返す。
【０１６９】
検証が成功したとき、Tenpayのバックグラウンドサーバは、内側の第1の署名に対する検証が成功したことを示す応答をWechatのバックグラウンドサーバに返し、ステップ1112を実行する。
【０１７０】
検証が失敗したとき、Tenpayのバックグラウンドサーバは、内側の第1の署名に対する検証が失敗したことを示す応答をWechatのバックグラウンドサーバに返す。
【０１７１】
ステップ1112: 第1の署名に対する検証が成功したとき、Tenpayのバックグラウンドサーバが、注文情報を処理する。
【０１７２】
ステップ1113: Tenpayのバックグラウンドサーバが、決済が成功したかどうかを示す応答を返す。
【０１７３】
決済が成功したとき、Tenpayのバックグラウンドサーバは、決済が成功したことを示す応答をWechatのバックグラウンドサーバに返す。
【０１７４】
決済が失敗したとき、Tenpayのバックグラウンドサーバは、決済が失敗したことを示す応答をWechatのバックグラウンドサーバに返す。
【０１７５】
ステップ1114: Wechatのバックグラウンドサーバが、決済が成功したかどうかを示す応答をオープンプラットフォームに返す。
【０１７６】
決済が成功したとき、Wechatのバックグラウンドサーバは、決済が成功したことを示す応答をオープンプラットフォームに返す。
【０１７７】
決済が失敗したとき、Wechatのバックグラウンドサーバは、決済が失敗したことを示す応答をオープンプラットフォームに返す。
【０１７８】
ステップ1115: オープンプラットフォームが、決済が成功したかどうかを示す応答を第3者ウェブページサーバに返す。
【０１７９】
決済が成功したとき、オープンプラットフォームは、決済が成功したことを示す応答を第3者ウェブページサーバに返す。
【０１８０】
決済が失敗したとき、オープンプラットフォームは、決済が失敗したことを示す応答を第3者ウェブページサーバに返す。
【０１８１】
結論として、この実施形態において提供される署名生成装置においては、Wechatのバックグラウンドサーバが、注文情報の外側の第2の署名を検証し、Tenpayのバックグラウンドサーバが、注文情報の内側の第1の署名を検証し、それによって、第3者の売買業者と決済サービス提供者との両方が、上述の注文情報送信プロセスにおいて使用される第3者の売買業者の鍵を有し、鍵が漏らされると、他者が鍵を使用することによって注文情報を改ざんまたは偽造することができ、そのことが、ユーザまたは第3者の売買業者に対する財産の損失を容易に引き起こし、セキュリティが低いという問題を解決し、2つの署名を検証することによって検証の正確さを改善し、決済情報のセキュリティを改善する効果を実現し、2つの鍵が、第3者の売買業者によって保有され、WechatのバックグラウンドサーバおよびTenpayのバックグラウンドサーバが、別々に1つの鍵を有する。
【０１８２】
本発明の上述の実施形態の連番は、説明の便宜のためのものに過ぎず、実施形態の間の優先度を示唆しない。
【０１８３】
当業者は、上述の実施形態のステップのすべてまたは一部が、ハードウェアを用いることによって実装される可能性があり、または関連するハードウェアに指示を与えるプログラムによって実装される可能性があることを理解するであろう。プログラムは、コンピュータ可読ストレージ媒体に記憶され得る。ストレージ媒体は、ROM、磁気ディスク、光ディスクなどである可能性がある。
【０１８４】
上述の説明は、本発明の例示的な実施形態であるに過ぎず、本発明を限定するように意図されていない。本発明の精神および原理の中でなされたあらゆる修正、均等な置き換え、または改善は、本発明の保護範囲に入る。
【符号の説明】
【０１８５】
120  第3者サーバ
140  クライアントサーバ
160  決済サーバ
600  第3者サーバ
620  第1の署名モジュール
621  第1の生成ユニット
622  第1の暗号化ユニット
630  第1の獲得モジュール
631  情報追加モジュール
640  第2の署名モジュール
641  第2の生成ユニット
642  第2の暗号化ユニット
650  第2の獲得モジュール
660  第1の送信モジュール
700  クライアントサーバ
720  第1の受信モジュール
730  タイムスタンプ受信モジュール
731  第1の検出モジュール
740  第1の問い合わせモジュール
760  第1の検証モジュール
761  第3の生成ユニット
762  第3の暗号化ユニット
763  第1の判断ユニット
764  第1の判定ユニット
765  第2の判定ユニット
780  第2の送信モジュール
800  決済サーバ
820  第2の受信モジュール
830  第2の検出モジュール
840  第2の問い合わせモジュール
860  第2の検証モジュール
861  第4の生成ユニット
862  第4の暗号化ユニット
863  第4の判断ユニット
864  第3の判定ユニット
865  第4の判定ユニット
880  情報応答モジュール
1000  サーバ
1001  中央演算処理装置(CPU)
1002  ランダムアクセスメモリ(RAM)
1003  読み出し専用メモリ(ROM)
1004  システムメモリ
1005  システムバス
1006  基本入出力システム(I/Oシステム)
1007  大容量ストレージデバイス
1008  ディスプレイ
1009  入力デバイス
1010  入力/出力コントローラ
1011  ネットワークインターフェースユニット
1012  ネットワーク
1013  オペレーティングシステム
1014  アプリケーションプログラム
1015  別のプログラムモジュール
【図１】
0006355742.tif 000002
【図２】
0006355742.tif 000003
【図３】
0006355742.tif 000004
【図４】
0006355742.tif 000005
【図５Ａ】
0006355742.tif 000006
【図５Ｂ】
0006355742.tif 000007
【図６】
0006355742.tif 000008
【図７】
0006355742.tif 000009
【図８】
0006355742.tif 000010
【図９】
0006355742.tif 000011
【図１０】
0006355742.tif 000012
【図１１】
0006355742.tif 000013