(58)【調査した分野】(Int.Cl.,DB名)
人間をコンピュータと区別するための方法であって、ユーザ端末、ネットワークサーバ、及び信頼された団体のいずれかが、人間をコンピュータと区別するための信頼されたネットワークの決定点にあることができ、
ネットワークサービスアクセスのための第1の要求を前記ユーザ端末から受信することであって、前記第1の要求は、第1の識別証明を運び、前記第1の識別証明は、前記信頼された団体によって発行され、並びにユーザID及び信頼されたモジュールIDを含む署名によってサインされ、前記信頼されたモジュールIDは、前記ユーザ端末に組み込まれ及び前記ユーザ端末に属する信頼されたモジュールを識別する、前記受信することと、
前記第1の識別証明に従って、前記ユーザID及び前記信頼されたモジュールIDを照合することと、
予め設定された期間内に生じた、特定の1つのユーザID及び複数の異なる信頼されたモジュールIDを運び、又は特定の1つの信頼されたモジュールID及び複数の異なるユーザIDを運ぶネットワークサービスアクセス要求の数を数え、前記ネットワークサービスアクセス要求の数えられた数を閾値頻度と比較することによって、前記ユーザID及び前記信頼されたモジュールIDが、前記閾値頻度を超えるネットワークサービスアクセス要求頻度を有するかどうかを判定することと、
前記ネットワークサービスアクセス要求頻度が、前記閾値頻度を超えるかどうかに基づいて、ネットワークサービスアクセスのための前記第1の要求が、人間のユーザによってなされるかどうかを決定することと、
を含む、方法。
前記ユーザ端末、前記ネットワークサーバ、及び前記信頼された団体のそれぞれが、共通の信頼されたコンピューティング技術を使用して実装されたそれぞれの信頼されたコンピューティングプラットフォームを有しており、前記信頼されたモジュールが、前記ユーザ端末の前記信頼されたコンピューティングプラットフォームの一部である、請求項1に記載の方法。
前記ネットワークサーバが、ネットワークサービスアクセスのための前記第1の要求が人間のユーザによってなされるかどうかを決定するための前記決定点にある、請求項1に記載の方法。
前記第1の要求が、人間のユーザによってなされないことが決定される場合、ネットワークサービスアクセスのための前記第1の要求を拒否することを更に含む、請求項1に記載の方法。
ネットワークサービスアクセスのための前記第1の要求が、人間のユーザによってなされない場合、前記ユーザID及び/または前記信頼されたモジュールIDをブラックリストに載せることを更に含む、請求項1に記載の方法。
ネットワークサービスアクセスのための前記第1の要求が、人間のユーザによってなされるかどうかを決定する前に、ユーザID及び信頼されたモジュールIDのブラックリストに対して前記ユーザID及び/または信頼されたモジュールIDを検査することを更に含む、請求項1に記載の方法。
ネットワークサービスへのアクセスを制御するための方法であって、前記方法が、信頼された団体、ユーザ端末、人間をコンピュータと区別するための決定点、及びネットワークサーバを有する信頼されたネットワーク上で適用可能であり、
ネットワークサービスアクセスのための第1の要求を前記ユーザ端末から前記決定点において受信することであって、前記第1の要求は、第1の識別証明を運び、前記第1の識別証明は、前記信頼された団体によって発行され、並びにユーザID及び信頼されたモジュールIDを含む署名によってサインされ、前記信頼されたモジュールIDは、前記ユーザ端末に組み込まれ及び前記ユーザ端末に属する信頼されたモジュールを識別する、前記受信することと、
前記第1の識別証明に従って、前記ユーザID及び前記信頼されたモジュールIDを前記決定点において照合することと、
予め設定された期間内に生じた、特定の1つのユーザID及び複数の異なる信頼されたモジュールIDを運び、又は特定の1つの信頼されたモジュールID及び複数の異なるユーザIDを運ぶネットワークサービスアクセス要求の数を数え、前記ネットワークサービスアクセス要求の数えられた数を閾値頻度と比較することによって、前記ユーザID及び前記信頼されたモジュールIDが、前記閾値頻度を超えるネットワークサービスアクセス要求頻度を有するかどうかを前記決定点において判定することと、
前記ネットワークサービスアクセス要求頻度が、前記閾値頻度を超えるかどうかに基づいて、ネットワークサービスアクセスのための前記第1の要求が、人間のユーザによってなされるかどうかを前記決定点において決定することと、
ネットワークサービスアクセスのための第1の要求が、人間のユーザによってなされることが前記決定点において決定される場合、前記ユーザ端末の認可信用証明を前記ユーザ端末に及び要求されたネットワークサービスを提供する前記ネットワークサーバに送信することと、
前記ユーザ端末が、証拠として前記認可信用証明を使用してネットワークサービスアクセスのための第2の要求を前記ネットワークサーバに送信することを許可することと、
前記決定点から受信された前記認可信用証明を使用して、前記ユーザ端末から受信された前記認可信用証明を前記ネットワークサーバにおいて照合することと、
前記認可信用証明が成功裏に照合される場合、前記ユーザ端末が、前記要求されたネットワークサービスにアクセスすることを許可することと、
を含む、方法。
【背景技術】
【0003】
インターネットの流行で、種々のウェブサービスは、ますます日常生活の一部、例えば、電子商取引、電子メールサービス、ダウンロード及びより多くのリソースなどになっており、それらは、自由にアクセスできることが多い。しかしながら、人間のユーザのために意図されたこれらのサービスは、無認可のユーザ及び悪質なコンピュータプログラムによって悪用されることまたは攻撃されることが多い。これらの無認可の活動は、サービスリソースを取り上げて、沢山のウェブジャンクやスパミングを生成して、ユーザ経験に影響を及ぼして、ウェブサービスの安全を脅かす。
【0004】
機械語のコンピュータによる攻撃を減らすために、人間を機械と区別するための技法が存在する。そのような技法の例は、CAPTCHA(Completely Automated Public Turing test to tell computers and humans apart)であり、それは、人間をコンピュータと識別するチャレンジ−レスポンス型テストを使用する認証のための安全対策である。CAPTCHAは、サーバコンピュータを使用して、CAPTCHAチャレンジ(テスト)を生成して、レスポンス(応答)を評価する。ユーザが、認証を要求するウェブサービスを使用しようとする際、サーバは、ユーザにチャレンジ(テスト)を提供して、ユーザは、サーバにレスポンスを提示することによってチャレンジに応答して、サーバは、レスポンスに従って、ユーザがチャレンジにうまく応えているかどうかを評価する。
【0005】
現在のCAPTCHA技法は、文字CAPTCHA、画像CAPTCHA、及び音声CAPTCHAを主に含む。これらの技法は、AIの分野において特定される異なる事柄に基づくものであり、異なる特性を有する。
【0006】
文字CAPTCHAは、テキスト文字の人間認識とテキスト文字の機械認識における違いをうまく利用して、照合コードを使用して人間と機械を区別する。文字CAPTCHAにおいて使用される照合コードは、無作為に生成された一連の数または記号を使用して生成されるゆがめられた画(picture)であり得る。妨害画素が、光学式文字認識を防ぐために、ゆがめられた画に加えられることが多い。人間のユーザは、ゆがめられた画に含まれる照合コードを視覚的に認識して、認識された照合コードを提示して、提示された照合コードが正しい場合にサービスを使用することを許可される。文字CAPTCHAの例は、GIF形式+ユーザログオンのための数を使用するCSDN(Chinese Software Developer Network)のウェブサイト、ウェブサイト登録のために無作為に生成された文字を使用する、及びログオンのために乱数+無作為の大文字を用いるPNG形式画像を使用するQQのウェブサイト、新しいアカウント登録のために乱数+無作為の大文字+無作為の干渉+無作為のビットを用いるBMP形式を使用するMSN(登録商標)やHotmail(登録商標)、新しいアカウント登録のために乱数+無作為の色+無作為の長さ+無作為の位置を用いるJPG形式を使用するGoogle(登録商標)のGmail(登録商標)、ならびに無作為のコンテンツを用いるXBM形式を採用した一定の大きなフォーラムである。
【0007】
画像CAPTCHAは、画像分類、対象識別、常識的な理解、及び他の態様における人間と機械の違いをうまく利用する。画像CAPTCHAは、通常、様々な言語と独立しており、ユーザ入力文字を要求せず、解読されにくい。画像CAPTCHAの一例は、2種類の視覚モデル(例えば、線、円、枠等)を使用するカーネギーメロン大学(Carnegie Mellon University)によって設計されたCAPTCHA BONGOであり、ユーザが、新しいモデルの種類を判定することを可能にする。しかしながら、2つの選択肢の中から1つのモデルを選択する設計は、安全性を保証できない。別の例は、注釈付きの画像データベースを使用するCAPTCHAである。このアルゴリズムの弱点は、データベースが一旦漏洩されて、アルゴリズムの安全が崩壊することにある。GoogleのWhat’s Upアプリは、画像配向認識に基づくCAPTCHAアルゴリズムを使用する。画像は、それの元の配向に垂直に回転される。What’s Upは、画像注釈を要求しない。それは、テストの間に候補画像を加え続けて、ユーザフィードバックを使用して、最初の注釈を訂正する。その上、What’s upは、機械認識可能である画像を検出してフィルタリングするように、及び人間認識が困難である画像も検出してフィルタリングするように仕込まれた自動画像配向フィルタを有しており、テストが、機械によってではなくて、大部分の人間のユーザによって通過され得ることを確実にする。画像分類に基づくCAPTCHAと比べて、What’s Upは、より困難な画像理解質問をユーザに挑戦させて、ユーザに画像の内容を分析することを要求する。技法は、特定の項目に限定されない画像の非常に大きな使用可能な基礎を享受して、ユーザフィードバックに基づくそれの自動画像注釈はまた、つまらない人間の介入の減少を結果としてもたらす。
【0008】
音声CAPTCHAは、人間と機械の音声認識における違いをうまく利用する。その技法は、無作為の間隔で1以上の人間が話した数、字句または言葉を再生して、背景雑音を加えて、ASR(自動音声認識)攻撃に対抗する。例えば、音声CAPTCHA BYAN−I及びBYAN−IIにおいて、ユーザが、好適な言語を選択することを促される一方で、コンピュータは、6つの数字を無作為に選択して、それに応じてテスト音声を生成して、別の話者の声を背景雑音として加える。ユーザは、音声において正しく認識された6つの数字を入力することを促される。BYAN−Iでは、背景雑音は、異なる言語で話された同じ6つの数字であり、一方、BYAN−IIでは、背景雑音は、無作為の選択された数または言葉の音である。
【0009】
現在主流のCAPTCHA技法は、ウェブサービスのある程度の悪質なコンピュータプログラムの悪用を回避することができるが、様々な攻撃を受け易く、解読し易く、結果として悪いユーザ経験をもたらす。
【0010】
より具体的には、文字をゆがめる文字CAPTCHAは、悪質なコンピュータプログラムが登録することまたはログオンすることをある程度は防止するが、文字切り出し及び光学式文字認識(OCR)における進歩は、大部分の文字CAPTCHAアルゴリズムを解読している。単純な文字認識チャレンジに基づくCAPTCHAアルゴリズムは、コンピュータプログラムをもはや停止することができない。その上、ゆがめられた文字画像は、人間によって認識されることが困難であり、結果として悪いユーザ経験をもたらす。
【0011】
画像CAPTCHAは、画像分類、対象識別、常識的な理解、及び他の態様における人間と機械の違いをうまく利用する。この技法は、通常、様々な言語とは独立しており、ユーザ入力文字を要求せず、文字CAPTCHAよりも解読することが更に困難である。しかしながら、画像CAPTCHAは、幅広いデータベースサポートを要求して、大規模に生産されることが困難であり、機械学習アルゴリズムによる攻撃を更に受け易い。例えば、Golleは、色とテキストの特徴を組み合わせて猫と犬の画像を分類するSVM(サポートベクタマシン)分類子を設計して、単一画像上で82.7%の成功率と、12個の図を含有するAsirra上で10.3%までの成功率を達成した。
【0012】
音声CAPTCHAは、機械学習アルゴリズムによる攻撃に同様に影響され易い。Tam et al.は、固定長の音声検索窓を使用して、認識のためのエネルギーピークを特定して、3種類の音声特徴、すなわち、メル周波数ケプストラム係数、知覚的線形予測(Perceptual Linear Prediction)、相関スペクトル反転知覚的線形予測(Correlation Spectral Inversion Perceptual Linear Prediction)をそこから抽出して、3つの機械学習アルゴリズム(AdaBoost、SVM、及びk−NN)を使用して仕込む。その方法は、Google、Digg及びReCAPTCHA上で、それぞれ、67%、71%及び45%の成功率を達成した。類似の方法がまた、eBay(登録商標)の音声CAPTCHAを解読するために使用されており、75%までの成功率を達成している。
【発明を実施するための形態】
【0024】
本開示の上記目的、特性及び利点の理解を容易にするために、本開示は、添付の図面や実施形態例と関連して更に詳細に記載される。その記載において、用語「(複数の)技法」は、例えば、上記文脈によって及び本開示全体を通して許容されるような、方法、装置デバイス、システム、ならびに/またはコンピュータで読み取り可能な命令のことを言い得る。
【0025】
この記載において、プロセスが記載される順番は、限定として解釈されることを意図されるものではなく、任意の数の記載されたプロセスブロックが、方法、または代替の方法を実施するための任意の順番で組み合わされてもよい。実施形態は、例示の便宜のためにだけ、連続したステップで記載される。それが矛盾をもたらさないことになる限り、本開示に記載される例及び実施形態、ならびにそれらの特性及び特徴は、自由に組み合わされてもよい。更に、実施形態に記載される全てのステップが、この開示の技法を実施するために要求されるわけではない。
【0026】
この開示は、(CAPTCHAなどにおいて)人間をコンピュータと区別するための及びネットワークサービスへのアクセスを制御するための信頼されたネットワーク上で信頼されたコンピューティング技術を使用することを開示する。信頼されたネットワークは、ユーザ端末、ネットワークサーバ、及び信頼された団体を含み得、それらのいずれかは、人間をコンピュータと区別するための信頼されたネットワークの決定点にあり得る。方法は、ユーザによってなされた普通ではないネットワークアクセス要求頻度を検出することによって、プログラムされたコンピュータを人間のユーザと区別する。
【0027】
信頼されたコンピューティング技術の通常の目的は、一般に、安全なコンピューティングに関連しているが、本開示は、より広い目的のために信頼されたコンピューティング技術を使用するものであり、それは、CAPTCHA型のアプリケーションにおいてコンピュータを人間のユーザと識別する人間−機械認識を含む。実際には、アクセス要求は、例えば信頼されたプラットフォームモジュールなどの信頼されたコンピューティング構成要素を有するユーザ端末から来る可能性があり、したがって、信頼されたコンピューティングの通常の意味において安全であるけれども、人間−機械認識との関係において望まれていないか非正規である。
【0028】
信頼されたコンピューティングは、既存の端末の安全アーキテクチャを強化することを通してシステム全体の安全性を確保する。それの主な考えは、ユーザ及びプラットフォームに安全を提供するための核として、デスクトップ、ラップトップ及びスマートホン等を含む様々なデバイスに組み込まれた信頼されたプラットフォームモジュール(TPM)を使用することである。TPMは、一連のツール、例えば、保存、測定、報告などを通して、信頼されたコンピューティング環境を確立して、攻撃によってもたらされた安全問題のいくつかを解決する。TPMは、複数の信頼された属性、例えば、遠隔立証を実行する能力、遠隔認証について要求する団体に応答する能力、ならびにプラットフォーム及びプラットフォーム整合性の識別を提供する能力などを有する。
【0029】
加えて、信頼されたコンピューティンググループ(TCG)は、それらのTPM v1.1b仕様において、プライバシー証明機関(Privacy Certificate Authority:プライバシーCA)を使用する匿名の立証スキームを提示した。そのスキームは、信頼された団体としてプライバシーCAを使用して、クライアントプラットフォームの承認鍵(Endorsement Key:EK)証明のために別名証明を発行することによって、匿名性を確保して、ワンタイムパッドを使用してプラットフォームの複数の証明間の非関係性を確保する。
【0030】
鍵の異なる目的に従って、TCGは、7種類の鍵を定義して、それらの間で、プラットフォーム識別立証に関連した鍵は、以下を主に含む。
【0031】
承認鍵(EK):一般に、信頼されたプラットフォームモジュール(TPM)の製造においてTPM製造業者によって生成される、信頼されたプラットフォームモジュールを一意に特定するために使用される秘密鍵。EKは、システム全体の安全に影響を及ぼす。それは、2つの目的のためにだけ使用される。第1は、プラットフォーム所有者の身元識別を判定するときにプラットフォーム所有者によって認可されたデータを解読するためであり、第2は、立証識別鍵(AIK)を生成してプラットフォーム識別の別名を確立するためである。
【0032】
立証識別鍵(AIK):プラットフォームの合法性及びプラットフォーム環境の信用性を実証するためにTPMによって生成されたデータ(例えばPCR値等)にサインするための専用のもの。
【0033】
鍵及びプラットフォーム立証を適用して管理する目的のために、TCGは、5種類の信用証明を定義し、各種類が、特定の動作のために必要な情報を提供するように使用される。これらの信用証明は、以下を含む。
【0034】
承認信用証明:EK信用証明としても知られ、通常、承認鍵を生成する供給業者によって発行される。承認信用証明は、TPM製造業者名、TPMモデル、TPMバージョン番号、EK公開鍵及び他の情報を含む。EK公開鍵は公開されているが、それは、TPM識別を立証するための単なる証拠であるので、それはまた、秘密性や感受性を有する。
【0035】
AIK信用証明:PCR値にサインするために使用されるAIK秘密鍵を特定するまたは検査するために使用される。AIK信用証明は、発行元によって有用であるとみなされたAIK公開鍵及び他の情報を含む。AIK証明は、信頼されたサービス団体によって発行され、様々な証明を照合することができ、ユーザのプライバシーを保護することができる。証明を発行することによって、サービス団体は、TPM情報を提供するTPMが本物であることを実証することができる。
【0036】
他のTCG信用証明は、適合性信用証明、プラットフォーム承認信用証明、及び妥当性確認信用証明を含む。
【0037】
2007年12月、中国の国家パスワード管理局(State Password Administration)が、「Functionality and Interface Specification of Cryptographic Support Platform for Trusted Computing」を公布した。その仕様は、信頼された団体(第3者)をプラットフォーム認証システムの中心として定義して、TCM(信頼された暗号化モジュール)を使用してTPMを信頼の根源(Root)として取り替える。証明を発行する原理及び基本プロセスは、TCGプライバシーCAシステムのそれと同じであるが、中国の国内事情に適合させるために、二重の証明システム及び異なる暗号化アルゴリズムが使用される。
【0038】
TCGの信頼されたネットワーク接続アーキテクチャ(TNC)は、3種類の実体、すなわち、アクセスリクエスタ(AR)、ポリシー施行点(PEP)及びポリシー決定点(PDP)を含有し、それらは、論理実体であり、任意の位置に分散され得る。種々の構成要素間の相互運用性を達成するために、TNCアーキテクチャは、一連のインターフェース、IF−PEP、IF−T、IF−TNCCS、IF−IMC、IF−IMV及びIF−Mを提供する。
【0039】
ネットワークにアクセスするとき、アクセスリクエスタ(AR)は、アクセス要求及びプラットフォーム整合性の集められた情報をPDPに送信して、ネットワーク接続を要求する。このメッセージは、ポリシー施行点(PEP)によって転送される。メッセージを受信すると、PDPは、ローカル安全ポリシー、ARの識別、及びARのプラットフォームの整合性に基づいて、要求に関して決定をする。決定は、許可すること、否定すること、または分離することであり得る。PDPは、次いで、決定をPEPに送信して、PEPは、決定を実行する。
【0040】
TNCアーキテクチャは、以下を含む下から上までの3つの縦のレベルに分割される。
【0041】
ネットワークアクセス層。それは、伝統的なネットワーク接続性技術、例えば802.1XやVPNなどをサポートするために使用され、ユーザ識別認証、鍵合意(key agreement)、安全チャネルの確立のために使用され、完了後、上位層(整合性評価層)に通知して、整合性評価のプロトコルを実行する。
【0042】
整合性評価層。それは、ネットワークアクセスを要求する全てのプラットフォームの整合性を評価することを担当し、この層のプロトコルを実行することが、ネットワークアクセス層の安全チャネルによって保護される。整合性測定層。それは、アクセスリクエスタの整合性に関連した情報の構成要素を集めて照合する。
【0043】
実施形態例1
信頼されたコンピューティングに基づいて人間のユーザをコンピュータと区別するための(人間−機械認識)方法の例が、以下に記載される。
【0044】
方法は、信頼されたコンピューティングの識別認証に基づいて、非正規のユーザを特定し得る。更に、方法は、現実には、ユーザIDが、限られた数のTPM IDとだけ関係し得、逆に、TPM IDは、限られた数のユーザIDとだけ関係し得るという事実をうまく利用する。換言すれば、限られた期間内に、1つの機械が、限られた人間のユーザによってだけ動作され得るか、または1人の人間だけが、限られた数の機械を動作させることができる。したがって、限られた期間において、ユーザIDが多数のTPM IDと関係していることが発見される場合、またはTPM IDが多数のユーザIDと関係していることが発見される場合、それは、正規の人間のユーザではなくて、悪質なコンピュータプログラムの結果であることが判定され得る。
【0045】
開示された方法は、信頼されたネットワーク上の(人間のユーザをコンピュータと区別するための)任意の人間−コンピュータ認識決定点において実施され得、その信頼されたネットワークは、ユーザ端末、ネットワークサーバ及び信頼された団体を含む。決定点は、信頼されたネットワーク上のこれらのメンバーのいずれか、または同じ信頼されたネットワーク上の例えば専用サーバなどの別のメンバーであり得る。
【0046】
図1に示されるように、例示的な人間−機械認識方法は、以下のように記載されるプロセスを含む。
【0047】
ブロック110で、決定点が、ネットワークサービスアクセスのための第1の要求をユーザ端末から受信して、ここで、要求が、信頼された団体によって発行されたならびにユーザ端末に関連するユーザID及び/または信頼されたモジュールIDを含有する署名によってサインされた第1の識別証明を運ぶ。
【0048】
信頼されたモジュールは、ユーザ及びプラットフォームに安全を提供するために信頼されたコンピューティングの核として、デバイスに組み込まれた信頼されたコンピューティング技術のモジュールのことを言う。信頼されたモジュールの例は、TPMまたはTCMである。
【0049】
ブロック120で、決定点は、第1の識別証明に基づいて、ユーザID及び/または信頼されたモジュールIDが正規であるかどうかを判定する。これは、標準的な信頼されたコンピューティングプロトコルに従って実行され得る。結果が肯定的である場合、プロセスは、ブロック130に進み、そうではない場合、プロセスは、ブロック140に進む。
【0050】
ブロック130で、ユーザID及び/または信頼されたモジュールIDに基づいて、決定点は、ユーザID及び/または信頼されたモジュールIDが、閾値頻度を超えるネットワークサービスアクセス要求頻度を有するかどうかを判定する。結果が肯定的である場合、プロセスは、ブロック140に進み、そうではない場合、プロセスは、ブロック150に進む。
【0051】
ネットワークサービスアクセス要求頻度は、ネットワークサービスアクセスのためになされている要求の頻度のことを言う。この頻度を判定するために、決定点は、ユーザID及び/または信頼されたモバイルIDを運ぶならびに予め設定された期間内に生じたネットワークサービスアクセス要求の数を数え得る。判定された頻度は、次いで、閾値頻度と比較され、それは、予め設定された値を有し得る。
【0052】
ブロック140で、決定点が、ネットワークサービスアクセスのための第1の要求を拒否する。
【0053】
ブロック150で、決定点が、ネットワークサービスアクセスのための第1の要求を許可する。
【0054】
いくつかの実施形態において、決定点は、ブロック130で、ネットワークサービスアクセス要求頻度が、閾値頻度を超えるかどうかに基づいて、ネットワークサービスアクセスのための第1の要求が、プログラムされたコンピュータまたはロボットではなくて、人間のユーザによってなされるかどうかを決定する。ネットワークサービスアクセス要求頻度が、閾値頻度を超える場合、決定点は、要求が、非正規の要求をするプログラムされたコンピュータまたはロボットからであることを決定し得る。ネットワークサービスアクセス要求頻度が、閾値頻度を超えない場合、決定点は、要求が、正規の人間のユーザによってなされることを決定し得る。この決定は、ネットワークサービスアクセス上の更なる決定のための基礎を形成する。
【0055】
ブロック150で、ネットワークサービスアクセスのための第1の要求を許可することを決定すると(あるいは、ネットワークサービスアクセスのための第1の要求が、人間のユーザによってなされることが、決定点によって決定される場合)、決定点は、ユーザ端末の認可信用証明をユーザ端末にならびに要求されたネットワークサービスを提供するネットワークサーバにも送信し得る。
【0056】
決定点は、公開鍵としてユーザ端末の識別情報を使用して認可信用証明をまず暗号化し得(あるいは、ユーザ端末に属する別の公開鍵を代わりに使用し得)、信頼された団体によって決定点に対して発行された第2の識別証明と共に暗号化された認可信用証明をユーザ端末に送信し得る。同様に、決定点はまた、公開鍵としてネットワークサーバの識別情報を使用して認可信用証明を暗号化し得(あるいは、ネットワークサーバに属する別の公開鍵を代わりに使用し得)、信頼された団体によって決定点に対して発行された第2の識別証明と共に暗号化された認可信用証明をネットワークサーバに送信し得る。
【0057】
いくつかの実施形態において、決定点は、それがネットワークサービスアクセスのための第1の要求を拒否することを決定している場合(あるいは、それが、ネットワークサービスアクセスのための第1の要求が人間のユーザによってなされないことを決定している場合)、ユーザID及び/または信頼されたモジュールIDをブラックリストに載せ得る。したがって、ネットワークサービスアクセスのための第1の要求が、人間のユーザによってなされるかどうかを決定する前に、決定点は、ユーザID及び信頼されたモジュールIDの既存のブラックリストに対してユーザID及び/または信頼されたモジュールIDをまず検査し得、ブロック130の判定をする前に、ユーザID及び/または信頼されたモジュールIDがブラックリストにおいて発見される場合、第1の要求を拒否し得る。
【0058】
上記したように、開示された方法によれば、決定点は、標準的な信頼されたコンピューティングプロトコルを使用して、ユーザID及び/または信頼されたモジュールIDが正規であるかどうかをまず判定して、要求が、この信頼されたコンピューティングテストを通過しない場合、ネットワークサービスへのアクセスを拒否する。これは、ネットワークリソースが、無認可のユーザによって悪用されることを回避するのに役立つ。同時に、一定のユーザID及び/または信頼されたモジュールIDのアクセス要求頻度を監視することによって、方法は、悪質なプログラムが、1つのユーザアカウントを用いて複数の機械を制御するために使用されるあるいは単一機械上で複数のユーザアカウントをアサートするために使用される状況において、ネットワークリソースの悪用を効果的に防止する。文字、画像及び音声に基づく先行技術のCAPTCHA技法と比べて、開示された方法は、解読されにくく、より高い人間−機械認識精度を有し得、それ故、ネットワークサービスシステムのより良い安全を結果としてもたらすことになる。
【0059】
実施形態例2
本開示はまた、人間−機械認識に基づくCAPTCHA決定を使用して、ネットワークサービスアクセスを制御するための方法の実施形態を開示する。方法は、信頼されたネットワーク上で適用され、その信頼されたネットワークは、信頼された団体、ユーザ端末、人間−機械認識決定点、及びネットワークサーバを含み得る。
【0060】
図2に示されるように、ネットワークサービスアクセスを制御するための方法は、以下のように記載されるプロセスを有する。
【0061】
ブロック210で、決定点が、ネットワークサービスアクセスのための第1の要求をユーザ端末から受信して、ここで、要求が、信頼された団体によって発行されたならびにユーザ端末に関連するユーザID及び/または信頼されたモジュールIDを含有する署名によってサインされた第1の識別証明を運ぶ。
【0062】
ブロック220で、決定点は、人間のユーザをコンピュータと区別するためのプロセスを実行する。プロセスは、第1の要求が正規であるかどうか(あるいは、第1の要求が人間のユーザからであるかどうか)を決定するために使用される、
図1に記載される人間−機械認識のプロセス例であり得る。はいの場合、決定点が、第1の要求を許可して、プロセスは、ブロック240に進む。いいえの場合、決定点は、第1の要求を拒否して、プロセスは、ブロック230に進む。
【0063】
ブロック230で、決定点は、第1の要求を拒否して、拒否応答をユーザ端末に送信して、プロセスを終了する。
【0064】
ブロック240で、決定点は、ユーザ端末の認可信用証明をユーザ端末に及び要求されたネットワークサービスを提供するネットワークサーバにも送信する。
【0065】
決定点は、公開鍵としてユーザ端末の識別情報を使用して認可信用証明をまず暗号化し得、信頼された団体によって決定点に対して発行された第2の識別証明と共に暗号化された認可信用証明をユーザ端末に送信し得る。同様に、決定点はまた、公開鍵としてネットワークサーバの識別情報を使用して認可信用証明を暗号化し得、信頼された団体によって決定点に対して発行された第2の識別証明と共に暗号化された認可信用証明をネットワークサーバに送信し得る。
【0066】
ブロック250で、ユーザ端末は、証拠として認可信用証明を使用してネットワークサービスアクセスのための第2の要求をネットワークサーバに送信することを許可される。
【0067】
ユーザ端末において受信された認可信用証明が、上記したように決定点によって暗号化される場合において、ユーザ端末は、それをネットワークサーバに証拠として送信する前に、認可信用証明をまず解読する必要があり得る。これを行うために、ユーザ端末は、受信された第2の識別証明をまず照合して、次いで、ユーザ端末の識別情報に対応する秘密鍵を使用して暗号化された認可信用証明を解読することによって、認可信用証明を取得する。
【0068】
ブロック260で、ネットワークサーバは、ユーザ端末から送信された認可信用証明を照合する。これを行うために、ネットワークサーバは、ブロック250でユーザ端末から受信された認可信用証明を、ブロック240で決定点から受信された認可信用証明と比較する。それらが一致する場合、照合は成功であり、プロセスは、ブロック270に進む。そうではない場合、プロセスは、ブロック230に進む。
【0069】
ネットワークサーバにおいて受信された認可信用証明が、上記したように決定点によって暗号化される場合において、ネットワークサーバは、ユーザ端末から受信された認可信用証明を照合するためにそれを使用する前に、認可信用証明をまず解読する必要があり得る。これを行うために、ネットワークサーバは、受信された第2の識別証明をまず照合して、次いで、ネットワークサーバの識別情報に対応する秘密鍵を使用して暗号化された認可信用証明を解読することによって、認可信用証明を取得する。
【0070】
ブロック270で、ユーザ端末は、ネットワークサービスにアクセスすることを許可される。
【0071】
このブロックで、ネットワークサーバは、要求されたネットワークサービスへのアクセスを許可することを示す応答をユーザ端末に送信し得る。応答は、信頼された団体によってネットワークサーバに対して発行された第3の識別証明を運ぶ。応答を受信すると、ユーザ端末は、第3の識別証明を照合して、成功した場合、要求されたネットワークサービスにアクセスする。
【0072】
上記した方法及びプロセスは、ネットワークサービスへのアクセスを制御するための制御システム上に実装され得、制御システムは、信頼されたコンピューティングに基づく。そのような制御システムの例は、信頼されたネットワーク上に実装され、その信頼されたネットワークは、ユーザ端末、ネットワークサーバ、及び信頼された団体を含み、それぞれが、共有の(あるいは相互に互換性のある)信頼されたコンピューティング技術を使用して、それぞれの信頼されたコンピューティングプラットフォームまたはモジュール、例えばTPMまたはTCMなどを有する。信頼されたモジュールIDが、ユーザ端末と関係している信頼されたモジュールを特定する。信頼されたモジュールは、ユーザ端末の信頼されたコンピューティングプラットフォームの一部であり得る。いくつかの実施形態において、ネットワークサーバは、決定点に位置し得る。
【0073】
図3Aと
図3Bは、本開示に従って、人間を機械と区別するための及びネットワークサービスへのアクセスを制御するための方法の多層式の実装環境の図である。
【0074】
多層式(multilayered)の実装環境300は、3つの層を含むアーキテクチャを有する。ユーザ端末層310は、音声通信デバイスを備える1以上のユーザ端末を含む。ユーザ端末デバイスの例は、PDA、デスクトップPC、スマート携帯端末、ラップトップコンピュータ、携帯電話、タブレット、MACコンピュータ、及び汎用クライアント端末である。ユーザは、これらのユーザ端末の1つを通してウェブサービスにアクセスする。
【0075】
人間−機械認識サービスアクセス層320は、例えばプライバシーCAなどの信頼された団体、及び人間のユーザをコンピュータと区別することを担当する1以上の人間−機械認識サーバを含む。
【0076】
ネットワークサービス層330は、限定されるものではないが、以下の、データベースサーバ、ファイルサーバ、電子商取引サーバ、アプリケーションサーバ、電子メールサーバ、モバイルメッセージングサーバ、及びウェブサーバ、またはそれらのいずれかの組み合わせを含む、異なるサーバリソースを提供するための1以上のネットワークサービスを含む。
【0077】
認証を要求するネットワークサービスにアクセスするために、ユーザ(もしくはそれのユーザ端末)は、人間−機械認識サービスアクセス層320の決定点によって認証テストを通過する必要がある。
【0078】
図3Bは、人間−機械認識サービスの分散型の配置を示す。このシステムにおいて、人間−機械認識機能は、専用サーバの代わりに、複数のエッジルータ370A、370B、370C、370D、及び370Eに分散的に配備される。
図3Bの分散型の配備は、単一障害点攻撃を防ぐための負荷バランシングアルゴリズムに基づく分散管理の利益を有し、それ故、ウェブサービスシステム性能を向上し得る。
【0079】
上記技法は、コンピュータで実行可能な命令を含有する1以上の非一時的なコンピュータで読み取り可能な媒体の助けを用いて実装され得る。非一時的なコンピュータで実行可能な命令は、コンピュータプロセッサが、本明細書に記載された技法に従って、動作を実行することを可能にする。コンピュータで読み取り可能な媒体が、コンピュータデータを記憶するための適切なメモリデバイスのいずれかであり得ることが認識される。そのようなメモリデバイスは、限定されるものではないが、ハードディスク、フラッシュメモリデバイス、光データ記憶装置、及びフロッピー(登録商標)ディスクを含む。その上、コンピュータで実行可能な命令を含有するコンピュータで読み取り可能な媒体は、ローカルシステムにおける(複数の)構成要素または複数の遠隔のシステムのネットワーク上に分散された構成要素から成り得る。コンピュータで実行可能な命令のデータは、有形の物理メモリデバイスに送り届けられ得るか電子的に伝送され得る。
【0080】
本明細書に開示された方法に関連して、本開示はまた、本明細書に記載された方法を実装するためのコンピュータをベースとする装置を提供する。
【0081】
本開示において、「モジュール」は、一般に、特定のタスクまたは機能を実行するように設計された機能性のことを言う。モジュールは、特定のタスクまたは機能と関連付けられた目的を達成するための、ハードウェアの一部分、ソフトウェア、プランまたはスキーム、あるいはそれらの組み合わせであり得る。加えて、別個のモジュールの描写は、物理的に別個のデバイスが使用されることを必ずしも示唆しない。代わりに、その描写は、単に機能的であり得、いくつかのモジュールの機能は、単一の組み合わされたデバイスまたは構成要素によって実行されてもよい。コンピュータをベースとするシステムにおいて使用されるとき、標準的なコンピュータ構成要素、例えばプロセッサ、記憶装置及びメモリなどが、種々のそれぞれの機能を実行する1以上のモジュールとして機能するようにプログラムされ得る。
【0082】
図4は、信頼されたコンピューティングに基づく人間−機械認識システムの実装の概略図である。信頼されたコンピューティングをベースとするシステム400は、ユーザ端末410、人間−機械認識サーバ420、及びネットワークサーバ430を含む。人間−機械認識サーバ420は、人間のユーザをコンピュータと区別するための決定点としての役割を果たす。サーバ420は、1以上の(複数の)プロセッサ490、入出力デバイス492、(複数の)アプリケーションプログラム480を記憶するメモリ494を有する、典型的なサーバハードウェアに基づき得る。
【0083】
サーバ420は、以下に記載されるような機能モジュールを有するようにプログラムされる。
【0084】
受信モジュール421は、ネットワークサーバ430によって提供されたネットワークサービスへのアクセスのための第1の要求をユーザ端末410から受信するためにプログラムされる。第1の要求は、信頼された団体(例えば、
図4には示されない、プライバシーCA540)によって発行されたならびにユーザ端末410に属するユーザID及び/または信頼されたモジュールIDを含有する署名によってサインされた第1の識別証明を運ぶ。
【0085】
照合及び判定モジュール422は、第1の識別証明に従って、ユーザID及び/または信頼されたモジュールIDを照合するために、ならびに、照合された場合、ユーザID及び/または信頼されたモジュールIDが、閾値頻度を超えるネットワークサービスアクセス要求頻度を有するかどうかを更に判定するために、プログラムされる。これは、
図1のブロック130に対応し、それ故、詳細に繰り返されない。
【0086】
決定モジュール423は、本明細書に記載されるように、ネットワークサービスアクセス要求頻度が、閾値頻度を超えるかどうかに基づいて、ネットワークサービスアクセスのための第1の要求が、人間のユーザによってなされるかどうかを決定するためにプログラムされる。決定モジュール423は、第1の要求を許可するか拒否することを更に決定し得、ユーザ端末410に通知し得る。例えば、
図1及び
図2に関連して記載されるように、決定モジュール423は、要求頻度が閾値頻度を超える場合、第1の要求を拒否することを決定し得るが、要求頻度が閾値頻度を超えない場合、第1の要求を許可する。
【0087】
決定モジュール423によってなされた決定に基づいて、人間−機械認識サーバ(決定点)420は、
図1及び
図2に関連して本明細書に記載されるような認可信用証明上で暗号化を更に実行し得る。
【0088】
遮蔽モジュール424は、
図1及び
図2に関連して本明細書に記載されるように、第1の要求が拒否されているか、あるいはその要求が人間のユーザからではないことが判定される場合、ユーザID及び/または信頼されたモジュールIDをブラックリストに載せるためにプログラムされる。したがって、ネットワークサービスアクセスのための第1の要求が、人間のユーザによってなされるかどうかを決定する前に、人間−機械認識サーバ420は、ユーザID及び信頼されたモジュールIDの既存のブラックリストに対して、ユーザID及び/または信頼されたモジュールIDをまず検査し得る。
【0089】
ユーザ端末410は、PC、スマートホン、PDA等であり得、第1の要求モジュール411と第2の要求モジュール412を含む。
【0090】
第1の要求モジュール411は、ネットワークサービスアクセスのための第1の要求を人間−機械認識サーバ420(決定点)に送信するためにプログラムされた送信部4111を含む。第1の要求及びそれが運ぶ第1の識別証明は、
図1や
図2を参照してプロセスに記載される。
【0091】
第1の要求モジュール411は、人間−機械認識サーバ420から受信された第2の識別証明を照合するためのプログラムされた照合部4112を更に有する。第2の識別証明が暗号化される場合、ユーザ端末410は、
図1や
図2を参照してプロセスに記載されるように、第2の識別証明を取得するために解読を更に実行し得る。
【0092】
第2の要求モジュール412は、証拠として認可信用証明を使用してネットワークサービスアクセスのための第2の要求をネットワークサーバ430に送信することをプログラムされた送信部4121を有する。
【0093】
第2の要求モジュール412は、
図1及び
図2を参照にしてプロセスに記載されるように、ネットワークサーバから受信された第3の識別証明を照合するためにプログラムされた照合部4122を更に有する。
【0094】
ネットワークサーバ430は、第1の照合部4311及び第2の照合部4312を含む、アクセス制御モジュール431を有する。
【0095】
第1の照合部4311は、人間−機械認識サーバ420から受信された第2の識別証明を照合するためにプログラムされる。第2の識別証明が暗号化される場合、ネットワークサーバ430は、
図1や
図2を参照してプロセスに記載されるように、第2の識別証明を取得するために解読を更に実行し得る。
【0096】
第2の照合部4312は、ユーザ端末410の第2の要求モジュール412からネットワークサービスアクセスのための第2の要求を受信するために、及びユーザ端末410の認可信用証明を照合するために、プログラムされる。照合が成功した場合、第2の照合部4312は、要求されたネットワークサービスへのアクセスを許可することを示す応答をユーザ端末410に更に送信し得る。応答は、信頼された団体によってネットワークサーバに対して発行された第3の識別証明を運ぶ。
【0097】
信頼された団体、例えばプライバシーCAなどは、システムメンバー(例えば、ユーザ端末、CAPTCHA決定点、またはネットワークサーバなど)から識別登録のための要求を受信して、ユーザ情報及びプラットフォーム情報の合法性を照合して、また、プラットフォームの整合性を照合する。照合が成功した場合、信頼された団体は、ユーザIDと信頼されたモジュールIDを割り当て、ユーザID及び/または信頼されたモジュールIDに基づいて、識別証明を発行する。発行された識別証明は、ユーザ及び/または信頼されたモジュールの身元識別をシステムの他のメンバーに提供するためのものである。識別証明は、(限定されるものではないが)X.509標準に従うことができる。証明は、本体部分(tbs証明)、署名アルゴリズム識別子部分(署名アルゴリズム)、及び署名値部分(署名値)を含み、ここで、署名値は、署名アルゴリズムにおいて特定される署名アルゴリズムを使用してtbs証明にサインした後に、結果として生じる値である。通常、証明の本体部分及び署名値は、署名として集合的に呼ばれる。署名は、ユーザID及び/または(信頼されたプラットフォームIDとも呼ばれ得る)信頼されたモジュールIDを含む。
【0098】
署名は、ユーザID及び信頼されたモジュールIDが共に関係されるというユーザIDと信頼されたモジュールIDの両方の検索を含む。
【0099】
識別証明を発行してメンバーを支援するとき、信頼された団体もまた、ユーザID及び/または信頼されたモジュールIDに基づいて、識別鍵を発行し得る。識別証明は、TPMがPCAシステムにおいてAIK証明を取得する手法、またはTPMが中国の仕様(specification)においてPIK証明を取得する手法、あるいは任意の他の適切な手法に従って、発行され得る。その上、信頼された団体はまた、識別鍵及び識別証明を保存し得、修正し得、または取り消し得る。
【0100】
プラットフォーム証明及び/またはユーザ証明は、ユーザが、識別プライバシーとプラットフォームプライバシーを確保できるように、プライバシーCAによって生成され得る。他の実施形態において、信頼された団体は、プライバシーCAと仮想CAを含んでもよい。仮想CAは、(n,t)閾値スキームに従う人間−機械認識サーバによって生成され得る。この場合において、識別証明であって、それの署名が信頼されたモジュールIDを含有する、識別証明が、プライバシーCAによって生成され得、一方、識別証明であって、それの署名がユーザID及び信頼されたモジュールIDを含有する、識別証明が、(n,t)閾値スキームに従う仮想CA証明によって生成され得る。この設計は、性能を強化して、単一障害点(SPOF)攻撃を防ぐのに役立ち得る。
【0101】
本明細書に開示された方法及びシステムは、ネットワークリソースが、無認可のユーザ及び悪質なプログラムによって悪用されることを回避するのに役立つ。その方法及びシステムは、解読するためのものであり、文字、画像及び音声に基づく先行技術のCAPTCHA技法と比べて、より高い人間−機械認識精度を有し得る。加えて、ユーザは、明示的なユーザ情報及び明示的なプラットフォーム情報を提示することを要求されるのではなくて、第3者に認可された信用証明だけを提示することを要求されるので、ユーザ及びプラットフォームのプライバシーが、保護され得る。その上、開示された方法は、ユーザと信頼されたモジュールを組み合わせること及び識別証明を照合して発行するためにプライバシーCAを使用することによって、プラットフォーム置換攻撃を効果的に回避し得る。比較すると、そのシステムが、ユーザを最初に、次いで、ユーザプラットフォームをその後に特定するので、既存のTCGの信頼されたコンピューティングネットワーク接続は、プラットフォーム置換攻撃を受け得る。
【0102】
以下は、
図5を参照にして以下に記載される、上記方法及びシステムの特定の適用の一例である。
【0103】
(1)Alice(user:ユーザ)は、プライバシーCA540(信頼された団体)での識別登録を要求する。
【0104】
(2)プライバシーCA540は、AliceのEK信用証明とプラットフォーム整合性を照合して、user_id&TPM−_id鍵に基づいて、Aliceのuser_id&TPM_idに識別鍵及び識別証明を割り当てる。user_id&TPM_idがAlice_001&TPM_001であると想定する。
【0105】
(3)Aliceは、電子商取引ウェブサービスにアクセスするための要求を人間−機械認識サーバ520に提示する。要求は、Alice自身の識別証明を運ぶ。
【0106】
(4)人間−機械認識サーバ520は、Aliceの識別証明を照合して、要求の合法性を評価する。
【0107】
(5−1)Aliceの識別証明が正規である場合、人間−機械認識サーバ520は、認可信用証明をAliceに割り当てて、それをAliceに送信する。送信された認可信用証明は、人間−機械認識サーバ520自体の識別証明を運ぶ。認可信用証明は、Aliceの識別情報Alice_001&TPM_001を使用して暗号化される。
【0108】
(5−2)同時に、人間−機械認識サーバ520は、Aliceの認可信用証明をネットワークサーバ530に同期させる。Aliceの認可信用証明は、ネットワークサーバの識別情報EC_001&TPM_200を用いて暗号化される。EC_001&TPM_200は、プライバシーCA540からネットワークサーバ530によって取得される。
【0109】
(6)Aliceは、人間−機械認識サーバ520の識別証明を照合して、受信された暗号化された認可信用証明を解読することによって、Aliceの認可信用証明を取得する。
【0110】
(7)Aliceは、証拠として彼女の認可信用証明を使用して、ネットワークサーバ530の電子商取引サービスへのアクセスを要求する。
【0111】
(8)ネットワークサーバ530は、要求された電子商取引サービスにアクセスするための許可を送信し、その許可は、ネットワークサーバ530の識別証明を運ぶ。
【0112】
(9)Aliceは、ネットワークサーバ530の合法性を照合して、照合された場合、要求された電子商取引サービスにアクセスする。
【0113】
装置の上記実施形態は、本明細書に記載された方法の実施形態に関連しており、方法の実施形態の発明を実施するための形態はまた、装置の実施形態に適用可能であり、したがって、繰り返されない。
【0114】
本開示において記載される技法は、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、手持ち式デバイスもしくは携帯デバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとするシステム、セットトップボックス、プログラム可能な消費者デバイス、ネットワークPC、マイクロコンピュータ及び大規模なメインフレームコンピュータ、または上記例の1以上を含む任意の分散型環境を含む、一般的なコンピューティング機器もしくは環境または特殊なコンピューティング機器もしくは環境において実装され得る。
【0115】
モジュールは、特に、機械で実行可能なコマンドやコードに基づいて、コンピュータプログラムモジュールを使用して実装され得る。一般に、コンピュータプログラムモジュールは、特定のタスクを実行し得るか、またはルーチン、プログラム、オブジェクト、構成要素、データ構造などの特定の抽象データ型を実装し得る。本開示に記載される技法はまた、通信ネットワークを通して接続される遠隔処理デバイスによってタスクを実行するための分散型のコンピューティング環境のような、分散型のコンピューティング環境において実施され得る。分散型のコンピューティング環境において、プログラムモジュールは、メモリデバイスを含むローカルまたは遠隔のコンピュータ記憶媒体に位置し得る。
【0116】
本明細書において記述された潜在的な利益や利点は、添付の特許請求の範囲に対する限定または制限として解釈されるものではないことが認識される。
【0117】
情報照合の方法及び装置が、上記に詳細に本開示において記載されている。例示的な実施形態は、この開示における本発明の概念及び実施態様を例示するために利用される。例示的な実施形態は、本開示の方法及び中核概念のより良い理解のためにだけ使用される。この開示における概念に基づいて、当業者は、例示的な実施形態及び適用分野を修正し得る。