(57)【要約】  本開示は、権限のないユーザがセキュアに記憶されたデータにアクセスしようとしているかどうかを決定するシステムおよび方法を扱う。ユーザは、第1のコンピューティングシステムを使用して、機密データをユーザデバイスに入力して記憶する。第1のコンピューティングシステムは、ユーザデバイスから機密データを収集し、そのデータを第2のコンピューティングシステムに記憶する。第1のコンピューティングシステムが、セキュアに記憶されたデータにアクセスしようとするときに潜在的なデータ漏洩を検出した場合、第1のコンピューティングシステムは、ユーザがセキュアに記憶されたデータにアクセスできることを確認するために、セキュアに記憶されたデータのサブセットを入力するようにユーザに要求し得る。第2のコンピューティングシステムは、セキュアに記憶されたデータに対してサブセットを検証し、セキュアに記憶されたデータがユーザにとってアクセス可能にされる。第2のコンピューティングシステムがサブセットを検証できない場合、第2のコンピューティングシステムがイベントをトリガする。
2019506660.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも1つのサーバおよび第1のデータベースを含む第1のコンピューティングシステムを備える分散コンピューティングシステムであって、前記第1のコンピューティングシステムが、第1のユーザデバイスまたは第2のユーザデバイスに選択的に接続され、また、通信ネットワークを介して第2のコンピューティングシステムに選択的に接続され、前記第2のコンピューティングシステムが、セキュリティ保護されたデータベースサーバと第2のデータベースとを含み、
前記第1のコンピューティングシステムが、
前記第1のコンピューティングシステムによって前記第1のユーザデバイスから受信された第1のデータセットの検証に応答して、前記通信ネットワークを介して前記第1のユーザデバイスと前記第1のコンピューティングシステムとの間に第1の接続を確立することと、
前記第1の接続の確立後に、前記第1のユーザデバイスから第2のデータセットを受信することと、
前記第1のコンピューティングシステムの前記少なくとも1つのサーバを介して、一意の識別子を前記第2のデータセットに割り当てることであって、前記一意の識別子が、前記少なくとも1つのサーバによって前記第1のデータベースに記憶される、割り当てることと、
前記一意の識別子および前記第2のデータセットを、第1の暗号化方式を使用して前記第2のコンピューティングシステムに送信することであって、前記一意の識別子および前記第2のデータセットが、前記セキュリティ保護されたデータベースサーバによって、第2の暗号化方式に従って前記第2のデータベースに記憶される、送信することと、
前記第1の接続を終了することと、
前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第1のコンピューティングシステムによって受信された前記第1のデータセットの検証に応答して、前記通信ネットワークを介して前記第1のコンピューティングシステムと前記第1のユーザデバイスまたは前記第2のユーザデバイスとの間に第2の接続を確立することと、
権限のないユーザによる潜在的なデータ漏洩があるかどうかを決定することと、
潜在的なデータ漏洩がないとの決定に応答して、(i)前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第2のデータセットの要求を受信すると、前記少なくとも1つのサーバによって前記第1のデータベースから前記一意の識別子を検索することと、(ii)前記一意の識別子を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信することと、(iii)前記一意の識別子に基づいて、前記第2のコンピューティングシステムの前記セキュリティ保護されたデータベースサーバから前記第2のデータセットを受信することと、
権限のないユーザによる潜在的なデータ漏洩があるとの決定に応答して、(i)前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第2のデータセットの要求を受信すると、前記少なくとも1つのサーバによって前記第1のデータベースから前記一意の識別子を検索することと、(ii)前記第1のコンピューティングシステムが前記第2のコンピューティングシステムから前記第2のデータセットを検索する権限を与えられていることを確認するために、前記第1のユーザデバイスまたは前記第2のユーザデバイスに前記第2のデータセットの第1のサブセットを要求することと、(iii)前記少なくとも1つのサーバによって、確認の要求に応答して、前記第1のユーザデバイスまたは前記第2のユーザデバイスからデータ列を受信することと、(iv)前記一意の識別子および前記データ列を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信することと、(v)前記データ列が前記第2のデータセットの前記サブセットと一致するかどうかに基づいて、失敗メッセージまたは前記第2のデータのセットのうちの少なくとも1つを受信することと
を行うようにプログラムされる、分散コンピューティングシステム。
【請求項２】
前記データ列を前記第2のデータセットの前記第1のサブセットに一致させることの前記セキュリティ保護されたデータベースサーバの失敗に応答して、前記失敗メッセージが受信され、前記失敗メッセージに応答して、前記第1のコンピューティングシステムが、
前記第1のコンピューティングシステムが前記第2のコンピューティングシステムから前記第2のデータセットを検索する権限を与えられていることを確認するために、前記第1のユーザデバイスまたは前記第2のユーザデバイスに前記第2のデータセットの第2のサブセットを要求することと、
前記少なくとも1つのサーバによって、確認の要求に応答して、前記第1のユーザデバイスまたは前記第2のユーザデバイスから第2のデータ列を受信することと、
前記一意の識別子および前記第2のデータ列を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信することと、
前記データ列が前記第2のデータセットの前記サブセットと一致するかどうかに基づいて、さらなる失敗メッセージまたは前記第2のデータのセットのうちの少なくとも1つを受信することと
を行うようにさらにプログラムされる、請求項1に記載のシステム。
【請求項３】
前記データ列を前記第2のデータセットのサブセットと一致させる際の前記セキュリティ保護されたデータベースサーバの成功に応答して、前記第1のコンピューティングシステムが前記第2のコンピューティングシステムから前記第2のデータセットを受信し、データ漏洩がないと決定する、請求項2に記載のシステム。
【請求項４】
データ漏洩がないとの決定に応答して、前記第1のコンピューティングシステムが、前記第1のユーザデバイスまたは前記第2のユーザデバイス上でレンダリングされるグラフィカルユーザインターフェース(GUI)と、前記GUIにおいて平文でレンダリングされる前記第2のデータセットの第1の部分と、前記GUIから除外される前記第2のデータセットの第2の部分とを提供する、請求項3に記載のシステム。
【請求項５】
前記第1のコンピューティングデバイスによる確認のための前記第2のデータセットのサブセットの最大要求数があらかじめ定められた制限に基づく、請求項2に記載のシステム。
【請求項６】
前記第1のコンピューティングシステムが最大要求数内で前記第2のデータを検索する権限を与えられていることを確認することの前記セキュリティ保護されたデータベースサーバの失敗に応答して、前記第1のコンピューティングシステムが、前記第1のユーザデバイスまたは前記第2のユーザデバイスのインターネットプロトコル(IP)アドレスを保持し、前記第1のユーザデバイスまたは前記第2のユーザデバイスのメディアアクセス制御(MAC)アドレスを保持し、前記第2の接続または将来の接続中に、前記第1のユーザデバイスまたは前記第2のユーザデバイスからの前記第2のデータセットのさらなる要求をブロックし、あらかじめ定められた時間の間前記第2のデータセットのさらなる要求をブロックし、または検証された電子メールアドレスに電子メールを送信する、請求項2に記載のシステム。
【請求項７】
前記潜在的なデータ漏洩は、前記第2の接続を確立しようと試みるとき、前記第1のユーザデバイスまたは前記第2のユーザデバイスからの前記第1のデータセットの最初の受信時に前記第1のコンピューティングシステムが前記第1のデータセットを検証することができないことと、前記第1のコンピューティングシステムが前記第1のユーザデバイスまたは前記第2のユーザデバイスの位置が疑わしいと決定することと、前記第1のコンピューティングシステムが、前記第1のユーザデバイスまたは前記第2のユーザデバイスが知られている以前の位置のしきい値距離内にない位置にあると決定することとのうちの少なくとも1つに応答して決定される、請求項1に記載のシステム。
【請求項８】
前記第1のコンピューティングシステムが、第2のコンピューティングシステムから前記第2のデータセットを暗号化されたフォーマットで受信する、請求項1に記載のシステム。
【請求項９】
前記第1のコンピューティングシステムが前記第2のデータを解読する、請求項1に記載のシステム。
【請求項１０】
分散コンピューティングシステムにおいて実行される方法であって、
通信ネットワークを介して第1のユーザデバイスと第1のコンピューティングシステムとの間に第1の接続を確立するステップであって、前記第1のコンピューティングシステムが少なくとも1つのサーバおよび第1のデータベースを含み、前記第1の接続が、前記第1のユーザデバイスから前記第1のコンピューティングシステムによって受信された第1のデータセットの検証時に確立される、ステップと、
前記少なくとも1つのサーバによって、前記第1の接続の確立後に、前記第1のユーザデバイスから第2のデータセットを受信するステップと、
前記少なくとも1つのサーバによって一意の識別子を前記第2のデータセットに割り当てるステップであって、前記一意の識別子が、前記少なくとも1つのサーバによって前記第1のデータベースに記憶される、ステップと、
前記一意の識別子および前記第2のデータセットを、第1の暗号化方式を使用して前記第1のコンピューティングシステムから第2のコンピューティングシステムに送信するステップであって、前記一意の識別子および前記第2のデータセットが、前記セキュリティ保護されたデータベースサーバによって、第2の暗号化方式に従って前記第2のデータベースに記憶される、ステップと、
前記第1の接続を終了するステップと、
前記通信ネットワークを介して前記第1のコンピューティングシステムと前記第1のユーザデバイスまたは第2のユーザデバイスのうちの1つとの間に第2の接続を確立するステップであって、前記第2の接続が、前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第1のコンピューティングシステムによって受信された前記第1のデータセットの検証時に確立される、ステップと、
権限のないユーザによる潜在的なデータ漏洩があるかどうかを決定するステップと、
潜在的なデータ漏洩がないとの決定に応答して、(i)前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第2のデータセットの要求を受信すると、前記少なくとも1つのサーバによって前記第1のデータベースから前記一意の識別子を検索するステップと、(ii)前記一意の識別子を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信するステップと、(iii)前記一意の識別子に基づいて、前記第2のコンピューティングシステムの前記セキュリティ保護されたデータベースサーバから前記第2のデータセットを受信するステップと、
権限のないユーザによる潜在的なデータ漏洩があるとの決定に応答して、(i)前記第1のユーザデバイスまたは前記第2のユーザデバイスから前記第2のデータセットの要求を受信すると、前記少なくとも1つのサーバによって前記第1のデータベースから前記一意の識別子を検索するステップと、(ii)前記第1のコンピューティングシステムが前記第2のコンピューティングシステムから前記第2のデータセットを検索する権限を与えられていることを確認するために、前記第1のユーザデバイスまたは前記第2のユーザデバイスに前記第2のデータセットの第1のサブセットを要求するステップと、(iii)前記少なくとも1つのサーバによって、確認の要求に応答して、前記第1のユーザデバイスまたは前記第2のユーザデバイスからデータ列を受信するステップと、(iv)前記一意の識別子および前記データ列を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信するステップと、(v)前記データ列が前記第2のデータセットの前記サブセットと一致するかどうかに基づいて、失敗メッセージまたは前記第2のデータのセットのうちの少なくとも1つを受信するステップと
を備える、方法。
【請求項１１】
前記データ列を前記第2のデータセットの前記第1のサブセットに一致させることの前記セキュリティ保護されたデータベースサーバの失敗に応答して、前記失敗メッセージが受信され、前記失敗メッセージに応答して、前記方法が、
前記第1のコンピューティングシステムが前記第2のコンピューティングシステムから前記第2のデータセットを検索する権限を与えられていることを確認するために、前記第1のユーザデバイスまたは前記第2のユーザデバイスに前記第2のデータセットの第2のサブセットを要求するステップと、
前記少なくとも1つのサーバによって、確認の要求に応答して、前記第1のユーザデバイスまたは前記第2のユーザデバイスから第2のデータ列を受信するステップと、
前記一意の識別子および前記第2のデータ列を前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに送信するステップと、
前記データ列が前記第2のデータセットの前記サブセットと一致するかどうかに基づいて、さらなる失敗メッセージまたは前記第2のデータのセットのうちの少なくとも1つを受信するステップと
をさらに備える、請求項10に記載の方法。
【請求項１２】
前記データ列を前記第2のデータセットのサブセットと一致させる際の前記セキュリティ保護されたデータベースサーバの成功に応答して、前記第1のコンピューティングシステムによって前記第2のコンピューティングシステムから前記第2のデータセットを受信し、データ漏洩がないと決定するステップをさらに備える、請求項11に記載の方法。
【請求項１３】
データ漏洩がないとの決定に応答して、前記第1のコンピューティングシステムによって、前記第1のユーザデバイスまたは前記第2のユーザデバイス上でレンダリングされるグラフィカルユーザインターフェース(GUI)と、前記GUIにおいて平文でレンダリングされる前記第2のデータセットの第1の部分と、前記GUIから除外される前記第2のデータセットの第2の部分とを提供するステップをさらに備える、請求項12に記載の方法。
【請求項１４】
前記第1のコンピューティングデバイスによる確認のための前記第2のデータセットのサブセットの最大要求数があらかじめ定められた制限に基づく、請求項11に記載の方法。
【請求項１５】
前記第1のコンピューティングシステムが最大要求数内で前記第2のデータを検索する権限を与えられていることを確認することの前記セキュリティ保護されたデータベースサーバの失敗に応答して、前記第1のコンピューティングシステムが、前記第1のユーザデバイスまたは前記第2のユーザデバイスのインターネットプロトコル(IP)アドレスを保持し、前記第1のユーザデバイスまたは前記第2のユーザデバイスのメディアアクセス制御(MAC)アドレスを保持し、前記第2の接続または将来の接続中に、前記第1のユーザデバイスまたは前記第2のユーザデバイスからの前記第2のデータセットのさらなる要求をブロックし、あらかじめ定められた時間の間前記第2のデータセットのさらなる要求をブロックし、または検証された電子メールアドレスに電子メールを送信する、請求項14に記載の方法。
【請求項１６】
前記潜在的なデータ漏洩は、前記第2の接続を確立しようと試みるとき、前記第1のユーザデバイスまたは前記第2のユーザデバイスからの前記第1のデータセットの最初の受信時に前記第1のコンピューティングシステムが前記第1のデータセットを検証することができないことと、前記第1のコンピューティングシステムが前記第1のユーザデバイスまたは前記第2のユーザデバイスの位置が疑わしいと決定することと、前記第1のコンピューティングシステムが、前記第1のユーザデバイスまたは前記第2のユーザデバイスが知られている以前の位置のしきい値距離内にない位置にあると決定することとのうちの少なくとも1つに応答して決定される、請求項10に記載の方法。
【請求項１７】
前記第1のコンピューティングシステムが、第2のコンピューティングシステムから前記第2のデータセットを暗号化されたフォーマットで受信する、請求項10に記載の方法。
【請求項１８】
前記第1のコンピューティングシステムによって、前記第2のデータセットを解読するステップをさらに備える、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願の相互参照
本出願は、2015年12月22日に出願された米国仮出願第62/270,963号および2016年12月12日に出願された米国特許出願第15/376,038号に対する優先権を主張する。各出願の内容は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【０００２】
分散コンピューティングシステムは、セキュアかつ安全に記憶される必要がある大量の機密データを記憶する。セキュリティ対策が不十分であると、そのような機密データが権限のない第三者による攻撃や潜在的なデータ漏洩に対して脆弱になる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
例示的な実施形態は、添付の図面において例として示されており、本開示の限定として考慮されるべきではない。
【図面の簡単な説明】
【０００４】
【図１】本開示の例示的な実施形態を実装するための例示的なコンピューティングデバイスのブロック図である。
【図２】本開示の例示的な実施形態による、通信可能に結合されたコンピューティングシステムを含む例示的な分散環境を示す図である。
【図３】例示的な実施形態による、データのセットをセキュアに記憶するための例示的なプロセスを示すフローチャートである。
【図４】例示的な実施形態による、潜在的なデータ漏洩の検出に応答してデータを保護するための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【０００５】
ネットワークコンピューティング環境において機密データをセキュアに記憶し、ネットワークコンピューティング環境における潜在的なデータ漏洩の検出に対応して、記憶された機密データを保護するための改良されたコンピュータセキュリティシステムに関連付けられるシステム、方法、および非一時的コンピュータ可読媒体が、本明細書で詳細に説明される。システム、方法、およびコンピュータ可読媒体の実施形態は、1つまたは複数の承認ステップを必要とするセキュリティレベルを使用して機密データをセキュアに記憶することを提供することができる。たとえば、機密データを保護するための第1のセキュリティレベルは、システムが潜在的なデータ漏洩を検出しない場合に本開示の実施形態によって実装され得、第2のセキュリティレベルは、潜在的なデータ漏洩が検出された場合に本開示の実施形態によって実装され得る。セキュリティレベルは、安全かつセキュアに、機密データをデータベース内に有利に維持し、あらゆる権限のないユーザによる機密データへのアクセスを防止するように構成され得る。権限のないユーザによるセキュアなデータへのアクセスを防止することで、分散コンピューティングシステム上のフィッシング詐欺、ウィルス、スパイウェア、およびマルウェアも防止され、分散コンピューティングシステムのパフォーマンスと寿命が向上する。
【０００６】
本開示の実施形態によれば、分散コンピューティングシステムおよび方法が開示され、少なくとも1つのサーバおよび第1のデータベースを有する第1のコンピューティングシステムは、第1のユーザデバイスおよび/または第2のユーザデバイスに選択的に接続され、また、通信ネットワークを介して第2のコンピューティングシステムに選択的に接続される。第2のコンピューティングシステムは、セキュリティ保護されたデータベースサーバと第2のデータベースとを含むことができる。
【０００７】
例示的な実施形態では、第1のコンピューティングシステムは、第1のコンピューティングシステムによって第1のユーザデバイスから受信された第1のデータセットの検証に応答して、通信ネットワークを介して第1のユーザデバイスと第1のコンピューティングシステムとの間に第1の接続を確立するようにプログラムされ得る。接続が確立された後、第1のコンピューティングシステムは、第1のユーザデバイスから第2のデータセットを引き続き受信することができ、第2のデータセットは、セキュアに記憶されるべき機密データを表す。
【０００８】
例示的な実施形態では、一意の識別子は、第1のコンピューティングシステムの少なくとも1つのサーバによって第2のデータセットに生成/割り当てられ、一意の識別子は、少なくとも1つのサーバによって第1のデータベースに記憶される。例示的な実施形態では、一意の識別子および第2のデータセットは、第1の暗号化方式を使用して第2のコンピューティングシステムに送信され、第2のコンピュータシステムのセキュリティ保護されたデータベースサーバは、第2のデータベースに一意の識別子および第2のデータセットを記憶する。一意の識別子および第2のデータセットは、第2の暗号化方式に従って第2のデータベースに記憶され得る。第2のデータセットが第1のコンピューティングシステムによって受信された後しばらくして、第1のコンピューティングシステムと第1のユーザデバイスとの間の第1の接続が終了され得る。
【０００９】
例示的な実施形態では、第1の接続が終了された後しばらくして、第1のユーザデバイスまたは第2のユーザデバイスから第1のコンピューティングシステムによって受信された第1のデータセットの検証に応答して、第1のコンピューティングシステムと第1のユーザデバイスまたは第2のユーザデバイスのいずれかとの間に第2の接続が確立され得る。例示的な実施形態では、第1のコンピューティングシステムは、権限のないユーザ(たとえば、セキュアなストレージのために第2のデータセットを提出したユーザから第2のデータセットを検索するための承認を受けていないユーザ)による潜在的なデータ漏洩があるかどうかを決定する。例示的な実施形態では、潜在的なデータ漏洩がないとの決定に応答して、第1のユーザデバイスまたは第2のユーザデバイスから第2のデータセットの要求を受信すると、少なくとも1つのサーバによって第1のデータベースから一意の識別子が検索される。例示的な実施形態では、一意の識別子が第1のコンピューティングシステムから第2のコンピューティングシステムに送信される。例示的な実施形態では、第2のデータセットは、一意の識別子に基づいて、第2のコンピューティングシステムのセキュリティ保護されたデータベースサーバから受信される。
【００１０】
例示的な実施形態では、権限のないユーザによる潜在的なデータ漏洩があるとの決定に応答して、第1のユーザデバイスまたは第2のユーザデバイスから第2のデータセットの要求を受信すると、サーバによって第1のデータベースから一意の識別子が検索される。例示的な実施形態では、第1のコンピューティングシステムが第2のコンピューティングシステムに第2のデータセットの要求を送信する前に、潜在的なデータ漏洩を検出した第1のコンピューティングシステムは、第1のコンピューティングシステムが第2のコンピューティングシステムから第2のデータセットを検索する権限を与えられていることを確認するために、第1または第2のユーザデバイスが第2のデータセットの第1のサブセットを提供することを要求することができる。例示的な実施形態では、データ列は、確認の要求に応答して、第1のユーザデバイスまたは第2のユーザデバイスから少なくとも1つのサーバによって受信される。例示的な実施形態では、一意の識別子およびデータ列が第1のコンピューティングシステムから第2のコンピューティングシステムに送信される。例示的な実施形態では、データ列が第1のコンピューティングシステムによって要求された第2のデータセットのサブセットと一致するかどうかに基づいて、失敗メッセージまたは第2のデータのセットのうちの少なくとも1つが受信される。
【００１１】
例示的な実施形態では、データ列を第2のデータセットの第1のサブセットに一致させることのセキュリティ保護されたデータベースサーバの失敗に応答して、失敗メッセージが受信される。例示的な実施形態では、失敗メッセージに応答して、第1のコンピューティングシステムが第2のコンピューティングシステムから第2のデータセットを検索する権限を与えられていることを確認するために、第1のユーザデバイスまたは第2のユーザデバイスに第2のデータセットの第2のサブセットを要求する。例示的な実施形態では、少なくとも1つのサーバは、確認の要求に応答して、第1のユーザデバイスまたは第2のユーザデバイスから第2のデータ列を受信する。例示的な実施形態では、一意の識別子および第2のデータ列が第1のコンピューティングシステムから第2のコンピューティングシステムに送信される。例示的な実施形態では、データ列が第1のコンピューティングシステムによって要求された第2のデータセットのサブセットと一致するかどうかに基づいて、さらなる失敗メッセージまたは第2のデータのセットのうちの少なくとも1つが受信される。
【００１２】
例示的な実施形態では、第1または第2のデータ列を第2のデータセットのサブセットと一致させる際のセキュリティ保護されたデータベースサーバの成功に応答して、第1のコンピューティングシステムが第2のコンピューティングシステムから第2のデータセットを受信し、データ漏洩がないと決定する。
【００１３】
例示的な実施形態では、データ漏洩がないとの決定に応答して、第1のコンピューティングシステムは、第1のユーザデバイスまたは第2のユーザデバイスによってレンダリングされるグラフィカルユーザインターフェース(GUI)を提供する。第2のデータセットの第1の部分はGUIにおいて平文でレンダリングされ得、第2のデータセットの第2の部分は、GUIにおいてレンダリングされることから除外されてもよく、またはGUIにおいて曖昧にされてもよい。
【００１４】
例示的な実施形態では、第1のコンピューティングデバイスによる確認のための第2のデータセットのサブセットの最大要求数は、あらかじめ定められた制限に基づく。
【００１５】
例示的な実施形態では、第1のコンピューティングシステムが最大要求数内で第2のデータを検索する権限を与えられていることを確認することのセキュリティ保護されたデータベースサーバの失敗に応答して、第1のコンピューティングシステムは、第1のユーザデバイスまたは第2のユーザデバイスのインターネットプロトコル(IP)アドレスを保持し、第1のユーザデバイスまたは第2のユーザデバイスのメディアアクセス制御(MAC)アドレスを保持し、第2の接続または将来の接続中に、第1のユーザデバイスまたは第2のユーザデバイスからの第2のデータセットのさらなる要求をブロックし、あらかじめ定められた時間の間第2のデータセットのさらなる要求をブロックし、および/または検証された電子メールアドレスに電子メールを送信する。
【００１６】
例示的な実施形態では、潜在的なデータ漏洩は、第1のコンピューティングシステムが、第2の接続を確立しようと試みるとき、第1のユーザデバイスまたは第2のユーザデバイスからの第1のデータセットの最初の受信時に第1のデータセットを検証することができないことと、第1のコンピューティングシステムが、第1のユーザデバイスまたは第2のユーザデバイスの地理的位置が疑わしいと決定することと、および/または第1のコンピューティングシステムが、第1のユーザデバイスまたは第2のユーザデバイスが知られている以前の位置のしきい値距離内にない位置にあると決定することとのうちの少なくとも1つに応答して決定され得る。
【００１７】
例示的な実施形態では、第1のコンピューティングシステムは、第2のコンピューティングシステムから第2のデータセットを暗号化されたフォーマットで受信する。
【００１８】
図1は、本開示の例示的な実施形態を実装するために使用され得る例示的なコンピューティングデバイス100のブロック図である。コンピューティングデバイス100は、例示的な実施形態を実装するための1つまたは複数のコンピュータ実行可能命令またはソフトウェアを記憶するための1つまたは複数の非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、これらに限定されないが、1つまたは複数のタイプのハードウェアメモリ、非一時的有形媒体(たとえば、1つまたは複数の磁気記憶ディスク、1つまたは複数の光ディスク、1つまたは複数のフラッシュドライブ、1つまたは複数のソリッドステートディスク)などを含み得る。たとえば、コンピューティングシステム100に含まれるメモリ106は、コンピューティングデバイス100の例示的な動作を実装するためのコンピュータ可読命令およびコンピュータ実行可能命令またはソフトウェア(たとえば、アプリケーション130)を記憶し得る。コンピューティングデバイス100はまた、本開示の例示的な実施形態を実装するためのメモリ106および他のプログラムに記憶されたコンピュータ可読命令およびコンピュータ実行可能命令またはソフトウェアを実行するための、構成可能および/またはプログラム可能プロセッサ102および関連付けられるコア104、ならびに任意で、1つまたは複数の追加の構成可能および/またはプログラム可能プロセッサ102'および関連付けられるコア104'(たとえば、複数のプロセッサ/コアを有するコンピュータシステムの場合)を含む。プロセッサ102およびプロセッサ102'はそれぞれ、単一のコアプロセッサであってもよく、複数のコア(204および204')プロセッサであってもよい。
【００１９】
コンピューティングシステム100内のインフラストラクチャおよびリソースが動的に共有され得るように、コンピューティングシステム100において仮想化が採用され得る。プロセスが複数のコンピューティングリソースではなく1つのコンピューティングリソースのみを使用しているように見えるように複数のプロセッサで実行中のプロセスを処理するために、仮想マシン112が提供され得る。1台のプロセッサで複数の仮想マシンも使用され得る。
【００２０】
メモリ106は、DRAM、SRAM、EDO RAMなどのコンピュータシステムメモリまたはランダムアクセスメモリを含み得る。メモリ106は、他のタイプのメモリまたはそれらの組合せも含み得る。
【００２１】
ユーザは、1つまたは複数のグラフィカルユーザインターフェース116、マルチタッチインターフェース120、およびポインティングデバイス118を表示し得るコンピュータモニタなどの視覚的ディスプレイデバイス114を介して、コンピューティングシステム100と対話し得る。
【００２２】
コンピューティングデバイス100はまた、本開示(たとえば、アプリケーション)の例示的な実施形態を実装するデータならびにコンピュータ可読命令および/またはソフトウェアを記憶するための、ハードドライブ、CD-ROM、または他のコンピュータ可読媒体などの1つまたは複数のストレージデバイス126を含み得る。たとえば、例示的なストレージデバイス126は、現在の価格設定、マーケットルール、および価格ギャップ目標を含む現在の製品データ、ならびに計算された新しい価格提案データを記憶するための提案データなどの情報を記憶するための1つまたは複数のデータベース128を含むことができる。データベース128は、データベース内の1つまたは複数のデータ項目を追加、削除、および/または更新するために、任意の適切な時間に手動または自動で更新され得る。
【００２３】
コンピューティングデバイス100は、1つまたは複数のネットワークデバイス124を介して、たとえばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)またはインターネットなどの1つまたは複数のネットワークと、これに限定されないが、標準的な電話回線、LANまたはWANリンク(たとえば、802.11、T1、T3、56kb、X.25)、ブロードバンド接続(たとえば、ISDN、Frame Relay、ATMなど)、ワイヤレス接続、コントローラエリアネットワーク(CAN)、あるいは上記のいずれかまたはすべてのなんらかの組合せを含む様々な接続を通じてインターフェースするように構成されたネットワークインターフェース108を含むことができる。例示的な実施形態では、コンピューティングシステムは、コンピューティングデバイス100とネットワークとの間、および/またはコンピューティングデバイス100と他のコンピューティングデバイスとの間のワイヤレス通信(たとえば、ネットワークインターフェースを介する)を容易にするために、1つまたは複数のアンテナ122を含むことができる。ネットワークインターフェース108は、内蔵型ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、ワイヤレスネットワークアダプタ、USBネットワークアダプタ、モデム、または、コンピューティングデバイス100を、通信および本明細書に記載の動作を実行することが可能な任意のタイプのネットワークにインターフェースするために適した任意の他のデバイスを含み得る。
【００２４】
コンピューティングデバイス100は、Microsoft(登録商標)Windows(登録商標)オペレーティングシステムのいずれかのバージョンなどの任意のオペレーティングシステム110、UnixおよびLinux（登録商標）オペレーティングシステムの異なるリリース、Macintoshコンピュータ用のMacOS(登録商標)の任意のバージョン、任意の組込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、またはコンピューティングデバイス100上で動作し、本明細書に記載の動作を実行することが可能な他の任意の他のオペレーティングシステムを実行し得る。例示的な実施形態では、オペレーティングシステム110は、ネイティブモードで実行されてもよく、エミュレートモードで実行されてもよい。例示的な実施形態では、オペレーティングシステム110は、1つまたは複数のクラウドマシンインスタンス上で実行されてもよい。
【００２５】
図2は、例示的な実施形態による、通信可能に結合されたコンピューティングシステムを含む例示的な分散環境を示している。例示的な実施形態では、第2のコンピューティングシステム204は、通信ネットワーク210を介して第1のコンピューティングシステム202と通信する。例示的な実施形態では、第1のコンピューティングシステム202は、通信ネットワーク210を介してユーザデバイス206a〜mと通信し得る。他の実施形態では、第1のコンピューティングシステム202、第2のコンピューティングシステム204、およびユーザデバイス206a〜mは、異なる通信ネットワークを介して通信し得る(たとえば、第1および第2のコンピューティングシステムは、第1の通信ネットワークを介して通信することができ、第1のコンピューティングシステムおよびユーザデバイスは、第2の通信ネットワークを介して互いに通信することができる)。通信ネットワーク210は、第1のコンピューティングシステム202と第2のコンピューティングシステム204との間、および第1のコンピューティングシステム202とユーザデバイス206a〜mとの間に異なる経路を形成するために使用され得る、異なる構成要素ルータ、スイッチ、ハブ、および/または他の適切な構成要素を含むことができる。例示的な実施形態では、第1のコンピューティングシステム202は、第1のサーバ224および第1のデータベース225を含む。例示的な実施形態では、第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226および第2のデータベース227を含む。
【００２６】
例示的な実施形態では、通信ネットワーク210の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスワイドエリアネットワーク(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、セルラー電話ネットワーク、ワイヤレスネットワーク、WiFiネットワーク、WiMaxネットワーク、任意の他のタイプのネットワーク、またはそのようなネットワークの2つ以上の組合せであり得る。
【００２７】
例示的な実施形態では、ユーザは、後にアクセスされるために、機密データをセキュリティ保護されたデータベースにセキュアに記憶し得る。例示的な実施形態では、機密情報は、個人データ、健康データ、支払いカードデータ、バイオメトリックデータ、または財務データであり得る。例示的な実施形態では、第1のコンピューティングシステム202は、通信ネットワーク210を介して、ユーザデバイス206a〜mに選択的に接続され、第2のコンピューティングシステム204に選択的に接続され得る。例示的な実施形態では、第1のコンピューティングシステム202および第2のコンピューティングシステム204は、異なる地理的位置に配置され得る。他の実施形態では、第1のコンピューティングシステム202と第2のコンピューティングシステム204は、同じ場所に配置され得る。
【００２８】
例示的な実施形態では、ユーザは、アカウントにアクセスする、またはそれを作成するために、複数のユーザデバイス206a〜mのうちの少なくとも1つのユーザデバイス206bを介して、第1のコンピューティングシステム202との接続を形成し得、アカウントへのアクセスが許可される前にアクセス認証情報が適用または生成される。アクセス認証情報は、第1のデータのセットを含むことができる。いくつかの実施形態では、第1のコンピューティングシステムでアカウントを作成すると、ユーザデバイスのうちの1つが第1のコンピューティングシステム202との接続を形成しようとする度に、第1のコンピューティングシステム202は、ユーザデバイスが第1のデータセットを提供することを要求することができる。ユーザデバイスが、指定された試行回数後に第1のデータセットを提供することができない場合、第1のコンピューティングシステムはユーザデバイスに関する情報を記録することができ、後に潜在的なデータ漏洩を検出するために使用され得る。第1のコンピューティングデバイスとユーザデバイス206a〜mのうちの1つとの間に接続が形成されると、接続されたユーザデバイス(たとえば、ユーザデバイス206b)は、第1のコンピューティングシステム202上の以前に作成されたアカウントで使用するために第2のデータセットがセキュアに記憶されることを要求することができる。例示的な実施形態では、第2のデータセットは、第1のコンピューティングシステム202によって1つまたは複数の動作を実行するために使用される個別のデータのセットである。たとえば、第2のデータのセットは、第1のコンピューティングデバイス202と確立されたアカウントとは無関係であるか、異なる別個のアカウントの認証情報に対応することができる。第2のデータセットは、クレジットカード番号、請求先住所、フルネーム、セキュリティコードおよび有効期限、ならびに/またはポリシー番号、グループID、名前、および生年月日などのユーザの健康保険情報を含むユーザのクレジットカードアカウント情報であり得る。これらの例では、クレジットカード取引または保険請求を処理する動作をそれぞれ実行するために、第2のデータセットが使用され得る。他の実施形態では、第2のデータセットは、他の動作を実行するために使用される別の個別のデータのセットであり得る。例示的な実施形態では、第1のデータセットは、ユーザ名およびパスワードであり得る。
【００２９】
アカウントへのログインの成功に応答して、第1のコンピューティングシステム202の第1のサーバ224は、通信ネットワーク210を介してユーザデバイス206bと第1のコンピューティングシステム202との間の第1の接続を確立し得る。ユーザデバイス206bを介したユーザは、セキュアに記憶されるべき第2のデータセットを入力することができ、第2のデータセットを第1のコンピューティングシステム202に送信することができる。第1のコンピューティングシステム202は、ユーザデバイス206bから第2のデータセットを受信することができる。第2のデータセットは、これらに限定されないが、完全な支払いカード番号、セキュリティコード、ユーザのフルネーム、生年月日、有効期限、納税者番号、社会保障番号、バイオメトリクス、および請求先住所のうちの2つ以上を含むデータのセット含み得る。第2のデータセットを受信すると、第1のコンピューティングシステムは、第2のデータセットの名前をユーザデバイス206bに要求することができ、また第2のデータセットに一意の識別子を割り当てることができる。第1のコンピューティングシステム202は、ユーザデバイス206bによって提供された名前に一意の識別子を関連付けることができ、第1のサーバ224を介して第1のデータベース225に名前および一意の識別子を記憶することができる。例示的な実施形態では、名前は、第2のデータセットについてユーザによって作成された「ニックネーム」であってもよく、一意の識別子は、第1のコンピューティングシステム202によって生成された英数字の列であってもよい。第1のコンピューティングシステム202は、第1の暗号化方式を使用して、第2のコンピューティングシステム204に一意の識別子および第2のデータセットを送信することができる。一意の識別子および第2のデータセットは、第2の暗号化方式に従って、セキュリティ保護されたデータベースサーバ226によって第2のデータベース227に記憶され得る。第1のコンピューティングシステム202が第2のデータセットを一意の識別子に関連付けた後しばらくして、第1のコンピューティングシステム202とユーザデバイス206bとの間の第1の接続は、たとえば第1のコンピューティングシステム202によって終了され得る。
【００３０】
例示的な実施形態では、第1の接続が終了した後、ユーザデバイスは、第1のコンピューティングシステム202に第2のデータセットを検索させたい場合がある。たとえば、ユーザデバイス206a〜mのうちの1つ(たとえば、ユーザデバイス206bまたはユーザデバイス206c)を介したユーザは、第1のコンピューティングシステム202への接続を試みることができる。ユーザデバイス(たとえば、ユーザデバイス206bまたはユーザデバイス206c)から第1のデータセットを受信すると、ユーザデバイスと第1のコンピューティングシステム202との間の第2の接続が確立され得る。接続が確立されると、ユーザデバイスは、(たとえば、第2のデータセットが最初に受信されたとき)第2のデータセットに与えられた名前を選択することによって第1のコンピューティングシステムが第2のデータセットを検索することを要求することができ、第1のコンピューティングシステム202は、その名前を使用して第2のデータセットに割り当てられた一意の識別子を検索することができる。セキュアに記憶された第2のデータセットにアクセスしようとしていることに応答して、第1のコンピューティングシステム202は、潜在的なデータ漏洩が検出されたかどうかを決定することができる。
【００３１】
例示的な実施形態では、潜在的なデータ漏洩を検出しないことに応答して、第1のコンピューティングシステムは、第2のデータセットを検索するためのその承認を、第2の接続がそれによって確立された第1のデータセットの検証に基づいて行うことができ、第1のコンピューティングシステム202は、第2のコンピューティングシステム204に一意の識別子を送信することができる。第2のコンピューティングシステム204は、一意の識別子を使用して第2のデータセットについて、セキュリティ保護されたデータベースサーバ226を介して第2のデータベース227に照会する。第2のコンピューティングシステム204は、第2のデータセットを暗号化し、セキュリティ保護されたデータベースサーバ226を介して第1のコンピューティングシステム202に送信する。第1のコンピューティングシステム202は、第2のコンピューティングシステム204からの第2のデータセットを受信して解読し、また第1のサーバ224を介して、第1のコンピューティングシステムによってユーザデバイスに平文として提供されたグラフィカルユーザインターフェースにおいてレンダリングされた第2のデータセットの少なくとも第1の部分をレンダリングすることができ、またグラフィカルユーザインターフェース内の第2のデータセットの少なくとも第2の部分を除外するか、曖昧にすることができる。たとえば、第1のコンピューティングシステム202は、ユーザの社会保障番号と課金郵便番号の4桁のみを平文で表示し得、第2のデータセットの残りはアスタリスクで表示され得る。
【００３２】
例示的な実施形態では、第1のコンピューティングシステム202が、少なくとも1つのユーザデバイス206bの位置が疑わしいと決定した場合、または、第1のコンピューティングシステムが、少なくとも1つのユーザデバイス206bが知られている以前の位置のしきい値距離内にない位置にあると決定した場合、第1のコンピューティングシステム202は潜在的なデータ漏洩を検出し得る。他の実施形態では、第1のコンピューティングシステム202は、第1のコンピューティングシステム202が第1のデータセットを複数回検証できない場合、潜在的なデータ漏洩を検出することができる。たとえば、ユーザが一連のログイン試行に失敗した場合、コンピューティングシステム202は潜在的なデータ漏洩を検出することができる。例示的な実施形態では、第1のコンピューティングシステム202が、第1のコンピューティングデバイスが第2のデータセットを検索する要求に応答して、権限のないユーザによる潜在的なデータ漏洩を検出した場合、第1のコンピューティングシステム202は、第1のコンピューティングシステム202が第2のコンピューティングシステム204から第2のデータセットを検索する権限を与えられていることを確認するために、第2のデータセットの第1のサブセットについてユーザデバイス(たとえば、ユーザデバイス206bまたは206c)に要求することができる。たとえば、第2のデータセットが支払いカード番号、請求先住所、生年月日、またはセキュリティ/ピンコードを含む場合、ユーザデバイスは、(たとえば、ユーザデバイスのユーザによるデータ入力を介して)を、支払いカード番号、請求先住所、生年月日、またはセキュリティ/ピンコードのうちの1つまたは複数の個別の部分を提供することを要求される場合がある。第1のコンピューティングシステム202は、ユーザデバイス(たとえば、ユーザデバイス206bまたは206c)からの第2のデータセットのサブセットの要求に応答して、ユーザデバイスを介してユーザによって入力されたデータ列を受信することができる。第1のコンピューティングシステム202は、第1のサーバ224を介して、第2のコンピューティングシステム204に一意の識別子およびデータ列を送信し得る。第2のコンピューティングシステム204は、データ列が第2のデータセットの要求された第1のサブセットを正確に識別することを確実にするために、セキュリティ保護されたデータベースサーバ226を介して、第2のデータベース227から第2のデータセットの要求された第1のサブセットを検索し、データ列を第2のデータセットの第1のサブセットと比較することによってユーザのデータ列を検証しようとし得る。例示的な実施形態では、第2のコンピューティングシステム204がデータ列を検証できない場合、第1のコンピューティングシステム202は失敗メッセージを受信し得る。他の実施形態では、第2のコンピューティングシステム204がデータ列を検証できる場合、第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介して第2のデータセット全体を第1のコンピューティングシステム202に送信し得る。第1のコンピューティングシステム202は、第1のサーバ224を介して、暗号化されたフォーマットで第2のデータセットを受信し、解読し得る。
【００３３】
例示的な実施形態では、第1のコンピューティングシステム202が、第2のコンピューティングシステム204が第2のデータセットの要求された第1のサブセットに対してデータ列を検証できないことに応答して失敗メッセージを受信する場合、第1のコンピューティングシステム202は、第1のコンピューティングシステム202が第2のコンピューティングシステム204から第2のデータセットを検索する権限を与えられていることを確認するために、ユーザデバイス(たとえば、ユーザ装置206bまたは206c)に第2のデータセットの第2のサブセットを要求し得る。第2のサブセットは、第1のサブセットに含まれなかった第2のデータセットの個別の部分である。たとえば、ユーザは、支払いカード番号、請求先住所、生年月日、社会保障番号、郵便番号、またはセキュリティ/ピンコードの個別の部分を入力するように促されてもよい。しかしながら、たとえば、第1のコンピューティングシステム202が、第1のサブセットの要求に社会保障番号を入力するようにユーザに要求した場合、第1のコンピューティングシステム202は、第2のサブセットの要求において社会保障番号を要求しない場合がある。
【００３４】
第1のコンピューティングシステム202は、第1のサーバ224によって、少なくとも1つのユーザデバイス206bから第2のデータ列を受信し得る。第1のコンピューティングシステム202は、第2のコンピューティングシステム204に一意の識別子および第2のデータ列を送信し得る。第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介して、第2のデータベース227から一意の識別子を使用して第2のデータセットを検索し得る。第2のコンピューティングシステム204は、データ列を第2のデータセットと比較し、データ列が第2のデータセットの要求された第2のサブセットを正確に識別することを検証することによって、データ列を検証しようとし得る。例示的な実施形態では、第2のコンピューティングシステム204がデータ列を検証できない場合、第1のコンピューティングシステム202は失敗メッセージを受信し得る。他の実施形態では、第2のコンピューティングシステム204がデータ列を検証できる場合、第1のコンピューティングシステム202は、第2のデータセットを暗号化されたフォーマットで受信し得る。第1のコンピューティングシステム202は、第1のサーバ224を介して、第2のデータセットを解読する。
【００３５】
例示的な実施形態では、第1のコンピューティングシステム202は、少なくとも1つのユーザデバイス206bから最大数のサブセットを検証しようとし得る。最大数のサブセットが要求された後、および第2のコンピューティングシステム204が各要求されたサブセットに応じて各データ列を検証することができない場合、第1のコンピューティングシステム202は、ユーザが第2のデータセットへのアクセスすることを許可しない場合がある。例示的な実施形態では、第1のコンピューティングシステム202は、最大数のサブセットに達することに応答して、データが権限のないユーザによって漏洩されていると決定し得る。例示的な実施形態では、権限のないユーザによるデータ漏洩があるとの決定に応答して、第1のコンピューティングシステム202は、あらかじめ定められた時間の間ユーザのアカウントへのアクセスをブロックするか、あらかじめ定められた期間の間第2のデータセットへのユーザのアクセスをブロックするか、ユーザの検証された電子メールアドレスに電子メールを送信するか、支払いカード会社に警告するか、任意の公的機関に警告するか、少なくとも1つのユーザデバイス206bのインターネットプロトコル(IP)アドレスを保持するか、または少なくとも1つのユーザデバイス206bのメディアアクセス制御(MAC)アドレスを保持し得る。
【００３６】
例示的な実施形態では、第2のコンピューティングシステム204がデータ列応答を第2のデータセットのサブセットに一致させる際の成功に応答して、第1のコンピューティングシステム202は、第2のコンピューティングシステムから第2のデータセット全体を暗号化されたフォーマットで受信し、データ漏洩がないことを決定する。第1のコンピューティングシステム202は、第2のデータセットを解読する。第1のコンピューティングシステム202は、サーバ224を介して、少なくとも1つのユーザデバイス206bのグラフィカルユーザインターフェース上に、平文でレンダリングされた第2のデータセットの第1の部分と、グラフィカルユーザインターフェースから除外された第2のデータセットの第2の部分とを表示し得る。たとえば、ユーザが自分の個人データにアクセスした場合、第1のコンピューティングシステム202は、ユーザの社会保障番号と課金郵便番号の4桁のみを平文で表示し得、第2のデータセットの残りはアスタリスクで表示され得る。
【００３７】
図2に示されるコンピューティングシステムのサーバは、図1に示されるコンピューティングデバイス100よりも多数または少数の構成要素を含むことができる。
【００３８】
図3は、例示的な実施形態による、別のデータのセットの検証に基づいてデータのセットをセキュアに記憶することを示すフローチャートである。例示的な実施形態では、動作300において、第1のコンピューティングシステム202の第1のサーバ224は、ネットワーク210を介して複数のユーザデバイス206a〜mのうちの少なくとも1つと第1の接続を確立する。動作310において、ユーザは、複数のユーザデバイス206a〜mのうちの少なくとも1つを使用して第1のデータセットを入力する。第1のコンピューティングシステム202は、第1のデータセットを受信する。例示的な実施形態では、第1のデータセットは、ユーザ名およびパスワード(ならびに、1つまたは複数のセキュリティ質問に対する回答、アカウントピンなどの他のデータ)であり得る。
【００３９】
動作320において、第1のコンピューティングシステム202は、第1のサーバ224を介して、第1のデータセットを検証および認証する。例示的な実施形態では、第1のコンピューティングシステム202は、第1のデータセット202の検証および認証に失敗する可能性がある。第1のデータセットの検証および認証の失敗に応答して、第1のコンピューティングシステム202は、第1のコンピューティングシステム202が第1のデータセットの検証および認証に失敗したあらかじめ定められた時間期間内の試行回数を記録することができる。動作360において、第1のコンピューティングシステム202は、第1のコンピューティングシステム202が最大のあらかじめ定められた回数以上のデータを検証しようと試みたかどうかを決定する。第1のコンピューティングシステム202が、最大回数検証に失敗したとの決定に応答して、動作370において接続が終了する。反対に、第1のデータセットの認証および検証に応答して、動作330において、第1のコンピューティングシステム202は、ユーザデバイス206a〜mのうちの少なくとも1つから第2のデータセットを要求する。ユーザは、ユーザデバイス206a〜mのうちの少なくとも1つに第2のデータセットを入力し得、第1のコンピュータシステム202は、第1のサーバ224を介して第2のデータセットを受信し得る。例示的な実施形態では、第2のデータセットは、第1のコンピューティングデバイスと確立されたアカウントとは無関係であるか、異なる別個のアカウントの認証情報に対応することができる。第2のデータセット内のデータの例は、個人データ、支払いカードデータ、健康データ、バイオメトリックデータ、または財務データを含むことができる。例示的な実施形態では、第2のデータセットは、1つまたは複数の動作を実行するために第1のコンピューティングシステムによって必要とされるいくつかのデータであり得る。動作340において、第1のコンピューティングシステム202は第2のデータセットに一意の識別子を割り当てることができ、また、ユーザデバイス206a〜mのうちの少なくとも1つに第2のデータセットの名前を提供するように要求することができる。例示的な実施形態では、名前は第2のデータセットの「ニックネーム」であってもよく、一意の識別子は第1のコンピューティングシステムによって生成された英数字の文字列であってもよい。例示的に、第1のコンピューティングシステム202は、第1の暗号化方式に従って一意の識別子および第2のデータセットを暗号化し、第1のサーバ224を介して第2のコンピューティングシステム204に第2のデータセットおよび一意の識別子を送信する。例示的な実施形態では、第2のコンピューティングシステム204は、第2の暗号化方式に従って、第2のデータセットおよび一意の識別子を第2のデータベース227に記憶する。動作370において、第1のコンピューティングシステム202と複数のユーザデバイス206a〜mの少なくとも1つとの間の第1の接続が終了する。
【００４０】
図4は、例示的な実施形態による、潜在的なデータ漏洩の検出に応答してデータを保護することを示すフローチャートである。例示的な実施形態では、動作400において、ユーザデバイスは、第1のコンピューティングシステムが第2のデータセットにアクセスすることを要求しようと試みる。第1のコンピューティングシステム202は、複数のユーザデバイス206a〜mのうちの少なくとも1つとの(第2の)接続を確立する。第1のコンピューティングシステム202は、複数のユーザデバイス206a〜mのうちの少なくとも1つから第2のデータセットへのアクセス要求を受信する。動作402において、第2のデータセットへのアクセスの要求に応答して、第1のコンピューティングシステム202は、第2のデータセットへのアクセス要求が権限のないユーザによる潜在的なデータ漏洩であるかどうかを決定する。
【００４１】
例示的な実施形態では、動作418において、第1のコンピューティングシステム202が、第2のデータセットへのアクセス要求が権限のないユーザによる潜在的なデータ漏洩ではないと決定した場合、第1のコンピューティングシステム202は、第1のデータベース225から一意の識別子を検索する。動作420において、第1のコンピューティングシステム202は、第2のデータセットの一意の識別子を暗号化し、第1のサーバ224を介して第2のコンピューティングシステム204に送信する。動作416において、第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介して、一意の識別子を受信して解読する。第2のコンピューティングシステム204は、第2のデータベース227に照会し、セキュリティ保護されたデータベースサーバ226を介して第2のデータセットを検索する。動作422において、第2のコンピューティングシステム204は、第2のデータセット全体を暗号化し、セキュリティ保護されたデータベースサーバ226を介して第1のコンピューティングシステム202に送信する。動作424において、第1のコンピューティングシステム202は、複数のユーザデバイス206a〜mのうちの少なくとも1つに提供されるグラフィカルユーザインターフェースに第2のデータセットを表示する。
【００４２】
例示的な実施形態では、動作404において、第1のコンピューティングシステム202が潜在的なデータ漏洩があると決定したことに応答して、第1のコンピューティングシステム202は、第1のサーバ224を介して第1のデータベース225から第2データセットの一意の識別子を検索する。例示的な実施形態では、第1のコンピューティングシステム202が、少なくとも1つのユーザデバイス206bの位置が疑わしいと決定した場合、または、第1のコンピューティングシステムが、少なくとも1つのユーザデバイス206bが知られている以前の位置のしきい値距離内にない位置にあると決定した場合、第1のコンピューティングシステム202は潜在的なデータ漏洩を検出し得る。動作406において、第1のコンピューティングシステム202は、複数のユーザデバイス206a〜mのうちの少なくとも1つに第2のデータセットのサブセットを要求し得る。ユーザは、第2のデータセットのサブセットの要求に応答して、データ列を入力し得る。第1のコンピューティングシステム202はデータ列を受信し、第1のサーバ224を介して第2のコンピューティングシステム204にデータ列および一意の識別子を送信し得る。第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介してデータ列を受信し得る。動作410において、第2のコンピューティングシステム204は、データ列が第2のデータセットの要求されたサブセットを正確に表すことを検証する。第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介して、一意の識別子を使用して第2のデータセットについて第2のデータベース227に照会し得る。第2のコンピューティングシステムは、データ列を第2のデータセットの適切なサブセットと比較し得る。動作412において、第2のコンピューティングシステムが、データ列が第2のデータセットのサブセットであることを検証できない場合、第2のコンピューティングシステム204は、動作412において、第2のコンピューティングシステムが第2のデータセットのサブセットに対するデータ列を検証するためのあらかじめ定められた最大試行回数に達したかどうかを決定する。最大試行回数に達していないとの決定に応答して、第2のコンピューティングシステム204は、セキュリティ保護されたデータベースサーバ226を介して第1のコンピューティングシステム202に失敗メッセージを送信し、プロセスは動作406に戻る。例示的な実施形態では、動作406において、第1のコンピューティングシステムは、複数のユーザデバイス206a〜mのうちの少なくとも1つに第2のデータセットの異なるサブセットを要求して送信し得、第2のコンピューティングシステム204は、最大試行回数に達するまで、受信したデータ列を第2のデータセットに対して検証しようとし得る。例示的な実施形態では、動作414において、第2のコンピューティングシステム204が、第2のデータセットに対してデータ列を検証するために最大試行回数が行われたと決定する場合、第2のコンピューティングシステム204は、権限のないユーザによって第2のデータセットがアクセスされようとしていると決定し得、イベントがトリガされ得る。例示的な実施形態では、イベントは、第1のコンピューティングシステム202が、あらかじめ定められた時間の間ユーザのアカウントへのアクセスをブロックし得る、あらかじめ定められた時間の期間の間第2のデータセットへのユーザのアクセスをブロックする、ユーザの検証済みの電子メールアドレスに電子メールを送信する、支払いカード会社に警告する、任意の公的機関に警告する、少なくとも1つのユーザデバイス206bのインターネットプロトコル(IP)アドレスを保持する、または少なくとも1つのユーザデバイス206bのメディアアクセス制御(MAC)アドレスを保持することであり得る。
【００４３】
例示的な実施形態では、動作416において、第2のコンピューティングシステム204が第2のデータセットに対してデータ列を検証することに応答して、第2のコンピューティングシステムはデータ漏洩がないと決定し、動作422において、第2のコンピューティングシステム204は第2のデータセットを暗号化し、セキュリティ保護されたデータベースサーバ226を介して第1のコンピューティングシステム202に送信する。動作424において、第1のコンピューティングシステム202は、複数のユーザデバイス206a〜mのうちの少なくとも1つのディスプレイ114上に第2のデータセットを表示する。第1のコンピューティングシステム202は、第1のサーバ224を介して、少なくとも1つのユーザデバイス206bのグラフィカルユーザインターフェース上に、平文でレンダリングされた第2のデータセットの第1の部分と、グラフィカルユーザインターフェースから除外された第2のデータセットの第2の部分とを解読および表示し得る。たとえば、ユーザが自分の個人データにアクセスした場合、第1のコンピューティングシステム202は、ユーザの社会保障番号と課金郵便番号の4桁のみを平文で表示し得、第2のデータセットの残りはアスタリスクで表示され得る。
【００４４】
例示的な実施形態を説明する際に、明確にするために特定の用語が使用される。説明の目的のために、各特定の用語は、同様の目的を達成するために同様の方法で動作するすべての技術的および機能的同等物を少なくとも含むことが意図されている。さらに、特定の例示的な実施形態が複数のシステム要素、デバイス構成要素、または方法ステップを含むいくつかの例では、それらの要素、構成要素、またはステップは、単一の要素、構成要素、またはステップで置き換えられてもよい。同様に、単一の要素、構成要素、またはステップは、同じ目的を果たす複数の要素、構成要素、またはステップで置き換えられてもよい。さらに、例示的な実施形態は、その特定の実施形態を参照して示され、記載されているが、当業者は、本発明の範囲から逸脱することなしに、形態および詳細における様々な置換および変更が行われ得ることを理解するであろう。さらに、他の実施形態、機能、および利点も本発明の範囲内である。
【００４５】
例示的なフローチャートが例示の目的のために本明細書に提供され、それらは方法の非限定的な例である。当業者であれば、例示的な方法は、例示的なフローチャートに示されたものよりも多数または少数のステップを含み得、例示的なフローチャートにおけるステップは、例示的なフローチャートに示される順序とは異なる順序で実行され得ることを認識するであろう。
【符号の説明】
【００４６】
100  コンピューティングデバイス
102  プロセッサ
102'  プロセッサ
104  コア
104'  コア
106  メモリ
108  ネットワークインターフェース
110  オペレーティングシステム
112  仮想マシン
114  視覚的ディスプレイデバイス
116  グラフィカルユーザインターフェース
118  ポインティングデバイス
120  マルチタッチインターフェース
122  アンテナ
124  ネットワークデバイス
126  ストレージデバイス
128  データベース
130  アプリケーション
202  第1のコンピューティングシステム
204  第2のコンピューティングシステム
204  コア
204'  コア
206a〜m  ユーザデバイス
210  通信ネットワーク
224  第1のサーバ
225  第1のデータベース
226  セキュリティ保護されたデータベースサーバ
227  第2のデータベース
【図１】
2019506660.tif 000003
【図２】
2019506660.tif 000004
【図３】
2019506660.tif 000005
【図４】
2019506660.tif 000006
【国際調査報告】
2019506660.tif 000007