JP2012528411A - 非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法 - Google Patents

非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法 Download PDF

Info

Publication number
JP2012528411A
JP2012528411A JP2012513318A JP2012513318A JP2012528411A JP 2012528411 A JP2012528411 A JP 2012528411A JP 2012513318 A JP2012513318 A JP 2012513318A JP 2012513318 A JP2012513318 A JP 2012513318A JP 2012528411 A JP2012528411 A JP 2012528411A
Authority
JP
Japan
Prior art keywords
secure token
web
client
gateway server
token
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
Application number
JP2012513318A
Other languages
English (en)
Inventor
ジョン アール ファロウズ
フランク サリム
Original Assignee
カージング コーポレーション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by カージング コーポレーション filed Critical カージング コーポレーション
Publication of JP2012528411A publication Critical patent/JP2012528411A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

ゲートウェイサーバーが、クライアント及びリモートサーバーシステムと相互に動作して、分散化されたウエブアプリケーションのための状態非依存型管理を提供する。クライアントアプリケーションに対応するローカル記憶部内に安全なトークンが存在していない場合には、ウエブブラウザクライアントのユーザへ向けられた認証チャレンジを実行することによって、クライアントシステム上のウエブクライアントアプリケーションが、リモートウエブサービスへ向けられたウエブソケット接続を開始する。認証チャレンジは、ユーザ信用証明を取得し、ユーザ信用証明を安全なトークン用のゲートウェイサーバーと交換する。次いで、この安全なトークンはプロトコル専用接続メッセージの形でゲートウェイサーバーへ送信される。ゲートウェイサーバーは、接続メッセージの受信に応答して、この接続メッセージを検査することにより、リモートウエブサービスへ向けられたウエブソケット接続を開始して、安全なトークンを回復し、この安全なトークンを評価して、ユーザ信用証明を取得し、このユーザ信用証明を安全なトークンに挿入し、上記接続メッセージをリモートウエブサービスへ送信する。
【選択図】図4

Description

〔関連出願との相互参照〕
本出願は、2009年5月28日出願の米国仮出願第61/181,924号の利益を主張するものである。
本発明は一般に、非HTTPプロトコルを用いて通信を行うウエブアプリケーションクライアントとサーバーとの間で安全性の保証された接続を確立することに関し、特に、非HTTP通信プロトコルを用いるリモートサーバーベースのウエブサービスと接続するウエブブラウザベースのウエブアプリケーションクライアントに対してサポートを行う、ゲートウェイサーバー介在安全性認証及び信用証明管理システムに関する。
ウエブベース技術の現在進行中の開発の実質的な態様は、分散化され、ネットワーク化されたアプリケーションに対するサポートを増加させることに向けられている。この努力が、ウエブブラウザベースのクライアントアプリケーションと、このウエブブラウザベースのクライアントアプリケーションに対して遠隔地に配置されているサーバーシステム上で提供されるウエブサービスとの間で双方向データ送信を行うための、接続用のベースとして、WebSockets(ウエブソケット)の開発をもたらした。
分散化されたネットワークアプリケーションは、通常、対応するサービスアプリケーションを実行するサーバーシステムとの永続的な双方向接続を通じて理想的に通信を行う専用アプリケーションを、クライアントが実行するようになった、クライアントサーバーモデルを用いるものとして構成される。接続の初期化中に認証のための信用証明がクライアントから供給される。この認証は、クライアントアプリケーションが、接続を解除するか又は他の方法で遮断するまで持続する。接続が作動可能な状態にある間は、クライアントとサーバーは、提供するサービス及び交換されるデータの性質にとって最も適切なプロトコルを用いて通信を行う。
しかし、従来のウエブブラウザクライアントは、ページ及びHTTPプロトコル向けのものである。設計上、従来のウエブブラウザは、クライアントが1つのページから別のページへ移行するときは常に、既存のローカル状態を破棄する。何らかの関連を有する認証データを含む接続が、文書又はページ向けのローカル状態として保持される。したがって、ページ移行の自然の結果として、現行の接続が終了することになる。従来のウエブブラウザのクライアントにより、非ページ状態データをクッキーとして記憶することもできる。これらのクッキーは、サーバーシステムにより割り当てられ、これらのクッキーを操作して、サーバー定義セッションの持続のために必要となる認証済み接続の自律的復元を可能にする情報を記憶することが可能である。このようにしてセッションクッキーにアクセスし、操作することは、従来のウエブブラウザクライアントによって本来的にサポートされているHTTPプロトコルの使用に、事実上限定される。ウエブソケットのプロトコルは、ウエブソケット接続が確立される最初の接続段階中に通常のHTTPクッキーの送信を可能にするものではあるが、ウエブソケットの接続上でホストされるさらに高レベルのプロトコルは、これらのクッキーにアクセスしたり、該クッキーを使用したりすることはできない。
したがって、ウエブブラウザクライアントの通常の動作上の性質に適応する状態を安全確実な形で機能的に維持しながら、ウエブブラウザクライアントとサーバーアプリケーションの間でウエブソケット接続及び他の非HTTPプロトコル接続を利用できるようにするシステム及び方法に対する必要性が存在する。
従って、本発明の一般的目的は、ウエブブラウザクライアントが、ウエブソケット接続及びその他の非HTTPプロトコル接続に関係する状態情報を安全確実に確立し、管理することを可能にするシステム及び方法を提供することである。
本発明においては、上記目的は、クライアントシステム及びリモートサーバーシステムと相互に動作して、分散化されたウエブアプリケーションに対する状態非依存型安全性管理を行うゲートウェイサーバーを提供することによって達成される。クライアントシステム上のウエブクライアントアプリケーションは、該クライアントアプリケーションに対応するローカル記憶個所内に安全管理されたトークンが存在しないウエブブラウザクライアントのユーザに向けて、認証問合せを行って、安全管理されたトークンを取得し、次いで、ゲートウエイサーバーとの間でユーザ信用証明を交換する。次いで、この安全管理されたトークンは、プロトコル専用接続メッセージの中に含めてゲートウェイサーバーへ送信される。該ゲートウェイサーバーは、この接続メッセージの受信に応答して、該接続メッセージを検査することにより、リモートウエブサービスに向けられたウエブソケット接続を開始して、安全管理されたトークンを回復し、この安全管理されたトークンを評価して、ユーザ信用証明を取得し、このユーザ信用証明を安全管理されたトークンに導入し、該接続メッセージをリモートウエブサービスへ送信する。
本発明の利点は、種々のプロトコルを用いて、特に、ウエブソケットの接続上でホストされる非HTTPプロトコルを含む意味での種々のプロトコルを用いて、リモートウエブサービスとの認証済みの接続を維持するために、ユーザ信用証明の管理及び利用を効率的に行うことが可能になるという点である。
本発明の別の利点は、多くのエラー及び失敗のシナリオの下で管理が困難になる状態依存性のユーザ情報が、本発明と関連して利用されるゲートウェイサーバーにとって負担にならないという点である。クライアントシステムとゲートウェイシステムとの間での連携関係を通じての状態依存性の情報の管理は、有効かつ安全であり、ゲートウェイサーバーにおけるメモリ及びCPUの必要性を減らし、そのため、性能及び規模特性を高めることになる。さらに、ゲートウェイサーバーとの連携関係によって、種々の標準認証システムに対する単一のインタフェースとして、クライアントシステムがゲートウェイサーバーを利用できるようになり、これによってクライアントシステムの管理が単純化される。
本発明の更なる利点は、クライアントシステムが、ウエブブラウザベースのクライアントアプリケーションを実行すると共に、通常のウエブブラウザの安全管理モデル内の状態情報を保持するという点である。クライアントシステム上での状態情報の格納を、格段に安全管理されたものとする一方で、ゲートウェイサーバーと連携する認証関係が、本質的な認証情報を、通常のクライアントシステムに記憶されるとき及び通常のウエブブラウザの安全管理モデル内に記憶されるときでさえも、安全確実な状態のままとすることを保証する。ゲートウェイサーバーとの間で連携したこの認証関係を実現するのに必要な通信は、最低限のものとなる。認証状態を確立する基礎として使用される安全認証証明は、ウエブブラウザの再開及びセッションの終了にかかわらず存続できるように、ローカルにかつ永続的に記憶される。
本発明のさらに別の利点は、ゲートウェイサーバーと連携する認証関係がウエブソケットプロトコルレベルで有効に確立され、固有のドメイン制約を伴うことなく認証接続の確立が可能になるという点である。認証がウエブクライアントアプリケーションのサイトに関係して制約を受ける一方で、ゲートウェイサーバーのドメイン及び接続されたウエブサービスのドメインに関係するいかなる制約も、ゲートウェイサーバーが実行するサービスアクセス制御により決定されることになる。このサービスアクセス制御は、管理された形で構成される。
本発明の好ましい実施形態のための好ましい動作環境を概略的に示す図である。 分散化されたクライアント/サーバーウエブアプリケーションの実行時における本発明の好ましい実施形態を実現するのに適した好ましいクライアント/サーバーシステムを示すブロック図である。 本発明の好ましい実施形態に従って、分散されたクライアント/サーバーウエブアプリケーションと連携してクライアント側アプリケーションを実行するために構成されたウエブブラウザクライアントを示す詳細なブロック図を提示する。 本発明の好ましい実施形態において実装された状態におけるゲートウェイサーバーの好ましい実装構成を示すブロック図を提示する。 本発明の好ましい実施形態によるウエブサービスネットワーク接続を確立する際のウエブブラウザクライアントアプリケーションの初期化及び実行を示すシーケンス図である。 本発明の好ましい実施形態によるウエブサービスネットワーク接続を確立する際のウエブブラウザクライアントアプリケーションの初期化及び実行をさらに詳述するシーケンス図である。 本発明の好ましい実施形態で使用するための認証トークンを作成する好ましい処理を示すフローチャートである。
本発明は、ウエブブラウザクライアントと遠隔ウエブサービスとの間でリアルタイムにデータを交換しながら、安全な通信チャネルを効率的に認証し、このチャネルを維持するための、分散化されたウエブアプリケーションに対するサポートを提供するものである。本発明の好ましい実施形態は、中間安全管理マネジャとしてゲートウェイサーバーを利用する。また、このゲートウェイサーバーは、好適には、本願の譲受人に譲受されている2010年4月30日出願の、同時継続中の出願「ウエブソケット通信の分散化されたエミュレーションを通じてウエブアプリケーションのサポートを提供するエンタープライズクライアントサーバーシステム及び方法」に記載されている機能も実装することが望ましい。上記出願は、引用により本願に組み込まれる。要約すると、この組み込まれた出願に記載のゲートウェイサーバーは、リモートサーバーシステムによりホストされる、ウエブブラウザベースのクライアントアプリケーションとデータサービスとの間において、ソケット指向の双方向リアルタイム通信を可能にするものである。本発明についての以下の詳細な説明において、1又はそれ以上の図に描かれている同様の部分を示すために同じ参照番号を用いるものとする。
分散化されたウエブアプリケーションの実行を表す本発明10の好ましい動作環境が、図1に全体的に示されている。従来のクライアントシステム12、14は、公衆インターネット、民間イントラネット、その他の通信ネットワーク16を介して1又はそれ以上のリモートサーバーシステム18、20、22へのアクセスを動作的に行うウエブブラウザベースのクライアントアプリケーションを実行して、双方向でのリアルタイム情報の要求及び受信を行う。典型的な事例では、クライアントシステム12により実行され、ウエブブラウザクライアントを通じて行われる情報要求は、最初は一次サーバーすなわちソースサーバー18へ向けられ、次いで、必要に応じて、他の二次サーバー20、22との間で、リアルタイムの双方向情報送信接続が確立される。例えば、ソースサーバー18からウエブページを要求してもよく、このソースサーバー18は、配信ページを示すユーザインタフェース表示内の適正な指定ウインドウエリア内において、ニュースソースサーバー20から得られるリアルタイムのニュース記事と、株情報サーバー22から得られる株価情報とを提示する。本発明の実施及び利用を通じて、クライアントアプリケーションの実行時にウエブブラウザクライアントのコンテキスト内において生じ得るページ移行の間、上記のような情報送信接続を効果的に継続することが可能となる。すなわち、HTTP接続の基礎をなす切断の結果として、能動的ウエブソケット接続が突然終了するが、本発明は、ウエブブラウザクライアントのエンドユーザに対する明らかな中断を伴うことなく、接続の選択的復元を可能にするのに十分なウエブソケット接続レベルで、接続情報の保持及び管理を提供する。
本発明によれば、ウエブブラウザクライアントアプリケーションとリモートウエブサービス間で最終的に確立されるウエブソケット接続の管理に参加するためのゲートウェイサービスが提供される。図2に示されているように、本発明のこの好ましいシステムアーキテクチャ30は、クライアントコンピュータシステム32が双方向のウエブソケット接続34、36を介してゲートウェイサーバー38と通信することを可能にする。別個の双方向のウエブソケット接続部40、42及び44、46が、それぞれをホストしているウエブサービスにアクセスするのに適切なように、ゲートウェイサーバー38をリモートサーバー48、50に接続する。ゲートウェイサーバー38は、複数のクライアントシステム32が複数のリモートウエブサービスにアクセスするのを同時にサポートすることができ、リモートサーバー48、50の各々は、複数のウエブサービスを提供することができる。代替的な実施形態では、ゲートウェイサーバー38は、クライアントシステム32にアクセス可能なウエブサービスを、ローカルに実現することも可能である。ゲートウェイサーバーは、LDAP、Kerberos、Java(登録商標)認証及び認可サービス(JAAS)、或いは、別の標準に基づく信用証明サービスを実行して、直接的に又は外部認証サーバー52のサポートを得るか、のいずれかにより、認証サービスを実行することが好ましい。
ゲートウェイサーバー38は、ウエブソケット接続を管理する際に、システム32のために多数の機能を実行する。これらの機能には、認証トークンの鍵リングをウエブブラウザクライアントアプリケーションと協調して管理することと、ゲートウェイサーバー38を通される選択プロトコル専用データパケットに対して安全性強化プロキシ処理を行うことと、単一のプロトコル及び1又はそれ以上のリモートサービスにより提供される複数の選択的サービスに適用可能な複数のプロトコルのためのクライアントユーザ認証サービスを行うこととが含まれる。これらの機能を実現するに際して、ゲートウェイサーバー38は、ゲートウェイサーバー38内を通過するプロトコルデータパケットの選択的変更に対して責任を負う。これらの好ましい実施形態において、ゲートウェイサーバー38は、リモートサーバー48、50へ送信されるプロトコルデータパケット内に安全性証明を選択的に挿入するように動作する。選択的に返信されるプロトコルデータパケット内に安全性証明トークンが挿入される。現在のところ好ましい実施形態において実現されているように、クライアントシステム32により記憶されている信用証明トークンは、改竄及び悪用に対して安全性を確保するのに効果的なものとなる。安全性証明がゲートウェイサーバー38上に存在しているのに対して、これらの信用証明は単に一時的に存在しているにすぎず、そのため、改竄及び悪用に対して同様に安全確実なものとなる。クライアントシステム32及びゲートウェイサーバー38は、一緒になって相互に動作し、クライアント32とリモートサーバーシステム48、50との間でのリアルタイム通信における安全確実なユーザ特定と認証を効率的にサポートするものとなる。
さらに詳細なシステムについての実施形態60が図3に示されている。この好ましい実施形態では、エンドユーザの行為に応答して、ウエブブラウザクライアントアプリケーション62がクライアントシステム32上で実行される。典型的には、エンドユーザの入力に基づいて、ウエブクライアントアプリケーション64を含むウエブページがリモートアプリケーションソースサーバー66からロードされる。本発明の好ましい実施形態では、ウエブクライアントアプリケーション64は、ウエブソケットライブラリ68をロードすることを含むか、あるいは、このロードに対して責任を負う。前述の組み込まれた同時継続中の出願にさらに詳述されているように、ウエブソケットライブラリ68は、preHTML5対応ウエブブラウザクライアントアプリケーション62用としてエミュレートされたウエブソケットサービスを提供し、必要に応じて、preHTML5に対応すると共に、HTML5に完全に対応するウエブブラウザクライアント62の双方のためのプロトコル専用クライアントライブラリも同様に提供する。
ウエブソケットクライアントライブラリ68のいずれかの特定の配信に含まれている特定セットのクライアントプロトコルライブラリは、典型的には、ウエブクライアントアプリケーション64の開発者による設計時の選択、あるいは、ウエブクライアントアプリケーション64の開発者のために行われる設計時の選択に依存する。ウエブクライアントアプリケーション64が採用される場合には、該ウエブクライアントアプリケーション64は、ウエブブラウザクライアント62のインスタンスによりロードを行うために、ウエブソケットライブラリ68の特定の事例を指定することが好ましい。ウエブクライアントアプリケーション64を実行する際に、ウエブソケットライブラリ68を利用して、ゲートウェイサーバー38用のウエブソケット接続が確立される。例えば遠隔サーバー48上でホストされているもののような、遠隔的にホストされているリモートサービス70に対して、ウエブクライアントアプリケーション64対応する接続が行われる。
鍵リングライブラリが、ウエブソケットライブラリ68内に含まれるか、或いは、ウエブソケットライブラリ68と組み合わされて交互に検索されることが好ましい。該鍵リングライブラリは、ウエブクライアントアプリケーション64により利用され、ローカルストア72の1又はそれ以上の事例が確立される。この鍵リングライブラリは、ローカルストア72事例内において鍵リングのデータ構造を確立するための、及び、鍵リングのデータ構造にアクセスするための、鍵を発見し、鍵を追加し、鍵リングのデータ構造から鍵を除去することを含む機能を提供することによって、ウエブクライアントアプリケーション64をさらにサポートする。ウエブソケットライブラリ68が、HTTP5対応ウエブブラウザクライアントアプリケーション62の固有のウエブソケット能力を用いるものであるか、或いは、プレHTTP5対応ウエブブラウザクライアントアプリケーション62用としてエミュレートされたウエブソケット能力を提供するものであるかどうかに関わらず、上記鍵リングライブラリは、ウエブソケットライブラリ68と組み合わされてウエブクライアントアプリケーション64により利用され、安全確実な鍵管理機能を提供することが好ましい。
本発明の好ましい実施形態では、チャットセッションをサポートしたり、リアルタイムのデータフィードを表示したりする特定用途のために、ウエブクライアントアプリケーション64が設計され、開発される。ウエブクライアントアプリケーション64の意図された用途に個々に適合するように、個々のウエブクライアントアプリケーション64は、通信プロトコルの種類を示す識別子、鍵リングデータ構造名、ゲートウェイサーバー識別子、及びリモートウエブサービス識別子によって最初にコード化される。本発明の現在のところ好ましい実施形態では、ゲートウェイ識別子とリモートウエブサービス識別子とは、URL及びポート値として一体にコード化される。この情報は、ウエブクライアントアプリケーション64が、特定されたウエブサービスに達するのに適合したゲートウェイサーバー38へ送信を行うための適切で安全なトークンの選択を行うのに十分な情報である。本発明の別の実施形態では、負荷バランスのような目的のために、ゲートウェイサーバー38によってウエブサービス識別子をさらに分析して、同等のウエブサービス70を提供する複数のウエブサーバーの中からリモートサーバー48及びウエブサービス70を選択できるようにしてもよい。
図4を参照すると、ゲートウェイサーバー38の実装のための好ましい構成80が示されている。これらの好ましい実施形態では、クライアントシステム32とリモートサーバー48、50との間でネットワーク接続をサポートするように構成された従来のウエブサーバーシステム上に、ゲートウェイサーバー38が実装される。機能的には、クライアントネットワークインタフェース82が、ウエブブラウザクライアントアプリケーション64を用いてネットワーク接続84をサポートする。サーバーネットワークインタフェース86が、リモートサーバー48、50及び認証サーバー52を用いてネットワーク接続をサポートする。同じ又は別の物理的ネットワークインタフェースコントローラを用いて、クライアント及びサーバーのネットワークインタフェース82、86を実装してもよい。
認証制御プロセッサ90及び関連するパケットプロセッサ92、94、96、98は、ゲートウェイサーバー38により実行されるアプリケーションサーバー内でホストされたイベント駆動モジュールとして実現されることが好ましい。この好ましい実施形態の実現にあたって、Apache Minaネットワークアプリケーションのフレームワークが用いられる。クライアントの認可及びプロトコルデータパケットの処理動作を管理する際に、認証制御プロセッサ90が中央制御装置として機能するようにすることが好ましい。クライアントパケット検査プロセッサ92は、管理対象プロトコルに関連する着信データパケットを監視し、次いで、検査済みデータパケットと関連するプロトコルの状態及び接続状態を、認証制御プロセッサ90へ選択的に報告する。プロトコルにより定義されたデータパケット構造に適合した信用証明を含むようにするために、信用証明挿入プロセッサ94は選択したデータパケットの挿入又は書き換えに対して責任を負う。ゲートウェイサーバー38へローカルに記憶された管理上確立されたサービスアクセス制御構成の評価に好適には基づいて、挿入された信用証明が認証制御プロセッサ90により提供されることが望ましい。トークンストアサービスアクセス制御構成を示す例が表1に提示されている。
表1サービスアクセス制御構成(トークン)

<!-- Information about the session service itself -->
<session>
<!-- Configure HTTP authentication -->
<authentication-scheme>Basic</authentication-scheme>

<!-- Server realm against which credentials are authenticated-->
<realm-name>stompRealm</realm-name>
</session>

<!-- Security configuration -->
<security>
<realm>
<name>stompRealm</name>
<!-- This realm checks against an LDAP-based login-module element -->
<login-module>
<type>ldap</type>
<success>required</success>
<options>
<userProvider>
ldap://ldap-svr/ou=people,dc=example,dc=com
</userProvider>
<userFilter>
(&amp;(uid={USERNAME})(objectClass=inetOrgPerson))
</userFilter>
<authzIdentity>{EMPLOYEENUMBER}</authzIdentity>
</options>
</login-module>
</realm>
</security>

<!-- Declaration of the actual keyring service, ie where the keyring connects to -->
<service>
<accept>https://localhost:9000/keyring</accept>
<type>keyring</type>
<auth-constraint>
<require-role>AUTHORIZED</require-role>
</auth-constraint>
</service>

<!-- Declaration of the STOMP service -->
<service>
<!-- Protocol identifier is type "stomp"; service identifier is 9000 -->
<accept>wss://example.com:9000/stomp</accept>
<connect>tcp://stompserver.com:61613</connect>
<type>stomp.proxy</type>
セッションストアサービスアクセス制御構成を示す例が表2に提示されている。
表2サービスアクセス制御構成(セッション)

<!-- Information about the session service itself -->
<session>
<!-- Domains to which the cookie will be attached -->
<service-domain>.example.com</service-domain>

<!-- Configure HTTP authentication -->
<authentication-scheme>Basic</authentication-scheme>

<!-- Server realm against which credentials are authenticated-->
<realm-name>stompRealm</realm-name>

<!-- Configure the session cookie -->
<!-- Name of the key used to encrypt the session cookie -->
<encryption-key-alias>session</encryption-key-alias>
<!-- How often should the cookie auto-refresh -->
<inactivity-timeout>1800</inactivity-timeout>
</session>

<!-- Security configuration -->
<security>
<realm>
<name>stompRealm</name>
<!-- This realm checks against an LDAP-based login-module element -->
<login-module>
<type>ldap</type>
<success>required</success>
<options>
<userProvider>
ldap://ldap-svr/ou=people,dc=example,dc=com
</userProvider>
<userFilter>
(&amp;(uid={USERNAME})(objectClass=inetOrgPerson))
</userFilter>
<authzIdentity>{EMPLOYEENUMBER}</authzIdentity>
</options>
</login-module>
</realm>
</security>

<!-- Defines where the session service is located. The keyring connects to this location. -->
<service>
<accept>https://www.example.com/session</accept>
<type>session</type>
<!-- Users role constraint -->
<auth-constraint>
<require-role>AUTHENTICATED</require-role>
</auth-constraint>
</service>

<!-- Finally, declaration of the STOMP service -->
<service>
<!-- Protocol identifier is type "stomp"; service identifier is 9000 -->
<accept>wss://example.com:9000/stomp</accept>
<connect>tcp://stompserver.com:61613</connect>
<type>stomp.proxy</type>
</service>
必要に応じて、認証制御プロセッサ90は、クライアントシステム32のユーザへログインチャレンジを提示するようにウエブクライアントアプリケーション64に命令して、クライアント信用証明を取得すると共に、認証サーバー52と相互に動作して、返信されたクライアント信用証明を有効化し、対応するサービス関連信用証明並びに暗号化証明書を取得する。管理対象プロトコルパケットの書き変えは、リアルタイムで行われることが好ましい。書き換えられたプロトコルパケットは、ネットワーク内の認証制御プロセッサ90が決定した位置にあるリモートサーバー48、50へ、ネットワークインタフェース86を通じて送信される。
サーバーパケット検査プロセッサ96は、管理対象プロトコルに関連する着信データパケットを同様に監視し、次いで、検査済みデータパケットと関連するプロトコルの状態及び接続状態を認証制御プロセッサ90へ選択的に報告する。プロトコルにより定義されたデータパケット構造に適合し安全なトークンを含むように、トークン挿入プロセッサ98は選択したデータパケットの挿入又は書き換えに対して責任を負う。挿入されたトークンは、認証制御プロセッサ90より提供される。基本設定上は、この挿入済みの安全なトークンは、パケット検査プロセッサ92に取り込まれたトランザクション対応の、同一で安全なトークンである。トークン挿入プロセッサ98による挿入に先立って、安全管理されたトークン内に埋め込まれたタイムスタンプ値が、認証制御プロセッサ90の動作により追加又は更新されるようにすることが好ましい。書き換えられたプロトコルパケットは、クライアントネットワークインタフェース82を介して、対応するクライアントシステム32へ送信される。
本発明の好ましい実施形態の好ましい処理フロー110が、図5に全体的に示されている。ウエブクライアントアプリケーション116の実行を直接的又は間接的に要求する114ことによって、クライアントシステム32のエンドユーザは、一般に、ウエブブラウザクライアント112を使用する処理110を開始する。一般に実行されているように、エンドユーザは、ウエブクライアントアプリケーション116に対する参照を含むウエブページのロードを命令する。ウエブブラウザクライアント112がこの参照を評価することにより、ウエブクライアントアプリケーション116のロード及び実行が結果としてもたらされる。ウエブクライアントアプリケーション116の最初の実行の暗黙の結果として、或いは、ウエブブラウザクライアント112によりエンドユーザに提示されるグラフィカルユーザインタフェース要素の起動に対する明白な応答として、ログイン要求114イベントが行われる。
トークンを記憶する第1の実施形態では、最初のログイン要求114がクライアントアプリケーション116へ向けられる。ウエブブラウザクライアント112を介して認証チャレンジ118を提示することによってクライアントアプリケーション116はエンドユーザに応答する。認証チャレンジ118は、ユーザ識別子とパスワードのタプルとして一般に表される対応するユーザ認証信用証明の入力を要求するログインダイアログとして実現されることが好ましい。これらの信用証明は、エンドユーザにより提供され120、次いで、ウエブクライアントアプリケーション116へ渡される122。ゲートウェイサーバー38により実行されるとき、安全で、好適にはHTTPであるによる接続124が、ゲートウェイアプリケーションサーバー126との間で確立されて、認証用のユーザ信用証明が提示される。この接続124は、認証制御プロセッサ90によって有効に受信され、処理される。この信用証明認証要求メッセージには、ユーザ信用証明が、好適な形態では、認証要求を受けるユーザ役割の特定が含まれることが好ましい。このユーザ役割は、認可の対象となるアクセスの範囲及び性質についての、クライアントアクセス制御の分類付けを定義するものであることが好ましく、典型的には、ウエブクライアントアプリケーション116のコード化に際して提供される役割識別子として表される。
セッションを記憶する第2の実施形態では、ログイン要求114’がゲートウェイアプリケーション126へ向けられる。応答は、ゲートウェイアプリケーション126との安全な、好適にはHTTPである接続122’を通じて行われるユーザ認証信用証明の収集及び返信を行うためのログインダイアログ120を提示する従来のHTTP認証チャレンジ118’である。
最初のユーザ信用証明を受信したとき、認証制御プロセッサ90は、特定されたユーザ役割に関する既知のユーザ識別子及びパスワードのタプルとしての有効性の評価128をユーザ信用証明に対して行う。外部のLDAPサーバー52又は同等のサーバーと協議することも可能である。次いで、結果メッセージがウエブブラウザクライアント112及びウエブクライアントアプリケーション116へ有効に返信される130、130’。認証が失敗した場合には、認証チャレンジ118、118’が反復される。
トークンを記憶する実施形態において認証が成功すると、ゲートウェイアプリケーション126は、ユーザ信用証明を含む安全なトークンをさらに生成し128、次いで、記憶132するために、この安全なトークンをクライアントアプリケーション116へ返信する130。トークンを記憶する本発明の好ましい実施形態では、秘密鍵がゲートウェイサーバーアプリケーション126により安全確実に保持されている通常の秘密鍵暗号化アルゴリズムを用いて、ユーザ信用証明を暗号化することにより、安全なトークンが生成される。
セッションを記憶する実施形態において認証が成功すると、ユーザ信用証明を含む安全なセッションクッキーも又、生成される128。安全なトークンは、信用証明を直接含むのではなく、安全なセッションクッキーに対する参照が含む形で、前述したものと同様に生成される128。安全なトークンはクライアントアプリケーション116により記憶される132が、この安全なセッションクッキーは、ウエブブラウザクライアント112へ返信130され、該ウエブブラウザクライアント112の、ローカル記憶部72とは通常は区別される通常のローカルなクッキー記憶部に記憶される。
クライアントアプリケーション116は、該クライアントアプリケーション116に関連付けられたローカルな記憶部に、受信された安全なトークンを記憶する132。本発明によれば、安全なトークンの記憶を行う鍵リングデータ構造を含むローカルな記憶部72の場所が、ウエブクライアントアプリケーション116により割り当てられる。ローカルな記憶部72の場所は、ウエブブラウザクライアント112に固有に備えられているか、或いは、ウエブソケットライブラリ68の実行によるエミュレーションを通じてもたらされるHTML5対応アプリケーションプログラミングインタフェース(API)を用いる鍵リングライブラリを通じて、割り当てられ、管理されることが好ましい。これらのAPIによって、セッション又はローカルデータのいずれかと見なされるストリングデータの記憶が可能となる。或いは、鍵リングライブラリにより、利用可能な別の技術を使用して、ローカル記憶部72の場所を実装するようにしてもよい。アドビフラッシュ又はグーグルギアーズ、インターネットエクスプローラにおける「userData」の性質、或いは別のウエブブラウザにおけるローカルデータベースAPI、といったウエブブラウザプラグインを使用してもよい。特に、ローカル記憶部72の場所へのアクセスは、必ずしも安全が保障されたものではない。ローカル記憶部72の場所へのアクセスは、一般に、ローカル記憶部72のこの場所の作成に対して責任を負うクライアントアプリケーション116の発信元の範囲のみに制約される。同じ発信元からサービスを受ける別のウエブクライアントアプリケーションが、対応するローカル記憶部72のこの場所にあるコンテンツにアクセスし、このコンテンツを読み出すことがあり得る。
セッション範囲は、ウエブブラウザクライアント112における事象、特に、ウエブブラウザウインドウに表される事象の実行ライフスパンに対応し、さらに、ウエブクライアントアプリケーション116のロードに対して責任を負うウエブページドキュメントの発信元サイトに対応する。ウエブブラウザウインドウは、ページ変更が行われたとき、及び、ウエブブラウザクライアントが遮断されたときに終了する。ウエブブラウザの遮断は、一般に、ウエブブラウザクライアント112のユーザが指示した実行終了の結果として行われる。ローカル記憶部72の場所内に割り当てられたセッションの記憶は、対応するウエブブラウザウインドウの終了時にクリアされる。
ローカルな記憶部は、同様に、ウエブクライアントアプリケーション116のロードに対して責任を負うウエブページドキュメントの発信元サイトに限定されるが、その他の点では、変わりはない。したがって、ローカルな範囲は不変であり、記憶されたデータを、ウエブブラウザクライアント112の複数の実行ライフスパンにわたって使用することが可能となる。ウエブクライアントアプリケーション116により明白に消去されるまで、或いは、ローカルな記憶部がウエブブラウザクライアント112の機能としてクリアされるまで、鍵値はローカルな記憶部内に保持される。
安全なトークンが記憶される132と、次に、接続メッセージ又は同等のメッセージが、クライアントアプリケーション116により、リモートサーバー44上で実行される所望のウエブサービス70に、ゲートウェイアプリケーション126を介して送信134される。例としてシンプルテキスト指向メッセージプロトコル(STOMP)について考えると、ログイン要求114は、クライアントアプリケーション116のローカルな実行を介して行われる、ウエブソケットライブラリ68に含まれているSTOMPプロトコル専用のクライアントライブラリによりサポートされたSTOMP対話の開始を求めるユーザ要求を表すものとなる。STOMPプロトコル専用クライアントライブラリは、ウエブクライアントアプリケーション116が、ゲートウェイアプリケーション126を介して、適切にフォーマットされたSTOMPメッセージを、遠隔STOMPウエブサービス70と交換することを可能にする。本発明に適合させることができる他の非HTTPプロトコルとしては、拡張可能メッセージング及びプレゼンスプロトコル(XMPP)、インターネット中継チャット(IRC)、AOLインスタントメッセージング(AIM)、及びスカイプチャットのようなチャットプロトコルや、アドバンストメッセージキュープロトコル(AMQP)、シンプルテキスト向けメッセージングプロトコル(STOMP)、及びTibco Rendezvousのようなメッセージングプロトコル、オープンゲームプロトコル(OGP)及びバーチャルネットワークコンピューティング(VNC)のようなゲーミング用及びメディア用プロトコルが挙げられるが、これらに限定されるものではない。
本発明の好ましい実施形態においては、安全なトークンがゲートウェイアプリケーション126に送信されるように、接続メッセージ134が修正される。この接続メッセージは、典型的にはプロトコル専用データパケットとして実現され、本来的にはクリアテキスト内にユーザ信用証明を記憶するものとされている、定義済みユーザ名フィールドとパスワードフィールドとを含む。接続メッセージは、ユーザ信用証明の代わりに、トークンマーカー及び安全なトークンを記憶するように、修正することが好ましい。STOMP接続メッセージの場合には、このトークンマーカー及び安全なトークンは、接続データパケットのパスワードフィールド内に記憶される。トークンマーカーは、認証制御プロセッサ90に知られており、修正されたプロトコルパケットの特定に用いられる「マジックナンバー」であることが好ましい。トークンの記憶とセッションの記憶のための安全なトークンの種類を区別するためには、異なるトークンマーカーが利用される。
セッションを記憶する実施形態では、接続134は、HTTP接続として開始され、これによって、適用可能なセッションクッキーの、ゲートウェイサーバー38への自動転送がもたらされる。次いで、HTTP接続は、ウエブソケット接続へグレードアップされる。接続メッセージは、ウエブソケット接続が確立されたときに転送される。従って、トークンを記憶する実施形態の場合には、安全なトークン内に埋め込まれ、次いで暗号化されることになるユーザ信用証明が、接続メッセージに直接含まれることになる。セッションを記憶する実施形態では、接続メッセージ内に埋め込まれた安全なトークンは、認証制御プロセッサ90が、HTTPプロトコルから配信されたセッションクッキーをウエブソケット接続メッセージに一意に関連付けることを可能にする、セッションクッキーへの安全な参照を含む。
ゲートウェイサーバーアプリケーション126による受信があったとき、データパケットが、パケット検査プロセッサ92による検査のためのプロトコルに基づいてフィルタされる。管理された状態で確立されたネットワークパケットフィルタ構成により定義された管理対象プロトコルに対して、接続データパケットを特定するための検査が行われ、トークンマーカーが発見された場合には、安全なトークンをさらに探索して抽出し、パケットプロトコルの識別子と安全なトークンのコピーとを認証制御プロセッサ90に提供する。安全なトークンの有効性は、この安全なトークンを復号することと、回復されたユーザ信用証明を認証することによってチェックされる。
この安全なトークンから直接的又は間接的に回復されたユーザ信用証明は、信用証明挿入プロセッサ94に提供される。接続データパケットが、ユーザ信用証明により書き換えられて136、プロトコルに準拠する、修正された接続メッセージが生成される。STOMP接続メッセージの場合には、ユーザ信用証明は、ユーザ名フィールド及びパスワードフィールドに書き込まれる。次いで、この修正された接続メッセージは、リモートウエブサービス70へ送信される138。安全なトークンのコピーが、クライアントアプリケーション116に返信された接続確認応答メッセージ140内に挿入される。さらなるトランザクションメッセージと、STOMPプロトコルの場合の対話の伝達とが送受信される142。
好ましいことであるが、安全なトークンが、ローカル記憶部72のうちの局所的な範囲内に記憶される場合には、認証チャレンジ118の反復なしに、後続するログイン要求144を終了させることができる。ログイン要求144は、接続の意図的終了又はクライアントアプリケーション116の意図的終了の後に行われるようにしてもよい。ログイン要求144は又、双方向送信トランザクションメッセージ142のために使用されるウエブソケット接続に基づくHTTPセッションの解除に起因して暗黙のうちに行われてもよい。HTTPセッションの解除は、ユーザが命令したページ変更のような、ウエブブラウザクライアントにより実行される明白な行為の結果として生じる場合もあるし、クライアントアプリケーション116の進行中の実行の結果として間接的に生じる場合もある。いずれの場合にも、HTTPセッションの解除事象がクライアントアプリケーション116により認識され、クライアントアプリケーション116のプログラムされた実行に依存して、ウエブソケット接続を自動的に再確立するためにログイン要求114が行われるようにしてもよい。
ログイン要求144が受信されたとき、ウエブクライアントアプリケーション116は、対応する安全なトークンの有無について、ローカル記憶部72のチェックを行う146。このトークンの検査は、ログイン要求144により必然的に参照される同じサイトに対応するローカル記憶部72の場所において実行される。トークンの検査は、さらに、ウエブクライアントアプリケーション116により提供される鍵リング識別子に対して実行される。有効な安全トークンが発見されなかった場合には、ウエブクライアントアプリケーション116は、認証チャレンジ118、118’の実行に進む。安全トークンが発見され、有効なものであれば、特に期限切れ或いは無効とマークされていなければ、この安全トークンは、接続メッセージ148の一部として提供される。前述したように、ゲートウェイサーバーアプリケーション126によって安全なトークンが特定され、遠隔ウエブサービス70への送信152が行われる前に、プロトコル適合信用証明が接続データパケット内に挿入される150。返信接続確認応答メッセージが、好適には、トランザクション対応の安全トークンを挿入された形で、クライアントアプリケーション116に返される154。ウエブサービス接続が確立されていることを条件として、トランザクションメッセージの送受信156が行われる。
本発明の好ましい実施形態では、安全なトークンは、改竄及び悪用に曝されるのを減少させるため、タイムスタンプ及びシーリングの双方を行う。シールされたタイムスタンプ付きトークンの使用及び管理について説明する処理フロー170が、図6に示されている。上記のように、最初のログイン要求172に応答して、認証チャレンジ174が、ユーザ信用証明をウエブクライアントアプリケーション116に提供する。鍵リングが現在のユーザ及びドキュメントのサイトに対応する現在の安全なトークンを含んでいない場合には、認証チャレンジ174は適切なものとされる。ユーザ信用証明及びユーザ役割をユーザに関連付けられたものとして提示するために、トークン要求176が、クライアントアプリケーション116によってゲートウェイサーバーアプリケーション126に送出される。認証が成功すると、認証制御プロセッサ90によりセキュアトークンが生成され178、このトークンが返信される180。前述したように、クライアントアプリケーション116は、クライアントアプリケーション116に関連付けられたローカルな記憶部内に、受信した安全なトークンを記憶する。
図7を参照すると、タイムスタンプを含む安全なトークンを生成する好ましい処理240が示されている。トークンを記憶する実施形態においては、ユーザ信用証明により提供されるユーザ名242とパスワード244が、データオブジェクト内に一緒に記憶され、暗号化され246、シールされた安全な信用証明トークン248が生成される。使用される暗号化方式は、秘密鍵がゲートウェイサーバーアプリケーション126により安全確実に保持されている、秘密鍵対称暗号化であることが好ましい。クライアントの安全性に対する侵害が、クライアントの記憶するシールされたトークン248の安全性についての妥協を強いるものとなることを防止するために、この秘密鍵は、クライアントシステム32に記憶したり、該クライアントシステム32からアクセスできる状態にすることはない。基本的には、現在時刻に関連する生成済みのタイムスタンプのデータ値250が、その後信用証明トークン248に添付され、暗号化されて252、タイムスタンプ付きのトークン254が生成される。秘密鍵がゲートウェイサーバーアプリケーション126により再度安全に保持されている場合には、別の秘密鍵の評価した対称暗号化が、タイムスタンプの暗号化252のために使用されるようにすることが好ましい。
次いで、マーカー256を好ましくは先頭に追加して258、安全なトークン260を最終的に作成し、マーカー256をクライアントアプリケーション116に返信し180、ローカル記憶部72内に存在する対応する鍵リング記憶部262に記憶する。マーカー256がユーザ名又はパスワードの一部として現れることがありそうにない文字列その他の値であれば、マーカー256の構成は重要ではない。マーカー256の値はパケット検査プロセッサ92により保持され、通常のユーザ信用証明と認可トークンとの区別が可能となる。最初に生成された178安全なトークンと、後で更新された該安全なトークンのコピーとを区別するために、マーカー256の値が用いられる。認証チャレンジと関連して生成された178最初の安全なトークンが、空のタイムスタンプ250フィールドを用いて生成されることが好ましい。
セッションを記憶する実施形態については、安全なトークンの生成は実質的に同様である。こ場合の生成は、秘密鍵で暗号化されたユーザ信用証明データオブジェクトを含むセッションクッキー264が暗号化246により生成される、という点で異なる。関連付けられた従来のクッキーストア266に記憶するために、セッションクッキー264は、HTTPヘッダの形でウエブブラウザクライアント112へ返信される。暗号化246によって、信用証明トークン248として使用されるセッションクッキー参照が、さらに生成される。このクッキー参照は、最近受信され、かつ、バッファされたHTTPヘッダの検査にあたって、対応するセッションクッキー264の一意の特定及び回復を可能にするのに十分に一意の数値化された識別子である。このセッションクッキーの参照は、タイムスタンプ250を用いて暗号化される252と共に、その後、安全なトークン260の作成のために用いられる。
次いで、プロトコル専用接続要求メッセージが、ゲートウェイサーバーアプリケーション126へ送信される182。接続メッセージを作成する際に、安全なトークンがクライアントアプリケーション116により選択され、接続メッセージ内に埋め込まれる。マーカー256の値に基づいて、選択に対する優先順位が、他の点では同等である最初の安全なトークン260に優先してタイムスタンプ済みのセキュアトークン260に与えられる。サービスアクセス制御の評価に基づいて、クライアントアプリケーション116による接続要求が、認証制御プロセッサ90によって条件付きで受け付けられる。安全なトークンの二重復号化を介して接続メッセージからタイムスタンプ値及びユーザ信用証明が回復され、トークンを記憶する形態の場合には直接的に、セッションを記憶する形態の場合には間接的に、ユーザ信用証明が獲得される。次いで、これらのユーザ信用証明は、接続要求に特定された役割のために認証サーバー52に対して認証される。
また、接続認証は、安全なトークン260内に埋め込まれたタイムスタンプ値により定義された時間内に、パケット検査プロセッサ92が接続要求を受信することを必要とするものであることが好ましい。生成されたタイムスタンプデータ値250は、典型的には、30秒〜30分のオーダーの持続時間(time-to-live)値を表すものであることが好ましい。一般に、この持続時間値は、エンドユーザとウエブサービスとの間の或る程度の最小相互作用期間をカバーするように経験的に選択される。マーカー256値が安全なトークン260を初期の安全なトークン260として特定した場合には、接続要求は適時のものであると推定される。そうでない場合には、タイムスタンプ値は、パケット検査プロセッサ92による接続メッセージの受信時刻に応じて直接的又は間接的に有効と見なされる。
次いで、回復したユーザ信用証明は、リモートウエブサービス70への移行184に先立って、プロトコル専用接続データパケット内に挿入される。リモートウエブサービスから接続確認応答メッセージが受信されたとき、安全なトークンの更新済みコピーが接続確認応答メッセージに挿入され、クライアントアプリケーション116に返信されるようにすることが好ましい。安全なトークンは、該安全なトークン内に埋め込まれたタイムスタンプ値を更新し、又は追加することによって更新される。安全なトークンの挿入は、クライアントアプリケーション116への送信に先立って、トークン挿入プロセッサ98により実行される。更新済みの安全なトークンは、受信されると、ローカル記憶部72内に存在している対応する鍵リング記憶部262内に記憶される。その後、トランザクションメッセージが送信され、受信される186ことになる。
その後の当然に予定されているか、明白なログイン要求190に応答して、クライアントアプリケーション116は、ローカルな鍵リング記憶部262にアクセスし、対応する安全なトークンを検索する260。初期の安全なトークンとタイムスタンプ済みの安全なトークンとの双方が存在している場合には、タイムスタンプの期間が期限切れでない限り、タイムスタンプ済みの安全なトークンの方が選択される。タイムスタンプの満了期間は、管理された状態で確立されていることが望ましいが、そうでない場合には、タイムスタンプは定まった時間値であってもよい。その場合には、タイムスタンプ済みの安全なトークンが鍵リング記憶部262に最後に追加されるか、又は更新が行われた時刻に基づいて、タイムスタンプ済み安全なトークンの有効性を決定することができる。タイムスタンプ済みの安全なトークン260が存在していないか、有効でなければ、最初の安全なトークン260が選択される。接続メッセージ192が、選択された安全なトークン260と共にゲートウェイサーバーアプリケーション126へ送出される。
パケット検査プロセッサ92及び認証制御プロセッサ90の動作によって、更新された194タイムスタンプ値を含む安全なトークン260のコピーが作成される。挿入済みユーザ信用証明を含むゲートウェイアプリケーション126によって、変更済み接続メッセージ196が送出される。更新された認証トークン260は、次いで接続確認応答メッセージの形でクライアントアプリケーション116に返信され196、次いで、ローカルな鍵リング記憶部262において記憶される。接続が確立されていることを条件として、トランザクションメッセージの交換200が行われるようにしてもよい。
好適には、タイムスタンプ済みの安全なトークン260がクライアントアプリケーション116により定期的に更新されながら、クライアントアプリケーション116が実行を継続するようにする。ローカルな鍵リング記憶部262に記憶された認証トークン260の満了期間を継続して監視するために、期間満了タイマーが稼働する220。個々の認証トークン260がローカルな鍵リング記憶部262に最後に追加され、又は更新された時刻に基づいて、期間満了タイマー220が満了期間を監視することが望ましい。タイムスタンプされた安全なトークン260が満了期限に近づいている場合には、期間満了タイマー220は、ゲートウェイサーバーアプリケーション126への、対応するトークン更新メッセージ222の送出を開始する。このトークン更新メッセージ222は、タイムスタンプされた安全なトークン260を埋め込んだものである。認証トークン260が抽出され、更新され224、トークン更新応答メッセージ内に挿入され、返信される226。トークン更新応答メッセージが受信されると、更新済みの安全なトークン260がローカルな鍵リング記憶部262に記憶される。
別の実施形態では、認証制御プロセッサ90は、クロスドメインの単一のサインオン認証システムをサポートするように動作するものとしてもよい。認証トークン260の管理及び使用がウエブソケットプロトコルサポートレベルで機能的に生じるので、ネイティブなウエブブラウザクライアントアプリケーション62により強制される、HTTPベースの接続の或る種のドメイン制限による制約は回避される。ゲートウェイサーバー38とウエブサービス70とは、互いに異なるドメイン内に存在するようにしてもよく、特にソースサーバー66のドメインとは異なるドメイン内に存在するようにしてもよい。
単一のサインオンをサポートするために、複数のウエブクライアントアプリケーション116がコード化されて、安全なトークンが同じ名称の鍵リング内に記憶される。参照される同じ発信元の範囲内でウエブクライアントアプリケーション116が実行されることを条件として、同じ名称の鍵リングは同じローカル記憶部72内の場所で共有されることになる。複数のウエブクライアントアプリケーション116のうちのいずれか1つのアプリケーションのために最初に作成された安全なトークンは、同様の目的をもった他のログイン要求114、114’によっても自動的に使用されることになる。単一のサインオンユーザ信用証明が個々のプロトコル専用ウエブサービスに対して有効であれば、複数のウエブサービスへのアクセスを可能にするために単一の認可チャレンジが必要とされるだけである。セッションを記憶する実施形態の場合には、セッションクッキーの宣言された範囲内のいずれの参加ゲートウェイサーバー38に対しても、単一のサインオンが暗黙のうちにサポートされる。セッションクッキーは、クッキーの定義された範囲の通信時に送信されるHTTPヘッダの一部として自動的に送信される。
別の実施形態では、認証制御プロセッサ90の指示の下で挿入されたユーザ信用証明は、ウエブクライアントアプリケーション116により提供される認証トークン260内に含まれているユーザ信用証明である必要はない。むしろ、提供されるユーザ信用証明及び役割の特定に基づいて、認証制御プロセッサ90は、接続メッセージ内へ挿入するための異なるセットのユーザ信用証明を選択してもよい。管理された状態で行われるクライアントアクセス制御の一部として、1又はそれ以上の、代替的なユーザ信用証明が、ゲートウェイサーバー38に直接的あるいは間接的に記憶されたり、アクセスされたりして、認証制御プロセッサ90により評価され、使用されるようにしてもよい。特に、ゲートウェイサーバー38は、ケルベロス(Kerberos)認証システム52と相互に動作して、ユーザ信用証明がウエブサービス70に提示される度に、単一使用チケットベースのサービス要求が与えられるようにするために、使用される回数を生成するようにしてもよい。
以上、状態関連情報の管理を通じてウエブクライアントとウエブサービスとの間でのリアルタイムのデータ交換を可能にするシステム及び方法について説明した。本発明の好ましい実施形態についての上述の説明に照らして、上記開示された実施形態の多くの変更及び変形は当業者により容易に理解されるものである。したがって、添付の請求項の範囲内において、特に、上記に記載した以外の違った形で本発明の実施が可能であることが理解されるべきである。
82 ネットワークインタフェース
86 ネットワークインタフェース
90 認証制御プロセッサ
92 パケット検査プロセッサ
94 信用証明挿入プロセッサ
96 パケット検査プロセッサ
98 トークン挿入プロセッサ

Claims (16)

  1. 非HTTP通信プロトコルを用いるウエブアプリケーションのために状態に依存しない安全性管理を提供するコンピュータで実行される方法であって、
    a)クライアントシステム上でウエブブラウザクライアント内において実行されるクライアントアプリケーションから、通信プロトコル識別子により特定され、リモートウエブサービスへ向けられるウエブソケット接続を開始する第1の開始ステップを含み、前記第1の開始ステップは、
    i)前記通信プロトコル識別子に対応する安全なトークンが前記クライアントアプリケーションに対応するローカル記憶部内に存在していない場合、前記ウエブブラウザクライアントのユーザへ向けて認証チャレンジを実行するステップであって、第1のユーザ信用証明を取得し、前記第1のユーザ信用証明をゲートウェイサーバーへ送信し、前記安全なトークンを前記ゲートウェイサーバーから受信し、前記安全なトークンを前記ローカルストアインスタンス内に記憶する前記認証チャレンジを実行するステップと、
    ii)前記安全なトークンを前記ローカル記憶部から取得するステップと、
    iii)前記通信プロトコルの識別子専用プロトコルであり、且つ、前記安全なトークンを含む第1の接続メッセージを前記ゲートウェイサーバーへ送信する送信ステップと、を含み、
    b)前記第1の接続メッセージの受信に応答して、前記リモートウエブサービスへ向けられるウエブソケット接続を前記ゲートウェイサーバーから開始する第2の開始ステップをさらに含み、前記第2の開始ステップは、
    i)前記安全なトークンを特定するために前記第1の接続メッセージを検査するステップと、
    ii)第2のユーザ信用証明を取得するために前記安全なトークンを評価するステップと、
    iii)前記安全なトークンを置き換える時に、前記第1の接続メッセージに対応する第2の接続メッセージ内へ前記第2のユーザ信用証明を挿入するステップと、
    iv)前記第2の接続メッセージを前記リモートウエブサービスへ送信するステップと、
    を含むことを特徴とするコンピュータで実行される方法。
  2. 前記通信プロトコル識別子は、前記ウエブソケット接続上でホストされる非HTTPプロトコルに対応する、請求項1に記載のコンピュータ実行方法。
  3. 前記安全なトークンは、前記第1のユーザ信用証明の暗号化されたコピーを含む、請求項2に記載のコンピュータ実行方法。
  4. 前記第2のユーザ信用証明は、前記第1のユーザ信用証明において前記安全なトークンを復号化により取得されるものである、請求項3に記載のコンピュータ実行方法。
  5. 前記安全なトークンはタイムスタンプを含み、前記タイムスタンプは前記安全なトークンが無効であるかどうか判断できるものであり、前記安全なトークンが無効である場合には、ローカル記憶部内に前記安全なトークンが存在していないと決定する、請求項2に記載のコンピュータ実行方法。
  6. 前記決定するステップは、i)前記ローカル記憶部内に記憶されている前記安全なトークンを前記タイムスタンプの期限の間、監視するステップと、ii)前記タイムスタンプの更新のために前記安全なトークンを前記ゲートウェイサーバーへ送信するステップと、iii)前記ゲートウェイサーバーによって更新された前記安全なトークンを前記ローカル記憶部内に記憶するステップとを含む、請求項5に記載のコンピュータ実行方法。
  7. シールされたオブジェクトを生成するための、前記第1のユーザ信用証明の秘密鍵の暗号化と、前記シールされたオブジェクト及び前記タイムスタンプから成る公開鍵の暗号化とによって、前記安全なトークンを前記ゲートウェイサーバーにより生成するステップをさらに含む、請求項6に記載のコンピュータ実行方法。
  8. 前記第2のユーザ信用証明は、前記第1のユーザ信用証明において前記安全なトークンを復号化することにより取得されるものである、請求項7に記載のコンピュータ実行方法。
  9. 前記安全なトークンは複数の通信プロトコル識別子に対応する、請求項8に記載のコンピュータ実行方法。
  10. クライアントシステム及びリモートサーバーシステムにより連携して実行される分散化されたウエブアプリケーションに対して状態に依存せずに安全性についての認可を提供するゲートウェイサーバーであって、
    前記ゲートウェイサーバーは、
    a)通信ネットワークを介して、クライアントシステム上のウエブブラウザクライアントにおいてクライアントアプリケーションを実行するように構成されたクライアントシステムと、ウエブサービスを実行するように構成されたリモートサーバーに結合可能なコンピュータサーバーシステムと、
    b)認証制御プロセッサ、パケット検査プロセッサ、及び、信用証明挿入プロセッサを含み、前記コンピュータサーバーシステムによって実行されるウエブサーバーと、
    を備え、
    前記認証制御プロセッサは、前記クライアントアプリケーションにより提供される第1のユーザ信用証明を受信し、該第1のユーザ信用証明を有効化したとき、安全なトークンを生成するように動作し、
    前記認証制御プロセッサは、前記クライアントアプリケーションに関連付けられた範囲内にある前記クライアントシステム上のローカル記憶部内に前記安全なトークンを記憶するように前記クライアントアプリケーションと相互に動作し、
    前記パケット検査プロセッサは、前記クライアントアプリケーションにより提供され前記安全なトークンを埋め込んだ接続メッセージに応答して、前記接続メッセージを検出すると共に、前記安全なトークンを前記認証制御プロセッサへ提供するように動作し、
    前記認証制御プロセッサは前記安全なトークンに対応する第2のユーザ信用証明を回復するように動作し、
    前記信用証明挿入プロセッサは、前記認証制御プロセッサに応答して、前記第2のユーザ信用証明を前記接続メッセージ内へ挿入するように動作し、
    前記ウエブサーバーは前記接続メッセージを前記リモートサーバーへ送信するように動作することを特徴とするゲートウェイサーバー。
  11. 前記認証制御プロセッサは、前記安全なトークンを生成する際に前記第1のユーザ信用証明を暗号化し、前記第2のユーザ信用証明は前記第1のユーザ信用証明である、請求項10に記載のゲートウェイサーバー。
  12. 前記認証制御プロセッサは、前記安全なトークンを生成する際に前記第1のユーザ信用証明を暗号化し、前記第2のユーザ信用証明は、前記第1のユーザ信用証明との所定の対応関係に基づいて回復される、請求項10に記載のゲートウェイサーバー。
  13. 前記認証制御プロセッサは、前記第1のユーザ信用証明を暗号化して、前記安全なトークンの生成と連携してセッションクッキーを提供し、さらに、前記認証制御プロセッサは、前記クライアントシステム上の前記ウエブブラウザクライアントを介して前記セッションクッキーを記憶し、
    前記安全なトークンは、前記セッションクッキーと前記安全なトークンとの間の所定の対応関係を確立するセッションクッキー識別子を含み、
    前記第2のユーザ信用証明は、前記所定の対応関係に基づいて前記認証制御プロセッサにより回復される、請求項10に記載のゲートウェイサーバー。
  14. 前記ウエブサーバーは、前記ウエブサービスから提供される接続確認応答メッセージを前記クライアントアプリケーションへ返信し、さらに前記ウエブサーバーは前記認証制御プロセッサに応答するトークン挿入プロセッサをさらに備え、
    前記認証制御プロセッサは前記クライアントアプリケーションへ戻る前に、前記安全なトークンのコピーを前記接続確認応答メッセージ内へ挿入し、
    前記クライアントアプリケーションは、前記クライアントアプリケーションに関連付けられた前記範囲内にある前記クライアントシステム上の前記ローカル記憶部内の前記安全なトークンの前記コピーの記憶を行う、請求項10に記載のゲートウェイサーバー。
  15. 前記認証制御プロセッサは、限定された有効期間を表すタイムスタンプを前記安全なトークンのコピーの中に含ませ、さらに、前記認証制御プロセッサは、前記タイムスタンプに基づいて前記接続メッセージを条件付きで受け付ける、請求項14に記載のゲートウェイサーバー。
  16. 前記認証制御プロセッサは、前記安全なトークン内の第1のマーカー値と、前記安全なトークンのコピー内の第2のマーカー値とを提供し、
    前記第1及び第2のマーカー値は、前記安全なトークンが前記タイムスタンプを含むかどうかを特定し、
    前記安全なトークンのコピーは、前記接続メッセージ内の前記安全なトークンに対する優先順位で前記クライアントアプリケーションにより提供される、請求項15に記載のゲートウェイサーバー。
JP2012513318A 2009-05-28 2010-05-28 非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法 Pending JP2012528411A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18192409P 2009-05-28 2009-05-28
US61/181,924 2009-05-28
US12/788,938 2010-05-27
US12/788,938 US8527774B2 (en) 2009-05-28 2010-05-27 System and methods for providing stateless security management for web applications using non-HTTP communications protocols
PCT/US2010/036675 WO2010138883A1 (en) 2009-05-28 2010-05-28 System and methods for providing stateless security management for web applications using non-http communications protocols

Publications (1)

Publication Number Publication Date
JP2012528411A true JP2012528411A (ja) 2012-11-12

Family

ID=43221619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012513318A Pending JP2012528411A (ja) 2009-05-28 2010-05-28 非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法

Country Status (6)

Country Link
US (1) US8527774B2 (ja)
EP (1) EP2435925A1 (ja)
JP (1) JP2012528411A (ja)
CN (1) CN102884517A (ja)
AU (1) AU2010253949A1 (ja)
WO (1) WO2010138883A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114918A (ja) * 2013-12-12 2015-06-22 三菱電機株式会社 設備管理装置、通信制御方法、および、プログラム
JP2016066165A (ja) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 情報処理装置、システム及びプログラム

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729321B2 (en) 2015-04-29 2017-08-08 Citrix Systems, Inc. Autonomous private key recovery
EP2273748A1 (en) * 2009-07-09 2011-01-12 Gemalto SA Method of managing an application embedded in a secured electronic token
US8544076B2 (en) * 2009-11-11 2013-09-24 Blackberry Limited Using a trusted token and push for validating the request for single sign on
US8645550B2 (en) * 2010-02-18 2014-02-04 Microsoft Corporation Database virtualization
US20110307940A1 (en) * 2010-06-09 2011-12-15 Joseph Wong Integrated web application security framework
US20110321022A1 (en) * 2010-06-25 2011-12-29 Mitel Networks Corporation Code generation through metadata programming for mobile devices and web platforms to ease access to web services
US8607306B1 (en) 2010-11-10 2013-12-10 Google Inc. Background auto-submit of login credentials
EP2475144A1 (en) * 2011-01-05 2012-07-11 Gemalto SA Method for communicating between a server and a client and corresponding client, server and system
US9191375B2 (en) 2011-01-13 2015-11-17 Infosys Limited System and method for accessing integrated applications in a single sign-on enabled enterprise solution
JP5712678B2 (ja) * 2011-03-02 2015-05-07 村田機械株式会社 原稿読取システム、クライアント端末装置及びコンピュータプログラム
US9405896B2 (en) * 2011-04-12 2016-08-02 Salesforce.Com, Inc. Inter-application management of user credential data
US9032497B2 (en) * 2011-06-15 2015-05-12 Cbs Interactive Inc. System and method for securing embedded media
US8881250B2 (en) 2011-06-17 2014-11-04 Ebay Inc. Passporting credentials between a mobile app and a web browser
US9495533B2 (en) 2011-09-29 2016-11-15 Oracle International Corporation Mobile application, identity relationship management
US9692732B2 (en) * 2011-11-29 2017-06-27 Amazon Technologies, Inc. Network connection automation
US9117062B1 (en) * 2011-12-06 2015-08-25 Amazon Technologies, Inc. Stateless and secure authentication
US8819444B2 (en) * 2011-12-27 2014-08-26 Majid Shahbazi Methods for single signon (SSO) using decentralized password and credential management
US10742634B1 (en) 2011-12-27 2020-08-11 Majid Shahbazi Methods for single sign-on (SSO) using optical codes
US9356924B1 (en) * 2011-12-27 2016-05-31 Majid Shahbazi Systems, methods, and computer readable media for single sign-on (SSO) using optical codes
CN102546800B (zh) * 2012-01-06 2015-03-25 华为技术有限公司 一种网关握手、通信方法、网关及Web通信系统
US9762613B2 (en) * 2012-01-09 2017-09-12 Bomgar Corporation Method and apparatus for providing extended availability of representatives for remote support and management
US9043878B2 (en) * 2012-03-06 2015-05-26 International Business Machines Corporation Method and system for multi-tiered distributed security authentication and filtering
EP2831718A4 (en) 2012-03-30 2015-12-02 Goldman Sachs & Co SAFE MOBILE FRAMEWORK
US9350763B1 (en) * 2012-04-17 2016-05-24 Amazon Technologies, Inc. HTTP tunnelling over websockets
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) * 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
JP6006533B2 (ja) * 2012-05-25 2016-10-12 キヤノン株式会社 認可サーバー及びクライアント装置、サーバー連携システム、トークン管理方法
CN102739678B (zh) * 2012-06-28 2015-09-02 用友软件股份有限公司 单点登录处理系统和单点登录处理方法
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
KR20140026787A (ko) * 2012-08-23 2014-03-06 알서포트 주식회사 원격 지원을 위한 영상 교환 방법 및 원격 지원을 위한 영상 교환 시스템
US9087191B2 (en) 2012-08-24 2015-07-21 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US9094413B2 (en) 2012-08-27 2015-07-28 Vmware, Inc. Configuration profile validation on iOS Using SSL and redirect
US9077725B2 (en) 2012-08-27 2015-07-07 Vmware, Inc. Configuration profile validation on iOS based on root certificate validation
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9143550B2 (en) * 2012-12-01 2015-09-22 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent HTTP-based communications
US9558618B2 (en) * 2012-12-04 2017-01-31 Igt Using a message-oriented protocol in a gaming machine
FR3000336A1 (fr) * 2012-12-20 2014-06-27 France Telecom Mecanisme de gestion d'une session de communication
US8990917B2 (en) * 2012-12-27 2015-03-24 Alcatel Lucent Authentication of applications that access web services
DE102013100139A1 (de) * 2013-01-09 2014-07-10 Smart HMI GmbH Prozessdaten-Gateway in einem dezentralen Automatisierungssystem auf Basis der Webtechnologie
US20140208407A1 (en) * 2013-01-19 2014-07-24 Lenovo (Singapore) Pte. Ltd. Single sign-on between device application and browser
EP2953033B1 (en) * 2013-01-30 2018-11-21 Seiko Epson Corporation Control system and control method for the control system
CN103118410B (zh) * 2013-02-18 2015-10-07 广州市动景计算机科技有限公司 移动通信方法、系统和用于移动通信的服务器
US9954843B2 (en) 2013-02-28 2018-04-24 Microsoft Technology Licensing, Llc Web ticket based upon a symmetric key usable for user authentication
US9059977B2 (en) * 2013-03-13 2015-06-16 Route1 Inc. Distribution of secure or cryptographic material
US10032213B2 (en) 2013-03-14 2018-07-24 Ami Entertainment Network, Llc System for using mobile devices to output video data sets at a venue
US9723069B1 (en) * 2013-03-15 2017-08-01 Kaazing Corporation Redistributing a connection
US10212490B2 (en) 2013-03-15 2019-02-19 DISH Technologies L.L.C. Pre-distribution identification of broadcast television content using audio fingerprints
US9338143B2 (en) 2013-03-15 2016-05-10 Shape Security, Inc. Stateless web content anti-automation
US9661380B2 (en) * 2013-03-15 2017-05-23 Echostar Technologies L.L.C. Television content management with integrated third party interface
US10412446B2 (en) 2013-03-15 2019-09-10 DISH Technologies L.L.C. Television content management with integrated third party interface
CN103139051A (zh) * 2013-03-22 2013-06-05 南京信通科技有限责任公司 一种基于Websocket协议的即时通讯方法
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
KR101541591B1 (ko) * 2013-05-16 2015-08-03 삼성에스디에스 주식회사 Vdi 환경에서의 싱글 사인온 시스템 및 방법
US10348668B2 (en) * 2013-05-24 2019-07-09 Red Hat, Inc. Overlay network over a messaging network
US9178868B1 (en) * 2013-06-24 2015-11-03 Google Inc. Persistent login support in a hybrid application with multilogin and push notifications
CN104348796A (zh) * 2013-07-31 2015-02-11 阿尔卡特朗讯公司 会话关闭方法和设备
US9552492B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US10122714B2 (en) * 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US9553867B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US10778680B2 (en) * 2013-08-02 2020-09-15 Alibaba Group Holding Limited Method and apparatus for accessing website
CN103401942B (zh) * 2013-08-12 2016-05-04 网宿科技股份有限公司 内容分发网络节点实现web应用加速的方法和系统
US20150052237A1 (en) * 2013-08-15 2015-02-19 Unisys Corporation Transmission of large data files over an extensible scripting file format
CN105409183B (zh) * 2013-08-23 2018-11-16 华为技术有限公司 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备
US9628566B2 (en) * 2013-10-15 2017-04-18 Verizon Patent And Licensing Inc. Communication of data of a web real-time communication via a carrier-grade environment
US10425297B1 (en) * 2013-11-12 2019-09-24 Amazon Technologies, Inc. Adaptive polling based upon demand
US9270647B2 (en) 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US9298942B1 (en) 2013-12-31 2016-03-29 Google Inc. Encrypted augmentation storage
US8954583B1 (en) 2014-01-20 2015-02-10 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US9027142B1 (en) 2014-01-21 2015-05-05 Shape Security, Inc. Dynamic field re-rendering
US8893294B1 (en) 2014-01-21 2014-11-18 Shape Security, Inc. Flexible caching
US9225729B1 (en) 2014-01-21 2015-12-29 Shape Security, Inc. Blind hash compression
DE102014101174A1 (de) 2014-01-30 2015-07-30 Netzwelt Gmbh System und Verfahren zum Unterbinden einer Auslieferung von Werbeinhalten
JP6287401B2 (ja) * 2014-03-18 2018-03-07 富士ゼロックス株式会社 中継装置、システム及びプログラム
US9544329B2 (en) 2014-03-18 2017-01-10 Shape Security, Inc. Client/server security by an intermediary executing instructions received from a server and rendering client application instructions
US10178181B2 (en) * 2014-04-02 2019-01-08 Cisco Technology, Inc. Interposer with security assistant key escrow
US9411958B2 (en) 2014-05-23 2016-08-09 Shape Security, Inc. Polymorphic treatment of data entered at clients
US9858440B1 (en) 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US9210171B1 (en) 2014-05-29 2015-12-08 Shape Security, Inc. Selectively protecting valid links to pages of a web site
US9083739B1 (en) 2014-05-29 2015-07-14 Shape Security, Inc. Client/server authentication using dynamic credentials
CN105282107B (zh) * 2014-07-04 2018-09-11 北京信威通信技术股份有限公司 Xmpp系统访问外部数据的授权方法及通信网络
US9258274B2 (en) 2014-07-09 2016-02-09 Shape Security, Inc. Using individualized APIs to block automated attacks on native apps and/or purposely exposed APIs
US10050935B2 (en) 2014-07-09 2018-08-14 Shape Security, Inc. Using individualized APIs to block automated attacks on native apps and/or purposely exposed APIs with forced user interaction
US9003511B1 (en) 2014-07-22 2015-04-07 Shape Security, Inc. Polymorphic security policy action
US9729506B2 (en) 2014-08-22 2017-08-08 Shape Security, Inc. Application programming interface wall
CN105471824A (zh) * 2014-09-03 2016-04-06 阿里巴巴集团控股有限公司 实现浏览器调用本地业务组件的方法、装置及系统
US9438625B1 (en) 2014-09-09 2016-09-06 Shape Security, Inc. Mitigating scripted attacks using dynamic polymorphism
US9954893B1 (en) 2014-09-23 2018-04-24 Shape Security, Inc. Techniques for combating man-in-the-browser attacks
US9800602B2 (en) 2014-09-30 2017-10-24 Shape Security, Inc. Automated hardening of web page content
US9882959B2 (en) * 2014-09-30 2018-01-30 International Business Machines Corporation Managing requests to a high utilization website
US9529994B2 (en) 2014-11-24 2016-12-27 Shape Security, Inc. Call stack integrity check on client/server systems
US10063594B2 (en) * 2014-12-16 2018-08-28 OPSWAT, Inc. Network access control with compliance policy check
CN105812406B (zh) * 2014-12-29 2019-05-03 北京神州泰岳软件股份有限公司 基于web仿真终端系统的信息传输方法及装置
US10505850B2 (en) 2015-02-24 2019-12-10 Qualcomm Incorporated Efficient policy enforcement using network tokens for services—user-plane approach
FR3034273B1 (fr) * 2015-03-25 2018-05-11 Ecomesure Systeme de communication universelle pour appareils de mesure, procede de communication s’y rapportant
US9608975B2 (en) 2015-03-30 2017-03-28 Shape Security, Inc. Challenge-dynamic credential pairs for client/server request validation
CN107211007B (zh) * 2015-04-07 2020-10-23 惠普发展公司,有限责任合伙企业 提供对资源的选择性访问
US10397233B2 (en) 2015-04-20 2019-08-27 Bomgar Corporation Method and apparatus for credential handling
US10229262B2 (en) 2015-04-20 2019-03-12 Bomgar Corporation Systems, methods, and apparatuses for credential handling
US10484385B2 (en) * 2015-06-04 2019-11-19 Sap Se Accessing an application through application clients and web browsers
WO2017007705A1 (en) 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
US10509900B1 (en) 2015-08-06 2019-12-17 Majid Shahbazi Computer program products for user account management
US10270753B2 (en) 2015-08-14 2019-04-23 Salesforce.Com, Inc. Background authentication refresh
US10212130B1 (en) 2015-11-16 2019-02-19 Shape Security, Inc. Browser extension firewall
US20170149915A1 (en) * 2015-11-25 2017-05-25 Sap Se System and method of feed data transmission
CN105391549B (zh) * 2015-12-10 2018-10-12 四川长虹电器股份有限公司 客户端与服务器之间通信动态密钥实现方法
US10152590B2 (en) * 2016-01-04 2018-12-11 Oracle International Corporation Implementing a WebSocket server to circumvent access controls, by a web browser, on a web application
US10652365B2 (en) 2016-01-06 2020-05-12 Adobe Inc. Robust computing device identification framework
US9917850B2 (en) * 2016-03-03 2018-03-13 Shape Security, Inc. Deterministic reproduction of client/server computer state or output sent to one or more client computers
CN105827709A (zh) * 2016-03-31 2016-08-03 广东亿迅科技有限公司 一种web语音话务系统实时话务状态的实现方法
CN107276963B (zh) * 2016-04-06 2021-09-03 泰康之家(北京)投资有限公司 一种更新权限的方法及装置
CN106060128B (zh) * 2016-05-25 2019-05-10 飞天诚信科技股份有限公司 一种浏览器访问智能密钥设备的方法及装置
WO2018010146A1 (zh) * 2016-07-14 2018-01-18 华为技术有限公司 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器
WO2018039233A1 (en) * 2016-08-22 2018-03-01 Akamai Technologies, Inc. Providing single sign-on (sso) in disjoint networks with non-overlapping authentication protocols
US10887302B2 (en) * 2016-09-15 2021-01-05 Oracle International Corporation Secured rest execution inside headless web application
JP2018081643A (ja) * 2016-11-18 2018-05-24 キヤノン株式会社 認可サーバーおよびその制御方法、プログラム、並びに権限委譲システム
CN107231290A (zh) * 2017-04-19 2017-10-03 中国建设银行股份有限公司 一种即时通信方法和系统
WO2018194202A1 (ko) * 2017-04-21 2018-10-25 엘지전자(주) V2x 통신 장치 및 그의 데이터 통신 방법
US10560404B2 (en) * 2017-06-14 2020-02-11 Citrix Systems, Inc. Real-time cloud-based messaging system
US11025608B2 (en) * 2017-11-10 2021-06-01 Cisco Technology, Inc. Enabling zero-touch bootstrap for devices across network perimeter firewalls
US10891372B1 (en) 2017-12-01 2021-01-12 Majid Shahbazi Systems, methods, and products for user account authentication and protection
US10706672B2 (en) 2017-12-21 2020-07-07 Igt Accident data recorder for electronic gaming machines
US11546310B2 (en) * 2018-01-26 2023-01-03 Sensus Spectrum, Llc Apparatus, methods and articles of manufacture for messaging using message level security
US10999272B2 (en) * 2018-03-30 2021-05-04 Lendingclub Corporation Authenticating and authorizing users with JWT and tokenization
US10819695B2 (en) * 2018-05-25 2020-10-27 Citrix Systems, Inc. Electronic device including local identity provider server for single sign on and related methods
CN108833445B (zh) * 2018-07-31 2021-04-16 中国银联股份有限公司 一种适用于物联网系统的认证方法及装置
US11070548B2 (en) * 2018-12-21 2021-07-20 Paypal, Inc. Tokenized online application sessions
US11050749B2 (en) * 2018-12-31 2021-06-29 Paypal, Inc. Credential storage manager for protecting credential security during delegated account use
CN112398788A (zh) * 2019-08-15 2021-02-23 奇安信安全技术(珠海)有限公司 机器行为的双向校验方法及装置、系统、存储介质、电子装置
CN110830360B (zh) * 2019-10-12 2022-11-25 中国平安财产保险股份有限公司 多应用程序互通方法、电子装置及计算机可读存储介质
CN111211934B (zh) * 2019-12-25 2022-04-12 曙光信息产业(北京)有限公司 集群远程通信测试方法以及系统
US11025598B1 (en) * 2020-02-08 2021-06-01 Mockingbird Ventures, LLC Method and apparatus for managing encryption keys and encrypted electronic information on a network server
US11876778B2 (en) * 2020-04-05 2024-01-16 Raja Srinivasan Methods and systems of a secure and private customer service automation platform
CN111371811B (zh) * 2020-04-23 2022-08-09 Oppo广东移动通信有限公司 一种资源调用方法、资源调用装置、客户端及业务服务器
WO2021232347A1 (en) * 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
CN112311768B (zh) * 2020-09-29 2022-06-28 新华三信息安全技术有限公司 非http协议应用的策略中心、控制系统、方法、介质及设备
US11502840B2 (en) * 2020-10-08 2022-11-15 Authentico Technologies Ab Password management system and method
US12120226B2 (en) * 2020-11-13 2024-10-15 Citrix Systems, Inc. Preventing HTTP cookie stealing using cookie morphing
CN112689014B (zh) * 2020-12-24 2024-06-21 百果园技术(新加坡)有限公司 一种双全工通信方法、装置、计算机设备和存储介质
CN112612985B (zh) * 2020-12-24 2024-07-23 广州致远电子股份有限公司 基于WebSocket的多用户和多类型消息的推送系统及方法
CN112751668B (zh) * 2020-12-29 2022-10-21 杭州永谐科技有限公司 一种低成本物联网数据加密通信系统
US20230040682A1 (en) 2021-08-06 2023-02-09 Eagle Telemedicine, LLC Systems and Methods of Automating Processes for Remote Work
US20230037854A1 (en) * 2021-08-06 2023-02-09 Eagle Telemedicine, LLC Systems and Methods for Automating Processes for Remote Work
CN113810468B (zh) * 2021-08-13 2023-04-18 济南浪潮数据技术有限公司 K8s架构下网关分发请求的方法、系统、设备和存储介质
CN113835908B (zh) * 2021-09-30 2024-10-01 武汉虹信技术服务有限责任公司 一种基于WebSocket的可实现有序重发的方法、系统、介质及设备
CN114301634A (zh) * 2021-12-09 2022-04-08 江苏网进科技股份有限公司 一种基于Oauth协议的门户系统用户共享方法
CN115086101B (zh) * 2022-05-13 2024-04-12 广东电力通信科技有限公司 一种支持海量modbus tcp连接的分布式系统及方法
US12052235B2 (en) 2022-07-18 2024-07-30 Cisco Technology, Inc. Protecting non-HTTP and TCP/UDP applications in a ZTNA/webVPN environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586260A (en) * 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US7177402B2 (en) * 2001-03-01 2007-02-13 Applied Voice & Speech Technologies, Inc. Voice-activated interactive multimedia information processing system
US20040139125A1 (en) * 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US6934706B1 (en) * 2002-03-22 2005-08-23 International Business Machines Corporation Centralized mapping of security credentials for database access operations
US20040088349A1 (en) * 2002-10-30 2004-05-06 Andre Beck Method and apparatus for providing anonymity to end-users in web transactions
US7546630B2 (en) * 2003-07-17 2009-06-09 International Business Machines Corporation Methods, systems, and media to authenticate a user
WO2006012058A1 (en) * 2004-06-28 2006-02-02 Japan Communications, Inc. Systems and methods for mutual authentication of network
US8515490B2 (en) * 2004-12-30 2013-08-20 Alcatel Lucent Method and apparatus for providing same session switchover between end-user terminals
US7945676B2 (en) * 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
US8046823B1 (en) * 2006-10-03 2011-10-25 Stamps.Com Inc. Secure application bridge server
US8474023B2 (en) * 2008-05-30 2013-06-25 Juniper Networks, Inc. Proactive credential caching

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114918A (ja) * 2013-12-12 2015-06-22 三菱電機株式会社 設備管理装置、通信制御方法、および、プログラム
JP2016066165A (ja) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 情報処理装置、システム及びプログラム

Also Published As

Publication number Publication date
WO2010138883A1 (en) 2010-12-02
US20100306547A1 (en) 2010-12-02
CN102884517A (zh) 2013-01-16
AU2010253949A1 (en) 2011-12-22
US8527774B2 (en) 2013-09-03
EP2435925A1 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
JP2012528411A (ja) 非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法
US8640202B2 (en) Synchronizing user sessions in a session environment having multiple web services
JP3995338B2 (ja) ネットワーク接続制御方法及びシステム
US6301661B1 (en) Enhanced security for applications employing downloadable executable content
JP4867663B2 (ja) ネットワーク通信システム
CN100581103C (zh) 安全地处理被用于基于web的资源访问的客户证书
CN102356620B (zh) 网络应用访问
EP2144420A1 (en) Web application security filtering
US6785729B1 (en) System and method for authorizing a network user as entitled to access a computing node wherein authenticated certificate received from the user is mapped into the user identification and the user is presented with the opprtunity to logon to the computing node only after the verification is successful
WO1999000958A1 (en) Data communications
WO2012095854A1 (en) System and method for accessing integrated applications in a single sign-on enabled enterprise solution
US20060212934A1 (en) Identity and access management system and method
CN107426174A (zh) 一种可信执行环境的访问控制系统及方法
CN108259437A (zh) 一种http访问方法、http服务器和系统
JP2008181310A (ja) 認証サーバおよび認証プログラム
CN112035822A (zh) 多应用单点登录方法、装置、设备及存储介质
US20150328119A1 (en) Method of treating hair
US20150281211A1 (en) Network security
JP6150719B2 (ja) 設備管理装置、通信制御方法、および、プログラム
US20180316689A1 (en) System and heuristics for verifying origin of request
KR100355660B1 (ko) 인터넷 환경에서의 사용자 인증방법 및 이를 위한 시스템
KR20080086256A (ko) 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체
JP2004355471A (ja) 不正アクセス防止方法
KR100366403B1 (ko) 인터넷 환경에서의 사용자 인증방법 및 이를 위한 시스템
JP6247060B2 (ja) セッション管理システムおよび方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20121005

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121005