(57)【要約】  安全なオフライン支払いを提供するための方法は、ユーザデバイスに署名された残高証明書を通信するアカウントシステムを含む。システムは、ユーザのアカウントにアクセスし、利用可能なロックされていない資金を決定し、残高証明書を作成および署名し、署名された残高証明書をユーザデバイスに送信する。オフライン支払いトランザクションを完了するために、ユーザデバイスおよび販売主デバイスは、通信チャネルを確立する。販売主デバイスは、ユーザデバイスに支払い要求を送信する。署名された引き出し記録および署名された残高証明書は、オフライン支払いトランザクションの検証および完了のために販売主デバイスに送信される。販売主デバイスは、引き出し記録に署名し、ユーザデバイスにそれを送信し、販売主デバイスがネットワークアクセスを持ち、それをシステムに送信することができるまで、それを保存する。システムは、引き出し記録を検証し、ユーザのアカウントにそれを記録する。
2017513122.tif 000002
【特許請求の範囲】
【請求項１】
販売主通信デバイスによって、ネットワークアクセスなしでオフライン支払いトランザクションを完了するという希望をユーザが示すことに応じてユーザモバイル通信デバイスとの通信チャネルを確立するステップと、
前記販売主モバイル通信デバイスによって、ネットワークアクセスなしで前記オフライン支払いトランザクションを完了するために、前記ユーザモバイル通信デバイスに支払い要求を送信するステップと、
前記販売主モバイル通信デバイスによって、前記ユーザモバイル通信デバイスから引き出し記録および残高証明書を受信するステップであって、
前記残高証明書は、前記ユーザモバイル通信デバイスによる要求に応じてアカウント管理システムによって作成され、前記残高証明書は、前記オフライン支払いトランザクションに利用可能な資金の金額を示しており、
前記引き出し記録は、アカウント管理システムアカウント識別子および支払い金額を含み、前記引き出し記録は、アカウント管理システムのアカウント証明書秘密鍵を使用して、前記ユーザモバイル通信デバイスによって署名されるステップと、
前記販売主モバイル通信デバイスによって、アカウント管理システムのアカウント証明書公開鍵を使用して前記ユーザモバイル通信デバイスのユーザの識別情報を確認することによって、前記引き出し記録が有効であること、および前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定するステップと、
前記販売主モバイル通信デバイスによって、前記引き出し記録が有効であること、および十分な資金が利用可能であることを決定するステップに応じて、前記オフライン支払いトランザクションを承認するステップと、
前記販売主モバイル通信デバイスによって、前記アカウント管理システムに前記引き出し記録を送信するステップであって、前記アカウント管理システムは、前記オフライン支払いトランザクションを反映するために前記アカウント管理システムによって維持されたユーザアカウントを更新するステップと
を含む、安全なオフライン支払いを提供するためのコンピュータ実装方法。
【請求項２】
前記残高証明書は、残高証明書秘密鍵を使用して、前記アカウント管理システムによって署名され、前記販売主モバイル通信デバイスは、残高証明書公開鍵を使用して前記残高証明書が有効であると決定する、請求項1に記載の方法。
【請求項３】
前記販売主モバイル通信デバイスによって、前記ユーザモバイル通信デバイスに、前記オフライン支払いトランザクションが成功したことを示す、前記引き出し記録またはステータスコードを送信するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記ユーザモバイル通信デバイスは、ネットワークアクセスが前記ユーザモバイル通信デバイスに利用可能なときに、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項3に記載の方法。
【請求項５】
前記ユーザモバイル通信デバイスは、新しい残高証明書を要求しながら、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項4に記載の方法。
【請求項６】
前記販売主モバイル通信デバイスによって、前記ユーザデバイスに、署名された引き出し記録を送信する前に、販売主デバイスの署名証明書秘密鍵を使用して、前記引き出し記録に署名するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記アカウント管理システムは、販売主デバイス署名証明書公開鍵を使用して、前記販売主モバイル通信デバイスの識別情報を確認することによって、前記署名された引き出し記録が有効であることを決定する、請求項6に記載の方法。
【請求項８】
前記ユーザモバイル通信デバイスは、前記アカウント管理システムによって維持されるユーザアカウントへの預け入れ資金への要求に応じて、前記アカウント管理システムから前記残高証明書を受信する、請求項1に記載の方法。
【請求項９】
コンピュータによって実行されたときに、コンピュータに安全なオフライン支払いを提供させる、そこに一体化されたコンピュータ可読プログラム命令を持つ非一時的コンピュータ可読媒体であって、前記コンピュータ可読プログラム命令は、
ネットワークアクセスなしでオフライン支払いトランザクションを完了するためにユーザモバイル通信デバイスに支払い要求を送信するためのコンピュータ可読プログラム命令と、
前記ユーザモバイル通信デバイスから引き出し記録および残高証明書を受信するためのコンピュータ可読プログラム命令であって、
前記残高証明書は、前記ユーザモバイル通信デバイスによる要求に応じてアカウント管理システムによって作成され、前記残高証明書は、前記オフライン支払いトランザクションに利用可能な資金の金額を示しており、
前記引き出し記録は、アカウント管理システムアカウント識別子および支払い金額を含み、前記引き出し記録は、アカウント管理システムのアカウント証明書秘密鍵を使用して、前記ユーザモバイル通信デバイスによって署名されるコンピュータ可読プログラム命令と、
前記ユーザモバイル通信デバイスのユーザの識別情報を確認することによって、前記引き出し記録が有効であること、および前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定するためのコンピュータ可読プログラム命令と、
前記引き出し記録が有効であること、および十分な資金が利用可能であることを決定することに応じて、前記オフライン支払いトランザクションを承認するためのコンピュータ可読プログラム命令と、
前記アカウント管理システムに前記引き出し記録を送信するためのコンピュータ可読プログラム命令であって、前記アカウント管理システムは、前記オフライン支払いトランザクションを反映するために前記アカウント管理システムによって維持されたユーザアカウントを更新するコンピュータ可読プログラム命令と
を含む非一時的コンピュータ可読媒体
を含む、コンピュータプログラム製品。
【請求項１０】
前記残高証明書は、前記アカウント管理システムによって署名され、販売主モバイル通信デバイスは、公開鍵を使用して前記残高証明書が有効であると決定する、請求項9に記載のコンピュータプログラム製品。
【請求項１１】
前記ユーザモバイル通信デバイスに、前記オフライン支払いトランザクションが成功したことを示す、前記引き出し記録またはステータスコードを送信するためのコンピュータ可読プログラム命令をさらに含む、請求項9に記載のコンピュータプログラム製品。
【請求項１２】
前記ユーザモバイル通信デバイスは、ネットワークアクセスが前記ユーザモバイル通信デバイスに利用可能なときに、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項11に記載のコンピュータプログラム製品。
【請求項１３】
前記ユーザモバイル通信デバイスは、新しい残高証明書を要求しながら、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項11に記載のコンピュータプログラム製品。
【請求項１４】
前記ユーザデバイスに、署名された引き出し記録を送信する前に、前記引き出し記録に署名するためのコンピュータ可読プログラム命令をさらに含み、前記アカウント管理システムは、前記引き出し記録に署名した販売主モバイル通信デバイスの識別情報を確認することによって、前記署名された引き出し記録が有効であることを決定する、請求項9に記載のコンピュータプログラム製品。
【請求項１５】
記憶デバイスと、
前記記憶デバイスに通信可能に結合されたプロセッサであって、前記プロセッサは、前記記憶デバイスに記憶され、システムに、
ネットワークアクセスなしでオフライン支払いトランザクションを完了するためにユーザモバイル通信デバイスに支払い要求を送信することと、
前記ユーザモバイル通信デバイスから引き出し記録および残高証明書を受信することであって、
前記残高証明書は、前記ユーザモバイル通信デバイスによる要求に応じてアカウント管理システムによって作成され、前記残高証明書は、前記オフライン支払いトランザクションに利用可能な資金の金額を示しており、
前記引き出し記録は、アカウント管理システムアカウント識別子および支払い金額を含み、前記引き出し記録は、アカウント管理システムのアカウント証明書秘密鍵を使用して、前記ユーザモバイル通信デバイスによって署名されることと、
前記ユーザモバイル通信デバイスのユーザの識別情報を確認することによって、前記引き出し記録が有効であること、および前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定することと、
前記引き出し記録が有効であること、および十分な資金が利用可能であることを決定することに応じて、前記オフライン支払いトランザクションを承認することと
を行わせるアプリケーションコード命令を実行するプロセッサと
を含む、安全なオフライン支払いを提供するためのシステム。
【請求項１６】
前記プロセッサは、前記システムに、前記アカウント管理システムに前記引き出し記録を送信させるために、前記記憶デバイスに記憶されたコンピュータ実行可能命令を実行するようにさらに構成され、前記アカウント管理システムは、前記オフライン支払いトランザクションを反映するために前記アカウント管理システムによって維持されたユーザアカウントを更新する、請求項15に記載のシステム。
【請求項１７】
前記残高証明書は、前記アカウント管理システムによって署名され、販売主モバイル通信デバイスは、公開鍵を使用して前記残高証明書が有効であると決定する、請求項15に記載のシステム。
【請求項１８】
前記プロセッサは、前記システムに、前記ユーザモバイル通信デバイスに前記引き出し記録またはステータスコードを送信させるために前記記憶デバイスに記憶されたコンピュータ実行可能命令を実行するようにさらに構成される、請求項15に記載のシステム。
【請求項１９】
前記ユーザモバイル通信デバイスは、ネットワークアクセスが前記ユーザモバイル通信デバイスに利用可能なときに、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項18に記載のシステム。
【請求項２０】
前記ユーザモバイル通信デバイスは、新しい残高証明書を要求しながら、前記アカウント管理システムに前記引き出し記録またはステータスコードを送信する、請求項19に記載のシステム。
【請求項２１】
1つまたは複数のコンピューティングデバイスによって、およびユーザモバイルコンピューティングデバイスから、ネットワークアクセスなしで完了されるオフライン支払いトランザクションで使用するために利用可能な資金の金額を示す残高証明書に対する要求を受信するステップであって、前記要求は、アカウント管理システムアカウント識別子を含むステップと、
前記1つまたは複数のコンピューティングデバイスによって、オフライン支払いトランザクションの間に前記利用可能な資金の一部が使用されないようにロックされることを決定するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記残高証明書を作成するステップであって、前記残高証明書は、利用可能な資金の前記一部を引いた前記オフライン支払いトランザクションで使用するために利用可能な資金の前記金額が前記オフライン支払いトランザクションの間に使用されないようにロックされることを示すステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記ユーザモバイル通信デバイスに前記残高証明書を送信するステップと、
前記1つまたは複数のコンピューティングデバイスによって、および販売主モバイル通信デバイスから、前記販売主モバイル通信デバイスと前記ユーザモバイル通信デバイスの間のオフライン支払いトランザクションに対して引き出し記録を受信するステップであって、
前記残高証明書は、前記オフライン支払いトランザクションに対する支払い要求に応じて前記販売主モバイル通信デバイスに前記ユーザモバイル通信デバイスによって送信されており、
前記販売主モバイル通信デバイスは、前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定したステップと、
前記1つまたは複数のコンピューティングデバイスによって、第2のオフライン支払いトランザクションで使用するために利用可能な資金の金額を更新するステップと
を含む、安全なオフライン支払いに利用可能な資金をロックするためのコンピュータ実装方法。
【請求項２２】
前記利用可能な資金の前記一部は、事前定義された時間期間に対するオフライン支払いトランザクションの間に使用されないようにロックされる、請求項21に記載の方法。
【請求項２３】
前記利用可能な資金の前記一部は、指定された場所に対するオフライン支払いトランザクションの間に使用されないようにロックされる、請求項21に記載の方法。
【請求項２４】
前記利用可能な資金の前記一部は、販売主の指定されたタイプに対するオフライン支払いトランザクションの間に使用されないようにロックされる、請求項21に記載の方法。
【請求項２５】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用されないようにロックされるが、第2のユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用するために利用可能である、請求項21に記載の方法。
【請求項２６】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスのユーザによって確立された1つまたは複数のルールに基づいて、オフライン支払いトランザクションの間に使用されないようにロックされる、請求項21に記載の方法。
【請求項２７】
前記利用可能な資金の前記一部は、前記1つまたは複数のコンピューティングデバイスによって確立された1つまたは複数のルールに基づいて、オフライン支払いトランザクションの間に使用されないようにロックされる、請求項21に記載の方法。
【請求項２８】
前記1つまたは複数のコンピューティングデバイスによって、および前記ユーザモバイルコンピューティングデバイスから、前記ロックされた資金の少なくとも一部をロック解除するための要求を受信するステップをさらに含む、請求項21に記載の方法。
【請求項２９】
前記残高証明書は、残高証明書秘密鍵を使用して、前記アカウント管理システムによって署名され、前記販売主モバイル通信デバイスは、残高証明書公開鍵を使用して前記残高証明書が有効であると決定する、請求項21に記載の方法。
【請求項３０】
前記販売主モバイル通信デバイスは、アカウント管理システムのアカウント証明書公開鍵を使用して、前記ユーザモバイル通信デバイスのユーザの識別情報を確認することによって、前記引き出し記録が有効であることを決定する、請求項21に記載の方法。
【請求項３１】
コンピュータによって実行されたときに、前記コンピュータに安全なオフライン支払いに利用可能な資金をロックさせる、そこに一体化されたコンピュータ可読プログラム命令を持つ非一時的コンピュータ可読媒体であって、前記コンピュータ可読プログラム命令は、
ユーザモバイルコンピューティングデバイスから、ネットワークアクセスなしで完了されるオフライン支払いトランザクションで使用するために利用可能な資金の金額を示す残高証明書に対する要求を受信するためのコンピュータ可読プログラム命令と、
前記利用可能な資金の一部が、前記オフライン支払いトランザクションの間に使用されないようにロックされることを決定するためのコンピュータ可読プログラム命令と、
前記残高証明書を作成するためのコンピュータ可読プログラム命令であって、前記残高証明書は、前記利用可能な資金の前記一部を引いた前記オフライン支払いトランザクションで使用するために利用可能な資金の前記金額が前記オフライン支払いトランザクションの間に使用されないようにロックされることを示すコンピュータ可読プログラム命令と、
前記ユーザモバイル通信デバイスに前記残高証明書を送信するためのコンピュータ可読プログラム命令と、
販売主モバイル通信デバイスから、前記販売主モバイル通信デバイスと前記ユーザモバイル通信デバイスの間の前記オフライン支払いトランザクションに対して引き出し記録を受信するためのコンピュータ可読プログラム命令であって、
前記残高証明書は、前記オフライン支払いトランザクションに対する支払い要求に応じて前記販売主モバイル通信デバイスに前記ユーザモバイル通信デバイスによって送信されており、
前記販売主モバイル通信デバイスは、前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定したコンピュータ可読プログラム命令と、
前記1つまたは複数のコンピューティングデバイスによって、第2のオフライン支払いトランザクションで使用するために利用可能な資金の金額を更新するためのコンピュータ可読プログラム命令と
を含む非一時的コンピュータ可読媒体
を含む、コンピュータプログラム製品。
【請求項３２】
前記利用可能な資金の前記一部は、事前定義された時間期間に対する前記オフライン支払いトランザクションの間に使用されないようにロックされる、請求項31に記載のコンピュータプログラム製品。
【請求項３３】
前記利用可能な資金の前記一部は、指定された場所に対する前記オフライン支払いトランザクションの間に使用されないようにロックされる、請求項31に記載のコンピュータプログラム製品。
【請求項３４】
前記利用可能な資金の前記一部は、販売主の指定されたタイプに対するオフライン支払いトランザクションの間に使用されないようにロックされる、請求項31に記載のコンピュータプログラム製品。
【請求項３５】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用されないようにロックされるが、第2のユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用するために利用可能である、請求項31に記載のコンピュータプログラム製品。
【請求項３６】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスのユーザによって確立された1つまたは複数のルールに基づいて、オフライン支払いトランザクションの間に使用されないようにロックされる、請求項31に記載のコンピュータプログラム製品。
【請求項３７】
記憶デバイスと、
前記記憶デバイスに通信可能に結合されたプロセッサであって、前記プロセッサは、前記記憶デバイスに記憶され、システムに、
ユーザモバイルコンピューティングデバイスから、ネットワークアクセスなしで完了されるオフライン支払いトランザクションで使用するために利用可能な資金の金額を示す残高証明書に対する要求を受信することと、
前記利用可能な資金の一部が、前記オフライン支払いトランザクションの間に使用されないようにロックされることを決定することと、
前記利用可能な資金の前記一部を引いた前記オフライン支払いトランザクションで使用するために利用可能な資金の前記金額が前記オフライン支払いトランザクションの間に使用されないようにロックされることを示す前記残高証明書を作成することと、
前記ユーザモバイル通信デバイスに前記残高証明書を送信することと、
販売主モバイル通信デバイスから、前記販売主モバイル通信デバイスと前記ユーザモバイル通信デバイスの間の前記オフライン支払いトランザクションに対して引き出し記録を受信することであって、
前記残高証明書は、前記オフライン支払いトランザクションに対する支払い要求に応じて前記販売主モバイル通信デバイスに前記ユーザモバイル通信デバイスによって送信されており、
前記販売主モバイル通信デバイスは、前記残高証明書を読み込むことによって、十分な資金が前記オフライン支払いトランザクションに利用可能であることを決定したことと、
前記1つまたは複数のコンピューティングデバイスによって、第2のオフライン支払いトランザクションで使用するために利用可能な資金の金額を更新することと
を行わせるアプリケーションコード命令を実行するプロセッサと
を含む、安全なオフライン支払いに利用可能な資金をロックするためのシステム。
【請求項３８】
前記利用可能な資金の前記一部は、事前定義された時間期間に対する前記オフライン支払いトランザクションの間に使用されないように、または指定された場所に対する前記オフライン支払いトランザクションの間に使用されないようにロックされる、請求項37に記載のシステム。
【請求項３９】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用されないようにロックされるが、第2のユーザモバイル通信デバイスを伴うオフライン支払いトランザクションの間に使用するために利用可能である、請求項37に記載のシステム。
【請求項４０】
前記利用可能な資金の前記一部は、前記ユーザモバイル通信デバイスのユーザによって確立された1つまたは複数のルールに基づいて、オフライン支払いトランザクションの間に使用されないようにロックされる、請求項37に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2014年3月26日に出願した米国特許出願第14/226,785号「Secure Offline Payment System」および2014年3月26日に出願した米国特許出願第14/226,798号「Reserving Account Balance For Concurrent Payments In Secure Offline Payment System」の優先権を主張するものである。上に特定した優先権出願の全内容は、参照によって完全に本明細書に組み込まれている。
【０００２】
本開示は、一般的に、支払いシステムに関し、より詳細には、ユーザが支払いトランザクションをオフラインでネットワークアクセスなしで実行することを可能にする方法およびシステムに関する。
【背景技術】
【０００３】
接近通信技術は、1メートル以下という制限された範囲を持っており、販売主デバイス支払い技術を可能にすることができる。短い通信距離は、接近通信対応のデバイス間において顧客識別および安全な通信を可能にする。そのような接近通信技術は、近距離通信(NFC)、無線周波数識別(RFID)、またはBluetooth（登録商標、以下同じ） Low Energy(BLE)を含む。NFCトランザクションの動作では、ユーザは、NFC対応の携帯電話またはNFC対応のスマートカードなどのデバイスをリーダに「タップ(tap)」する。デバイスがリーダの範囲内に移動すると、リーダは、NFC対応のデバイスを認識し、デバイスとの安全な通信チャネルを確立し、リーダとデバイスの間で支払いトランザクションを開始する。BLEトランザクションの動作では、ユーザは、BLE対応の携帯電話などのデバイスを、別のBLE対応の携帯電話など別のBLE対応デバイスのごく近くに持って来る。BLEデバイスは、それらが互いに近くにあることを検出し、支払いトランザクションを開始するために安全な通信チャネルを確立することができる。
【０００４】
モバイル通信デバイスは、たとえば金融取引で、データまたは情報の交換を伴うトランザクションで利用され得る。従来、金融取引で使用されるモバイル通信デバイスは、金融アカウントにリンクされるか、または金融アカウント情報を含んでいる。結果的に、モバイル通信デバイスが使用されると、リーダは、金融アカウント情報を受信し、金融アカウントからのデビットトランザクションを実施して、オンライントランザクションを処理するためにネットワークアクセスを必要とする。ネットワークまたはネットワーク上の特定のコンピュータへのアクセスが利用可能でない場合、そのような従来のモバイル通信デバイス対応の金融取引は動作不能である。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書に記述した特定の例示的な態様では、安全なオフライン支払いを提供するための方法は、アカウント管理システムによって維持されるユーザアカウントへの預け入れを要求し、および/または最新の残高証明書を要求するユーザデバイスを含む。要求は、二重の支出を防ぐためにユーザのアカウントにおいて特定の資金をロックする要求を含むことができる。ユーザデバイス要求は、また、資金がロックされている期間および/または特定の資金が特定の場所でのみ利用可能であるという要求を含むことができる。ロックされていない資金が使用される場合、残高証明書の期限が切れた場合、および/またはロックが取り除かれることをユーザが要求した場合、ロックは後に取り除かれる。アカウント管理システムは、ユーザのアカウント管理システムアカウントにアクセスし、利用可能なロックされていない資金を決定し、残高証明書を作成および署名し、署名された残高証明書をユーザデバイスに送信する。
【０００６】
オフライン支払いトランザクションを完了するために、ユーザデバイスおよび販売主デバイスは、通信チャネルを確立する。販売主デバイスは、ユーザデバイスに支払い要求を送信し、ユーザデバイスは、支払い金額に対して署名された引き出し記録を生成する。署名された引き出し記録および署名された残高証明書が販売主デバイスに送信され、販売主デバイスは、ユーザデバイスの識別情報を確認するために署名された引き出し記録を検証し、オフライン支払いトランザクションを完了するための資金の利用可能度を確認するために署名された残高を検証する。販売主デバイスは、引き出し記録に署名し、ユーザデバイスにそれを送信し、販売主デバイスがネットワークアクセスを持つまで、それを保存する。販売主デバイスがネットワークアクセスを持つと、それはアカウント管理システムに、署名された引き出し証明書を送信する。アカウント管理システムは、引き出し記録を検証し、ユーザのアカウント管理システムアカウントに引き出し記録を記録する。ユーザデバイスが新しい残高証明書を要求した場合、ユーザデバイスは、アカウント管理システムに署名された引き出し記録を送信し、アカウント管理システムは、アカウント残高を検証し、新しい残高証明書を作成する。
【０００７】
本明細書に記述した特定の他の例示的な態様では、安全なオフライン支払いを提供するためのコンピュータプログラム製品およびシステムが提供される。
【０００８】
例示的な実施形態のこれらおよび他の態様、目的、特徴、および利点は、図示した例示的な実施形態の以下の詳細な説明を考察すると、当業者には明白になるであろう。
【図面の簡単な説明】
【０００９】
【図１】特定の例示的な実施形態による、オフライン支払いシステムを示すブロック図である。
【図２】特定の例示的な実施形態による、オフライン支払いトランザクションを処理するための方法を示すブロックフロー図である。
【図３】特定の例示的な実施形態による、アカウント管理システムから最新の残高証明書を受信するための方法を示すブロックフロー図である。
【図４】特定の例示的な実施形態による、ユーザデバイスに署名された残高証明書を提供するための方法を示すブロックフロー図である。
【図５】特定の例示的な実施形態による、ユーザアカウントの利用可能な資金の残高を計算するための方法を示すブロックフロー図である。
【図６】特定の例示的な実施形態による、販売主デバイスから受信された支払い要求を処理するための方法を示すブロックフロー図である。
【図７】特定の例示的な実施形態による、支払い要求に対するユーザデバイス応答を検証するための方法を示すブロックフロー図である。
【図８】特定の例示的な実施形態による、引き出し記録を検証するための方法を示すブロックフロー図である。
【図９】特定の例示的な実施形態による、コンピュータ機械およびモジュールを示すブロック図である。
【発明を実施するための形態】
【００１０】
概要
本明細書に記述した例示的な実施形態は、オフライン支払いを安全に処理するためのコンピュータ実装手法を提供する。例示的な実施形態では、ユーザは、アプリケーションを有効化し、アカウント管理システムへのオフライン支払いトランザクションを実行するために、ユーザデバイスが要求を通信することを承認する。例示的な実施形態では、ユーザデバイスは、アカウント管理システムとの通信チャネルを確立し、アカウント管理システムによって維持されるユーザアカウントへ資金を預け入れることを要求し、および/または最新の残高証明書を要求する。アカウント管理システムは、ユーザのアカウント管理システムアカウントにアクセスし、残高証明書を作成する。例示的な実施形態では、残高証明書は、時間で制限される(たとえば、事前定義された時間が経過した後に期限が切れる)、それが使用され得る支払いトランザクションの数で制限される(たとえば、オフライン支払いトランザクションで使用された後に期限が切れる)、単一のオフライン支払いトランザクションに利用可能な資金の金額によって制限される(たとえば、Xドル未満のオフライン支払いトランザクションに使用され得る)、および/または場所によって制限される(たとえば、レストランまたは場所Zのみでオフライン支払いトランザクションに使用され得る)。アカウント管理システムは、残高証明書秘密鍵を用いて残高証明書に署名し、ユーザデバイスに残高証明書を送信する。
【００１１】
例示的な実施形態では、ユーザのアカウント管理システムアカウントにおける資金の選択された部分だけ、各オフライン支払いトランザクションに利用可能であり、残りの資金は、二重の支出を防ぐためにロックされる。例示的な実施形態では、ユーザは、ロックされた資金の金額および期間を決定する。たとえば、ユーザは、残高証明書に対する要求において特定の資金をロックするための要求を提出する。別の例示的な実施形態では、アカウント管理システムは、ロックされた資金の金額および期間を決定する。さらに別の例では、アカウント管理システムおよびユーザは、ロックされた資金の金額および期間を決定する。例示的な実施形態では、ユーザは、特定の資金が特定の場所のみで利用可能であることを要求する(たとえば、ユーザは、大量輸送交通機関、レストラン、またはX市のみで資金を使用することを希望する)。例示的な実施形態では、ロックされていない資金が使用される場合、残高証明書の期限が切れた場合、および/またはロックが取り除かれることをユーザが要求した場合、要求されたロックは取り除かれる。
【００１２】
ユーザは、販売主または他のトランザクション相手とのオフライン支払いトランザクションを完了するための希望を示す。例示的な実施形態では、ユーザは、販売主デバイスの事前定義された距離内でユーザデバイスを「タップ」し、デバイスは、通信チャネルを確立する。たとえば、デバイスは、近距離通信(NFC)、Bluetooth、または短距離通信チャネルを介して通信する。販売主デバイスは、ユーザデバイスに支払い要求を送信し、ユーザデバイスは、販売主デバイスから受信された支払い要求で示された金額に対して引き出し記録を生成する。例示的な実施形態では、ユーザデバイスは、アカウント証明書秘密鍵を用いて引き出し記録に署名し、販売主デバイスに、署名された残高証明書とともに署名された引き出し記録を送信する。
【００１３】
販売主デバイスは、ユーザデバイスの識別情報を確認するためにアカウント証明書公開鍵を使用して、署名された引き出し記録を検証する。販売主デバイスは、また、残高証明書の期限が切れていないことを確認し、オフライン支払いトランザクションを完了するための資金の利用可能度を確認するために、残高証明書公開鍵を使用して、署名された残高証明書を検証する。例示的な実施形態では、販売主デバイスは、販売主デバイスの署名証明書を使用して、引き出し記録に署名し、ユーザデバイスにそれを送信し、販売主デバイスがネットワークアクセスを持つまで、それを保存する。別の例示的な実施形態では、販売主デバイスは、トランザクションが成功したことを示すステータスコードまたはメッセージをユーザデバイスに送信する。販売主デバイスがネットワークアクセスを持つと、それはアカウント管理システムに、署名された引き出し証明書を送信する。例示的な実施形態では、アカウント管理システムは、販売主デバイス署名証明書公開鍵を使用して、引き出し記録を検証し、ユーザのアカウント管理システムアカウントに引き出し記録を記録する。ユーザデバイスが新しい残高証明書を要求した場合、ユーザデバイスは、アカウント管理システムに署名された引き出し記録を送信し、アカウント管理システムは、アカウント残高を検証し、新しい残高証明書を作成する。
【００１４】
様々な例示的な実施形態について、プログラムのフローを示す図に関連して読まれる、以下の記述においてより詳細に説明されるであろう。
【００１５】
例示的なシステムアーキテクチャ
ここで、図面の全体を通じて同様の数字は同様の要素(しかし、必ずしも同一でない)を示している図面を見ると、例示的な実施形態について詳細に記述されている。
【００１６】
図1は、特定の例示的な実施形態による、オフライン支払いシステム100を示すブロック図である。図1に描写したように、代表的な動作環境100は、1つまたは複数のネットワーク140を介して相互に通信するように構成された、販売主コンピューティングデバイス120、ユーザコンピューティングデバイス110、およびアカウント管理コンピューティングシステム130を含む。一部の実施形態では、デバイスに関連付けられたユーザは、本明細書に記述された手法の利点を得るために、アプリケーションをインストールし、および/または特徴選択を行う必要がある。
【００１７】
例示的な実施形態では、ユーザデバイス110および販売主デバイス120は、直接的に通信し、ネットワーク140接続なしで情報を交換するように構成される。例示的な実施形態では、デバイス(デバイス120および110を含む)は、接近通信技術を介して通信する。たとえば、近距離通信チャネル、Bluetooth通信、Bluetooth Low Energy(BLE)通信、標準化された無線周波数の形態、赤外線、音(たとえば可聴音、メロディー、および超音波)、他の短距離通信チャネル、または信号、データ、および/もしくはメッセージ(一般的にデータと呼ばれる)の通信を促進するシステムを介する。この明細書の全体にわたって、「データ」および「情報」という用語は、テキスト、イメージ、オーディオ、ビデオ、またはコンピュータベースの環境に存在することができる他の形態の情報を表すために区別なく本明細書に使用されることを理解されたい。
【００１８】
別の例示的な実施形態では、これらのシステム/デバイス(システム/デバイス110、120、および130を含む)の2つ以上は、同じシステムまたはデバイスに統合される。一部の実施形態では、デバイスに関連付けられたユーザは、本明細書に記述された手法の利点を得るために、アプリケーションをインストールし、および/または特徴選択を行う必要がある。
【００１９】
各ネットワーク140は、ネットワークシステム/デバイス(システム/デバイス110、120、および130を含む)が、データを通信し交換できるワイヤードまたはワイヤレスの電気通信手段を含む。たとえば、各ネットワーク140は、ストレージエリアネットワーク(SAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、仮想プライベートネットワーク(VPN)、イントラネット、インターネット、携帯電話ネットワーク、カードネットワーク、もしくはそれらの組み合わせ、または他の適切なアーキテクチャとして実装され得るか、あるいはその一部分の場合がある。
【００２０】
例示的な実施形態では、各ネットワークコンピューティングシステム110、120、130は、ネットワーク140を通じてデータを送信および受信できる通信モジュールを持つデバイスを含む。たとえば、各ネットワークシステム/デバイス(システム/デバイス110、120、および130を含む)は、サーバ、パーソナルコンピュータ、モバイルデバイス(たとえばノート型コンピュータ、タブレット型コンピュータ、ネットブックコンピュータ、携帯情報端末(PDA)、ビデオゲームデバイス、GPS位置入力デバイス、セルラー式電話、スマートフォン、または他のモバイルデバイス)、1つもしくは複数のプロセッサがそこに組み込まれている、および/もしくはそこに結合されたテレビ、またはネットワーク140を介して通信するためにウェブブラウザもしくは他のアプリケーションを含むか、もしくは結合されている他の適切な技術を含むことができる。図1に描写された例示的な実施形態では、ネットワークシステム/デバイス(システム/デバイス110、120、および130を含む)は、販売主、ユーザ、およびアカウント管理システムのオペレータによってそれぞれ運用される。
【００２１】
例示的な実施形態では、販売主デバイス120は、デバイス120と、ユーザデバイス110などの別のデバイスの間で、電子的、磁気的、または無線周波数の領域を介して通信できるスマートな通信デバイスを指すことができる。例示的な実施形態では、販売主デバイス120は、記憶容量/メモリなどの処理能力、および特定の機能を実行することができる1つまたは複数のアプリケーション125を持つ。例示的な実施形態では、販売主デバイス120は、オペレーティングシステム(図示せず)およびユーザインターフェース121を含む。例示的な販売主デバイス120スマートフォン、携帯電話、携帯情報端末(PDA)、モバイルコンピューティングデバイス(たとえばネットブック、タブレット、およびiPad（登録商標）)、ラップトップ、ウェアラブルコンピューティングデバイス(たとえば、時計、指輪、または眼鏡)、および他のデバイス、いずれの場合も、処理およびユーザインターフェースの機能を持つ。
【００２２】
例示的な実施形態では、コントローラ126は、Bluetoothリンクコントローラである。Bluetoothリンクコントローラ126は、データを送信および受信する、ユーザデバイス110を識別する、認証および暗号化の機能を実行する、ならびに販売主デバイス120がどのようにユーザデバイス110からの送信をリスンするか、またはBluetooth指定の手順により様々なパワーセーブモードへと販売主デバイス120を構成するかを指示することができる場合がある。別の例示的な実施形態では、コントローラ126は、同様の機能を実行することができるWi-FiコントローラまたはNFCコントローラである。
【００２３】
アプリケーション125は、プログラム、関数、ルーチン、アプレット、または販売主デバイス120に存在し、販売主デバイス120でその動作を実行する同様のエンティティである。たとえば、アプリケーション125は、オフライン支払いアプリケーション、デジタルウォレットアプリケーション、クーポンアプリケーション、ロイヤルティカードアプリケーション(loyalty card application)、別の付加価値アプリケーション(value-added application)、ユーザインターフェースアプリケーション、または販売主デバイス120で動作する他の適切なアプリケーションの1つまたは複数の場合がある。加えて、販売主デバイス120は、取り外し式スマートチップまたはセキュアデジタル(SD)カード内に存在することができるか、またはデバイス120の固定されたチップ内に組み込むことができる安全な要素(図示せず)を含むことができる。特定の例示的な実施形態では、加入者識別モジュール(SIM:Subscribed Identity Module)カードは、たとえばNFC SIMカードなど、安全な要素をホストすることができる場合がある。安全な要素は、安全な要素内に記憶された情報を保護しながら、デバイス120に存在し、デバイスユーザによってアクセス可能であるソフトウェアアプリケーション125が、安全な要素内の特定の機能と安全に対話することを可能にする。安全な要素は、本明細書に記述した機能を実行する、そこで実行されている1つまたは複数のアプリケーション125を含むことができる。
【００２４】
例示的な販売主デバイス120は、1つまたは複数の鍵および/または証明書を含む。例示的な実施形態では、販売主デバイス120は、支払い要求に応じてユーザデバイス110から受信された引き出し記録を検証する。ユーザデバイス110は、アカウント証明書112を使用して、引き出し記録に署名し、販売主デバイスは、ユーザデバイス110の識別情報を確認するために、アカウント証明書公開鍵112aを使用して、記録を検証する。別の例示的な実施形態では、販売主デバイス120は、支払い要求に応じてユーザデバイス110から受信された残高証明書113を検証する。販売主デバイス120は、残高証明書113の期限が切れていないことを確認し、オフライン支払いトランザクションを完了するための資金の利用可能度を確認するために、残高証明書公開鍵113aを使用して、残高証明書113を検証する。例示的な実施形態では、販売主デバイス120は、販売主デバイス署名証明書124を使用して、引き出し記録に署名し、ユーザデバイス110に署名された引き出し記録を送信する。両方のデバイス(110および120)は、デバイス(110および120)がネットワーク140アクセスを持つ署名された引き出し記録を保存し、アカウント管理システム130に記録を送信することができる。
【００２５】
例示的な実施形態では、データ記憶ユニット129は、販売主デバイス120の安全な要素または他の安全なメモリ(図示せず)に実装され得るか、または販売主デバイス120に存在する個別のメモリユニットでもよい。例示的なデータ記憶ユニット129は、販売主デバイス120がネットワーク140アクセスを持ち、アカウント管理システム130に署名された引き出し記録を通信することができるまで、署名された引き出し記録の記憶を可能にする。例示的な実施形態では、データ記憶ユニット129は、情報を記憶するのに適した販売主デバイス120にアクセス可能な任意のローカルまたはリモートのデータ記憶構造を含むことができる。例示的な実施形態では、データ記憶ユニット129は、HTML5ローカルストレージなど、暗号化された情報を記憶する。
【００２６】
例示的な実施形態によると、販売主デバイス120は、ワイヤード接続を介してネットワーク140に接続することができる。たとえば、接続は、ワイヤードのユニバーサルシリアルバス(USB)またはイーサネット（登録商標）接続の場合がある。別の例示的な実施形態では、販売主デバイス120は、ワイヤレス接続を介してネットワークに接続することができる。たとえば、接続は、ワイヤード/ワイヤレスのインターネット接続を持つホットスポットへのWiFiまたはBluetoothの接続(たとえばMiFi)の場合があるか、またはネットワーク140と信号を通信するのに適した他のワイヤードまたはワイヤレスの接続の場合がある。別の例示的な実施形態では、接続は、セルラーネットワーク接続の場合がある。
【００２７】
例示的な実施形態では、販売主デバイス120は、販売時点(POS)端末として機能し、ユーザデバイス110のユーザによって開始された購入トランザクションを処理することができる。例示的な実施形態では、ユーザは、販売主デバイス120に購入を要求する。販売主デバイス120は、ユーザデバイス110から支払いアカウント情報を受信するか、そうでなければ読み込む。例示的な実施形態では、購入は、販売主デバイス120とのユーザデバイス110のワイヤレス「タップ」によって開始される。
【００２８】
販売主デバイス120は、アンテナ127を介してユーザデバイス110と通信する。例示的な実施形態では、販売主デバイスアプリケーション125がアクティブ化され優先順位が付けられると、コントローラ126は、トランザクションのために販売主デバイス120の準備の状態について通知を受ける。コントローラ126は、アンテナ127を通じて無線信号を出力するか、またはユーザデバイス110からの無線信号をリスンする。販売主デバイス120とユーザデバイス110の間で安全な通信チャネルが確立すると、販売主デバイス120は、ユーザデバイス110から利用可能なアプリケーション115のリストを要求することができる。ディレクトリが最初に表示され、その後、設定された優先度またはユーザデバイス110のタイプに基づいて、トランザクションのためにアプリケーション115が選択および開始される。
【００２９】
例示的なユーザデバイス110は、アンテナ117を使用して、ユーザデバイス110と販売主デバイス120などの別のデバイスの間で、電子的、磁気的、または無線周波数の領域を介して通信することができるスマートな通信デバイスを指すことができる。例示的な実施形態では、ユーザデバイス110は、記憶容量/メモリなどの処理能力および特定の機能を実行することができる1つまたは複数のアプリケーション115を持つ。例示的な実施形態では、ユーザデバイス110は、オペレーティングシステム(図示せず)およびユーザインターフェース111を含む。例示的なユーザデバイス110は、スマートフォン、携帯電話、携帯情報端末(PDA)、モバイルコンピューティングデバイス(たとえばネットブック、タブレット、およびiPad（登録商標）)、ラップトップ、ウェアラブルコンピューティングデバイス(たとえば、時計、指輪、または眼鏡)、および他のデバイスを含み、いずれの場合も、処理およびユーザインターフェースの機能を持つ。
【００３０】
ユーザは、ユーザインターフェース111およびアプリケーション115を介してオフライン支払いトランザクションを実行するためにユーザデバイス110を使用することができる。アプリケーション115は、プログラム、関数、ルーチン、アプレット、またはユーザデバイス110に存在し、ユーザデバイス110でその動作を実行する同様のエンティティである。たとえば、アプリケーション115は、ショッピングアプリケーション、販売主デバイス120アプリケーション、支払いアプリケーション、デジタルウォレットアプリケーション、ロイヤルティカードアプリケーション、別の付加価値アプリケーション、ユーザインターフェース111アプリケーション、またはユーザデバイス110で動作する他の適切なアプリケーションの1つまたは複数の場合がある。一部の実施形態では、ユーザは、本明細書に記述した手法の利点を得るために、アプリケーション115をインストールし、および/またはユーザデバイス110で特徴選択を行う必要がある。加えて、ユーザデバイス110は、取り外し式のスマートチップまたはセキュアデジタル(SD)カード内に存在することができ、デバイス110の固定されたチップ内に組み込まれ得るか、またはセキュリティが拡張されたオペレーティングシステムの安全なコンパートメントとして実現され得る、安全な要素(図示せず)を含むことができる。特定の例示的な実施形態では、加入者識別モジュール(SIM)カードは、たとえばNFC SIMカードなど、安全な要素をホストすることができる場合がある。安全な要素は、安全な要素内に記憶された情報を保護しながら、ユーザデバイス110に存在し、デバイスユーザによってアクセス可能であるソフトウェアアプリケーション115が、安全な要素内の特定の機能と安全に対話することを可能にする。安全な要素は、本明細書に記述した機能を実行する、そこで実行されている1つまたは複数のアプリケーション115を含むことができる。
【００３１】
例示的な実施形態では、コントローラ116は、Bluetoothリンクコントローラである。Bluetoothリンクコントローラ116は、データを送信および受信する、販売主デバイス120を識別する、認証および暗号化の機能を実行する、ならびにユーザデバイス110がどのように販売主デバイスからの送信をリスンするか、または、Bluetooth指定の手順により様々なパワーセーブモードへとユーザデバイス110を構成するかを指示することができる場合がある。別の例示的な実施形態では、コントローラ116は、同様の機能を実行することができるWi-FiコントローラまたはNFCコントローラである。
【００３２】
例示的なユーザデバイス110は、1つまたは複数の鍵および/または証明書を含む。例示的な実施形態では、ユーザデバイス110は、販売主デバイス120から受信された支払い要求で示された金額に対して引き出し記録を生成する。ユーザデバイス110は、アカウント証明書秘密鍵112を用いて引き出し記録に署名し、販売主デバイス120に、残高証明書113とともに署名された引き出し記録を送信する。
【００３３】
例示的な実施形態では、データ記憶ユニット119は、ユーザデバイス110の安全な要素または他の安全なメモリ(図示せず)に実装され得るか、またはユーザデバイス110に存在する個別のメモリユニットでもよい。例示的なデータ記憶ユニット119は、ユーザデバイス110がネットワーク140アクセスを持ち、アカウント管理システム130に署名された引き出し記録を通信することができるまで、署名された引き出し記録の記憶を可能にする。例示的な実施形態では、データ記憶ユニット119は、情報を記憶するのに適したユーザデバイス110にアクセス可能な任意のローカルまたはリモートのデータ記憶構造を含むことができる。例示的な実施形態では、データ記憶ユニット119は、HTML5ローカルストレージなど、暗号化された情報を記憶する。
【００３４】
例示的な実施形態によると、ユーザデバイス110は、ワイヤード接続を介してネットワーク140に接続することができる。たとえば、接続は、ワイヤードのユニバーサルシリアルバス(USB)またはイーサネット（登録商標）接続の場合がある。別の例示的な実施形態では、ユーザデバイス110は、ワイヤレス接続を介してネットワークに接続することができる。たとえば、接続は、ワイヤード/ワイヤレスのインターネット接続を持つホットスポットへのWiFiまたはBluetoothの接続(たとえばMiFi)の場合があるか、またはネットワーク140と信号を通信するのに適した他のワイヤードまたはワイヤレスの接続の場合がある。別の例示的な実施形態では、接続は、セルラーネットワーク接続の場合がある。
【００３５】
例示的なユーザデバイス110および販売主デバイス120は、アカウント管理システム130と通信する。例示的なアカウント管理システム130は、アカウント管理モジュール131およびデータ記憶ユニット137を含む。例示的なアカウント管理モジュール131は、ユーザに対するアカウントを維持する。例示的な実施形態では、アカウントは、1つまたは複数の金融機関によって維持されている1つまたは複数の金融アカウントに対する情報を含む。例示的な実施形態では、金融アカウント情報は、データ記憶ユニット137に保存される。
【００３６】
例示的な実施形態では、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントを使用して行われたユーザの金融取引を記憶する。たとえば、データ記憶ユニット137の各アカウントについての資金の各預け入れおよび資金の各引き出し。例示的な実施形態では、アカウント管理システム130は、紛失しているデータまたは可能性のあるエラーを識別するためにトランザクション履歴を分析する。
【００３７】
例示的なアカウント管理システム130は、1つまたは複数の鍵および/または証明書を含む。例示的な実施形態では、アカウント管理システム130は、アカウント証明書公開鍵112aを含み、アカウント証明書公開鍵112aを使用して、ユーザデバイス110および/またはユーザのアカウント管理システム130アカウントの識別情報を検証することができる。例示的な実施形態では、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントにアクセスし、残高証明書113を作成する。アカウント管理システム130は、残高証明書秘密鍵113を用いて残高証明書113に署名し、ユーザデバイス110に残高証明書113を送信する。例示的な実施形態では、販売主デバイス120は、残高証明書公開鍵113aを含み、残高証明書113が、検証プロセスの一部としてアカウント管理システム130によって署名されたことを確認する。
例示的な実施形態では、アカウント管理システム130は、また、販売主デバイス署名証明書公開鍵124aを含む。アカウント管理システム130は、販売主デバイス120の識別情報を確認するために、販売主デバイス署名証明書公開鍵124aを使用して、販売主デバイス署名証明書124によって署名された引き出し記録を検証する。
【００３８】
例示的な実施形態では、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントにアクセスし、データ記憶ユニット137に署名された引き出し記録を保存する。データ記憶ユニット137は、情報を記憶するのに適したアカウント管理システム130にアクセス可能な任意のローカルまたはリモートのデータ記憶構造を含むことができる。例示的な実施形態では、データ記憶ユニット137は、HTML5ローカルストレージなど、暗号化された情報を記憶する。
【００３９】
例示的な動作環境100のコンポーネントについては、図2〜図8に示した例示的な方法に関して以下に記述する。図2〜図8の例示的な方法は、また、他のシステムおよび他の環境で実行され得る。
【００４０】
例示的なシステムプロセス
図2は、特定の例示的な実施形態による、オフライン支払いトランザクションを処理するための方法200を示すブロックフロー図である。方法200は、図1に示したコンポーネントに関して記述されている。
【００４１】
ブロック210で、ユーザは、ユーザデバイス110のアプリケーション115を有効化し、および/またはオフライン金融取引を実行する希望を示す。例示的な実施形態では、ユーザは、アプリケーション115が、ユーザデバイス110がアカウント管理システム130と通信し、販売主デバイス120とのオフライン支払いトランザクションを実行することを可能にすることを可能にする。
【００４２】
ブロック220で、ユーザデバイス110は、アカウント管理システム130から最新の残高証明書を受信する。アカウント管理システム130から最新の残高証明書を受信するための方法220については、図3に記述した方法に関してより詳細に以下に記述する。
【００４３】
図3は、ブロック220に参照されるように、特定の例示的な実施形態による、アカウント管理システム130から最新の残高証明書を受信するための方法220を示すブロックフロー図である。方法220については、図1に示したコンポーネントに関して記述している。
【００４４】
ブロック310で、ユーザデバイス110は、アカウント管理システム130に最新の残高証明書113を要求する。例示的な実施形態では、要求は、ユーザのアカウント管理システム130アカウントへの資金の預け入れの承認を含む。例示的な実施形態では、ユーザは、金融アカウントからユーザのアカウント管理システム130アカウントへの資金の移動を承認することによって、預け入れを承認する。別の例示的な実施形態では、ユーザデバイス110は、利用可能な資金のロックを要求する。さらに別の例示的な実施形態では、ユーザデバイス110は、利用可能な資金のロック解除を要求する。例示的な実施形態では、最新の残高証明書113は、ユーザデバイス110とアカウント管理システム130の間の任意の通信の間に要求される。
【００４５】
ブロック320で、ユーザデバイス120は、要求を受信し、ユーザデバイス120がネットワーク140アクセスを持っているかどうかを決定する。例示的な実施形態では、ネットワーク140アクセスは、アカウント管理システム130と通信することが必要とされる。例示的な実施形態では、ユーザデバイス120は、アカウント管理システム130との通信チャネルを確立しようとすることによってネットワーク140アクセスがあるかどうかを決定する。
【００４６】
ユーザデバイス120がネットワーク140アクセスを持っていない場合、方法220はブロック325に進む。ブロック325で、ユーザデバイス120は、デバイス120がネットワーク140アクセスを持っているときに、アカウント管理システム130との通信チャネルを確立することを再試行する。
【００４７】
図3のブロック320に戻ると、ユーザデバイス120がネットワーク140アクセスを持っている場合、方法220はブロック330に進む。ブロック330で、ユーザデバイス120は、アカウント管理システム130との通信チャネルを確立する。例示的な実施形態では、通信チャネルは、ネットワーク140を介して確立される。
【００４８】
ブロック340で、アカウント管理システム130は、ユーザがアカウント管理システム130によって維持されているか、またはアカウント管理システム130にアクセス可能なアカウントを持っているかどうかを決定する。例示的な実施形態では、アカウント管理システム130は、ユーザがユーザデバイス110のアプリケーション115を有効化したという通知を受信し、ユーザがアカウント管理システム130アカウントを持っているかどうかを決定する。例示的な実施形態では、ユーザは、アプリケーション115が有効化されるときに、アカウント管理システム130アカウントにログインするか、またはアカウント管理システム130アカウントを作成するように促される。別の例示的な実施形態では、ユーザは、アカウント管理システム130アカウントに以前にログインしており、そうでなければアカウントに自動的にログインされる。さらに別の例示的な実施形態では、ユーザのログイン資格情報は、他のアカウント(たとえば、ソーシャルネットワーキングウェブサイトおよびユーザデバイス120アカウント)を横断して共有され、ユーザは、共有されたログイン資格情報を使用して、アカウント管理システム130アカウントに自動的にログインされる。
【００４９】
ユーザがアカウント管理システム130アカウントを持っていない場合、方法220は、図3のブロック345に進む。ブロック345で、ユーザは、アカウント管理システム130アカウントを作成するように促される。例示的な実施形態では、ユーザは、ユーザがアプリケーション115を有効化したときに、アカウント管理システム130に登録するように促される。別の例示的な実施形態では、ユーザは、アプリケーション115を有効化する前、後、または間に、いつでもアカウント管理システム130アカウントを作成することができる。例示的な実施形態では、ユーザは、アプリケーション115およびネットワーク140を介してアカウント管理システム130にアクセスする。例示的な実施形態では、ユーザは、アカウント管理システム130に、限定しないが、名前、住所、電話番号、電子メールアドレス、および、銀行口座のデビットカード、クレジットカード、ロイヤルティ報酬アカウントカード(loyalty rewards account card)、または購入するために使用され得る他のタイプのアカウント(たとえばカードタイプ、カード番号、有効期限、機密保護コード、および請求先)を含む、1つまたは複数の登録された金融カードアカウントの情報を含む、登録情報を提出する。例示的な実施形態では、ユーザのアカウント管理システム130アカウント情報は、データ記憶ユニット137に保存され、アカウント管理モジュール131にアクセス可能である。例示的な実施形態では、アカウント管理システム130アカウントは、アカウント管理システム130またはサードパーティシステムによって維持されるデジタルウォレットアカウントである。別の例示的な実施形態では、ユーザは、アカウント管理システム130で登録するためにウェブサイトを使用することができる。
【００５０】
別の例示的な実施形態では、ユーザは、アカウント管理システム130アカウントにログインするか、または登録する必要がない。この実施形態では、本明細書に記述した方法は、「ゲスト」ユーザに対して実行される。
【００５１】
ブロック350で、アカウント管理システム130は、アカウント証明書を作成する。例示的な実施形態では、アカウント証明書112は、ユーザのアカウント管理システム130アカウントに対応するユーザおよび/またはユーザデバイス110の識別情報を含む。アカウント証明書112は、ユーザデバイス110および/またはアカウント管理システム130によって維持される。例示的な実施形態では、アカウント証明書112は、販売主デバイス120から受信されたオフライン支払い要求に応じて、ユーザデバイス110によって作成された引き出し記録に署名するために機能する。
【００５２】
例示的な実施形態では、アカウント証明書112は、アカウント証明書公開鍵112aを含む。アカウント証明書公開鍵112aは、アカウント証明書112によって署名された引き出し記録の信憑性を検証するために機能する。例示的な実施形態では、アカウント証明書公開鍵112aは、販売主デバイス120および/またはアカウント管理システム130によって維持される。例示的な実施形態では、販売主デバイス120が登録されたとき、またはその後の任意のときに、アカウント証明書公開鍵112aは、販売主デバイス120にアカウント管理システム130によって送信される。
【００５３】
ブロック355で、アカウント管理システム130は、ユーザデバイス110にアカウント証明書112を送信する。例示的な実施形態では、ユーザデバイス110とアカウント管理システム130の間の任意の通信は、アカウント証明書112によって署名される。この実施形態では、アカウント管理システム130は、署名を読み込むことによってユーザのアカウント管理システム130アカウントを識別する。
【００５４】
ブロック360で、ユーザデバイス110は、アカウント証明書112を受信する。
【００５５】
ブロック370で、アカウント管理システム130は、最新の残高証明書113に対する要求がユーザのアカウント管理システム130アカウントへの資金の預け入れの承認を含むかどうかを決定する。例示的な実施形態では、ユーザは、金融アカウントからユーザのアカウント管理システム130アカウントへの資金の移動を承認することによって、預け入れを承認する。例示的な実施形態では、ユーザは、ユーザデバイス110を使用して、承認を実行する。たとえば、ユーザは、資金の預け入れを要求するためにアプリケーション115にアクセスする。別の例示的な実施形態では、ユーザは、アカウント管理システム130と通信することができる別のコンピューティングデバイスまたはサードパーティシステムを使用して、承認を実行する。この例示的な実施形態では、ユーザデバイス120は、デバイス120がネットワークアクセスを持っているときに最新の残高証明書を要求する。
【００５６】
最新の残高証明書113に対する要求が資金を預け入れる要求を含む場合、方法220は、図3のブロック380に進む。ブロック380で、アカウント管理システム130は、ユーザのアカウントへの資金の預け入れを処理した。例示的な実施形態では、資金は、金融アカウントからユーザのアカウント管理システム130アカウントに電子的に転送される。
【００５７】
次に、方法220は、図3のブロック390に進む。
【００５８】
図3のブロック370に戻ると、最新の残高証明書113に対する要求が資金を預け入れる要求を含まない場合、方法220は図3のブロック390に進む。ブロック390で、アカウント管理システム130は、署名された残高証明書113をユーザデバイス110に提供する。ユーザデバイス110に署名された残高証明書113を提供するための方法390について、図4に記述した方法に関してより詳細に以下に記述する。
【００５９】
図4は、ブロック390に参照されるように、特定の例示的な実施形態による、ユーザデバイス110に署名された残高証明書113を提供するための方法390を示すブロックフロー図である。方法390は、図1に示したコンポーネントに関して記述されている。
【００６０】
ブロック410で、アカウント管理システム130は、最新の残高証明書113に対する要求が引き出し記録を含むかどうかを決定する。例示的な実施形態では、ユーザデバイス110は、最新の残高証明書113に対する要求を用いてアカウント管理システム130に1つまたは複数の引き出し記録を送信する。例示的な実施形態では、ユーザデバイス110は、アカウント管理システムにすべての引き出し記録を送信する。この実施形態では、ユーザデバイス110は、どの引き出し記録がまだ送られていないかを決定し、アカウント管理システム130にそれらの記録を送信する。例示的な実施形態では、各引き出し記録は、販売主デバイス120で行われたオフライン支払いトランザクションの識別を含む。アカウント管理システム130は、ユーザのアカウント管理システム130アカウントに各引き出し記録を保存し、資金の利用可能残高を決定するために記録を使用する。
【００６１】
最新の残高証明書113に対する要求が引き出し記録を含む場合、方法390は、図4のブロック420に進む。ブロック420で、アカウント管理システム130は、引き出し記録を検証する。例示的な実施形態では、各引き出し記録は、オフライン支払いトランザクションの間に販売主デバイス120によって署名される。例示的な実施形態では、販売主デバイス120は、販売主デバイス署名証明書124を使用して、引き出し記録に署名する。例示的な実施形態では、引き出し記録は、記録を認証するために販売主デバイス署名証明書124によって署名される。この実施形態では、アカウント管理システム130は、販売主デバイス署名証明書公開鍵124aを使用して、引き出し記録を検証することができる。例示的な実施形態では、署名された引き出し記録は、ユーザデバイス110と販売主デバイス120の間にオフライン支払いトランザクションが発生したことを検証する。
【００６２】
引き出し記録が検証されない場合、方法390は、図4のブロック430に進む。ブロック430で、トランザクションが拒否され、アカウント管理システム130は、ユーザデバイス120に通知を送信する。
【００６３】
図4のブロック420に戻ると、引き出し記録が検証される場合、方法390は、図4のブロック440に進む。ブロック440で、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントに引き出し記録を記録する。例示的な実施形態では、アカウント管理システム130は、オフライン支払いトランザクションを示すためにユーザのアカウントを更新する。
【００６４】
次に、方法390は、図4のブロック450に進む。
【００６５】
図4のブロック410に戻ると、最新の残高証明書に対する要求が引き出し記録を含んでいない場合、方法390は、図4のブロック450に進む。ブロック450で、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントで利用可能な資金の残高を計算する。ユーザのアカウント管理システム130アカウントで利用可能な資金の残高を計算するための方法450について、図5に記述した方法に関してより詳細に以下に記述する。
【００６６】
図5は、ブロック450に参照されるように、特定の例示的な実施形態による、ユーザのアカウント管理システム130アカウントで利用可能な資金の残高を計算するための方法450を示すブロックフロー図である。方法450は、図1に示したコンポーネントに関して記述されている。
【００６７】
ブロック510で、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントで資金の残高を計算する。例示的な実施形態では、アカウント管理システム130は、預け入れの合計金額と引き出し記録の合計金額の間の差を計算する。別の例示的な実施形態では、アカウント管理システム130は、ユーザのアカウントで資金の残高の累計を維持する。
【００６８】
ブロック520で、アカウント管理システム130は、資金の残高の一部がロックされているかどうかを決定する。例示的な実施形態では、ユーザは、最新の残高証明書113に対する要求を用いて資金の残高の一部をロックする要求を送信する。別の例示的な実施形態では、アカウント管理システム130は、ロックされた資金の金額を決定する、人間の介在なしで理解されたルールまたはロジックを維持する。さらに別の例示的な実施形態では、ユーザは、ロックされた資金の金額を決定するためのルールを定義する。たとえば、ルールは、$25の最低残高がユーザのアカウント管理システム130アカウントで維持されることを必要とすることができる。この例では、アカウント管理システム130は、この最低額がオフライン支払いに利用可能になることを防ぐために、$25をロックするであろう。別の例では、ルールは、ユーザのアカウント管理システム130アカウントにおいて利用可能な資金の5%がロックされることを必要とすることができる。この例では、ユーザがユーザのアカウントに$100を持っていた場合、アカウント管理システム130は、この最低額がオフライン支払いに利用可能になることを防ぐために、5ドルをロックするであろう。
【００６９】
資金の残高の一部がロックされていない場合、方法450は、図4のブロック450に進む。
【００７０】
ブロック520に戻ると、資金の残高の一部がロックされている場合、方法450は、図5のブロック530に進む。ブロック530で、アカウント管理システム130は、資金の残高の一部をロックまたはロック解除するためにルールを決定する。例示的な実施形態では、ルールは、ユーザ、アカウント管理システム、サードパーティ、またはそれらの任意の組み合わせによって定義される。例示的な実施形態では、ユーザのアカウント管理システム130アカウントが確立されている場合、ルールが定義される。別の例示的な実施形態では、ルールが確立され、確立された後の任意のときに変更の対象となる。まだ別の例示的な実施形態では、最新の残高証明書113に対するユーザの要求は、資金をロックまたはロック解除するために1つまたは複数のルールを含む。
【００７１】
例示的な実施形態では、ユーザのアカウント管理システム130アカウントですべての資金がロックされ、アカウント管理システム130は、資金の残高の一部がルールに基づいてロック解除され得るかどうかを決定する。たとえば、アカウント管理システム130は、1つまたは複数のルールを適用することによって、資金の残高の50%がオフライン支払いトランザクションに利用可能になることができると決定する。
【００７２】
ブロック540で、アカウント管理システム130は、資金の残高の一部をロックまたはロック解除するために時間に基づくルールがあるかどうかを決定する。例示的な実施形態では、資金の残高の一部は、制限された回数だけ利用可能である。たとえば、資金の残高の一部は、単一のトランザクションに対してロック解除され得る。この例では、残高証明書113は、単一のトランザクションだけ、または短時間だけ有効である(たとえば、1つのオフライントランザクションを完了するのにだけ十分に長い時間)。単一のオフライン支払いトランザクションが完了した後、または残高証明書113に利用可能な期限が切れた後に、ユーザは、新しい最新の残高証明書113を要求することを必要とされる。
【００７３】
別の例では、利用可能な資金の一部は、ある期間、ロックされ得る。たとえば、資金の残高の一部は、5分間ロックされる。この例では、ユーザは、ロックされた金額までの利用可能な資金の金額で、その5分の間にオフライン支払いトランザクションを完了することができる。トランザクションが完了した後、ロックは取り除かれる。新しい残高証明書113を要求することによって、その5分の期限が切れる前に、ユーザはロック時間を拡張することができる。
【００７４】
資金の残高の一部をロックまたはロック解除するための時間に基づくルールがあるとアカウント管理システム130が決定した場合、方法450は、図5のブロック550に進む。ブロック550で、アカウント管理システム130は、事前定義された時間期間に対して利用可能な資金を決定する。
【００７５】
次いで、方法450は、図5のブロック560に進む。
【００７６】
図5のブロック540に戻ると、資金の残高の一部をロックまたはロック解除するための時間に基づくルールがないとアカウント管理システム130が決定した場合、方法450は、図5のブロック560に進む。ブロック560で、アカウント管理システム130は、資金の残高の一部をロックまたはロック解除するために場所に基づくルールがあるかどうかを決定する。例示的な実施形態では、資金は、指定された場所での使用、または指定されたタイプの販売主とのオフライン支払いトランザクションにのみ利用可能である。たとえば、ユーザは、大量輸送交通機関、レストラン、またはX市のみで資金を使用することを希望する。別の例示的な実施形態では、資金は、第1のオフライン支払いトランザクションの事前定義された近辺、または他の地理的な場所内の使用にのみ利用可能である。たとえば、ユーザが、販売主Xとのオフライン支払いトランザクションを開始すると、ユーザは、販売主Xの場所の半径10フィート内の追加的なトランザクションだけを完了することができる。例示的な実施形態では、各ユーザは、1つを超えるユーザデバイス110を持つことができる。この実施形態では、各ユーザデバイス110は、異なる残高証明書を持つことができる。場所により資金の残高の一部をロックすることによって、ユーザは、ユーザの資金の残高を超過して使うために、1つを超えるユーザデバイス110を使用することができない。
【００７７】
資金の残高の一部をロックまたはロック解除するための場所に基づくルールがあるとアカウント管理システム130が決定した場合、方法450は、図5のブロック570に進む。ブロック570で、アカウント管理システム130は、事前定義された場所または販売主タイプに対して利用可能な資金を決定する。
【００７８】
次いで、方法450は、図5のブロック580に進む。
【００７９】
図5のブロック560に戻ると、資金の残高の一部をロックまたはロック解除するための場所に基づくルールがないとアカウント管理システム130が決定した場合、方法450は、図5のブロック580に進む。ブロック580で、アカウント管理システム130は、資金をロックするための1つまたは複数のルールに基づいて、オフライン支払いトランザクションに利用可能でないロックされた資金の金額およびオフライン支払いトランザクションに利用可能な資金の金額を決定する。例示的な実施形態では、利用可能な資金の金額は、預け入れの合計金額と、ロックされた資金を引いた引き出し記録の合計金額の間の差を含む。
【００８０】
次いで、方法450は、図4のブロック460に進む。
【００８１】
図4に戻ると、ブロック460で、アカウント管理システム130は、ユーザデバイス110に対して最新の残高証明書113を作成する。例示的な実施形態では、最新の残高証明書113は、オフライン支払いトランザクションに利用可能な資金の金額を含む。例示的な実施形態では、残高証明書113は、時間が制限される。この例示的な実施形態では、残高証明書113は、事前定義された時間が過ぎた後に期限が切れる。別の例示的な実施形態では、残高証明書113は、オフライン購入トランザクションの数で限定される。この例示的な実施形態では、残高証明書113は、事前定義された数のオフライン購入トランザクションが完了した後に期限が切れる。別の例示的な実施形態では、残高証明書113は、時間、トランザクションの数、地理的な場所、販売主のタイプ、またはアカウント管理システム130もしくはユーザによって確立された他の制限ルールによって限定される。例示的な実施形態では、残高証明書は、支払いトランザクションに利用可能な資金の金額を制限する1つまたは複数のルールを含む。
【００８２】
ブロック470で、アカウント管理システム130は、残高証明書113に署名する。例示的な実施形態では、販売主デバイス120は、署名された残高証明書113の信憑性を検証するために、残高証明書公開鍵113aを使用して、署名された残高証明書113を読み込むことができる。
【００８３】
ブロック480で、アカウント管理システム130は、ユーザデバイス110に署名された残高証明書113を送信する。例示的な実施形態では、署名された残高証明書113は、ユーザデバイス110へネットワーク140接続を介して送信される。
【００８４】
ブロック490で、ユーザデバイス110は、署名された残高証明書113を受信する。
【００８５】
次いで、方法390は、図2のブロック230に進む。
【００８６】
図2に戻ると、ブロック230で、ユーザデバイス110および販売主デバイス120は、通信チャネルを確立する。例示的な実施形態では、ユーザは、販売主とのオフライン支払いトランザクションを完了するという希望を示した。例示的な実施形態では、ユーザは、ユーザデバイス110がオフライン支払いトランザクションを実行することを可能にするユーザデバイス110のアプリケーション115にアクセスする。例示的な実施形態では、ユーザは、ユーザデバイス110が販売主デバイス120とワイヤレスで通信することを可能にするアプリケーション115にアクセスする。この実施形態では、デバイス(デバイス110および120を含む)は、安全な通信チャネル(たとえば近距離通信、Bluetooth、Wi-Fi、またはワイヤレス通信チャネルの他の形態)を介して通信する。
【００８７】
ブロック240で、販売主デバイス120は、ユーザデバイス110に支払い要求を送信する。例示的な実施形態では、販売主は、販売主デバイス120のアプリケーション125へ支払い要求金額を入力する。この実施形態では、支払い要求は、販売主デバイス120の識別、支払い要求金額、および/またはタイムスタンプを含む。例示的な実施形態では、支払い要求は、安全な通信チャネルを介して送信される。
【００８８】
ブロック250で、ユーザデバイス110は、販売主デバイス120から受信された支払い要求を処理する。販売主デバイス120から受信された支払い要求を処理するための方法250について、図6に記述した方法に関してより詳細に以下に記述する。
【００８９】
図6は、ブロック250に参照されるように、特定の例示的な実施形態による、販売主デバイス120から受信された支払い要求を処理するための方法250を示すブロックフロー図である。方法250は、図1に示したコンポーネントに関して記述されている。
【００９０】
ブロック610で、ユーザデバイス110は、販売主デバイス120から支払い要求を受信する。
【００９１】
ブロック620で、ユーザデバイス110は、販売主デバイス120から受信された支払い要求で示された金額に対して引き出し記録を生成する。例示的な実施形態では、引き出し記録は、支払い要求で受信された情報(たとえば、販売主または販売主デバイス120の識別、支払い要求金額、およびタイムスタンプ)を含む。別の例示的な実施形態では、引き出し記録は、ユーザデバイス110の識別、ユーザの識別、および/またはユーザのアカウント管理システム130アカウントの識別を含む。別の例示的な実施形態では、ユーザは、引き出し記録が作成される前、または間に、アプリケーション115を使用して、支払い要求金額を変更することができる。
【００９２】
ブロック630で、ユーザデバイス110は、引き出し記録に署名する。例示的な実施形態では、引き出し記録は、アカウント証明書112秘密鍵で署名される。例示的な実施形態では、引き出し記録は、販売主デバイス120が、アカウント情報(たとえばアカウント管理システム130アカウント)が、ユーザに属し、オフライン支払いトランザクションに使用するために承認されていることを検証することを可能にするために、ユーザデバイス110またはアプリケーション115によって署名される。
【００９３】
ブロック640で、ユーザデバイス110は、アカウント管理システム130によって署名された最新の残高証明書113を取得する。例示的な実施形態では、支払い要求が販売主デバイス120から受信された後の任意のときに、残高証明書113は取得される。例示的な実施形態では、ユーザデバイス120は、残高証明書113によって開示されたオフライン支払いトランザクションに利用可能な資金の金額で、支払い要求金額を相互参照することによって、オフライン支払いトランザクションに対する資金の利用可能度を確認する。別の例示的な実施形態では、ユーザデバイス110は、オフライン支払いトランザクションに利用可能な資金の金額にかけられた任意のルールまたは制限を調査した。そして、支払いトランザクションがそれらのルールを満たすかどうかを決定する。
【００９４】
ブロック650で、ユーザデバイス110は、販売主デバイス120に支払い要求に対する応答を送信する。例示的な実施形態では、応答は、署名された引き出し記録および署名された残高証明書113を含む。例示的な実施形態では、支払い要求に対する応答は、ユーザデバイス110と販売主デバイス120の間の安全な通信チャネルを介して送信される。
【００９５】
次いで、方法250は図2のブロック260に進む。
【００９６】
図2に戻ると、ブロック260で、販売主デバイス120は、ユーザデバイス110から受信された支払い要求に対する応答を検証する。ユーザデバイス110から受信された支払い要求に対する応答を検証するための方法260について、図7に記述した方法に関してより詳細に以下に記述する。
【００９７】
図7は、ブロック260に参照されるように、特定の例示的な実施形態による、ユーザデバイス110から受信された支払い要求に対する応答を検証するための方法260を示すブロックフロー図である。方法260は、図1に示したコンポーネントに関して記述されている。
【００９８】
ブロック710で、販売主デバイス120は、ユーザデバイス110から支払い要求に対する応答を受信する。例示的な実施形態では、応答は、署名された引き出し記録および署名された残高証明書113を含む。
【００９９】
ブロック720で、販売主デバイス120は、引き出し記録を検証する。例示的な実施形態では、販売主デバイス120は、アカウント証明書公開鍵112aを使用して、署名された引き出し記録を検証する。この実施形態では、引き出し記録は、販売主デバイス120への送信前に、ユーザデバイス110のアカウント証明書112によって署名された。販売主デバイス120は、ユーザデバイス110の識別情報、ユーザ、および/またはユーザのアカウント管理システム130アカウントを確認するために、引き出し記録の署名を検証する。
【０１００】
引き出し記録が検証されない場合、方法260は、図7のブロック730に進む。ブロック730で、オフライン支払いトランザクションが拒否される。例示的な実施形態では、販売主デバイス120は、ユーザデバイス110に拒否されたトランザクションの通知を送信する。
【０１０１】
図7のブロック720に戻ると、引き出し記録が検証される場合、方法260は、図7のブロック740に進む。ブロック740で、販売主デバイス120は、残高証明書113を検証する。例示的な実施形態では、販売主デバイス120は、残高証明書公開鍵113aを使用して、署名された残高証明書113を検証する。
【０１０２】
この実施形態では、残高証明書113は、ユーザデバイス110への送信前にアカウント管理システム130によって署名された。署名された残高証明書113は、支払い要求に応じて引き出し記録とともに販売主デバイス120に送信された。販売主デバイス120は、オフライン支払いトランザクションを完了するための資金の利用可能度を確認するために残高証明書113の署名を検証する。例示的な実施形態では、販売主デバイス120は、残高証明書113の期限が切れていないこと、および/または残高証明書にかけられた他の制限(たとえば地理的な制限、販売主制限、または他の機能的な制限)が満たされていることを検証する。
【０１０３】
残高証明書113が検証されない場合、方法260は、図7のブロック750に進む。ブロック750で、オフライン支払いトランザクションが拒否される。例示的な実施形態では、販売主デバイス120は、ユーザデバイス110に拒否されたトランザクションの通知を送信する。
【０１０４】
図7のブロック740に戻ると、残高証明書113が検証されている場合、方法260は、図7のブロック760に進む。ブロック760で、販売主デバイス120は、オフライン支払いトランザクションを完了するための資金の利用可能度を検証する。例示的な実施形態では、販売主デバイス120は、残高証明書113から利用可能な資金を読み込む。例示的な実施形態では、販売主デバイス120は、オフライン支払いトランザクションが、利用可能な資金にかけられた任意のルールに準拠していることを検証する。
【０１０５】
オフライン支払いトランザクションに十分な資金が利用可能でない場合、方法260は、図7のブロック770に進む。ブロック770で、販売主デバイス120および/またはユーザデバイス110は、資金の残高の一部がロックされているか、そうでなければオフライン支払いトランザクションの間の使用に利用不可能であるかを決定する。例示的な実施形態では、残高証明書113は、資金の一部がロックされているという表記を含む。
【０１０６】
資金の残高の一部がロックされていない場合、方法260は、図7のブロック775に進む。ブロック775で、オフライン支払いトランザクションが拒否される。例示的な実施形態では、販売主デバイス120は、ユーザデバイス110に拒否されたトランザクションの通知を送信する。
【０１０７】
図7のブロック770に戻ると、資金の残高の一部が、ロックされているか、そうでなければオフライン支払いトランザクションの間の使用に利用不可能な場合、方法260は、図7のブロック780に進む。ブロック780で、ユーザは、資金の一部をロック解除するためにアカウント管理システム130への要求を承認する。例示的な実施形態では、ユーザデバイス110がネットワーク140接続を持っている場合のみ、資金のロックを解除するための要求はアカウント管理システム130に送信される。この実施形態では、追加的な資金がロック解除されるまで、トランザクションが拒否される。
【０１０８】
次に、方法260は、図3のブロック310に進み、ユーザデバイス110は、ロック解除された資金を用いて新しい残高証明書113を要求する。
【０１０９】
図7のブロック760に戻ると、オフライン支払いトランザクションに十分な資金が利用可能な場合、方法260は、図7のブロック790に進む。ブロック790で、販売主デバイス120は、オフライン支払いトランザクションを承認する。
【０１１０】
次いで、方法260は、図2のブロック270に進む。
【０１１１】
図2に戻ると、ブロック270で、アカウント管理システム130は、引き出し記録を検証する。引き出し記録を検証するための方法270について、図8に記述した方法に関してより詳細に以下に記述する。
【０１１２】
図8は、ブロック270に参照されるように、特定の例示的な実施形態による、引き出し記録を検証するための方法270を示すブロックフロー図である。方法270は、図1に示したコンポーネントに関して記述されている。
【０１１３】
ブロック810で、販売主デバイス120は、販売主デバイス署名証明書124を用いて引き出し記録に署名する。例示的な実施形態では、販売主デバイス120は、引き出し記録を検証し、残高証明書113を検証し、オフライン支払いトランザクションに対して十分な資金があると決定した後に、オフライン支払いトランザクションを承認した。この実施形態では、販売主デバイス120は、トランザクションを承認するために引き出し記録に署名する。別の例示的な実施形態では、販売主デバイス120は、トランザクションが成功したことをユーザデバイス110に示すステータスコードまたはメッセージを作成する。
【０１１４】
ブロック815で、販売主デバイス120は、ユーザデバイス110に署名された引き出し記録を送信する。例示的な実施形態では、署名された引き出し記録は、ユーザデバイス110と販売主デバイス120の間の安全な通信チャネルを介して送信される。例示的な実施形態では、ユーザデバイス110への署名された引き出し記録の送信は、オフライン支払いトランザクションを完了させる。別の例示的な実施形態では、販売主デバイス120は、トランザクションが成功したことを示すステータスコードまたはメッセージをユーザデバイス110に送信する。
【０１１５】
ブロック820で、販売主デバイス120は、それがネットワーク140アクセスを持っているかどうかを決定する。例示的な実施形態では、販売主デバイス120は、アカウント管理システム130と通信するためにネットワーク140アクセスを必要とする。
【０１１６】
販売主デバイス120がネットワーク140アクセスを持っていない場合、方法270は、図8のブロック830に進む。ブロック830で、ネットワーク140アクセスを持つまで、販売主デバイス120は、引き出し記録を記憶する。
【０１１７】
図8のブロック820に戻ると、販売主デバイス120がネットワーク140アクセスを持っている場合、またはネットワーク140アクセスが利用可能になったら、方法270は、図8のブロック840に進む。ブロック840で、販売主デバイス120は、アカウント管理システム130に引き出し記録を送信する。例示的な実施形態では、引き出し記録は、販売主デバイス署名証明書124によって署名される。別の例示的な実施形態では、引き出し記録は、支払い要求に応じてユーザデバイス110から受信された同じ引き出し記録である。
【０１１８】
ブロック850で、アカウント管理システム130は、販売主デバイス120から引き出し記録を受信する。
【０１１９】
ブロック860で、アカウント管理システム130は、引き出し記録を検証する。例示的な実施形態では、アカウント管理システム130は、販売主デバイス署名証明書公開鍵124aを使用して、引き出し記録を検証する。この実施形態では、アカウント管理システム130は、引き出し記録および/または販売主デバイス120の識別情報または妥当性を検証する。別の例示的な実施形態では、販売主デバイス120は、引き出し記録とともに識別子またはメッセージを送信する。この実施形態では、アカウント管理システム130は、販売主デバイス120の識別情報を確認することによって引き出し記録を検証する。別の例示的な実施形態では、アカウント管理システム130は、ユーザまたはユーザデバイスの110の識別情報を検証することによって、引き出し記録を検証する。
【０１２０】
引き出し記録の検証が失敗した場合、方法270は、図8のブロック870に進む。ブロック870で、オフライン支払いトランザクションが拒否される。例示的な実施形態では、アカウント管理システム130は、販売主デバイス120に、拒否されたトランザクションの通知を送信する。
【０１２１】
図8のブロック860に戻ると、引き出し記録の検証に合格した場合、方法270は、図8のブロック880に進む。ブロック880で、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントに引き出し記録を記録する。例示的な実施形態では、引き出し記録は、ユーザの識別、ユーザデバイス110、および/またはユーザのアカウント管理システム130アカウントを含む。この実施形態では、アカウント管理システム130は、販売主デバイス120から受信された引き出し記録を用いてユーザのアカウントを更新する。
【０１２２】
例示的な実施形態では、ユーザデバイス110は、販売主デバイス120がアカウント管理システム130に引き出し記録を送信する前または後に、新しい残高証明書113を要求する。この実施形態では、ユーザデバイス110は、アカウント管理システム130に、署名された引き出し記録を送信する。アカウント管理システム130は、ユーザのアカウント管理システム130アカウントで同じオフライン支払いトランザクションについて受信された2つの引き出し記録を記録する。例示的な実施形態では、2つの引き出し記録は、ユーザのアカウントで資金の残高の妥当性を検証するために使用される。
【０１２３】
他の例示的な実施形態
図9は、特定の例示的な実施形態による計算機械2000およびモジュール2050を示している。計算機械2000は、様々なコンピュータ、サーバ、モバイルデバイス、組み込まれたシステム、または本明細書に提示されたコンピューティングシステムのいずれかに対応することができる。モジュール2050は、本明細書に提示された様々な方法および処理機能を実行する際に、計算機械2000を促進するように構成された1つまたは複数のハードウェアまたはソフトウェア要素を含むことができる。計算機械2000は、プロセッサ2010、システムバス2020、システムメモリ2030、記憶媒体2040、入力/出力インターフェース2060、およびネットワーク2080と通信するためのネットワークインターフェース2070など、様々な内部コンポーネントまたは接続されたコンポーネントを含むことができる。
【０１２４】
計算機械2000は、従来のコンピュータシステム、組み込まれたコントローラ、ラップトップ型コンピュータ、サーバ、モバイルデバイス、スマートフォン、セットトップボックス、キオスク、乗り物の情報システム、テレビに関連付けられたもう1つのプロセッサ、カスタマイズされた機械、他のハードウェアプラットフォーム、またはその任意の組み合わせもしくは多数として実装され得る。計算機械2000は、データネットワークまたはバスシステムを介して相互に接続された複数の計算機械を使用して機能するように構成された分散型システムの場合がある。
【０１２５】
プロセッサ2010は、本明細書に記述された動作および機能を実行するためにコードまたは命令を実行する、要求フローおよびアドレスマッピングを管理する、および計算を実行しコマンドを生成するように構成され得る。プロセッサ2010は、計算機械2000のコンポーネントの動作を監視および制御するように構成され得る。プロセッサ2010は、汎用プロセッサ、プロセッサコア、マルチプロセッサ、再構成可能なプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、状態機械、ゲートロジック(gated logic)、個別のハードウェアコンポーネント、他の処理ユニット、またはその任意の組み合わせもしくは多数の場合がある。プロセッサ2010は、単一の処理ユニット、複数の処理ユニット、単一の処理コア、複数の処理コア、専用処理コア、コプロセッサ、または任意のそれらの組み合わせの場合がある。特定の実施形態に従って、計算機械2000の他のコンポーネントとともにプロセッサ2010は、1つまたは複数の他の計算機械内で実行される仮想化された計算機械の場合がある。
【０１２６】
システムメモリ2030は、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリROM(EPROM)、フラッシュメモリ、または印加された電力を用いて、または用いずにプログラム命令またはデータを記憶することができる他のデバイスなど、不揮発性メモリを含むことができる。システムメモリ2030は、また、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、および同期的なダイナミックランダムアクセスメモリ(SDRAM)など、揮発性メモリを含むことができる。他のタイプのRAMは、また、システムメモリ2030を実装するために使用され得る。システムメモリ2030は、単一のメモリモジュールまたは複数のメモリモジュールを使用して実装され得る。システムメモリ2030は、計算機械2000の一部であるとして描写されているが、システムメモリ2030は、主題となる技術の範囲から逸脱することなく計算機械2000から分離され得ることを当業者は認識されるであろう。また、システムメモリ2030は、記憶媒体2040などの不揮発性記憶デバイスを含むか、またはそれと連携して動作することができることを理解されたい。
【０１２７】
記憶媒体2040は、ハードディスク、フロッピーディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、Blu-ray（登録商標）ディスク、磁気テープ、フラッシュメモリ、他の不揮発性メモリデバイス、ソリッドステートドライブ(SSD)、任意の磁気記憶デバイス、任意の光学記憶装置デバイス、任意の電気記憶デバイス、任意の半導体記憶デバイス、任意の物理ベースの記憶デバイス、他のデータ記憶デバイス、またはその任意の組み合わせもしくは多数を含むことができる。記憶媒体2040は、1つまたは複数のオペレーティングシステム、アプリケーションプログラム、およびモジュール2050、データ、または他の情報などのプログラムモジュールを記憶することができる。記憶媒体2040は、計算機械2000の一部である場合があるか、または、そこに接続され得る。記憶媒体2040は、また、サーバ、データベースサーバ、クラウド記憶装置、ネットワーク接続された記憶装置など、計算機械2000と通信状態にある1つまたは複数の他の計算機械の一部の場合がある。
【０１２８】
モジュール2050は、本明細書に提示された様々な方法および処理機能を実行するとともに、計算機械2000を促進するように構成された1つまたは複数のハードウェアまたはソフトウェアの要素を含むことができる。モジュール2050は、システムメモリ2030、記憶媒体2040、または両方と関連してソフトウェアまたはファームウェアとして記憶された命令の1つまたは複数の連続を含むことができる。したがって、記憶媒体2040は、プロセッサ2010によって実行するために命令またはコードが記憶され得る機械またはコンピュータ可読媒体の例を表す場合がある。機械またはコンピュータ可読媒体は、一般的に、プロセッサ2010に命令を提供するために使用される1つまたは複数の任意の媒体を指すことができる。モジュール2050に関連付けられたそのような機械またはコンピュータ可読媒体は、コンピュータソフトウェア製品を含むことができる。モジュール2050を含むコンピュータソフトウェア製品は、また、ネットワーク2080、任意の信号伝達媒体、または他の通信もしくは伝達技術を介して、計算機械2000にモジュール2050を送るために、1つまたは複数のプロセスまたは方法に関連付けられ得ることを理解されたい。モジュール2050は、また、ハードウェア回路、あるいは、FPGAまたは他のPLDに対するマイクロコードまたは構成情報など、ハードウェア回路を構成するための情報を含むことができる。
【０１２９】
入力/出力(I/O)インターフェース2060は、1つまたは複数の外部デバイスに結合し、1つまたは複数の外部デバイスからデータを受信し、1つまたは複数の外部デバイスへデータを送るように構成され得る。様々な内部デバイスとともにそのような外部デバイスも、周辺デバイスとして認識され得る。I/Oインターフェース2060は、計算機械2000またはプロセッサ2010に様々な周辺機器を操作可能に結合するための電気的接続および物理的接続の両方を含むことができる。I/Oインターフェース2060は、周辺機器、計算機械2000、またはプロセッサ2010の間でデータ、アドレス、および制御信号を通信するように構成され得る。I/Oインターフェース2060は、スモールコンピュータシステムインターフェース(SCSI)、シリアルアタッチドSCSI(SAS)、ファイバチャネル、ペリフェラルコンポーネントインターコネクト(PCI)、PCI Express(PCIe)、シリアルバス、パラレルバス、アドバンスドテクノロジーアタッチメント(ATA)、シリアルATA(SATA)、ユニバーサルシリアルバス(USB)、サンダーボルト、FireWire、様々なビデオバスなど、任意の標準インターフェースを実装するように構成され得る。I/Oインターフェース2060は、1つだけのインターフェースまたはバス技術を実装するように構成され得る。あるいは、I/Oインターフェース2060は、複数のインターフェースまたはバス技術を実装するように構成され得る。I/Oインターフェース2060は、システムバス2020の一部、全部として、またはそれと連携して動作するように構成され得る。I/Oインターフェース2060は、1つまたは複数の外部デバイス、内部デバイス、計算機械2000、またはプロセッサ2010の間の送信をバッファリングするために1つまたは複数のバッファを含むことができる。
【０１３０】
I/Oインターフェース2060は、マウス、タッチスクリーン、スキャナ、電子デジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロホン、キーボード、他のポインティングデバイス、またはその任意の組み合わせを含む各種入力デバイスに計算機械2000を結合することができる。I/Oインターフェース2060は、ビデオディスプレイ、スピーカ、プリンタ、プロジェクタ、触覚フィードバックデバイス、自動化制御、ロボットコンポーネント、アクチュエータ、モータ、ファン、ソレノイド、バルブ、ポンプ、送信機、信号エミッタ、光などを含む様々な出力デバイスに計算機械2000を結合することができる。
【０１３１】
計算機械2000は、ネットワーク2080を横断して、1つまたは複数の他のシステムまたは計算機械へのネットワークインターフェース2070を通じて、論理接続を使用して、ネットワーク化された環境で動作することができる。ネットワーク2080は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイヤレスアクセスネットワーク、ワイヤードネットワーク、モバイルネットワーク、電話ネットワーク、光学ネットワーク、またはその組み合わせを含むことができる。ネットワーク2080は、パケット交換、回線交換、または任意のトポロジの場合があり、任意の通信プロトコルを使用することができる。ネットワーク2080内の通信リンクは、光ファイバケーブル、自由空間光通信、導波路、導電体、ワイヤレスリンク、アンテナ、無線周波数通信など、様々なデジタルまたはアナログの通信媒体を伴うことができる。
【０１３２】
プロセッサ2010は、システムバス2020を通じて本明細書に記述された計算機械2000または様々な周辺装置の他の要素に接続され得る。システムバス2020は、プロセッサ2010内、プロセッサ2010外、または両方にある場合があることを理解されたい。一部の実施形態によると、本明細書に記述されたプロセッサ2010、計算機械2000の他の要素、または様々な周辺装置のいずれかは、システムオンチップ(SOC)、システムオンパッケージ(SOP)、またはASICデバイスなどの単一デバイスへ統合され得る。
【０１３３】
本明細書に記述したシステムが、ユーザに関する個人情報を収集するか、または個人情報を利用することができる状況では、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会活動もしくは行動に関する情報、職業、ユーザの好み、またはユーザの現在の場所)を収集するかどうかを制御する、あるいはコンテンツサーバからユーザにより関連する可能性があるコンテンツを受信するかどうか、および/またはその方法を制御するための機会またはオプションを提供される。加えて、特定のデータは、個人的に識別可能な情報が削除されるように、記憶または使用される前に、1つまたは複数の方法で処理され得る。たとえば、ユーザの識別情報は、個人的に識別可能な情報がユーザに対して決定され得ないように処理され得るか、またはユーザの特定の場所が決定され得ないように、位置情報が取得されたユーザの地理的な場所(市、郵便番号、または州レベル(city, ZIP code, or state level)など)が一般化され得る。したがって、ユーザは、ユーザに関する情報がどのように収集されるか、およびコンテンツサーバによってどのように使用されるかを制御することができる。
【０１３４】
実施形態は、本明細書に記述および図示した機能を一体化するコンピュータプログラムを含むことができ、コンピュータプログラムは、機械可読媒体に記憶された命令および命令を実行するプロセッサを含むコンピュータシステムに実装される。しかし、コンピュータプログラミングにおいて実施形態を実装する多くの異なる方法がある可能性があり、実施形態は、コンピュータプログラム命令の任意の1組に制限されるものと解釈されるべきでないことは明白であろう。さらに、熟練したプログラマは、出願文の添付されたフローチャートおよび関連する記述に基づいて、開示された実施形態の実施形態を実装するために、そのようなコンピュータプログラムを記述することができるであろう。したがって、プログラムコード命令の特定の組の開示は、実施形態をどのように構成および使用するかについて適切に理解するために必要であるとは考えられない。さらに、当業者は、本明細書に記述された実施形態の1つまたは複数の態様は、1つまたは複数のコンピューティングシステムで具体化され得るように、ハードウェア、ソフトウェア、またはそれらの組み合わせによって実行され得ることを理解するであろう。さらに、複数のコンピュータが動作を実行することができるため、1台のコンピュータによって実行されている動作についての言及は、単一のコンピュータによって実行されるものとして解釈されるべきでない。
【０１３５】
本明細書に記述された例示的な実施形態は、本明細書に記述された方法および処理機能を実行するコンピュータハードウェアおよびソフトウェアとともに使用され得る。本明細書に記述されたシステム、方法、および手順は、プログラム可能なコンピュータ、コンピュータで実行可能なソフトウェア、またはデジタル回路で具体化され得る。ソフトウェアは、コンピュータ可読媒体に記憶され得る。たとえば、コンピュータ可読媒体は、フロッピーディスク、RAM、ROM、ハードディスク、リムーバブル媒体、フラッシュメモリ、メモリスティック、光学媒体、光磁気媒体、CD-ROMなどを含むことができる。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ(FPGA)などを含むことができる。
【０１３６】
以前に提示した実施形態に記述した例示的なシステム、方法、および動作は実例であり、代替実施形態では、特定の動作は、異なる順序で、互いに並行して実行される、完全に省略される、および/もしくは異なる例示的な実施形態間で組み合わせられ得て、ならびに/または特許請求の範囲に定義されているように、様々な実施形態の範囲および精神から逸脱することなく、特定の追加の動作が実行され得て、その範囲はそのような代替を包含するように最も広い解釈を与えられるものである。
【０１３７】
特定の実施形態について上に詳細に記述されているが、記述は単に説明を目的とするものである。したがって、上に記述された多くの態様は、明示的に記述していない限り、必要とされる要素または必須の要素として意図するものではないことを理解されたい。上に記述したものに加えて、例示的な実施形態の開示された態様の変更、およびそれに対応する同等なコンポーネントまたは動作は、以下の特許請求の範囲に定義された実施形態の精神および範囲から逸脱することなく、本開示の恩恵を受ける当業者によってなし得るものであり、その範囲はそのような変更および同等な構造を包含するように最も広い解釈を与えられるものである。
【符号の説明】
【０１３８】
100  オフライン支払いシステム
100  動作環境
110  ユーザコンピューティングデバイス
111  ユーザインターフェース
112  アカウント証明書、アカウント証明書秘密鍵
112a  アカウント証明書公開鍵
113  残高証明書、残高証明書秘密鍵
113a  残高証明書公開鍵
115  ソフトウェアアプリケーション
116  Bluetoothリンクコントローラ
117  アンテナ
119  データ記憶ユニット
120  販売主コンピューティングデバイス
121  ユーザインターフェース
124  販売主デバイス署名証明書
124a  販売主デバイス署名証明書公開鍵
125  ソフトウェアアプリケーション
126  Bluetoothリンクコントローラ
127  アンテナ
129  データ記憶ユニット
130  アカウント管理コンピューティングシステム
131  アカウント管理モジュール
137  データ記憶ユニット
140  ネットワーク
2000  計算機械
2010  プロセッサ
2020  システムバス
2030  システムメモリ
2040  記憶媒体
2050  モジュール
2060  入力/出力(I/O)インターフェース
2070  ネットワークインターフェース
2080  ネットワーク
【図１】
2017513122.tif 000003
【図２】
2017513122.tif 000004
【図３】
2017513122.tif 000005
【図４】
2017513122.tif 000006
【図５】
2017513122.tif 000007
【図６】
2017513122.tif 000008
【図７】
2017513122.tif 000009
【図８】
2017513122.tif 000010
【図９】
2017513122.tif 000011
【国際調査報告】
2017513122.tif 000012
2017513122.tif 000013