JP2018190378A - システム、プログラム、およびヒューリスティック - Google Patents
システム、プログラム、およびヒューリスティック Download PDFInfo
- Publication number
- JP2018190378A JP2018190378A JP2017249377A JP2017249377A JP2018190378A JP 2018190378 A JP2018190378 A JP 2018190378A JP 2017249377 A JP2017249377 A JP 2017249377A JP 2017249377 A JP2017249377 A JP 2017249377A JP 2018190378 A JP2018190378 A JP 2018190378A
- Authority
- JP
- Japan
- Prior art keywords
- session
- server
- network
- electronic device
- package
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012790 confirmation Methods 0.000 claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 1
- 230000004044 response Effects 0.000 description 20
- 235000014510 cooky Nutrition 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】ネットワークを介して要求の起点を検証するためのシステムおよび方法が提供される。【解決手段】このシステムは、ネットワークを介して1つまたは複数のデータベースおよびサーバーと通信するパーソナル電子デバイスを含む。サーバーは、特定のユーザーを識別するために使用されるセッションIDおよびセッション確認パッケージを生成するように構成される。セッション確認パッケージは、パーソナル電子デバイスのIPアドレスおよびブラウザエージェントを含む。その後、サーバーおよびデータベースは、ユーザーのセッションごとにセッション検証キーを生成するように構成される。セッション検証キーは、アクセスと検証ごとに自動的に更新される。セッション検証キーは、第三者の装置がコピーされた検証キーおよびIDを用いてネットワークにアクセスするときに、パーソナル電子装置上で更新される。このため第三者の装置は、新しい更新セッション検証キーの受信に失敗し、アクセスが拒否される。【選択図】図16
Description
本発明は、承認されていないコンピュータへの不用意な情報の転送を防止するために、コンピュータネットワーク内のリクエストの起点を確認するためのシステム、プログラム、およびヒューリスティックに関する。
2.関連技術の説明
2.関連技術の説明
http(HyperText Transfer Protocol)は、ネットワークを介してメディアを送信するためのプロトコルであり、インターネット上で使用される最も一般的なプロトコルの1つである。情報は、特定のIPアドレスを持つクライアントコンピュータから、同じネットワーク上のIPアドレスを持つホストコンピュータに要求される。場合によっては、ホストコンピュータが有効な署名として認識するユーザー名やパスワード、またはその他のパラメータなど、ホストコンピュータから何らかの形式の検証が要求されることがある。
ネットワークを介して認証されたコンピュータとの間でリクエストを識別するために、ホストコンピュータはしばしばCookieとして知られているものを生成する。Cookieは、文字と数字のセットがネットワーク上の他のコンピュータによって容易に偽造されないように、十分にランダムに生成された文字と数字のセットであることが最も一般的である。これらのCookieは、ホストコンピュータから発行され、クライアントコンピュータからのすべてのリクエストのheaderに挿入され送信される。
ネットワークを介して認証されたコンピュータとの間でリクエストを識別するために、ホストコンピュータはしばしばCookieとして知られているものを生成する。Cookieは、文字と数字のセットがネットワーク上の他のコンピュータによって容易に偽造されないように、十分にランダムに生成された文字と数字のセットであることが最も一般的である。これらのCookieは、ホストコンピュータから発行され、クライアントコンピュータからのすべてのリクエストのheaderに挿入され送信される。
Cookieに関する一つの問題は、それらがhttpリクエストのheaderに含まれるので、クライアントおよびソースコンピュータのネットワーク上のコンピュータがそれらを読み取ることができることである。クロスサイトスクリプティング攻撃のような場合には、クライアントコンピュータは、クライアントコンピュータのリクエストに添付されたCookieを用いて、ネットワーク上の第三者コンピュータにhttpリクエストを送信させる実行コードに、騙される。クライアントコンピュータがホストコンピュータに対して自身を認証するために使用するCookieまたは文字と数字のランダムセットを取得すると、第三者はこのCookieをhttpリクエストに添付してクライアントコンピュータとして偽装することが可能となる。
ネットワーク内のセキュリティを高める技術が進んでいるものの、まだ欠点が残っている。認証されるコンピュータが実際にリクエストを行うコンピュータであることを保証するためのシステムおよび方法が必要である。言い換えれば、ログイン(すなわち、おそらくCookieによる)を確認するだけでなく、ログインの起点がログインしたコンピュータのものと同じであることを確認するシステムが必要である。
上記目的を達成するために、開示のシステムが提供される。このシステムは、ネットワーク経由の要求の起点(の正当性)を検証するために、下記を有するシステムであり、ネットワークを介してデータを検索し、処理し、送信するために構成されたプロセッサ、メモリ記憶装置、入力/出力インタフェースと、を有するパーソナル電子装置と、ネットワークを介して前記パーソナル電子装置と通信する1つまたは複数のデータベースと、ネットワークを介してパーソナル電子デバイスと通信する1台または複数台のサーバーであって、前記1つまたは複数のデータベースとの間で情報の送信を制御し、継続して利用するユーザーを特定するために、一意的なセッションIDを生成する1台または複数台のサーバーと、IPアドレス、セッションID、およびブラウザエージェント、1つまたは複数のデータベース上のファイルへのアクセスを制限するために構成された1台または複数のサーバーによって生成され、ネットワークを介して1台または複数のサーバーと、1つまたは複数のデータベースへの継続的なアクセスを保証する一意性を識別するセッション確認パッケージを有している。
本出願の特徴と考えられる新規の特徴は、添付の特許請求の範囲に記載している。しかしながら、アプリケーション自体、ならびに好ましい使用モードおよびさらなる目的および利点は、添付の図面と併せて読むと以下の詳細な説明を参照することによって最もよく理解される。
本出願のシステムおよび方法は、様々な修正および代替形態が可能であるが、それらの特定の実施形態は、図面の例として示されており、本明細書において詳細に記載されている。しかしながら、特定の実施形態に関する本明細書の記載は、本出願を開示された特定の実施形態に限定することを意図するものではなく、むしろ、本発明の精神および範囲内に入る全ての変更、均等物、添付の特許請求の範囲によって規定されるような本出願のプロセスの一部である。
本出願のシステムおよび方法は、様々な修正および代替形態が可能であるが、それらの特定の実施形態は、図面の例として示されており、本明細書において詳細に記載されている。しかしながら、特定の実施形態に関する本明細書の記載は、本出願を開示された特定の実施形態に限定することを意図するものではなく、むしろ、本発明の精神および範囲内に入る全ての変更、均等物、添付の特許請求の範囲によって規定されるような本出願のプロセスの一部である。
以下、好ましい実施形態の例示的な実施形態について説明する。説明を容易にするため、実際の実装のすべての機能がこの仕様で記述されているわけではない。そのような実際の実施形態の開発においては、システム関連およびビジネス関連制約への遵守など、開発者の特定の目標を達成するために多数の実装固有の決定が行われなければならないことはもちろんである。さらに、そのような開発努力は、複雑で時間がかかるが、それにもかかわらず、本開示の恩恵を受ける当業者にとって日常的な仕事であることが理解される。
本明細書では、様々な構成要素間の空間的関係と、その装置が添付の図面に示されているように、構成要素の様々な態様の空間的な向きを参照することができる。しかし、本出願を完全に読んだ後に当業者に認識されるように、本明細書に記載の装置、部材、装置などは、任意の所望の方向に配置することができる。したがって、様々な構成要素間の空間的関係を記述するため、またはそのような構成要素の態様の空間的方向を記述するために用語を使用することは、構成要素間の相対的関係またはそのような構成要素の態様の空間的方向を、デバイスは、任意の所望の方向に向けることができる。
本出願によるシステムおよび方法は、従来のドア用のセキュリティ装置に一般的に関連する上述の問題の1つまたは複数を克服する。特に、システムは、ログインしたコンピュータのログイン元と同じであるだけでなく、ログインしているユーザーまたはコンピュータを確認するための多層認証プロトコルを提供するように構成されている。システムを使用して、機密情報を配布する前に、ネットワーク上のユーザーとコンピュータを認証する。さらに、システムは、後続のコンピュータの接続時にネットワーク上の既存のコンピュータのセッション確認キーを自動的に更新して、後続のコンピュータが正確で更新されたセッション確認キーを検索できないように構成されている。装置のこれらの及び他の独特の特徴は、添付図面に示し、以下に説明する。
システムおよびその手法は、添付の記述と併せて、添付図面からその構造および動作が理解される。この装置のいくつかの実施形態を本明細書に提示する。異なる実施形態の様々な構成要素、部分、および特徴は、すべての変形および特定の実施形態が示されているわけではないが、それらの全てが本出願の範囲内にある、相互に組み合わせおよび/または相互交換されてもよいことを理解されたい。図面では、特徴、要素、および/または機能の混合およびマッチングは、本明細書において明白に企図されているので、事業者は、本特許開示から、特徴、要素および/または機能他に記載がない限り、適切な別の実施形態に組み込むことができる。
本出願のシステムおよびその手法は、添付の図面に示される。このシステムは、情報を転送するための任意の数のサーバーおよび/またはデータベースとネットワークを介して通信する1つまたは複数のコンピュータを含む。システムは、ネットワークを介してユーザーとコンピュータの多層確認を提供するように構成されている。装置の追加の特徴および機能は、添付図面に図示し、以下に説明される。
関連する図に記載される本出願のシステムは、ネットワークを介して通信するように構成された1つ以上の様々な電子デバイスを含むことができる。これらのデバイスのいずれも、適切な通信および実行可能データの転送を容易にするために、入出力(I/O)インターフェース、プロセッサ、データベース、およびメンテナンス・インタフェースの少なくともいずれかを含むことができる。システムの実施形態は、以下に説明するタスクを実行するように構成された1つまたは複数のプロセッサおよびメモリを含む1つまたは複数のコンピュータを含むことができる。これは、例えば、中央処理装置(CPU)と、本明細書で説明するタスクの少なくとも一部を実行するようCPUに命令するためのソフトウェア命令を記憶する不揮発性メモリとを有するコンピュータを含むことができる。これは、例えば、コンピュータネットワークを介して通信する2台以上のコンピュータを含み、1台以上のコンピュータがCPUおよび不揮発性メモリを含み、1台以上のコンピュータの不揮発性メモリがソフトウェア本明細書に記載のタスクのいずれかを実行するようにCPUのいずれかに指示する命令。したがって、例示的な実施形態は、離散的なマシンに関して説明されているが、この説明は非限定的であり、本説明は、いずれかの方法で分散されたタスクを実行する1つまたは複数のマシンを含む多数の他の構成に等しく適用される、1つまたは複数のマシンである。また、そのようなマシンは、本明細書で説明するタスクを実行するために専用である必要はなく、他のタスクを実行するのに適したコンピュータワークステーションなどの多目的マシンでもよいことと理解される。さらに、コンピュータは、一時的および非一時的な形態のコンピュータ可読媒体を使用することができる。非一時的なコンピュータ可読媒体は、一時的な伝播信号であることを除いて、すべてのコンピュータ可読媒体を含むと解釈される。
I/Oインターフェースは、外部ユーザー、システム、およびデータソースとシステムのコンポーネントとの間の通信リンクを提供する。I/Oインターフェースは、1人または複数のユーザーが任意の既知の入力デバイスを介してシステムに情報を入力できるように構成することができる。例としては、キーボード、マウス、タッチスクリーン、マイクロフォン、および/または任意の他の所望の入力装置を挙げることができる。I/Oインターフェースは、1人または複数のユーザーが任意の既知の出力装置を介してシステムから情報を出力することを可能にするように構成することができる。例としては、ディスプレイモニタ、プリンタ、スピーカ、および/または任意の他の所望の出力デバイスを含めることができる。I/Oインターフェースは、他のシステムがシステムと通信できるように構成することができる。例えば、I/Oインターフェースは、1つまたは複数のリモートコンピュータが情報にアクセスし、情報を入力し、および/または本明細書に記載された1つまたは複数のタスクを実行するためにシステムに遠隔指示することを可能にすることができる。 I/Oインターフェースは、1つまたは複数のリモートデータソースとの通信を可能にするように構成できる。例えば、I/Oインターフェースは、1つまたは複数のリモートデータソースが情報にアクセスし、情報を入力し、および/または本明細書に記載された1つまたは複数のタスクを実行するためにシステムに遠隔指示することが可能である。
データベースは、システムのための持続的なデータ記憶装置を提供する。用語「データベース」が主に使用されるが、メモリまたは他の適切なデータ記憶装置がデータベースの機能性を提供してもよい。別の実施形態では、データベースは、システムと一体であっても、システムとは別のものであってもよく、1つ以上のコンピュータ上で動作することができる。データベースは、好ましくは、図に関連して以下に説明する様々なタイプのデータを含む、システムの動作をサポートするのに適した任意の情報の不揮発性データ記憶を提供する。
保守用インターフェースは、ユーザーがシステムの所望の動作を維持できるように構成されている。いくつかの実施形態では、メンテナンス・インタフェースは、データベースに格納されたデータを見直しおよび/または改訂すること、および/またはデータベース管理に共通して関連する任意の適切な管理タスクを実行することを可能にするように構成することができる。これは、例えば、データベース管理ソフトウェアの更新、セキュリティ設定の改訂、および/またはデータバックアップ操作の実行を含むことができる。いくつかの実施形態では、メンテナンス・インタフェースは、プロセッサおよび/またはI/Oインターフェースのメンテナンスを可能にするように構成することができる。これは、例えば、ソフトウェア更新および/またはセキュリティ管理および/または特定の許容差設定の調整などの管理タスクを含むことが可能である。
ここで図面を参照すると、同様の参照符号は、いくつかの図を通して形態および機能において対応するまたは類似の要素を識別する。図1には、ネットワーク内の要求の起点を検証するためのシステム99が示されている。図1は、本出願の全体的な構造を示す。システム99は、電子デバイス101(すなわち、パーソナルコンピュータ)および一連のデータベースおよび/またはサーバー301〜305を含む。デバイス101は、プロセッサ、メモリの何らかの方法、不揮発性記憶装置、ネットワーキング、入出力を含む。図示されたパーソナルコンピュータ以外の他の装置は、システム99内で動作可能であってもよい。例えば、装置101は、スマートフォン、タブレットまたはその他のスマート装置のような機能的に類似の任意の装置を含むことができる。
ウェブブラウザ102は、デバイス101上で動作可能であり、データとしてインターネット201(一連のネットワーク)を介してTCPリクエストを送受信することができる。さらに、データを画面上のイメージとして表示したり、ネットワーク上のホストからダウンロードしたコードを実行したり、httpプロトコルを使用して要求を送信または受信したりすることも可能である。装置101のファイルシステム103は、ウェブブラウザ102と通信し、選択された情報を記憶することができる。ファイルシステム103は、ウェブブラウザ102が利用するためにキャッシュされたウェブサイト、画像、Cookie、および他の情報などのデータを保存するために使用される。
インターネット201は、しばしばクラウドと呼ばれる。これは、ネットワークアドレス変換やIPアドレスルーティングなどのさまざまなメカニズムを使用して地球をカバーするネットワークシステムであり、ネットワークの一方のコンピュータから要求を受け取り、ネットワーク上の別のコンピュータに転送してから、元の要求を行ったコンピュータに返信する。
リバースプロキシサーバー301は、インターネットにおいてエンドポイントとして機能し、リバースプロキシサーバー301が接続されているインターネットとは別のネットワーク上の他のコンピュータにトラフィックを転送するコンピュータである。これにより、複数のサーバーを単一のドメインポリシーを必要とするウェブクライアントの1つのエンドポイントとして表示することができます。本出願における分離の理由は、これにより、リバースプロキシサーバー301は、処理されるネットワーク上の他のサーバーにリバースプロキシサーバー301を渡す前に、サーバーへの要求のチェックのセットを実行することが可能になる。
302はウェブソケットサーバーである。ウェブソケット302は、httpプロトコルに追加されたものである。それらは接続をアクティブに保つために一定の間隔で両方のコンピュータがpingを送信することを必要とするTCP接続です。ウェブソケット接続を共有する2台のコンピュータのうちの1台が所定の時間内にpingを送信できない場合、その接続は反対側のコンピュータ接続によって切断されたと判断される。このプロトコルは、接続を確立するためのハンドシェイク、接続を終了するための方法、およびこれらの接続を介してバイナリまたはテキストデータを送信するための方法も定義する。
303はアプリケーションサーバーである。アプリケーションサーバー303は、クライアントからの要求を受け取り、所与の要求の許可レベルに応じていくつかの設定された条件に基づいて動作することができるネットワークベースのサーバーに本出願が使用する用語である。たとえば、クライアントはデータベースから一連の値を要求したり、一連の値をデータベースに書き込んだり、要求の内容に基づいてクライアントから要求を実行したりすることがある。一般に、アプリケーションサーバー303は、アプリケーションを実行するように構成される。
304はデータストアサーバーである。データストアサーバー304は、データベースサーバーと同様の機能を果たすが、別の機能を実行する。データストアサーバー304は、所与のキーの所与の値のリストを格納するネットワーク指向のサーバーである。また、多くの場合、デバイスのメモリ内で実行され、デバイスのファイルシステムでは実行されない。その結果、セッションデータを管理する主要な機能を持つサーバーが実現する。ユーザーがウェブアプリケーションにログインすると、ウェブアプリケーションは、クライアントコンピュータのブラウザエージェントまたはIPアドレスがペアになっているなどの情報のためのランダムセッションキーを作成する。このような値は、データストアサーバー304のメモリに格納され、ネットワーク上の他のサーバーがアクセスできるようになっている。
305はデータベースサーバーである。データベースサーバー305は、テーブルまたは他の構造にデータを格納し、検索し、そして書き込む主要な機能を有するサーバーである。ネットワーク上の適切な認証を持つ他のサーバーは、このサーバーに要求を送信して、ハードドライブに格納されたデータにアクセスできる。
401は、ネットワーク、またはネットワーク上のサーバー間で信号を送信するために使用される物理的媒体である。
ここで図面の図2〜9を参照すると、要求の起点を確認するためにシステム99にログインするプロセスを示す図が示される。特に、図2を参照すると、ステップ701において、ウェブアプリケーションのURLがウェブブラウザ102のアドレスバー501に入力される。この時点で(ステップ702)、ウェブブラウザ102は、http要求をリバースプロキシサーバー301に送信し、ログイン。リバースプロキシサーバー301は、ログインのためのファイルを読み取り(ステップ703)、その後、ウェブブラウザ102に戻るhttp応答を返す(ステップ704)。ステップ704において、ウェブブラウザ102はhttp応答からログインページをレンダリングする(ステップ705)。
図3を参照すると、本出願のログイン画面が示されている。ログイン画面は、2つの入力、すなわちユーザー名502とパスワード503の2つの入力が提出ボタン504と共に存在する共通の設計に従う。本出願は、記載されたログイン画面の設計には何も主張していない。それら画面は、どのユーザーがアプリケーションへのアクセスを要求しているかを確立するために提供され、前記ユーザーは、アプリケーションに認証されるべきパスワードのような何らかの形のデジタル署名を必要とする。このようなフォームには、ユーザーがサーバーによって検証されるように詳細を入力したことを示すために使用される送信ボタン504も含まれる。
図4を参照すると、一連のステップが実行される。ステップ706で、意図されたユーザー名とパスワード(ユーザー識別データ)がそれぞれユーザー名502とパスワード503の入力フィールドに入力され、送信ボタン504がクリックされる。ステップ707で、ウェブブラウザ102は、リクエストの本体に含まれるユーザー名フィールド502とパスワードフィールド503に入力されたユーザー名とパスワードを用いて、リバースプロキシサーバー301にPOSTリクエストを送信する。リバースプロキシサーバー301は、ウェブブラウザ102から提供されたユーザー名とパスワードを検索するために、ステップ/リクエスト707からPOSTデータを解析する(ステップ708)。リバースプロキシサーバー301は、データベースサーバー305にリクエストを送る(ステップ709)。ウェブクライアントから提供されたユーザー名を持つユーザーを照会するには、データベース内のすべてのユーザーと照合する。
このとき、データベースサーバー305は、ユーザー名の問い合わせを実行する(ステップ710)。データベースサーバー305は、ユーザー名クエリの結果をリバースプロキシサーバー301に返す(ステップ711参照)。ステップ712で、リバースプロキシ301は、データベースサーバー305によって提供される結果の数をチェックする。データベースにマッチがない場合、リバースプロキシサーバー301は、認証を停止する。リバースプロキシサーバー301は、ウェブブラウザ102によって提供されたデジタル署名の完全性をチェックする(ステップ713)。殆どの場合、この操作はデータベースサーバー305に格納されたハッシュに対して一連の文字または数字をチェックすることを中心に実行される。
図5を参照すると、一連のステップが実行される。ステップ714において、リバースプロキシサーバー301は、ウェブブラウザ102からの後続のリクエストを識別するためのセッションキーを作成する。セッションキーは、十分にランダムであると考えられる一連の文字および数字であり、第三者によって 本出願は、たとえば「l3e6u8s48xebnk1302d」のような値を使い、この値がセッションキー・アイコンとともに使用される図を示す。たとえば、数字の吹き出し115で示されるキーアイコンを参照のこと。
ステップ715において、リバースプロキシサーバー301は、ウェブブラウザ102のセッションキー、ブラウザエージェント、および起点IPアドレスをログに保存するために、クエリをデータベースサーバー305に送信する。これはブール代数値で実施できる。ブール代数値は、最初はfalseで、ユーザーがまだログアウトしていないことを示す。後で確認のために要求することが可能である。ステップ716において、データベースサーバー305は、ファイルシステムへの書き込み操作を実行する。ステップ717で、データベースサーバー305は、リバースプロキシサーバー301に確認応答を返す。この時点で、リバースプロキシサーバー301は、このアプリケーションが「セッション確認パッケージ」602と呼ぶものを作成する(ステップ718参照)。セッション確認パッケージ602は、JSONまたはXMLまたは同様のフォーマットのようなデータ構造であり、ステップ714からのウェブブラウザ102、ウェブブラウザのブラウザエージェント、およびセッションキー115の起点IPアドレスを格納し、ストリングを作成する後で解析が可能である。セッション確認パッケージのJSONの例を以下に示す。
```
`{
“ip_address” : “104.131.30.5”,
“session_key” : “l3e6u8s48xebnk1302d”,
“browser_agent” : “Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0”
}`
```
```
`{
“ip_address” : “104.131.30.5”,
“session_key” : “l3e6u8s48xebnk1302d”,
“browser_agent” : “Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0”
}`
```
ステップ719において、リバースプロキシサーバー301は、リバースプロキシサーバー301に格納されている共通キー604でセッション確認パッケージ602を暗号化し、暗号化確認パッケージ603を作成する。 たとえば、キー:37586153414011199397で暗号化されたステップ718のJSONテキストの例は、以下のテキストの結果になる。
```
B65A75841793DD4612D9CB3B1F8E1B5048B2A59144E11F10D3B13AC2CDE1CBFD
F317A4F9004D1CCBC6BFE47D758E85B011667741E4D31E35AE12154F69A491A8
2DB119001D4762C8D78BCB005B770379B82D1B6BC91DE27C019057BE3473B8E5
0BDEDC139BC754783E89284EA1636D9E4C799AE7656755528C4A7D752EFBE1CA
F390F2848F21CA4938C4DF2501B1975D9C2A362B45702858E3974F385E4CB4CB
D19712A8DB471C02
```
```
B65A75841793DD4612D9CB3B1F8E1B5048B2A59144E11F10D3B13AC2CDE1CBFD
F317A4F9004D1CCBC6BFE47D758E85B011667741E4D31E35AE12154F69A491A8
2DB119001D4762C8D78BCB005B770379B82D1B6BC91DE27C019057BE3473B8E5
0BDEDC139BC754783E89284EA1636D9E4C799AE7656755528C4A7D752EFBE1CA
F390F2848F21CA4938C4DF2501B1975D9C2A362B45702858E3974F385E4CB4CB
D19712A8DB471C02
```
ステップ720では、セッションキー601、および暗号化確認パッケージ603がウェブブラウザ102へのリダイレクト応答で返される。リダイレクト応答は、リバースプロキシサーバー301が有効なデジタル署名で認証されたことを示し、サーバーからのアプリケーションウェブブラウザ102は、セッションキー601と暗号化セッション確認パッケージ603をパーソナルコンピュータ101のファイルシステム103に保存する(ステップ721参照)。
ここで図面の図6を参照すると、一連のステップが実行される。ステップ722において、ウェブブラウザ102は、リバースプロキシサーバー301からのリダイレクト応答を認識し、それに応じてアドレスバー501を変更して、意図された位置の変化を示す。その後、ウェブブラウザ102は、ウェブアプリケーションを実行するために必要なファイルについてリバースプロキシサーバー301に要求(ステップ723)を送信する。セッションキー601と暗号化セッション確認パッケージ603がリクエストに含まれる。
ステップ724において、リバースプロキシサーバー301は、元のセッション確認パッケージ602を取り出すためにサーバー上に記憶された対称キー604を用いてセッション確認パッケージ603を暗号化する。リバースプロキシサーバー301は、アドレスの発信元IPが、セッション確認パッケージ602に含まれるIPアドレスの発信元IPと一致し、ブラウザエージェントが現在の要求のものと一致することを確認し、要求は、セッション確認パッケージ603内のものと一致する。これら3つの値のいずれかが異なる場合、逆プロキシサーバー301はエラー応答を返す。
リバースプロキシサーバー301は、その要求をアプリケーションサーバー303に転送する(ステップ725)。アプリケーションサーバー303は、要求されたファイルをサーバーのファイルシステムから読み出し(ステップ726)、リバースプロキシサーバー301への応答のファイルを返す(ステップ727)。次に、ステップ728において、リバースプロキシサーバー301は、ウェブブラウザ102への応答のファイルを返す。
図7を参照すると、一連のステップが実行される。ステップ729で、ウェブブラウザ102は、アプリケーションサーバー303から提供されたアプリケーション情報のファイルを解析しレンダリングする.102ウェブブラウザがファイルのレンダリングを終了して画面上に要素を表示すると(ステップ730)、ウェブブラウザ102はアプリケーションサーバー303によって提供されるスクリプトファイルを実行する。スクリプトが解析されて実行され始めると、ウェブブラウザ102はウェブソケット接続要求をリバースプロキシサーバー301に送信するよう指示される。
ウェブブラウザ102は、リバースプロキシサーバー301にウェブソケット接続要求を送信することに進む(ステップ731)。要求のheaderには、要求のheaderにあるセッションキー601と暗号化セッション確認パッケージ603が含まれる。ステップ732において、リバースプロキシサーバー301は、元のセッション確認パッケージ602を取り出すためにサーバー上に記憶された対称キー604を用いて暗号化セッション確認パッケージ603を暗号化する。リバースプロキシサーバー301は、アドレスの発信元IPが、セッション確認パッケージ602に含まれるIPアドレスの発信元IPと一致し、ブラウザエージェントが現在の要求のものと一致することを確認し、要求は、セッション確認パッケージ602内のものと一致する。これら3つの値のいずれかが異なる場合、逆プロキシサーバー301はエラー応答を返す。
次に、リバースプロキシサーバー301は、ウェブソケットサーバー302にリクエストを転送する(ステップ733)。ステップ734において、ウェブソケットサーバー302は、リクエストからセッションキー601を分離する。その後、ウェブソケットサーバー302は、セッションキー601がログアウトされたかどうかを確認するために、データベースサーバー305へのクエリを準備する。その後、データベースサーバー305はクエリを実行する(ステップ735)。データベースサーバー305は、クエリの結果を返す(ステップ736)。ステップ737において、ウェブソケットサーバー302は、セッションキー601がログアウトされていないことを確認する。現在の要求の起点およびブラウザエージェントのIPアドレスを、ステップ716でデータベースサーバーに格納されているものとともに現在の要求の二次照合のために二重にチェックする。
ここで図8を参照すると、一連のステップが実行される。ステップ738において、ウェブソケットサーバー302は、セッション検証キー605を生成する。セッション検証キー605は、元のセッションキー601と同様の構造である。それは第三者によって容易に偽造されないように、一連の文字と十分にランダムな数である。本出願は、個のセッション検証キー605に対して「VnpGSMNZEa3phHZEtNN3」のサンプル値を使用する。ステップ739において、ウェブソケットサーバー302は、セッションキー601、セッション検証キー605、ウェブブラウザ102のIPアドレス、ウェブブラウザ102のブラウザエージェントを保存する要求をデータストアサーバー304に送信する。
ステップ740において、データストアサーバー304は、ウェブソケットサーバー302から提供された情報をメモリに保存する。データストアは、セッションキー601をキーとして使用し、他の情報を値として提供する。セッションキー601がデータストアサーバー304に照会される場合と比べて、サーバーは以下の例示的な値を返す。
```
`{
“ip_address” : “104.131.30.5”,
“session_verification_key” : “VnpGSMNZEa3phHZEtNN3”,
“browser_agent” : “Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0”
}`
```
```
`{
“ip_address” : “104.131.30.5”,
“session_verification_key” : “VnpGSMNZEa3phHZEtNN3”,
“browser_agent” : “Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0”
}`
```
ステップ741において、データストアサーバー304は、確認応答をウェブソケットサーバー302に返す。ステップ742において、ウェブソケットサーバー302は、現在確立されているウェブソケット接続のすべてを反復し、セッション検証キー605を一致するセッションキー601と接続する。ウェブブラウザ102からの現在のウェブソケット要求が、現在確立されているウェブソケット接続のリストに追加される(ステップ743)。一致するセッションがステップ742で検出されない場合、ウェブソケットサーバー302はセッション検証キー605をリバースプロキシサーバー301に送信してウェブブラウザ102に転送する(ステップ744)。次いで、リバースプロキシサーバー301は、セッション検証キー605をウェブブラウザ102に転送する(ステップ745)。ウェブブラウザ102は、セッション検証キー605をファイルシステム103に格納する(ステップ746)。
ここで図面の図9を参照すると、さらなる一連のステップが実行される。ステップ747において、ウェブブラウザ102がセッション検証キー605を受信すると、データベース関連要求をアプリケーションサーバー303に送信することが許可される。たとえば、データベースから値のセットを取得し、データベースにアクセスする必要があり、またこれはユーザーを認可するためにそれが必要となる。ウェブブラウザ102は、アプリケーションによって要求される情報についてアプリケーションサーバー303に要求を送信する。
ステップ748において、リバースプロキシサーバー301は、元のセッション確認パッケージ602を取り出すためにサーバー上に記憶された対称キー604を用いて暗号化セッション確認パッケージ603を暗号化する。リバースプロキシサーバー301は、アドレスの発信元IPが、セッション確認パッケージ602に含まれるIPアドレスの発信元IPと一致し、ブラウザエージェントが現在の要求のものと一致することを確認し、要求は、セッション確認パッケージ602内のものと一致する。これら3つの値のいずれかが異なる場合、リバースプロキシサーバー301はエラー応答を返す。
ステップ749において、リバースプロキシサーバー301は、要求をアプリケーションサーバー303に転送し、アプリケーションサーバー303は、リクエストからセッションキー601を分離する(ステップ750)。データストアサーバー304に、 そこにセッションキー601が格納されている。データストアサーバー304は、ステップ740で格納された検索要求を実行する(ステップ751)。データストアサーバー304は、セッションキー601に関連するデータを返す(ステップ752)。ステップ753において、アプリケーションサーバー303は、データストアサーバー304から検索された情報を用いて現在の要求をチェックする。これらの値のいずれかがIPアドレス、セッション検証キー605、または存在しない場合、データストアサーバー304では、アプリケーションサーバー303はエラー応答を返す。
ステップ754で、アプリケーションサーバー303は、ステップ747で実行されたようにウェブブラウザ102によって要求されたデータを検索するためのデータベースクエリを準備し、データベースサーバー305に要求を送信する。データベースサーバー305は、アプリケーションサーバー303に送信する(ステップ755)。データベースサーバー305は、クエリの結果をアプリケーションサーバー303に返す(ステップ756)。アプリケーションサーバー303は、データベースサーバー305から返された結果を解析する(ステップ757)。アプリケーションサーバー303は、リバースプロキシサーバー301に応答を返す(ステップ758)。リバースプロキシサーバー301は、ウェブブラウザ102に応答を返す(ステップ759)。
ここで図面の図10〜13を参照すると、システム99からログアウトするプロセスを示す図が示される。図10に示すように、ステップ747からウェブブラウザ102によって要求されたhttp要求の結果が画面に表示される。この状態では、ウェブブラウザ102は認証されたと見なされ、ステップ747〜759(ステップ760参照)を繰り返すことによって、アプリケーションサーバー303に追加の要求を行うことができる。
図10には、セッションが終了するプロセスが示される。ユーザーは、アプリケーション内から「ログアウト」ボタン505をクリックする(ステップ761)。ウェブブラウザ102は、ウェブセッションサーバー302にセッションを終了する要求を送信する(ステップ762)。ステップ763において、リバースプロキシサーバー301は、元のセッション確認パッケージ602を取り出すためにサーバー上に記憶された対称キー604を用いて暗号化セッション確認パッケージ603を暗号化する。リバースプロキシサーバー301は、アドレスの発信元IPが、セッション確認パッケージ602に含まれるIPアドレスの発信元IPと一致し、ブラウザエージェントが現在の要求のものと一致することを確認し、要求は、セッション確認パッケージ602内のものと一致する。これら3つの値のいずれかが異なる場合、リバースプロキシサーバー301はエラー応答を返す。 次いで、リバースプロキシサーバー301は、要求をウェブソケットサーバー302に転送する(ステップ764)。この時点で、ウェブソケットサーバー302は、セッションキー601を要求headerから隔離する(ステップ765)。ウェブソケットサーバー302は、601セッションキーに関連する任意のデータを除去する要求をデータストアサーバー304に送信する(ステップ766)。データストアサーバー304は、セッションキー601に関連するデータをすべて削除する(ステップ767)。データストアサーバー304は、ウェブソケットサーバー302に確認を返す(ステップ768)。
ステップ769で、ウェブソケットサーバー302は、ステップ737において、601セッションキーを使用するための追加の要求が拒否されるように、セッション終了時間を記録する要求をデータベースサーバー305に送信する。データベースサーバー305は、クエリ(ステップ770)。データベースサーバー305は、確認応答をウェブソケットサーバー302に返す(ステップ771)。
図12において、ウェブソケットサーバー303は、接続されたウェブソケットのリストを同じセッションキー601で繰り返し、接続を閉じる(ステップ772)。ウェブソケットサーバー302は、リバースプロキシサーバー301にクローズソケット応答を送信する(ステップ773)。リバースプロキシサーバー301は、クローズソケット応答をウェブソケットサーバー302に転送する(ステップ774)。ウェブブラウザ102は、ウェブソケット接続クローズイベントを認識する(ステップ775)。
図13に見られるように、ウェブソケットサーバー302とのウェブソケット接続が閉じられると、アプリケーション内のスクリプトはウェブブラウザ102にURLロケーションを変更して、リバースプロキシサーバー301からのCookieの削除を要求するよう指示する(ステップ776)。ステップ777において、ウェブブラウザ102は、リクエストのheaderに601セッションキー、暗号化セッション確認パッケージ603及びセッション確認キー605を有するHTTPリクエストをリバースプロキシサーバー301に送信する。ステップ778で、リバースプロキシサーバー301は、ウェブブラウザ102への応答を準備して、セッションキー601、暗号化セッション確認パッケージ603およびセッション検証キー605をパーソナルコンピュータ101のファイルストレージ103から削除し、ウェブブラウザ102への応答を行う(ステップ779)。ウェブブラウザ102は、パーソナルコンピュータ101のファイルストレージ103からセッションキー601、暗号化セッション確認パッケージ603およびセッション検証キー605を削除する(ステップ780)。
ここで図面の図14〜16を参照すると、複数のセッションおよび複数の接続を有するシステム99の例示的な動作を示す図が示されている。より具体的には、図14、15および16は、セッション検証キー605の機能の明確化と、単一のウェブクライアントからの複数の接続から複数のセッションを許可する方法を提供するが、複数のホストまたは複数のウェブクライアントからは可能でない。図14は、セッション検証キー605を有する単一のコンピュータを認証するプロセスを示す。ここでの議論の目的のために、リバースプロキシサーバー301、ウェブソケットサーバー302、アプリケーションサーバー303、データストアサーバー304およびデータベースサーバー305、およびネットワーク401は一緒にグループ化され、単一のエンドポイント801と呼ばれる。ステップ731本アプリケーションでは、ウェブブラウザ102は、セッションキー601および暗号化セッション確認パッケージ603をエンドポイント801に送り、エンドポイント801は、現在の要求を有す唯一のウェブクライアントであるセッション検証キー605をウェブブラウザ102に返す。
図15に、本発明による同じコンピュータ上の別のブラウザタブを開く動作を示す。この図は、説明のために同じパーソナルコンピュータ101を2台のコンピュータとして描いている。左タブ506は、図13に示すウェブブラウザ102タブである。新しいタブ507が開かれると、ページ内のスクリプトは、本アプリケーションのステップ731で説明したように、エンドポイント801内のウェブソケットサーバー302に接続を試みる。
本アプリケーションのステップ742において、ウェブソケットサーバー302は、新しいセッション検証キー606を生成し、一致するセッションキー601を有する任意のクライアントに送信する。クライアントが存在する場合、ウェブソケットサーバー302は、要求を送信したウェブブラウザ102クライアントには、新しいセッション検証キー606を送信しない。
ステップ742において、エンドポイント801内のウェブソケットサーバー303は、既存の接続に新しいセッション検証キー606を送信する。元のタブ506と新しいタブ507は同じウェブブラウザ102上の同じ103のファイルシステムを共有するので、これは両方のタブが新しいセッション検証キー606で更新され、エンドポイント801内のアプリケーションサーバー303に関連するリクエストを送信する。
図16は、セッション確認キーの管理が他のコンピュータがセッションの乗っ取りをいかに防ぐかを示している。この図には、前の図15と同じタブ(506および507)が示されるが、全く新しいパーソナルコンピュータ151とウェブブラウザ152が追加されている。パーソナルコンピュータ151は、セッションキー601、暗号化セッション検証パッケージ603およびセッション検証キー605を得ることができた第三者のものであり、パーソナルコンピュータ101と同じネットワーク上にある。
前の図と同様に、ウェブブラウザ152は、本願のステップ731のウエブソケット・コネクションと同様にウエブソケット・コネクションを開始しようと試みる。IPv6ネットワークの場合、この要求は、パーソナルコンピュータ151のIPアドレスがパーソナルコンピュータ101のIPアドレスと異なるため、本アプリケーションのステップ732で失敗する。しかし、IPv4ネットワーク上では、これらのデバイスの両方とも同一のものとして認識される。
しかし、この場合、ウェブソケットサーバーは、本アプリケーションのステップ742に見られるように、新しいセッション検証キー606を生成し、それを既存の接続に送信し、データストアサーバー304内の関連データを更新して変更を反映する。パーソナルコンピュータ151とパーソナルコンピュータ101とが同じファイルシステムを共有しないため、これにより、ウェブブラウザ152は、アプリケーションサーバー303に要求を行う際に有効期限切れのセッション検証キー605で行うことになり、本出願のステップ753に示すようにサーバーへの要求は終了する。
図17を参照すると、ユーザーがアプリケーション内からログアウトしないがウェブブラウザ102自体を閉じるときにセッションが終了するプロセスが示されている。ステップ781で、閉じるブラウザボタン508がクリックされる。そして、ウェブブラウザ102が終了する。この時点で、ウェブブラウザ102は、サーバーが閉じるとウェブサーバー切断イベントをサーバーに送信する(ステップ782)。ステップ783から、リバースプロキシサーバー301は、元のセッション確認パッケージ602を取り出すためにサーバー上に記憶された対称キー604でセッション確認パッケージ603を暗号化する。リバースプロキシサーバー301は、アドレスの発信元IPが、セッション確認パッケージ602に含まれるIPアドレスの発信元IPと一致し、ブラウザエージェントが現在の要求のものと一致することを確認し、要求は、セッション確認パッケージ602内のものと一致する。これら3つの値のいずれかが異なる場合、リバースプロキシサーバー301はエラー応答を返す。リバースプロキシサーバー301は、クローズソケットイベントをウェブソケットサーバー302に転送する(ステップ784)。ウェブソケットサーバー302は、要求によりセッションキー601を隔離する(ステップ785)。
ステップ786において、ウェブソケットサーバー302は、現在アクティブなソケット接続のリストを反復して、現在の切断された接続が所定のセッションキー601に対する最後の接続であるかどうかをチェックする。ステップ787で、切断されたウェブソケットが実際に関連するセッションキー601に最後に接続されている場合、ウェブソケットサーバー302は、セッションキー601に関する任意の関連データを削除するようにデータストアサーバー304に要求する。データストアサーバー304は、削除要求を実行する(ステップ788)。データストアサーバー304は、ウェブソケットサーバー302に確認要求を返す(ステップ789)。
この技術は、ネットワークを介して情報の配布を保証するために、検証の目的で二重の保護層を提供する能力を少なくとも含む以前の先行技術に対して多くの利点を有する。
本明細書の中で用いられる符号の説明は、以下の通りである:
101・・・パーソナルコンピュータ
102・・・ブラウザ
103・・・ファイルシステム
201・・・インターネット
301・・・リバースプロキシサーバー
302・・・ウェブソケットサーバー
303・・・アプリケーションサーバー
304・・・データストアサーバー
305・・・データベースサーバー
401・・・内部ネットワーク
501・・・アドレスバー
502・・・ユーザー名入力フィールド
503・・・パスワード入力フィールド
504・・・フォーム提出フィールド
505・・・ログアウトボタン
506・・・左タブ
507・・・右タブ
508・・・閉じるボタン
601・・・セッションキー
602・・・セッション確認パッケージ
603・・・暗号化されたセッション確認パッケージ
604・・・対称キー
605・・・セッション確認キー
606・・・新しいセッション確認キー
101・・・パーソナルコンピュータ
102・・・ブラウザ
103・・・ファイルシステム
201・・・インターネット
301・・・リバースプロキシサーバー
302・・・ウェブソケットサーバー
303・・・アプリケーションサーバー
304・・・データストアサーバー
305・・・データベースサーバー
401・・・内部ネットワーク
501・・・アドレスバー
502・・・ユーザー名入力フィールド
503・・・パスワード入力フィールド
504・・・フォーム提出フィールド
505・・・ログアウトボタン
506・・・左タブ
507・・・右タブ
508・・・閉じるボタン
601・・・セッションキー
602・・・セッション確認パッケージ
603・・・暗号化されたセッション確認パッケージ
604・・・対称キー
605・・・セッション確認キー
606・・・新しいセッション確認キー
上述した特定の実施形態は例示的なものに過ぎず、具体化によって恩恵をこうむる事業者には明らかであるが、開示された厳密な形態のみに本発明を限定するものではない。したがって、上に開示された特定の実施形態は、変更または修正されてもよく、そのような変形形態はすべて、本出願の範囲および趣旨内にあると考えられることは明らかである。 従って、本明細書で求められる保護の範囲は、明細書に記載されている通りである。重要な利点を有するアプリケーションが説明され図示されていることは明らかである。本願は限られた数の形態で示されているが、これらの形態に限定されるものではなく、その精神から逸脱することなく様々な変更および改変が可能である。
Claims (15)
- ネットワーク経由の要求の起点(の正当性)を検証するために、下記を有するシステム。
ネットワークを介してデータを検索し、処理し、送信するために構成されたプロセッサ、メモリ記憶装置、入力/出力インタフェースと、を有するパーソナル電子装置と、
ネットワークを介して前記パーソナル電子装置と通信する1つまたは複数のデータベースと、
ネットワークを介してパーソナル電子デバイスと通信する1台または複数台のサーバーであって、前記1つまたは複数のデータベースとの間で情報の送信を制御し、継続して利用するユーザーを特定するために、一意的なセッションIDを生成する1台または複数台のサーバーと、
IPアドレス、セッションID、およびブラウザエージェント、1つまたは複数のデータベース上のファイルへのアクセスを制限するために構成された1台または複数のサーバーによって生成され、ネットワークを介して1台または複数のサーバーと、1つまたは複数のデータベースへの継続的なアクセスを保証する一意性を識別するセッション確認パッケージ。 - 前記の一意性を識別するセッション確認パッケージは暗号化されていることを特徴とする請求項1に記載のシステム。
- 前記の一意性を識別するセッション確認パッケージが前記1つ以上のサーバーに格納される、請求項1に記載のシステム。
- 前記の一意性を識別するセッション確認パッケージが前記パーソナル電子装置に送信される、請求項1に記載のシステム。
- 前記サーバー上の情報へのアクセスが、前記セッションIDおよび前記一意性を識別するセッション確認パッケージの検証を必要とする、請求項1に記載のシステム。
- 前記1つまたは複数のサーバーおよび1つまたは複数のデータベースは、セッション検証を生成するように構成されている、請求項1に記載のシステム
- 前記1つまたは複数のサーバーは、前記セッションIDおよび前記一意性を識別するセッション確認パッケージの検証に基づいてセッション検証キーを生成するように構成されている、請求項1に記載のシステム。
- 前記セッション検証キーは、前記ネットワーク内で、前記セッション確認パッケージおよび前記セッションIDの後に生成される、請求項7に記載のシステム。
- ネットワークを介してサーバー、データベース、およびパーソナル電子デバイスを有するリクエストの起点を検証する方法であって、
前記個人電子装置から前記サーバーにユーザー識別データを送信するステップと、
前記サーバーと前記データベースとの間で前記ユーザー識別データを認証し、前記個人電子デバイスに認証を返送するステップと、
前記ネットワーク上のコンピュータセッションを識別するために前記サーバー上にセッションIDを作成するステップと、
前記IPアドレスに関連するデータと、
前記パーソナル電子デバイスによって使用されるブラウザエージェントと、
前記セッションIDと、を含むセッション確認パッケージを形成するステップと、
セッション確認パッケージを一意のサーバーキーから暗号化するステップと、
そしてセッションIDおよびセッション確認パッケージをパーソナル電子デバイスに返すステップと、
前記ユーザーおよび個人用電子機器の識別は、セッションIDおよびセッション確認パッケージが特定のIPアドレスと一致することを検証することと、
セッションIDがセッション確認パッケージ内のセッションIDと一致することを検証することとを含む。 - 請求項9に記載の方法であって、
特定のユーザーおよびパーソナル電子デバイスを識別するために使用されるセッション検証鍵を生成する。 - 前記セッション検証キーは、前記ネットワーク内で、前記セッション確認パッケージおよび前記セッションIDの後に生成される、請求項10に記載の方法。
- 前記セッション検証キーは、前記パーソナル電子デバイスが前記ネットワークを介して前記サーバーにアクセスするときに生成される、請求項10に記載の方法。
- 前記セッション検証キーは、前記ネットワーク上の前記個人用電子デバイスのアクセス時に更新されることを特徴とする請求項10に記載の方法。
- セッション検証鍵は、第三者の電子デバイスが、セッションID、セッション確認パッケージ、およびセッション検証キーを使用してネットワークを介して情報にアクセスしようとしたときに、既にネットワーク上に存在する既存のパーソナル電子デバイス上で更新される請求項13に記載の方法。
- 前記第三者の電子デバイスは、古いセッション検証キーを保持する、請求項14に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/581,685 | 2017-04-28 | ||
| US15/581,685 US20180316689A1 (en) | 2017-04-28 | 2017-04-28 | System and heuristics for verifying origin of request |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018190378A true JP2018190378A (ja) | 2018-11-29 |
Family
ID=63916951
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017249377A Pending JP2018190378A (ja) | 2017-04-28 | 2017-12-26 | システム、プログラム、およびヒューリスティック |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20180316689A1 (ja) |
| JP (1) | JP2018190378A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115914334B (zh) * | 2022-12-05 | 2024-11-26 | 中国工商银行股份有限公司 | 数据库的访问会话处理方法、装置、设备及介质 |
| CN118573478B (zh) * | 2024-07-31 | 2024-12-06 | 恒生电子股份有限公司 | 访问验证系统、方法及装置 |
-
2017
- 2017-04-28 US US15/581,685 patent/US20180316689A1/en not_active Abandoned
- 2017-12-26 JP JP2017249377A patent/JP2018190378A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20180316689A1 (en) | 2018-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8490165B2 (en) | Restoring secure sessions | |
| US8640202B2 (en) | Synchronizing user sessions in a session environment having multiple web services | |
| US8572268B2 (en) | Managing secure sessions | |
| CN105007280B (zh) | 一种应用登录方法和装置 | |
| US7827318B2 (en) | User enrollment in an e-community | |
| US10212173B2 (en) | Deterministic reproduction of client/server computer state or output sent to one or more client computers | |
| TWI659313B (zh) | Automatic login method and device between multiple websites | |
| CN100511203C (zh) | 数据库访问控制方法、控制装置及代理处理服务器装置 | |
| JP6656157B2 (ja) | ネットワーク接続自動化 | |
| US10778668B2 (en) | HTTP session validation module | |
| US20040059941A1 (en) | Systems and methods for identifying users and providing access to information in a network environment | |
| CN112035215A (zh) | 节点集群的节点自治方法、系统、装置及电子设备 | |
| CN113678131B (zh) | 使用区块链保护在线应用程序和网页 | |
| US20110296038A1 (en) | System and method for continuation of a web session | |
| CN104094269A (zh) | 高效扼流用户认证 | |
| JP2005516533A (ja) | パブリックキー暗号法を用いたインターネット上でのシングルサインオン | |
| JP2005538434A (ja) | 連携型(フェデレーテッド)環境におけるユーザ判定による認証のための方法およびシステム | |
| CN107872455A (zh) | 一种跨域单点登录系统及其方法 | |
| CN107483495A (zh) | 一种大数据集群主机管理方法、管理系统及服务端 | |
| JPWO2006073008A1 (ja) | ネットワークカメラへのログイン認証システム | |
| JP2018190378A (ja) | システム、プログラム、およびヒューリスティック | |
| JP2008015733A (ja) | ログ管理計算機 | |
| US12261966B1 (en) | Systems and methods for server-based trust store discovery | |
| CN116132157A (zh) | 基于网页元素可见性校验的请求防篡改方法及装置 | |
| CN113965357A (zh) | 跨域网站登录状态同步方法、电子设备及存储介质 |