【文献】
中村 陽一,マルチモーダル指認証,画像ラボ 第21巻 第1号 IMAGE LAB,日本,日本工業出版株式会社,2010年 1月10日,第21巻,pp.41-46
【文献】
山田 慈朗 Jiro YAMADA,多要素認証プラットフォームにおける認証技術組み合わせの評価方法について An Evaluation Method of Combined Authentication Techniques for a Multifactor Authentication Platform,情報処理学会研究報告 平成22年度▲5▼ [CD−ROM],日本,一般社団法人情報処理学会,2011年 2月15日,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
装置への複数の入力を介して複数の異なるタイプの受動的ユーザー情報を監視するステップであって、前記装置は、受動的セキュリティエンジンに関連付けられるように構成された複数のアプリケーションを含むことからなる、ステップと、
前記受動的セキュリティエンジンにおいて前記複数の異なるタイプの受動的ユーザー情報を処理させて、前記それぞれのアプリケーションに対してそれぞれのセキュリティ機能を実行するか否かを決定するステップであって、前記処理された受動的ユーザー情報はさらに、前記装置が安全であるか否かの判定に基づくことからなる、ステップと、
前記処理された受動的ユーザー情報から得られたスコアに基づいて少なくとも2つの前記アプリケーションに対して前記それぞれのセキュリティ機能を実行するステップと、
規定された時間間隔で、またはランダムな時間間隔で、または割込みに基づいて、前記監視するステップと前記処理させるステップと前記実行するステップを繰り返すステップ
を含み、
前記複数の異なるタイプの受動的ユーザー情報の各々に固有の重み付けがされ、前記スコアは、かかる重み付けをされた前記複数の異なるタイプの受動的ユーザー情報から得られ、
前記少なくとも2つのアプリケーションの各々に固有の閾値が関連付けられており、
前記スコアが、ユーザーがアクセスしているアプリケーションに関連付けられている前記閾値を超えているときには、該アプリケーションに対する前記ユーザーのアクセスを継続して許可するためのセキュリティ機能を実行することからなる、方法。
【発明を実施するための形態】
【0004】
装置を、コンテンツを作成するために及び/またはコンテンツをユーザーに提供するために使用することができる。ユーザーや事業体は、装置上の情報を保護することを望む場合がある。たとえば、企業は、ユーザー以外の個人によって情報が見られないように情報を守ることを望む場合があり、または、ユーザーは、あるコンテンツが他者によって保護されることを望む場合がある。望まれるセキュリティは、ユーザーが一組の認証情報でサインインし、有効期限が切れるまで該認証情報を使用することができるモデルよりも独自性のあるものでありうる。
【0005】
したがって、本明細書に開示されている種々の実施形態は、(セキュリティによって)保護されているリソースを使用しているエンドユーザーを、規定(または事前設定)された時間間隔やランダムな時間間隔で、または、暗黙的/受動的なセキュリティ情報に基づく割込みなどに基づいて暗黙的/受動的に認証することによって、該エンドユーザーが、該保護されたリソースに対して最初に認証されたエンドユーザーと同一人であることを保証にすることに関連する。ここで、上記暗黙的/受動的なセキュリティ情報は、顔認識や(たとえば掌紋や指紋などの)紋認識、網膜情報、音声認識、歩調、心臓(または心拍)信号、脳信号、タイピング(タイプ入力)リズム、ユーザーキー、またはそれらの組み合わせなどである。いくつかの例では、1以上のユーザーがある装置に関連付けられているときには、該受動認証(パッシブ認証)を、該装置用の主たる認証手段として使用することができる。
【0006】
受動認証は、保護されているリソースにアクセスしているユーザーが、該保護されているリソースに対して最初に認証されたエンドユーザーと同一人であることを保証することができる。ユーザーがその場所を離れたり、他の新たなユーザーが該装置上のコンテンツにアクセスするときには、連続的な認証を用いてセキュリティを確保することができる。いくつかの例では、新たなユーザーが装置上のあるコンテンツにアクセスできるようにすることは安全ではない場合がある。そのため、現在のユーザーが、セキュリティ認証情報(セキュリティ証明書)が付与されたユーザーと異なりうる可能性の判定に基づいて、セキュリティ機能を実行することができる。いくつかの例では、同じ情報に基づいて、異なるアプリケーションに対して異なるセキュリティ機能を実行することができる。それらの異なるセキュリティ機能には、アプリケーションまたはコンテンツに対するアクセスを制限もしくは排除するなどの消極的なセキュリティ機能、コンテンツ/アプリケーションに対してさらなる認証を要求したり、受動的セキュリティエンジンからのより完全なチェックを要求するなどの中間的なセキュリティ機能、または、アプリケーション及び/またはコンテンツに対するアクセスを許可し続けるなどの積極的なセキュリティ機能を含めることができる。
【0007】
いくつかの例では、受動的セキュリティエンジンは、情報を処理してセキュリティの尤度(または可能性)を判定するための手段である。該尤度(または可能性)を、アプリケーションや特定のコンテンツなどに対するものとすることができる。さらに、該可能性を、スコア、値、信頼水準(または信頼度)、ブール値などを用いて表すことができる。受動的セキュリティエンジンを、セキュリティ機能を実行する装置に配置することができ、または、別の装置(たとえばサーバーや他のプラットフォーム)に配置することができる。
【0008】
さらに、装置に接続されているかまたは装置に組み込まれているかなどされている1以上の入力(装置)を用いて、処理される受動的な情報を生成することができる。ドライバを装置にインストールしてそれぞれの入力装置にシームレスに接続することができる。さらに、装置上のプログラムは、セキュリティ認証情報を収集するためにどの入力装置を使用するか、及び/または、それらの入力装置をいつ使用するかを制御することができる。さらに、該プログラムは、装置のどのような組み合わせが利用可能か、及び/または、どの装置を使用すべきかを決定することができる。
【0009】
本明細書に記載されているアプローチによれば、ある一人のエンドユーザーが、装置を介してセキュリティセンシティブな(すなわちセキュリティに気を配る必要がある)リソースに対して認証を行い、その後、認証されていない別のユーザーが該装置を介して該セキュリティセンシティブなリソースを見たり使用したりすることができるようにする状況に対処することができる。さらに、このアプローチは、コンテンツがそれほどセキュリティセンシティブではない場合に、該別のユーザーが該装置にアクセスできるようにすることができる。
【0010】
図1は、1例にしたがう、アプリケーションに対してセキュリティ機能を実行するためのコンピューティング装置を含むシステムのブロック図である。システム100は、通信ネットワーク106を介して、セキュリティプラットフォーム104などの他の装置と通信するコンピューティング装置102を含むことができる。いくつかの例では、コンピューティング装置102及び/または該他の装置(たとえば、セキュリティプラットフォーム104)は、サーバー、クライアントコンピューター、デスクトップコンピューター、モバイルコンピューターなどのコンピューティング装置である。コンピューティング装置102及び/またはセキュリティプラットフォーム104を、処理要素、メモリ(記憶装置)、及び/または他の構成要素によって実施することができる。
【0011】
コンピューティング装置102は、装置に対して受動的セキュリティを実行するための、たとえば、プロセッサ110、及び、命令122、124、126を含む機械可読記憶媒体120を備える。コンピューティング装置102を、たとえば、ノートパソコン、スレートコンピューティング装置、携帯型読取装置、無線電子メール装置、携帯電話、サーバー、ワークステーション、専用機、またはその他の任意のコンピューティング装置とすることができる。
【0012】
プロセッサ110を、機械可読記憶媒体120に格納されている命令の取り出し及び実行に適した、少なくとも1つの中央処理装置(CPU)、または少なくとも1つの半導体ベースのマイクロプロセッサ、または少なくとも1つのグラフィックスプロセッシングユニット(GPU)、またはその他のハードウェア装置、またはそれらの組み合わせとすることができる。たとえば、プロセッサ110は、1つのチップ上に複数のコアを含むことができ、または、複数のチップにわたって複数のコアを含むことができ、または、(たとえば、コンピューティング装置102が複数のノード装置を備えている場合には)複数の装置にわたって複数のコアを含むことができ、または、それらの組み合わせを含むことができる。プロセッサ110は、命令122、124、126をフェッチし、デコードし、及び実行して、
図3及び/または
図4のアプローチを実施することができる。プロセッサ110は、命令を取り出して実行する代わりに、または、それに加えて、命令122、124、126の機能を実行するための複数の電子部品(または電子的構成要素)を含む、少なくとも1つの集積回路(IC)、またはその他の制御論理回路、またはその他の電子回路、またはそれらの組み合わせを含むことができる。
【0013】
機械可読記憶媒体120を、実行可能命令を含みまたは格納している任意の電子記憶装置、または磁気記憶装置、または光学記憶装置、またはその他の物理的記憶装置とすることができる。したがって、機械可読記憶媒体を、たとえば、ランダムアクセスメモリ(RAM)、電気的消去可能なPROM(EEPROM)、記憶ドライブ(磁気ディスク装置など)、コンパクトディスク読み取り専用メモリ(CD-ROM)などとすることができる。そのため、機械可読記憶媒体を非一時的なものとすることができる。本明細書に詳しく記載されているように、機械可読記憶媒体120を、コンピューティング装置102に受動的セキュリティを提供するための一連の実行可能命令でコード化(符号化)することができる。
【0014】
1以上のアプリケーションをコンピューティング装置102によって実行することができる。いくつかの例では、それらのアプリケーションは、コンピューティング102上で実行されている場合があるオペレーティングシステムとは異なる。1例では、アプリケーションは、コンピューティング装置に、該コンピューティング装置自体を動作させるもの以外の有用なタスクを実行させる実行可能命令もしくはソフトウェアである。アプリケーションの例には、ゲーム、ブラウザー、企業ソフトウェア、財務会計ソフト、オフィススイート(office suites)、画像処理ソフト、メディアプレーヤー、プロジェクトエンジニアリングソフトウェア、シミュレーションソフトウェア、開発ソフトウェア、ウェブアプリケーション、独立型のコンテンツ制限アプリケーション(コンテンツ制限アプリケーションは、当該アプリケーションのコンテンツへのアクセスを制限するためのセキュリティ機能が付加されたアプリケーションであり、「独立型」とは、受動的セキュリティエンジンの機能に適合させるための変更が不要であることを意味する)などを含めることができる。アプリケーションソフトウェアを、受動的セキュリティを用いて受動的に保護することができる。さらに、プラグインまたは他のコードを用いて、一般に使用されるアプリケーションを(閲覧等のアクセスが)制限されたコンテンツを見るために使用されるコンテンツ制限アプリケーションに変換することができる。いくつかの例では、ウェブアプリケーションは、イントラネットやインターネットなどのネットワークを介してユーザーによってアクセスされるアプリケーションである。さらに、ウェブアプリケーションを、ブラウザー上で動作するプログラミング言語でコード化することができる。独立型のコンテンツ制限アプリケーションを、受動的セキュリティエンジンによって変更を加えることなく動作することができる、ブラウザーやコンテンツ提供アプリケーションなどのアプリケーションとすることができる。
【0015】
1例では、コンピューティング装置102のアプリケーションを、受動的セキュリティエンジンに関連付けられるように構成することができる。いくつかの例では、該エンジンを、(たとえば、クライアント/サーバー関係を介して)受動的セキュリティエンジン130などのセキュリティプラットフォーム104に配置することができる。他の例では、受動的セキュリティエンジン130の1以上の部分を、たとえば、受動的セキュリティ命令122を用いて、コンピューティング装置102に実装することができる。それらのアプリケーションを、1以上の命令ないしコードによって構成することができる。該コードは、該アプリケーション(たとえば、ウェブブラウザー、オフィススィートなど)にセキュリティ機能を追加するためにプラグインもしくは他のモジュールを含むことができる。そのため、受動的セキュリティを、アプリケーションレベルで、及び/または、コンテンツレベルで、及び/または該受動的セキュリティを実施するアプリケーションの一部分のレベルで実施することができる。
【0016】
いくつかの例では、受動的セキュリティ命令122を実行して、コンピューティング装置102の監視(モニタ)機能を実行し、及び、該監視された情報を処理することができる。監視命令124をプロセッサ110によって実行することによって、1以上の装置を用いて受動的な情報(たとえば、コンピューティング装置102のユーザーに関する情報)を監視することができる。いくつかの例では、受動的セキュリティ命令122を用いて、該受動的な情報を受動的セキュリティエンジン130に提供する。他の例では、受動的セキュリティエンジンを、受動的セキュリティ命令122によってコンピューティング装置102に実装することができる。
【0017】
1以上の入力128からの情報を収集するためにコードを実装することができる。それらの入力128を、コンピューティング装置102に(たとえば、無線接続や有線接続などを介して)通信可能に接続された装置からのものとすることができる。さらに、それらの入力用の装置をコンピューティング装置102に組み込むことができる。
【0018】
受動的セキュリティエンジン130は、(1以上の)アプリケーションの実行中に、ユーザーをプロファイルに関連付けることができる。これは、たとえば、コンピューティング装置102、該(1以上の)アプリケーション、コンピューティング装置102上の受動的セキュリティエージェントなどに(たとえば、ユーザー名とパスワード、バイオメトリック情報(生体情報)、キーなどで)ログインすることによって行うことができる。該プロファイルを、基本的情報(または基準となる情報。ベースライン情報)を取り込むツール(たとえば、雇用者は、指紋の採取や網膜スキャンなどを行ってデータベースにアップロードすることができる)や、(たとえばタイピングパターンや音声パターンなどを処理する)機械学習などを用いて構築することができる。このため、受動的セキュリティエンジンを特定のユーザー用に構成することができる。該プロファイルは、ユーザーに関する収集された受動的情報をチェック(検査)するために使用できる情報を含むことができる。この情報には、ユーザーの暗号化されたもしくは暗号化されていない画像(または写真)などの未処理の情報、及び/または、ある画像から処理されたユーザーの顔の節点などの処理済み情報を含めることができる。
【0019】
さらに、該(1以上の)アプリケーションの実行中に、実行された監視命令124によって収集された受動的なユーザー情報(以下、受動的なユーザー情報を受動的ユーザー情報という)を受動的セキュリティエンジンによって処理することができる。1以上の装置を監視して、受動的ユーザー情報を、たとえば入力128として収集することができる。監視用の装置の例には、1以上の画像センサー(たとえば、カメラや赤外線センサーなど)、1以上のスキャナー(たとえば、掌紋スキャナーや指紋スキャナーなど)、ユーザー入力(たとえば、マウスやキーボードなど)、バイオメトリックセンサー(たとえば、心臓センサー(または心拍センサー)、脳センサー(または脳波センサー)、組み込みチップなど)、音声センサー(たとえば、マイクロホン)、動きを監視するためのセンサー、キー(たとえば、ブルートゥースキーやUSBキーなど)などを含めることができる。
【0020】
入力装置の使用を、監視命令124によって制御することができる。1例では、入力装置のうちの1以上は、読み取り値(測定値)を連続的に取得することができ、それらの値はフォーマットされ、タグを付けられ、及び格納されうる。そのような入力装置の例をキーボート入力装置とすることができ、この場合、該キーボードのタイピングリズムを分析して、ユーザーが認証されたユーザーである可能性を判定する。他の例では、入力装置は絶えずオン状態でありうるが、装置情報のスナップショットを、所定の時刻または周期的な時間または割込みに基づいて取得することができる。たとえば、顔認識用の人の顔の画像(または写真)を、所定の時刻に、または、追加の動きが検出されたときに取得することができる。該追加の動きを、別の入力装置を用いて、または、入力装置における情報の分析に基づいて検出することができる。さらなる例では、入力装置は、定期的に、または、測定値を取得するための割込みに基づいてオン(作動状態)になることができる。異なるタイプの測定値を、それぞれ異なるやり方を用いて、フォーマットし、タグ付けし、及び格納することができる。
【0021】
入力(または入力装置)によって監視ないし取得された情報を、受動的セキュリティエンジンで処理されるようにすることができる。受動的セキュリティエンジンの1以上の部分を、コンピューティング装置102に実装することができ、または、受動的セキュリティ命令が、セキュリティプラットフォーム104の受動的セキュリティエンジン130に該情報を処理させることができる。外部の受動的セキュリティエンジン130の例では、該コンピューティング装置は、受動的ユーザー情報(の形式)を変形して、(形式が)変形された受動的ユーザー情報を生成することができる。いくつかの例では、暗号化メカニズムを用いて、受動的ユーザー情報(の形式)を変形することができる。暗号化の例では、受動的セキュリティエンジン130は、該変形された受動的ユーザー情報をデコード(復号化)するための情報を有することができる。変形された受動的ユーザー情報または変形されていない受動的ユーザー情報を受動的セキュリティエンジンに送ることができる。いくつかの例では、受動的ユーザー情報を局所的な(すなわちローカルな)受動的セキュリティエンジンに送ることができる。さらに、ユーザーのプライバシー/セキュリティを向上させるために、該局所的な情報を(形式が)変形された状態で格納することができる。該情報を、受動的セキュリティエンジンで処理することができ、処理された受動的ユーザー情報を受け取ることができる。
【0022】
受動的セキュリティエンジンは、1以上の機能(または関数)を用いて受動的ユーザー情報を処理することができる。いくつかの例では、それらの機能(または関数)を、アプリケーション用、特定のコンテンツ用、利用可能な特定の情報用などにカスタマイズすることができる。このカスタマイズは、それぞれのアプリケーション/コンテンツに関連付けられた1以上のルールに基づくものとすることができる。いくつかの例では、それらのルールを(たとえば、それぞれのアプリケーションから)受動的セキュリティエンジンに提供することができる。
【0023】
該機能は、利用可能な受動的ユーザー情報、プロファイル、並びに、結果を判定ないし決定するためのルールを考慮に入れることができる。いくつかの例では、該結果を、正当なユーザーが依然として該コンピューティング装置のところにいるということを、該エンジンが信じているか否かを示すブーリアンとすることができる。他の例では、それらの結果はより高い粒度(または細分性ないし精度)を有することができる。たとえば、受動的セキュリティエンジンは、該情報に基づいてスコアを生成することができる。該スコアを、たとえば、1以上の重み付け係数またはルールに基づくものとすることができる。それらのルール/重み付け係数を、アプリケーション/コンテンツに固有のものとすることができ、または、一般的なものとすることができる。1例では、それらのルール/重み付け係数を、該受動的な情報が、該コンピューティング装置102の近くにいる個人が認証された(すなわち権限のある正当な)ユーザーであるか否かを正確に検出できる可能性がどの程度かに関連付けることができる。
【0024】
1例では、スコアを100以外とすることができる。これは例示であり、スコアは、使用法に基づいて変わりうることに留意されたい。受動的ユーザー情報の各タイプを、100のスコア以外の値に関連付けることができる。たとえば、網膜スキャンは40ポイントに、指紋は20ポイントに、顔認識は20ポイントに、ユーザーに関連付けられているデジタルキー(デジタル鍵)は20ポイントに、それぞれ値しうる。いくつかの例では、それらのポイント値を、プロファイルと比較される受動的ユーザー情報を分析することによって決定することができる。さらに、受動的ユーザー情報が正確である可能性がどの程度かを示すために確信度(confidence factor)を使用することができる。たとえば、指紋判定において、20ポイントが割り当てられる指(の特徴)が25(の全ての特徴)と合致しているわけではない場合には、20ポイントの全部が該スコアに与えられる場合もあれば、そうではない場合もある。
【0025】
さらに、重み付け係数を、コンピューティング装置102のコンテキスト(背景、場面、または状況)に基づくものとすることができる。たとえば、コンピューティング装置102に顔認識用のカメラが取り付けられている場合には、該カメラの解像度は、スコアに利用できるポイントの最大値に影響を与えうる。
【0026】
いくつかの例では、スコアをアプリケーションに結果として提供することができる。他の例では、スコアを受動的セキュリティエンジンで処理して、それらのアプリケーションに他のタイプの結果を提供する(たとえば、アクセスを提供し、またはアクセスを提供しないようにし、または、必要なより多くの情報を提供する)ことができる。そのため、それぞれのアプリケーション及び/または受動的セキュリティエンジンは、それらの結果または他の処理された結果を決定するために分析を行うことができる。
【0027】
1例では、アプリケーションを、ユーザーにアクセスを提供できるようにする閾値スコアに関連付けることができる。1例として、該閾値を80/100スコアポイントとすることができる。この閾値を満たすと、ユーザーには引き続きアクセスが提供される。別の例では、より多くの情報またはさらなる分析を要求するために、別の閾値を設定することができる。たとえば、スコアが60と80の間の場合には、追加の分析を実行することができ、及び/または、該分析を実行するためにより多くの情報を取得することができる。さらに、受動的ユーザー情報の他のタイプをチェックすることができる。たとえば、上記の例は音声入力を考慮しなかったが、追加の分析は、そのような情報を考慮に入れることができる。さらに、アクティブな機能をユーザーに要求することができる。たとえば、より焦点が合った網膜スキャンもしくは顔スキャンを行うために、ユーザーにカメラをのぞき込むように求めることができる。別の例では、ユーザーに、再度認証を受けるように求めることができる。
【0028】
コンピューティング装置102上の互いに異なるアプリケーションを互いに異なる閾値に関連付けることができる。そのため、コンピューティング装置102上のある1つのアプリケーションは、ある閾値を超えるとアクセスが許可されるところの該ある閾値を有することができ、別のアプリケーションは、ある閾値を下回ると、ユーザーはログアウトされるか他のやり方でアクセスできないようにされるところの該ある閾値を有することができ、さらに別のアプリケーション/関連付けられたコンテンツは、ユーザーに対してより綿密なチェックを試みる(たとえば、指紋スキャンを提供するようにユーザーに求める)ことができる。さらに、それぞれのアプリケーションの閾値を、提供されるコンテンツ、及び/またはコンピューティング装置102のコンテキスト(背景、場面、または状況)またはユーザーに基づいて動的なものとすることができる(たとえば、あるコンテンツを追加のセキュリティに関連付けることができる)。たとえば、コンピューティング装置が勤務地にある場合には、ユーザーが家にいる場合よりも低い閾値を使用することができる。別の例では、コンピューティング装置が別の未知の場所(たとえばコーヒーショップ)にある場合には、閾値を高くすることができる。位置コンテキスト(location context)を様々な技術、たとえば、インターネットプロトコル(IP)アドレスの分析、(たとえば、携帯電話の追跡や全地球測位情報などを用いた)位置情報の分析に基づくものとすることができる。他のコンテキスト情報を時刻とすることができる。たとえば、コンピューティング装置が、ユーザーの通常の勤務時間中に使用される場合は、該閾値を、該コンピューティング装置が勤務時間外に使用される場合よりも低くすることができる。さらに、ユーザーを受動的にチェックする回数は該コンテキストに依存しうる。たとえば、通常の時間帯またはより安全な位置では、チェックの頻度をより少なくすることができる。
【0029】
セキュリティ機能を、アプリケーションのうちの1以上によって、たとえば、セキュリティ機能命令126を実行することによって、受動的セキュリティエンジンの結果に基づいて実行することができる。いくつかの例では、セキュリティ機能命令を、アプリケーションのプラグインの一部として、及び/または、アプリケーション自体の一部として含めることができる。上記したように、セキュリティ機能は、アプリケーションへのアクセスを拒否すること、アプリケーションへのアクセスを継続して許可すること、認証情報を提供するようにユーザーに求めること、追加のチェック(検査や照合)のために追加の受動的情報を受動的セキュリティエンジンに提供することなどを含むことができる。
【0030】
そのため、受動的セキュリティエンジンによって処理された受動的ユーザー情報は、アプリケーションのうちの1つに対するアクセスを許可し続けるべきか否かに関する結果を含むことができる。さらに、それらの結果または他の結果を用いて、別のアプリケーションに対するアクセスを許可し続けるべきか否かを決定することができる。2つのアプリケーションに対するそれらの結果は、処理された同じ受動的ユーザー情報に基づいて異なりうる。それらの結果を、明確な意味を有するものとすることができ、または、特定のアプリケーションがそれぞれのセキュリティ機能を決定するために内部で処理することができるスコアとすることができる。いくつかの例では、コンテンツ/アプリケーションのソースは、使用するセキュリティ機能及び/または認証要件を決定することができる。これらを、プラグインまたは他のコードによって実施することができる。
【0031】
いくつかの例では、1つのアプリケーションの一部を使用不可にすることができる一方で、別の部分は使用できる(たとえば、2つの別個のサイトを開いている1つのウェブブラウザーや2つのドキュメントを開いている1つのオフィスアプリケーションなど)。これを、受動的セキュリティエンジン及び/または該アプリケーションで行われた分析に基づくものとすることができる。さらに、該一部に関連付けられたコンテンツを対象にすることができる。
【0032】
通信ネットワーク106は、有線通信路(もしくは有線通信手段)、または無線通信路(もしくは無線通信手段)、またはそれの組み合わせを使用することができる。さらに、通信ネットワーク106は、データネットワーク、無線ネットワーク、電話ネットワークなどの複数のサブ通信ネットワークを含むことができる。そのようなネットワークは、たとえば、インターネットなどの公衆データ網、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ケーブルネットワーク、光ファイバーネットワーク、またはそれらの組み合わせなどを含むことができる。いくつかの例では、無線ネットワークは、セルラーネットワーク、衛星通信、無線LANなどを含むことができる。さらに、通信ネットワーク106を、装置間の直接ネットワークリンク(直接ネットワーク接続)の形態とすることができる。(1以上の)通信ネットワークを実施するために、種々の通信構造及びインフラストラクチャを使用することができる。
【0033】
1例として、コンピューティング装置102及びセキュリティプラットフォーム104、及び/または他の装置は、1つの通信プロトコルまたは複数のプロトコルを用いて通信ネットワーク106にアクセスして、互いに及び他の構成要素と通信する。プロトコルは、通信ネットワーク106のノードがどのようにして他のノードと相互作用する(たとえば情報をやり取りする)かを定義する一組のルールでありうる。さらに、ネットワークノード間の通信を、データの個別のパケットを交換しまたはメッセージを送ることによって実施することができる。パケットは、プロトコルに関連付けられたヘッダー情報(たとえば、通信をする(1以上の)ネットワークノードの位置に関する情報)並びにペイロード情報を含むことができる。コンピューティング装置102とセキュリティプラットフォーム104間でやり取りされる情報を、たとえば、RSA128ビット暗号化または別のタイプの暗号化を用いて暗号化することができる。
【0034】
図2は、1例にしたがう、アプリケーションに対してセキュリティ機能を実行することができる装置のブロック図である。この例では、装置200は、1以上のアプリケーション210、入力モジュール212、監視モジュール214、暗黙的受動的セキュリティエンジン216、変形モジュール218、プロセッサ230、メモリ(記憶装置)232、及び入出力インターフェース234を備えている。他の構成要素(たとえば入力装置240及び/または出力装置242)を、装置200に含めることができ、または、装置200に接続することができる。
【0035】
図1のコンピューティング装置102と同様に、装置200を、受動的ユーザー情報に基づいてセキュリティ機能を実行することができる、ノートパソコン、スレートコンピューティング装置、携帯型読取装置、無線電子メール装置、携帯電話、ワークステーション、1台の機械装置、または、その他の任意のコンピューティング装置とすることができる。プロセッサ230を、命令の取り出し及び実行に適したCPU、GPU、もしくはマイクロプロセッサ、及び/または、本明細書に記載されているモジュール210、212,214、216、218のうちの任意のモジュールの機能を実行するように構成された電子回路とすることができる。
【0036】
1以上のアプリケーション210が装置200に存在することができる。それらのアプリケーション210のうちの1以上が同時に実行することができる。さらに、それらのアプリケーションを受動的セキュリティエンジン216に関連付けることができる。受動的セキュリティエンジン216は、装置200のユーザーが、アカウントやアプリケーションなどに対して(アクセスが)認証されたユーザーであるか否かの可能性を暗黙的に評価ないし決定することができる。この情報を用いて、アプリケーション及び/またはコンテンツへのアクセスをユーザーに提供する(すなわち、アプリケーション及び/またはコンテンツにユーザーがアクセスできるようする)か否かを決定することができる。さらに、それらのアプリケーションは、ウェブアプリケーション、独立型のコンテンツ制限アプリケーション、またはそれらの組み合わせなどを含むことができる。
【0037】
入力モジュール212は、入出力インターフェース234を制御して、1以上の入力装置240から入力を受け取ることができる。いくつかの例では、それらの入力装置はセンサーを備えることができる。センサーは、物理量を測定して、それを、該装置が読み取ることができる情報に変換する変換器である。センサーの例には、カメラや紋スキャナー(たとえば、指紋/掌紋スキャナーなど)や網膜スキャナーなどのイメージ(画像)センサー、マイクロホンなどのオーディオスキャナー(オーディオセンサー)、ナビゲーションセンサー(たとえば、全地球測位システムなど)、動作感知センサー、近接センサー、タッチセンサー(たとえば、キーボードやタッチスクリーンセンサーなど)などが含まれる。センサー及び/または他の入力装置240を、装置200に組み込むことができ、または、別のメカニズム(たとえば、無線信号やケーブルなど)を介して装置200に接続することができる。
【0038】
監視モジュール214は、それらの入力を介して(またはそれらの入力を用いて)受動的ユーザー情報を監視ないし取得することができる。受動的ユーザー情報を、受動的セキュリティエンジン216が理解するフォーマットにフォーマットして、受動的セキュリティエンジン216に送ることができる。いくつかの例では、該フォーマットを、変形モジュール218を用いて変形することができる。いくつかの例では、受動的セキュリティエンジン216を装置200において完全に実施することができる。他の例では、受動的セキュリティエンジン216の1つの構成要素を局所的に配置して、
図1に関してさらに説明する処理のために、該構成要素を用いて、受動的ユーザー情報を別のプラットフォームに送ることができる。
【0039】
受動的セキュリティエンジンは、アプリケーションに対してセキュリティ機能を実行するか否かを決定することができる。1例では、受動的セキュリティエンジンを用いて、受動的ユーザー情報に基づいて異なる(複数の)アプリケーションに対する少なくとも2つの別個のセキュリティ機能を決定することができる。いくつかの例では、それらの決定を、それぞれのアプリケーション上で(または該アプリケーションに対して)動作する特定のコードまたはプラグインによって行うことができる。
【0040】
1例では、アプリケーションに対して使用されるセキュリティ機能は、受動的ユーザー情報とそれぞれのアプリケーションに関連付けられたルールとの関数に基づく。たとえば、受動的ユーザー情報及びルールを用いて、(たとえば、呼び出された関数(または要求された機能)の一部として)ユーザーが特定の人物である可能性に対するスコアを生成することができる。次に、該スコアを該それぞれのアプリケーションによって使用して、実行すべき適切なセキュリティ機能(たとえば、該ユーザーに継続的なアクセスを許可し、または、コンテンツやアプリケーションに対するアクセスを制限し、または、より多くの情報もしくは(暗黙的または明示的な)セキュリティチェックを要求するなど)を決定することができる。
【0041】
さらに、それぞれのアプリケーションのセキュリティレベルを用いて、セキュリティ機能を決定することができる。たとえば、第1のアプリケーションまたは該アプリケーションのコンテンツを第1のセキュリティレベルに関連付けることができる。そのセキュリティレベルは、アクセスを継続するために特定のスコア(たとえば閾値)を要求することができる。さらに、該セキュリティレベルを用いて、どのような受動的ユーザー情報を収集するか、及び/またはどのような受動的ユーザー情報を受動的セキュリティエンジン216で使用するかを決定することができる。さらに、いくつかの状況では、該セキュリティレベルを用いて、特定のタイプの情報がスコアにおいて有する重み(の大きさ)を変更することができる。詳細に上述したように、スコア及び/またはその他の結果を、(1以上の)アプリケーション210に対する受動的セキュリティエンジン216の出力とすることができる。
【0042】
本明細書に詳しく記載されているように、装置200は、
図3及び
図4の方法を実行するための一連のモジュール210、212、214、216、218を備えることができる。モジュール210、212、214、216、218の各々は、たとえば、本明細書に記載されている機能を実施するための電子回路を有するハードウェア装置を備えることができる。さらにまたは代替的に、各モジュールを、装置200の機械可読記憶媒体に符号化された、プロセッサ230によって実行可能な一連の命令として実施することができる。いくつかの実施形態では、いくつかのモジュールはハードウェア装置として実施される一方で、他のモジュールは実行可能命令として実施されることに留意されたい。
【0043】
図3は、1例にしたがう、アプリケーションに対してセキュリティ機能を実行するための方法のフローチャートである。以下では、方法300の実行を、装置200に関連して説明するが、方法300の実行に適した他の構成要素(たとえばコンピューティング装置102)を使用することができる。さらに、方法300を実行するための構成要素を複数の装置間に分散させることができる。方法300を、記憶媒体120などの機械可読記憶媒体に格納された実行可能命令の形態で実施することができ、及び/または、電子回路の形態で実施することができる。
【0044】
アプリケーションを、装置200上で実行するように構成することができる。該装置のユーザーは、それぞれのアプリケーションに関連付けられた1以上のアカントにログインすることができる。それらのアカウント及び/またはアプリケーションを受動的セキュリティエンジン216に関連付けることができる。アプリケーションの例には、ウェブアプリケーション、独立型のコンテンツ制限アプリケーション、ドキュメントビューアまたはドキュメントモディファイアなどを含めることができる。
【0045】
302において、監視モジュール214を用いて、装置200に対する複数の入力(または複数の入力装置)を介して(または該複数の入力(または複数の入力装置)を用いて)受動的ユーザー情報を監視する。上記したように、この監視は、受動的ユーザー情報を処理することを含むことができる。該受動的ユーザー情報を、センサーやその他の電子機器などの入力装置から監視しないし受け取ることができる。
【0046】
304において、装置200は、受動的セキュリティエンジンに該受動的ユーザー情報を処理させることができる。該処理を装置200で行うことができ、または、
図4により詳しく記載されているように、該処理を別のプラットフォームで処理してその処理の結果を受け取るために該プラットフォームに送ることができる。処理された情報または結果を用いて、装置200において実行中のアプリケーションのうちの1以上に対してそれぞれのセキュリティ機能を実行するか否かを決定することができる。処理された情報を、該装置が安全であるか否かの判定に基づくものとすることもできる。いくつかの例では、装置200のユーザーが受動的セキュリティエンジンに関連付けられたプロファイルに合致する場合には、該装置は安全であるとみなすことができる。
【0047】
上記したように、該処理は、それぞれのアプリケーションが使用できるスコア、及び/または、それぞれのセキュリティ機能を実行する(306)ためにそれぞれのアプリケーションが使用できる他の情報(たとえば、ブール値や行うべきアクション)を提供することができる。セキュリティ機能をそれらのアプリケーションのうちの2つ以上に対して実行することができる。
【0048】
1例では、ユーザーは、セキュリティ上慎重に扱うべき財務データを含む企業アプリケーションにアクセスすることができる。この場合は、2分毎の頻度で該ユーザーの受動的な顔認識による認証をトリガ(起動)することができ、一方、企業の電子メールへのアクセスに対しては、最初の認証、並びに、タイピングパターンもしくは近接センサーによる断続的な存在(その場にいること)の妥当性検査(または検証)だけを要求することができる。外部のサイトまたは重要ではないサイトへのアクセスに対しては、追加の認証なくして許可することができる。
【0049】
いくつかの例では、受動的セキュリティエンジンを用いて、該最初の認証も実行することができる。たとえば、該装置を、受動的セキュリティエンジンに関連付けられた1以上のプロファイルに関連付けることができる。受動的セキュリティエンジンは、ユーザーに関する情報を取得して、それを一組のプロファイルと比較して、該ユーザーにアクセスを許可すべきか否かを決定することができる。これは、たとえば、複数の人が該装置に対する正当なアクセス権を有しうる研究室環境や家庭環境において有用でありうる。
【0050】
さらに、いくつかの例では、このプラットフォームによって使用されるセキュリティ認証情報の電子的表現を取り消しないし無効にすることができ(リセットすることができ)、これは、セキュリティ認証情報(たとえば指紋)の電子的表現を変形することによって達成される。セキュリティ認証情報の電子的表現の変形は、該情報が盗まれうる可能性を考慮する(または減殺する)ことによってセキュリティに役立つ。該情報が盗まれたと判定された場合には、セキュリティ認証情報をリセットすることができる。いくつかの例では、リセットすることは、比較のために新しい暗号化されたサンプルを用いることを含むことができる。
【0051】
図4は、1例にしたがう、受動的ユーザー情報を処理してセキュリティ機能を実行するための方法のフローチャートである。以下では、方法300の実行をコンピューティング装置102に関連して説明するが、方法300の実行に適した他の構成要素(たとえば装置200)を使用することができる。さらに、方法300を実行するための構成要素を複数の装置間に分散させることができる。方法300を、記憶媒体120などの機械可読記憶媒体に格納された実行可能命令の形態で、及び/または、電子回路の形態で実施することができる。
【0052】
コンピューティング装置102は、入力を監視して受動的ユーザー情報を決定することができる。該受動的ユーザー情報を402で変形することができる。上記したように、これを、受動的ユーザー情報を(たとえば、公開鍵暗号方式を用いて)暗号化することによって行うことができる。次に、コンピューティング装置102は、変形された受動的ユーザー情報をセキュリティプラットフォーム104に送ることができる(404)。
【0053】
セキュリティプラットフォーム104の受動的セキュリティエンジン130は、変形された該受動的ユーザー情報を処理することができる。この処理は、該情報の変形を元(すなわち変形される前の状態)に戻すこと(406)と、コンピューティング装置102のユーザーが特定のユーザーである可能性がどの程度であるか、及び/または、該ユーザーが安全である可能性はどの程度であるか(たとえば、誰かが該ユーザーのとなりにいることが検出された場合には、該ユーザーを安全であるとみなさないようにすることができる)に関連付けられたスコアを決定することを含むことができる。上記したように、受動的セキュリティエンジン130は、サンプルを取り込んで該サンプルをプロファイルに関連付けることができる。次に、受動的セキュリティエンジン130は、該サンプルから固有のデータを取り出して、たとえば、テンプレートを作成することができる。受動的ユーザー情報の処理中に、受動的セキュリティエンジン130は、該受動的ユーザー情報を異なるタイプ(たとえば、指紋、タイピング分析、網膜、電子キーなど)に分類して解析することができる(408)。さらに、解析された情報の各々をそれぞれのテンプレートと比較することができ、受動的セキュリティエンジン130は、この新しいサンプルから取り出された特徴が合致する(マッチングする)か否かを判定することができる(410)。1以上のアルゴリズムを、使用される入力処理の各タイプについて使用することができる。合致(マッチング)処理はまた、合致がどの程度正確かという信頼度を決定することができる。これを用いて、たとえば、異なるタイプの受動的なチェックの各々にスコアを付ける(または該チェックの各々を評価する)ことができる。いくつかの例では、このスコア付けを、該機器の品質、起こった合致の量に基づくものとすることができる。たとえば、顔認識スキャンは80個の節点を有することができ、そのうちの65個の節点が合致した。この例は、肯定的な合致という結果になりうるが、80個の節点のうちの75個が合致した場合には、より肯定的な合致が起こりうる。これに対して、80個の節点のうちの30個が合致した場合には、失敗に終わって、零点という結果を生じうる。そのため、合致の量は、該スコアに影響を与えることができ、その影響の大きさは線形である必要はない。
【0054】
次に、412において、セキュリティプラットフォーム104は、処理された受動的ユーザー情報及び/又は結果をコンピューティング装置102に送り返すことができる。処理された受動的ユーザー情報を変形させることができ、または、該ユーザー情報の変形を元に戻すことができる。
【0055】
次に、コンピューティング装置102は、処理された受動的ユーザー情報を受け取ることができる。上記したように、処理された受動的ユーザー情報を、コンピューティング装置102が安全である可能性またはスコアの形態とすることができる。いくつかの例では、該可能性を、関連するセキュリティ機能を表すことができる1つ以上のレベルに分割することができる。たとえば、ある1つのレベルを、アプリケーションの実行とコンテンツの提供を継続して許可することに関連付けることができ、第2のレベルを、アプリケーションにおけるコンテンツへのアクセスを中止することに関連付けることができ、第3のレベルを、追加の受動的情報または明示的な認証を集めることに関連付けることができる。414において、それぞれのアプリケーションは、処理された情報/結果に基づいてセキュリティ機能を実行することができる。いくつかの例では、単一のアプリケーション(たとえばウェブブラウザー)は、処理された情報/結果を使用して複数のセキュリティ機能を実行することができる。たとえば、電子メールアプリケーションに継続してアクセスすることを許可することができる一方で、保護された資産報告ウェブサイトをログアウトすることができる。
【0056】
上記のアプローチでは、設定されたインターバル(時間間隔)で、またはランダム(不定期)に、または割込みに基づいて行うことができる顔認識、網膜スキャン、音声入力、タイピングパターン(これらには限定されないが)などの暗黙的な受動的チェックに基づいて、装置に対して暗黙的な受動的セキュリティを実行することができ、該受動的なセキュリティは、エンドユーザーがリアルタイムでアクセス/閲覧をすることができるコンテンツ及び/またはアプリケーションを動的に制御することができる。より多くの及び/またはより少ない受動的セキュリティチェックをリアルタイムで動的に実行できるように、この暗黙的な受動的セキュリティチェックを、いくつかのコンテンツ及び/またはアプリケーションに対して設定可能ないし構成可能にすることができる。この受動的セキュリティチェックを該装置のコンテキストアウェアネス(context awareness:コンテキストの認識)に基づくものとすることもできる。たとえば、該装置が勤務地にある場合には、より少ない暗黙的チェックを実行することができ、または、より低い閾値を使用して該チェックを評価することができる。