JP5961638B2 - アプリケーション証明のためのシステムおよび方法 - Google Patents

アプリケーション証明のためのシステムおよび方法 Download PDF

Info

Publication number
JP5961638B2
JP5961638B2 JP2013554623A JP2013554623A JP5961638B2 JP 5961638 B2 JP5961638 B2 JP 5961638B2 JP 2013554623 A JP2013554623 A JP 2013554623A JP 2013554623 A JP2013554623 A JP 2013554623A JP 5961638 B2 JP5961638 B2 JP 5961638B2
Authority
JP
Japan
Prior art keywords
application
certification
server
peer
service
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.)
Expired - Fee Related
Application number
JP2013554623A
Other languages
English (en)
Other versions
JP2014505960A (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46653839&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5961638(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ターセーラ, インコーポレイテッド, ターセーラ, インコーポレイテッド filed Critical ターセーラ, インコーポレイテッド
Publication of JP2014505960A publication Critical patent/JP2014505960A/ja
Application granted granted Critical
Publication of JP5961638B2 publication Critical patent/JP5961638B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Program or device authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Description

(関連出願の相互参照)
本願は、米国仮特許出願61/443,854号(名称「SYSTEM AND METHOD FOR APPLICATION ATTESTATION」、2011年2月17日出願)の利益を主張し、この出願は、参照することによりその全体が本明細書に援用される。
(開示の分野)
本開示は、データセンター仮想化の分野に関し、より具体的には、ランタイム時のアプリケーションの証明を提供するためのシステムおよび方法に関する。
(関連技術の記載)
コンピューティングにおける最近の傾向の1つは、クラウドコンピューティングに向かう傾向であり、例えば、企業ソフトウェアは、もはや、顧客によって所有されず、代わりに、情報技術インフラストラクチャが、第三者によって提供され得、ソフトウェアアプリケーションは、サービス供与として販売される場合がある。
本開示される技術は、1つ以上のアプリケーションを発見し、および/または複数のアサーション(または、ステートメント)を使用して、またはそれに基づいて、ランタイム時の機器化された標的プラットフォーム上のアプリケーションを証明するための方法、装置、および/またはシステムとして具現化されてもよい。
本開示される技術はまた、複数の因子に基づいて、動的アプリケーション発見、識別、モニタリング、および/または証明によって、クラウドコンピューティング環境における可視性、制御、および/またはコンプライアンスを有効にする、複数のサービスのための方法、装置、および/またはシステムとして具現化されてもよい。
本開示される技術はまた、アプリケーションの動的証明に基づいて、ユーザ/アプリケーション接続を確立するためのさらなる方法、装置、および/またはシステム、ならびに/あるいは、例えば、ネットワークパケット内のカプセル化ヘッダと関連付けられたトポロジーベースの座標の代わりに、コンテキストを意識したビジネス論理に基づいてプロビジョニングされるセキュリティ制御として具現化されてもよい。
本開示される技術はまた、アプリケーションの動的証明に基づいて、認証相の間、確立された接続において、ユーザ/アプリケーショントランザクションおよび/またはデータ交換を認可するためのなおもさらなる方法、装置、および/またはシステムとして具現化されてもよい。
本開示される技術はまた、機器化された標的プラットフォーム上で起動するウェブおよび非ウェブアプリケーション(例えば、全ウェブおよび非ウェブアプリケーション)を検査するためのランタイムモニタ用の付加的方法、装置、および/またはシステムとして具現化されてもよい。本システムは、証明サーバを使用し、アプリケーションアーチファクトを生成し、および/またはアプリケーションステートメントまたはクレームを発行するように構成される、証明サービス(または、ブローカー)を含んでもよい。アプリケーションアーチファクトは、機器化されたプラットフォーム(限定されないが、携帯情報端末(PDA)、タブレットコンピューティングデバイス、iPhoneTM、iPodTM、iPadTM、Google Inc.製Androidオペレーティングシステム(OS)を動作させるデバイス、Microsoft Windows(登録商標)Mobile OSを起動させるデバイス、Microsoft Windows(登録商標)Phone OSを起動させるデバイス、Symbian OSを起動させるデバイス、Hewlett Packard,Inc.製ウェブOSを起動させるデバイス、携帯電話、BlackBerry(登録商標)デバイス、スマートフォン、ハンドヘルドコンピュータ、ネットブックコンピュータ、パームトップコンピュータ、ラップトップコンピュータ、ウルトラモバイルPC、ポータブルゲームシステム、ゲームコンソール、またはコンピュータ、マイクロプロセッサを有する、別の類似タイプのコンピューティングデバイス等)上に識別されたアプリケーションインスタンスを表してもよい(例えば、規定または所定の期限を有するアプリケーションアーチファクトを使用して、例えば、ランタイム時に、グローバルに、一意に、不透明下、および/または時間依存様式において)。アプリケーションステートメントは、検査されたランタイム実行コンテキストおよび/またはインテリジェンスベースのセキュリティコンテキストに関する少なくとも1つのステートメント(または、クレーム)を含んでもよい。
ランタイムモニタは、ローカル証明プロセスを使用後、アプリケーションの実行コンテキストを検査するように構成されてもよい。各個別のアプリケーションの実行コンテキストは、関連付けられたファイル、プロセス、および/またはネットワークエポック(例えば、ソケットイベント)を含んでもよい。本システムは、コンピューティングプラットフォーム(例えば、機器化された標的プラットフォーム)上の標的アプリケーションの証明およびセキュリティコンテキスト要求に基づいて、ウェブまたは非ウェブアプリケーション(例えば、クライアント−サーバまたはピアツーピアアプリケーション)に対して、ユーザを認証するように構成される、任意のタイプの識別プロバイダを含んでもよい。
本開示される技術はまた、1つ以上の発行されたアプリケーションステートメント(例えば、証明サービスまたは別のエンティティによって発行された)に応答して、機器化された標的プラットフォーム上の標的アプリケーションへの認証されたユーザの物理的アクセスを制御するためのネットワークアクセスエンフォーサを含み得る、方法、装置、および/またはシステムとして具現化されてもよい。
本開示される技術はまた、1つ以上の発行されたアプリケーションステートメント(例えば、証明サービスによって発行された)に応答して、機器化された標的プラットフォーム上の標的アプリケーションとのトランザクションを着手するために、認証されたユーザの認証を制御するための識別プロバイダを含む、別の方法、装置、および/またはシステムとして具現化されてもよい。
本開示される技術はまた、少なくとも、起動中のアプリケーションインスタンス(例えば、とりわけ、ユーザプログラムまたはサービスプログラム)のための登録された名称(例えば、登録されたグローバル一意セキュリティプリンシパル名)を含み得る、アプリケーションアーチファクトによって具現化されてもよい。証明サービスは、機器化された標的プラットフォーム上の起動中のアプリケーションインスタンスのランタイムローカル実行コンテキストに基づいて、アーチファクトを生成するように構成されてもよい。
本開示される技術はまた、(1)起動中のアプリケーションインスタンスのための登録された名称(例えば、登録されたグローバル一意セキュリティプリンシパル名)、(2)デジタル的に署名された証明書、(3)作成および/または修正タイムスタンプ、(4)複数の協調サービスからのセキュリティコンテキストアサーション、(5)アクティブなリッスンおよび/またはオープンネットワークポート(例えば、ウェルノウンおよび/またはエフェメラル)のリスト、(6)アプリケーションによって使用されるネットワークアドレス、(7)プロダクト発行元、(8)プロダクトバージョン、および/または(9)他のランタイムローカル実行コンテキスト情報のうちの少なくとも1つを含み得る、1つ以上のアプリケーションステートメントまたはクレームによって具現化されてもよい。
本開示される技術はまた、1つ以上の起動中のアプリケーションの内省されたセキュリティコンテキストに関する属性値アサーションを含み得る、1つ以上のアプリケーションステートメントまたはクレームによって具現化されてもよい。内省されたセキュリティコンテキストは、複数の協調サービスのうちの1つ(例えば、任意の1つ)から受信されてもよい。
本開示される技術はまた、(1)アプリケーションホワイトリストサービス(例えば、任意のアプリケーションホワイトリストサービス)、(2)脆弱性査定サービス、(3)パッチ管理サービス、(4)アンチウイルスサービス(5)予測および挙動分析エンジン、(6)編成サービス、(7)ネットワーク侵入検出または防止サービス、(8)オープンフロースイッチコントローラ、および/または(9)マルウェア分析システムを含み得る、複数の協調サービスによって具現化されてもよい。
本開示される技術はまた、(1)単一サインオンサービスまたは仲介認証サービスを含み得る、識別プロバイダ、(2)例えば、ネットワークファイアウォール、ロードバランサ、および/またはVPNゲートウェイ等のデバイスを含み得、アプリケーションステートメントまたはクレームに基づいて、アクセスを制御するためのポリシー実施ポイントとして構成され得る、ネットワークアクセスエンフォーサによって具現化されてもよい。
本開示される技術はまた、ウェブアプリケーション(例えば、コンテナ要素内のサーブレット)の真正性を評価するための方法、装置、および/またはシステムとして具現化されてもよい。本方法は、証明サービスから、ウェブアプリケーションのためのランタイムアプリケーションアーチファクトを要求するステップと、アプリケーションアーチファクトに基づいて、証明サービスから、アプリケーションステートメントを要求するステップとを含んでもよい。本方法はさらに、複数の協調サービスから、例えば、証明サービスによって、機器化された標的プラットフォーム上のウェブアプリケーションのためのコンテキスト(例えば、内省ベースのセキュリティコンテキスト)を要求するステップを含んでもよい。本方法はまた、機器化された標的プラットフォームと、証明サービスを提供するサーバとの間に通信チャネル(例えば、セキュアな通信チャネル)を確立するステップと、ウェブアプリケーションの少なくとも1つの構成要素に対応するアプリケーションステートメントを生成するステップとを含んでもよい。本方法は、親/子関連付けおよび/またはローダ依存性に基づいて、アプリケーション構成要素に関するステートメントを生成するステップと、アプリケーションステートメントを識別プロバイダに伝送するステップとを含んでもよい。本方法はさらに、パッシブウェブクライアントまたはブラウザとともに含まれるべき、かつそれによってネイティブにレンダリングされるべき、ウェブアプリケーションの多因子信頼指標を生成するステップを含んでもよい。
本開示される技術は、非ウェブクライアント−サーバアプリケーションおよび/またはピアツーピアアプリケーションの真正性を評価するための別の方法、装置、および/またはシステムとして具現化されてもよい。本方法は、証明サービスから、例えば、ランタイムモニタによって、アプリケーションのためのアプリケーションアーチファクトを要求するステップと、証明サービスから、例えば、ネットワークアクセスエンフォーサによって、アプリケーションステートメントを要求するステップとを含んでもよい。本方法はさらに、証明サービスによって、複数の協調サービスから、機器化された標的プラットフォーム上のアプリケーションのためのコンテキスト(例えば、内省ベースのセキュリティコンテキスト)を要求するステップを含んでもよい。本方法はまた、機器化された標的プラットフォーム上のアプリケーションの実行コンテキストにおける変更(例えば、任意の変更)の通知を要求するステップ、またはそれをサブスクライブするステップを含んでもよい。本方法は、加えて、複数の識別プロバイダおよび/またはネットワークアクセスエンフォーサによるサブスクリプション要求のうちの少なくとも1つに基づいて、アプリケーションに関する(についての)1つ以上のアプリケーションステートメントまたはクレームを生成および公開するステップを含んでもよい。本方法はさらに、物理的または論理的アクセス制御決定のためのアプリケーションの多因子信頼指標を受信または生成し、公開するステップを含んでもよい。
本開示される技術はまた、トランザクションまたはデータ交換(例えば、任意のトランザクションまたはデータ交換)の着手に先立って、ピアの真正性を評価するために、クライアント−サーバおよび/またはピアツーピアアプリケーションのための方法、装置、および/またはシステムとして具現化されてもよい。本方法は、証明サービス(または、証明サーバ)から、アプリケーションのそれぞれのためのアプリケーションアーチファクトを要求し得る、クライアント−サーバアプリケーションおよび/またはピアツーピアアプリケーションを含んでもよく、さらに、アーチファクト交換に基づいて、証明サービスから、各ピアアプリケーションのための1つ以上のアプリケーションステートメントを要求してもよい。本方法はさらに、証明サービスによって、複数の協調サービスから、これらの機器化された標的プラットフォーム上のアプリケーションのためのコンテキスト(例えば、内省ベースのセキュリティコンテキスト)を要求するステップを含んでもよい。本方法はさらに、アプリケーション間の発行されたアプリケーションアーチファクトのセキュアな交換と、照合プロセス(証明サービスと交換されたアーチファクトのバックチャネル照合等)とを含んでもよい。本方法はさらに、交換されたアプリケーションアーチファクトに基づいて(または、それに応答して)、証明サービスから、1つ以上のアプリケーションステートメントを要求するステップと、ピアアプリケーションによって、または1つ以上のアプリケーションステートメントを受信する、ネットワークアクセスエンフォーサによって、アプリケーションステートメントの受信に応答して、トランザクションにおける他のまたは各アプリケーションの真正性を決定するステップとを含んでもよい。
本開示される技術はまた、リアルタイムまたはほぼリアルタイム(例えば、閾値周期内)で、クラウドコンピューティングインフラストラクチャ内のプライベートおよび/または公共仮想データセンターにホストされた実行中または起動中(例えば、全起動中の)アプリケーションの識別、属性、および/または証明情報を表示し、継続的に更新するための方法、装置、および/またはシステムとして具現化されてもよい。本方法は、1つ以上の分類ベースの信頼指標と、複数の機器化された標的プラットフォーム上に割り当てられたアクティブなリッスンおよび/またはオープンネットワークポート(例えば、ウェルノウンおよびエフェメラル)とを表示するステップを含んでもよい。
本開示される技術はまた、ユーザ認証方法、ユーザの役割、証明サービスから、サブスクリプションベースのアプリケーションステートメントを介して、機器化された標的プラットフォーム上で起動する、動的に発見および証明されたアプリケーションに基づいて、アクセス制御ポリシーを確立するための方法、装置、および/またはシステムとして具現化されてもよい。本方法はまた、ビジネス論理(とりわけ、役割ベースのアクセス制御、認証要件、および/またはビジネスアプリケーションのライン)をネットワークファブリック内のネットワークトポロジーベースの物理的制約(例えば、とりわけ、IPアドレス、MACアドレス、VLAN識別子、および/またはサブネットアドレス)から分断するステップを含んでもよく、ポリシー文法にコンテキストを意識した論理的属性(とりわけ、ユーザ識別および/またはアプリケーション識別)を含んでもよい。本方法はさらに、認証決定のために使用される、アプリケーションステートメント内に含まれ得る、分類ベースの動的信頼指標を利用し得る、アクセス制御ルールを確立するステップを含んでもよい。
例えば、本願発明は以下の項目を提供する。
(項目1)
証明サーバを使用して、コンピューティングプラットフォーム上で実行中のランタイム時のアプリケーションのための証明サービスを提供する方法であって、該方法は、
該コンピューティングプラットフォームから遠隔の該証明サーバによって、
ランタイム時の該アプリケーションの属性を示すランタイム実行コンテキストと、
該アプリケーションに関するセキュリティ情報を提供するセキュリティコンテキストと
を受信することと、
該証明サーバによって、該受信されたランタイム実行コンテキストおよび該受信されたセキュリティコンテキストに基づいて、証明結果として、該アプリケーションと関連付けられたセキュリティリスクを示すレポートを生成することと、
該証明サーバによって、該アプリケーションと関連付けられた該証明結果を送信することと
を含む、方法。
(項目2)
前記証明サーバによって、その後の実行コンテキストにおける変更に対する基準として、アプリケーションアーチファクトを生成することと、
該ランタイム実行コンテキストへのその後の変更が、該生成されたアプリケーションアーチファクトに基づいて追跡されるように、該生成されたアプリケーションアーチファクトを送信することと
をさらに含む、項目1に記載の方法。
(項目3)
前記証明結果および前記アプリケーションアーチファクトをデジタル的に署名することをさらに含む、項目2に記載の方法。
(項目4)
前記受信されたセキュリティコンテキストは、内省的セキュリティコンテキストである、項目1に記載の方法。
(項目5)
前記アプリケーションと関連付けられたセキュリティリスクを示す前記レポートを生成することは、前記証明サーバによって、前記受信されたランタイム実行コンテキストおよび前記受信された内省的セキュリティコンテキストに関する1つ以上のセキュリティアサーションを生成することを含む、項目1に記載の方法。
(項目6)
複数の協調サービスを使用して、前記アプリケーションを認証することをさらに含む、項目1に記載の方法。
(項目7)
一組の認証ルールを前記証明結果に従って適用することによって、前記アプリケーションとのユーザのトランザクションを制御することをさらに含む、項目1に記載の方法。
(項目8)
一組の認証ルールを前記証明結果に従って適用することによって、前記アプリケーションへのユーザのネットワークアクセスを制御することをさらに含む、項目1に記載の方法。
(項目9)
異なる分類によってセキュリティリスクのレベルを示す、前記証明結果の中の信頼指標を提供することをさらに含み、それにより、前記アプリケーションとのユーザのトランザクションに関する制限が、該証明結果の中の該信頼指標によって示される該セキュリティリスクのレベルに基づいて適用される、項目1に記載の方法。
(項目10)
前記ユーザのトランザクションに関する制限の適用は、前記アプリケーションへのユーザのネットワークアクセスに関する制限を適用することを含む、項目9に記載の方法。
(項目11)
前記ユーザのトランザクションに関する制限の適用は、ルーティング決定を適用し、前記ユーザを代替コンピュータプラットフォームにリダイレクトすることを含む、項目1に記載の方法。
(項目12)
ネットワークアクセスエンフォーサによって、前記証明結果に基づいて、前記アプリケーションへのユーザのアクセスを制御することをさらに含む、項目1に記載の方法。
(項目13)
命令が自身に記憶されている非一過性コンピュータ可読媒体であって、該命令は、コンピューティングデバイスによって実行される場合、証明サーバを使用して、該コンピューティングデバイスに、クライアント−サーバまたはピアツーピアトランザクションにおけるアプリケーションの相互証明を提供するための動作を行わせ、該動作は、
該証明サーバによって、第1のアプリケーションアーチファクトを生成および送信することと、
該第1のアプリケーションアーチファクトを受信および照合することであって、該第1のアプリケーションアーチファクトは、該クライアントサーバトランザクションにおけるサーバから、または該ピアツーピアトランザクションにおける第1のピアから該証明サーバによって、クライアントサーバトランザクションにおけるクライアントに、または該ピアツーピアトランザクションにおける第2のピアに、該証明サーバによって送信される、ことと、
該クライアント−サーバまたはピアツーピアトランザクションにおいて使用される相互に関係付けられたアプリケーションについてのアプリケーションステートメントを生成し、該クライアントおよび該サーバに、または該第1および第2のピアに送信することと
を含む、コンピュータ可読媒体。
(項目14)
前記動作は、
前記証明サーバによって、第2のアプリケーションアーチファクトを生成および送信することと、
該第2のアプリケーションアーチファクトを受信および照合することであって、該第2のアプリケーションアーチファクトは、前記クライアントサーバトランザクションにおけるクライアントから、または前記ピアツーピアトランザクションにおける第2のピアから該証明サーバによって、クライアントサーバトランザクションにおけるサーバに、または該ピアツーピアトランザクションにおける第1のピアに、該証明サーバによって送信される、ことと
をさらに含む、項目13に記載のコンピュータ可読媒体。
(項目15)
前記クライアントおよび前記サーバへの、または前記第1および第2のピアへの前記アプリケーションステートメントの送信は、動作を含み、該動作は、
前記証明サーバによって、
前記相互に関係付けられたアプリケーションのうちのクライアントアプリケーションに関する該アプリケーションステートメントを前記クライアント−サーバトランザクションのサーバに、および該相互に関係付けられたアプリケーションのうちのサーバアプリケーションに関する該アプリケーションステートメントを該クライアント−サーバトランザクションのクライアントに、または
該相互に関係付けられたアプリケーションのうちの第1のピアアプリケーションに関する該アプリケーションステートメントを前記ピアツーピアトランザクションの第2のピアに、および該相互に関係付けられたアプリケーションのうちの第2のピアアプリケーションに関するアプリケーションステートメントを該ピアツーピアトランザクションの第1のピアに
送信することと、
該送信されたアプリケーションステートメントに少なくとも部分的に基づいて、関連付けられたアプリケーションとのデータ交換をトランザクションするか否かを決定することと
を含む、項目14に記載のコンピュータ可読媒体。
(項目16)
前記アプリケーションステートメントを生成することは、
該アプリケーションステートメントの中に、信頼指標およびコンテキストアサーションを含むこと
を含み、
前記関連付けられたアプリケーションとのデータ交換をトランザクションするか否かを決定することは、
それぞれの信頼指標を一組のルールと比較することと、
該比較に基づいて、データ交換をトランザクションするか否かを決定することと
を含む、項目15に記載のコンピュータ可読媒体。
(項目17)
証明サーバを使用して、起動中のウェブアプリケーションまたはウェブサーブレットの真正性の証明を提供するための方法であって、該方法は、
起動中のウェブアプリケーションまたはサーブレットインスタンスのためのアプリケーションアーチファクトを要求することと、
ウェブサーバと該証明サーバとの間にセキュアなチャネルを確立することと、
該ウェブアプリケーションまたはサーブレットインスタンスの実行コンテキストに対応する少なくとも1つのハッシュファイルダイジェストを生成することと、
該ウェブアプリケーションまたはウェブサーブレットインスタンスの少なくとも1つの要素または該実行コンテキストに対応する少なくとも1つのファイル属性を決定することと、
アプリケーションレポートを識別プロバイダに送信することと、
受信されたセキュリティコンテキストおよび受信されたローカル実行コンテキストに基づいて、アサーションを生成することと、
該レポートの中の信頼指標を該識別プロバイダに伝送することと、
ウェブブラウザによってレンダリングするためのデジタルアイコンとして、該起動中のウェブアプリケーションまたはウェブサーブレットの証明を提供することと
を含む、方法。
(項目18)
前記証明は、ユーザとの確立された接続における任意のデータ交換の着手に先立って提供される、項目17に記載の方法。
(項目19)
前記証明は、ユーザとのネットワーク接続の確立に先立って提供される、項目17に記載の方法。
(項目20)
ユーザ入力に応答してアクセスされるべき前記ウェブアプリケーションに関する証明情報をレンダリングすることをさらに含む、項目19に記載の方法。
(項目21)
自己管理およびオンプレミスの、またはアウトソースのサービスプロバイダ管理インフラストラクチャ上にホストされた起動中のアプリケーションを継続的にモニタリングするためのシステムであって、該システムは、
標的ユーザまたはサービスプログラムをホストするための機器化された標的プラットフォームと、
アプリケーション証明サービスであって、該サービスは、
検査ベースのランタイムローカル実行コンテキストおよび内省ベースのセキュリティコンテキストに関する複数のアサーションを含む、グローバルに一意の、不透明な、および時間依存のアプリケーションアーチファクトおよびアプリケーションステートメントを生成することと、
該機器化された標的プラットフォームを修正することであって、該修正することは、該機器化された標的プラットフォームのイメージの再適用、スナップショット、または隔離のうちの1つ以上を含む、ことと
のためのものである、アプリケーション証明サービスと、
該機器化された標的プラットフォーム上の起動中のアプリケーションプロセスを発見、識別、および検査するための、および少なくとも該ランタイムローカル実行コンテキストを含むメタデータを生成するためのランタイムモニタと、
協調サービスであって、該サービスは、
該機器化された標的プラットフォーム上で起動する標的アプリケーションのための内省されるセキュリティコンテキストを提供することと、
該機器化された標的プラットフォーム上で起動する標的アプリケーションのための実行可能ファイルバイナリを分析することと
を行うように構成されている、協調サービスと、
グラフィカルユーザインターフェースであって、該インターフェースは、
該証明サービスのメタデータリポジトリから、動的アサーションを要求および受信することであって、該動的アサーションは、該ローカル実行コンテキスト、すなわち、機器化された標的プラットフォーム上で起動中のアプリケーションインスタンスの該内省されるセキュリティコンテキストに関する、ことと、
該動的アサーションをシステムアドミニストレータに継続的に表示することと、
該動的アサーションおよび所定の基準に基づいて、アラートをプロビジョニングおよび発信することと
を行うように構成されている、グラフィカルユーザインターフェースと
を備える、システム。
(項目22)
ネットワークアクセスエンフォーサは、証明サービスから、動的アプリケーションステートメントをサブスクライブおよび受信することにより、前記コンテキストアサーションを分析し、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスが許可または拒否されるか否かを決定する、項目21に記載のシステム。
(項目23)
前記グラフィカルユーザインターフェースは、クライアント特有のダッシュボードまたはポータル上に、機器化された標的プラットフォーム上で起動する前記アプリケーションを表示し、各関連付けられたアプリケーション実行コンテキストのために、
サービスホスト名、
サービス領域、
サービスプリンシパル名、
プロダクトバージョン、
プロダクトベンダ、
1つ以上の分類ベースの信頼指標、
アクティブなネットワークサービスポート、または
実行可能ファイルバイナリ
のうちの少なくとも1つを提示する、項目21に記載のシステム。
(項目24)
識別プロバイダをさらに備え、該識別プロバイダは、前記証明サーバからの動的アプリケーションステートメントをクエリすることにより、前記コンテキストアサーションを分析し、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするために、認証を許可または拒否されるか否かを決定する、項目21に記載のシステム。
(項目25)
ネットワークアクセスエンフォーサをさらに備え、該ネットワークアクセスエンフォーサは、サブスクリプションに基づいて、証明サービスから受信された動的アプリケーションステートメントの中に含まれる分類ベースの信頼指標を分析することにより、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスが許可または拒否されるか否かを決定する、項目21に記載のシステム。
(項目26)
識別プロバイダは、サブスクリプションに基づいて、証明サービスから受信された動的アプリケーションステートメント内に含まれる分類ベースの信頼指標を分析することにより、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするための認証を許可または拒否されるか否かを決定する、項目21に記載のシステム。
本発明は、付随の図面と併せて熟読されることによって、以下の発明を実施するための形態から最も理解される。一般的実践に従って、図面の種々の特徴/要素は、正確な縮尺で描かれていない場合がある。共通参照数字は、類似特徴/要素を表す。以下の図が、図面に含まれる。
図1は、種々の例示的実施形態による、例示的システム/アーキテクチャを図示する概略図である。 図2は、種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明する方法を図示する概略図である。 図3は、種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明する別の方法を図示する概略図である。 図4は、種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明するさらなる方法を図示する概略図である。 図5は、種々の例示的実施形態による、Simple Authentication and Security Layer(SASL)対応クライアントおよびサーバアプリケーションをモニタリングおよび証明する方法を図示する概略図である。 図6は、種々の例示的実施形態による、整合性ダッシュボードを含む、例示的セキュリティ管理コンソールを図示する概略図である。 図7は、種々の例示的実施形態による、認証ダッシュボードを含む、別の例示的ポリシー管理コンソールを図示する概略図である。 図8は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図9は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図10は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図11は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図12は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図13は、本開示される技術の種々の例示的実施形態による、方法を図示する流れ図である。 図14は、実施形態が実装され得る、例示的コンピュータシステムの略図である。
本発明は、具体的実施形態を参照して、図示および本明細書に説明されるが、本発明は、示される詳細に限定されることを意図するものではない。むしろ、種々の修正は、請求項の均等物の適用範囲および活動範囲内において、本発明から逸脱することなく、その詳細に行われてもよい。
多くの企業は、以下を含む、種々の理由から、ITインフラストラクチャからクラウドコンピューティング環境(例えば、第三者が、共有コンピューティングリソースを提供し得、それらのリソース上で起動するアプリケーションが、複数の顧客へのサービスとして供与される)へと移行しつつある:とりわけ、(1)コンピューティング能力の増加、(2)記憶容量の増加、および/または(3)ネットワーク帯域幅の増加。企業アプリケーションおよびミッションクリティカルなアプリケーションは、クラウド内で実行され得る。適正なシステムおよびアプリケーションセキュリティを伴わない場合、クラウドは、これらのアプリケーションを危険に曝し、多大なる財政的損失を生じさせ得る。データ機密性、データ整合性、およびデータ可用性は、そのようなアプリケーションが、これらの第三者によって制御され得るときでさえ、クラウドコンピューティング環境において、維持することができる。例えば、企業は、自己管理オンプレミスデータセンターからサービス−プロバイダ管理アウトソース仮想データセンター(例えば、クラウドコンピューティング環境)へと移行しつつある。クラウドは、従来の情報技術システムおよびアプリケーションが、これらのサービス−プロバイダ管理アウトソース仮想データセンターから、透過的に実行されることを有効にし得る。より新しい技術が出現するにつれて、クラウドインフラストラクチャは、企業運用に対して透過的かつそれに伴ってスケーラブルに進化し得る。そのような環境におけるセキュリティは、新たな課題となり得る。
ある例示的実施形態では、アプリカントは、証明プロセス(例えば、単一因子または多因子証明を介して)を使用して、ネットワーク上へアプリケーションをサインオンまたは認証することによって、セキュア化されてもよい。多因子プロセスでは、アプリケーションは、少なくとも2つの因子に基づいて、認定されてもよい。第1の因子は、とりわけ、(1)アプリケーションフィンガープリントとしてのアプリケーションのハッシュ、(2)アプリケーションによって呼び出される他のアプリケーション/プロセス、(3)アプリケーションによって使用されるポート、(4)アプリケーションによるコンピューティング、記憶、およびネットワークリソース使用、および/または(5)アプリケーションを実行するプラットフォーム等のアプリケーションの1つ以上の属性(例えば、アプリケーションのランタイムインスタンス)を識別し得る。そのような情報は、現在の実行コンテキストにおいて、ローカルに利用可能であってもよい(例えば、アプリケーションを起動するコンピューティングプラットフォームにおいて)。第2の因子は、オペレーティング環境外部のセキュリティインテリジェンス(例えば、アプリケーションを起動するコンピューティングプラットフォームと別個の第三者(例えば、信頼できる第三者))からのアプリケーションの属性に基づいて、アプリケーションに関して分かることを識別し得る。
自己管理および社内企業データセンター内にホストされているアプリケーションは、プライベート/公共クラウド内のアウトソースサービスプロバイダ管理仮想データセンターへと徐々に乗り換えつつあり得る。本乗り換えから、可視性および直接制御が喪失され得る。種々の例示的実施形態は、処理中のアプリケーションをモニタリングし、可視性を増加させ、アウトソースサービスプロバイダ管理仮想データセンター内で実行するアプリケーションの証明を有効にするための手段を含む。ウェブおよび多層アプリケーションが、クラウド内で急増するにつれて、有意な数のウェブベースの脅威が、信頼できるウェブサイトから発生するため、第三者証明書機関によって発行された証明書に基づく、セキュアな接続は、セキュリティおよびコンプライアンスに対して不適正となり得る。
概して、アクセス制御機構は、論理的属性ならびに動的ローカル実行コンテキストおよび/または総合的セキュリティコンテキスト(例えば、ローカル実行コンテキストならびにセキュリティインテリジェンスの両方に基づく)ではなく、静的コンテキストおよび物理的制約に基づく。ビジネス論理の動作要素として、ユーザ/アプリケーション結合に基づく、物理的および論理的アクセス制御、ならびに仮想化され、流動的ネットワーク内の論理的属性が、クラウドコンピューティング環境において使用され(サービスモデルとして、ユーティリティベースのインフラストラクチャ、プラットフォーム、および/またはソフトウェアのために)、テナント間の決定的機密性を伴って、マルチテナントまたは共有リソースのために拡張し、それを実行可能にし得る。
アクセス制御機構は、機器化された標的(ホスティング)コンピューティングプラットフォーム、特定のアプリケーションのランタイムベースに基づくポリシーステートメント(例えば、グラマー)、物理的制約または実施方法から独立した時間的および環境的コンテキスト、双方向ユーザ、ネットワークアクセスエンフォーサ、および識別プロバイダに通知するための証明ブローカー(サービスまたはサーバ)を含んでもよい。
シングルサインオン(SSO)機構および多層アプリケーション(例えば、ウェブ、アプリケーション、データベース層)の複合は、アウトソースマルチテナントクラウドサービスインフラストラクチャにおいて、非コンプライアンスのより高いリスクを導入し得る。真正性のあるアプリケーション証明方法がない場合、ユーザの認証情報の偽装および委譲は、例えば、サービスのマルチホップ遷移チェーンにおいて、サービス間トランザクションが、暗黙的信頼に基づき得る、クラウド内およびクラウド間コンピューティング環境の両方に対して、深刻なセキュリティ脅威をもたらし得る。
図1は、種々の例示的実施形態による、例示的ネットワーク150を図示する概略図である。
図1を参照すると、例示的ネットワーク150は、コンピューティングプラットフォーム(または、機器化された標的プラットフォーム)100上で実行または起動し得る、ウェブベースのアプリケーション103または非ウェブベースのアプリケーション104を発見および識別し得るランタイムモニタ102と、起動中のアプリケーションの識別を証明するための要求を受信し得る、および1つ以上の協調サービス110にクエリを行い、起動中のアプリケーションのコンテキスト(例えば、セキュリティコンテキストおよび/または内省ベースのセキュリティコンテキスト)を要求し得る証明ブローカー109とを含んでもよい。アプリケーションは、例えば、アプリケーションが、使用されるために適切であることの保証または証明を所望し得るアクティブまたはパッシブクライアントアプリケーション116を介して、ユーザ(または、エンドユーザ)115によって動作され得るアクセスリクエスタ114(例えば、別のコンピューティングプラットフォーム)によって使用することを対象とするアプリケーションであってもよい。
証明ブローカー109(または、協調サービス110)は、起動中の標的アプリケーションに関するアサーションを含み得る、アプリケーションステートメントまたはレポート117を生成するように構成されてもよく、ステートメントまたはレポート117をリクエスタ、第三者、および/またはエンドユーザに配信してもよい。プラットフォーム100は、例えば、任意のコンピューティングデバイス101および/または仮想プラットフォーム(例えば、とりわけ、コンピュータ、マイクロプロセッサ、携帯情報端末(PDA)、スマートフォン、ノートブックコンピュータ、および/またはハードウェア上で起動する仮想サーバ)を含んでもよい。コンピューティングデバイスは、例えば、とりわけ、オペレーティングシステムソフトウェア、アプリケーション、およびランタイムモニタソフトウェア等のコンピューティングプラットフォームソフトウェアの実行のためのマイクロプロセッサ130と、データ、メタデータ、およびソフトウェア記憶のためのメモリ140とを含んでもよい。
証明ブローカー109は、アプリケーションアーチファクト107(例えば、機器化されたプラットフォーム100上で起動する、発見または識別されたアプリケーションの状態の記録を維持し得る)を機器化されたプラットフォーム100上で起動する、発見または識別されたアプリケーションのためのランタイムモニタ102に発行してもよい。ランタイムモニタ102は、アプリケーションアーチファクト107を使用して、アプリケーションのアプリケーション実行コンテキスト105を記述するための属性値アサーション(例えば、各個別の起動中のアプリケーションと関連付けられた1つ以上の属性値についてのアサーション)を生成してもよい。
例えば、証明サービスまたは装置は、(1)コンピューティングプラットフォーム101から、ランタイム時のアプリケーションの属性を示すランタイム実行コンテキスト105、およびアプリケーションに関するセキュリティ情報を提供するセキュリティコンテキスト111を遠隔で受信し、(2)証明結果として、受信されたランタイム実行コンテキスト105および受信されたセキュリティコンテキスト111に基づいて、アプリケーションと関連付けられたセキュリティリスクを示すレポート117を生成し、および/または(3)アプリケーションと関連付けられた証明結果を送信するための処理ユニット135と、生成されたレポートを記憶するためのメモリ145とを含んでもよい。
第2の実施例として、ランタイムモニタまたはモニタリング装置は、(1)ランタイム時のアプリケーションの属性を示すランタイム実行コンテキスト105を生成し、(2)ランタイム実行コンテキスト105を証明サービスまたはサーバ109に送信し、(3)ランタイム実行コンテキスト105へのその後の変更を追跡するためのアプリケーションアーチファクト107を受信し、および/または(5)変更を示すアプリケーションの属性に応答して、アプリケーションアーチファクト107を使用して、更新された実行コンテキストとして、ランタイム実行コンテキスト105を更新および送信するための処理ユニット130(例えば、コンピューティングプラットフォーム101と共有されるプロセッサまたは別個のプロセッサ)と、アプリケーションアーチファクト107を記憶するためのメモリ140とを含んでもよい。
アプリケーションアーチファクトは、以前のアサーションを含んでもよく、またはアプリケーションを以前のアサーションに関連付ける識別子を提供してもよい。アプリケーション実行コンテキスト105は、少なくとも、標的アプリケーションのベース(または、静的)、時間的(または、動的)、および/または環境的側面あるいは属性を含んでもよい。リクエスタ(例えば、ネットワークアクセスエンフォーサ113、例えば、ネットワークファイアウォール、ロードバランサ、VPNゲートウェイ、および/または識別プロバイダ112、例えば、セキュリティトークンサービス(STS)、シングルサインオン(SSO)ソリューション)は、アプリケーションステートメントまたはレポート117を証明ブローカー109からサブスクライブしてもよい。
ある例示的実施形態では、機器化されたプラットフォーム100上のランタイムモニタ102による、アプリケーション実行コンテキスト105のための属性値アサーションの生成は、例えば、起動中の標的アプリケーション103または104のロードされた(例えば、全てロードされたおよび/または処理中の)構成要素に対するファイルハッシュダイジェストおよび/またはファイル属性(例えば、ファイルサイズ、発行元詳細、作成および/または修正タイムスタンプ、デジタル署名、およびプロダクトバージョン)の集合を含んでもよい。アプリケーション実行コンテキスト105は、親−子プロセス関連付けおよび/またはローダ依存性、ウェルノウンまたはエフェメラルである、アクティブなリッスンおよび/またはオープンネットワークポートに関する情報を含んでもよい。アプリケーション実行コンテキスト105はまた、実行可能ファイルバイナリを含んでもよい。ランタイムモニタ102は、アプリケーション実行コンテキスト通知内に、証明ブローカー109へのデジタル的に署名されたレポートとして、そのような集合を生成および報告してもよい。
ある例示的実施形態では、協調サービス110を使用する、標的である機器化されたプラットフォーム100上の起動中の標的アプリケーション103または104の評価の結果として(または、それに基づいて)、証明ブローカー109は、アプリケーションステートメント通知118を介して、アプリケーションステートメントまたはレポート117を発行してもよい。発行されたアプリケーションステートメントまたはレポート117は、デジタル的に署名され、そのアプリケーション識別子として、アプリケーションインスタンスの名称(例えば、アプリケーションインスタンスのグローバル一意セキュリティプリンシパル名または他のアプリケーション識別子)を含んでもよい。アプリケーションインスタンスは、ユーザプログラムまたはサービスプログラムであってもよい。そのような名称の一実施例は、「サービス/ホスト名@領域」であり得る。
アプリケーションステートメントまたはレポート117は、機械識別子として、機器化されたプラットフォーム100上のアプリケーションインスタンスのランタイム実行コンテキスト105およびアプリケーションセキュリティコンテキスト111を記述し得る、属性値アサーションを含んでもよい。アプリケーション識別子は、サービスディレクトリ内の発行元指定プロダクト名または登録されたサービスプリンシパル名であってもよい。機械識別子は、とりわけ、IPv4/IPv6アドレス、ディレクトリネットワークサービス(DNS)ホスト名、MACアドレス、製造番号(例えば、ITまたは製造業者発行製造番号)、RFID、および/または他のデバイス識別子であってもよい。証明ブローカー109は、リクエスタ112、113、または114に、1つ以上のレーティング(例えば、標的アプリケーションに対するアプリケーション信用レーティング)を含み得る、信頼指標を提供してもよい。
信頼指標は、例えば、(1)アプリケーションの脆弱性、(2)アプリケーションのコンプライアンス、(3)アプリケーションの参照整合性、および/または(4)標的アプリケーションのパッチレベルに基づいて、分類されてもよい。これらのレーティングは、複数の協調サービス110のうちの1つ以上との通信または相互作用に基づいて、証明ブローカー109によって決定されてもよい。信頼指標は、分類または平均によって重み付けされる、各分類に対する値および/または全体的値を含んでもよい。重み付けは、既定、プリセット、またはユーザ入力に基づいて決定されてもよい。信頼指標は、協調サービス110のうちの1つ以上の評価の数値表現であってもよい。
ある例示的実施形態では、アプリケーションステートメントまたはレポート117は、アイコンまたは他のインジケータ(ウェブページ上で視覚的である、または聴覚的インジケータのいずれかであって、例えば、ウェブページの下側のアイコン)をレンダリングするために、パッシブクライアント116(例えば、ウェブブラウザ)によって使用されてもよい。インジケータは、ユーザ115へのウェブアプリケーションの真正性のインジケータ(または、証明)であってもよい。例えば、ユーザ115は、証明アイコンをクリックして、アクセスしたウェブアプリケーションに対して、証明ブローカー109によって発行されたウェブアプリケーション特有情報を閲覧してもよい。証明ブローカー109は、そのような証明サービスを提供する、第三者の独立した、信頼できるエンティティであってもよい。ユーザ115は、証明ブローカー109によって供与されるアプリケーション証明が、現在のものである(例えば、アプリケーション証明の期限が切れていない)ことを確認してもよい。
ユーザ115またはアクセスリクエスタ114(例えば、ユーザのコンピューティングプラットフォーム)は、証明ブローカー109から、アプリケーションステートメントまたはレポート(または、クレーム)117が、アプリケーションステートメント117内のタイムスタンプおよび/またはメッセージシーケンス処理に基づいて、アクセスしたウェブアプリケーションの最近(例えば、最新)の照合されたコンテキスト査定を表すことを確認してもよい。クレームが、最新の照合されたコンテキスト査定を表すという決定は、複数の協調サービス110のうちの1つ以上を介して収集された連結情報に基づいてもよい。
アプリケーションステートメントまたはレポート117は、1つ以上のネットワークアクセスエンフォーサ113(例えば、とりわけ、ネットワークファイアウォール、ロードバランサ、および/またはVPNゲートウェイ)、1つ以上の識別プロバイダ112(例えば、とりわけ、STS、および/またはSSOサービス)、および/またはアクティブクライアント116(例えば、とりわけ、Simple Authentication and Security Layer(SASL)対応クライアント−サーバおよび/またはピアツーピアアプリケーション)によって受信および解釈され、機器化されたプラットフォーム100上の標的アプリケーション103または104に関するコンテキスト情報が利用されてもよい。
ランタイムモニタ102は、機器化されたプラットフォーム100のオペレーティングシステム120上のアプリケーションのプロセス開始(例えば、全プロセス開始)、プロセス終了(例えば、全プロセス終了)、およびネットワークエポック(例えば、ソケットイベント)を発見、識別、および追跡してもよい。起動中のアプリケーションのローカル実行コンテキストは、ランタイム時に決定されてもよく、証明ブローカーサービス109への通信チャネル106を経由して、属性値アサーションとして、報告されてもよい。
ある例示的実施形態では、通信チャネル106は、セキュアな通信チャネルであってもよく、および/または通信は、公知の暗号化/暗号解読方法を介して、セキュア化されてもよい。証明ブローカー109は、複数の協調サービス110のうちの1つ以上から、機器化されたプラットフォーム100上で起動中のアプリケーションのための内省ベースのセキュリティコンテキスト(例えば、履歴状態情報と、種々の検査方法を使用して、ある時間周期にわたってサンプリングされた測定とに基づく、評価および挙動または予測分析)を要求してもよい。
ある例示的実施形態では、協調サービス110は、標的アプリケーションおよびプラットフォーム100のジャストインタイム検査(例えば、査定スキャン)を行ってもよい。協調サービス110は、例えば、ITサービス管理スケジュールに基づいて、最新の検査レポートを調べてもよく、アプリケーション実行コンテキスト105に関する要求された証明をリクエスタ112、113または114、あるいはユーザ115に返してもよい。
証明ブローカー109は、アプリケーションに対するその後の実行コンテキスト変更通知207(図2参照)のための基準として、起動中のアプリケーション103または104のためのアプリケーションアーチファクト107を生成し、ランタイムモニタ102に返してもよい。起動中のアプリケーションのローカル実行コンテキスト105内の変更(例えば、任意の変更)は、証明ブローカー109との相互作用(例えば、ランタイムモニタ102による証明ブローカー109への通信)をトリガし、変更されたローカル実行コンテキストを有する、標的アプリケーションの証明のためのアプリケーションステートメントまたはレポート117を再発行し得る。例えば、標的アプリケーションのハッシュが変更される、または標的アプリケーションのファイルサイズが変更されると、更新された証明が、ランタイムモニタ102によって開始され、証明ブローカー109によって提供されてもよい。証明ブローカー109は、協調サービス110のうちの1つ以上にクエリを行い、変更された標的アプリケーションと関連付けられた更新されたアプリケーションステートメントまたはレポート118を決定してもよい。
ある例示的実施形態では、証明ブローカー109は、標的アプリケーションの真正性または異なる(例えば、独立)分類に基づく複数の値の信頼指標について、信頼(または、リスク)を表す、単一信頼値を提供してもよい。他の例示的実施形態では、証明ブローカー109は、リクエスタ112、113、および/または114、あるいはランタイムモニタ102が、他の情報の種々の属性を分析し得るように、標準的形式において、信頼指標および他の情報を提供してもよい。例えば、ランタイムモニタ102は、アプリケーション証明ポリシーを記憶してもよく、またはそこへのアクセスを有してもよく、ローカル実行コンテキストおよびアプリケーションステートメントまたはレポート117を証明ポリシーと比較し、標的アプリケーションが、リクエスタによって使用するために認証されたか否かを決定してもよい。識別プロバイダ112は、例えば、ウェブアプリケーション103からウェブリダイレクトを受信し、ユーザ(例えば、双方向ユーザ)115がログインするための仲介認証セレモニーを行ってもよい。
ある例示的実施形態では、ウェブアプリケーション103は、アプリケーションアーチファクト要求106を介して、アプリケーションアーチファクト107を証明ブローカー109から要求してもよい。ウェブアプリケーション103は、識別プロバイダ112へのウェブリダイレクトにおいて受信されたアプリケーションアーチファクト107を含んでもよい。識別プロバイダ112は、バックチャネルクエリ118を行い、受信されたアプリケーションアーチファクト107が、証明ブローカー109によって発行されたものであることを検証し、ウェブアプリケーション103の真正性を確認してもよい。識別プロバイダ112は、次いで、ウェブアプリケーション103のためのアプリケーションステートメントまたはレポート117を受信してもよい。アプリケーション証明の視覚的、聴覚的、またはプログラム的表示は、アクセスリクエスタ114を介して、アクセスリクエスタ114またはユーザ115に提供されてもよい。
双方向ユーザ115またはリクエスタ114は、例えば、ログインフォーム上の視覚的インジケータまたはアイコンの形態として、アプリケーション真正性の視覚的または聴覚的証明を受信してもよい。証明は、ウェブアプリケーション103との任意のトランザクションを進める前に、許諾または拒否されてもよく、あるいは証明は、ユーザ115またはリクエスタ114によって拒否されない場合、所定またはユーザ規定時間周期後、自動的に許諾されてもよい。
ネットワークアクセスエンフォーサ113は、証明ブローカー109から、アプリケーションステートメントまたはレポート117をサブスクライブしてもよく、複数の標的機械またはプラットフォーム100上の複数の標的アプリケーション103あるいは104を発見してもよい。証明ブローカー109とネットワークアクセスエンフォーサ113との間の通信118のための通信プロトコルは、例えば、とりわけ、(1)Simple Object Access Protocol(SOAP)、(2)Representatioal State Transfer(REST)、または(3)Trusted Computing Group’s (TCG’s) Interface for Metadata Access Points(IF−MAP)仕様等の任意の規格ベースのプロトコルおよびメッセージ交換データ構造または方式であってもよい。
証明ブローカー109は、ネットワークアクセスエンフォーサ113のために、リアルタイムまたはほぼリアルタイムアプリケーションステートメントまたはレポート117を伴う通知を公開し、物理的アクセス制御(例えば、物理的に、標的アプリケーションへのアクセスを有効にする、またはアクセスをブロックするための制御)を適用してもよい。ネットワークアクセスエンフォーサ113による物理的アクセスを有効または無効にする決定は、アプリケーションステートメントまたは記録117内の(例えば、トランスポート層における)属性値アサーションに基づいてもよい。属性値アサーションは、例えば、標的アプリケーション103または104に割り当てられる静的(例えば、ウェルノウン)および/または動的(例えば、エフェメラル)ネットワークポートを含んでもよい。
アクティブクライアントアプリケーション116および/またはサーバアプリケーション104(例えば、Simple Authentication and Security Layer(SASL)プロトコルを使用する)は、相互証明ハンドシェークのために、受信されたアプリケーションステートメントまたはレポート117をプログラム的に要求および/または使用してもよい。例えば、SASLプロトコルを使用して、そのような相互証明ハンドシェークは、認証情報の所有の証拠との認証ハンドシェークを開始する前に、整合性交換プロファイルによって定義されてもよい。
図2は、種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明する方法を図示する、概略図である。
図2を参照すると、例示的ネットワーク250は、ランタイムモニタ201、機器化された標的プラットフォーム200、証明ブローカー202、メタデータデータベース210、および/または複数の協調サービス203を含んでもよい。
ランタイムモニタ201は、機器化された標的プラットフォーム上のアプリケーション200のランタイム実行を発見、検査、識別、および/または証明してもよい。証明ブローカー202は、登録されたアプリケーションインスタンス204のための受信されたアプリケーション実行コンテキスト(または、アプリケーション実行コンテキスト変更通知)207に基づいて、アプリケーションアーチファクト206を発行してもよい。ランタイムモニタ201、あるいはアクセスリクエスタ114またはユーザ115からの要求に応答して、証明ブローカー(または、証明サーバ)202は、複数の協調サービス(または、協調サーバ)203のうちの1つ以上のクエリ205を開始してもよい。クエリ205は、標的アプリケーションのためのセキュリティコンテキスト(例えば、内省ベースのセキュリティコンテキスト)の検索を含んでもよい。
ある例示的実施形態では、機器化された標的プラットフォーム200上で起動するアプリケーションは、直接、または証明ブローカー202を介してのいずれかにおいて、ランタイムモニタ201から受信されたアプリケーション実行コンテキストに基づいて、識別のために、協調サービス203のうちの1つ以上を使用して照合されてもよい。
ランタイムモニタ201は、アプリケーションエポック(例えば、プロセスおよび/またはソケットイベント)のために、機器化された標的プラットフォーム200に関するプロセスの実行コンテキストを検査してもよい。アプリケーションプロセス開始の検出に応答して、またはその後、ランタイムアプリケーション実行コンテキスト(例えば、メタデータ)が、生成されてもよい。メタデータは、(1)ファイルハッシュダイジェスト、(2)起動中の標的アプリケーションのロードされた構成要素のためのファイル属性(例えば、ファイルサイズ、発行元詳細、作成および/または修正タイムスタンプ、デジタル署名、および/またはプロダクトバージョン)、(3)親−子プロセス関連付け、(4)ローダ依存性、および/または(5)ウェルノウンおよび/またはエフェメラルであり得る、アクティブなリッスンおよび/またはオープンネットワークポートに関する情報、ならびに/あるいは実行可能ファイルバイナリを含んでもよい。起動中のアプリケーションは、生成されたアプリケーション実行コンテキストを証明ブローカー202に提供することによって、登録204されてもよい。
ある例示的実施形態では、証明ブローカー202は、機器化された標的プラットフォーム200上で起動中のアプリケーションの真正性をクエリ205と照合してもよい。ランタイムモニタ201から収集されたメタデータを含み得る、クエリ205は、証明ブローカー202から送信され、1つ以上の協調サービス203によって受信されてもよい。クエリ205は、機器化されたプラットフォーム200上の起動中の標的アプリケーションと関連付けられたリスク(信頼)のレベルを示し得る、起動中のアプリケーションのためのセキュリティコンテキストを要求してもよい。
証明ブローカー202は、時間依存かつグローバル的に一意であり得る、動的に変化するアプリケーションアーチファクト206を生成してもよい。アプリケーションアーチファクト206は、受信されたアプリケーション実行コンテキストに基づいてもよく、証明ブローカー202は、生成されたアプリケーションアーチファクトをランタイムモニタ201に返してもよい。ランタイムモニタ201は、例えば、アクティブなリッスンおよびオープンネットワークポート(例えば、ウェルノウンおよびエフェメラル)および/またはアプリケーションの終了を含む、状態変更に対して、起動中のアプリケーションのそれぞれを検査してもよい。これらの検査は、例えば、オープンシステム相互接続(OSI)スタックのトランスポート層で生じてもよい。
ある例示的実施形態では、実行コンテキストに関連する要素等、他のタイプの状態変更が、検査されてもよい。任意のコンテキスト(状態)変更は、リアルタイムまたはほぼリアルタイムで、アプリケーション実行コンテキスト変更通知207によって、ランタイムモニタ201から、証明ブローカー202に、通知されてもよい。証明ブローカー202は、複数の機器化された標的プラットフォーム200のうちの1つ以上上の登録されたアプリケーション(例えば、各登録された起動中のアプリケーション)のために、ローカルデータベースまたは遠隔リポジトリ210(例えば、IF−MAPサーバ等)内に持続的および/または一時的状態情報(例えば、メタデータを含む)を記憶してもよい。
図3は、別の種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明する方法を図示する、概略図である。
図3を参照すると、例示的ネットワーク350は、双方向ユーザ300、機器化された標的プラットフォーム301、ウェブアプリケーション302、識別プロバイダ303、証明ブローカー304、および協調サービス305を含んでもよい。ウェブアプリケーション302は、ウェブアプリケーション302のランタイム多因子証明のために、証明ブローカー304と相互作用してもよい。動作フローは、例えば、制御パス内の中間ノード要素に関する認証制御のためのセッションの接続後相において、適用されるように、機構を有効にしてもよい。
双方向ユーザ300は、ネットワークを経由して、物理的接続を確立してもよく、アプリケーションアクセス要求306を開始し、機器化された標的プラットフォーム301上にホストされたウェブアプリケーション302とのトランザクションを着手または開始してもよい。
ある例示的実施形態では、ウェブアプリケーション302は、ランタイムアプリケーション実行コンテキスト(例えば、メタデータ)を生成し得る、コード要素(例えば、ウェブサーブレットまたは他の処理要素等)を実行してもよく、ランタイムアプリケーション実行コンテキストの生成されたメタデータを送信することによって、自動的に、クエリ307を証明ブローカー304に開始してもよい。
ある例示的実施形態では、証明ブローカー304は、受信されたメタデータの照合クエリ311(例えば、リアルタイムまたはほぼリアルタイム)を協調サービス305のうちの1つ以上に送信し、クエリされた協調サービス305から、アプリケーションセキュリティコンテキスト312を受信することによって、機器化された標的プラットフォーム301上で起動中のウェブアプリケーション302の真正性を照合してもよい。証明ブローカー304は、アプリケーションアーチファクト308を生成してもよく、アプリケーションアーチファクトをウェブアプリケーション302に送信してもよい。
ウェブアプリケーション302は、証明ブローカー304とのバックチャネル通信310を使用して、アプリケーションアーチファクト309を照合し得る、識別プロバイダ303へのアサーション(例えば、セキュリティアサーションマークアップ言語(SAMLまたはマークアップの他の一般的形態)において)として、受信されたアプリケーションアーチファクト309を含んでもよい(例えば、マークアップとして、埋め込んでもよい)。
ある例示的実施形態では、証明ブローカー(または、証明サーバ)304は、起動中のアプリケーションに対する内省ベースのセキュリティコンテキストを協調サービス305に要求してもよい。
種々の例示的実施形態では、識別プロバイダ303は、関連付けられたドメイン(例えば、領域)内において、双方向ユーザ300との直接双方向認証シーケンスを開始してもよい。ユーザ300に表示されるログインフォーム(または、ウェブページ)は、アプリケーション証明313を含んでもよい。アプリケーション証明313は、アクセスしたウェブアプリケーションのための証明アイコンを含む、任意の知覚可能インジケータであってもよい。例えば、証明アイコンは、例えば、識別、プロダクトバージョン、発行元、修正タイムスタンプ、および/または信頼指標等のウェブアプリケーション302に関する情報を含んでもよい。ユーザ300は、信頼指標情報を含む、情報が、トランザクション(例えば、起動中の標的アプリケーションの使用)を継続するために容認可能であるか否かを決定してもよく、認証情報314の所有の証拠を提供し、ユーザ300を識別プロバイダ303に認証してもよい。
ユーザ認証は、起動中のアプリケーションを使用するために、トランザクションを継続するか否かの決定後に生じるように開示されるが、ユーザ認証は、ログインプロセスの任意の段階で生じてもよく、起動中のアプリケーションを使用するか否かのそのような決定に先立って生じてもよいことが想定される。
ある例示的実施形態では、信頼指標と関連付けられた値は、一般的尺度(例えば、1から10の尺度)に基づいて提供されてもよく、標的アプリケーションを使用することが、低リスクを示す、緑色、標的アプリケーションを使用することが、中間リスクを示す、黄色、および標的アプリケーションを使用することが、高リスクを示す、赤色等、一般的視覚的方式によって、ユーザ300に提示されてもよい。
ある例示的実施形態では、識別プロバイダ303は、証明ブローカー304にクエリ315を行い、ウェブアプリケーション302へのアクセスが、証明ブローカー304のために構成される認証プロファイルに基づいて、認証されたユーザ300が、ウェブアプリケーション302とのデータ交換をトランザクションするために付与され得るかを決定してもよい。
種々の例示的実施形態では、識別プロバイダ303は、規格ベースの認証、属性、および/または認証ステートメントあるいはレポート316をウェブアプリケーション302に返してもよい。ウェブアプリケーション302は、証明ブローカー304から受信されたアプリケーションステートメントまたはレポート316と、事前に確立されたまたはシステムアドミニストレータ確立アクセスあるいは証明ポリシーとに基づいて、選択的に、機器化されたプラットフォーム301上の標的アプリケーションのためのアクセスをユーザ300に付与してもよく、または選択的に、ユーザ300による機器化されたプラットフォーム301上の標的アプリケーションへのアクセスをブロックしてもよい。
アプリケーションステートメントまたはレポート316は、例えば、ユーザの識別に関する情報、とりわけ、パスワード、PIN、スマートカード等の1つ以上の認証因子、およびユーザディレクトリ(例えば、とりわけ、アクティブディレクトリ)、役割ベースの管理システム(例えば、とりわけ、OracleまたはSAP)、および/または関係データベース(例えば、とりわけ、MS−SQL、MySQL、またはOracleDB)における既存の役割を含んでもよい。アクセスはまた、複数の因子に基づいて、付与または拒否(ブロック)されてもよい。
例えば、識別プロバイダ303は、特有分類(例えば、コンプライアンス)に対する信頼指標における懸念レベル(例えば、高)に基づいて、認証されたユーザ300へのアクセスを拒否してもよい。信頼指標の分類に対する懸念レベルは、証明ブローカー304のためにプロビジョニングされる、ユーザ/アプリケーションポリシー結合において表されてもよい。証明ブローカー304またはその外部におけるポリシー決定論理の結果は、1つ以上のアプリケーションステートメントまたはレポートとして、ウェブアプリケーション302に返されてもよい。
識別プロバイダ303は、識別記憶(または、キャッシュ)を使用して、パスワードを管理し得る、中間シングルサインオン(SSO)エンティティ(または、機能)を表してもよく、ユーザ300の代わりに、認証セレモニーを行ってもよい。認証は、ユーザ300に透過性であるように行われてもよい。
図4は、種々の例示的実施形態による、クラウドコンピューティング環境において、アプリケーションをモニタリングおよび証明するさらなる方法を図示する、概略図である。
図4を参照すると、例示的ネットワーク450は、機器化された標的プラットフォーム400、ランタイムモニタ401、証明ブローカー402、協調サービス403、双方向ユーザ404、および/またはネットワークアクセスエンフォーサ405を含んでもよい。ユーザ404は、ネットワーク450を経由して、物理的接続を確立してもよく、アプリケーションアクセス要求411を開始し、機器化された標的プラットフォーム401上にホストされた標的アプリケーションとのトランザクションを着手または開始してもよい。
機器化された標的プラットフォーム400上で起動するアプリケーションは、アプリケーション実行コンテキストおよび状態変更のために、ランタイムモニタ401によって検査されてもよい。動作フローは、セッション(例えば、インターネットプロトコル(IP)または非IPセッション)の接続確立相の間またはその時点において、中間システムにおける認証制御またはデータパス内の装置に適用される例示的機構であり得る。
ランタイムモニタ401は、アプリケーションエポック(例えば、プロセスおよび/またはソケットイベント)に対して、機器化された標的プラットフォーム400を検査してもよい。ランタイムモニタ401によるアプリケーションプロセス開始の検出に応答して、ランタイムモニタは、例えば、起動中の標的アプリケーションのロードされた構成要素のためのファイルハッシュダイジェストおよび/またはファイル属性を含み得る、ランタイムアプリケーション実行コンテキスト(例えば、メタデータ)を生成してもよい。起動中の標的アプリケーションは、ランタイムモニタ401によって、開始通知406を介して、証明ブローカー402に登録されてもよく、ランタイムアプリケーション実行コンテキスト(例えば、メタデータを含み得る)は、ランタイムモニタ401によって、アプリケーション実行コンテキスト変更通知408を介して、証明ブローカー402に送信されてもよい。ある例示的実施形態では、通知406および408は、ともに生じてもよい。
ある例示的実施形態では、証明ブローカー402は、機器化された標的プラットフォーム400上で起動中のアプリケーションの真正性を、1つ以上の協調サービス403との受信されたメタデータのリアルタイムまたはほぼリアルタイム交換409と、交換されたメタデータに基づく、アプリケーションセキュリティコンテキスト410の戻りと照合してもよい。証明ブローカー402はまた、1つ以上の協調サービス403に、例えば、マルウェア分析システムによって、実行可能ファイルバイナリの静的、動的、および/または仮想実行分析を行うよう要求してもよい。
ある例示的実施形態では、証明ブローカー402は、1つ以上の協調サービス403によって行われる、要求された分析に応答して、手動または自動化方法を使用して、機器化された標的プラットフォーム400を修正してもよい。
証明ブローカー402は、動的アプリケーションアーチファクト(例えば、グローバル一意であってもよく、かつ時間依存であってもよい)407を生成してもよく、アプリケーションアーチファクト407をランタイムモニタ401に発行してもよい。ランタイムモニタ401は、例えば、アクティブなリッスンおよび/またはオープンネットワークポート(例えば、OSIスタックのトランスポート層において)、ならびにアプリケーションの終了を含む、コンテキスト(状態)変更に対して、機器化された標的プラットフォーム上400で起動中のアプリケーションを検査してもよい。
ある例示的実施形態では、実行コンテキストに関連する要素等、他のタイプの状態変更が、検査されてもよい。コンテキスト(または、状態)変更408(例えば、任意のコンテキスト変更)は、リアルタイムまたはほぼリアルタイムで、証明ブローカー402に通知されてもよい。証明ブローカー402は、複数の機器化された標的プラットフォーム400上の登録された起動中のアプリケーションのために、持続的および一時的状態情報をローカルデータベースまたは遠隔リポジトリ210(図2参照)に記憶してもよい。
ネットワークアクセスエンフォーサ405は、証明ブローカー402から、ウェブサービスとして、ウェブサービスプロトコルインターフェース412、413を経由して、複数の機器化された標的プラットフォーム400上の起動中のアプリケーション(例えば、全起動中のアプリケーション)のためのアプリケーションステートメントまたはレポート(例えば、クレーム)の通知(例えば、公開)を登録またはサブスクライブしてもよい。証明ブローカー402は、リアルタイムまたはほぼリアルタイムで、最新アプリケーションステートメントまたはレポート413を複数のサブスクライバ405またはユーザ404に公開してもよい。アプリケーションステートメントまたはレポートは、(1)登録された名称(例えば、グローバル一意サービスプリンシパル名)等のアプリケーション識別子、(2)機械識別子、(3)プロダクト識別子、(4)プロダクトバージョン、(5)アクティブなリッスンおよび/またはオープンネットワークポート、(6)標的アプリケーションによって使用されるネットワークアドレス、および/または(7)1つ以上の協調サービス403によって行われるセキュリティコンテキスト査定410に基づく信頼指標を含んでもよい。信頼指標は、とりわけ、(1)協調サービス403のうちの1つによって行われた最近(例えば、最新)のセキュリティコンテキスト査定、(2)異なる協調サービス403からの相関データ、および/または(3)各セキュリティコンテキスト査定と関連付けられた、重み付けされた平均に基づいてもよい。
ネットワークアクセスエンフォーサ405は、証明ブローカー402のために構成されたユーザ特有アプリケーション結合に対して、証明ブローカー402にクエリを行い、動的多因子アプリケーション証明に基づく認証制御と、ローカル実行コンテキスト408および査定されたセキュリティコンテキスト410に基づくリアルタイム(または、ほぼリアルタイム)信頼指標とを決定してもよい。例えば、仮想または物理的ネットワークファイアウォール専用機等のネットワークアクセスエンフォーサ405は、証明ブローカー402のためにプロビジョニングされるユーザ/アプリケーションポリシー結合として表されるような特有分類(例えば、パッチレベル)に対する信頼指標における懸念レベル(「高」)(例えば、「高」、「中間」、および「低」の3つのレベルの序列システムから)に基づいて、認証されたユーザへのアクセスを拒否してもよい。3つのレベルの序列システムが図示されるが、より多いまたはより少ないレベルを伴う序列システムが可能であることが想定される。
図5は、種々の例示的実施形態による、Simple Authentication and Security Layer(SASL)対応クライアントおよびサーバアプリケーションをモニタリングおよび証明する方法を図示する、概略図である。
図5を参照すると、例示的ネットワーク550は、クライアントアプリケーション500、サーバアプリケーション501、証明ブローカー502、協調サービス503、および/またはアプリケーションプログラミングインターフェース(API)ライブラリ516を含んでもよい。
Simple Authentication Security Layer(SASL)プロトコルが図示されるが、クライアント−サーバとピアツーピアアプリケーションとの間の任意のアプリケーション層プロトコル、またはネットワークセキュリティプロトコル、例えば、IPSec Authenticated Internet Protocol(AuthIP)またはInternet Key Exchange(IKE)が、クライアントアプリケーション500およびサーバアプリケーション501の機能を提供するために拡張および/または使用されてもよいことが想定される。
ある例示的実施形態では、クライアントアプリケーション501およびサーバアプリケーション501は、静的または動的に、APIライブラリ516(例えば、Trust−as−a−Service(TAAS)APIライブラリ)にリンクされてもよい。APIライブラリ516は、アプリケーションのための一組のプロシージャ呼び出しを実装し、より高いレベルのアプリケーションから、実装詳細を隠し得る、証明サービスまたはブローカー502とメッセージ(例えば、不透明および/またはセキュアなメッセージ)を交換してもよい。
一例示的実施形態が、APIライブラリ516に対して図示されるが、任意のアプリケーションフレームワークが、APIライブラリ516によって提供される一組のプロシージャ呼び出しを実装するために拡張されてもよいことが想定される。
サーバアプリケーション501は、ランタイムサーバアプリケーション実行コンテキスト504を送信し、サーバアプリケーションアーチファクト505を要求し、サーバアプリケーションアーチファクト505を証明サービス(例えば、証明ブローカーまたは証明サーバ)502から受信してもよい。アプリケーション実行コンテキスト504は、親−子プロセス関連付けおよびローダ依存性を含む、起動中のサーバアプリケーション501の構成要素のファイルハッシュダイジェストおよびファイル属性を含んでもよい。
クライアントアプリケーション500は、サーバアプリケーション501へのネットワーク接続を確立してもよく、認証のためのプロファイル交換を開始してもよい。
認証交換(例えば、クライアントアプリケーション500と関連付けられたユーザを認証するため)完了後、クライアントアプリケーション500は、ランタイムクライアントアプリケーション実行コンテキスト506を送信してもよく、クライアントアプリケーションアーチファクト507を証明ブローカーまたはサービスまたはサーバ502から要求してもよい。クライアントアプリケーション実行コンテキスト506は、親−子プロセス関連付けおよびローダ依存性を含む、起動中のクライアントアプリケーション500の構成要素のファイルハッシュダイジェストおよびファイル属性を含んでもよい。クライアントアプリケーションアーチファクト507の受信に応答して、またはその後、クライアントアプリケーション500は、受信されたアプリケーションアーチファクト(508として示される)をサーバアプリケーション501に伝送してもよい。サーバアプリケーション501は、クライアントアーチファクト検証509のために、受信されたクライアントアプリケーションアーチファクト507を証明サーバ502に送信してもよく、クライアントアプリケーション500のためのクライアントアプリケーションステートメントまたはレポート511を要求してもよい。
ある例示的実施形態では、証明ブローカー502は、協調サービス503のうちの1つ以上から、クライアントアプリケーション500に対する内省ベースのセキュリティコンテキスト510のための要求520を開始してもよい。要求された協調サービス503は、クライアントアプリケーションセキュリティコンテキスト510を収集および生成してもよく、クライアントアプリケーションセキュリティコンテキスト510を証明ブローカー502に送信してもよい。クライアントアプリケーションステートメントまたはレポート511は、証明ブローカー502によって、クライアントアプリケーションセキュリティコンテキスト510から生成されてもよく、クライアントアプリケーション500のためのランタイム実行コンテキスト504およびインテリジェンスベースのセキュリティコンテキスト510に関するアサーションを含んでもよい。証明サーバ502からのクライアントアプリケーションステートメントまたはレポート511の受信に応答して、サーバアプリケーション501は、クライアントアプリケーション500の証明が適正であるか否かを決定してもよい。
ある例示的実施形態では、信頼指標は、クライアントアプリケーションステートメントまたはレポート511内に含まれてもよく、例えば、サーバアプリケーション501によって、分析され、クライアントアプリケーション500とのデータ交換をトランザクションすべきか否かを決定してもよい。
クライアントアプリケーションステートメント511の受信およびクライアントアプリケーション500とのデータ交換をトランザクションするための決定に応じて、またはその後、サーバアプリケーション501は、受信されたサーバアプリケーションアーチファクト(512として示される)をクライアントアプリケーション500に伝送してもよい。クライアントアプリケーション500は、サーバアーチファクト513の検証のために、受信されたサーバアプリケーションアーチファクト512を証明サーバ502に送信してもよく、サーバアプリケーション501のためのアプリケーションステートメントまたはレポート515を要求してもよい。
ある例示的実施形態では、証明ブローカー502は、協調サービス503のうちの1つ以上から、サーバアプリケーション501に対する内省ベースのセキュリティコンテキスト514のための要求519を開始してもよい。要求された協調サービス503は、サーバアプリケーションセキュリティコンテキスト514を収集および生成してもよく、サーバアプリケーションセキュリティコンテキスト514を証明ブローカー502に送信してもよい。証明ブローカー502によって生成されたサーバアプリケーションステートメントまたはレポート515は、サーバアプリケーション501のためのランタイム実行コンテキストおよびインテリジェンスベースのセキュリティコンテキストに関するアサーションを含んでもよい。証明ブローカーまたはサービス502からのサーバアプリケーションステートメントまたはレポート515の受信に応答して、またはその後、クライアントアプリケーション500は、サーバアプリケーション501の証明が適正であるか否か決定してもよい。ある例示的実施形態では、サーバアプリケーションステートメント内に含まれる信頼指標は、例えば、クライアントアプリケーションによって分析され、サーバアプリケーション501とのデータ交換をトランザクションすべきか否か決定してもよい。
アプリケーションステートメント内に含まれる信頼指標は、要求アプリケーションによって分析されてもよいが、ある例示的実施形態では、APIライブラリ516は、標準的レーティン尺度が、各要求アプリケーションに提供され得、要求アプリケーションが、リスク閾値を超える特定のレーティングを伴うアプリケーションへのアクセスを拒否する、および/またはリスク閾値以下の特定のレーティングを伴うアプリケーションへのアクセスを付与するための設定を既定し得るように、標準的および/またはカスタム差込フィルタを提供し、分類ベースの信頼指標を正規化してもよい。ある例示的実施形態では、リスク閾値またはその近傍のアプリケーションは、付加的協調サービス503に基づいて、あるいはそのようなアクセスを付与または拒否する、ユーザのシステムアドミニストレータ入力に基づいて、一時的に、アクセスが拒否され、さらなる分析のために保留されてもよい。
図6は、本発明の種々の例示的実施形態による、整合性ダッシュボード600を含む、例示的セキュリティ管理コンソール650を図示する、概略図である。
図6を参照すると、例示的セキュリティ管理コンソール650は、整合性ダッシュボードまたはディスプレイウィンドウ600を視覚的に表示してもよい。整合性ダッシュボードまたはディスプレイウィンドウ600は、ダッシュボードクロック601、発見および識別されたアプリケーション602、サービス領域603、機器化された標的プラットフォーム604、プロダクトベンダ605、プロダクトバージョン606、アクティブなネットワークサービスポート607、および信頼指標608を含む、情報フィールドを含んでもよい。
情報フィールドは、リアルタイムまたはほぼリアルタイムで、表示および/または更新されてもよい。例えば、機器化された標的プラットフォーム604上で起動する識別および証明されたアプリケーション602、サービス領域603、プロダクトベンダ605、プロダクトバージョン606、現在の分類ベースの信頼指標608、およびアプリケーションのための現在アクティブなネットワークサービスポート607が、ダッシュボードクロック601によって示されるように、ほぼリアルタイムで、整合性ダッシュボード600上に表示されてもよい。ダッシュボード600は、管理制御(図示せず)を含み、大局的視野のためのフィルタを作成し、複数の定義された基準に基づいて、セキュリティアラートを発行する、および/または随伴報告サービスを提供してもよい。
整合性ダッシュボードは、特有情報フィールドとともに、特定の配列で示されるが、他の情報フィールドおよび配列も、可能であることが想定される。例えば、アプリケーションステートメントまたはレポートあるいはネットワーク管理システムから利用可能な他のネットワーク管理情報内に含まれる付加的属性もまた、表示されてもよい。
図7は、本発明の種々の例示的実施形態による、認証ダッシュボード700を含む、別の例示的ポリシー管理コンソール750を図示する、概略図である。
図7を参照すると、認証ダッシュボードまたは制御ウィンドウ700は、例えば、クラウドクライアント(または、テナント)701によってプロビジョニングおよび解析される、情報フィールドを含んでもよく、ユーザ702、役割703、認証領域704、認証タイプ705、機器化されたサービスホスト(または、標的プラットフォーム)706、サービス領域707、識別および証明されたアプリケーション708、プロダクトバージョン709、および/またはプロダクトベンダ710を含んでもよい。
各クラウドクライアント701のための認証ダッシュボード700は、ユーザ702、複数のユーザ、役割703または複数の役割、および証明されたアプリケーションインスタンス707、708のためのポリシー(または、ルールセット)を定義するための複数のポリシー構成要素(または、ルール)を含んでもよい。ダッシュボード700は、管理制御(図示せず)を含み、大局的視野のためのフィルタを作成し、複数の定義された基準に基づいて、セキュリティアラートを発行し、および/または随伴報告サービスを提供してもよい。フィルタは、例えば、ランタイムアクセス制御決定のための認証タイプ(または、認証方法)705によって、認証されたユーザのフィルタリングを有効にしてもよい。図示される認証ダッシュボード700の各行は、クラウドクライアント701のための本システムアドミニストレータによって作成されたポリシーのステートメントを表し得る(または、それに対応する)情報フィールド(例えば、コンテンツ)を含む。
ある例示的実施形態では、ある認証ドメイン(または、領域)内で認証されたユーザが、異なる標的サービスドメイン(または、領域)内にホストされたアプリケーションへのポリシーベースのアクセスがプロビジョニングされ得るように、異なるホスティング領域にわたるサービスのフェデレーションが、表示されてもよい。
ある例示的実施形態では、例えば、証明ブローカー102は、複数のホスティング領域にわたって、アプリケーションアーチファクトおよびアプリケーションステートメントをサービス要求するように構成されてもよい。
整合性および認証ダッシュボードは、特有情報フィールドを伴って、特定の配列で示されるが、他の情報フィールドおよび配列も、可能であって、これらのダッシュボードは、情報フィールドのうちの任意の1つを使用して解析され、異なる大局的視野を生成してもよいことが想定される。
認証ダッシュボード(または、コンソール)を使用して、クラウドクライアントの本システムアドミニストレータによって作成されるアクセス制御ポリシーは、証明のためのコンテキスト情報が、ランタイムローカル実行コンテキストおよび内省されたセキュリティコンテキストを含み得るように、証明された起動中のアプリケーションインスタンスに関する、ランタイムコンテキストを意識した論理的属性に基づいてもよい。ルールが、IPv4/IPv6アドレス、ポート番号、MACアドレス、ネットワーク識別子、サブネット、VLAN識別子、あるいはその組み合わせまたは変形例のうちの少なくとも1つを含む、ネットワークトポロジーベースの静的属性を要求し得る、物理的制約は、存在しない。
種々の実施形態が、クラウド環境において、コンテキストを意識したポリシーを作成する観点において説明されたが、それらに限定されない。本方法は、例えば、その間のセキュアなトランザクションを維持する、任意の数のコンピュータシステム間で実施され得る。
図8は、種々の例示的実施形態による、方法800を図示する、流れ図である。
図8を参照すると、本方法800は、証明サーバ109を使用して、コンピューティングプラットフォーム101上で実行中のランタイム時のアプリケーションのための証明サービスまたはブローカー109を提供してもよい。ブロック810では、コンピューティングプラットフォーム101から遠隔の証明サーバ109は、(1)ランタイム時のアプリケーションの属性を示すランタイム実行コンテキスト105、および(2)アプリケーションに関するセキュリティ情報を提供するセキュリティコンテキスト111を受信してもよい。ブロック820では、証明サーバ109は、証明結果として、受信されたランタイム実行コンテキスト105および受信されたセキュリティコンテキスト111に基づいて、アプリケーションと関連付けられたセキュリティリスクを示す、レポート117を生成してもよい。ブロック830では、証明サーバ109は、アプリケーションと関連付けられた証明結果を送信してもよい。
ある例示的実施形態では、ブロック830において、証明サーバ109はまた、1つ以上のアプリケーション(103、104)と関連付けられた証明結果に基づいて、協調サービス110(例えば、編成サービス)に自動化修正要求を送信し、機器化されたプラットフォーム100に関する動作(例えば、機器化されたプラットフォームのイメージの再適用、スナップショット、または隔離のため)を開始してもよい。
ある例示的実施形態では、証明サーバ109は、その後の実行コンテキスト105における変更に対する基準として、アプリケーションアーチファクト108を生成してもよく、ランタイム実行コンテキスト105に対するその後の変更が、生成されたアプリケーションアーチファクト108に基づいて、追跡されるように、生成されたアプリケーションアーチファクト108を送信してもよい。
ある例示的実施形態では、証明結果およびアプリケーションアーチファクト108は、デジタル的に署名されてもよい。
ある例示的実施形態では、受信されたセキュリティコンテキスト111は、内省的セキュリティコンテキストであってもよく、証明サーバ109は、受信されたランタイム実行コンテキスト105および受信された内省的セキュリティコンテキスト111に関する、1つ以上のセキュリティアサーションを生成してもよい。
ある例示的実施形態では、アプリケーションとのユーザのトランザクションは、証明結果に従って、一組の認証ルールを適用することによって、制御されてもよい。これらおよび他の例示的実施形態では、アプリケーションへのユーザのネットワークアクセスは、一組の認証ルールおよび証明結果に基づいて、制御されてもよい。
ある例示的実施形態では、証明結果内の信頼指標は、アプリケーションとのユーザのトランザクションに関する制限が、証明結果内の信頼指標によって示されるセキュリティリスクのレベルに基づいて、適用され得るように、異なる分類別に、セキュリティリスクのレベルを示すように提供されてもよい。
ある例示的実施形態では、ユーザのトランザクションに関する制限は、ルーティング決定の適用および代替コンピュータプラットフォームへのユーザのリダイレクトを含んでもよい。
図9は、種々の例示的実施形態による、方法900を図示する、流れ図である。
図9を参照すると、方法900は、ランタイムモニタ102を使用して、コンピューティングプラットフォーム101上で実行中のランタイム時のアプリケーションのための証明サービスを提供してもよい。ブロック910では、コンピューティングプラットフォーム101におけるランタイムモニタ102は、ランタイム時のアプリケーションの属性を示す、ランタイム実行コンテキスト105を生成してもよい。ブロック920では、ランタイムモニタ102は、ランタイム実行コンテキスト105を証明サーバ109に送信してもよい。ブロック930では、ランタイムモニタは、ランタイム実行コンテキスト105へのその後の変更を追跡するために、アプリケーションアーチファクト107を受信してもよい。ブロック940では、アプリケーションアーチファクト107を使用する、ランタイムモニタ102は、変更を示す、アプリケーションの属性に応答して、更新された実行コンテキストとして、ランタイム実行コンテキスト105を更新および送信してもよい。
ある例示的実施形態では、ランタイム実行コンテキスト105の生成は、ランタイムモニタ102が、コンピューティングプラットフォーム101上で起動中のアプリケーションプロセスを検査するステップと、少なくとも、ローカルランタイム実行コンテキストを含む、メタデータを生成するステップとを含んでもよい。
図10は、種々の例示的実施形態による、方法1000を図示する、流れ図である。
図10を参照すると、方法1000は、証明サーバ502を使用して、ランタイム時に、第1および第2の相互に関係付けられたアプリケーション500および501のための相互証明を提供してもよい。第1のアプリケーション500は、第1のコンピューティングプラットフォーム530上で起動してもよく、第2のアプリケーション501は、第2のコンピューティングプラットフォーム531上で起動してもよい。ブロック1010では、第1および第2のコンピューティングプラットフォーム530および531から遠隔の証明サーバ502は、ランタイム時の第1のアプリケーション500の属性を示す、第1のアプリケーション500の第1のランタイム実行コンテキスト506と、ランタイム時の第2のアプリケーション501の属性を示す、第2のアプリケーション501の第2のランタイム実行コンテキスト504とを受信してもよい。ブロック1020では、証明サーバ502は、(1)第1の証明結果として、受信された第1のランタイム実行コンテキスト506に基づく、第1のアプリケーション500と関連付けられたセキュリティリスクを示す、第1のレポート515と、(2)第2の証明結果として、受信された第2のランタイム実行コンテキスト504に基づく、第2のアプリケーション501と関連付けられたセキュリティリスクを示す、第2のレポート511とを生成してもよい。ブロック1030では、証明サーバ502は、相互証明のために、第1のアプリケーション500と関連付けられた第1の証明結果を第2のコンピューティングプラットフォーム531に、第2のアプリケーション501と関連付けられた第2の証明結果を第1のコンピューティングプラットフォーム530に、送信してもよい。
ある例示的実施形態では、ウェブブラウザは、第1の証明結果が送信されたことを示す、アイコンをレンダリングしてもよく、アイコンのユーザ選択に応答して、ウェブブラウザを介してアクセスされたウェブアプリケーションである、第1のアプリケーションに関する証明結果をレンダリングしてもよい。
ある例示的実施形態では、証明サーバ502は、第1のアプリケーション500のその後の実行コンテキストにおける変更に対する基準として、第1のアプリケーションアーチファクト507と、第2のアプリケーション501のその後の実行コンテキストにおける変更に対する基準として、第2のアプリケーションアーチファクト505とを生成してもよく、第1および第2のランタイム実行コンテキスト506および504へのその後の変更が、それぞれ、生成された第1および第2のアプリケーションアーチファクト507および505に基づいて、第1および第2の相互に関係付けられたアプリケーション500および501内で追跡され得るように、生成されたアプリケーションアーチファクト507および505を送信してもよい。
ある例示的実施形態では、リクエスタ、例えば、ユーザ115による、第1のアプリケーション500へのアクセスは、第1の証明結果に基づいて、かつ第2の証明結果に基づいて、独立して、制御されてもよい。
図11は、種々の例示的実施形態による、起動中のアプリケーションの証明を提供する方法を図示する、流れ図である。
図11を参照すると、方法1100は、起動中のアプリケーション(例えば、ウェブまたは非ウェブアプリケーション)の証明を提供してもよい。ブロック1110では、証明サーバ402は、複数のサブスクライバ412またはユーザ300に対して、起動中のアプリケーションのコンテキスト変更通知408のサブスクリプションを登録してもよい。ブロック1120では、証明サービスまたはサーバ402は、起動中のアプリケーションに関するアサーションを生成してもよい。ブロック1130では、証明サービスまたはサーバ402は、コンテキスト変更通知408の受信に応答して、複数のサブスクライバ412またはユーザ300に、起動中のアプリケーションのアサーションを送信してもよい。アサーションは、少なくとも、起動中のアプリケーションのセキュリティリスクのレベルを示す、信頼指標を含んでもよい。
図12は、種々の例示的実施形態による、方法1200を図示する、流れ図である。
図12を参照すると、方法1200は、証明サーバを使用して、クライアント−サーバまたはピアツーピアトランザクションにおけるアプリケーションの相互証明を提供してもよい。ブロック1210では、証明サーバ502は、(1)クライアント−サーバトランザクションにおける、クライアント530と関連付けられたランタイム実行コンテキスト506における変更を追跡するための第1のアプリケーションアーチファクト507と、(2)クライアント−サーバトランザクションにおける、サーバ531と関連付けられた第2のアプリケーションアーチファクト505とを生成してもよい。ブロック1220では、証明サーバ502は、第1のアプリケーションアーチファクト507をクライアント530に、第2のアプリケーションアーチファクト505をサーバ531に、送信してもよい。ブロック1230では、第1および第2のアプリケーションアーチファクト507および505は、クライアント530およびサーバ531がそれぞれ、第1および第2のアプリケーションアーチファクト507および505を有し、クライアントサーバトランザクションのためのクライアント530およびサーバ531と関連付けられたランタイム実行コンテキスト506および504における変更を相互に追跡するように交換されてもよい。
クライアントとサーバとの間のクライアント−サーバトランザクションが示されるが、相互証明は、ピアツーピア環境における、第1のピアと第2のピアとの間、あるいは第1、第2、および/またはさらなるピア間において、証明サーバによって、提供されてもよいことが想定される。
図13は、種々の例示的実施形態による、方法1300を図示する、流れ図である。
図13を参照すると、方法1300は、証明サーバを使用して、クライアント−サーバまたはピアツーピアトランザクションにおいて、アプリケーションの相互証明を提供してもよい。ブロック1310では、証明サーバ502は、第1のアプリケーションアーチファクト507を生成および送信してもよい。ブロック1320では、証明サーバ502は、クライアント−サーバトランザクションにおける、サーバ531から、証明サーバ502によって、クライアントサーバトランザクションにおける、クライアント530に送信された第1のアプリケーションアーチファクト507を受信および検証してもよい。ブロック1330では、証明サーバ502は、クライアント−サーバトランザクションにおいて使用される、相互に関係付けられたアプリケーション500および501に関して、アプリケーションステートメント511および515を生成し、クライアント530およびサーバ531に送信してもよい。例えば、クライアント530およびサーバ531へのアプリケーションステートメント511および515の送信は、証明サーバ502によって、(1)クライアント−サーバトランザクションのサーバ531への相互に関係付けられたアプリケーション500、501のクライアントアプリケーション500についてのアプリケーションステートメント511と、クライアント−サーバトランザクションのクライアント530への相互に関係付けられたアプリケーション500、501のサーバアプリケーション501についてのアプリケーションステートメント515を送信するステップを含んでもよい。
ある例示的実施形態では、証明サーバ502は、第2のアプリケーションアーチファクト505を生成および送信してもよく、クライアントサーバトランザクションでは、第2のアプリケーションアーチファクト505をクライアント530から受信してもよく、クライアントサーバトランザクションでは、証明サーバ502によって、サーバ531に送信される第2のアプリケーションアーチファクト505を検証してもよい。
ある例示的実施形態では、ランタイム時のアプリケーションのための証明サービスを提供する方法は、以下のステップのうちの1つ以上を含んでもよい:機器化された標的プラットフォームによって、標的ユーザまたはサービスプログラムをホスティングするステップと、アプリケーション証明サービスによって、(1)グローバル一意であって、不透明、かつ時間依存アプリケーションアーチファクト、および(2)検査ベースのランタイムローカル実行コンテキストおよび内省ベースのセキュリティコンテキストに関する複数のアサーションを含む、少なくとも1つのアプリケーションステートメントを生成するステップと、ランタイムモニタによって、機器化された標的プラットフォーム上で起動中のアプリケーションプロセスを検査するステップと、ランタイムモニタによって、少なくとも、ランタイムローカル実行コンテキストを含む、メタデータを生成するステップと、識別プロバイダによって、ユーザをウェブアプリケーションに対して認証するステップと、ウェブサービス要求に基づいて、ウェブアプリケーションのローカル実行および内省されたセキュリティコンテキストの証明を提供するステップと、ネットワークアクセスエンフォーサによって、サブスクリプションベースのアプリケーション証明サービスを使用して、標的アプリケーションへの認証されたユーザのアクセスを制御するステップと、および/または協調サービスによって、機器化された標的プラットフォーム上で起動する標的アプリケーションのための、内省されたベースのセキュリティコンテキストを提供するステップ。
ある例示的実施形態では、起動中のウェブアプリケーションまたはウェブサーブレットの真正性の証明を提供するための方法は、以下のステップのうちの1つ以上を含んでもよい:起動中のウェブアプリケーションまたはサーブレットインスタンスのためのアプリケーションアーチファクトを要求するステップと、ウェブサーバと証明サーバとの間にセキュアなチャネルを確立するステップと、ウェブアプリケーションまたはサーブレットインスタンスの実行コンテキストに対応する、少なくとも1つのハッシュファイルダイジェストを生成するステップと、ウェブアプリケーションまたはウェブサーブレットインスタンスの少なくとも1つの要素または実行コンテキストに対応する、少なくとも1つのファイル属性を決定するステップと、アプリケーションレポートを識別プロバイダに送信するステップと、受信されたセキュリティコンテキストおよび受信されたローカル実行コンテキストに基づいて、アサーションを生成するステップと、レポート内において、信頼指標を識別プロバイダに伝送するステップと、および/またはウェブブラウザによってレンダリングするためのデジタルアイコンとして、起動中のウェブアプリケーションまたはウェブサーブレットの証明を提供するステップ。
ある例示的実施形態では、証明は、(1)ユーザとの確立された接続において、任意のデータ交換を着手するステップ、および/または(2)ユーザとのネットワーク接続を確立するステップに先立って、提供されてもよい。
ある例示的実施形態では、アクセスされるべきウェブアプリケーションに関する証明情報をレンダリングするステップは、ユーザ入力に応答してもよい。
ある例示的実施形態では、自己管理およびオンプレミス上、またはアウトソースサービスプロバイダ管理インフラストラクチャ上にホストされた起動中のアプリケーションを継続的にモニタリングするためのシステムは、以下のうちの1つ以上を含んでもよい:標的ユーザまたはサービスプログラムをホストするための機器化された標的プラットフォームと、検査ベースのランタイムローカル実行コンテキストおよび内省ベースのセキュリティコンテキストに関する複数のアサーションを含む、グローバル一意であって、不透明、かつ時間依存アプリケーションアーチファクトおよびアプリケーションステートメントを生成するためのアプリケーション証明サービスと、機器化された標的プラットフォーム上の起動中のアプリケーションプロセスを発見、識別、および検査し、少なくとも、ランタイムローカル実行コンテキストを含むメタデータを生成するためのランタイムモニタと、機器化された標的プラットフォーム上で起動する標的アプリケーションのための内省されたセキュリティコンテキストを提供するための協調サービスと、および/または(1)動的アサーションを証明サービスのメタデータリポジトリから要求および受信するためと(動的アサーションは、機器化された標的プラットフォーム上で起動中のアプリケーションインスタンスのローカル実行コンテキストおよび内省されたセキュリティコンテキストに関する)、(2)動的アサーションをシステムアドミニストレータに継続的に表示し、動的アサーションおよび所定の基準に基づいて、アラートをプロビジョニングおよび発報するためのグラフィカルユーザインターフェース。
ある例示的実施形態では、ネットワークアクセスエンフォーサは、動的アプリケーションステートメントを証明サービスからサブスクライブおよび受信し、コンテキストアサーションを分析して、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスを許可または拒否されるか否かを判断してもよい。
ある例示的実施形態では、グラフィカルユーザインターフェースは、クライアント特有ダッシュボードまたはポータル上に、機器化された標的プラットフォーム上で起動するアプリケーションを表示してもよく、各関連付けられたアプリケーション実行コンテキストに対して、以下のうちの少なくとも1つを提示してもよい:(1)サービスホスト名、(2)サービス領域、(3)サービスプリンシパル名、(4)プロダクトバージョン、(5)プロダクトベンダ、(6)1つ以上の分類ベースの信頼指標、または(7)アクティブなネットワークサービスポート。
ある例示的実施形態では、識別プロバイダは、証明サーバからの動的アプリケーションステートメントにクエリを行い、コンテキストアサーションを分析して、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするために認証を許可または拒否されるか否かを決定してもよい。
ある例示的実施形態では、ネットワークアクセスエンフォーサは、証明サービスからのサブスクリプションに基づいて、受信された動的アプリケーションステートメント内に含まれる分類ベースの信頼指標を分析して、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスを許可または拒否されるか否か決定してもよい。
ある例示的実施形態では、識別プロバイダは、証明サービスからのサブスクリプションに基づいて、受信された動的アプリケーションステートメント内に含まれる分類ベースの信頼指標を分析し、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするための認証を許可または拒否されるか否かを決定してもよい。
ある例示的実施形態では、認証されたユーザと、自己管理およびオンプレミス上、またはアウトソースサービスプロバイダ管理インフラストラクチャ上にホストされた証明された起動中のアプリケーションとの間のネットワーク接続またはデータ交換トランザクションのためのコンテキストを意識したポリシーを作成するための方法は、以下のステップのうちの1つ以上を含んでもよい:機器化された標的プラットフォームによって、標的ユーザまたはサービスプログラムをホスティングするステップと、アプリケーション証明サービスによって、検査ベースのランタイムローカル実行コンテキストおよび内省ベースのセキュリティコンテキストに関する複数のアサーションから成る、グローバル一意であって、不透明、かつ時間依存アプリケーションアーチファクトおよびアプリケーションステートメントを生成するステップと、ランタイムモニタによって、機器化された標的プラットフォーム上で起動中のアプリケーションプロセスを発見、識別、および検査するステップと、ランタイムモニタによって、少なくとも、ランタイムローカル実行コンテキストを含む、メタデータを生成するステップと、識別プロバイダによって、ウェブアプリケーションのローカル実行および内省されたセキュリティコンテキストの証明を提供するためのウェブサービス要求に基づいて、ユーザをウェブアプリケーションに認証するステップと、ネットワークアクセスエンフォーサによって、サブスクリプションに基づく、アプリケーション証明サービスを使用して、標的アプリケーションへの認証されたユーザのアクセスを制御するステップと、協調サービスによって、機器化された標的プラットフォーム上で起動する標的アプリケーションのための内省されたセキュリティコンテキストを提供するステップと、および/またはグラフィカルユーザインターフェースを使用して、ユーザディレクトリまたはデータベースにおいて区別された名称によってアノテートされたユーザ、および登録されたグローバル一意セキュリティプリンシパル名によってアノテートされたアプリケーションに対するアクセス制御ルールを作成するステップ。
ある例示的実施形態では、動的分類ベースの信頼指標に基づいて、認証のための容認可能閾値を既定する、コンテキストを意識したアクセス制御ポリシーが、作成されてもよい。
例示的実施形態は、コンピューティングデバイスまたは機器化されたプラットフォームの観点から説明されたが、図14に図示されるコンピュータシステム1400等のマイクロプロセッサ/汎用コンピュータ上のソフトウェア内に実装されてもよいことが想定される。種々の実施形態では、種々の構成要素の機能のうちの1つ以上は、図14を参照して以下に説明される、コンピュータシステム1400等のコンピューティングデバイスを制御する、ソフトウェア内に実装されてもよい。
図1−13に示される本発明の側面、あるいはその任意の部分または機能は、ハードウェア、ソフトウェアモジュール、ファームウェア、その上に記憶された命令を有する非一過性コンピュータ可読媒体、またはそれらの組み合わせを使用して、実装されてもよく、1つ以上のコンピュータシステムまたは他の処理システム内に実装されてもよい。
図14は、本発明の実施形態またはその一部が、コンピュータ可読コードとして実装され得る、例示的コンピュータシステム1400を図示する。例えば、図1−5のネットワークシステム150、250、340、450、および550は、ハードウェア、ソフトウェア、ファームウェア、その上に記憶された命令を有する非一過性コンピュータ可読媒体、またはそれらの組み合わせを使用して、コンピュータシステム1400内に実装することができ、1つ以上のコンピュータシステムまたは他の処理システム内に実装されてもよい。ハードウェア、ソフトウェア、またはそのような任意の組み合わせは、図1−5のネットワークシステムを実装するために使用される、モジュールおよび構成要素のいずれかを具現化してもよい。
プログラマブル論理が、使用される場合、そのような論理は、市販の処理プラットフォームまたは特殊目的デバイス上で実行されてもよい。当業者は、開示される主題の実施形態が、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能とともにリンクまたはクラスタ化されたコンピュータ、ならびに事実上、任意のデバイス内に埋め込まれ得る、パーベイシブまたは小型コンピュータを含む、種々のコンピュータシステム構成によって実践することができることを理解し得る。
例えば、少なくとも1つのプロセッサデバイスおよびメモリが、前述の説明される実施形態を実装するために使用されてもよい。プロセッサデバイスは、単一プロセッサ、複数のプロセッサ、またはそれらの組み合わせであってもよい。プロセッサデバイスは、1つ以上のプロセッサ「コア」を有してもよい。
本発明の種々の実施形態は、本例示的コンピュータシステム1400の観点から説明される。本説明を熟読後、他のコンピュータシステムおよび/またはコンピュータアーキテクチャを使用して、本発明を実装するための方法が、当業者に明白となるであろう。動作は、連続プロセスとして説明され得るが、動作のうちのいくつかは、実際は、並行して、同時に、および/または分散環境において、かつ単一またはマルチプロセッサ機械によってアクセスするために、ローカルまたは遠隔に記憶されたプログラムコードによって、行われてもよい。加えて、いくつかの実施形態では、動作の順序は、開示される主題の精神から逸脱することなく、並べ替えられてもよい。
プロセッサデバイス1404は、特殊目的または汎用プロセッサデバイスであってもよい。当業者によって理解されるように、プロセッサデバイス1404はまた、マルチコア/マルチプロセッサシステム内の単一プロセッサであってもよく、そのようなシステムは、単独で動作する、あるいはコンピューティングデバイスのクラスタとして、クラスタまたはサーバファーム内で動作する。プロセッサデバイス1404は、例えば、バス、メッセージキュー、ネットワーク、またはマルチコアメッセージ受渡し方式で、通信インフラストラクチャ1406に接続されてもよい。
コンピュータシステム1400はまた、メインメモリ1408、例えば、ランダムアクセスメモリ(RAM)を含み、また、二次メモリ1410を含んでもよい。二次メモリ1410は、例えば、ハードディスクドライブ1412、リムーバブル記憶ドライブ1414を含んでもよい。リムーバブル記憶ドライブ1414は、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリ、または同等物を備えてもよい。
リムーバブル記憶ドライブ1414は、公知の様式において、リムーバブル記憶ユニット1418から読み取り、および/またはそこに書き込む。リムーバブル記憶ユニット1418は、リムーバブル記憶ドライブ1414によって読み取られ、そこに書き込まれる、フロッピー(登録商標)ディスク、磁気テープ、光ディスク等を備えてもよい。当業者によって理解されるように、リムーバブル記憶ユニット1418は、コンピュータソフトウェアおよび/またはデータが中に記憶されている非一過性コンピュータ使用可能記憶媒体を含む。
代替実装では、二次メモリ1410は、コンピュータプログラムまたは他の命令が、コンピュータシステム1400にロードされることを可能にするための他の類似手段を含んでもよい。そのような手段は、例えば、リムーバブル記憶ユニット1422およびインターフェース1420を含んでもよい。そのような手段の実施例は、プログラムカートリッジおよびカートリッジインターフェース(ビデオゲームデバイスに見出されるもの等)、リムーバブルメモリチップ(EPROM、またはPROM等)および関連付けられたソケット、ならびにソフトウェアおよびデータが、リムーバブル記憶ユニット1422からコンピュータシステム1400に転送されることを可能にする、他のリムーバブル記憶ユニット1422およびインターフェース1420を含んでもよい。
コンピュータシステム1400はまた、通信インターフェース1424を含んでもよい。通信インターフェース1424は、ソフトウェアおよびデータが、コンピュータシステム1400と外部デバイスとの間で転送されることを可能にする。通信インターフェース1424は、モデム、ネットワークインターフェース(Ethernet(登録商標)カード等)、通信ポート、PCMCIAスロットおよびカード、または同等物を含んでもよい。通信インターフェース1424を介して転送されるソフトウェアおよびデータは、通信インターフェース1424によって受信可能な電子、電磁、光学、または他の信号であり得る、信号の形態であってもよい。これらの信号は、通信パス1426を介して、通信インターフェース1424に提供されてもよい。通信パス1426は、信号を搬送し、ワイヤまたはケーブル、光ファイバ、電話回線、携帯電話リンク、RFリンク、あるいは他の通信チャネルを使用して実装されてもよい。
本書では、用語「コンピュータプログラム媒体」、「非一過性コンピュータ可読媒体」、および「コンピュータ使用可能媒体」は、概して、リムーバブル記憶ユニット1418、リムーバブル記憶ユニット1422、およびハードディスクドライブ1412内にインストールされたハードディスク等の媒体を指すために使用される。通信パス1426を経由して搬送された信号はまた、本明細書に説明される論理を具現化することができる。コンピュータプログラム媒体およびコンピュータ使用可能媒体はまた、メモリ半導体(例えば、DRAM等)であり得る、メインメモリ1408および二次メモリ1410等のメモリを指し得る。これらのコンピュータプログラムプロダクトは、ソフトウェアをコンピュータシステム1400に提供するための手段である。
コンピュータプログラム(コンピュータ制御論理とも呼ばれる)は、メインメモリ1408および/または二次メモリ1410内に記憶される。コンピュータプログラムはまた、通信インターフェース1424を介して、受信されてもよい。そのようなコンピュータプログラムは、実行されると、本明細書に論じられるように、本発明を実装するために、コンピュータシステム1400を有効にする。特に、コンピュータプログラムは、実行されると、前述の図8−13の流れ図800、900、1000、1100、1200、および1300によって図示される方法における段階等、本発明のプロセスを実装するために、プロセッサデバイス1404を有効にする。故に、そのようなコンピュータプログラムは、コンピュータシステム1400のコントローラを表す。本発明が、ソフトウェアを使用して実装される場合、ソフトウェアは、コンピュータプログラムプロダクト内に記憶され、リムーバブル記憶ドライブ1414、インターフェース1420、およびハードディスクドライブ1412、または通信インターフェース1424を使用して、コンピュータシステム1400にロードされてもよい。
本発明の実施形態はまた、任意のコンピュータ使用可能媒体上に記憶されたソフトウェアを備える、コンピュータプログラムプロダクトを対象としてもよい。そのようなソフトウェアは、1つ以上のデータ処理デバイス内で実行されると、データ処理デバイスを本明細書に説明されるように動作させる。本発明の実施形態は、任意のコンピュータ使用可能または可読媒体を採用する。コンピュータ使用可能媒体の実施例として、一次記憶デバイス(例えば、任意のタイプのランダムアクセスメモリ)、二次記憶装置デバイス(例えば、ハードドライブ、フロッピー(登録商標)ディスク、CDROMS、ZIPディスク、テープ、磁気記憶デバイス、および光学記憶デバイス、MEMS、ナノテクノロジー記憶デバイス等)、および通信媒体(例えば、有線および無線通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、イントラネット等)が挙げられるが、それらに限定されない。
概要および要約セクションを除く、発明を実施するための形態セクションは、請求項を解釈するために使用されることを意図することを理解されたい。概要および要約セクションは、発明者によって想起されるような、全部ではないが、1つ以上の本発明の例示的実施形態を記載しており、したがって、本発明および添付の請求項をいかようにも限定することを意図するものではない。
本発明の実施形態は、規定された機能の実装およびその関係を図示する、機能的構築ブロックを用いて前述されている。これらの機能的構築ブロックの境界は、説明の便宜上、本明細書では、随意に画定されている。代替境界も、規定された機能およびその関係が、適切に果たされる限り、画定されることができる。
具体的実施形態の前述の説明は、他者が、本発明の一般的概念から逸脱することなく、過度の実験を伴うことなく、当該技術分野内の知識を適用することによって、種々のアプリケーションのために、そのような具体的実施形態を容易に修正および/または適応することができるように、本発明の一般的性質を完全に明らかにするであろう。したがって、そのような適応および修正は、本明細書に提示される教示および手引きに基づく、開示される実施形態の均等物の意味および範囲内であることが意図される。本明細書の語句または専門用語は、本明細書の専門用語または語句が、教示および手引きに照らして、当業者によって解釈されるように、限定ではなく、説明目的のためのものであることを理解されたい。
本発明は、具体的実施形態を参照して、図示および本明細書に説明されるが、本発明は、示される詳細に限定されることを意図するものではない。むしろ、種々の修正が、請求項の均等物の適用範囲および活動範囲内において、本発明から逸脱することなく、その詳細に行われてもよい。

Claims (26)

  1. 証明サーバを使用して、コンピューティングプラットフォーム上で実行中のランタイム時のアプリケーションのための証明サービスを提供する方法であって、該方法は、
    該コンピューティングプラットフォームから遠隔の該証明サーバによって、
    ランタイム時の該アプリケーションの属性を示すランタイム実行コンテキストと、
    該アプリケーションに関するセキュリティ情報を提供するセキュリティコンテキストと
    を受信することと、
    該証明サーバによって、該受信されたランタイム実行コンテキストおよび該受信されたセキュリティコンテキストに基づいて、証明結果として、該アプリケーションと関連付けられたセキュリティリスクを示すレポートを生成することと、
    該証明サーバによって、該アプリケーションと関連付けられた該証明結果を送信することと
    を含む、方法。
  2. 前記証明サーバによって、その後の実行コンテキストにおける変更に対する基準として、アプリケーションアーチファクトを生成することと、
    該ランタイム実行コンテキストへのその後の変更が、該生成されたアプリケーションアーチファクトに基づいて追跡されるように、該生成されたアプリケーションアーチファクトを送信することと
    をさらに含む、請求項1に記載の方法。
  3. 前記証明結果および前記アプリケーションアーチファクトをデジタル的に署名することをさらに含む、請求項2に記載の方法。
  4. 前記受信されたセキュリティコンテキストは、内省的セキュリティコンテキストである、請求項1に記載の方法。
  5. 前記アプリケーションと関連付けられたセキュリティリスクを示す前記レポートを生成することは、前記証明サーバによって、前記受信されたランタイム実行コンテキストおよび前記受信された内省的セキュリティコンテキストに関する1つ以上のセキュリティアサーションを生成することを含む、請求項1に記載の方法。
  6. 前記証明サーバが、複数の協調サービスを使用して、前記アプリケーションを認証することをさらに含む、請求項1に記載の方法。
  7. 一組の認証ルールを前記証明結果に従って適用することによって、識別プロバイダが、前記アプリケーションとのユーザのトランザクションを制御することをさらに含む、請求項1に記載の方法。
  8. 一組の認証ルールを前記証明結果に従って適用することによって、ネットワークアクセスエンフォーサが、前記アプリケーションへのユーザのネットワークアクセスを制御することをさらに含む、請求項1に記載の方法。
  9. 前記証明サーバが、異なる分類によってセキュリティリスクのレベルを示す、前記証明結果の中の信頼指標を提供することをさらに含み、それにより、前記アプリケーションとのユーザのトランザクションに関する制限が、該証明結果の中の該信頼指標によって示される該セキュリティリスクのレベルに基づいて識別プロバイダによって適用される、請求項1に記載の方法。
  10. 前記ユーザのトランザクションに関する制限の適用は、ネットワークアクセスエンフォーサが、前記アプリケーションへのユーザのネットワークアクセスに関する制限を適用することを含む、請求項9に記載の方法。
  11. 前記ユーザのトランザクションに関する制限の適用は、ウェブアプリケーションが、ルーティング決定を適用し、前記ユーザを代替コンピュータプラットフォームにリダイレクトすることを含む、請求項に記載の方法。
  12. ネットワークアクセスエンフォーサによって、前記証明結果に基づいて、前記アプリケーションへのユーザのアクセスを制御することをさらに含む、請求項1に記載の方法。
  13. 命令記憶されているコンピュータ読み取り可能な記憶媒体であって、該命令は、コンピューティングデバイスによって実行される場合、証明サーバを使用しクライアント−サーバトランザクションまたはピアツーピアトランザクションにおけるアプリケーションの相互証明を提供するための動作を実行することを該コンピューティングデバイスに行わせ、該動作は、
    該証明サーバが、第1のアプリケーションアーチファクトを生成および送信することと、
    該証明サーバが、該証明サーバによってクライアント−サーバトランザクションにおけるクライアントに送信された、または、該証明サーバによって該ピアツーピアトランザクションにおける第2のピアに送信された該第1のアプリケーションアーチファクトを該クライアント−サーバトランザクションにおけるサーバから、または、該ピアツーピアトランザクションにおける第1のピアから受信および照合すること
    該クライアント−サーバトランザクションまたはピアツーピアトランザクションにおいて使用される相互に関係付けられたアプリケーションについてのアプリケーションステートメントを生成し、該クライアントおよび該サーバに、または該第1のピアおよび第2のピアに送信することと
    を含む、コンピュータ読み取り可能な記憶媒体。
  14. 前記動作は、
    前記証明サーバが、第2のアプリケーションアーチファクトを生成および送信することと、
    該証明サーバが、該証明サーバによってクライアント−サーバトランザクションにおけるサーバに送信された、または、該証明サーバによって該ピアツーピアトランザクションにおける第1のピアに送信された該第2のアプリケーションアーチファクトを前記クライアント−サーバトランザクションにおけるクライアントから、または、前記ピアツーピアトランザクションにおける第2のピアから受信および照合すること
    をさらに含む、請求項13に記載のコンピュータ読み取り可能な記憶媒体。
  15. 前記クライアントおよび前記サーバへの、または、前記第1のピアおよび前記第2のピアへの前記アプリケーションステートメントの送信は、動作を含み、該動作は、
    前記証明サーバが
    前記相互に関係付けられたアプリケーションのうちのクライアントアプリケーションに関する該アプリケーションステートメントを前記クライアント−サーバトランザクションのサーバに、および該相互に関係付けられたアプリケーションのうちのサーバアプリケーションに関する該アプリケーションステートメントを該クライアント−サーバトランザクションのクライアントに、または
    該相互に関係付けられたアプリケーションのうちの第1のピアアプリケーションに関する該アプリケーションステートメントを前記ピアツーピアトランザクションの第2のピアに、および該相互に関係付けられたアプリケーションのうちの第2のピアアプリケーションに関するアプリケーションステートメントを該ピアツーピアトランザクションの第1のピアに
    送信することと、
    該送信されたアプリケーションステートメントに少なくとも部分的に基づいて、関連付けられたアプリケーションとのデータ交換をトランザクションするか否かを決定することと
    を含む、請求項14に記載のコンピュータ読み取り可能な記憶媒体。
  16. 前記アプリケーションステートメントを生成することは、
    該アプリケーションステートメントの中に、信頼指標およびコンテキストアサーションを含むこと
    を含み、
    前記関連付けられたアプリケーションとのデータ交換をトランザクションするか否かを決定することは、
    それぞれの信頼指標を一組のルールと比較することと、
    該比較に基づいて、データ交換をトランザクションするか否かを決定することと
    を含む、請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  17. 動中のウェブアプリケーションまたはウェブサーブレットの真正性の証明を提供するための方法であって、該方法は、ウェブサーバと証明サーバとを含むシステムによって実行され、該方法は、
    該ウェブサーバが、起動中のウェブアプリケーションまたはサーブレットインスタンスのためのアプリケーションアーチファクトを要求することと、
    該ウェブサーバが、該ウェブサーバと該証明サーバとの間にセキュアなチャネルを確立することと、
    該ウェブサーバが、該ウェブアプリケーションまたはサーブレットインスタンスの実行コンテキストに対応する少なくとも1つのハッシュファイルダイジェストを生成することと、
    該ウェブサーバが、該ウェブアプリケーションまたはウェブサーブレットインスタンスの少なくとも1つの要素または該実行コンテキストに対応する少なくとも1つのファイル属性を決定することと、
    該証明サーバが、アプリケーションレポートを識別プロバイダに送信することと、
    該証明サーバが、受信されたセキュリティコンテキストおよび受信されたローカル実行コンテキストに基づいて、アサーションを生成することと、
    該証明サーバが、該レポートの中の信頼指標を該識別プロバイダに伝送することと、
    該識別プロバイダが、該起動中のウェブアプリケーションまたはウェブサーブレットの証明を提供することと
    を含む、方法。
  18. 前記証明は、ユーザとの確立された接続における任意のデータ交換の着手に先立って提供される、請求項17に記載の方法。
  19. 前記証明は、ユーザとのネットワーク接続の確立に先立って提供される、請求項17に記載の方法。
  20. 前記ウェブサーバが、ユーザ入力に応答してアクセスされるべきデジタルアイコンとして前記ウェブアプリケーションに関する証明情報をレンダリングすることをさらに含む、請求項19に記載の方法。
  21. 自己管理およびオンプレミスの、またはアウトソースのサービスプロバイダ管理インフラストラクチャ上にホストされた起動中のアプリケーションを継続的にモニタリングするためのシステムであって、該システムは、
    標的ユーザまたはサービスプログラムをホストするための機器化された標的プラットフォームと、
    アプリケーション証明サービスであって、該サービスは、
    検査ベースのランタイムローカル実行コンテキストおよび内省ベースのセキュリティコンテキストに関する複数のアサーションを含む、グローバルに一意の、不透明な、および時間依存のアプリケーションアーチファクトおよびアプリケーションステートメントを生成することと、
    該機器化された標的プラットフォームを修正することであって、該修正することは、該機器化された標的プラットフォームのイメージの再適用、スナップショット、または隔離のうちの1つ以上を含む、ことと
    のためのものである、アプリケーション証明サービスと、
    該機器化された標的プラットフォーム上の起動中のアプリケーションプロセスを発見、識別、および検査するための、および少なくとも該ランタイムローカル実行コンテキストを含むメタデータを生成するためのランタイムモニタと、
    協調サービスであって、該サービスは、
    該機器化された標的プラットフォーム上で起動する標的アプリケーションのための内省されるセキュリティコンテキストを提供することと、
    該機器化された標的プラットフォーム上で起動する標的アプリケーションのための実行可能ファイルバイナリを分析することと
    を行うように構成されている、協調サービスと、
    グラフィカルユーザインターフェースであって、該インターフェースは、
    該証明サービスのメタデータリポジトリから、動的アサーションを要求および受信することであって、該動的アサーションは、該ローカル実行コンテキスト、すなわち、機器化された標的プラットフォーム上で起動中のアプリケーションインスタンスの該内省されるセキュリティコンテキストに関する、ことと、
    該動的アサーションをシステムアドミニストレータに継続的に表示することと、
    該動的アサーションおよび所定の基準に基づいて、アラートをプロビジョニングおよび発信することと
    を行うように構成されている、グラフィカルユーザインターフェースと
    を備える、システム。
  22. ネットワークアクセスエンフォーサは、証明サービスから、動的アプリケーションステートメントをサブスクライブおよび受信することにより、前記コンテキストアサーションを分析し、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスが許可または拒否されるか否かを決定する、請求項21に記載のシステム。
  23. 前記グラフィカルユーザインターフェースは、クライアント特有のダッシュボードまたはポータル上に、機器化された標的プラットフォーム上で起動する前記アプリケーションを表示し、各関連付けられたアプリケーション実行コンテキストのために、
    サービスホスト名、
    サービス領域、
    サービスプリンシパル名、
    プロダクトバージョン、
    プロダクトベンダ、
    1つ以上の分類ベースの信頼指標、
    アクティブなネットワークサービスポート、または
    実行可能ファイルバイナリ
    のうちの少なくとも1つを提示する、請求項21に記載のシステム。
  24. 識別プロバイダをさらに備え、該識別プロバイダは、前記証明サービスからの動的アプリケーションステートメントをクエリすることにより、前記コンテキストアサーションを分析し、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするために、認証を許可または拒否されるか否かを決定する、請求項21に記載のシステム。
  25. ネットワークアクセスエンフォーサをさらに備え、該ネットワークアクセスエンフォーサは、サブスクリプションに基づいて、証明サービスから受信された動的アプリケーションステートメントの中に含まれる分類ベースの信頼指標を分析することにより、認証されたユーザが、証明されたアプリケーションインスタンスへのネットワークアクセスが許可または拒否されるか否かを決定する、請求項21に記載のシステム。
  26. 識別プロバイダは、サブスクリプションに基づいて、証明サービスから受信された動的アプリケーションステートメント内に含まれる分類ベースの信頼指標を分析することにより、認証されたユーザが、確立された接続において、証明されたアプリケーションインスタンスとのデータ交換をトランザクションするための認証を許可または拒否されるか否かを決定する、請求項21に記載のシステム。
JP2013554623A 2011-02-17 2012-02-17 アプリケーション証明のためのシステムおよび方法 Expired - Fee Related JP5961638B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161443854P 2011-02-17 2011-02-17
US61/443,854 2011-02-17
PCT/US2012/025551 WO2012112833A2 (en) 2011-02-17 2012-02-17 System and method for application attestation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016022581A Division JP2016129037A (ja) 2011-02-17 2016-02-09 アプリケーション証明のためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2014505960A JP2014505960A (ja) 2014-03-06
JP5961638B2 true JP5961638B2 (ja) 2016-08-02

Family

ID=46653839

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013554623A Expired - Fee Related JP5961638B2 (ja) 2011-02-17 2012-02-17 アプリケーション証明のためのシステムおよび方法
JP2016022581A Pending JP2016129037A (ja) 2011-02-17 2016-02-09 アプリケーション証明のためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016022581A Pending JP2016129037A (ja) 2011-02-17 2016-02-09 アプリケーション証明のためのシステムおよび方法

Country Status (6)

Country Link
US (1) US8327441B2 (ja)
EP (1) EP2676220A4 (ja)
JP (2) JP5961638B2 (ja)
KR (1) KR20140043068A (ja)
IL (1) IL228003A (ja)
WO (1) WO2012112833A2 (ja)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508946B2 (en) * 2001-06-27 2009-03-24 Sony Corporation Integrated circuit device, information processing apparatus, memory management method for information storage device, mobile terminal apparatus, semiconductor integrated circuit device, and communication method using mobile terminal apparatus
US9407662B2 (en) * 2005-12-29 2016-08-02 Nextlabs, Inc. Analyzing activity data of an information management system
US8407757B2 (en) * 2008-01-04 2013-03-26 International Business Machines Corporation Specifying and enforcing run-time policies for application processes being executed on a computer
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US20120272103A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Software operability service
US9418216B2 (en) 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US9117076B2 (en) 2012-03-14 2015-08-25 Wintermute, Llc System and method for detecting potential threats by monitoring user and system behavior associated with computer and network activity
US8918387B1 (en) 2012-04-04 2014-12-23 Symantec Corporation Systems and methods for classifying applications configured for cloud-based platforms
US9223961B1 (en) * 2012-04-04 2015-12-29 Symantec Corporation Systems and methods for performing security analyses of applications configured for cloud-based platforms
US9027125B2 (en) 2012-05-01 2015-05-05 Taasera, Inc. Systems and methods for network flow remediation based on risk correlation
WO2013170064A2 (en) 2012-05-09 2013-11-14 SunStone Information Defense Inc. Methods and apparatus for identifying and removing malicious applications
US9053307B1 (en) 2012-07-23 2015-06-09 Amazon Technologies, Inc. Behavior based identity system
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9197498B2 (en) 2012-08-31 2015-11-24 Cisco Technology, Inc. Method for automatically applying access control policies based on device types of networked computing devices
CN103685151B (zh) * 2012-09-03 2018-05-22 腾讯科技(深圳)有限公司 账号单点登录保护方法及装置
CN104620278B (zh) * 2012-09-12 2017-12-22 英派尔科技开发有限公司 用于保证而不显露基础结构的复合认证
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US9253185B2 (en) 2012-12-12 2016-02-02 Nokia Technologies Oy Cloud centric application trust validation
US10356204B2 (en) * 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US8850517B2 (en) * 2013-01-15 2014-09-30 Taasera, Inc. Runtime risk detection based on user, application, and system action sequence correlation
US9473355B2 (en) 2013-03-14 2016-10-18 Amazon Technologies, Inc. Inferring application inventory
US10333801B2 (en) * 2013-03-14 2019-06-25 Amazon Technologies, Inc. Inventory service for distributed infrastructure
US11816465B2 (en) 2013-03-15 2023-11-14 Ei Electronics Llc Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9456302B2 (en) 2013-06-03 2016-09-27 Temeda Llc Geospatial asset tracking systems, methods and apparatus for acquiring, manipulating and presenting telematic metadata
US9811447B2 (en) 2013-06-20 2017-11-07 Entit Software Llc Generating a fingerprint representing a response of an application to a simulation of a fault of an external service
US9262470B1 (en) 2013-06-25 2016-02-16 Amazon Technologies, Inc. Application recommendations based on application and lifestyle fingerprinting
US10269029B1 (en) 2013-06-25 2019-04-23 Amazon Technologies, Inc. Application monetization based on application and lifestyle fingerprinting
US9921827B1 (en) 2013-06-25 2018-03-20 Amazon Technologies, Inc. Developing versions of applications based on application fingerprinting
US9454565B1 (en) * 2013-06-25 2016-09-27 Amazon Technologies, Inc. Identifying relationships between applications
US9547835B2 (en) * 2013-08-20 2017-01-17 International Business Machines Corporation Modularly managed service platform
US9117077B2 (en) 2013-09-27 2015-08-25 Bitdefender IPR Management Ltd. Systems and methods for using a reputation indicator to facilitate malware scanning
US10880110B2 (en) 2013-10-22 2020-12-29 Nokia Technologies Oy Apparatus and method for identifying objects using social links
WO2015092130A1 (en) 2013-12-20 2015-06-25 Nokia Technologies Oy Push-based trust model for public cloud applications
CN105900059B (zh) 2014-01-21 2019-06-07 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
US9548976B2 (en) * 2014-05-06 2017-01-17 Okta, Inc. Facilitating single sign-on to software applications
US11734396B2 (en) 2014-06-17 2023-08-22 El Electronics Llc Security through layers in an intelligent electronic device
US10380575B2 (en) * 2014-06-26 2019-08-13 Capital One Services, Llc Systems and methods for transaction pre authentication
US9390258B2 (en) * 2014-07-16 2016-07-12 General Electric Company Systems and methods for verifying the authenticity of an application during execution
CN104158659B (zh) * 2014-07-21 2015-11-11 小米科技有限责任公司 防伪验证方法、装置和系统
US10104011B2 (en) * 2014-09-25 2018-10-16 Oracle International Corporation System and method for determination of partition identifiers in a multitenant application server environment
US10346631B2 (en) * 2014-09-30 2019-07-09 Entit Software Llc Metrics authorization based on a certificate
US10225245B2 (en) * 2014-11-18 2019-03-05 Auth0, Inc. Identity infrastructure as a service
US20160253664A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Attestation by proxy
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
WO2016137277A1 (en) 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US9921941B2 (en) * 2015-04-10 2018-03-20 Siemens Aktiengesellschaft Verification and validation of third party PLC code
US10685130B2 (en) * 2015-04-21 2020-06-16 Sequitur Labs Inc. System and methods for context-aware and situation-aware secure, policy-based access control for computing devices
US10356068B2 (en) 2015-07-14 2019-07-16 Avocado Systems Inc. Security key generator module for security sensitive applications
EP3329649B1 (en) * 2015-07-31 2019-06-12 BlackBerry Limited Managing access to resources
US10354070B2 (en) 2015-08-22 2019-07-16 Avocado Systems Inc. Thread level access control to socket descriptors and end-to-end thread level policies for thread protection
US9875373B2 (en) * 2015-09-28 2018-01-23 International Business Machines Corporation Prioritization of users during disaster recovery
US9531745B1 (en) * 2015-11-20 2016-12-27 International Business Machines Corporation Crowd-sourced security analysis
US10402555B2 (en) 2015-12-17 2019-09-03 Google Llc Browser attestation challenge and response system
US10958435B2 (en) 2015-12-21 2021-03-23 Electro Industries/ Gauge Tech Providing security in an intelligent electronic device
US9977888B2 (en) * 2015-12-22 2018-05-22 Intel Corporation Privacy protected input-output port control
CN105357002A (zh) * 2015-12-29 2016-02-24 武汉大学 基于云存储生物特征认证的敏感信息安全外包方法
CN105678273B (zh) * 2016-01-14 2019-07-23 上海大学 射频指纹识别技术瞬态信号的起始点检测算法
JP6656388B2 (ja) * 2016-02-04 2020-03-04 テレフオンアクチーボラゲット エルエム エリクソン(パブル) アクター・マイグレーション
CN107133520B (zh) * 2016-02-26 2021-05-14 华为技术有限公司 云计算平台的可信度量方法和装置
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10616266B1 (en) 2016-03-25 2020-04-07 Fireeye, Inc. Distributed malware detection system and submission workflow thereof
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10552413B2 (en) 2016-05-09 2020-02-04 Sap Se Database workload capture and replay
US11838271B2 (en) * 2016-05-18 2023-12-05 Zscaler, Inc. Providing users secure access to business-to-business (B2B) applications
US10176331B2 (en) 2016-06-10 2019-01-08 Microsoft Technology Licensing, Llc Enhanced metadata to authentically report the provenance of a file
US10298702B2 (en) 2016-07-05 2019-05-21 Sap Se Parallelized replay of captured database workload
US10534910B1 (en) * 2016-10-04 2020-01-14 Hewlett-Packard Development Company, L.P. Using threat model to monitor host execution
US10341321B2 (en) 2016-10-17 2019-07-02 Mocana Corporation System and method for policy based adaptive application capability management and device attestation
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
US10484429B1 (en) * 2016-10-26 2019-11-19 Amazon Technologies, Inc. Automated sensitive information and data storage compliance verification
US10237293B2 (en) 2016-10-27 2019-03-19 Bitdefender IPR Management Ltd. Dynamic reputation indicator for optimizing computer security operations
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
US10592528B2 (en) 2017-02-27 2020-03-17 Sap Se Workload capture and replay for replicated database systems
US10075440B1 (en) 2017-05-17 2018-09-11 International Business Machines Corporation Multi-party secure global attestation
CN107329742B (zh) * 2017-06-14 2021-01-29 北京小米移动软件有限公司 软件开发工具包调用方法及装置
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
CN109547400A (zh) 2017-09-22 2019-03-29 三星电子株式会社 通信方法、完整性验证方法和客户端的服务器注册方法
US11367323B1 (en) 2018-01-16 2022-06-21 Secureauth Corporation System and method for secure pair and unpair processing using a dynamic level of assurance (LOA) score
CN108319670A (zh) * 2018-01-23 2018-07-24 湖南大学 基于云计算的可验证的动态排名搜索方法
US11734704B2 (en) 2018-02-17 2023-08-22 Ei Electronics Llc Devices, systems and methods for the collection of meter data in a common, globally accessible, group of servers, to provide simpler configuration, collection, viewing, and analysis of the meter data
US11686594B2 (en) * 2018-02-17 2023-06-27 Ei Electronics Llc Devices, systems and methods for a cloud-based meter management system
US11754997B2 (en) 2018-02-17 2023-09-12 Ei Electronics Llc Devices, systems and methods for predicting future consumption values of load(s) in power distribution systems
US11050748B2 (en) * 2018-03-13 2021-06-29 Cyberark Software Ltd. Web-based authentication for non-web clients
US10698892B2 (en) 2018-04-10 2020-06-30 Sap Se Order-independent multi-record hash generation and data filtering
US10965676B2 (en) * 2018-10-02 2021-03-30 Ca, Inc. Peer authentication by source devices
US11165827B2 (en) 2018-10-30 2021-11-02 International Business Machines Corporation Suspending communication to/from non-compliant servers through a firewall
GB2578628B (en) * 2018-11-01 2021-09-15 Trustonic Ltd Device attestation techniques
US11381404B2 (en) * 2018-11-09 2022-07-05 Microsoft Technology Licensing, Llc Trusted platform module attestation flow over simple authentication and security layer with multiple symmetric key identification
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices
US10951605B2 (en) * 2019-02-20 2021-03-16 Xage Security, Inc. Centrally managing data for distributed identity-based firewalling
US10642715B1 (en) * 2019-02-21 2020-05-05 Cyberark Software Ltd. Dynamic authorization of requested actions using adaptive context-based matching
US10931661B2 (en) * 2019-03-05 2021-02-23 Centripetal Networks Methods and systems for certificate filtering
CN111866044A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 数据采集方法、装置、设备及计算机可读存储介质
US11863589B2 (en) 2019-06-07 2024-01-02 Ei Electronics Llc Enterprise security in meters
US11096059B1 (en) 2019-08-04 2021-08-17 Acceptto Corporation System and method for secure touchless authentication of user paired device, behavior and identity
US11962624B2 (en) 2019-09-27 2024-04-16 International Business Machines Corporation Metadata driven selection of entitlements in an identity governance system
US10951606B1 (en) * 2019-12-04 2021-03-16 Acceptto Corporation Continuous authentication through orchestration and risk calculation post-authorization system and method
US11709752B2 (en) 2020-04-02 2023-07-25 Sap Se Pause and resume in database system workload capture and replay
US11615012B2 (en) 2020-04-03 2023-03-28 Sap Se Preprocessing in database system workload capture and replay
IL274165B2 (en) 2020-04-23 2023-08-01 Google Llc An application for maintaining privacy and detecting device errors
US20210377018A1 (en) * 2020-05-29 2021-12-02 Electric Power Research Institute, Inc. Secure remote access to industrial control systems using hardware based authentication
US11329998B1 (en) 2020-08-31 2022-05-10 Secureauth Corporation Identification (ID) proofing and risk engine integration system and method
US11537761B2 (en) * 2020-09-25 2022-12-27 Intel Corporation Transparent network access control for spatial accelerator device multi-tenancy
US11689537B2 (en) * 2020-10-21 2023-06-27 Okta, Inc. Providing flexible service access using identity provider
US11363080B1 (en) * 2021-01-21 2022-06-14 Dell Products L.P. Managed intelligent discovery and mesh connectivity orchestration for collaboration solutions

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091835A (en) * 1994-08-31 2000-07-18 Penop Limited Method and system for transcribing electronic affirmations
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6996710B1 (en) * 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7013481B1 (en) * 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
JP2001350532A (ja) * 2000-06-06 2001-12-21 Masuo Yoshimoto アプリケーション流通方式
US7194759B1 (en) * 2000-09-15 2007-03-20 International Business Machines Corporation Used trusted co-servers to enhance security of web interaction
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
JP2002300155A (ja) * 2001-03-30 2002-10-11 Tokyo Electric Power Co Inc:The 相互認証方法及び相互認証システム
US8910241B2 (en) 2002-04-25 2014-12-09 Citrix Systems, Inc. Computer security system
US7634807B2 (en) * 2003-08-08 2009-12-15 Nokia Corporation System and method to establish and maintain conditional trust by stating signal of distrust
US7797544B2 (en) * 2003-12-11 2010-09-14 Microsoft Corporation Attesting to establish trust between computer entities
US20050132031A1 (en) * 2003-12-12 2005-06-16 Reiner Sailer Method and system for measuring status and state of remotely executing programs
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US7984304B1 (en) * 2004-03-02 2011-07-19 Vmware, Inc. Dynamic verification of validity of executable code
JP4601979B2 (ja) * 2004-03-22 2010-12-22 エヌ・ティ・ティ・コムウェア株式会社 証明書相互認証システム、及び証明書相互認証方法
US20050221766A1 (en) * 2004-03-31 2005-10-06 Brizek John P Method and apparatus to perform dynamic attestation
US20050278253A1 (en) * 2004-06-15 2005-12-15 Microsoft Corporation Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US20060005009A1 (en) * 2004-06-30 2006-01-05 International Business Machines Corporation Method, system and program product for verifying an attribute of a computing device
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
JP2007097439A (ja) * 2005-09-30 2007-04-19 Kirin Beverage Corp 安定化したデンプン及び/又は脂質含有ポタージュスープ及びその製造方法
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
US8375122B2 (en) 2005-12-15 2013-02-12 International Business Machines Corporation Web service information management in service-oriented architecture applications
US20070185856A1 (en) * 2006-01-23 2007-08-09 American Express Travel Related Services Company, Inc. System and method for managing attestations
US7574479B2 (en) * 2006-01-24 2009-08-11 Novell, Inc. Techniques for attesting to content
US20100229242A1 (en) * 2006-02-21 2010-09-09 Nec Corporation Program execution control system, program execution control method and computer program for program execution control
GB0603781D0 (en) * 2006-02-24 2006-04-05 Nokia Corp Application verification
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
JP4906854B2 (ja) * 2006-07-03 2012-03-28 パナソニック株式会社 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
KR100823738B1 (ko) * 2006-09-29 2008-04-21 한국전자통신연구원 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
KR100843081B1 (ko) * 2006-12-06 2008-07-02 삼성전자주식회사 보안 제공 시스템 및 방법
US8572400B2 (en) * 2007-03-26 2013-10-29 Intel Corporation Enhanced digital right management framework
US8875272B2 (en) * 2007-05-15 2014-10-28 International Business Machines Corporation Firewall for controlling connections between a client machine and a network
US20090094584A1 (en) * 2007-10-04 2009-04-09 International Business Machines Corporation Non-intrusive asset monitoring framework for runtime configuration of deployable software assets
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8516539B2 (en) 2007-11-09 2013-08-20 Citrix Systems, Inc System and method for inferring access policies from access event records
US8990910B2 (en) 2007-11-13 2015-03-24 Citrix Systems, Inc. System and method using globally unique identities
US8364973B2 (en) * 2007-12-31 2013-01-29 Intel Corporation Dynamic generation of integrity manifest for run-time verification of software program
US8474037B2 (en) * 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
US9240945B2 (en) 2008-03-19 2016-01-19 Citrix Systems, Inc. Access, priority and bandwidth management based on application identity
US8943575B2 (en) 2008-04-30 2015-01-27 Citrix Systems, Inc. Method and system for policy simulation
US8108536B1 (en) * 2008-06-30 2012-01-31 Symantec Corporation Systems and methods for determining the trustworthiness of a server in a streaming environment
JP5398824B2 (ja) * 2008-10-10 2014-01-29 パナソニック株式会社 セキュア処理システムのアプリケーション空間において信頼性を実現するための一時的pcr利用
US8990573B2 (en) 2008-11-10 2015-03-24 Citrix Systems, Inc. System and method for using variable security tag location in network communications
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8776245B2 (en) * 2009-12-23 2014-07-08 Intel Corporation Executing trusted applications with reduced trusted computing base
US8528069B2 (en) * 2010-09-30 2013-09-03 Microsoft Corporation Trustworthy device claims for enterprise applications
US20120131334A1 (en) * 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems

Also Published As

Publication number Publication date
WO2012112833A3 (en) 2012-11-08
JP2014505960A (ja) 2014-03-06
IL228003A (en) 2016-06-30
WO2012112833A2 (en) 2012-08-23
US8327441B2 (en) 2012-12-04
US20120216244A1 (en) 2012-08-23
KR20140043068A (ko) 2014-04-08
IL228003A0 (en) 2013-09-30
JP2016129037A (ja) 2016-07-14
EP2676220A2 (en) 2013-12-25
EP2676220A4 (en) 2018-01-03

Similar Documents

Publication Publication Date Title
JP5961638B2 (ja) アプリケーション証明のためのシステムおよび方法
US11949656B2 (en) Network traffic inspection
US10958662B1 (en) Access proxy platform
US10834050B2 (en) Modifying authentication for an application programming interface
US11303659B2 (en) Detecting inappropriate activity in the presence of unauthenticated API requests using artificial intelligence
CN112154639B (zh) 在没有用户足迹的情况下的多因素认证
JP6559694B2 (ja) 自動sdk受容
CN112913208B (zh) 具有内部部署的认证集成和桥接器高可用性的多租户身份云服务
US9015845B2 (en) Transit control for data
US8776180B2 (en) Systems and methods for using reputation scores in network services and transactions to calculate security risks to computer systems and platforms
US20170026401A1 (en) System and method for threat visualization and risk correlation of connected software applications
US11063923B2 (en) Authenticator plugin interface
Ahmed et al. A review of challenges and security risks of cloud computing
US10637829B2 (en) Passport-controlled firewall
Chikhale et al. Security analysis of SDN cloud applications
US11798001B2 (en) Progressively validating access tokens
US11546358B1 (en) Authorization token confidence system
US20230325478A1 (en) Instrumenting applications to prevent abuse by privileged users
CN116032500A (zh) 业务访问流量管控方法、装置、设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160627

R150 Certificate of patent or registration of utility model

Ref document number: 5961638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees