17 デバイスのフィンガープリント処理および識別

デバイスのフィンガープリント処理および識別は、アクセス・リクエストまたはトランザクションのリスクを評価するためにOARMが使用する様々な属性の1つです。

OARMでは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・デバイスまたは他のWeb対応デバイスのいずれであっても、ブラウザ・ユーザー・エージェント文字列データ、独自のセキュアCookie、拡張された自動学習デバイス識別ロジックなどの標準属性を任意に組み合せて使用することによって、デバイスを識別できます。この章では、OARMをデプロイする場合にカスタマが理解する必要がある、重要なフィンガープリント処理と識別、概念およびテクノロジについて説明します。

ノート:

肯定的なデバイス識別は認証方式とは見なされません。また、見なすべきではありません。さらに、許可またはブロックを決定付ける唯一の判断要素でもありません。OAAおよびOARMは、完全なレイヤー・セキュリティ・ソリューションを提供します。デバイスのフィンガープリント処理および識別はレイヤーの1つのみを表します。

17.1 デバイスのフィンガープリント処理の概要

OARMのデバイスのフィンガープリント処理とは、ユーザーがログインやトランザクションの実行に使用するデバイスを認識するために使用される機能です。ブラウザ・タイプ、ブラウザ・ヘッダー、オペレーティング・システム・タイプ、ロケールなどのデバイスに関する情報が収集されます。フィンガープリント・データは、デバイスについてログイン・プロセス中に収集されるデータで、次のログイン時にデバイスを識別するために必要です。フィンガープリント詳細は、デバイスがセキュアかどうかの確認と、認証またはトランザクションのリスク・レベルの特定に役立ちます。

デバイスは、使用可能なデータを処理して識別するための独自のロジックおよび特化された一連のポリシーを使用して識別されます。インテリジェントな識別は単一の属性タイプに依存しないため、厳密な仕様に従うことなく、WebおよびWeb以外の両方のチャネルにおいてユーザー・デバイス上で機能できます。デバイス識別は単なる属性の静的リストではなく、各アクセス・リクエストまたはトランザクションで使用可能な属性の特定の組合せを動的に取得、評価およびプロファイリングします。このことは、数多くのコンシューマが使用するデプロイメントにおいて特に重要です。

この項では、次のトピックを取り上げます:

17.1.1 フィンガープリント処理のタイプ

OARMでは、標準でブラウザおよびJavaScriptのフィンガープリントがサポートされています。フィンガープリント処理は、デスクトップやラップトップのPC、フル機能ブラウザを実行するモバイル・デバイスおよびスマートフォンで同じように機能します。

Webブラウザ・ベースのフィンガープリント処理

設計上、OARMでは、純粋なWeb環境におけるWebブラウザ・ベースのフィンガープリント処理が提供されます。言い換えれば、クライアント・ソフトウェアは不要ということであり、大勢の多様なユーザーを対象としたソリューションのデプロイメントが管理可能になります。また、OARMは悪用に対して脆弱な可能性があるクライアント側にはロジックを置きません。

エンド・ユーザーが保護されたアプリケーションにWebブラウザを介してアクセスする場合、OARMにより、ブラウザ・ベースのフィンガープリント処理が実行されます。ブラウザ・ベースのフィンガープリント処理および識別では、ブラウザ・ユーザー・エージェント文字列データおよびセキュアなCookieデータが使用されます(使用可能な場合)。

JavaScriptのフィンガープリント処理

OARMでは、JavaScriptを使用したフィンガープリント処理を提供します。

17.1.2 デバイスのフィンガープリントの構成

ユーザー・デバイスのフィンガープリント処理全体は複数の要素に基づいており、この項ではそれについて説明します。

OARMのフィンガープリント処理テクノロジは、1つの要素にのみ依存しているわけではありません。OARMは数多くの属性を使用して、通常ログインに使用されるデバイスの認識とフィンガープリント処理を行い、対応範囲を拡大します。たとえば、一部の要素が使用できない場合でも、他のオブジェクト(セキュアなCookieやHTTPヘッダーなど)を利用して厳密なセキュリティを実現しています。

セキュアなCookieおよびブラウザの特性

セキュアなCookieはデバイスの識別に使用される属性の1つです。OARMでは、識別ごとに一意のセキュアなCookieを生成し、ユーザーが次にこのデバイスからログインするとき、同じCookieを検索します。このCookieは、特定デバイスにおけるそのセッションについてのみ有効です。エンド・ユーザーがログアウトして再度ログインすると、そのCookieを使用してその時点のデバイスが識別されます。

ノート:

Cookieを許可しないポリシーがある場合、セキュアなCookieは永続的になりません。

セキュアなCookieはHTTPリクエストから抽出されます。セキュアなCookieとともに、OARMによりブラウザの特性も抽出されます。

デバイスに対する一意のフィンガープリントを作成するために使用される追加特性については、次のブラウザ・フィンガープリント列挙と表を参照してください:
OS/ブラウザ 特性
オペレーティング・システム
  • オペレーティング・システム
  • バージョン
  • パッチ・レベル
ブラウザ
  • ブラウザ
  • バージョン
  • パッチ・レベル
ロケール
  • Language
  • バリアント
ブラウザのフィンガープリントで収集される情報を示すブラウザ・フィンガープリント・タイプの列挙を次に示します:
#Enum for fingerprint type
vcrypt.fingerprint.type.enum=Enum for fingerprint type
vcrypt.fingerprint.type.enum.browser=1
vcrypt.fingerprint.type.enum.browser.name=Browser
vcrypt.fingerprint.type.enum.browser.description=Browser
vcrypt.fingerprint.type.enum.browser.userAgent=userAgent
vcrypt.fingerprint.type.enum.browser.locallang=localLang
vcrypt.fingerprint.type.enum.browser.localcountry=localCountry
vcrypt.fingerprint.type.enum.browser.localvariant=localVariant
vcrypt.fingerprint.type.enum.browser.header_list=locallang,localcountry,localvariant,userAgent
vcrypt.fingerprint.type.enum.browser.search_list=locallang,userAgent
vcrypt.fingerprint.type.enum.browser.result_list=locallang,userAgent
vcrypt.fingerprint.type.enum.browser.header_value_nv=t,true,f,false,en,English,es,Spanish,de,German,it,Italian,ja,Japanese,fr,French,ko,Korean,zh,Chinese,ar,Arabic,cs,Czech,da,Danish,nl,Dutch,fi,Finnish,el,Greek,iw,Hebrew,hu,Hungarian,no,Norwegian,pl,Polish,pt,Portuguese,ro,Romanian,ru,Russian,sk,Slovak,sv,Swedish,th,Thai,tr,Turkish,BR,Brazil

JavaScriptおよびデバイスの特性

OARMでは、JavaScriptを使用したフィンガープリント処理も提供します。

JavaScriptのフィンガープリントで収集される情報を示すJavaScriptフィンガープリント・タイプの列挙を次に示します:

vcrypt.fingerprint.type.enum.javascript.header_list=acn,gl,amv,l,ce,an,av,p,ua,o,je,te,w,h,cd,aw,ah,tzo,mt,pl,osc,prod,prods,bid,pd,cc,dnt
vcrypt.fingerprint.type.enum.javascript.cc=CPU class
vcrypt.fingerprint.type.enum.javascript.cd=Color depth
vcrypt.fingerprint.type.enum.javascript.dnt=Do not track
vcrypt.fingerprint.type.enum.javascript.ce=Cookies enabled
vcrypt.fingerprint.type.enum.javascript.tzo=Timezone offset
vcrypt.fingerprint.type.enum.javascript.result_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.is_device_fingerprint=true
vcrypt.fingerprint.type.enum.javascript.gl=Location
vcrypt.fingerprint.type.enum.javascript.mt=Mime types
vcrypt.fingerprint.type.enum.javascript.ah=Available height
vcrypt.fingerprint.type.enum.javascript.prods=Sub Product
vcrypt.fingerprint.type.enum.javascript.header_name_nv=acn,App code name,gl,Location,amv,App minor version,l,Language,ce,Cookies enabled,an,App name,av,App version,p,Platform,ua,User agent,o,Online,je,Java enabled,te,Taint enabled,w,Width,h,Height,cd,Color depth,aw,Available width,ah,Available height,tzo,Timezone offset,mt,Mime types,pl,Plugins,osc,OS CPU,prod,Product,prods,Sub product,bid,Build ID,pd,Pixel depth,cc,CPU class,dnt,Do not track
vcrypt.fingerprint.type.enum.javascript.an=App name
vcrypt.fingerprint.type.enum.javascript.name=Javascript
vcrypt.fingerprint.type.enum.javascript.prod=Product
vcrypt.fingerprint.type.enum.javascript.te=Taint enabled
vcrypt.fingerprint.type.enum.javascript.description=Javascript
vcrypt.fingerprint.type.enum.javascript.pd=Pixel depth
vcrypt.fingerprint.type.enum.javascript.osc=OS CPU
vcrypt.fingerprint.type.enum.javascript.search_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.av=App version
vcrypt.fingerprint.type.enum.javascript.header_value_nv=t,true,f,false,en,English,es,Spanish,de,German,it,Italian,ja,Japanese,fr,French,ko,Korean,zh,Chinese,ar,Arabic,cs,Czech,da,Danish,nl,Dutch,fi,Finnish,el,Greek,iw,Hebrew,hu,Hungarian,no,Norwegian,pl,Polish,pt,Portuguese,ro,Romanian,ru,Russian,sk,Slovak,sv,Swedish,th,Thai,tr,Turkish,BR,Brazil,CA,Canada
vcrypt.fingerprint.type.enum.javascript.aw=Available width
vcrypt.fingerprint.type.enum.javascript.bid=Build ID
vcrypt.fingerprint.type.enum.javascript.je=Java enabled
vcrypt.fingerprint.type.enum.javascript.pl=Plugins
vcrypt.fingerprint.type.enum.javascript=4
vcrypt.fingerprint.type.enum.javascript.processor=oracle.security.uas.core.uio.processor.device.JSDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.javascript.amv=App minor version
vcrypt.fingerprint.type.enum.javascript.acn=App code name
vcrypt.fingerprint.type.enum.javascript.p=Platform
vcrypt.fingerprint.type.enum.javascript.ua=User agent
vcrypt.fingerprint.type.enum.javascript.w=Width
vcrypt.fingerprint.type.enum.javascript.h=Height
vcrypt.fingerprint.type.enum.javascript.l=Language
vcrypt.fingerprint.type.enum.javascript.o=Online`