(57)【特許請求の範囲】
【請求項１】
リソース操作のための方法であって、
リソースリクエスタによって、最後に受信した検証情報のタイムスタンプを確認するステップと、
前記リソースリクエスタによって、前記最後に受信した検証情報のタイムスタンプによって表される時刻を現在時刻が超えているとの決定に応答して、新たな検証情報の要求をリソースサーバに送信するステップと、
前記リソースサーバによって、前記リソースリクエスタが前記リソースサーバ上で所定の数値を超える残高を有しているとの決定に応答して、前記新たな検証情報を前記リソースリクエスタに送信するステップであって、前記新たな検証情報が、
前記リソースリクエスタのユーザに関連付けられ、
前記リソースサーバによって生成され、
前記リソースリクエスタが前記リソースサーバ上で有する残高情報を含み、
タイムスタンプと関連付けられる、ステップと、
前記リソースリクエスタによって、リソースプロバイダに、リソース操作に基づき許可情報と前記新たな検証情報とを送信するステップであって、前記許可情報が、前記リソースリクエスタのユーザに関連付けられる識別情報を含む、ステップと、
前記リソースプロバイダによって、前記リソースリクエスタから、前記リソース操作に関連付けられている前記許可情報と前記新たな検証情報とを受信するステップと、
前記リソースプロバイダによって、前記受信した許可情報および前記受信した新たな検証情報に基づいて、物理的ゲートの操作によってゲート通過権を前記リソースリクエスタに割り振ることによって、リソースを操作するステップとを含む、方法。
【請求項２】
前記方法が、前記リソースリクエスタによって、前記リソースプロバイダへ前記許可情報を送信する前に、暗号化された許可情報として、ユーザ秘密鍵を使用することによってリソース操作ベースの許可情報を暗号化するステップをさらに含み、
前記リソースリクエスタによって前記リソースプロバイダに送信される前記許可情報が、前記暗号化された許可情報を含み、
前記方法が、前記リソースプロバイダにより前記リソースを操作する前に、前記リソースプロバイダによって、ユーザ公開鍵を使用することによって前記暗号化された許可情報を暗号解読するステップであって、前記ユーザ秘密鍵および前記ユーザ公開鍵は、非対称相互照合鍵の対である、ステップとを含む、請求項1に記載の方法。
【請求項３】
前記リソースサーバにより、前記ユーザ秘密鍵と前記ユーザ公開鍵とを生成するステップと、
前記リソースサーバにより、前記ユーザ秘密鍵を前記リソースリクエスタに送信するステップと、
前記リソースサーバにより、前記ユーザ公開鍵を前記リソースプロバイダに送信するステップと
をさらに含む、請求項2に記載の方法。
【請求項４】
前記許可情報は、許可のタイムスタンプ情報をさらに含む、請求項2に記載の方法。
【請求項５】
前記リソースリクエスタによって、前記リソースプロバイダに前記許可情報と前記新たな検証情報とを送信するステップが、前記リソースリクエスタによって、暗号化されたユーザ公開鍵として、サーバ端末秘密鍵を使用することによって暗号化されたユーザ公開鍵を前記リソースプロバイダに送信するステップを含み、
前記方法が、前記リソースプロバイダにより前記リソースを操作する前に、前記リソースプロバイダによって、サーバ端末公開鍵を使用することによって前記暗号化されたユーザ公開鍵を処理して前記ユーザ公開鍵を生成するステップであって、前記サーバ端末秘密鍵および前記サーバ端末公開鍵は、非対称相互照合鍵の対である、ステップとを含む、請求項2に記載の方法。
【請求項６】
前記許可情報は、許可の時点におけるタイムスタンプ情報をさらに含む、請求項5に記載の方法。
【請求項７】
前記リソースリクエスタによって、前記リソースプロバイダに前記許可情報と前記新たな検証情報とを送信するステップが、前記リソースリクエスタによって、前記サーバ端末秘密鍵を使用することによって暗号化された新たな検証情報を、前記許可情報に対する暗号化された新たな検証情報として前記リソースプロバイダに送信するステップを含み、
前記リソースプロバイダによって、前記リソースリクエスタから、前記リソース操作に関連付けられている前記許可情報と前記新たな検証情報とを受信するステップが、前記リソースプロバイダによって、前記暗号化された新たな検証情報を受信するステップを含み、
前記方法は、前記リソースプロバイダによって、前記サーバ端末公開鍵を使用することによって前記暗号化された新たな検証情報を暗号解読して前記新たな検証情報を生成するステップをさらに含み、
前記リソースプロバイダによって、前記リソースを操作するステップが、前記リソースプロバイダによって、前記新たな検証情報に従って前記リソースを操作するステップと
をさらに含む、請求項5に記載の方法。
【請求項８】
前記リソースリクエスタによって、前記リソースプロバイダに前記許可情報と前記新たな検証情報とを送信する前に、前記リソースリクエスタによって、前記許可情報および前記新たな検証情報上でコーディング統合を実行してパターンにマッピングするステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記リソースリクエスタによって、前記リソースプロバイダに、前記許可情報と前記新たな検証情報とを送信するステップの前に、
前記リソースサーバにより、前記サーバ端末秘密鍵と前記サーバ端末公開鍵とを生成するステップと、
前記リソースサーバにより、前記ユーザ秘密鍵と前記ユーザ公開鍵とを生成するステップと、
前記リソースサーバにより、前記ユーザ秘密鍵、前記ユーザ公開鍵、および前記暗号化された新たな検証情報を前記リソースリクエスタに送信するステップと
前記リソースサーバにより、前記サーバ端末公開鍵を前記リソースプロバイダに送信するステップとをさらに含む、請求項7に記載の方法。
【請求項１０】
前記リソースサーバによって、前記リソースリクエスタが前記リソースサーバ上で所定の数値を超える残高を有しているとの決定に応答して、前記新たな検証情報を前記リソースリクエスタに送信するステップが、前記リソースリクエスタの口座残高またはクレジット残高がプリセットされた額以上であるときに検証の成功を示す情報を生成するステップを含む、請求項1に記載の方法。
【請求項１１】
請求項1から10のいずれか一項に記載の方法を実行するように構成されている複数のモジュールを備える、リソース操作のためのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、参照によりその全体が組み込まれている、2016年12月19日に出願した中国特許出願第201611175289.6号および2017年12月18日に出願した米国特許出願第15/845,422号の優先権を主張するものである。
【背景技術】
【０００２】
ユーザによって所有されるリソースは、リソースサーバにデジタル方式で記憶され得る。通常は、ユーザがリソース操作(ある量のリソースをリソースサーバに預け入れ、リソースサーバから引き出すなど)を実行するときに、リソースサーバは、リソース操作を完遂するためにオンラインである必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示は、安全なオフラインリソース操作(Resource Operation)について説明する。
【課題を解決するための手段】
【０００４】
一実装形態において、リソース操作に関連付けられている情報は、リソースリクエスタ(Resource Requester)によってリソースプロバイダ(Resource Provider)に伝送される。リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる。リソース操作に関連付けられている情報は、リソースプロバイダによってリソースリクエスタから受信される。リソース操作は、リソースサーバからの情報の代わりにリソースリクエスタからの受信された情報に基づき、リソースプロバイダによって実行される。
【０００５】
前に説明されている実装形態を含む、説明されている主題の実装形態は、コンピュータ実装方法と、コンピュータ実装方法を実行するためのコンピュータ可読命令を記憶する非一時的コンピュータ可読媒体と、1つまたは複数のコンピュータと相互動作可能に結合されている1つまたは複数のコンピュータメモリデバイスを備え、1つまたは複数のコンピュータによって実行されたときに、非一時的コンピュータ可読媒体に記憶されているコンピュータ実装方法/コンピュータ可読命令を実行する命令を記憶している有形の非一時的機械可読媒体を有するコンピュータ実装システムとを使用して実装され得る。
【０００６】
本明細書において説明されている主題は、特定の実装形態で実装され、それにより、次の利点のうちの1つまたは複数を実現することができる。第1に、説明されているアプローチは、オフラインリソース操作を可能にするために使用され得る。たとえば、ユーザはユーザデバイスを使用してオフラインリソース操作を実行したい(リソースサーバがオフラインのときにある量のリソースをリソースサーバから引き出すことなど)。ユーザデバイス(すなわち、リソースリクエスタ)は、オフラインリソース操作に関連付けられている情報をリソースプロバイダに伝送することができる。リソースプロバイダは情報を受信し、リソースサーバから受信された情報の代わりに、ユーザデバイスから受信された情報に基づきオフラインリソース操作を実行する。第2に、説明されているアプローチは、安全なオフラインリソース操作を提供することができる。ユーザは、ユーザデバイスを使用して、リソースを搬送する、またはリソースを記憶する記憶装置デバイスを使用する代わりに、リソース操作に関連付けられている情報を伝送し、オフラインリソース操作を実行することができる。結果として、説明されているアプローチは、たとえば、記憶装置デバイスを紛失することによるリソース喪失を回避することができる。他の利点は、当業者には明らかであろう。
【０００７】
本明細書の主題の1つまたは複数の実装形態の詳細は、「発明の概要」、「特許請求の範囲」、および添付図面において述べられる。主題の他の特徴、態様、および利点は、「発明の概要」、「特許請求の範囲」、および添付図面から当業者に明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法の一例を示すフローチャートである。
【図２】本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法の別の例を示すフローチャートである。
【図３】本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法の第3の例を示すフローチャートである。
【図４】本開示の一実装形態による、安全なオフラインリソース操作のためのデータ処理システムの一例を示すブロック図である。
【図５】本開示の一実装形態による、説明されているアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャに関連付けられている計算機能を提供するために使用されるコンピュータ実装システムの一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
様々な図面中の同様の参照番号および名称は同様の要素を示す。
【００１０】
次の詳細な説明は、安全なオフラインリソース操作について説明し、当業者であれば1つまたは複数の特定の実装形態の文脈において開示されている主題を形成し、使用することができるように提示される。開示されている実装形態の様々な修正、改変、および置換が行われてよく、当業者にとってはただちに明白であろうし、また定義されている一般原理は、本開示の範囲から逸脱することなく、他の実装形態および応用に適用され得る。いくつかの場合において、説明されている主題の理解を得るために不要である、また当業者の技能の範囲内にある1つまたは複数の技術的詳細は、1つまたは複数の説明されている実装形態をわかりにくくしないために省かれてよい。本開示は、説明または例示されている実装形態に限定されることを意図されておらず、説明されている原理および特徴と一致する最も広い範囲を適用されることを意図されている。
【００１１】
ユーザによって所有されるリソースは、リソースサーバにデジタル方式で記憶され得る。ユーザがある量のリソースをリソースサーバに預け入れるか、またはリソースサーバから引き出すことは、ユーザによって所有され、リソースサーバ上に記憶されているリソースの量を変化させる。通常は、ユーザがユーザデバイスを使用してリソース操作(ある量のリソースをリソースサーバに預け入れ、リソースサーバから引き出すなど)を実行するときに、リソースサーバは、リソース操作を完遂するためにオンラインである必要がある(リソース操作を実行するときにユーザデバイスがリソースサーバに接続されているなど)。しかしながら、オフラインリソース操作(リソースサーバがオフラインであるときにリソースを操作することなど)については、記憶装置デバイス(磁気または半導体媒体など)が使用され得る。たとえば、リソースサーバがオンラインであるときには、ユーザは、リソースサーバからある量のリソースを引き出し、その量のリソースを記憶装置デバイスに記憶することができる。記憶装置デバイスを使用することで、ユーザは、リソースサーバに記憶されているリソースの量を修正する代わりに、記憶装置デバイスに記憶されているリソースの量を修正することによってオフラインリソース操作を実行することができる。しかしながら、記憶装置デバイスが失われた場合、記憶装置デバイスに記憶され、ユーザによって所有されている量のリソースは失われる。
【００１２】
高水準では、説明されているアプローチは、安全なリソース操作をオフラインで実行するメカニズムを提供する。安全なオフラインリソース操作を実行し、完遂するために、リソースリクエスタは、オフラインリソース操作に関連付けられている情報をリソースプロバイダに伝送する。リソースプロバイダは情報を受信し、リソースサーバからの情報の代わりに、リソースリクエスタからの受信された情報に基づきオフラインリソース操作を実行する。リソースリクエスタからの情報に基づきリソース操作を実行することによって、リソース操作に関連付けられているリソースを記憶するリソースサーバは、リソース操作が実行されるときにオフラインであってもよい。それに加えて、リソースリクエスタからの受信された情報に基づきオフラインリソース操作を実行することは、記憶装置デバイスを使用してオフラインリソース操作を実行することよりも安全である。
【００１３】
図1は、本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法100の一例を示すフローチャートである。わかりやすく提示するために、この後の説明は、一般的に、この説明の中の他の図の文脈において方法100を説明する。しかしながら、方法100は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜、実行されるものとしてよいことが理解されるであろう。いくつかの実装形態において、方法100の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行することができる。
【００１４】
110において、リソースリクエスタがリソース操作に関連付けられている情報をリソースプロバイダに伝送する。リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる。リソースは、割り振られるか、または消費され得る資料、または資料への権利を含む。例として、本開示におけるリソースは、ユーザがタクシー、バス、地下鉄、または列車で移動しているときのゲート通過権を指す。たとえば、ユーザが地下鉄に乗っているときに、ユーザはユーザデバイス(携帯電話など)を使用して、ゲートを通過することを要求するメッセージをゲート制御機械(地下鉄駅内の回転ドアなど)に伝送することができる。この例では、ユーザデバイスはリソースリクエスタであり、ゲート制御機械はリソースプロバイダであり、メッセージはリソース操作に関連付けられている情報を含み、リソース操作は地下鉄に乗るユーザの権利を適用するためのものである。いくつかの実装形態において、リソースサーバは、ユーザがゲートを通過することを要求しているときにオフラインである(ユーザデバイスがリソースサーバに接続されていない、ゲート制御機械がリソースサーバに接続されていない、など)。一般に、ユーザはユーザデバイスの合法的所有者である。ユーザは、ユーザデバイスのメッセージ機能またはユーザデバイス上にインストールされているアプリケーションを使用してメッセージを伝送することができる。
【００１５】
いくつかの実装形態において、情報は、リソースリクエスタによって生成される、リソース操作に関連付けられている、許可情報を含む。いくつかの実装形態において、許可情報は、ユーザの識別情報(携帯電話番号、ユーザデバイスにインストールされているアプリケーションに登録された口座番号、ユーザID番号など)または許可情報のタイムスタンプ(許可情報が生成されたときなど)のうちの少なくとも1つを含む。許可情報は、リソース操作を実行するときにセキュリティを提供することができる。たとえば、リソース操作がユーザによって未許可であるときに、ユーザは、許可の時点におけるアリバイを提出し、リソース操作がユーザによって許可されていないことを証明することができる。
【００１６】
いくつかの実装形態において、オフラインリソース操作の悪用を防ぐために、情報は、検証情報を含むことができる。検証情報は、第三者(リソースサーバなど)から受信される。たとえば、リソース操作に関連付けられている情報をリソースプロバイダに伝送する前に、リソースリクエスタは、リソースサーバから検証情報を受信する。いくつかの実装形態において、検証情報は、ユーザがリソースサーバ上に有する実際の残高またはクレジット残高を含む。いくつかの実装形態において、リソース操作に関連付けられている情報をリソースプロバイダに伝送する前に、リソースリクエスタは、最後に受信した検証情報のタイムスタンプを決定する。現在時刻がタイムスタンプによって表される時刻を所定の時間期間(1日など)だけ超えている場合に、リソースリクエスタは、リソースサーバに検証情報を再び要求する。その要求に応答して、リソースサーバは、リソースリクエスタが所定の数を超える実際の残高またクレジット残高を有する場合に、要求された検証情報をリソースリクエスタに伝送する。リソースリクエスタが所定の数以下の実際の残高またクレジット残高を有する場合に、リソースサーバは、検証情報失敗をリソースリクエスタに伝える。
【００１７】
いくつかの実装形態において、リソースリクエスタは、許可情報または検証情報のうちの少なくとも1つに基づきイメージパターンを生成することができる。リソース操作に関連付けられている情報をリソースプロバイダに伝送する代わりに、リソースリクエスタは、たとえばコードリーダーを使用して読み取れるようにリソースプロバイダに対してイメージパターンを表示することができる。いくつかの実装形態において、イメージパターンは、バーコードまたはQRコード(登録商標)のうちの少なくとも1つを含む。方法100は110から120に進む。
【００１８】
120において、リソースプロバイダは、リソース操作に関連付けられている情報をリソースリクエスタから受信する。リソースプロバイダ(ゲート制御機械など)は、事業者(ゲート制御機械を管理し保守する会社など)によって操作される。たとえば、ゲート制御機械は、情報を受信するレシーバを備える。レシーバは、ワイヤレス通信ユニット、カメラ、またはコードリーダーであってよい。方法100は110から130に進む。
【００１９】
130において、リソースプロバイダは、リソースサーバからの情報の代わりに、リソースリクエスタからの受信された情報に基づき、リソース操作を実行する。たとえば、許可情報をユーザデバイスから受信したときに、ゲート制御機械の事業者は、ユーザデバイスの合法的なユーザがゲートを通過することを許す。言い換えると、ゲート制御機械は、ユーザデバイスから受信された情報に基づきゲート通過権を割り振る。いくつかの実装形態において、リソースプロバイダは、検証情報に基づきリソース操作を実行する。リソースリクエスタが検証情報をリソースプロバイダに伝送することに失敗した場合(リソースサーバが検証情報失敗をリソースリクエスタに伝送する、など)、リソースプロバイダはリソース操作を実行しない。いくつかの実装形態において、130の後に、リソースプロバイダは、リソース操作に関連付けられている操作結果をリソースリクエスタに伝送する。130の後に、方法100は停止する。
【００２０】
図2は、本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法200の別の例を示すフローチャートである。わかりやすく提示するために、この後の説明は、一般的に、この説明の中の他の図の文脈において方法200を説明する。しかしながら、方法200は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜、実行されるものとしてよいことが理解されるであろう。いくつかの実装形態において、方法200の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行することができる。
【００２１】
210において、リソースリクエスタが第1の秘密鍵を使用してリソース操作に関連付けられている情報を暗号化する。リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる。プライバシーを保護するために、リソース操作に関連付けられている情報は、第1の秘密鍵で暗号化される。暗号化された情報は、第1の公開鍵を使用してのみ暗号解読され得る。第1の秘密鍵および第1の公開鍵は、非対称相互照合鍵(Asymmetrical and Mutually Matched Key)の第1の対である。非対称相互照合鍵の対は、RSA、ELGAMAL、KNAPSACK、RABIN、D-H、およびECC(楕円曲線暗号法)を含むアルゴリズムを使用して生成され得る。いくつかの実装形態において、第1の秘密鍵および第1の公開鍵は、第三者デバイス(リソースサーバなど)によって生成される。たとえば、リソースサーバは、第1の秘密鍵および第1の公開鍵をリソースリクエスタおよびリソースプロバイダにそれぞれ伝送する。いくつかの実装形態において、第1の秘密鍵および第1の公開鍵が所定の時間期間(1日など)を超えて使用されているときに、リソースサーバは、第1の秘密鍵および第1の公開鍵を更新することができる(たとえば、秘密鍵と公開鍵の新しい対を生成することによって)。方法200は210から220に進む。
【００２２】
220において、リソースリクエスタは、リソース操作に関連付けられている暗号化された情報をリソースプロバイダに伝送する。いくつかの実装形態において、リソースサーバは、リソース操作を実行しているときにオフラインである(リソースリクエスタがリソースサーバに接続されていない、リソースプロバイダがリソースサーバに接続されていない、など)。
【００２３】
いくつかの実装形態において、情報は、リソースリクエスタによって生成される、リソース操作に関連付けられている、許可情報を含む。いくつかの実装形態において、許可情報は、ユーザの識別情報(携帯電話番号、ユーザデバイスにインストールされているアプリケーションに登録された口座番号、ユーザID番号など)または許可情報のタイムスタンプ(許可情報が生成されたときなど)のうちの少なくとも1つを含む。許可情報は、リソース操作を実行するときにセキュリティを提供することができる。たとえば、リソース操作がユーザによって未許可であるときに、ユーザは、許可の時点におけるアリバイを提出し、リソース操作がユーザによって許可されていないことを証明することができる。
【００２４】
いくつかの実装形態において、オフラインリソース操作の悪用を防ぐために、情報は、検証情報を含むことができる。検証情報は、第三者デバイス(リソースサーバなど)から受信される。たとえば、リソース操作に関連付けられている情報をリソースプロバイダに伝送する前に、リソースリクエスタは、リソースサーバから検証情報を受信する。いくつかの実装形態において、検証情報は、ユーザがリソースサーバ上に有する実際の残高またはクレジット残高を含む。いくつかの実装形態において、リソース操作に関連付けられている情報をリソースプロバイダに伝送する前に、リソースリクエスタは、最後に受信した検証情報のタイムスタンプを決定する。現在時刻がタイムスタンプによって表される時刻を所定の時間期間(1日など)だけ超えている場合に、リソースリクエスタは、リソースサーバに別の検証情報を要求する。その要求に応答して、リソースサーバは、リソースリクエスタが所定の数を超える実際の残高またクレジット残高を有する場合に、別の検証情報をリソースリクエスタに伝送する。リソースリクエスタが所定の数以下の実際の残高またクレジット残高を有する場合に、リソースサーバは、検証情報失敗をリソースリクエスタに伝送する。方法100は220から230に進む。
【００２５】
230において、リソースプロバイダは、リソース操作に関連付けられている暗号化された情報をリソースリクエスタから受信する。リソースプロバイダは、情報を受信するレシーバを備える。レシーバは、ワイヤレス通信ユニット、カメラ、またはコードリーダーであってよい。方法200は230から240に進む。
【００２６】
240において、リソースプロバイダは、第1の公開鍵を使用してリソース操作に関連付けられている受信された暗号化された情報を暗号解読し、リソース操作に関連付けられている情報を取得する。いくつかの実装形態において、第1の公開鍵は、第2の秘密鍵を使用して暗号化される。暗号化された第1の公開鍵は、第2の公開鍵を使用してのみ暗号解読され得る。第2の秘密鍵および第2の公開鍵は非対称相互照合鍵の第2の対であり、RSA、ELGAMAL、KNAPSACKアルゴリズム、RABIN、D-H、およびECC(楕円曲線暗号法)を含むアルゴリズムを使用して生成される。いくつかの実装形態において、第2の秘密鍵および第2の公開鍵は、第三者デバイス(リソースサーバなど)によって生成される。たとえば、リソースサーバは、第1の秘密鍵および暗号化された第1の公開鍵をリソースリクエスタに伝送する。リソースリクエスタは、暗号化された第1の公開鍵をリソースリクエスタに伝送する。それに加えて、リソースサーバは、第2の公開鍵をリソースプロバイダに伝送する。その結果、リソースプロバイダは、第2の公開鍵を使用して暗号化された第1の公開鍵を暗号解読して、第1の公開鍵を取得することができる。いくつかの実装形態において、第2の秘密鍵および第2の公開鍵が所定の時間期間(1日など)を超えて使用されているときに、リソースサーバは、第2の秘密鍵および第2の公開鍵を更新することができる(たとえば、秘密鍵と公開鍵の新しい対を生成することによって)。方法200は240から250に進む。
【００２７】
250において、リソースプロバイダは、リソースサーバからの情報の代わりに、リソースリクエスタからの情報に基づき、リソース操作を実行する。たとえば、許可情報をユーザデバイスから受信したときに、ゲート制御機械の事業者は、ユーザデバイスの合法的なユーザがゲートを通過することを許す。言い換えると、ゲート制御機械は、ユーザデバイスから受信された情報に基づきゲート通過権を割り振る。いくつかの実装形態において、リソースプロバイダは、検証情報に基づきリソース操作を実行する。リソースリクエスタが検証情報をリソースプロバイダに伝送することに失敗した場合(リソースサーバが検証情報失敗をリソースリクエスタに伝える、など)リソースプロバイダはリソース操作を実行しない。いくつかの実装形態において、250の後に、リソースプロバイダは、リソース操作に関連付けられている操作結果をリソースリクエスタに伝送する。250の後に、方法200は停止する。
【００２８】
図3は、本開示の一実装形態による、安全なオフラインリソース操作のためのコンピュータ実装方法300の第3の例を示すフローチャートである。わかりやすく提示するために、この後の説明は、一般的に、この説明の中の他の図の文脈において方法300を説明する。しかしながら、方法300は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜、実行されるものとしてよいことが理解されるであろう。いくつかの実装形態において、方法300の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行することができる。
【００２９】
310において、リソースリクエスタがリソース操作に関連付けられている暗号化された情報をリソースプロバイダに伝送する。リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる。リソース操作に関連付けられている情報は、たとえば、第2の秘密鍵を使用してリソースサーバによって暗号化される。暗号化された情報は、第2の公開鍵を使用してのみ暗号解読され得る。第2の秘密鍵および第2の公開鍵は非対称相互照合鍵の第2の対であり、RSA、ELGAMAL、KNAPSACKアルゴリズム、RABIN、D-H、およびECC(楕円曲線暗号法)を含むアルゴリズムを使用して生成される。いくつかの実装形態において、第2の秘密鍵および第2の公開鍵は、第三者デバイス(リソースサーバなど)によって生成される。いくつかの実装形態において、第2の秘密鍵および第2の公開鍵が所定の時間期間(1日など)を超えて使用されているときに、リソースサーバは、たとえば秘密鍵と公開鍵の新しい対を生成することによって、第2の秘密鍵および第2の公開鍵を更新することができる。いくつかの実装形態において、この情報は検証情報を含む。検証情報は、リソースリクエスタがリソースサーバ上に有する実際の残高またはクレジット残高を含む。方法300は310から320に進む。
【００３０】
320において、リソースプロバイダは、リソース操作に関連付けられている暗号化された情報をリソースリクエスタから受信する。リソースプロバイダは、情報を受信するレシーバを備える。レシーバは、ワイヤレス通信ユニット、カメラ、またはコードリーダーであってよい。方法300は320から330に進む。
【００３１】
330において、リソースプロバイダは、第2の公開鍵を使用してリソース操作に関連付けられている受信された暗号化された情報を暗号解読し、リソース操作に関連付けられている情報を取得する。いくつかの実装形態において、リソースプロバイダは、第2の公開鍵を第三者デバイス(リソースサーバなど)から受信する。方法300は330から340に進む。
【００３２】
340において、リソースプロバイダは、リソースリクエスタから受信されたリソース操作に関連付けられている情報に基づきリソース操作を実行する。いくつかの実装形態において、リソースプロバイダは、受信された検証情報に基づきリソース操作を実行する。リソースリクエスタが検証情報をリソースプロバイダに伝送することに失敗した場合(リソースリクエスタがリソースサーバ上に所定のされた数以下の実際の残高またはクレジット残高を有している、など)、リソースプロバイダはリソース操作を実行しない。
【００３３】
いくつかの実装形態において、340の後に、リソースプロバイダは、リソース操作に関連付けられている操作結果をリソースリクエスタに伝送する。いくつかの実装形態において、リソースプロバイダは、所定の期間(1日など)にリソース操作結果を集計する。たとえば、1000人の人々に通過を許した後、ゲート制御機械(すなわち、リソースプロバイダ)は、たとえば第2の公開鍵を使用してリソース操作結果(すなわち、1000人の人々がゲートを通過したこと)を暗号化する。リソースプロバイダは、暗号化されたリソース操作結果をリソースサーバに伝送する。暗号化されたリソース操作結果を受信した後、リソースサーバは、たとえば第2の秘密鍵を使用して暗号化されたリソース操作結果を暗号解読し、リソース操作結果を取得する。リソース操作結果に基づき、リソースサーバはゲート制御機械を管理し保守する事業者に対価を支払い、リソース操作結果に関連付けられている対応する口座から対応する額を差し引く。340の後に、方法300は停止する。
【００３４】
図4は、本開示の一実装形態による、安全なオフラインリソース操作のためのデータ処理システム400の一例を示すブロック図である。わかりやすく提示するために、この後の説明は、一般的に、この説明の中の他の図の文脈においてシステム400を説明する。システム400は、トランシーバユニット402、操作ユニット404、鍵生成ユニット406、暗号化ユニット408、コーディングユニット410、暗号解読ユニット412、コンピューティングユニット414、生成ユニット416、および検証ユニット418を備えることができ、これらはハードウェア、ソフトウェア、またはその両方に実装され得る。いくつかの実装形態において、システム400は、ブロック図に示されていない追加のもしくは異なる(またはその両方の組合せの)コンポーネントを備えることができる。いくつかの実装形態において、コンポーネントは、システム400から省くこともできる。
【００３５】
トランシーバユニット402は、たとえば、図1〜図3において説明されているように、許可情報、検証情報、秘密鍵、または公開鍵を伝送もしくは受信することができる。操作ユニット404は、たとえば、図1〜図3で説明されているように、リソース操作を実行することができる。鍵生成ユニット406は、たとえば、図2〜図3で説明されているように、秘密鍵と公開鍵との対を生成することができる。暗号化ユニット408は、たとえば、図2〜図3で説明されているように、秘密鍵または公開鍵を使用して情報を暗号化することができる。コーディングユニット410は、たとえば、図1で説明されているように、イメージパターンを生成することができる。暗号解読ユニット412は、たとえば、図2〜図3で説明されているように、秘密鍵または公開鍵を使用して暗号化された情報を暗号解読することができる。コンピューティングユニット414は、たとえば、図3で説明されているように、所定の期間内のリソース操作結果を集計することができる。生成ユニット416は、たとえば、図1〜図2で説明されているように、許可情報を生成することができる。検証ユニット418は、たとえば、図1〜図3で説明されているように、検証情報を生成することができる。
【００３６】
図5は、本開示の一実装形態による、説明されているアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャに関連付けられている計算機能を提供するために使用されるコンピュータ実装システム500の一例を示すブロック図である。例示されている実装形態において、システム500は、コンピュータ502とネットワーク530とを備える。
【００３７】
例示されているコンピュータ502は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、コンピューティングデバイスの物理的もしくは仮想インスタンスを含む、これらのデバイス、別のコンピューティングデバイス、もしくはコンピューティングデバイスの組合せ内の1つもしくは複数のプロセッサ、またはコンピューティングデバイスの物理的もしくは仮想インスタンスの組合せなどの、任意のコンピューティングデバイスを包含することを意図されている。それに加えて、コンピュータ502は、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、またはユーザ情報を受け付けることができる入力デバイスの組合せなどの、入力デバイスと、グラフィックタイプのユーザインターフェース(UI)(もしくはGUI)または他のUI上でデジタルデータ、視覚的、聴覚的、別のタイプの情報、またはいくつかのタイプの情報の組合せを含む、コンピュータ502の動作に関連付けられている情報を伝達する出力デバイスとを備えることができる。
【００３８】
コンピュータ502は、クライアント、ネットワークコンポーネント、サーバ、データベースもしくは別の周辺機器として分散コンピューティングシステムクライアント内で1つの役割を果たすか、または本開示で説明されている主題を実行するための他の役割、またはいくつかの役割を組み合わせて果たすことができる。例示されているコンピュータ502は、ネットワーク530と通信可能に結合される。いくつかの実装形態において、コンピュータ502の1つまたは複数のコンポーネントは、クラウドコンピューティングベース、ローカル、グローバル、別の環境、または環境の組合せを含む、環境内で動作するように構成され得る。
【００３９】
高い水準で、コンピュータ502は、説明されている主題に関連付けられているデータおよび情報を受信するか、伝送するか、処理するか、記憶するか、または管理するように動作可能である電子コンピューティングデバイスである。いくつかの実装形態によれば、コンピュータ502は、また、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組合せを含む、サーバを含むか、またはそれと通信可能に結合され得る。
【００４０】
コンピュータ502は、ネットワーク530上で要求を受信し(たとえば、別のコンピュータ502上で実行しているクライアントソフトウェアアプリケーションから)、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組合せを使用して受信された要求を処理することによって受信された要求に応答することができる。それに加えて、要求は、内部ユーザ(たとえば、コマンドコンソールからまたは別の内部アクセス方法によって)、外部もしくは第三者、または他のエンティティ、個人、システム、もしくはコンピュータからコンピュータ502にも送信され得る。
【００４１】
コンピュータ502のコンポーネントの各々は、システムバス503を使用して通信することができる。いくつかの実装形態において、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを含む、コンピュータ502のコンポーネントのうちのいずれかもしくはすべては、アプリケーションプログラミングインターフェース(API)512、サービス層513、またはAPI512とサービス層513との組合せを使用してシステムバス503上でインターフェースすることができる。API512は、ルーチン、データ構造体、およびオブジェクトクラスの指定を含むことができる。API512は、コンピュータ言語独立または依存のいずれかであってよく、完全なインターフェース、単一の機能、または一組のAPIすら指す。サービス層513は、ソフトウェアサービスをコンピュータ502またはコンピュータ502に通信可能に結合されている他のコンポーネント(例示されていようといまいと)に提供する。コンピュータ502の機能は、サービス層513を使用してすべてのサービス消費者に対してアクセス可能であるものとしてよい。サービス層513によって提供されるものなどの、ソフトウェアサービスは、定義されているインターフェースを通じて再利用可能な定義済みの機能を提供する。たとえば、インターフェースは、JAVA(登録商標)、C++、別のコンピューティング言語、または拡張マークアップ言語(XML)形式、別の形式、または形式の組合せ内のデータを提供するコンピューティング言語の組合せで書かれたソフトウェアであってよい。コンピュータ502の内蔵コンポーネントとして例示されているが、代替的実装形態は、API512またはサービス層513をコンピュータ502の他のコンポーネントまたはコンピュータ502に通信可能に結合されている他のコンポーネント(例示されていようといまいと)に関してスタンドアロンコンポーネントとして例示することができる。さらに、API512の任意のもしくはすべての部分またはサービス層513は、本開示の範囲から逸脱することなく別のソフトウェアモジュール、エンタープライズアプリケーション、またはハードウェアモジュールの子もしくはサブモジュールとして実装され得る。
【００４２】
コンピュータ502は、インターフェース504を備える。単一のインターフェース504として例示されているが、2つまたはそれ以上のインターフェース504は、コンピュータ502の特定のニーズに、望み、または特定の実装形態に従って使用され得る。インターフェース504は、分散環境においてネットワーク530に通信可能にリンクされている別のコンピューティングシステム(例示されていようといまいと)と通信するためにコンピュータ502によって使用される。一般的に、インターフェース504は、ネットワーク530と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せで符号化された論理を備える。より具体的には、インターフェース504は、ネットワーク530またはインターフェース504のハードウェアが例示されているコンピュータ502の内部または外部で物理的信号を通信するように動作可能であるように通信に関連付けられている1つまたは複数の通信プロトコルをサポートするソフトウェアを備えることができる。
【００４３】
コンピュータ502は、プロセッサ505を備える。単一のプロセッサ505として例示されているが、2つまたはそれ以上のプロセッサ505は、コンピュータ502の特定のニーズに、望み、または特定の実装形態に従って使用され得る。一般的に、プロセッサ505は、命令を実行し、データを操作して、コンピュータ502および本開示で説明されているようなアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャの動作を実行する。
【００４４】
コンピュータ502は、また、コンピュータ502、ネットワーク530(例示されていようといまいと)に通信可能にリンクされている別のコンポーネント、またはコンピュータ502と別のコンポーネントとの組合せのためにデータを保持することができるデータベース506を備える。たとえば、データベース506は、本開示と一致するデータを記憶するメモリ内の、従来の、または別のタイプのデータベースであってよい。いくつかの実装形態において、データベース506は、コンピュータ502および説明されている機能の特定のニーズ、望み、または特定の実装形態に従って2つまたはそれ以上の異なるデータベースタイプの組合せ(たとえば、メモリ内および従来のもののハイブリッドデータベース)であってよい。単一のデータベース506として例示されているが、類似のもしくは異なるタイプの2つまたはそれ以上のデータベースは、コンピュータ502および説明されている機能の特定のニーズに、望み、または特定の実装形態に従って使用され得る。データベース506は、コンピュータ502の内蔵コンポーネントとして例示されているが、代替的実装形態では、データベース506は、コンピュータ502の外部にあってもよい。
【００４５】
コンピュータ502は、また、コンピュータ502、ネットワーク530(例示されていようといまいと)に通信可能にリンクされている別の1つのもしくは複数のコンポーネント、またはコンピュータ502と別のコンポーネントとの組合せのためにデータを保持することができるメモリ507を備える。メモリ507は、本開示と一致する任意のデータを記憶することができる。いくつかの実装形態において、メモリ507は、コンピュータ502および説明されている機能の特定のニーズ、望み、または特定の実装形態に従って2つまたはそれ以上の異なるタイプのメモリの組合せ(たとえば、半導体と磁気記憶装置との組合せ)であってよい。単一のメモリ507として例示されているが、2つもしくはそれ以上のメモリ507または類似のもしくは異なるタイプは、コンピュータ502および説明されている機能の特定のニーズに、望み、または特定の実装形態に従って使用され得る。メモリ507は、コンピュータ502の内蔵コンポーネントとして例示されているが、代替的実装形態では、メモリ507は、コンピュータ502の外部にあってもよい。
【００４６】
アプリケーション508は、特に本開示において説明されている機能に関して、コンピュータ502の特定のニーズ、望み、または特定の実装形態に従って機能を提供するアルゴリズムソフトウェアエンジンである。たとえば、アプリケーション508は、1つもしくは複数のコンポーネント、モジュール、またはアプリケーションとしてサーブすることができる。さらに、単一のアプリケーション508として例示されているが、アプリケーション508は、コンピュータ502上の複数のアプリケーション508として実装されてもよい。それに加えて、コンピュータ502に内蔵されているものとして例示されているが、代替的実装形態では、アプリケーション508は、コンピュータ502の外部にあってもよい。
【００４７】
コンピュータ502は、電源514を備えることもできる。電源514は、ユーザ交換可能であるか、またはユーザ交換不可能であるかのいずれかとして構成され得る充電式または充電式でない電池を含むことができる。いくつかの実装形態において、電源514は、節電または管理回路(充電、スタンバイ、または別のパワー管理機能を含む)を備えることができる。いくつかの実装形態において、電源514は、コンピュータ502をプラグで壁コンセントに差し込むための電源プラグ、またはたとえばコンピュータ502に給電するか、もしくは充電式電池を充電するための別の電源を含むことができる。
【００４８】
各コンピュータ502がネットワーク530上で通信している、コンピュータ502を含むコンピュータシステムに関連付けられるか、またはその外部にある、コンピュータ502は多数あり得る。さらに、「クライアント」、「ユーザ」という語、または他の適切な用語は、本開示の範囲から逸脱することなく、適宜に、交換可能に使用され得る。さらに、本開示は、多くのユーザが1台のコンピュータ502を使用できること、または1人のユーザが複数のコンピュータ502を使用できることを企図している。
【００４９】
主題の説明されている実装形態は、1つまたは複数の特徴を、単独で、または組み合わせて含み得る。
【００５０】
たとえば、第1の実装形態において、コンピュータ実装方法は、リソースリクエスタによって、リソースプロバイダに、リソース操作に関連付けられている情報を伝送することであって、リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる、伝送することと、リソースプロバイダによって、リソースリクエスタから、リソース操作に関連付けられている情報を受信することと、リソースプロバイダによって、リソースサーバからの情報の代わりに、リソースリクエスタからの受信された情報に基づき、リソース操作を実行することとを含む。
【００５１】
前述および他の説明されている実装形態は、各々、任意選択で、次の特徴のうちの1つまたは複数を含み得る。
【００５２】
次の特徴のいずれかと組合せ可能である、第1の特徴であって、リソース操作に関連付けられている情報は、リソースリクエスタによって生成される許可情報またはリソースサーバによって生成される検証情報のうちの少なくとも1つを含む、第1の特徴。
【００５３】
前のまたは次の特徴のいずれかと組合せ可能である、第2の特徴であって、許可情報は、リソースプロバイダに伝送する前に第1の秘密鍵を使用してリソースリクエスタによって暗号化され、受信された許可情報は、リソース操作を実行する前に第1の公開鍵を使用してリソースプロバイダによって暗号解読され、第1の秘密鍵および第1の公開鍵は、非対称相互照合鍵の第1の対である、第2の特徴。
【００５４】
前のまたは次の特徴のいずれかと組合せ可能である、第3の特徴であって、許可情報は、リソースリクエスタのユーザ識別情報および許可情報に関連付けられているタイムスタンプのうちの少なくとも1つを含む、第3の特徴。
【００５５】
前のまたは次の特徴のいずれかと組合せ可能である、第4の特徴であって、リソースリクエスタによって、第2の秘密鍵を使用して第1の公開鍵を暗号化することと、リソースリクエスタによって、リソースプロバイダに、暗号化された第1の公開鍵を伝送することと、リソースプロバイダによって、リソースリクエスタから、暗号化された第1の公開鍵を受信することと、リソースプロバイダによって、第2の公開鍵を使用して受信された暗号化された第1の公開鍵を暗号解読することであって、第2の秘密鍵および第2の公開鍵は、非対称相互照合鍵の第2の対である、暗号解読することとをさらに含む、第4の特徴。
【００５６】
前のまたは次の特徴のいずれかと組合せ可能である、第5の特徴であって、検証情報は、第3の秘密鍵を使用してリソースサーバによって暗号化され、受信された検証情報は、リソース操作を実行する前に第3の公開鍵を使用してリソースプロバイダによって暗号解読され、第3の秘密鍵および第3の公開鍵は、非対称相互照合鍵の第3の対である、第5の特徴。
【００５７】
前のまたは次の特徴のいずれかと組合せ可能である、第6の特徴であって、許可情報または検証情報のうちの少なくとも1つに基づきイメージパターンを生成することであって、イメージパターンは、バーコードまたはQRコードのうちの少なくとも1つを含む、生成することをさらに含む、第6の特徴。
【００５８】
前のまたは次の特徴のいずれかと組合せ可能である、第7の特徴であって、リソース操作を実行することは、ゲート通過権をリソースリクエスタに割り振ることを含む、第7の特徴。
【００５９】
第2の実装形態において、コンピュータシステムによって実行可能である1つまたは複数の命令を記憶する非一時的コンピュータ可読媒体であって、コンピュータシステムは、リソースリクエスタによって、リソースプロバイダに、リソース操作に関連付けられている情報を伝送することであって、リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる、伝送することと、リソースプロバイダによって、リソースリクエスタから、リソース操作に関連付けられている情報を受信することと、リソースプロバイダによって、リソースサーバからの情報の代わりに、リソースリクエスタからの受信された情報に基づき、リソース操作を実行することとを含む動作を実行する、非一時的コンピュータ可読媒体。
【００６０】
前述および他の説明されている実装形態は、各々、任意選択で、次の特徴のうちの1つまたは複数を含み得る。
【００６１】
次の特徴のいずれかと組合せ可能である、第1の特徴であって、リソース操作に関連付けられている情報は、リソースリクエスタによって生成される許可情報またはリソースサーバによって生成される検証情報のうちの少なくとも1つを含む、第1の特徴。
【００６２】
前のまたは次の特徴のいずれかと組合せ可能である、第2の特徴であって、許可情報は、リソースプロバイダに伝送する前に第1の秘密鍵を使用してリソースリクエスタによって暗号化され、受信された許可情報は、リソース操作を実行する前に第1の公開鍵を使用してリソースプロバイダによって暗号解読され、第1の秘密鍵および第1の公開鍵は、非対称相互照合鍵の第1の対である、第2の特徴。
【００６３】
前のまたは次の特徴のいずれかと組合せ可能である、第3の特徴であって、許可情報は、リソースリクエスタのユーザ識別情報および許可情報に関連付けられているタイムスタンプのうちの少なくとも1つを含む、第3の特徴。
【００６４】
前のまたは次の特徴のいずれかと組合せ可能である、第4の特徴であって、動作は、リソースリクエスタによって、第2の秘密鍵を使用して第1の公開鍵を暗号化することと、リソースリクエスタによって、リソースプロバイダに、暗号化された第1の公開鍵を伝送することと、リソースプロバイダによって、リソースリクエスタから、暗号化された第1の公開鍵を受信することと、リソースプロバイダによって、第2の公開鍵を使用して受信された暗号化された第1の公開鍵を暗号解読することであって、第2の秘密鍵および第2の公開鍵は、非対称相互照合鍵の第2の対である、暗号解読することとをさらに含む、第4の特徴。
【００６５】
前のまたは次の特徴のいずれかと組合せ可能である、第5の特徴であって、検証情報は、第3の秘密鍵を使用してリソースサーバによって暗号化され、受信された検証情報は、リソース操作を実行する前に第3の公開鍵を使用してリソースプロバイダによって暗号解読され、第3の秘密鍵および第3の公開鍵は、非対称相互照合鍵の第3の対である、第5の特徴。
【００６６】
前のまたは次の特徴のいずれかと組合せ可能である、第6の特徴であって、動作は許可情報または検証情報のうちの少なくとも1つに基づきイメージパターンを生成することであって、イメージパターンは、バーコードまたはQRコードのうちの少なくとも1つを含む、生成することをさらに含む、第6の特徴。
【００６７】
前のまたは次の特徴のいずれかと組合せ可能である、第7の特徴であって、リソース操作を実行することは、ゲート通過権をリソースリクエスタに割り振ることを含む、第7の特徴。
【００６８】
第3の実装形態において、コンピュータ実装システムは、1つまたは複数のコンピュータと、1つまたは複数のコンピュータと相互動作可能に結合され、1つまたは複数のコンピュータによって実行されたときに、1つまたは複数の動作を実行する1つまたは複数の命令を記憶している有形の非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスとを備え、動作は、リソースリクエスタによって、リソースプロバイダに、リソース操作に関連付けられている情報を伝送することであって、リソース操作は、リソースサーバ上に記憶されているリソースに関連付けられる、伝送することと、リソースプロバイダによって、リソースリクエスタから、リソース操作に関連付けられている情報を受信することと、リソースプロバイダによって、リソースサーバからの情報の代わりに、リソースリクエスタからの受信された情報に基づき、リソース操作を実行することとを含む。
【００６９】
前述および他の説明されている実装形態は、各々、任意選択で、次の特徴のうちの1つまたは複数を含み得る。
【００７０】
次の特徴のいずれかと組合せ可能である、第1の特徴であって、リソース操作に関連付けられている情報は、リソースリクエスタによって生成される許可情報またはリソースサーバによって生成される検証情報のうちの少なくとも1つを含む、第1の特徴。
【００７１】
前のまたは次の特徴のいずれかと組合せ可能である、第2の特徴であって、許可情報は、リソースプロバイダに伝送する前に第1の秘密鍵を使用してリソースリクエスタによって暗号化され、受信された許可情報は、リソース操作を実行する前に第1の公開鍵を使用してリソースプロバイダによって暗号解読され、第1の秘密鍵および第1の公開鍵は、非対称相互照合鍵の第1の対である、第2の特徴。
【００７２】
前のまたは次の特徴のいずれかと組合せ可能である、第3の特徴であって、許可情報は、リソースリクエスタのユーザ識別情報および許可情報に関連付けられているタイムスタンプのうちの少なくとも1つを含む、第3の特徴。
【００７３】
前のまたは次の特徴のいずれかと組合せ可能である、第4の特徴であって、動作は、リソースリクエスタによって、第2の秘密鍵を使用して第1の公開鍵を暗号化することと、リソースリクエスタによって、リソースプロバイダに、暗号化された第1の公開鍵を伝送することと、リソースプロバイダによって、リソースリクエスタから、暗号化された第1の公開鍵を受信することと、リソースプロバイダによって、第2の公開鍵を使用して受信された暗号化された第1の公開鍵を暗号解読することであって、第2の秘密鍵および第2の公開鍵は、非対称相互照合鍵の第2の対である、暗号解読することとをさらに含む、第4の特徴。
【００７４】
前のまたは次の特徴のいずれかと組合せ可能である、第5の特徴であって、検証情報は、第3の秘密鍵を使用してリソースサーバによって暗号化され、受信された検証情報は、リソース操作を実行する前に第3の公開鍵を使用してリソースプロバイダによって暗号解読され、第3の秘密鍵および第3の公開鍵は、非対称相互照合鍵の第3の対である、第5の特徴。
【００７５】
前のまたは次の特徴のいずれかと組合せ可能である、第6の特徴であって、動作は許可情報または検証情報のうちの少なくとも1つに基づきイメージパターンを生成することであって、イメージパターンは、バーコードまたはQRコードのうちの少なくとも1つを含む、生成することをさらに含む、第6の特徴。
【００７６】
前のまたは次の特徴のいずれかと組合せ可能である、第7の特徴であって、リソース操作を実行することは、ゲート通過権をリソースリクエスタに割り振ることを含む、第7の特徴。
【００７７】
本明細書で説明されている主題および機能動作の実装は、本明細書で開示されている構造およびその構造的均等物を含む、デジタル電子回路で、有形に具現化されたコンピュータソフトウェアもしくはファームウェアで、コンピュータハードウェアで、またはこれらのうちの1つもしくは複数のものの組合せで実装することができる。説明されている主題のソフトウェア実装形態は、1つまたは複数のコンピュータプログラム、すなわち、コンピュータもしくはコンピュータ実装システムによる実行のため、またはコンピュータもしくはコンピュータ実装システムの動作を制御するために有形な非一時的コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的に、またはそれに加えて、プログラム命令は、コンピュータもしくはコンピュータ実装システムによる実行のため受信機装置に伝送する情報を符号化するように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号において/その上で符号化され得る。コンピュータ記憶媒体は、機械可読記憶装置デバイス、機械可読記憶装置基板、ランダムもしくはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組合せとすることができる。1つまたは複数のコンピュータを構成することは、1つまたは複数のコンピュータが、ソフトウェアが1つまたは複数のコンピュータによって実行されたときに特定のコンピューティング動作が実行されるようにハードウェア、ファームウェア、またはソフトウェア(またはハードウェア、ファームウェア、ソフトウェアの組合せ)をすでにインストールしていることを意味する。
【００７８】
「リアルタイム」(英語原文において「real-time」、「real time」、「realtime」)、「高速リアルタイム」(英語原文において「real (fast) time (RFT)」)、「近リアルタイム」(英語原文において「near(ly) real-time (NRT)」)、「準リアルタイム」(英語原文において「quasi real-time」)という語、または類似の語(当業者であれば理解するような)は、アクションおよび応答が、個人がアクションおよび応答が実質的に同時に生じたことを知覚するような時間的に近くにあることを意味する。たとえば、データにアクセスする個人のアクションの後に続くデータの表示(または表示の開始)までの応答の時間差は1ミリ秒(ms)未満、1秒未満、または5秒未満であるものとしてよい。要求されたデータは、瞬時に表示される(または表示を開始される)必要はないが、これは、説明されているコンピューティングシステムの処理制限およびたとえばデータを収集する、正確に測定する、分析する、処理する、記憶する、または伝送するのに要する時間を考慮して、意図的な遅延なく、表示される(または表示を開始される)。
【００７９】
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」という語(または当業者によって理解されるような同等の語)はデータ処理ハードウェアを指し、たとえばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。コンピュータは、専用論理回路、たとえば、中央演算処理装置(CPU)、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)でもあり得るか、またはさらに含み得る。いくつかの実装形態において、コンピュータまたはコンピュータ実装システムまたは専用論理回路(またはコンピュータまたはコンピュータ実装システムおよび専用論理回路の組合せ)は、ハードウェアまたはソフトウェアベースである(またはハードウェアとソフトウェアベースの両方の組合せに基づく)ものとしてよい。コンピュータは、任意選択で、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを構成するコードを含むこともできる。本開示では、何らかのタイプのオペレーティングシステム、たとえば、LINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組合せを用いたコンピュータまたはコンピュータ実装システムの使用を企図している。
【００８０】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他のコンポーネントとも称されるか、または記述され得る、コンピュータプログラムは、コンパイル言語またはインタプリタ言語または宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で書かれることが可能であり、たとえば、コンピューティング環境において使用するための、スタンドアロンプログラム、モジュール、コンポーネント、またはサブルーチンを含む、任意の形態でデプロイされることが可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶される1つもしくは複数のスクリプトを保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるようにデプロイされることが可能である。
【００８１】
様々な図で例示されているプログラムの一部分は、様々なオブジェクト、メソッド、または他のプロセスを使用して、説明されている特徴および機能を実装するユニットまたはモジュールなどの個別のコンポーネントとして例示され得るが、プログラムは、その代わりに、適宜、多数のサブユニット、サブモジュール、サードパーティサービス、コンポーネント、ライブラリ、または他のコンポーネントを含むことができる。逆に、様々なコンポーネントの特徴および機能は、適宜、単一のコンポーネントに組み合わされ得る。計算による決定を行うために使用される閾値は、静的に、動的に、または静的と動的の両方で決定され得る。
【００８２】
説明されている方法、プロセス、または論理フローは、本開示と一致する機能の1つまたは複数の例を表し、本開示を説明または例示されている実装形態に限定することを意図されておらず、説明されている原理および特徴と一致する最も広い範囲を適用されることを意図されている。説明されている方法、プロセス、または論理フローは、入力データを操作し、出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。方法、プロセス、または論理フローは、専用論理回路、たとえば、CPU、FPGA、またはASICによっても実行され、コンピュータは、専用論理回路、たとえば、CPU、FPGA、またはASICとしても実装され得る。
【００８３】
コンピュータプログラムの実行のためのコンピュータは、汎用マイクロプロセッサ、専用マイクロプロセッサ、その両方、または別のタイプのCPUに基づくものとしてよい。一般的に、CPUは、命令およびデータをメモリから受け取り、メモリに書き込む。コンピュータの不可欠な要素は、命令を遂行または実行するためのCPU、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶装置デバイス、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備え、これらからデータを受け取るか、またはこれらにデータを転送するか、またはその両方を行うように動作可能なように結合される。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、たとえば、携帯電話、携帯情報端末(PDA)、携帯オーディオもしくはビデオプレーヤー、ゲーム機、グローバルポジショニングシステム(GPS)受信機、または携帯型メモリ記憶装置デバイスに組み込まれることが可能である。
【００８４】
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、たとえば、半導体メモリデバイス、たとえば、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、およびフラッシュメモリデバイス、磁気デバイス、たとえば、テープ、カートリッジ、カセット、内部/取り外し可能ディスク、光磁気ディスク、および光メモリデバイス、たとえば、デジタル多用途/ビデオディスク(DVD)、コンパクトディスク(CD)-ROM、DVD+/-R、DVD-RAM、DVD-ROM、高精細度/密度(HD)-DVD、およびBLU-RAY/BLU-RAY DISC(BD)、ならびに他の光メモリテクノロジーを含む、すべての形態の永久的/非永久的または揮発性/不揮発性メモリ、媒体、およびメモリデバイスを含むことができる。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造体、データベーステーブル、動的情報を記憶するリポジトリ、またはパラメータ、変数、アルゴリズム、命令、規則、制約条件、もしくは参照を含む適切な他の情報を含む、様々なオブジェクトもしくはデータを記憶することができる。それに加えて、メモリは、ログ、ポリシー、セキュリティもしくはアクセスデータ、または報告ファイルなどの他の適切なデータを収めることができる。プロセッサおよびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。
【００８５】
ユーザとインタラクティブにやり取りするために、本明細書で説明されている主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)、またはプラズマモニタ、ならびにユーザがコンピュータに入力を提供するためのキーボードおよびポインティングデバイス、たとえば、マウス、トラックボール、またはトラックパッドを有するコンピュータ上で実装され得る。入力は、また、感圧機能を有するタブレットコンピュータ画面、静電容量式もしくは電気的感知機能を有するマルチタッチスクリーン、または別のタイプのタッチスクリーンなどの、タッチスクリーンを使用するコンピュータに提供されるものとしてよい。他のタイプのデバイスもユーザとインタラクティブにやり取りするために使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(視覚フィードバックタイプ、聴覚フィードバックタイプ、触覚フィードバックタイプ、またはこれらのタイプの組合せ)とすることができる。ユーザからの入力は、音響、話声、または触覚の入力を含む、任意の形態で受け取ることができる。それに加えて、コンピュータは、ドキュメントをユーザによって使用されるクライアントコンピューティングデバイスに送信し、そのデバイスからドキュメントを受信することによって(たとえば、ウェブブラウザから受け取る要求に応答して、ウェブページをユーザのモバイルコンピューティングデバイス上のウェブブラウザに送信することによって)、ユーザとインタラクティブにやり取りすることができる。
【００８６】
「グラフィカルユーザインターフェース」または「GUI」という語は、1つまたは複数のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースのディスプレイの各々を記述するために単数形または複数形で使用され得る。したがって、GUIは、限定はしないが、情報を処理し、情報結果をユーザに効率的に提示する、ウェブブラウザ、タッチスクリーン、またはコマンドラインインターフェース(CLI)を含む、任意のグラフィカルユーザインターフェースを表すものとしてよい。一般に、GUIは、インタラクティブフィールド、プルダウンリスト、およびボタンなどの、一部または全部がウェブブラウザに関連している多数のユーザインターフェース(UI)要素を含むものとしてよい。これらおよび他のUI要素は、ウェブブラウザの機能に関係するか、または表すものとしてよい。
【００８７】
本明細書で説明されている主題の実装形態は、バックエンドコンポーネントを、たとえば、データサーバとして備えるか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを備えるか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明されている主題の実装形態とインタラクティブにやり取りするために使用することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを備えるコンピューティングシステムで、または1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、有線もしくは無線デジタルデータ通信の任意の形態または媒体(またはデータ通信の組合せ)、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、Worldwide Interoperability for Microwave Access(WIMAX)、たとえば、802.11 a/b/g/nもしくは802.20(もしくは802.11xと802.20との組合せもしくは本開示と一致する他のプロトコル)を使用するワイヤレスローカルエリアネットワーク(WLAN)、インターネットの全部もしくは一部、別の通信ネットワーク、または通信ネットワークの組合せを含む。通信ネットワークは、たとえば、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、映像、データ、またはネットワークノード間の他の情報で通信することができる。
【００８８】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクティブにやり取りを行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。
【００８９】
本明細書は、多くの実装形態固有の詳細事項を含んでいるが、これらは、発明の概念の範囲または請求内容の範囲に対する制限として解釈すべきではなく、むしろ特定の発明の概念の特定の実装形態に特有のものであり得る特徴の説明として解釈すべきである。本明細書において別々の実装形態の文脈で説明されているいくつかの特徴は、また、単一の実装形態において組み合わされて実現され得る。また、逆に、単一の実装形態の文脈で説明した様々な特徴は、複数の実装形態において別個に、あるいは任意の部分組合せで実装され得る。さらに、前述の特徴は、いくつかの組合せで働くものとして説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００９０】
主題の特定の実装形態が説明されている。説明されている実装形態の他の実装形態、改変形態、および置換形態は、当業者には明らかなように次の請求項の範囲内にある。動作は特定の順序で図面もしくは請求項に示されているが、そのような動作は、望ましい結果を達成するために、示される特定の順序でもしくは順番に実行される必要がないことを、またはすべての例示されている動作が実行される必要があるとは限らない(いくつかの動作は任意選択であると考えてもよい)ことを、理解されたい。いくつかの状況において、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理との組合せ)は、適切であるとみなされる場合に有利であり実行されてよい。
【００９１】
さらに、前述の実装形態における様々なシステムモジュールおよびコンポーネントの分離または組み込みは、すべての実装形態においてそのような分離または組み込みが必要とされるものと理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムが概して単一のソフトウェアプロダクトとして一体化されるかまたは複数のソフトウェアプロダクトとしてパッケージ化されてもよいことを理解されたい。
【００９２】
したがって、前述の例示的な実装形態は、本開示を定義することも制約することもしない。他の変更、置換、および改変も、本開示の精神および範囲から逸脱することなく可能である。
【００９３】
さらに、請求されている実装形態は、少なくともコンピュータ実装方法、コンピュータ実装方法を実行するためのコンピュータ可読命令を記憶する非一時的コンピュータ可読媒体、およびコンピュータ実装方法または非一時的コンピュータ可読媒体に記憶されている命令を実行するように構成されているハードウェアプロセッサと相互動作可能に結合されているコンピュータメモリを備えるコンピュータシステムに適用可能であると考えられる。
【符号の説明】
【００９４】
100  コンピュータ実装方法
200  コンピュータ実装方法
300  コンピュータ実装方法
400  データ処理システム
402  トランシーバユニット
404  操作ユニット
406  鍵生成ユニット
408  暗号化ユニット
410  コーディングユニット
412  暗号解読ユニット
414  コンピューティングユニット
416  生成ユニット
418  検証ユニット
500  コンピュータ実装システム
502  コンピュータ
503  システムバス
504  インターフェース
505  プロセッサ
506  データベース
507  メモリ
508  アプリケーション
512  アプリケーションプログラミングインターフェース(API)
513  サービス層
514  電源
530  ネットワーク
【図１】
0006956198.tif 000002
【図２】
0006956198.tif 000003
【図３】
0006956198.tif 000004
【図４】
0006956198.tif 000005
【図５】
0006956198.tif 000006