ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド
11gリリース2 (11.1.2.2)
B70199-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

デバイスのフィンガープリント処理および識別は、アクセス・リクエストまたはトランザクションのリスクを評価するためにOAAMが使用する様々な属性の1つです。Oracle Adaptive Access Managerでは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・デバイスまたは他のWeb対応デバイスのいずれであっても、特定の状況に応じて、ブラウザ・ユーザー・エージェント文字列データ、独自のセキュアCookie、Flash共有オブジェクト、モバイル・アプリケーション・データ、カスタム・クライアント・データ、拡張された自動学習デバイス識別ロジックなどの標準属性を任意に組み合せて使用することによって、デバイスを識別できます。

この章では、OAAMをデプロイする場合にカスタマが理解する必要がある、重要なフィンガープリント処理と識別の概念、テクノロジおよびユース・ケースについて説明します。この章の内容は、次のとおりです。


注意:

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

E.1 OAAMデバイスのフィンガープリント処理

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

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

E.1.1 フィンガープリント処理のタイプ

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

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

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

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

E.1.1.2 Flashフィンガープリント処理

OAAM管理コンソールの詳細ページでフィンガープリント・データを表示する場合、デジタル・フィンガープリントは、Flashフィンガープリント、JavaScriptフィンガープリントまたはカスタム・フィンガープリントを示します。Flashフィンガープリント・データを使用できるのは、デバイス上にAdobe Flashが存在する場合のみです。ログイン・プロセス中、デジタル・データはユーザーのAdobe Flashインストール先から収集されます。Flashシステム機能のデータが、Flashフィンガープリントとして使用されます。

E.1.1.3 JavaScriptフィンガープリント処理

OAAMは、JavaScriptを使用したフィンガープリント処理を提供します(デフォルトで有効化されています)。JavaScriptフィンガープリント処理は、プライマリ・フィンガープリント処理として使用するかFlashフィンガープリントと共存できます。JavaScriptとFlashの両方のフィンガープリント処理が有効化されている場合(デフォルト)、データが使用可能な場合はFlashが使用されます。Flashデータが存在しない場合は、JavaScriptが使用されます。

E.1.1.4 モバイル・デバイスのフィンガープリント処理

モバイル・デバイスとは、Google社のAndroidモバイル・オペレーティング・システムや、Apple社のiOSモバイル・オペレーティング・システムなどモバイル・オペレーティング・システムを実行するデバイスです。モバイル・デバイスのフィンガープリント処理は、カスタム・フィンガープリント処理の一種です。OAAMではモバイル・デバイスに対する処理が独自であり、Oracle Access Management Social and Mobileがインストールされていれば、ユーザーとデバイスの間で強力なバインディングが可能になります。モバイル・アプリケーション開発者は、Access Management SDKおよびREST (表現状態転送)サービス・レイヤーを介して、OAAMデバイスのフィンガープリント処理をアプリケーションに統合できます。モバイル固有データ(アプリケーションID、GPS/三角測量ロケーション、IMEI (国際移動体装置識別番号)/MACアドレス(媒体アクセス制御アドレス)など)は、他のデバイス・データとともに収集してOAAMに伝達できます。OAAMではデバイス・データを格納でき、それを使用して総合的なフィンガープリントを作成できます。以前に格納されたフィンガープリントやデバイス属性と比較でき、ポリシーはデバイス・データを使用してリスクを判定し、適切に対応することができます。Oracle Adaptive Access Managerでカスタム開発を使用すると、ブラウザを介してアクセスしていない場合でも、モバイル・デバイスのフィンガープリント処理、識別および追跡を行うことができます。

E.1.1.5 カスタム・クライアントのフィンガープリント処理

標準ブラウザ・アクセスのユース・ケースにおいてFlash共有オブジェクト・データを受け入れるデジタル・フィンガープリントは、かわりにカスタム・クライアントからのデータを受け入れることができます。JavaアプレットやQuickTime、その他の属性を取得する場合には、カスタム開発を利用してデバイスのフィンガープリント処理を拡張できます。たとえば、署名付きJavaアプレットを開発してデバイスのMACアドレスを収集したり、Java/.Net/SOAP APIを使用して、フィンガープリント処理および識別ロジックで使用するためにデジタル・フィンガープリントにデータを設定できます。カスタム・デバイスのフィンガープリント処理の設定の詳細は、E.1.7項「カスタム・フィンガープリント処理の設定」を参照してください。

E.1.2 デバイスのフィンガープリントの構成

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

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

HTMLのサンプル・コードには、追加のデバイス特性を収集するためのFlash共有オブジェクトやイメージ・タグが含まれます。Flashコードにより内部的にアプリケーション・サーバーがコールされ、デバイス特性がアップロードされます。


注意:

OAAMの最新のサンプル・アプリケーションは、次のOracle Technology Networkからダウンロードできます。

http://www.oracle.com/technetwork/index.html


通常、ログイン・ページには、数行の静的なHTMLコードが埋め込まれています。通常、デバイスが保護されたアプリケーションにログインすると、あらゆる認証試行の前にフィンガープリント処理が即時に実行されます。このように、デバイスのフィンガープリント情報はすべてのチェックポイントでリスク評価に使用できます。一般的なチェックポイントには、認証前、認証後、セッション内およびトランザクション内があります。なお、デバイスのフィンガープリント処理はセッション中のどの時点でも再実行でき、中間者攻撃の一部の形式を検出するのに役立ちます。

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

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


注意:

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

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

デバイスに対する一意のフィンガープリントを作成するために使用される追加特性については、次のブラウザ・フィンガープリント列挙と表を参照してください。

OS/ブラウザ 特性
オペレーティング・システム
  • オペレーティング・システム

  • バージョン

  • パッチ・レベル

ブラウザ
  • ブラウザ

  • バージョン

  • パッチ・レベル

ロケール
  • 言語

  • バリアント


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

#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

E.1.2.2 Flash共有オブジェクトおよびデバイス特性

Flash Cookieは、Flash共有オブジェクトの1つです。共有オブジェクトは、セキュアなCookieのように機能します。Oracle Adaptive Access Managerでは、Flash共有オブジェクトを使用して1回かぎり使用されるトークンが格納され、このトークンはデバイスのフィンガープリント処理が実行されるたびに置換されます。

Flash共有オブジェクトは、HTTPリクエストを使用してサーバーに送信されます。Flash共有オブジェクトによって、システム情報や構成設定などの追加のデバイス特性が取得および伝達され、これにより、デバイスIDに対して、粒度がさらに追加されます。

E.1.2.2.1 フィンガープリント処理で収集されるデータ

ログイン・プロセス中、デバイスのフィンガープリントを作成するためにユーザー・デバイスに関するデータが収集されます。このデータは、セキュアとデジタルの2つのカテゴリに分類できます。

これらの各カテゴリ内にはフィンガープリントとCookieが存在します。

Oracle Adaptive Access Managerでは、2つのタイプのCookieを使用してデバイス識別を実行します。1つはセキュアなCookie (ブラウザCookieまたは永続Cookieとも呼ばれます)であり、もう1つはデジタルCookie (Flash Cookieとも呼ばれます)です。この章では、セキュアCookieおよびFlash Cookieという用語を使用します。

セキュアなデータはユーザーのブラウザから収集されます。このデータには、ユーザー・エージェント文字列およびHTTP Cookie値が含まれます。このCookie値はログイン時にユーザーのブラウザから取得されます。ユーザー・エージェント文字列は、使用されているブラウザの種類およびそのバージョン番号と、オペレーティング・システムおよびバージョンなどのシステム詳細に関する情報です。ブラウザの特性の詳細は、E.1.2.1項「セキュアなCookieおよびブラウザの特性」を参照してください。

デジタル・フィンガープリントは、JavaアプレットやQuickTimeなどの、他のカスタム・フィンガープリントをベースにできます。このデータにはFlashシステム機能データの配列およびFlashローカル共有オブジェクト(LSO)が含まれます。Flash機能データは、Flashシステム機能を表すデジタル・フィンガープリントとして使用されます。LSOには1回かぎり使用される一意の値が含まれ、この値はユーザーがログインするたびに設定されます。この値は、ログイン時に実行されるFlashムービーを使用して取得されます。OAAMでは、JavaScriptを使用したフィンガープリント処理も提供します。JavaScriptとFlashの両方のフィンガープリント処理が有効化されている場合(デフォルト)、データが使用可能な場合はFlashが使用されます。Flashデータが存在しない場合は、JavaScriptが使用されます。

イメージがブロックされる場合には、ログイン・リクエスト自体からCookieが抽出されることがあります。Oracle Adaptive Access Managerでは、デバイス上のセキュリティ設定またはブラウザによるいくつかの技術的な問題を解決するために、Cookieを収集するこれらの様々なモードを使用します。

ハードウェア/ソフトウェア 特性
システム
  • オペレーティング・システム

  • Flashバージョン

  • プレーヤ・タイプ

  • デバッグ・バージョン

  • 画面DPI

  • 画面解像度

  • カラー画面

  • 画面のアスペクト率

  • 組込みビデオ

  • ビデオ・エンコーダ

  • ストリーミング・ビデオ

  • ビデオのサポート

  • 画面ブロードキャスト・アプリケーション

  • 再生画面ブロードキャスト・アプリケーション

  • 音声カード

  • マイクロフォン

  • 音声エンコーダ

  • ストリーミング音声

  • MP3

  • ネイティブSSLサポート

  • プリンタ・サポート

  • Input Method Editor (IME)

  • 製造業者

設定
  • 音声/ビデオの有効化

  • アクセシビリティの有効化

  • 音声の有効化

  • ローカル・ファイル読取りの無効化

  • 言語


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

#Enum for fingerprint type
vcrypt.fingerprint.type.enum=Enum for fingerprint type
vcrypt.fingerprint.type.enum.flash=2
vcrypt.fingerprint.type.enum.flash.name=Flash
vcrypt.fingerprint.type.enum.flash.description=Flash
vcrypt.fingerprint.type.enum.flash.processor=com.bharosa.uio.processor.device.FlashDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.flash.header_list=avd,acc,a,ae,ev,ime,mp3,pr,sb,sp,sa,sv,tls,ve,deb,l,lfd,m,os,ar,pt,col,dp,r,v
vcrypt.fingerprint.type.enum.flash.search_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.result_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.header_name_nv=avd,Audio/Video disabled by user,acc,Has accessibility,a,Has audio,ae,Had audio encoder,ev,Embedded video, ime, Has input method editor (IME) installed,mp3, Has MP3, pr, Supports printer, sb, Supports screen broadcast applications, sp, Supports playback on screen broadcast applications, sa, Supports streaming audio, sv, Supports streaming video, tls, Supports native SSL, ve, Contains video encoder, deb, Debug version, l, Language, lfd, Is local file read disabled, m, Manufacturer, os, Operating System, ar, Aspect ratio of screen, pt, Player type, col, Is screen color, dp, Dots-per-inch (DPI), r, Screen resolution, v, Flash version
#vcrypt.fingerprint.type.enum.flash.header_value_nv=t,true,f,false
vcrypt.fingerprint.type.enum.flash.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のフィンガープリントで収集される情報を示すJavaScriptタイプの列挙を次に示します。

vcrypt.fingerprint.type.enum.javascript.name=Javascript
vcrypt.fingerprint.type.enum.javascript.description=Javascript
vcrypt.fingerprint.type.enum.javascript.processor=com.bharosa.uio.processor.device.JSDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.javascript.header_list=acn,gl,amv,l,ce,an,av,p,u a,o,je,te,w,h,cd,aw,ah,tzo,mt,pl,osc,prod,prods,bid,pd,cc,dnt
vcrypt.fingerprint.type.enum.javascript.search_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.result_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.header_name_nv=acn,App code name,gl,Geo 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.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
vcrypt.fingerprint.type.enum.javascript.is_device_fingerprint=true

E.1.2.3 ネイティブ・モバイル・アプリケーション

OAAMデバイスのフィンガープリント処理は、Access Management SDKおよびRESTサービス・レイヤーによってモバイル・アプリケーションに統合されます。開発者はSDKをアプリケーションに組み込み、アプリケーションID、オペレーティング・システム、OSバージョン、IPアドレス、1回かぎり使用されるフィンガープリント値、GPS/三角測量ロケーション、IMEI/MACを収集します。OAAMではこれらのデータ要素を使用して、デバイスのフィンガープリント処理や識別およびリスク評価を実行します。

次の表に、モバイルCookieを示します。

表E-1 モバイルCookie

属性 説明

IMEI Id

IMEI (国際移動体装置識別番号) IDとは、モバイル・デバイスの一意のIDのことです。IMEIは携帯電話1台ごとに指定され、Equipment Identity Registerのデータベースに保存されます。IMEIを構成する数字は、Type Approval Code (TAC)、国コード、最終組立てコード、製造元、シリアル番号などの情報です。

MACアドレス

デバイスのネットワークMACアドレス(媒体アクセス制御アドレス)。MACアドレスは、ネットワーク・アダプタや、ネットワーク機能を持つ任意のデバイスに割り当てられるハードウェア・アドレスです。MACアドレスはデバイス1台ごとに固有の識別情報です。デバイスを製造または販売する企業を表す数字であり、デバイスごとに固有の数字です。

OSタイプ

デバイスのオペレーティング・システム。


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

#Enum for fingerprint type
vcrypt.fingerprint.type.enum=Enum for fingerprint type
vcrypt.fingerprint.type.enum.native_mobile=900
vcrypt.fingerprint.type.enum.native_mobile.name=Native Mobile
vcrypt.fingerprint.type.enum.native_mobile.description=Native Mobile implementation using OIC
vcrypt.fingerprint.type.enum.native_mobile.processor=com.bharosa.uio.processor.device.NativeMobileDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.native_mobile.header_list=os.type,os.version,hw.imei,hw.mac_addr
vcrypt.fingerprint.type.enum.native_mobile.header_name_nv=os.type,Operating System Type,os.version,Operating System Version,hw.imei,Hardware IMEI Number,hw.mac_addr,Hardware Mac Address
vcrypt.fingerprint.type.enum.native_mobile.header_value_nv=t,true,f,false

E.1.2.4 IPインテリジェンスおよび履歴コンテキスト

ユーザー、デバイス、ロケーションおよびOracle Adaptive Access Managerで取得されたその他のコンテキストの組合せを使用して、デバイスが以前に識別されたものである可能性を評価します。この評価は、デバイス属性の合計数が制限されている場合に特に役立ちます。たとえば、ユーザーがFlash共有オブジェクトのセキュアなCookieを使用しないでブラウザを介してアクセスする場合などです。

E.1.3 標準フィンガープリント処理の設定

標準のフィンガープリント・タイプは、即時利用可能な形で用意されており、設定も必要ありません。標準フィンガープリントのプロパティを次に示します。これらのプロパティをカスタム・フィンガープリント・タイプを作成する場合の例として使用できます。

#Reference to the "vcrypt.fingerprint.type.enum" elementId for Digital Device Fingerprinting 
bharosa.uio.default.device.identification.scheme=flash 
 
#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
 
vcrypt.fingerprint.type.enum.flash=2
vcrypt.fingerprint.type.enum.flash.name=Flash
vcrypt.fingerprint.type.enum.flash.description=Flash
vcrypt.fingerprint.type.enum.flash.processor=com.bharosa.uio.processor.device.FlashDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.flash.header_list=avd,acc,a,ae,ev,ime,mp3,pr,sb,sp,sa,sv,tls,ve,deb,l,lfd,m,os,ar,pt,col,dp,r,v
vcrypt.fingerprint.type.enum.flash.search_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.result_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.header_name_nv=avd,Audio/Video disabled by user,acc,Has accessibility,a,Has audio,ae,Had audio encoder,ev,Embedded video, ime, Has input method editor (IME) installed,mp3, Has MP3, pr, Supports printer, sb, Supports screen broadcast applications, sp, Supports playback on screen broadcast applications, sa, Supports streaming audio, sv, Supports streaming video, tls, Supports native SSL, ve, Contains video encoder, deb, Debug version, l, Language, lfd, Is local file read disabled, m, Manufacturer, os, Operating System, ar, Aspect ratio of screen, pt, Player type, col, Is screen color, dp, Dots-per-inch (DPI), r, Screen resolution, v, Flash version
#vcrypt.fingerprint.type.enum.flash.header_value_nv=t,true,f,false
vcrypt.fingerprint.type.enum.flash.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
 
vcrypt.fingerprint.type.enum.flash.avd=Audio/Video disabled by user
vcrypt.fingerprint.type.enum.flash.acc=Has accessibility
vcrypt.fingerprint.type.enum.flash.a=Has audio
vcrypt.fingerprint.type.enum.flash.ae=Had audio encoder
vcrypt.fingerprint.type.enum.flash.ev=Embedded video
vcrypt.fingerprint.type.enum.flash.ime= Has input method editor (IME) installed
vcrypt.fingerprint.type.enum.flash.mp3= Has MP3
vcrypt.fingerprint.type.enum.flash.pr= Supports printer
vcrypt.fingerprint.type.enum.flash.sb= Supports screen broadcast applications
vcrypt.fingerprint.type.enum.flash.sp= Supports playback on screen broadcast applications
vcrypt.fingerprint.type.enum.flash.sa= Supports streaming audio
vcrypt.fingerprint.type.enum.flash.sv= Supports streaming video
vcrypt.fingerprint.type.enum.flash.tls= Supports native SSL
vcrypt.fingerprint.type.enum.flash.ve= Contains video encoder
vcrypt.fingerprint.type.enum.flash.deb= Debug version
vcrypt.fingerprint.type.enum.flash.l= Language
vcrypt.fingerprint.type.enum.flash.lfd= Is local file read disabled
vcrypt.fingerprint.type.enum.flash.m= Manufacturer
vcrypt.fingerprint.type.enum.flash.os= Operating System
vcrypt.fingerprint.type.enum.flash.ar= Aspect ratio of screen
vcrypt.fingerprint.type.enum.flash.pt= Player type
vcrypt.fingerprint.type.enum.flash.col= Is screen color
vcrypt.fingerprint.type.enum.flash.dp= Dots-per-inch (DPI)
vcrypt.fingerprint.type.enum.flash.r= Screen resolution
vcrypt.fingerprint.type.enum.flash.v= Flash version
 
vcrypt.fingerprint.type.enum.monitordata=3
vcrypt.fingerprint.type.enum.monitordata.name=MonitorData
vcrypt.fingerprint.type.enum.monitordata.description=Monitor Data
 
vcrypt.fingerprint.type.enum.applet=999
vcrypt.fingerprint.type.enum.applet.name=Applet
vcrypt.fingerprint.type.enum.applet.description=Applet
vcrypt.fingerprint.type.enum.applet.processor=com.bharosa.uio.processor.device.AppletDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.applet.header_list=java.version,java.vendor,os.name,os.arch,os.version
vcrypt.fingerprint.type.enum.applet.header_name_nv=java.version,Java Version,java.vendor,Java Vendor Name,os.name,Operating System Name,os.arch,Operating System Architecture,os.version,Operating System Version
vcrypt.fingerprint.type.enum.applet.header_value_nv=t,true,f,false
 
vcrypt.fingerprint.type.enum.native_mobile=900
vcrypt.fingerprint.type.enum.native_mobile.name=Native Mobile
vcrypt.fingerprint.type.enum.native_mobile.description=Native Mobile implementation using OIC
vcrypt.fingerprint.type.enum.native_mobile.processor=com.bharosa.uio.processor.device.NativeMobileDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.native_mobile.header_list=os.type,os.version,hw.imei,hw.mac_addr
vcrypt.fingerprint.type.enum.native_mobile.header_name_nv=os.type,Operating System Type,os.version,Operating System Version,hw.imei,Hardware IMEI Number,hw.mac_addr,Hardware Mac Address
vcrypt.fingerprint.type.enum.native_mobile.header_value_nv=t,true,f,false

E.1.4 JavaScriptフィンガープリント処理の設定

JavaScriptのフィンガープリント・タイプは、即時利用可能な形で用意されており、設定も必要ありません。JavaScriptフィンガープリントのプロパティを次に示します。

JavaScriptフィンガープリント処理のOAAMサーバーのプロパティ

#Enable / Disable javascript fingerprinting
bharosa.uio.default.javascript.fingerprint.enable = true
#Javascript file that contains js fp script
bharosa.uio.default.javascript.fingerprint.file=js/oaam_fp.js
#URL to post js fp data
bharosa.uio.default.javascript.fingerprint.url=jsFingerprint.do
#Delimiter used between fingerprint
bharosa.uio.default.javascript.fingerprint.delim=&
#Delimiter used between fingerprint list items
bharosa.uio.default.javascript.fingerprint.listDelim=,
#Enable / Disable prompting user for location information
bharosa.uio.default.javascript.fingerprint.location.prompt.enabled=true
#Time in milliseconds to wait for user to respond to location prompt
bharosa.uio.default.javascript.fingerprint.location.prompt.time=6000

JavaScriptフィンガープリント・タイプの構成のプロパティ

vcrypt.fingerprint.type.enum.javascript.name=Javascript
vcrypt.fingerprint.type.enum.javascript.description=Javascript
vcrypt.fingerprint.type.enum.javascript.processor=com.bharosa.uio.processor.device.JSDeviceIdentificationProcessor
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.search_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.result_list=acn,l,ua
vcrypt.fingerprint.type.enum.javascript.header_name_nv=acn,App code name,gl,Geo 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.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
vcrypt.fingerprint.type.enum.javascript.is_device_fingerprint=true

管理フィンガープリント値の表示のためのリソース・バンドルの値

vcrypt.fingerprint.type.enum.javascript.header_name_nv=acn,App code
name,gl,Geo 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.acn=App code name
vcrypt.fingerprint.type.enum.javascript.gl=Location
vcrypt.fingerprint.type.enum.javascript.amv=App minor version
vcrypt.fingerprint.type.enum.javascript.l=Language
vcrypt.fingerprint.type.enum.javascript.ce=Cookies enabled
vcrypt.fingerprint.type.enum.javascript.an=App name
vcrypt.fingerprint.type.enum.javascript.av=App version
vcrypt.fingerprint.type.enum.javascript.p=Platform
vcrypt.fingerprint.type.enum.javascript.ua=User agent
vcrypt.fingerprint.type.enum.javascript.o=Online
vcrypt.fingerprint.type.enum.javascript.je=Java enabled
vcrypt.fingerprint.type.enum.javascript.te=Taint enabled
vcrypt.fingerprint.type.enum.javascript.w=Width
vcrypt.fingerprint.type.enum.javascript.h=Height
vcrypt.fingerprint.type.enum.javascript.cd=Color depth
vcrypt.fingerprint.type.enum.javascript.aw=Available width
vcrypt.fingerprint.type.enum.javascript.ah=Available height
vcrypt.fingerprint.type.enum.javascript.tzo=Timezone offset
vcrypt.fingerprint.type.enum.javascript.mt=Mime types
vcrypt.fingerprint.type.enum.javascript.pl=Plugins
vcrypt.fingerprint.type.enum.javascript.osc=OS CPU
vcrypt.fingerprint.type.enum.javascript.prod=Product
vcrypt.fingerprint.type.enum.javascript.prods=Sub Product
vcrypt.fingerprint.type.enum.javascript.bid=Build ID
vcrypt.fingerprint.type.enum.javascript.pd=Pixel depth
vcrypt.fingerprint.type.enum.javascript.cc=CPU class
vcrypt.fingerprint.type.enum.javascript.dnt=Do not track

E.1.5 ネイティブ統合とデバイスのフィンガープリント処理

API統合を示すOAAMの最新のサンプル・アプリケーションは、次のOracle Technology Networkからダウンロードできます。

http://www.oracle.com/technetwork/index.html

デバイスのフィンガープリント処理に使用されるAPI

表E-2に、デバイスのフィンガープリント処理に使用されるAPIを示します。

表E-2 デバイスのフィンガープリント処理API

モジュール API 説明

サーバー

VCryptTracker::updateLog()

フィンガープリントを作成するAPIは、次のとおりです。

  • VCryptServletUtil.getBrowserFingerPrint(userAgent, language, country, variant);

  • VCryptServletUtil.getFlashFingerPrint(client, fpStr);

メソッドupdateLog()の詳細は、『Oracle Fusion Middleware Oracle Adaptive Access Manager開発者ガイド』を参照してください。

Oracle Adaptive Access Managerのサンプル

handleJump.jsp

handleJump.jsp:

  1. クライアントのタイムゾーンを設定します。

  2. セキュアCookieを設定します。

  3. ブラウザのフィンガープリントを設定します。

  4. ステータスを保留中に設定します。

  5. 認証前ルールをコールします。処理続行をユーザーに許可する場合はALLOWが、ユーザーの処理続行を停止する場合はBLOCKまたはERRORが返されます。

  6. セッション・データbharosaSessionを格納します。

  7. パスワード・ページpassword.jpsを表示します。

Oracle Adaptive Access Managerのサンプル

handleFlash.jsp

handleFlash.jspでは、ブラウザがフラッシュに対応している場合に、Flash Cookieが設定されます。


デバイスのフィンガープリント処理におけるCookie

次のサンプル・コードは、ブラウザCookieとフラッシュCookieを使用したデバイスのフィンガープリント処理方法を示しています。詳細は、handleFlash.jspのコードを参照してください。

//Get Browse/Secure cookie
String secureCookie = getCookie(request, "bharosa");
Locale locale = request.getLocale();
String browserFp = VCryptServletUtil.getBrowserFingerPrint(request.getHeader("user-agent"),
locale.getLanguage(),
locale.getCountry(), locale.getVariant());
 
 
 
String client = request.getParameter("client");
String fpStr = request.getParameter("fp");
String flashFp = bharosaHelper.constructFlashFingerPrint( client, fpStr );
 
//Get the flash cookie
String flashCookie = request.getParameter("v");
CookieSet cookieSet = bharosaHelper.fingerPrintFlash(bharosaSession, bharosaSession.getRemoteIPAddr(), request.getRemoteHost(),
BharosaEnumAuthStatus.PENDING, secureCookie, browserFp, flashCookie, flashFp);

E.1.6 ネイティブ統合でのFlashフィンガープリント処理の設定

Oracle Adaptive Access Managerネイティブ統合におけるFlashフィンガープリント処理の詳細は、『Oracle Fusion Middleware Oracle Adaptive Access Manager開発者ガイド』を参照してください。

E.1.7 カスタム・フィンガープリント処理の設定

OAAMを使用すると、様々な詳細タブやページで標準のフィンガープリント・データとともに、カスタム・デバイス識別アプレットによって生成されたカスタム・フィンガープリント・データを表示および検索できます。カスタム・フィンガープリント情報はネイティブ・モバイルおよびアプレットで使用できます。

この項では、ユーザーが保護されているアプリケーションにアクセスするときに使用するデバイスの情報をOracle Adaptive Access Managerで取得できるように、フィンガープリント・タイプを作成する方法について説明します。フィンガープリント・タイプは、oaam_custom.propertiesに含まれています。即時利用可能ではないフィンガープリント・タイプが必要な場合は、デプロイメント時にこれらのタイプが組み込まれるようにoaam_custom.propertiesファイルを変更する必要があります。

  1. oracle.oaam.extensions.warファイルのWEB-INF/classes/bharosa_propertiesディレクトリで、oaam_custom.propertiesファイルを開きます。

  2. 取得するフィンガープリントの列挙を追加します。フィンガープリント列挙の形式は、E.1.3項「標準フィンガープリント処理の設定」を参照してください。

  3. プロパティbharosa.uio.default.device.identification.schemeを、取得する必要のあるフィンガープリントのタイプに設定します。

    たとえば、デジタル・デバイスのフィンガープリント処理用のvcrypt.fingerprint.type.enum elementIdは、次のようになります。

    bharosa.uio.default.device.identification.scheme=flash
    

E.1.8 ネイティブ統合でのモバイル・デバイス・フィンガープリントの変更

即時利用可能なOAAMには、次の属性で構成されるデフォルトのモバイル・デバイス・フィンガープリントが用意されています。

  • オペレーティング・システムのタイプ

  • ハードウェアIMEI番号

  • ハードウェアMACアドレス

これらの属性は、vcrypt.fingerprint.type.enum.native_mobileという列挙要素を介して指定されます。OAAM管理コンソールの「プロパティ」エディタ・オプションを使用して、この列挙要素の属性を表示できます。

取得するモバイル・フィンガープリント属性を追加するには:

  1. OAAM管理コンソールにログインします。

  2. ナビゲーション・ペインで、「環境」ノードの下の「プロパティ」をダブルクリックします。プロパティ検索ページが表示されます。

  3. 「名前」フィールドに「vcrypt.fingerprint.type.enum.native_mobile」と入力して、「検索」をクリックします。

    「検索結果」セクションに、プロパティの属性が表示されます。

  4. モバイル・デバイスを識別する属性がさらに必要な場合は、「名前」フィールドに「vcrypt.fingerprint.type.enum.native_mobile.header_list」と入力して、「検索」をクリックします。

  5. 「検索結果」セクションでクリックしてプロパティを選択し、属性のリストを追加して「保存」をクリックします。

  6. 属性とその値のマッピングを指定するには、「名前」フィールドに「vcrypt.fingerprint.type.enum.native_mobile.header_name_nv」と入力して、「検索」をクリックします。

  7. 「検索結果」セクションでクリックしてプロパティを選択し、マッピング属性を追加して「保存」をクリックします。

  8. 実際値と表示値のマッピングを指定するには、「名前」フィールドに「vcrypt.fingerprint.type.enum.native_mobile.header_value_nv」と入力して、「検索」をクリックします。

  9. 「検索結果」セクションでクリックしてプロパティを選択し、表示する実際値を追加して「保存」をクリックします。

注意: 非常に動的な属性(IPアドレスなど)を、モバイル・デバイス・フィンガープリントの属性として追加しないでください。デバイスを一意に識別できる属性のみを追加してください。

次の例は、モバイル・フィンガープリント列挙を示しています。

vcrypt.fingerprint.type.enum.native_mobile=900
vcrypt.fingerprint.type.enum.native_mobile.name=Native Mobile
vcrypt.fingerprint.type.enum.native_mobile.description=
Native Mobile implementation using Mobile and Social
vcrypt.fingerprint.type.enum.native_mobile.processor=
     com.bharosa.uio.processor.device.NativeMobileDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.native_mobile.header_list=
      os.type,os.version,hw.imei,hw.mac_addr
vcrypt.fingerprint.type.enum.native_mobile.header_name_nv=
       os.type,Operating System Type,os.version,Operating System Version,
       hw.imei,Hardware IMEI Number,hw.mac_addr,Hardware Mac Address
vcrypt.fingerprint.type.enum.native_mobile.header_value_nv=t,true,f,false

E.1.9 フィンガープリント・データの表示

OAAMでは、フィンガープリント・データを様々な詳細タブおよびページで表示できます。

E.1.9.1 セッション詳細

セキュアCookieとデジタルCookieに関する情報を表示するには、次の手順に従います。

  1. ナビゲーション・ツリーで、目的の「セッション」ノードをダブルクリックします。

  2. 詳細を表示するセッションを検索します。

  3. 「検索結果」表で、目的のセッションの「セッションID」をクリックします。そのセッションのセッション詳細ページが表示されます。

  4. 「デバイス」タブをクリックします。

    「基本情報」には、「デバイスID」、「デバイス・タイプ」および「ブラウザ」を表示できます。

    「フィンガープリントの詳細」には、フィンガープリント・タイプおよびそのパラメータが階層ツリー形式で表示されます。「フィンガープリント詳細」セクションでは、ログイン時にデバイスに作成されたフィンガープリントがリストされます。

E.1.9.2 ユーザー詳細: フィンガープリント・データ

このタブには、特定のユーザーがログインしたときに収集されたすべてのフィンガープリント(ブラウザ、Flash、カスタム)情報が表示されます。ネイティブ・モバイルおよびアプレットに関するカスタム・フィンガープリント情報を収集できます。詳細は、6.11.7項「ユーザー詳細: フィンガープリント・データ」を参照してください。

  1. 有効なユーザーの「セッション」ページから、「ユーザーID」または「ユーザー名」リンクをクリックします。

    「ユーザーの詳細」ページが表示されます。

  2. フィンガープリント・タブをクリックします。

    このタブには、ログイン時にユーザーに対して作成されたフィンガープリントがリストされます。

E.1.9.3 ロケーション詳細: 「フィンガープリント」タブ

このタブには、ログイン時にロケーションに作成されたフィンガープリントがリストされます。

  1. セッション検索の結果から、国、都道府県、市区町村またはIPのリンクをクリックします。

    その国、都道府県、市区町村またはIPのロケーション詳細ページが表示されます。

  2. 「フィンガープリント・データ」タブをクリックします。

  3. 「フィンガープリントID」および「フィンガープリント・タイプ」で検索します。

図E-1 ロケーション詳細: フィンガープリント・データ

図E-1の説明が続きます
「図E-1 ロケーション詳細: フィンガープリント・データ」の説明

E.1.9.4 デバイス詳細

「デバイス詳細」ページを開くには、次の手順に従います。

  1. セッション検索ページまたはその他のページの「デバイスID」リンクをクリックします。

    「デバイス詳細」ページが開き、追加の詳細が表示されます。

  2. 「サマリー」タブを表示します。

    次の一般的なデータが表示されます。

    • デバイスID

    • デバイス・タイプ

    • 外部デバイスID

    • ブラウザ

    • オペレーティング・システム

    • 作成時間

    • 最終使用日

E.1.9.4.1 デバイス詳細: 「サマリー」タブ

「サマリー」タブの「フィンガープリント」パネルに、フィンガープリント情報が表示されます。

デバイス詳細の「サマリー」ページの「フィンガープリント詳細」セクションでは、ログイン時にデバイスに作成されたフィンガープリントがリストされます。即時利用可能な機能として、OAAMではブラウザ、モバイル・アプリケーションおよびデジタル・フィンガープリントがサポートされています。OAAMではフレームワークを提供しているため、ユーザーは、必要に応じて、ブラウザ、FlashやJavaScript以外のフィンガープリント・タイプを使用できます。デジタル・フィンガープリントとは、Flashフィンガープリント、JavaScriptフィンガープリントまたはユーザーが定義したカスタム・フィンガープリントのことを示します。

表E-3 デバイス詳細のフィンガープリント情報

デバイス詳細の「フィンガープリント」タブ 説明

ブラウザ・フィンガープリント

ユーザーがシステムにアクセスすると、OAAMによってコンピュータに関する情報が収集されます。サイトでそのようなデータがすべて組み合され、ユーザーのブラウザのフィンガープリントが作成されます。このフィンガープリントによって、ユーザーを一意に識別できる場合があります。ブラウザのフィンガープリントを構成する情報には、ブラウザ・タイプ、インストールされた拡張機能、システム・フォント、オペレーティング・システムの構成およびバージョン情報、コンピュータでCookieを受け入れるかなどがあります。

次の情報が表示されます。

  • ID

  • ブラウザ

  • ローカル国

  • ローカル言語

  • ローカル・バリアント

  • オペレーティング・システム

  • ユーザー・エージェント

デジタル・フィンガープリント

Flashフィンガープリント、JavaScriptフィンガープリントまたはユーザーが定義したカスタム・フィンガープリントの情報が表示されます。

フィールドには、次のような情報が表示されます。

  • ID

  • デジタル・フィンガープリント・タイプ

  • 画面のアスペクト率

  • 音声/ビデオがユーザーによって無効化された

  • ビデオ・エンコーダが含まれる

  • デバッグ・バージョン

  • 1インチ当たりのドット数

  • 埋込みビデオ

  • Flashバージョン

  • 音声エンコーダを備えている

  • MP3対応

  • アクセシビリティ対応

  • 音声対応

  • Input Method Editorインストール済

  • ローカル・ファイル読取りが無効

  • 画面の色

  • 言語

  • 製造業者

  • オペレーティング・システム

  • プレーヤ・タイプ

  • 画面解像度

  • ネイティブSSLのサポート


E.1.9.4.2 デバイス詳細: 「フィンガープリント・データ」タブ

このタブには、ログイン時にデバイスに作成されたフィンガープリントがリストされます。

図E-2 デバイス詳細: フィンガープリント・データ

図E-2の説明が続きます
「図E-2 デバイス詳細: フィンガープリント・データ」の説明

E.1.9.5 「フィンガープリント詳細」ページ

デジタル・フィンガープリントの詳細を表示するには、セッション詳細ページまたはリスト・ページで「デジタル・フィンガープリントID」リンクをクリックします。

ブラウザ・フィンガープリントの詳細を表示するには、セッション詳細ページまたはリスト・ページで「ブラウザ・フィンガープリントID」リンクをクリックします。

追加の詳細が含まれた、フィンガープリント詳細ページが開きます。

E.1.9.5.1 フィンガープリント詳細: 「サマリー」タブ

フィンガープリント詳細の「サマリー」ページには、一般的なフィンガープリント情報、およびデバイスのフィンガープリント生成時に収集されたデータが表示されます。

フィンガープリント詳細の「サマリー」タブには、フィンガープリント処理タイプ(Flash、ブラウザ、カスタム)およびパラメータが表示されます。

フィンガープリント詳細の「サマリー」ページには、一般的なフィンガープリント情報、およびデバイスのフィンガープリント生成時に収集されたデータが表示されます。

フィンガープリント詳細の「サマリー」タブには、フィンガープリント処理タイプ(ブラウザ、デジタル、カスタム)およびパラメータが表示されます。

図E-3に、「サマリー」タブ内の収集されたデジタル・フィンガープリント詳細を示します。

図E-3 デジタル・フィンガープリント詳細の表示

図E-3の説明が続きます
「図E-3 デジタル・フィンガープリント詳細の表示」の説明

図E-4に、「サマリー」タブ内の収集されたブラウザ・フィンガープリント詳細を示します。

図E-4 ブラウザ・フィンガープリント詳細の表示

図E-4の説明が続きます
「図E-4 ブラウザ・フィンガープリント詳細の表示」の説明

E.1.9.5.2 フィンガープリント詳細: 「ユーザー」タブ

このタブには、指定された時間枠内にフィンガープリントを使用したユーザーがすべてリストアップされます。フィンガープリント詳細ページの「ユーザー」タブを使用すると、ログイン・プロセス時にフィンガープリントを使用したユーザー、および各ユーザーのフィンガープリント使用回数を特定できます。

図E-5 フィンガープリント詳細: ユーザー

図E-5の説明が続きます
「図E-5 フィンガープリント詳細: ユーザー」の説明

E.1.9.5.3 フィンガープリント詳細: 「デバイス」タブ

このタブには、フィンガープリントが使用されたすべてのデバイスがリストされます。

図E-6 フィンガープリント詳細: デバイス

図E-6の説明が続きます
「図E-6 フィンガープリント詳細: デバイス」の説明

フィンガープリント詳細ページの「デバイス」タブを使用すると、ログイン・プロセス時にフィンガープリントを使用したデバイス、および各デバイスのフィンガープリント使用回数を特定できます。

E.1.9.5.4 フィンガープリント詳細: 「ロケーション」タブ

このタブには、フィンガープリントが使用されたすべてのロケーションがリストされます。

図E-7 フィンガープリント詳細: ロケーション

図E-7の説明が続きます
「図E-7 フィンガープリント詳細: ロケーション」の説明

フィンガープリント詳細ページの「ロケーション」タブを使用すると、ログイン・プロセス時にフィンガープリントを使用したロケーション、および各ロケーションのフィンガープリント使用回数を特定できます。

E.1.9.5.5 フィンガープリント詳細: 「セッション」タブ

このタブには、特定の期間においてフィンガープリントが生成されたログイン・セッションがリストされます。

図E-8 フィンガープリント詳細: セッション

図E-8の説明が続きます
「図E-8 フィンガープリント詳細: セッション」の説明

E.1.9.5.6 フィンガープリント詳細: 「アラート」タブ

このタブには、検索条件で指定された時間枠内でこのデバイスにトリガーされたアラートがリストアップされます。

図E-9 フィンガープリント詳細: アラート

図E-9の説明が続きます
「図E-9 フィンガープリント詳細: アラート」の説明

E.1.9.5.7 フィンガープリント詳細でのタスク

この項では、フィンガープリント詳細ページを使用して情報を取得する方法について説明します。

デジタル・フィンガープリントの詳細の表示

デジタル・フィンガープリントの詳細を表示するには、セッション詳細ページまたはリスト・ページで「デジタル・フィンガープリントID」リンクをクリックします。

追加の詳細が含まれた、フィンガープリント詳細ページが開きます。

ブラウザ・フィンガープリントの詳細を表示する

ブラウザ・フィンガープリントの詳細を表示するには、セッション詳細ページまたはリスト・ページで「ブラウザ・フィンガープリントID」リンクをクリックします。

追加の詳細が含まれた、フィンガープリント詳細ページが開きます。

フィンガープリントが使用された様々なユーザーの検索および表示

フィンガープリントが使用された様々なユーザーを検索して表示するには:

  1. セッション詳細ページまたはリスト・ページの「フィンガープリントID」リンクをクリックします。

    フィンガープリント詳細ページが開き、追加の詳細が表示されます。

  2. 「ユーザー」タブをクリックします。

    このタブには、指定された時間枠内にフィンガープリントを使用したユーザーがすべてリストアップされます。

  3. フィルタ・パラメータを使用して、フィンガープリントが使用された様々なユーザーを検索します。

フィンガープリントが使用された様々なデバイスの検索および表示

フィンガープリントが使用された様々なデバイスを検索して表示するには:

  1. セッション詳細ページまたはリスト・ページの「フィンガープリントID」リンクをクリックします。

    フィンガープリント詳細ページが開き、追加の詳細が表示されます。

  2. 「デバイス」タブをクリックします。

    このタブには、フィンガープリントが使用されたすべてのデバイスがリストされます。

  3. フィルタ・パラメータを使用して、フィンガープリントが使用された様々なデバイスを検索します。

    このレポートにより、ログイン・プロセス時にフィンガープリントを使用したデバイス、および各デバイスのフィンガープリント使用回数を確認できます。

フィンガープリントが使用された様々なロケーションの検索および表示

フィンガープリントが使用された様々なロケーションを検索して表示するには:

  1. セッション詳細ページまたはリスト・ページの「フィンガープリントID」リンクをクリックします。

    フィンガープリント詳細ページが開き、追加の詳細が表示されます。

  2. 「ロケーション」タブをクリックします。

    このタブには、フィンガープリントが使用されたすべてのロケーションがリストされます。

  3. フィルタ・パラメータを使用して、フィンガープリントが使用された様々なロケーションを検索します。

    このレポートにより、ログイン・プロセス時にフィンガープリントを使用したロケーション、および各ロケーションのフィンガープリント使用回数を確認できます。

すべてのログイン・セッションの検索および表示、またはフィンガープリントの特定期間のログイン・セッションの検索

すべてのログイン・セッションを検索して表示するか、またはフィンガープリントの特定期間のログイン・セッションを検索するには:

  1. セッション詳細ページまたはリスト・ページの「フィンガープリントID」リンクをクリックします。

    フィンガープリント詳細ページが開き、追加の詳細が表示されます。

  2. 「セッション」タブをクリックします。

    このタブには、特定の期間においてフィンガープリントが生成されたログイン・セッションがリストされます。

  3. すべてのログイン・セッションを検索して表示するか、またはフィンガープリントのセッション日でログイン・セッションを検索します。

    セッション日で検索すると、指定継続時間内にデバイスがログインしていた間のすべてのセッションが収集されます。

E.1.9.6 アラート詳細: フィンガープリント・データ

このタブには、指定された時間枠内でアラートのトリガー時に使用されたフィンガープリント情報が表示されます。

図E-10 アラート詳細: フィンガープリント・データ

図E-10の説明が続きます
「図E-10 アラート詳細: フィンガープリント・データ」の説明

E.2 デバイス識別

Oracle Adaptive Access Managerでは、数多くの属性を使用して、通常ログインに使用されるデバイスの認識とフィンガープリント処理を行うことによって、機関の対応範囲を拡大します。この項では、デバイス識別の概念について説明します。

E.2.1 デバイスIDの割当て

ユーザーが最初にログインしたとき、OAAMはデバイスの属性を一意の組合せで取得します。最初のログインなので、この時点ではユーザー側にCookieは設定されていません。したがってOAAMサーバーは、デバイスのフィンガープリント・データを処理し、このデバイスが以前に認識されたかどうかを判定する必要があります。ユーザーの妻がこのデバイスを使用したなどで、組合せがOAAMデータベースで見つかった場合、OAAMはこれを同じデバイスと認識し、同じデバイスIDをユーザーに割り当てます。

Oracle Adaptive Access Managerは、作成されたデバイスIDごとに一意のセキュアCookieを生成します。OAAMによってクライアントのブラウザに格納されるセキュアなCookieは、次に示すように、単なる追跡Cookieにすぎません。

  • ユーザーに関する情報は一切格納されません。

  • デバイスを識別する前に、ユーザーがそのブラウザからログインしているかどうかを追跡するためにのみ使用されます。

  • 単一ユーザーのみに有効です。

デバイスIDは、Cookieに基づきません。デバイスごとに、OAAMは次回に予期されるCookie値を格納します。ユーザーがデバイスから次にログインするとき、OAAMは同じCookieを検索します。ブラウザでこのCookieが見つかると、OAAMはこのCookieを予期される値と比較します。2つの値が一致した場合、OAAMはFlashデータを調べません。それ以上調べられないのは、以前に使用したデバイスからリクエストが行われたと認識されるためであり、デバイスIDは再利用されます。

一致しなかった場合は、Cookieが失効しているまたは変更されている可能性があるため、無視されます。このCookieは廃棄され、新しいCookieが生成されます。この場合、構成されているルールがトリガーされ、スコアが高い方の結果と新しいデバイスIDが生成されます。ブラウザにCookieが存在しない場合は、それが新しいリクエストであることを示します。OAAMのCookieがブラウザに設定されない場合、OAAMはFlash共有オブジェクトを調べます。Flashが無効な場合、OAAMはブラウザのユーザー・エージェント文字列データと、セッション中に使用可能なその他のコンテキスト・データを調べます。同じデバイスIDを割り当てられる可能性があるので、OAAMは以前に別のところから組合せが取得されたことがあるかどうかを調べて判定します。

ユーザーがブラウザ側でCookieを無効にしている場合、Cookieの設定も禁止している場合には、デフォルトのデバイスIDが指定されます。この場合、デバイスIDはユーザー・エージェント文字列など他の属性に基づきます。

ユーザーがCookieを削除した場合は、新しいデバイスIDが生成されます。

異なるWebブラウザ/異なるデバイスID

Webブラウザ・ベースのフィンガープリント処理を使用する場合は、設計上各Webブラウザに一意のデバイスIDが指定されます。ただし、同じラップトップにインストールされているInternet ExplorerとMozilla Firefoxを使用するときは例外です。同じラップトップにインストールされている他のWebブラウザの場合、デバイスは別々のデバイスIDとしてOAAM管理コンソールに表示されます。OAAMは、デプロイメントで使用されたすべてのデバイスIDを、ユーザーとの関係でも独立してもプロファイルするためです。

Internet ExplorerとMozilla Firefoxを使用/Flashが使用可能な場合には同じID

Flashが使用可能な場合、同じマシン上でMozilla FirefoxとInternet Explorerを使用している場合であっても、デバイスIDは同じになります。これが該当するのは、Mozilla FirefoxとInternet Explorerのみです。他のWebブラウザでは動作が異なる場合があります。たとえばChromeを使用している場合、デバイスIDは異なります。

使用できるのは、データのサブセットのみです。

識別のロジックおよびポリシーは、データのサブセットのみを使用できるシナリオに対応するように設計されています。ブラウザ・ユーザー・エージェント文字列のみが使用可能な場合、OAAMロジックでは、ユーザーが以前に使用したデバイスの構成やユーザーが過去にアクセスしたアクセス元のロケーションなどのコンテキスト・データが調査されます。ユーザーがCookieとFlash共有オブジェクトを削除した、またはそれらを最初から有効にしていなかった場合には自動的に対処されます。

OAAMは、短期間の間(3回のログイン)新しいIDを割り当てます。その後、ユーザーの動作が変わらない場合は(同一のユーザーが同一のIPを使用している場合など)、以前のIDに戻します。デバイスのフィンガープリント処理では、オペレーティング・システムやブラウザのアップグレードなど、デバイス・データの一般的な変更も考慮されます。

このシナリオは、すべてのセッション後にユーザーがセキュアなCookieとFlash共有オブジェクトの両方を削除したものの、他のデータがセッション全体で一貫性を維持している場合の動作を示しています。OAAMデバイス識別のロジックおよびポリシーにより、フィンガープリント処理が3回正常に実行された後、デバイスを一貫性のあるデバイスIDとして認識できることが判断されます。

セッション ユーザー IP ユーザー・エージェント セキュアなCookie Flash Cookie Flash Cookieデータ アクション
1 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 予期されません、

Cookieなし、Cookie有効化、設定済

DCは予期されません、

FSOなし、インストール済および設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … 新規デバイス

1234

2 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 Cookieが予期されます、

Cookieなし、Cookie有効化、設定済

DCが予期されます、

FSOなし、インストール済、設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … 新規デバイス

1235

3 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 Cookieが予期されます、

Cookieなし、Cookie有効化、設定済

DCが予期されます、

FSOなし、インストール済、設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … 新規デバイス

1236

4 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 Cookieが予期されます、

Cookieなし、Cookie有効化、設定済

DCが予期されます、

FSOなし、インストール済、設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … 新規デバイス

1237

5 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 Cookieが予期されます、

Cookieなし、Cookie有効化、設定済

DCが予期されます、

FSOなし、インストール済、設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … ブラウザ・データによるデバイス

1234

6 jsmith 1.1.1.1 Mozilla/5.0 (Windows、U、Windows NT 6.1、en-US、rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 Cookieが予期されます、

Cookieなし、Cookie有効化、設定済

DCが予期されます、

FSOなし、インストール済、設定済

タイプ=Flash、画面アスペクト=1.0、A/V無効化=F、ビデオ・エンコーダ=T … ブラウザ・データによるデバイス

1234


Cookieが一致/異なるフィンガープリント

ユーザーが解像度を変更した場合など、Cookieが一致しても指紋が異なることがあり、OAAMは同じデバイスIDを指定しますがスコアが異なります。デバイスは同じように見えますが疑わしいとみなされるため、変更内容に基づいてリスク・スコアが引き上げられます。デバイスIDが同じになるのは同じCookieを使用している(Cookieが一致)からですが、Flashは以前と異なっています。

E.2.2 デバイス識別ポリシー

デバイスIDは、ルールとトリガー組合せによって決定されます。

Oracle Adaptive Access Managerでは、ビジネス・ロジックなどの様々な目的のためにポリシー・エンジンを使用して、ユーザー操作、リスク分析およびデバイス識別を実行します。デバイス識別ポリシーは、すべてのカスタマ・デプロイメントで機能するように設計されています。


注意:

デバイス識別ポリシーの変更はサポートされておらず、お薦めしません。

次のポリシーのリストはデバイス識別に使用されるため、どのような方法でも削除したり変更しないようにする必要があります。

  • OAAMベース・デバイスIDポリシー

  • OAAMモバイル・デバイスIDポリシー(主にOracle Access Management Mobile and Social統合のために使用される)

  • OAAMデバイスIDポリシー

  • OAAMシステム詳細分析Flashありポリシー

  • OAAMシステム詳細分析Flashなしポリシー


注意:

「OAAMシステム詳細分析Flashありポリシー」と「OAAMシステム詳細分析Flashなしポリシー」については、この章では扱いません。

ポリシーのアクションはすべて、トリガー組合せから取得されます。デバイスIDは、トリガー組合せに大きく依存します。

ポリシーとトリガー組合せの詳細は、第10章「OAAMポリシーの概念およびリファレンス」を参照してください。

E.2.2.1 OAAMベース・デバイスIDポリシー

クライアント・デバイスを識別するときにどのデバイスIDポリシーを実行するかは、「OAAMベース・デバイスIDポリシー」によって決まります。

ベースIDポリシーには、ユーザーがモバイル・ユーザーかどうか、ログインがMobile and Social統合から行われているかどうかをチェックするルールが1つ含まれています。ルールには、次の2つの条件があります。

  • 「デバイス: デバイスがモバイル・ブラウザを使用しているかどうかの確認」条件は、現在のデバイスがWebサイトへのアクセスにモバイル・ブラウザを使用しているかどうかを確認します。これは、ユーザー・エージェントに基づきます。

  • 「デバイス: ブラウザ・ヘッダー・サブストリング」条件は、指定した文字列がブラウザのヘッダー情報にサブストリングとして存在するかどうかを確認します。

ベース・デバイスIDポリシーのトリガー組合せによって、実行するすべてのアクションが決定されます。

デバイスがモバイルで、Mobile and Socialタイプの統合からログインされている場合、OAAMはモバイル・デバイスIDポリシーを実行します。デバイスがモバイルではなく、UIOデプロイメントまたは従来型のデプロイメントからログインされている場合、OAAMはデバイスIDポリシーを実行します。

OAAMベース・デバイスIDポリシーの詳細は、10.5.2項「OAAMベース・デバイスIDポリシー」を参照してください。

E.2.2.2 OAAMモバイル・デバイスIDポリシー

OAAMモバイル・デバイスIDポリシーにより、Oracle Access Management Mobile and Social (Mobile and Social)統合に固有のモバイル・デバイスが識別されます。

OAAMモバイル・デバイスIDポリシーには、次の3つのルールがあります。

  • 「デバイスID: 有効なCookie」条件で「モバイルCookie有効」

    「デバイスID: 有効なCookie」条件は、指定したCookieに有効なノードが存在するかどうかを判別します。

  • 「デバイスID: ヘッダー・データ一致」条件で「モバイルの既知のヘッダー一致」

    「デバイスID: ヘッダー・データ一致」条件は、ヘッダーが一致するかどうかを判別します。

  • 「デバイスID: ヘッダー・データが存在します」条件で「モバイル・デバイス・データあり」

    「デバイスID: ヘッダー・データが存在します」条件は、ヘッダー・データが存在するかどうかを判別します。

すべてのアクションは、モバイル・デバイスIDポリシーのトリガー組合せによって実行されます。モバイル・デバイスがすでに割り当てられているかどうか、OAAMを新しいデバイスに割り当てる必要があるかどうかが確認されます。

  • モバイルCookieが有効でデバイスが一致する場合、OAAMはモバイルCookie自体でデバイスを検索します。

  • モバイルCookieは有効だがヘッダーが一致しない場合、OAAMはモバイルCookieによってデバイスを識別しますが、疑わしい可能性があります。疑問となるのは、ヘッダーが一致しない理由、アップグレードがあったかどうか、モバイルCookieが別の場所からコピーされたかどうか、などです。疑問があるため、スコアが高くなります。

  • モバイルCookieが完全に無効な場合には、ユーザーが新規であることを表し、新しいデバイスIDが発行されてスコアは200になります。

  • モバイルCookieが存在しない場合には、すべてが無効化されているためにユーザーが常にモバイルCookieからではない可能性を意味し、OAAMはデバイスが常にモバイルCookieなしかどうか確認を試み、標準デバイスIDを割り当てます。

OAAMモバイル・デバイスIDポリシーの詳細は、10.5.3項「OAAMモバイル・デバイスIDポリシー」を参照してください。

E.2.2.3 OAAMデバイスIDポリシー

OAAMデバイスIDポリシーにより、デバイスを既存IDによって識別するか新しいIDを発行するかが決定されます。これには10個のルールがあります。

「デバイスID」ポリシーで確認されるのは、ブラウザCookieが有効か、Flash Cookieが有効か、Flashが完全に無効か、Flashが存在するか、ブラウザ・フィンガープリントが一致するか、Flashフィンガープリントが一致するか、Cookieが一致するか、などのルールです。ルールは特定の条件を検索します。デバイス識別をカスタマイズしている場合には、これらのルールを使用できるか、カスタム開発を通じて完全に新しいルールを使用できます。

OAAMデバイスIDポリシーには、10個のルールがあります。

  • 「ブラウザCookie有効」ルールには、「デバイスID: ブラウザCookie有効」条件が含まれています。

    「デバイスID: ブラウザCookie有効」条件は、指定したデバイス値に有効なCookieノードがあるかどうかを判別します。

  • 「Flash Cookie有効」ルールには、「デバイスID: Flash Cookie有効」条件が含まれています。

    「デバイスID: Flash Cookie有効」条件は、指定したCookie値に有効なノードが存在するかどうかを判別します。

  • 「Flash Cookie無効」ルールには、「デバイスID: Flash Cookie無効」条件が含まれています。

    「デバイスID: Flash Cookie無効」条件は、履歴に基づいてユーザーのCookieが無効かどうかを判別します。

  • 「ブラウザCookie無効」ルールには、「デバイスID: ブラウザCookie無効」条件が含まれています。

    「デバイスID: ブラウザCookie無効」条件は、履歴に基づいてユーザーのブラウザが無効かどうかを判別します。

  • 「ブラウザCookieあり」ルールには、「デバイスID: ブラウザCookieあり」条件が含まれています。

    「デバイスID: ブラウザCookieあり」条件は、Cookie値が空か空でないかを判別します。検証チェックは含まれていません。

  • 「Flash Cookieあり」ルールには、「デバイスID: Flash Cookieあり」条件が含まれています。

    「デバイスID: Flash Cookieあり」条件は、Cookie値が空か空でないかを判別します。検証チェックは含まれていません。

  • 「ブラウザFP一致」ルールには、「デバイスID: ヘッダー・データ一致」条件が含まれています。

    「デバイスID: ヘッダー・データ一致」条件は、ヘッダー・データが一致するかどうかを判定します。

  • 「Flash FP一致」ルールには、「デバイスID: ヘッダー・データ一致」条件が含まれています。

    「デバイスID: ヘッダー・データ一致」条件は、ヘッダー・データが一致するかどうかを判別します。

  • 「Cookie一致」ルールには、「デバイスID: Cookie一致」条件が含まれています。

    「デバイスID: Cookie一致」条件は、両方のCookieのトラッカ・ノードが一致することを確認します。

  • 「Flashデータあり」ルール条件には、「デバイスID: ヘッダー・データが存在します」条件が含まれています。

    「デバイスID: ヘッダー・データが存在します」条件は、ヘッダー・データが存在するかどうかを判別します。

デバイスIDポリシーの動作を示すために、2つのトリガー組合せについて説明します。トリガー組合せの各行は、ポリシーに存在する1つのルールです。各列は、トリガーされる、またはトリガーされないルールの組合せを表します。

図E-11 デバイスIDポリシーのトリガー組合せ1-3

図E-11の説明が続きます
「図E-11 デバイスIDポリシーのトリガー組合せ1-3」の説明

最初の列は、ブラウザ・フィンガープリントが一致、Flashフィンガープリントが一致、Cookieが一致のそれぞれの状況を表します。この場合、生成されるアクションはセキュアCookieによって識別されるOAAMデバイスです。OAAMはそのCookieを使用し、そのCookieを使用する既存デバイスが存在する場合には、OAAMがその特定のデバイスをセッションに割り当てます。

ユーザーが同じデバイスまたは同じブラウザから別のユーザーとしてログインする場合も、Cookieは同様です。ユーザーが別のユーザーとしてログインする場合でも、アクセスするデバイスは同じです。

スコアは使用せずにアクションまたはアラートを生成する方が論理的な場合もあります。列1ではCookieが一致しているため、OAAMはセキュアCookieによって識別されたデバイスを再利用します。

2番目の列は、第2の条件セットです。最初の条件セットが満たされなかった場合、OAAMは2番目の列に進みます。最初の条件セットが満たされた場合、それ以上の列は実行されません。そうでない場合、OAAMは2番目の列に進みます。

一部の列には、たとえば2番目の列でFlash Cookieが一致しなかったがブラウザCookieが一致したなど、条件が満たされても状況に疑問がある場合に生成されるスコアがあります。OAAMはブラウザ・フィンガープリントによってデバイスを識別しますが、デバイスにFlashが存在しない理由は判別できないため、OAAMがスコアを生成します。この場合、Flashが存在しないために疑わしい状況になります。下流でスコアを生成する他のポリシーで、そのスコアが考慮されます(スコアは認証後またはチャレンジ後に使用されます)。これが、デバイス・リスクの程度と呼ばれる、ルールの事前条件です。スコアはこのチェックポイントの結果であり、デバイス識別ではスコアは使用されません。

E.2.3 ネイティブ統合とデバイスID

ルール・エンジンは、ルール結果を配信するのみでなく、デバイスID(このログイン・セッションで使用されたデバイスを示すOracle Adaptive Access Manager内部の識別子)を返すことができます。


注意:

API統合を示すOAAMの最新のサンプル・アプリケーションは、次のOracle Technology Networkからダウンロードできます。

http://www.oracle.com/technetwork/index.html


デバイスIDを取得する.NETのサンプル・コード

次のコードは、デバイスIDの取得方法を示したサンプルです。

VCryptRulesResult rulesResult = proxy.processRules ...);
 
If (!rulesResult.Response.IsSuccess) {
 BharosaTrace.Error("Error running rules " + rulesResult.Response.ErrorMessage);
}
Long deviceId = rulesResult.DeviceId;

重要:

ここに示すコードは、次のことを前提としています。
  • Oracle Adaptive Access Manager 10.1.4.5またはそれ以降を使用している。

  • Oracle Adaptive Access Managerでプロパティbharosa.tracker.send.deviceIdをtrueに設定している。

    bharosa.tracker.send.deviceId=true
    

デバイスIDを取得するJavaのサンプル・コード

次のコード・サンプルで、デバイスIDの取得方法を説明します。

VCryptRulesResult rulesResult = new
VCryptRulesEngineImpl().processRules(<params..>);
 
If (!rulesResult.getVCryptResponse().isSuccess()) {
 
     Logger.error("Error running rules " + 
     rulesResult.getVCryptResponse().getErrorMessage());
 
}
 
Long deviceId = rulesResult.getDeviceId();
 

デバイスIDを取得する際には、次の点に注意してください。

  • Oracle Adaptive Access Managerのバージョンが10.1.4.5またはそれ以上である。

  • プロパティbharosa.tracker.send.devideIdがtrueに設定されていて、デバイスIDが取得可能である。

    bharosa.tracker.send.deviceId=true
    

E.2.4 デバイス識別の拡張

多くの標準的なデプロイメントでは、即時利用可能なデバイス識別によってクライアントの要件が満たされますが、そのプロセスを拡張して、追加情報をフィンガープリントに含める機能が必要になることがあります。即時利用可能なデバイス識別では、ブラウザとOAAM Flashムービーからのデータを使用します。次に、デバイス識別の拡張が必要と思われる標準的なシナリオを示します。

  • クライアント・サイドではFlashをサポートしていないため、OAAM Flashムービーを使用してクライアントの詳細を取得できません。たとえば、iPhone、iPadなどがあります。

  • ブラウザの内部で実行可能な非フラッシュ拡張を使用して、より厳密なデバイス識別データをクライアントから抽出する必要があります。

OAAMの11.1.1.5リリース以降、デバイス識別の拡張に使用でき、ネイティブ統合および非ネイティブ統合の両方で実装可能なフレームワークが用意されています。このフレームワークは、クライアント・サイドの拡張とOAAMサーバーのデバイス識別拡張に分割されています。

E.2.4.1 前提条件

Oracle Adaptive Access Managerでデバイス識別拡張タスクを実行する際の前提条件を、次のリストに示します。

  • カスタム・デバイス識別拡張はJavaを使用して開発する必要があるため、Javaプログラミングの知識を有している必要があります。

  • クライアント・デバイスに関して収集する情報と、その情報収集に使用するテクノロジを決定しておく必要があります。考慮の対象となる代表的なテクノロジは、アプレット、JavaScriptなどです。

  • OAAM拡張共有ライブラリの開発とデプロイのプロセスについて理解しておく必要があります。

    OAAM拡張共有ライブラリの使用方法の詳細は、『Oracle Fusion Middleware Oracle Adaptive Access Manager開発者ガイド』の「OAAM拡張共有ライブラリの使用によるOAAMのカスタマイズ」を参照してください。

E.2.4.2 カスタム・デバイス識別拡張の開発

カスタム・デバイス識別拡張は、Oracle Adaptive Access Manager提供の即時利用可能なデバイス識別を拡張するソフトウェアです。

E.2.4.2.1 クライアント・サイド拡張の実装

クライアント・ブラウザで実行可能なクライアント・サイド拡張の実装では、適切なテクノロジを使用して拡張をコード化します。

クライアント・サイド拡張は、次の要件を満たす場合は任意のテクノロジで実装できます。

  • Webページを変更しなくても、クライアント・サイドのブラウザで実行できます。これは非表示であり、ユーザー・コントロール・フローを変更することはありません。

    クライアント・サイド拡張の実装に選択したテクノロジは、ユーザーのブラウザのコンテキストで実行する必要があります。標準的な選択肢として、Flash、JavaScript、Javaアプレットなどのテクノロジがあります。

  • OAAMサーバーとの通信が可能であり、HTTPプロトコルを使用してデータをポストできます

    標準統合でHTTP POSTメソッドを使用している場合は、フィンガープリント・データとセキュアCookieをOAAMサーバーに送信する必要があります。

  • 特に重要: データのポスト中に既存のOAAMのHTTPセッションが使用できます。これは、デバイス識別が適切に機能するためには特に重要です。

    フィンガープリント処理データをユーザーのログインと関連付けるために、サーバーに送信されるデータはユーザーのセッションのコンテキストで送信する必要があります。これを実行するには、有効なJSESSIONIDが存在している必要があります。

  • 拡張によって収集されるデータ/値のリストによって、クライアント・デバイスが一意に識別されます

    一般に、ユーザーのデバイスで課せられるデータ制約を考慮すると、OAAMにより収集されるフィンガープリントはできるかぎり一意である必要があります。デバイス識別の拡張中は、ユーザーのデバイスを一意に識別する追加データを収集する最大の機会です。

  • 拡張によってCookie等価を取得し、クライアント・コンピュータに格納できます

    セキュアなCookieという概念は、デバイス・フィンガープリント処理プロセスの中核をなすものです。デバイス識別では、OAAMサーバーにより拡張に指定された値を格納および取得する機能をサポートしている必要があります。

  • 拡張では、HTTPポストを使用して、OAAMサーバー上のflashFingerprint.do URLに次のパラメータを送信できます

    注意: この要件は、標準のOAAM実装を使用している場合にのみ該当します。

    表E-4 flashFingerprint.do URLに対するパラメータ

    パラメータの名前 説明

    client

    クライアント拡張の名前。拡張タイプを示す定数値。

    fp

    クライアント・サイドを識別するすべての名前と値のペアが含まれている連結文字列。名前と値のペアは&を使用して連結され、名前と値は=で区切られます。

    例: os_nameとos_versionが拡張によって収集される場合、fp文字列の値はos_name=windows&os_version=7になります。

    <as determined by the implementation>

    クライアント拡張により格納/保持されるCookie等価値を送信します。


E.2.4.2.2 カスタム・デバイス識別拡張に関連するプロパティのOAAM拡張共有ライブラリへの追加

静的な値は、新規の拡張を認識できるようにOAAMサーバー内で定義する必要のあるプロパティに関連しています。

OAAM拡張共有ライブラリの使用方法の詳細は、『Oracle Fusion Middleware Oracle Adaptive Access Manager開発者ガイド』の「OAAM拡張共有ライブラリの使用によるOAAMのカスタマイズ」を参照してください。

カスタム・フィンガープリント・タイプを作成するには、次の手順を実行します。

  1. OAAM拡張共有ライブラリWARのoaam_custom.propertiesファイルを開きます。

  2. 次のプロパティを、列挙要素としてvcrypt.fingerprint.type.enumに追加します。

    注意: <extension-name>を、拡張を表す文字列に置換します。flashとbrowserはOAAM製品ですでに使用されているため、これらの文字列は使用しないでください。

    表E-5 vcrypt.fingerprint.type.enumの要素

    プロパティ名 値の説明

    vcrypt.fingerprint.type.enum.<extension-name>

    100を超える整数値

    vcrypt.fingerprint.type.enum. <extension-name>.name

    拡張を表す名前

    vcrypt.fingerprint.type.enum. <extension-name>.description

    拡張の説明

    vcrypt.fingerprint.type.enum. <extension-name>.processor

    サーバー・サイドにデバイス識別ロジックを実装するプロセッサ・クラスの完全修飾されたJavaクラス名。このクラスの実装方法の詳細は、次の項を参照してください。

    vcrypt.fingerprint.type.enum. <extension-name>.header_list

    クライアント・サイドの拡張により収集されるデータのカンマ区切りリスト。

    vcrypt.fingerprint.type.enum. <extension-name>.header_name_nv

    データおよびデータの読取り可能な名前のカンマ区切りリスト。

    vcrypt.fingerprint.type.enum. <extension-name>. header_value_nv

    値と値の読取り可能な文字列とのマッピングのカンマ区切りリスト。

    bharosa.uio.default.device.identification.scheme

    <extension-name>

    注意: OAAMでカスタム・デバイス認証を使用するために非常に重要です。


  3. フィンガープリント・スキームをフィンガープリント・タイプの列挙要素ID/キーに設定します。

    例:

    bharosa.uio.default.device.identification.scheme=flash

次のFlashフィンガープリント・タイプを例として示します。

vcrypt.fingerprint.type.enum.flash=2
vcrypt.fingerprint.type.enum.flash.name=Flash
vcrypt.fingerprint.type.enum.flash.description=Flash
vcrypt.fingerprint.type.enum.flash.processor=
    com.bharosa.uio.processor.device.FlashDeviceIdentificationProcessor
vcrypt.fingerprint.type.enum.flash.header_list=
    avd,acc,a,ae,ev,ime,mp3,pr,sb,sp,sa,sv,tls,ve,deb,l,lfd,m,os,ar,pt,col,dp,r,v
vcrypt.fingerprint.type.enum.flash.search_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.result_list=deb,l,os,v
vcrypt.fingerprint.type.enum.flash.header_name_nv=
    avd,Audio/Video disabled by user,acc,Has accessibility,
    a,Has audio,ae,Had audio encoder,ev,Embedded video, 
    ime, Has input method editor (IME) installed,
    mp3, Has MP3, pr, Supports printer,   
    sb, Supports screen broadcast applications,
    sp, Supports playback on screen broadcast applications, 
    sa, Supports streaming audio,
    sv, Supports streaming video, tls, Supports native SSL,
    ve, Contains video encoder, deb, Debug version, l, Language, lfd,
    Is local file read disabled, m, Manufacturer, os, Operating System, 
    ar, Aspect ratio of screen, pt, Player type, col, Is screen color,
    dp, Dots-per-inch (DPI), r, Screen resolution, v, Flash version
#vcrypt.fingerprint.type.enum.flash.header_value_nv=t,true,f,false

vcrypt.fingerprint.type.enum.flash.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
E.2.4.2.3 DeviceIdentification拡張クラスの拡張/実装

DeviceIdentification拡張クラス、com.bharosa.uio.processor.device.DeviceIdentificationProcessorBaseを拡張し、この項で説明するメソッドを実装します。サーバー・サイドの拡張により、必要なメソッドがすべて拡張されます。

E.2.4.2.4 getPlugInHTML

public String getPlugInHTML();

実装により、ログイン・ページに埋め込める有効な拡張HTMLが返されます。このHTMLでは、サポートしているテクノロジがクライアントで使用できなかったり、無効になっている場合に、例外を処理できる必要があります。

次に、拡張HTMLの例を示します。

<applet alt="Browser has Java disabled" name="OAAMDeviceIdentifier" width="0" 
        height="0" 
        code="com.bharosa.uio.processor.device.SampleAppletDeviceIdentifierClient"
        codebase="applet"
        archive="oaam_device_sample_applet.jar">
</applet>

注意: このメソッドは、ユーザーがログイン・ページに移動したときにoaamLoginPage.jspによりコールされます。

E.2.4.2.5 getFingerPrint

public String getFingerPrint();

このメソッドにより、拡張によって送信されたデータを使用してクライアント・デバイスを識別する、一意のフィンガープリントを作成するロジックが実装されます。

このメソッドは、クライアント・サイドの拡張からデバイス識別データがOAAMサーバーに送信されるときにコールされます。

このメソッドは、UIOContext.getCurrentInstance().getRequestをコールしてHttpServletRequestオブジェクトへのハンドルを取得し、クライアント拡張により送信されたデータを読み取ります。

前の項で説明したように、クライアント拡張は、データ・ポイントのリストをfpリクエスト・パラメータの値として1つの文字列で送信します。

このクラスは、この文字列をトークン化してデータ・ポイントとその値のリストを判別します。

E.2.4.2.6 getDigitalCookie

public String getDigitalCookie();

実装により、クライアント拡張から送信されたFlash Cookieが返されます。クライアントとサーバーでは、Flash Cookieを示すHttpパラメータが指定されます。

このメソッドは、UIOContext.getCurrentInstance().getRequestをコールしてHttpServletRequestオブジェクトへのハンドルを取得し、クライアント拡張により送信されたデータを読み取ります。

E.2.4.2.7 getClientDataMap

public Map getClientDataMap(HttpServletRequest request);

実装により、リクエストからデータが読み込まれ、ロギングまたは監査の目的で使用できるマップに格納されます。

E.2.4.3 相互作用の概要

次に、デバイス識別拡張の動作と、OAAMサーバーとの相互作用の概要を示します。

  1. ユーザーは、OAAMサーバー上のOAAMユーザー・ログイン・ページに移動します。

  2. OAAMサーバーは、デバイス識別構成を使用して、デバイス識別拡張クラスを適切にインスタンス化します。さらに、拡張クラスに、ユーザー・ログイン・ページに埋め込む必要のあるHTMLを要求します。OAAMサーバーは、ユーザー・ログイン・ページをデバイス識別拡張HTMLとともに返します。

  3. ログイン・ページがレンダリングされると、クライアント・ベースの拡張がアクティブになり、デバイスに関する情報が収集されます。

  4. クライアント拡張は、収集されたデータをOAAMサーバー上のデバイス識別URLに送信します。

  5. OAAMサーバーはデバイス識別拡張をコールして、クライアント拡張から収集したデータに基づき、フィンガープリントを取得します。

  6. さらに、フィンガープリントが既存のデバイスに対応しているかどうかを確認します。対応していない場合は、デバイスを新規に作成して、そのデバイスにフィンガープリントを関連付けます。

  7. OAAMサーバーはデバイス識別拡張をコールして、Flash Cookieを取得します。Flash Cookieが存在しない場合は、新規に作成されます。

  8. Flash Cookieがクライアント拡張に返されて、クライアント・システムに格納されます。

  9. ユーザーIDを入力すると、Flash CookieまたはブラウザCookie、またはその両方を使用して、ユーザー・リクエストがデバイスに関連付けられます。

  10. 認証後に(成否にかかわらず)、ユーザー・リクエストが認証結果で更新されます。

  11. 今後のログインで同じデバイスを使用する場合は、フィンガープリント処理をしなくても、Flash Cookieを使用してデバイスを検索できます。

E.2.4.4 コンパイル、アセンブルおよびデプロイ

カスタム・デバイス認証拡張クラスをコンパイルし、OAAM拡張共有ライブラリをアセンブルします。

OAAM拡張共有ライブラリの使用方法の詳細は、『Oracle Fusion Middleware Oracle Adaptive Access Manager開発者ガイド』の「OAAM拡張共有ライブラリの使用によるOAAMのカスタマイズ」を参照してください。

E.2.4.5 拡張の実装に関する重要な注意

拡張を実装する際、次の点に留意してください。

  • カスタム・デバイス識別クラスによってクライアント・サイド拡張のアクティブ化に必要な有効なHTMLが出力されることを確認します。

  • クライアント・サイド拡張が、既存のHTTPセッションを使用してOAAMサーバーにデータをポストすることを確認します。

E.3 ユース・ケース

新規デバイス

ユース・ケース 説明
セキュアなCookieとFlash Cookieの両方が有効化されています。 セキュアなCookieとFlash Cookieの両方が欠落しています。Flashリクエストが正常に受信されました。
セキュアなCookieとFlash Cookieの両方が無効化されています。 ユーザーはこのロケーションからデバイスを以前に使用していません。
セキュアなCookieは有効化されており、Flash Cookieは無効化されています。 セキュアなCookieとFlash Cookieの両方が欠落しています。また、Flashリクエストは正常に受信されませんでした。
セキュアなCookieは無効化されており、Flash Cookieは有効化されています。 セキュアなCookieとFlash Cookieの両方が欠落しています。ただし、Flashリクエストは正常に受信されました。

認識されたデバイス

ユース・ケース 説明
セキュアなCookieとFlash Cookieの両方が有効化されています。 セキュアなCookieとFlash Cookieの両方が受信されました。
セキュアなCookieとFlash Cookieの両方が無効化されています。 セキュアなCookieとFlash Cookieの両方が欠落しています。また、Flashリクエストは正常に受信されませんでした。
セキュアなCookieは有効化されており、Flash Cookieは無効化されています。 セキュアなCookieのみが正常に受信されました。
セキュアなCookieは無効化されており、Flash Cookieは有効化されています。 Flash Cookieのみが正常に受信されました。

有効な例外

ユース・ケース 説明
ブラウザがアップグレードされました。 ブラウザの特性が一致していません。
デバイスがアップグレードされました。 Flashデータが一致していません。
ブラウザおよびデバイスがアップグレードされました。 ブラウザとFlashデータの両方が一致していません。
別のブラウザが使用されました。セキュアなCookieが欠落しています。 セキュアなCookieが欠落しています。ブラウザの特性が一致していません。Flash Cookieが一致していません。Flashデータが一致しています(ブラウザは除外)。
ユーザーが異なるブラウザです。Cookieとブラウザの特性の両方が一致していません。 セキュアなCookieが一致していません。ブラウザの特性が一致していません。Flash Cookieが一致していません。Flashデータが一致しています(ブラウザは除外)。
セキュアなCookieは非同期であり、Flash Cookieは同期されています。 セキュアなCookieが一致していませんが、同じデバイスに属していました。
Flash Cookieは非同期であり、セキュアなCookieは同期されています。 Flash Cookieが一致していませんが、同じデバイスに属していました。
セキュアなCookieとFlash Cookieの両方が非同期です。 両方のCookieが一致していませんが、同じデバイスに属していました。

デバイス・リスクの程度

これらのユース・ケースはOracle Adaptive Access Managerのデバイス・リスクの程度を定義するのに役立ちます。デバイス・リスクの程度により、識別されるデバイスの確実性を指定します。これは、すべてのデバイス・タイプ・ルールにおける標準的な事前条件です。たとえば、デバイス・リスクの程度が0であることは完全一致を示し、デバイス・リスクの程度が500である場合は、前のセッションとの妥当な差異がある予期しないデバイスであること示し、スコアが1000である場合は、識別を行うのに最小限の一致データのみを持つデバイスであることを示します。

E.4 デバイスのフィンガープリント処理のトラブルシューティング

次に示すような情報を収集すると、デバイスのフィンガープリント処理の問題をトラブルシューティングする際に役立ちます。

  1. 説明されているユース・ケースは、設計されたとおりのOAAM機能ですか。

  2. デバイスのフィンガープリント・ポリシーがロードされていますか。

  3. これがJAVA/.Net/SOAP統合の場合、デバイスのフィンガープリントのAPIコールはサンプル・アプリケーションおよびドキュメント内の順序と同一または類似していますか。

  4. これがJAVA/.Net/SOAP統合の場合、デバイスのフィンガープリントに対する既知のバグ修正を含むすべてのパッチが適用されていますか。

  5. 正しい手順とデータを確認します。

    データを収集するには次のSQLコマンドを実行します。

    select * from VCRYPT_TRACKER_USERNODE_LOGS where USER_LOGIN_ID=loginId and 
    CREATE_TIME > beginTime and CREATE_TIME < endTime;
    
  6. ブラウザとクライアント・アプリケーション、および関連するエンド・ポイント・マシンの設定に注意してください。Cookieは有効になっていますか。Flashはインストールされていますか。

  7. オペレーティング・システムやブラウザのアップグレードなど、説明されていないユース・ケース手順があったかどうかを判断します。

  8. HTTPヘッダー・トレースを収集します。CookieおよびFlashオブジェクトは必要なときに欠落していますか。

E.5 デバイス識別とフィンガープリント処理でよくある質問

この項では、デバイス識別とフィンガープリント処理についてよくある質問に対する回答を示します。

  • 質問: 同じマシンからMozilla FirefoxにアクセスするときとInternet Explorerにアクセスするときとで、デバイスIDは変わりますか。

    回答: デバイスIDは変わりません。

  • 質問: デバイスIDは多くの要素に基づいて作成されます。他のデバイスIDを取得するとき、変更する要素は何ですか。

    回答: ブラウザで、OAAMによって設定されるCookieを使用するか、すべてのCookieをクリアしてください。

  • 質問: 最初にトップ・レベルを調べ、デバイスIDを詳細に調べるかどうか、ポリシーはどのように判定するのですか。

    回答: デバイスIDポリシーには、Cookieに基づいてデバイスが一致するかどうかを調べるデシジョン・ツリーがあります。Cookieが一致する場合、詳細な分析は実行されません。Cookieが一致しない場合、Flashまたはブラウザ・データが提供する各要素をポリシーがチェックし、一定比率の一致があるかどうか、どの一致が必要かなどを確認します。

  • 質問: 同じデバイスIDを使用するか、新しいデバイスIDを使用するかは、何によって決定されますか。

    回答: Cookieまたは分析によってデバイスがポジティブに一致する場合、OAAMは同じデバイスIDを使用します。一方、OAAMのデバイスがどれもそのプロファイルに一致しない場合、OAAMは新しいデバイスIDを作成します。これは、デバイスIDポリシーで決定されます。

  • 質問: デバイスIDルールをすべて無効にした場合は、どうなりますか。デバイスIDが0になりますか。

    回答: 同じデバイスIDがすべてのデバイスで使用されます。

  • 質問: デバイスIDルールをすべて無効にした場合は、どうなりますか。デフォルト値は何ですか。

    回答: これは、デバイス表の現在の連番によって異なり、通常は空のデータベースで1から始まります。

  • 質問: 新しいクライアントに基づいて、フィンガープリントはどのように作成されますか。

    回答: フィンガープリントは、name=valueペアで構成されます。新しいクライアントの場合、フィンガープリントの列挙で予期される属性名を指定する必要があります。この場合、OAAMはクライアント・データでそれらの名前を検索し、名前で指定した属性のすべての値で一意の組合せが最初に見つかった時点でフィンガープリントが生成されます。

  • 質問: ブラウザ以外のクライアントがあり、まったく新しいクライアントを作成する場合にはどうなりますか。そのような値はどのルールと条件で評価できますか。

    回答: 前述の回答を参照してください。フィンガープリントの作成は、データの元がブラウザかそうでないかに依存しません。ブラウザ・ベースではないフィンガープリントの代表例が、Oracle Mobile and Socialです。

  • 質問: ルールが構成どおりに動作しません。構成に基づくと、フィンガープリントは何で定義され、新しいデバイス・タイプを追加するにはどのくらいのポリシー作業が必要ですか。

    回答: 新しいデバイス・タイプを定義する場合、デバイス・タイプの列挙に追加したうえで、その新しいデバイスIDを作成する必要があります。

    たとえば、新しいデバイス・タイプが「ATMマシン」で、それに対して新しいフィンガープリント・タイプを定義する必要がある場合には、そのデータ(name=value)をデジタル・データとして指定し、新しい一意のデバイスの識別方法を定めるデバイスIDポリシーを記述します。この新しいデバイス・タイプの列挙には、既知のヘッダー情報を追加する必要があります。例については、既存のデバイス・タイプを参照してください。

  • 質問: 新しいカスタム・アプリケーションがあるとき、新しいフィンガープリント・タイプはどのように設定しますか。別のパラメータを設定する必要がありますか。

    回答: 新しいフィンガープリントを設定するには、fingerprint.type.enumの列挙を使用して新しいフィンガープリント・タイプを定義し、それに値を追加します。そのアプリケーションの各パラメータが、新しいフィンガープリント・タイプの新しい属性になります。

    parameter_name = some_valueがあるヘッダーの一部としてデータを受け取った場合、OAAMは一意の組合せを確認した時点でフィンガープリントを作成します。

  • 質問: セッションを作成するOAAM APIは、フィンガープリント・データをパラメータにとります。そのパラメータを渡せるAPIは何ですか。

    回答: そのAPIは、createOAAMSession(….)です。このAPIの詳細は、Oracle Fusion Middleware Oracle Adaptive Access Manager Java APIリファレンスを参照してください。

  • 質問: セッション要素を導入すると、セキュアCookie盗難はどのように防止されますか。OAAMはバックエンドのAdaptiveストアでユーザーごとの各デバイスのセッションIDを管理する必要はありますか。

    回答: Cookieは盗み出せますが、1回かぎり使用されるのCookieです。したがって、2つの可能性があります。

    1. 本物のユーザーがすでにCookieを1回は使用しており、システムが古いCookieを更新した(変更または使い切った)ため、無効になった、または、

    2. 不正行為者が本物のユーザーより前にCookieを使用している。ハッカーがユーザーを欺いて1回かぎりのCookieを使用する可能性はありますが、不正行為者ではデバイスのフィンガープリントが異なるため、ユーザーのKBA質問に回答する必要があります。

    不正行為者が先にCookieを使用して成功する(その可能性はほぼありませんが)可能性を考慮すると、本物のユーザーがCookie無効の警告を受け取り、不正扱いされる可能性はあります。本物のユーザーはパスワードを変更するなどの対策が可能です。

  • 質問: 組合せと予期される動作も含めたデバイス・フィンガープリント表は用意されていますか。

    回答: デバイス表はVcrypt_Tracker_Nodeです。

    この表には、「デジタル・フィンガープリントID」(Flash)と「フィンガープリントID」(ブラウザ)の各列があります。VCrypt_Fingerprint表を参照すると、デバイス表で指定されるフィンガープリントIDの値もわかります。たとえば、デバイス表でフィンガープリントの値が23であるとします。V_Fprints表で、fprint_id = 23に一致する行を探すと、そのフィンガープリントに対して取得されたデータの値とハッシュ値がわかります。

  • 質問: デバイスIDポリシーはどのように機能しますか。

    回答: デバイスIDポリシーも、機能は他のポリシーと同じです。一定のルールに基づいて、デバイスIDポリシーが規定する一連のアクションがあります。着信セッションに新しいデバイスと既存のデバイスのどちらを割り当てるかが、これらのアクションによって決まります。

  • 質問: デフォルトのOAAMデバイスIDポリシーには、デバイスでCookieが無効かどうかを確認するルールがあります。Cookie無効のルールに基づいて、OAAMは最新の5つのデバイスを調べます。6回目のログインからユーザーが常に空のCookieを渡す場合でも、このルールに基づいて古いデバイスIDが再利用されます。調べられるデバイスの数は変更可能ですか。

    回答: この値は、vcrypt.tracker.rule.cookiePatternCheck.previousAttemptsToCheckプロパティを使用して構成できます。値の範囲は2以上98以下です。

  • 質問: NULLのセキュアCookie/Flash Cookieに対して、デバイス・フィンガープリント処理はどのように実行されますか(標準デバイス識別ポリシーの場合)。

    回答: Flash Cookieが存在しなければ、ブラウザCookieとヘッダーに基づいて実行されます。

E.5.1 カスタム属性のユース・ケース

次に、カスタム・フィンガープリントのデプロイ方法およびその動作を示すユース・ケースを示します。

E.5.1.1 カスタム属性が使用可能な場合

MikeはAcme CorpのWebアプリケーション開発者です。Mikeは、エンド・ユーザーのマシンのMACアドレスを取得し、ブラウザ/サーバー間相互作用の一環として取得したアドレスをOAAMサーバーに送信するブラウザ拡張機能を開発しました。OAAMデバイスのフィンガープリント処理が、媒体アクセス制御アドレス(MACアドレス)をデジタル・フィンガープリントとして使用するよう設定され、エンド・ユーザーが拡張機能をインストールしている場合、OAAM管理コンソールの詳細ページには、「デジタル・フィンガープリント」とラベルされたMACアドレスが表示されます。

E.5.1.2 カスタム属性が使用不可でFlashがインストールされていない場合

Acme Corporationのデプロイメントにおいて、エンド・ユーザーが拡張機能をインストールしておらず、Flashをインストールしていない場合、OAAMデバイスのフィンガープリント処理では、セキュアなCookieおよびブラウザ・データのみがデバイスのフィンガープリント処理に使用されます。OAAM管理コンソールの詳細ページには、「デジタル・フィンガープリント」として何も表示されません。

E.5.1.3 カスタム属性の検索

JeffはAcme Corpのセキュリティ・アナリストです。Jeffは「トランザクションの検索」ページを開き、検索フィルタを構成して、特定の媒体アクセス制御アドレス(MACアドレス)を使用してニューヨークから過去24時間に行われた、任意の従業員プロファイルによるデバイスからのアクセス・トランザクションを検索します。この問合せにより25個のトランザクションが返されます。

E.5.1.4 Flash Cookieをクリア

Oracle Adaptive Access Managerは、デバイスのフィンガープリントを開発するために1つの要素にのみ依存しているわけではありません。Flash Cookieがクリアされても、Oracle Adaptive Access Managerは、デバイスの識別に他の情報を使用します。OAAMでは標準FSOのみがサポートされていますが、カスタム・クライアントを使用することもできます。OAAMでは、デジタル・フィンガープリントが変更されていても、デバイスを一意に識別できます。OAAMには、すべてのフィンガープリント(ブラウザ、Flashまたはアプレット)が欠落している場合に備えて、使用されているデバイスを識別するなんらかのクライアント・フィンガープリント・デバイスが必要です。

E.5.1.5 Secure Cookiesを削除しましたか。

Oracle Adaptive Access Managerのフィンガープリント処理テクノロジは、1つの要素にのみ依存しているわけではありません。Oracle Adaptive Access Managerでは、数多くの属性を使用して、通常ログインに使用されるデバイスの認識とフィンガープリント処理を行うことによって、機関のカスタマ基盤の対応範囲を拡大します。セキュアなCookieが欠落したり無効化されている場合、Oracle Adaptive Access Managerでは、デバイスの識別にFlashムービーやHTTPヘッダーなどの、他の要素を使用します。