JP6640869B2 - スマートイメージを使用したフィッシング対策のための方法およびシステム - Google Patents

スマートイメージを使用したフィッシング対策のための方法およびシステム Download PDF

Info

Publication number
JP6640869B2
JP6640869B2 JP2017548385A JP2017548385A JP6640869B2 JP 6640869 B2 JP6640869 B2 JP 6640869B2 JP 2017548385 A JP2017548385 A JP 2017548385A JP 2017548385 A JP2017548385 A JP 2017548385A JP 6640869 B2 JP6640869 B2 JP 6640869B2
Authority
JP
Japan
Prior art keywords
mobile device
image
service
location
access code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017548385A
Other languages
English (en)
Other versions
JP2018512106A5 (ja
JP2018512106A (ja
Inventor
アナントハラジュ,ギリッシュ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2018512106A publication Critical patent/JP2018512106A/ja
Publication of JP2018512106A5 publication Critical patent/JP2018512106A5/ja
Application granted granted Critical
Publication of JP6640869B2 publication Critical patent/JP6640869B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords

Description

発明の背景
本発明の実施形態は、一般に、オンラインでの交流に関わる当事者間の信用を構築するための方法およびシステムに関し、より特定的には、場合によっては認証情報を含み得る位置ベースの非静止フィッシング対策画像を使用することに関する。
オンライン活動、特にオンライン取引が増加し続けるにつれて、オンライン詐欺および悪巧みの発生率が、それを上回るとまではいかなくても等しいペースで増加している。たとえば、フィッシング活動は、しばしば、特定の、おそらく周知の企業または他のエンティティからのものであると称した(たとえば、「スパム」電子メールメッセージ、テキストメッセージ、VoIPコール、インスタントメッセージなどによる、および他のデバイスを介した)消費者の大量の接触を伴い、一般に、接触してきた消費者を応答サイトに仕向け、応答サイトは、しばしばウェブサイトであるが電話番号などである場合もある。応答サイトは、メッセージによって示される企業またはエンティティのものであるように見えるかもしれないが、しかし不正なものであり、当該企業または他のエンティティとは関係がない。それどころか、サイトは、消費者がパスワード、口座番号などの個人情報を提供するように誘い込むように設計されており、当該個人情報はその後、フィッシングサイトを運営する犯罪者によって使用される可能性がある。
フィッシング攻撃を防止するために、信用を構築してエンドユーザに正しいウェブサイトを訪れたことを保証するための方法として、多くのまたは大半のオンラインソリューションは現在フィッシング対策画像を使用している。たとえば、ユーザは、特定の企業または他のエンティティの既知のサイトに登録すると、特定の画像を選択または提供することができる。このサイトを将来訪れるときに、一般的にはログインプロセスの一部として、サイトが実際に同一の信用できるサイトであることの手早く簡単な視覚的確認として、この画像がユーザに提供され得る。しかし、大半のオンラインソリューションで使用されている現行のフィッシング対策画像は、静止画像である。したがって、使用されている画像をハッカーが盗むまたは突き止めることができる場合には、フィッシングサイトをセットアップしてユーザ情報を収集することはハッカーにとって依然として比較的容易である。さらに、二次的認証として使用されている知識ベースの認証、ショートメッセージサービス(Short Message Service:SMS)によって提供されるワンタイムパスワード(One Time Passwords:OTP)もしくは電子メールOTP、またはこれらの方法の組み合わせには、それら自体の制約がある。したがって、オンラインでの交流に関わる当事者間の信用を構築するための改良された方法およびシステムが必要である。
発明の簡単な概要
本発明の実施形態は、フィッシング対策画像を使用するためのシステムおよび方法を提供する。一実施形態に従って、フィッシング対策画像を使用することは、サービスの登録機能を提供することを備え得る。当該登録機能は、複数のフィッシング対策画像からのフィッシング対策画像の選択を提供し得る。当該登録機能は、フィッシング対策画像の選択、および、登録機能のアクセス中にモバイルデバイスによって判断および提供される位置を示す位置情報を受信し得る。選択されたフィッシング対策画像および受信された位置情報は、登録位置として保存され得る。別のときに、サービスへのアクセス要求が受信され得る。保存されたフィッシング対策画像および登録位置は、当該要求およびサービスに対するアクセスプロセスに応答して、検索取得され、使用され得る。
たとえば、要求およびサービスに対するアクセスプロセスに応答して、検索取得されたフィッシング対策画像および登録位置を使用することは、固有のアクセスコードを生成することと、生成された固有のアクセスコードをフィッシング対策画像に付加することと、登録位置を使用して、付加された固有のアクセスコードでフィッシング対策画像を暗号化することと、受信されたサービスへのアクセス要求に応答して、暗号化されたフィッシング対策画像を提供することとを備え得る。モバイルデバイスは、暗号化されたフィッシング対策画像を受信し、モバイルデバイスの現在位置に基づいてモバイルデバイスによって判断された位置情報で、暗号化されたフィッシング対策画像を復号化し、復号化されたフィッシング対策画像を提示し得て、場合によっては、復号化されたフィッシング対策画像からサービスまたは別のデバイスにアクセスコードを提供してもよい。次に、サービスは、モバイルデバイスまたは他のデバイスから応答を受信し得る。当該応答は、アクセスコードを含み得る。受信されたアクセスコードが生成された固有のアクセスコードと一致したことに応答して、サービスへのアクセスが許可され得る。
別の例では、要求およびサービスに対するアクセスプロセスに応答して、検索取得されたフィッシング対策画像および登録位置を使用することは、登録位置をハッシュすることと、ハッシュされた登録位置をフィッシング対策画像のヘッダに付加することと、フィッシング対策画像をモバイルデバイスに提供することとを備え得る。モバイルデバイスは、フィッシング対策画像をモバイルデバイスにおいて受信し、受信されたフィッシング対策を提示し、モバイルデバイスの現在位置のハッシュを生成し、フィッシング対策画像のヘッダにおいて受信されたハッシュされた登録位置がモバイルデバイスの現在位置の生成されたハッシュと一致するか否かを判断し得る。フィッシング対策画像のヘッダにおいて受信されたハッシュされた登録位置がモバイルデバイスの現在位置の生成されたハッシュと一致したことに応答して、モバイルデバイスは、アクセスコードを要求し得る。サービスは、サービスへのアクセス要求をモバイルデバイスから受信し、サービスへのアクセスに使用可能な固有のアクセスコードをモバイルデバイスに提供し得る。
本発明のさまざまな実施形態が実現され得る例示的な分散型システムのコンポーネントを示すブロック図である。 本発明の実施形態によって提供されるサービスがクラウドサービスとして提供され得るシステム環境のコンポーネントを示すブロック図である。 本発明の実施形態が実現され得る例示的なコンピュータシステムを示すブロック図である。 本発明の一実施形態に係るフィッシング対策画像を使用するためのシステムのハイレベル機能コンポーネントを示すブロック図である。 本発明の一実施形態に係るフィッシング対策画像を登録するためのプロセスを示すフローチャートである。 本発明の一実施形態に係るフィッシング対策画像を使用するためのプロセスを示すフローチャートである。 本発明の一実施形態に係るフィッシング対策画像を使用するためのプロセスのさらなる詳細を示すフローチャートである。 本発明の別の実施形態に係るフィッシング対策画像を使用するためのプロセスのさらなる詳細を示すフローチャートである。
発明の詳細な説明
以下の記載では、説明を目的として、本発明のさまざまな実施形態が完全に理解されるように多数の具体的な詳細が記載されている。しかし、これらの具体的な詳細のうちのいくつかがなくても本発明の実施形態は実施可能であるということは当業者に明らかであろう。他の例では、周知の構造および装置はブロック図の形式で示されている。
以下の説明は、例示的な実施形態を提供しているに過ぎず、本開示の範囲、適用範囲または構成を限定することを意図したものではない。むしろ、以下の例示的な実施形態の説明は、例示的な実施形態を実現するための実施可能な説明を当業者に提供するものである。添付の特許請求の範囲に記載されている本発明の精神および範囲を逸脱することなく、要素の機能および配置をさまざまに変更できることが理解されるべきである。
以下の説明では、実施形態が完全に理解されるように具体的な詳細が記載されている。しかし、これらの具体的な詳細がなくても実施形態は実施可能であるということが当業者によって理解されるであろう。たとえば、不必要な程に詳細に実施形態を曖昧にすることのないように、回路、システム、ネットワーク、プロセスおよび他のコンポーネントは、ブロック図の形式でのコンポーネントとして示されてもよい。他の例では、実施形態を曖昧にすることを回避するために、周知の回路、プロセス、アルゴリズム、構造および技術は、不必要な詳細なしで示されてもよい。
なお、また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして説明してもよい。フローチャートは動作をシーケンシャルなプロセスとして説明することができるが、多くの動作は並列または同時に実行されてもよい。さらに、動作の順序は並べ替えてもよい。プロセスは、その動作が完了すると終了するが、図に含まれていないさらなるステップを有していてもよい。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが機能に対応する場合、その終了は、呼出し機能またはメイン機能への機能の戻りに対応し得る。
「機械読取可能な媒体」という語は、命令および/またはデータを記憶したり、含んでいたり、または伝えたりすることができる携帯型または固定式のストレージデバイス、光学式ストレージデバイスおよびさまざまな他の媒体を含むが、これらに限定されるものではない。コードセグメントまたは機械実行可能な命令は、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造もしくはプログラム文のいずれかの組み合わせを表し得る。コードセグメントは、情報、データ、引数、パラメータまたはメモリコンテンツを受け渡すおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受け渡し、トークン受け渡し、ネットワーク送信などを含む任意の好適な手段によって受け渡されたり、転送されたり、または送信されたりしてもよい。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらのいずれかの組み合わせによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実現される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、機械読取可能な媒体に記憶されてもよい。プロセッサが必要なタスクを実行してもよい。
本発明の実施形態は、フィッシング対策画像を使用するためのシステムおよび方法を提供する。より具体的には、本発明の実施形態は、場合によっては認証情報を含み得る位置ベースの非静止フィッシング対策画像を使用することを提供する。一実施形態に従って、信用できるモバイルデバイスを有するユーザは、オンラインサービスまたはアプリケーションへの加入中に特定の位置に行く可能性がある。この位置は、モバイルデバイスによって、たとえばグローバルポジショニングシステム(Global Positioning System:GPS)受信機および/または他の位置検出技術によって検出することができる。この位置は、検出されると、モバイルデバイスによって、ユーザが登録しているサービスまたはアプリケーションに提供され、サービスまたはアプリケーションによって「秘密の位置」として保存されることができる。また、加入中に、ユーザはフィッシング対策画像を選択することができる。位置情報は、保存されると、フィッシング対策および認証目的に使用することができる。
たとえば、位置情報は、サービスまたはアプリケーションによって、フィッシング対策画像を暗号化することに使用することができ、当該フィッシング対策画像は、モバイルデバイスまたは他のコンピューティングデバイスに送られることができ、当該モバイルデバイスまたは他のコンピューティングデバイスは、ユーザがサービスまたはアプリケーションにアクセスしようとするたびに暗号化された画像をモバイルデバイスに転送する。画像がモバイルデバイスによって取得されると、モバイルデバイスは、その現在位置を検出して、当該現在位置を使用して画像を復号化しようとすることができる。モバイルデバイスが登録時と同一の「秘密の位置」にある場合またはときには、画像は適切に復号化されて、当初選択された画像として、認識可能な形式でユーザに提示されることができる。さらに、場合によっては、画像は、サービスまたはアプリケーションによって、暗号化の前にワンタイムパスワード(OTP)またはコンピュータと人間を区別する完全に自動化された公開チューリングテスト(Completely Automated Public Turing test to tell Computers and Humans Apart:CAPTCHA)コードなどのコードでマークを付けられてもよい。たとえば、画像が暗号化される前に、コードが生成されて透かしまたはオーバーレイとして画像に付加されてもよい。画像がモバイルデバイスによって復号化されると、ユーザは、このコードを使用してサービスまたはアプリケーションのログインおよび/または認証プロセスを完了することができる。
別の例では、ユーザがサービスまたはアプリケーションにアクセスしようとするたびに、暗号化されていない当初の形式であるが保存された位置情報の暗号化またはハッシュされたバージョンがそのヘッダに含まれている画像が、サービスまたはアプリケーションによってユーザに提供されてもよい。モバイルデバイスが登録時と同一の「秘密の位置」にあると、ヘッダ内の位置情報は、モバイルデバイスによって適切に復号化され、モバイルデバイスによって、OTPまたはCAPTCHAコードを含む新たな画像をサービスまたはアプリケーションから取得することに使用することができ、次いで、ユーザは、当該コードを使用してサービスまたはアプリケーションのログインおよび/または認証プロセスを完了することができる。
いずれにしても、登録中に取得された位置情報は、フィッシング対策画像をセキュリティ上さらに安全なものにすることだけでなく、弱い知識ベースの認証方法およびSMSまたは電子メールOTPタイプの認証方法に取って代わることにも使用することができる。本明細書に記載されている実施形態は、セキュリティの強化が必要または妥当である状況で使用することができ、特定の物理的位置に関係付けることができる。たとえば、企業システムまたはアプリケーションへのアクセスは、ユーザのオフィスに関係付けられ、それに限定されてもよい。登録情報の変更などの、ユーザが登録するアプリケーションまたはサービスの特定の機能は、登録中に使用される特定の位置に限定されてもよい。たとえば、オンラインバンキングまたは他の同様のサービスは、モバイルデバイスの現在位置に基づいてユーザが自分の家などの登録位置にいると判断される場合にのみ、口座情報または転送を起動して利用可能にするような特定の機能へのアクセスを制限してもよい。図面を参照して、本発明の実施形態のさまざまなさらなる詳細について以下で説明する。
図1は、本発明のさまざまな実施形態が実現され得る例示的な分散型システムのコンポーネントを示すブロック図である。示されている実施形態では、分散型システム100は、1つ以上のクライアントコンピューティングデバイス102,104,106および108を含み、それらは、1つ以上のネットワーク110を介してウェブブラウザ、所有権付きクライアント(たとえばオラクルフォームズ(Oracle Forms))などのクライアントアプリケーションを実行および動作させるよう構成される。サーバ112は、リモートクライアントコンピューティングデバイス102,104,106および108とネットワーク110を介して通信可能に結合されてもよい。
さまざまな実施形態では、サーバ112は、システムのコンポーネントのうちの1つ以上によって提供される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。いくつかの実施形態では、これらのサービスは、ウェブに基づくサービスもしくはクラウドサービスとして、またはSoftware as a Service(SaaS)モデルの下で、クライアントコンピューティングデバイス102,104,106および/または108のユーザに対して提供されてもよい。クライアントコンピューティングデバイス102,104,106および/または108を動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用してサーバ112と対話して、これらのコンポーネントによって提供されるサービスを利用してもよい。
図に示される構成では、システム100のソフトウェアコンポーネント118,120および122は、サーバ112上で実現されるものとして示されている。他の実施形態では、システム100のコンポーネントのうちの1つ以上および/またはこれらのコンポーネントによって提供されるサービスは、クライアントコンピューティングデバイス102,104,106および/または108のうちの1つ以上によって実現されてもよい。クライアントコンピューティングデバイスを動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用して、これらのコンポーネントによって提供されるサービスを用いてもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現されてもよい。分散型システム100とは異なってもよいさまざまな異なるシステム構成が可能であることが理解されるべきである。図に示される実施形態は、したがって、実施形態のシステムを実現するための分散型システムの一例であり、限定的であるよう意図されるものではない。
クライアントコンピューティングデバイス102,104,106および/または108は、携帯可能な手持ち式のデバイス(たとえばiPhone(登録商標)、セルラー電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(personal digital assistant:PDA))またはウェアラブルデバイス(たとえばGoogle Glass(登録商標)頭部装着型ディスプレイ)であってもよく、Microsoft Windows Mobile(登録商標)などのソフトウェア、および/もしくは、iOS、Windows Phone、Android、BlackBerry 10、Palm OSなどのさまざまなモバイルオペレーティングシステムを実行してもよく、インターネット、電子メール、ショートメッセージサービス(SMS)、ブラックベリー(登録商標)または他の使用可能な通信プロトコルであってもよい。クライアントコンピューティングデバイスは、汎用パーソナルコンピュータであってもよく、一例として、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、たとえばGoogle Chrome OSなどのさまざまなGNU/Linuxオペレーティングシステムを限定を伴うことなく含む、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステムのいずれかを実行するワークステーションコンピュータであってもよい。代替的にまたはさらに、クライアントコンピューティングデバイス102,104,106および108は、ネットワーク110を介して通信することができる、シンクライアントコンピュータ、インターネットにより可能化されるゲームシステム(たとえばKinect(登録商標)ジェスチャ入力デバイスを伴うかまたは伴わないMicrosoft Xboxゲームコンソール)および/または個人メッセージ伝達デバイスなどのその他の電子デバイスであってもよい。
例示的な分散型システム100は4つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなど、他のデバイスがサーバ112と対話してもよい。
分散型システム100におけるネットワーク110は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、AppleTalkなどを限定を伴うことなく含む、さまざまな市場で入手可能なプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。単に一例として、ネットワーク110は、イーサネット(登録商標)、トークンリングなどに基づくものなどのローカルエリアネットワーク(LAN)であってもよい。ネットワーク110は、仮想ネットワークを含んでいてもよく、仮想ネットワークは、仮想プライベートネットワーク(virtual private network:VPN)、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば米国電気電子学会(IEEE)802.11のプロトコル一式、Bluetooth(登録商標)、および/もしくはその他の無線プロトコル)、ならびに/またはこれらのいずれかの組み合わせおよび/もしくは他のネットワークを限定を伴うことなく含む。
サーバ112は、1つ以上の汎用コンピュータ、専用のサーバコンピュータ(一例としてPC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせで構成されてもよい。さまざまな実施形態において、サーバ112は、前述の開示に記載される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。たとえば、サーバ112は、本開示の実施形態に従って上記の処理を実行するためのサーバに対応してもよい。
サーバ112は、上記のもののうちのいずれかを含むオペレーティングシステム、および任意の市場で入手可能なサーバオペレーティングシステムを実行してもよい。サーバ112は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含むさまざまなさらなるサーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかも実行してもよい。例示的なデータベースサーバは、オラクル、マイクロソフト、サイベース、IBM(インターナショナルビジネスマシンズ)などから市場で入手可能なものを含むが、それらに限定されるものではない。
いくつかの実現例では、サーバ112は、クライアントコンピューティングデバイス102,104,106および108のユーザから受信されるデータフィードおよび/またはイベント更新情報を解析および整理統合するための1つ以上のアプリケーションを含んでもよい。一例として、データフィードおよび/またはイベント更新情報は、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能計量ツール(たとえばネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などに関連するリアルタイムのイベントを含んでもよい、1つ以上の第三者情報源および連続データストリームから受信される、Twitter(登録商標)フィード、Facebook(登録商標)更新情報またはリアルタイムの更新情報を含んでもよいが、それらに限定されるものではない。サーバ112は、データフィードおよび/またはリアルタイムのイベントをクライアントコンピューティングデバイス102,104,106および108の1つ以上の表示デバイスを介して表示するための1つ以上のアプリケーションも含んでもよい。
分散型システム100は、1つ以上のデータベース114および116も含んでもよい。データベース114および116は、さまざまな位置にあってもよい。一例として、データベース114および116のうちの1つ以上は、サーバ112に局在する(および/またはサーバ112に常駐する)非一時的な記憶媒体にあってもよい。代替的に、データベース114および116は、サーバ112から遠隔にあり、ネットワークに基づくかまたは専用の接続を介してサーバ112と通信してもよい。一組の実施形態では、データベース114および116は、記憶域ネットワーク(storage-area network:SAN)にあってもよい。同様に、サーバ112に帰する機能を実行するための任意の必要なファイルが、適宜、サーバ112上においてローカルに、および/または遠隔で記憶されてもよい。一組の実施形態では、データベース114および116は、SQLフォーマットされたコマンドに応答してデータを記憶、更新および検索取得するように適合される、オラクルによって提供されるデータベースなどのリレーショナルデータベースを含んでもよい。
図2は、本発明の実施形態によって提供されるサービスがクラウドサービスとして提供され得るシステム環境のコンポーネントを示すブロック図である。示されている実施形態では、システム環境200は、1つ以上のクライアントコンピューティングデバイス204,206および208を含み、1つ以上のクライアントコンピューティングデバイス204,206および208は、クラウドサービスを提供するクラウドインフラストラクチャシステム202と対話するようにユーザによって使用されてもよい。クライアントコンピューティングデバイスは、ウェブブラウザ、所有権付きクライアントアプリケーション(たとえばオラクルフォームズ)または何らかの他のアプリケーションなどのクライアントアプリケーションを動作させるよう構成されてもよく、当該クライアントアプリケーションは、クラウドインフラストラクチャシステム202と対話して、クラウドインフラストラクチャシステム202によって提供されるサービスを使用するために、クライアントコンピューティングデバイスのユーザによって使用されてもよい。
図に示されるクラウドインフラストラクチャシステム202は図示されるもの以外のコンポーネントを有してもよいことが理解されるべきである。さらに、図に示される実施形態は、本発明の実施形態を組み込んでもよいクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態では、クラウドインフラストラクチャシステム202は、図に示されるよりも多いコンポーネントもしくは少ないコンポーネントを有してもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有してもよい。
クライアントコンピューティングデバイス204,206および208は、102,104,106および108に対して上記されたものと同様のデバイスであってもよい。
例示的なシステム環境200が3つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなどの他のデバイスがクラウドインフラストラクチャシステム202と対話してもよい。
ネットワーク210は、クライアント204,206および208とクラウドインフラストラクチャシステム202との間におけるデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク110に対して上記されたものを含む、さまざまな市場で入手可能なプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。
クラウドインフラストラクチャシステム202は、サーバ112に対して上記されたものを含んでもよい1つ以上のコンピュータおよび/またはサーバを備えていてもよい。
特定の実施形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンデマンドでクラウドインフラストラクチャシステムのユーザに利用可能にされるサービスのホストを含んでもよく、当該サービスのホストは、オンラインデータストレージおよびバックアップソリューション、ウェブに基づく電子メールサービス、運営管理されるオフィススイートおよびドキュメントコラボレーションサービス、データベース処理、管理される技術サポートサービスなどである。クラウドインフラストラクチャシステムによって提供されるサービスは、動的にスケーリングしてそのユーザのニーズを満たすことができる。クラウドインフラストラクチャシステムによって提供されるあるサービスのある具体的なインスタンス化は、本明細書では「サービスインスタンス」と称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザに利用可能にされる任意のサービスは、「クラウドサービス」と称される。典型的には、パブリックなクラウド環境においては、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスのサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを運営管理してもよく、ユーザは、インターネットなどの通信ネットワークを介して、オンデマンドで、アプリケーションをオーダーし使用してもよい。
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、運営管理されるデータベース、運営管理されるウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダーによってユーザに提供されるかもしくは他の態様で当該技術分野において公知であるような他のサービスに対する保護されたコンピュータネットワークアクセスを含んでもよい。たとえば、サービスは、クラウド上のリモートストレージに対するインターネットを介してのパスワード保護されたアクセスを含むことができる。別の例として、サービスは、ネットワーク接続された開発者による個人的な使用のために、ウェブサービスに基づく運営管理されたリレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダーのウェブサイトにおいて運営管理される電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
特定の実施形態では、クラウドインフラストラクチャシステム202は、セルフサービスの、サブスクリプションに基づく、弾性的にスケーラブルで、信頼性があり、非常に利用可能性があり、およびセキュリティ上安全な態様で顧客に対して配送されるアプリケーション、ミドルウェア、データベースサービス提供一式を含んでもよい。そのようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクル・パブリック・クラウド(Oracle Public Cloud)である。
さまざまな実施形態では、クラウドインフラストラクチャシステム202は、クラウドインフラストラクチャシステム202によって提供されるサービスに対する顧客のサブスクリプションを自動的にプロビジョニングし、管理し、およびトラッキングするように適合されてもよい。クラウドインフラストラクチャシステム202は、クラウドサービスをさまざまな展開モデルを介して提供してもよい。たとえば、サービスは、クラウドインフラストラクチャシステム202が(たとえばオラクルによって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般大衆または異なる業界企業に対して利用可能にされるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム202が単一の組織に対してのみ動作され、その組織内における1つ以上のエンティティに対してサービスを提供してもよいプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム202およびクラウドインフラストラクチャシステム202によって提供されるサービスが、関連するコミュニティにおけるいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム202によって提供されるサービスは、Software as a Service(SaaS)カテゴリ、Platform as a Service(PaaS)カテゴリ、Infrastructure as a Service(IaaS)カテゴリ、またはハイブリッドサービスを含む他のサービスのカテゴリの下で提供される1つ以上のサービスを含んでもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム202によって提供される1つ以上のサービスをオーダーしてもよい。クラウドインフラストラクチャシステム202は、次いで、処理を実行して、顧客のサブスクリプションオーダーにおけるサービスを提供する。
いくつかの実施形態では、クラウドインフラストラクチャシステム202によって提供されるサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含んでもよいが、それらに限定されるものではない。いくつかの例では、アプリケーションサービスは、クラウドインフラストラクチャシステムによってSaaSプラットフォームを介して提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに入るクラウドサービスを提供するよう構成されてもよい。たとえば、SaaSプラットフォームは、オンデマンドアプリケーション一式を統合された開発および展開プラットフォーム上で構築し配送する機能を提供してもよい。SaaSプラットフォームは、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御してもよい。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにおいて実行されるアプリケーションを利用することができる。顧客は、別のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスが提供されてもよい。その例としては、大きな組織に対する売上実績管理、企業統合、および事業柔軟性に対するソリューションを提供するサービスが挙げられるが、それらに限定されるものではない。
いくつかの実施形態では、プラットフォームサービスは、クラウドインフラストラクチャシステムによってPaaSプラットフォームを介して提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに入るクラウドサービスを提供するよう構成されてもよい。プラットフォームサービスの例としては、(オラクルなどの)組織が既存のアプリケーションを共有の共通のアーキテクチャにおいて整理統合することができるサービス、およびプラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能を挙げることができるが、それらに限定されるものではない。PaaSプラットフォームは、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御してもよい。顧客は、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを、別のライセンスおよびサポートを購入する必要なく取得することができる。プラットフォームサービスの例としては、オラクル・ジャバ・クラウド・サービス(Oracle Java Cloud Service:JCS)、オラクル・データベース・クラウド・サービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、それらに限定されるものではない。
PaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを使用することができ、展開されたサービスを制御することもできる。いくつかの実施形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえば、オラクル・フュージョン・ミドルウェアサービス)、およびJavaクラウドサービスを含んでもよい。一実施形態では、データベースクラウドサービスは、組織がデータベースリソースをプールし、顧客にDatabase as a Serviceをデータベースクラウドの形式で提供することを可能にする共有のサービス展開モデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客がさまざまなビジネスアプリケーションを開発および展開するためのプラットフォームをクラウドインフラストラクチャシステムにおいて提供してもよく、Javaクラウドサービスは、顧客がJavaアプリケーションを展開するためのプラットフォームをクラウドインフラストラクチャシステムにおいて提供してしてもよい。
さまざまな異なるインフラストラクチャサービスがIaaSプラットフォームによってクラウドインフラストラクチャシステムにおいて提供されてもよい。インフラストラクチャサービスは、ストレージ、ネットワーク、ならびにSaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客に対する他の基礎的計算リソースなどの基本的な計算リソースの管理および制御を容易にする。
特定の実施形態では、クラウドインフラストラクチャシステム202は、クラウドインフラストラクチャシステムの顧客に対してさまざまなサービスを提供するよう用いられるリソースを提供するためのインフラストラクチャリソース230も含んでもよい。一実施形態では、インフラストラクチャリソース230は、サーバ、ストレージ、ならびにPaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するためのネットワーク接続リソースなどの、ハードウェアの予め統合され最適化された組み合わせを含んでもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム202におけるリソースは、複数のユーザによって共有され、要求につき動的に再割り当てされてもよい。また、リソースは、ユーザに対してさまざまな時間ゾーンで割り当てられてもよい。たとえば、クラウドインフラストラクチャシステム230は、第1の時間ゾーンにおける第1のユーザセットがクラウドインフラストラクチャシステムのリソースをある特定の時間の間利用することを可能にし、次いで、異なる時間ゾーンに位置する別のユーザセットに対する同じリソースの再割り当てを可能にし、それによって、リソースの利用を最大化してもよい。
特定の実施形態では、クラウドインフラストラクチャシステム202のさまざまなコンポーネントまたはモジュールによって共有され、クラウドインフラストラクチャシステム202によって提供されるサービスによって共有されるある数の内部共有サービス232が提供されてもよい。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、企業リポジトリサービス、企業マネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよびリカバリサービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含んでもよいが、それらに限定されるものではない。
特定の実施形態では、クラウドインフラストラクチャシステム202は、クラウドインフラストラクチャシステムにおいてクラウドサービス(たとえば、SaaS、PaaS、およびIaaSサービス)の包括的な管理を提供してもよい。一実施形態では、クラウド管理機能は、クラウドインフラストラクチャシステム202によって受信される顧客のサブスクリプションをプロビジョニングし、管理し、およびトラッキングする機能などを含んでもよい。
一実施形態では、図に示されるように、クラウド管理機能は、オーダー管理モジュール220、オーダーオーケストレーションモジュール222、オーダープロビジョニングモジュール224、オーダー管理および監視モジュール226、ならびにアイデンティティ管理モジュール228などの1つ以上のモジュールによって提供されてもよい。これらのモジュールは、1つ以上のコンピュータおよび/もしくはサーバを含んでもよく、またはそれらを用いて提供されてもよく、それらは、汎用コンピュータ、専用のサーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせであってもよい。
例示的な動作234において、クライアントデバイス204、206または208などのクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム202によって提供される1つ以上のサービスを要求し、クラウドインフラストラクチャシステム202によって提供される1つ以上のサービスに対するサブスクリプションに対するオーダーを行なうことによって、クラウドインフラストラクチャシステム202と対話してもよい。特定の実施形態では、顧客は、クラウドユーザインターフェイス(UI)、すなわちクラウドUI212、クラウドUI214および/またはクラウドUI216にアクセスし、サブスクリプションオーダーをこれらのUIを介して行なってもよい。顧客がオーダーを行なうことに応答してクラウドインフラストラクチャシステム202によって受信されるオーダー情報は、顧客を識別する情報、およびクラウドインフラストラクチャシステム202によって提供される、その顧客が利用することを意図する1つ以上のサービスを含んでもよい。
オーダーが顧客によってなされた後、クラウドUI212,214および/または216を介してオーダー情報が受信される。
動作236において、オーダーは、オーダーデータベース218に保存されてもよい。オーダーデータベース218は、クラウドインフラストラクチャシステム218によって動作されるいくつかのデータベースのうちの1つであり得、他のシステム要素と連携して動作され得る。
動作238において、オーダー情報は、オーダー管理モジュール220に転送される。いくつかの例では、オーダー管理モジュール220は、オーダーを検証すること、および検証次第そのオーダーを予約することなど、オーダーに関連する請求および課金機能を実行するよう構成されてもよい。
動作240において、オーダーに関する情報は、オーダーオーケストレーションモジュール222に通信される。オーダーオーケストレーションモジュール222は、オーダー情報を利用して、顧客によってなされたオーダーに対してサービスおよびリソースのプロビジョニングをオーケストレーションしてもよい。いくつかの例では、オーダーオーケストレーションモジュール222は、オーダープロビジョニングモジュール224のサービスを使用して加入したサービスをサポートするようにリソースのプロビジョニングをオーケストレーションしてもよい。
特定の実施形態では、オーダーオーケストレーションモジュール222は、各オーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネス論理を適用して、オーダーがプロビジョニングに進むべきか否かを判断する。動作242において、新たなサブスクリプションに対するオーダーを受信すると、オーダーオーケストレーションモジュール222は、オーダープロビジョニングモジュール224に対して、リソースを割り当てて、サブスクリプションオーダーを満たすのに必要とされるそれらのリソースを構成するよう、要求を送信する。オーダープロビジョニングモジュール224は、顧客によってオーダーされたサービスに対するリソースの割り当てを可能にする。オーダープロビジョニングモジュール224は、クラウドインフラストラクチャシステム200によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするよう用いられる物理的インプリメンテーション層との間にある抽象化レベルを提供する。このようにして、サービスおよびリソースが実際にオンザフライでプロビジョニングされるか、サービスおよびリソースが予めプロビジョニングされて要求時にのみ割り当てられる/あてがわれるかなどの、インプリメンテーション詳細からオーダーオーケストレーションモジュール222を分離することができる。
動作244において、サービスおよびリソースがプロビジョニングされると、提供されるサービスの通知が、クラウドインフラストラクチャシステム202のオーダープロビジョニングモジュール224によって、クライアントデバイス204,206および/または208上の顧客に送信されてもよい。
動作246において、顧客のサブスクリプションオーダーは、オーダー管理および監視モジュール226によって管理およびトラッキングされてもよい。いくつかの例では、オーダー管理および監視モジュール226は、使用されるストレージの量、転送されるデータの量、ユーザの人数、ならびにシステムアップ時間およびシステムダウン時間の量などの、サブスクリプションオーダーにおけるサービスについての使用統計を収集するよう構成されてもよい。
特定の実施形態では、クラウドインフラストラクチャシステム200は、アイデンティティ管理モジュール228を含んでもよい。アイデンティティ管理モジュール228は、クラウドインフラストラクチャシステム200におけるアクセス管理および認証サービスなどのアイデンティティサービスを提供するよう構成されてもよい。いくつかの実施形態では、アイデンティティ管理モジュール228は、クラウドインフラストラクチャシステム202によって提供されるサービスを利用することを望む顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報、およびそれらの顧客がさまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してどのアクションを実行することが承認されるかを記述する情報を含み得る。アイデンティティ管理モジュール228は、各顧客についての記述的情報ならびにどのように誰によってその記述的情報がアクセスおよび修正され得るかについての情報の管理も含んでもよい。
図3は、本発明の実施形態が実現され得る例示的なコンピュータシステムを示すブロック図である。システム300は、上記のコンピュータシステムのうちのいずれかを実現するよう用いられてもよい。図に示されるように、コンピュータシステム300は、多数の周辺サブシステムとバスサブシステム302を介して通信する処理ユニット304を含む。これらの周辺サブシステムは、処理加速ユニット306、I/Oサブシステム308、ストレージサブシステム318および通信サブシステム324を含んでもよい。ストレージサブシステム318は、有形のコンピュータ読取可能な記憶媒体322およびシステムメモリ310を含む。
バスサブシステム302は、コンピュータシステム300のさまざまなコンポーネントおよびサブシステムに意図されるように互いに通信させるための機構を提供する。バスサブシステム302は単一のバスとして概略的に示されているが、バスサブシステムの代替的実施形態は、複数のバスを利用してもよい。バスサブシステム302は、さまざまなバスアーキテクチャのうちのいずれかを用いるメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、そのようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、エンハンストISA(Enhanced ISA:EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカルバス、およびIEEE P1386.1規格に従って製造される中二階バスとして実現され得る周辺コンポーネントインターコネクト(Peripheral Component Interconnect:PCI)バスを含んでもよい。
1つ以上の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラとして実現可能な)処理ユニット304は、コンピュータシステム300の動作を制御する。1つ以上のプロセッサが処理ユニット304に含まれてもよい。これらのプロセッサは、単一コアまたはマルチコアプロセッサを含んでもよい。特定の実施形態では、処理ユニット304は、各処理ユニットに単一またはマルチコアプロセッサが含まれる1つ以上の独立した処理ユニット332および/または334として実現されてもよい。また、他の実施形態では、処理ユニット304は、2つのデュアルコアプロセッサを単一のチップに統合することによって形成されるクアッドコア処理ユニットとして実現されてもよい。
さまざまな実施形態では、処理ユニット304は、プログラムコードに応答してさまざまなプログラムを実行することができ、複数の同時に実行されるプログラムまたはプロセスを維持することができる。任意の所与のときに、実行されるべきプログラムコードの一部または全ては、プロセッサ304および/またはストレージサブシステム318に常駐することができる。好適なプログラミングを介して、プロセッサ304は、上記のさまざまな機能を提供することができる。さらに、コンピュータシステム300は、処理加速ユニット306を含んでもよく、処理加速ユニット306は、デジタル信号プロセッサ(digital signal processor:DSP)、特殊用途プロセッサなどを含んでもよい。
I/Oサブシステム308は、ユーザインターフェイス入力デバイスおよびユーザインターフェイス出力デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組み込まれるタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴う音声入力デバイス、マイクロフォン、および他のタイプの入力デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、たとえば、ジェスチャおよび話し言葉コマンドを使用したナチュラルユーザインターフェイスを介してユーザがMicrosoft Xbox(登録商標)360ゲームコントローラなどの入力デバイスを制御して入力デバイスと対話することを可能にするMicrosoft Kinect(登録商標)モーションセンサなどのモーション感知および/またはジェスチャ認識デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、ユーザから目の活動(たとえば、写真を撮っている間および/またはメニュー選択を行なっている間の「まばたき」)を検出し、アイジェスチャを入力デバイス(たとえば、Google Glass(登録商標))への入力として変換するGoogle Glass(登録商標)瞬き検出器などのアイジェスチャ認識デバイスも含んでもよい。また、ユーザインターフェイス入力デバイスは、ユーザが音声コマンドを介して音声認識システム(たとえば、Siri(登録商標)ナビゲータ)と対話することを可能にする音声認識感知デバイスを含んでもよい。
ユーザインターフェイス入力デバイスは、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにスピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線追跡デバイスなどの聴覚/視覚デバイスも含んでもよいが、それらに限定されるものではない。また、ユーザインターフェイス入力デバイスは、たとえば、コンピュータ断層撮影、磁気共鳴撮像、ポジションエミッショントモグラフィー、医療超音波検査デバイスなどの医療画像化入力デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、たとえば、MIDIキーボード、デジタル楽器などの音声入力デバイスも含んでもよい。
ユーザインターフェイス出力デバイスは、ディスプレイサブシステム、インジケータライト、または音声出力デバイスなどの非ビジュアルディスプレイなどを含んでもよい。ディスプレイサブシステムは、陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)またはプラズマディスプレイを使うものなどのフラットパネルデバイス、投影デバイス、タッチスクリーンなどであってもよい。一般に、「出力デバイス」という語の使用は、コンピュータシステム300からユーザまたは他のコンピュータに情報を出力するための全ての考えられ得るタイプのデバイスおよび機構を含むよう意図される。たとえば、ユーザインターフェイス出力デバイスは、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力デバイスおよびモデムなどの、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまな表示デバイスを含んでもよいが、それらに限定されるものではない。
コンピュータシステム300は、現在のところシステムメモリ310内に位置しているものとして示されているソフトウェア要素を備えるストレージサブシステム318を備えていてもよい。システムメモリ310は、処理ユニット304にロード可能であり処理ユニット304で実行可能なプログラム命令と、これらのプログラムの実行中に生成されるデータとを記憶してもよい。
コンピュータシステム300の構成およびタイプによって、システムメモリ310は、(ランダムアクセスメモリ(random access memory:RAM)など)揮発性であってもよく、および/または、(リードオンリメモリ(read-only memory:ROM)、フラッシュメモリなど)不揮発性であってもよい。RAMは、一般に、処理ユニット304にすぐにアクセス可能であり、および/または、現在のところ処理ユニット304が動作させ実行しているデータおよび/またはプログラムモジュールを含む。いくつかの実現例では、起動中などにコンピュータシステム300内の要素間における情報の転送を助ける基本的なルーティンを含むベーシックインプット/アウトプットシステム(basic input/output system:BIOS)は、一般に、ROMに記憶されてもよい。一例として、限定を伴うことなく、システムメモリ310は、アプリケーションプログラム312も示し、当該アプリケーションプログラム312は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(relational database management system:RDBMS)など、プログラムデータ314およびオペレーティングシステム316を含んでもよい。一例として、オペレーティングシステム316は、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/もしくはLinux(登録商標)オペレーティングシステム、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OSなどを含むがそれらに限定されない)、ならびに/または、iOS、Windows(登録商標) Phone、Android(登録商標) OS、BlackBerry(登録商標) 10 OS、およびPalm(登録商標) OSオペレーティングシステムなどのモバイルオペレーティングシステムのさまざまなバージョンを含んでもよい。
ストレージサブシステム318は、いくつかの実施形態の機能を提供する基本的なプログラミングおよびデータ構造を記憶するための有形のコンピュータ読取可能な記憶媒体も提供してもよい。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、ストレージサブシステム318に記憶されてもよい。これらのソフトウェアモジュールまたは命令は、処理ユニット304によって実行されてもよい。ストレージサブシステム318は、本発明に従って使用されるデータを記憶するためのリポジトリも提供してもよい。
ストレージサブシステム300は、コンピュータ読取可能な記憶媒体322にさらに接続可能なコンピュータ読取可能記憶媒体リーダ320も含んでもよい。システムメモリ310とともに、およびオプションとしてシステムメモリ310との組み合わせで、コンピュータ読取可能な記憶媒体322は、コンピュータ読取可能な情報を一時的および/またはより永久的に含む、記憶する、伝達するおよび検索取得するための、遠隔の、ローカルな、固定された、および/または、取り外し可能なストレージデバイスに記憶媒体を加えたものを包括的に表してもよい。
コードまたはコードの一部を含むコンピュータ読取可能な記憶媒体322は、当該技術分野において公知の、または当該技術分野において使用されている任意の適切な媒体も含んでもよく、当該媒体は、情報の記憶および/または伝達のための任意の方法または技術において実現される揮発性および不揮発性の、取り外し可能および取り外し不可能な媒体などであるがそれらに限定されない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的に消去できるプログラム可能なROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、または他の有形のコンピュータ読取可能な媒体などの有形のコンピュータ読取可能な記憶媒体を含んでもよい。また、これは、データ信号、データ伝達、または所望の情報を伝達するために使用可能であり、コンピューティングシステム300によってアクセス可能なその他の媒体などの無形のコンピュータ読取可能な媒体を含んでもよい。
一例として、コンピュータ読取可能な記憶媒体322は、取り外し不可能な不揮発性磁気媒体に読み書きするハードディスクドライブ、取り外し可能な不揮発性磁気ディスクに読み書きする磁気ディスクドライブ、CD ROM、DVDおよびブルーレイ(登録商標)ディスクなどの、取り外し可能な不揮発性光ディスクに読み書きする光ディスクドライブ、または他の光学式媒体を含んでもよい。コンピュータ読取可能な記憶媒体322は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含んでもよいが、それらに限定されるものではない。コンピュータ読取可能な記憶媒体322は、フラッシュメモリベースのSSD、企業フラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(solid-state drive:SSD)、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSDなどの揮発性メモリに基づくSSD、およびDRAMとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDも含んでもよい。ディスクドライブおよびそれらの関連付けられるコンピュータ読取可能な媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータの不揮発性ストレージをコンピュータシステム300に提供してもよい。
通信サブシステム324は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム324は、他のシステムとコンピュータシステム300との間のデータの送受のためのインターフェイスとして働く。たとえば、通信サブシステム324は、コンピュータシステム300がインターネットを介して1つ以上のデバイスに接続することを可能にしてもよい。いくつかの実施形態では、通信サブシステム324は、(たとえば、セルラー電話技術、3G、4GもしくはEDGE(グローバル進化のための高速データレート)などの先進データネットワーク技術、WiFi(IEEE802.11ファミリー規格、もしくは他のモバイル通信技術、またはそれらのいずれかの組み合わせを用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)送受信機コンポーネント、グローバルポジショニングシステム(GPS)受信機コンポーネント、ならびに/または、他のコンポーネントを含んでもよい。いくつかの実施形態では、通信サブシステム324は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続(たとえば、イーサネット)を提供することができる。
また、いくつかの実施形態では、通信サブシステム324は、コンピュータシステム300を使用することができる1人以上のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード326、イベントストリーム328、イベント更新情報330などの形式で入力通信を受信してもよい。
一例として、通信サブシステム324は、ソーシャルネットワークおよび/またはTwitter(登録商標)フィード、Facebook(登録商標)更新情報、Rich Site Summary(RSS)フィードなどのウェブフィード、および/もしくは1つ以上の第三者情報源からのリアルタイム更新情報などの他の通信サービスのユーザからリアルタイムでデータフィード326を受信するよう構成されてもよい。
また、さらに、通信サブシステム324は、連続データストリームの形式でデータを受信するよう構成されてもよく、当該連続データストリームは、明示的な端部を有さない本質的に連続的または無限であってもよい、リアルタイムイベントのイベントストリーム328および/またはイベント更新情報330を含んでもよい。連続データを生成するアプリケーションの例としては、たとえば、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などを挙げることができる。
また、通信サブシステム324は、構造化されたおよび/または構造化されていないデータフィード326、イベントストリーム328、イベント更新情報330などを、コンピュータシステム300に結合される1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するよう構成されてもよい。
コンピュータシステム300は、手持ち式の携帯デバイス(たとえば、iPhone(登録商標)携帯電話、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(たとえば、Google Glass(登録商標)頭部装着型ディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、またはその他のデータ処理システムを含む、さまざまなタイプのもののうちの1つであり得る。
常に変化するコンピュータおよびネットワークの性質のため、図に示されるコンピュータシステム300の記載は、単に具体的な例として意図される。図に示されるシステムよりも多いまたは少ないコンポーネントを有する多くの他の構成が可能である。たとえば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素がハードウェア、ファームウェア、(アプレットを含む)ソフトウェアまたは組み合わせで実現されてもよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスとの接続が利用されてもよい。本明細書における開示および教示に基づいて、当業者は、さまざまな実施形態を実現する他の態様および/または方法を理解するであろう。
図4は、本発明の一実施形態に係るフィッシング対策画像を使用するためのシステムのハイレベル機能コンポーネントを示すブロック図である。この例に示されているように、システム400は、オンライン電子商取引サービス、オンラインバンキングサービスまたはその他のこのようなサービスなどのサービス405を含み得る。このサービスは、上記のように、1つ以上の企業によって、または他のコンピューティングデバイスの1つ以上のサーバ上で実行される他のアプリケーションによって提供されることができる。上記のようなモバイルデバイス410および/または他のクライアントデバイス415は、やはり上記のように、インターネットまたはその他のローカルエリアネットワークもしくは広域ネットワーク(ここでは図示せず)を介してサービスにアクセスすることができる。サービス405にアクセスする際にモバイルデバイス410および/または他のクライアントデバイス415のユーザ間の信用を構築するために、フィッシング対策画像を使用することができる。
上記のように、本発明の実施形態は、場合によっては認証情報を含み得る位置ベースの非静止フィッシング対策画像を使用することを提供する。一実施形態に従って、信用できるモバイルデバイス410を有するユーザは、特定の物理的位置に行って、サービスへの加入プロセスを実行することができる。この加入プロセスは、オンラインサービス405の登録モジュール420によって提供されるウェブサイトまたは他のインターフェイスを介してアクセス可能であってもよい。特定の物理的位置は、モバイルデバイス410によって、たとえばグローバルポジショニングシステム(GPS)受信機などの位置モジュール425を介して検出することができる。この位置は、検出されると、モバイルデバイス410によって、ユーザが登録しているサービス405の登録モジュール420に提供されることができる。登録モジュール420は、この登録位置440をユーザの一組の登録情報430に保存することができる。また、加入中に、ユーザはフィッシング対策画像435を選択することができ、フィッシング対策画像435もサービス405の登録モジュール420によってユーザの登録情報430に保存することができる。
別の言い方をすれば、フィッシング対策画像を登録することは、たとえば登録モジュール420によって提供される登録ウェブサイトまたは他のインターフェイスを介してサービス405のユーザに登録機能を提供することを備え得る。登録モジュール420の登録機能は、複数のフィッシング対策画像からのフィッシング対策画像の選択を提供することができる。ユーザは、モバイルデバイス410および/または他のクライアントデバイス415を介してこのウェブサイトまたはインターフェイスにアクセスすることができる。ユーザは、登録機能にアクセスすると、当該技術分野において公知であるようにフィッシング対策画像のうちの1つを選択することができる。ユーザによる登録モジュール420のアクセス中に、モバイルデバイス410の位置を判断することができる。たとえば、GPS受信機、携帯電話基地局三角測量を使用して、または当該技術分野において公知の他の方法によって、モバイルデバイス410の位置モジュール425によって、一組の経緯度座標または他の位置情報が判断されてもよい。このような位置情報は、選択されたフィッシング対策画像の表示とともに、モバイルデバイス410または他のクライアントデバイス415によって登録モジュール420に提供されることができる。フィッシング対策画像の選択およびユーザのモバイルデバイスの位置を示す位置情報は、登録モジュール420を介してサービスによって受信されることができる。選択されたフィッシング対策画像435は、サービス405が使用できるように、ユーザの登録情報に保存することができる。さらに、受信した位置情報は、ユーザの登録位置440として登録情報430に保存することができる。次いで、選択されたフィッシング対策画像435およびユーザの登録位置440は、その後同一のユーザがサービス405にアクセスする際にサービス405によって使用可能である。
位置情報は、保存されると、フィッシング対策および認証目的に使用することができる。たとえば、サービス405のアクセスモジュール445は、ユーザがサービスとの対話を開始させることができるポータルもしくはログインウェブサイトまたは他のインターフェイスを提供することができる。ユーザは、モバイルデバイス410および/または他のクライアントデバイス415を介してこのウェブサイトまたはインターフェイスにアクセスすることができる。次に、サービス405のアクセスモジュール445は、ユーザからアクセス要求を受信することができる。この要求に応答して、保存されたフィッシング対策画像およびユーザの登録位置がアクセスモジュール445によって検索取得され、ユーザのアクセスプロセスにおいて使用することができる。フィッシング対策画像およびユーザの登録位置は、その実現例に応じて、さまざまな方法でおよびさまざまな組み合わせで、アクセスモジュール445、モバイルデバイス410および/または他のクライアントデバイス415によって使用することができる。
たとえば、登録位置情報440は、サービス405の符号化モジュール455によって、登録されたフィッシング対策画像435を暗号化することに使用することができ、登録されたフィッシング対策画像435は、モバイルデバイス410または他のクライアントデバイス415に送られることができ、モバイルデバイス410または他のクライアントデバイス415は、ユーザがサービス405にアクセスしようとするたびに暗号化された画像をモバイルデバイス410に転送する。画像がモバイルデバイス410によって取得されると、モバイルデバイス410の位置モジュール425は、その現在位置を検出することができ、モバイルデバイス410の解読モジュール460は、当該現在位置を使用して画像を復号化しようとすることができる。モバイルデバイス410が登録時と同一の位置にある場合またはときには、画像は解読モジュール460によって適切に復号化されて、当初選択された画像として、認識可能な形式でユーザに提示するために、モバイルデバイス410によって提示されるか、または他のクライアントデバイス415に戻されることができる。さらに、場合によっては、画像は、サービス405のフィッシング対策画像モジュール450によって、符号化モジュール455による暗号化の前にワンタイムパスワード(OTP)またはコンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA)コードなどのコードでマークを付けられてもよい。たとえば、画像が符号化モジュール455によって暗号化される前に、コードがアクセスモジュール445によって生成されて、透かしまたはオーバーレイとしてフィッシング対策画像モジュール450によって画像に付加されてもよい。画像がモバイルデバイス410によって復号化されると、ユーザは、このコードを使用してサービス405のログインおよび/または認証プロセスを完了することができる。
別の言い方をすれば、要求およびユーザのアクセスプロセスに応答して検索取得されたフィッシング対策画像435およびユーザの登録位置440を使用することは、アクセスモジュール455が固有のアクセスコードを生成することと、フィッシング対策画像モジュール450が生成された固有のアクセスコードをフィッシング対策画像435に付加することと、符号化モジュール455が、登録位置440を使用して、付加された固有のアクセスコードでフィッシング対策画像を暗号化することと、アクセスモジュール445が、モバイルデバイス410および/または他のクライアントデバイス415を介して、暗号化されたフィッシング対策画像をユーザに提供することとを備え得る。
モバイルデバイス410および/または他のクライアントデバイス415は、暗号化されたフィッシング対策画像を受信することができ、モバイルデバイス410の解読モジュール460は、モバイルデバイス410の現在位置に基づいて位置モジュール425によって判断された位置情報でそれを復号化しようとすることができる。復号化されたフィッシング対策画像は、モバイルデバイス410または他のクライアントデバイス415を介してユーザに提示されることができる。モバイルデバイス410が登録位置と同一の位置にある場合には、画像は適切に解読され、そのためユーザの目に見えるように/ユーザが認識できるようにすることができる。次いで、ユーザは、フィッシング対策画像を認識することができ、含まれているアクセスコードも読み取ることができる。次いで、ユーザは、このコードを使用してサービス405にアクセスすることができる。言い換えれば、復号化されたフィッシング対策画像からのアクセスコードは、モバイルデバイス410または他のクライアントデバイス415によってサービス405のアクセスモジュール445に戻されることができる。
次に、サービス405は、アクセスコードを含む応答をユーザから受信することができる。次いで、アクセスモジュール445によって、コードが正しいか否か、すなわち画像が備えている生成されたアクセスコードと一致するか否かについて判断を行うことができる。ユーザから受信したアクセスコードが生成された固有のアクセスコードと一致すると判断したことに応答して、アクセスモジュール445によってサービス405へのアクセスをユーザに許可することができる。ユーザから受信したアクセスコードが生成された固有のアクセスコードと一致しない場合、アクセスモジュール445によってサービス405へのアクセスを拒否することができる。
別の例では、ユーザがサービス405にアクセスしようとするたびに、暗号化されていない当初の形式であるが登録位置情報440の暗号化またはハッシュされたバージョンがそのヘッダに含まれているフィッシング対策画像435が、アクセスモジュール445によってユーザに提供されてもよい。モバイルデバイス410が登録時と同一の位置にあると、ヘッダ内の位置情報は、モバイルデバイス410の解読モジュール460によって適切に復号化され、OTPまたはCAPTCHAコードをサービス405から取得することに使用することができ、次いで、ユーザは、当該コードを使用してサービス405のログインおよび/または認証プロセスを完了することができる。
別の言い方をすれば、要求およびユーザのアクセスプロセスに応答して検索取得されたフィッシング対策画像435およびユーザの登録位置440を使用することは、符号化モジュール455が登録位置を暗号化することと、フィッシング対策画像モジュール450が暗号化された登録位置をフィッシング対策画像のヘッダに付加することと、アクセスモジュール445がフィッシング対策画像をモバイルデバイス410および/または他のクライアントデバイス415に提供することとを備え得る。
モバイルデバイス410および/または他のクライアントデバイス415は、フィッシング対策画像を受信し、受信したフィッシング対策画像をユーザに提示することができる。また、モバイルデバイス410の解読モジュール460は、モバイルデバイス410の現在位置に基づいて位置モジュール425によって判断された位置情報で画像のヘッダからの暗号化された登録位置を復号化しようとすることができる。モバイルデバイス410が登録位置と同一の位置にある場合には、位置情報は適切に解読されることができる。次いで、モバイルデバイス410および/またはクライアントデバイス415は、画像のヘッダからの登録位置の復号化されたバージョンを有する画像に応答することができる。
次に、サービス405は、登録位置の復号化されたバージョンをユーザから受信することができる。次いで、アクセスモジュール445によって、位置情報が正しいか否か、すなわち検索取得されたユーザの登録位置440と一致するか否かについて判断を行うことができる。ユーザから受信した位置情報が検索取得されたユーザの登録位置440と一致すると判断したことに応答して、アクセスモジュール445によってサービス405へのアクセスをユーザに許可することができる。ユーザから受信した位置情報が検索取得されたユーザの登録位置440と一致しない場合、アクセスモジュール445によってサービス405へのアクセスを拒否することができる。
いずれにしても、登録中に取得された位置情報は、フィッシング対策画像をセキュリティ上さらに安全なものにすることだけでなく、弱い知識ベースの認証方法およびSMSまたは電子メールOTPタイプの認証方法に取って代わることにも使用することができる。本明細書に記載されている実施形態は、セキュリティの強化が必要または妥当である状況で使用することができ、特定の物理的位置に関係付けることができる。たとえば、企業システムまたはアプリケーションへのアクセスは、ユーザのオフィスに関係付けられ、それに限定されてもよい。登録情報の変更などの、ユーザが登録するアプリケーションまたはサービスの特定の機能は、登録中に使用される特定の位置に限定されてもよい。たとえば、オンラインバンキングまたは他の同様のサービスは、モバイルデバイスの現在位置に基づいてユーザが自分の家などの登録位置にいると判断される場合にのみ、口座情報または転送を起動して利用可能にするような特定の機能へのアクセスを制限してもよい。
図5は、本発明の一実施形態に係るフィッシング対策画像を登録するためのプロセスを示すフローチャートである。この例に示されているように、フィッシング対策画像を登録することは、たとえば登録ウェブサイトまたは他のインターフェイスを介してサービスのユーザに登録機能を提供すること(505)を備え得る。登録機能は、複数のフィッシング対策画像からのフィッシング対策画像の選択を提供することができる。上記のように、ユーザは、モバイルデバイスおよび/または他のクライアントデバイスを介してこのウェブサイトまたはインターフェイスにアクセスすることができる(510)。ユーザは、登録機能にアクセスすると、当該技術分野において公知であるようにフィッシング対策画像のうちの1つを選択することができる。ユーザによる登録機能のアクセス中に、モバイルデバイスの位置を判断することができる(520)。たとえば、モバイルデバイスのGPS受信機または当該技術分野において公知の他の方法によって、一組の経緯度座標または他の位置情報が判断されてもよい。このような位置情報は、選択されたフィッシング対策画像の表示とともに、モバイルデバイスによって登録機能に提供されることができる(525)。フィッシング対策画像の選択およびユーザのモバイルデバイスの位置を示す位置情報は、登録機能を介してサービスによって受信することができる(530)。選択されたフィッシング対策画像は、サービスが使用できるように保存することができる(535)。さらに、受信した位置情報は、ユーザの登録位置として保存することができる(535)。次いで、選択されたフィッシング対策画像およびユーザの登録位置は、その後同一のユーザがサービスにアクセスする際にサービスによって使用可能である。
図6は、本発明の一実施形態に係るフィッシング対策画像を使用するためのプロセスを示すフローチャートである。この例に示されているように、登録された情報の使用は、たとえばアクセスウェブサイトまたは他のインターフェイスを介してサービスのユーザにアクセス機能を提供すること(605)から開始することができる。上記のように、ユーザは、モバイルデバイスおよび/または他のクライアントデバイスを介してこのウェブサイトまたはインターフェイスにアクセスすることができる(610)。次に、サービスは、ユーザからアクセス要求を受信することができる(615)。この要求に応答して、保存されたフィッシング対策画像およびユーザの登録位置がサービスによって検索取得され(620)、ユーザのアクセスプロセスにおいて使用することができる(625)。フィッシング対策画像およびユーザの登録位置は、その実現例に応じて、さまざまな方法でおよびさまざまな組み合わせで、サービスおよびモバイルデバイスおよび/または他のクライアントデバイスによって使用することができる(625)。例示の目的で、例示的なアクセスプロセスについて説明する。
図7は、本発明の一実施形態に係るフィッシング対策画像を使用するためのプロセスのさらなる詳細を示すフローチャートである。この例に示されているように、要求およびユーザのアクセスプロセスに応答して検索取得されたフィッシング対策画像およびユーザの登録位置を使用すること(625)は、サービスが固有のアクセスコードを生成すること(705)と、生成された固有のアクセスコードをフィッシング対策画像に付加すること(710)と、登録位置を使用して、付加された固有のアクセスコードでフィッシング対策画像を暗号化すること(715)と、暗号化されたフィッシング対策画像をユーザに提供すること(720)とを備え得る。たとえば、アクセスコードは、OTPまたはCAPTCHAコードを備えていてもよく、アクセスコードをフィッシング対策画像に付加することは、たとえば透かしなどとしてコードを画像上に重ね合わせることを備えていてもよい。
モバイルデバイスおよび/または他のクライアントデバイスは、暗号化されたフィッシング対策画像を受信し(725)、モバイルデバイスの現在位置に基づいてモバイルデバイスによって判断された位置情報でそれを復号化しようとすることができる(735)。復号化されたフィッシング対策画像は、ユーザに提示することができる(740)。モバイルデバイスが登録位置と同一の位置にある場合には、画像は適切に解読され、そのためユーザの目に見えるように/ユーザが認識できるようにすることができる。次いで、ユーザは、フィッシング対策画像を認識することができ、含まれているアクセスコードも読み取ることができる。次いで、ユーザは、このコードを使用してサービスにアクセスすることができる。言い換えれば、復号化されたフィッシング対策画像からのアクセスコードは、モバイルデバイスまたは他のクライアントデバイスによってサービスに戻されることができる(745)。
次に、サービスは、アクセスコードを含む応答をユーザから受信することができる(750)。次いで、サービスによって、コードが正しいか否か、すなわち画像が備えている生成されたアクセスコードと一致するか否かについて判断を行うことができる(750)。ユーザから受信したアクセスコードが生成された固有のアクセスコードと一致すると判断した(755)ことに応答して、サービスへのアクセスをユーザに許可することができる(760)。ユーザから受信したアクセスコードが生成された固有のアクセスコードと一致しない場合(755)、サービスへのアクセスを拒否することができる(765)。
図8は、本発明の別の実施形態に係るフィッシング対策画像を使用するためのプロセスのさらなる詳細を示すフローチャートである。この例に示されているように、要求およびユーザのアクセスプロセスに応答して検索取得されたフィッシング対策画像およびユーザの登録位置を使用すること(625)は、登録位置をハッシュすること(805)と、ハッシュされた登録位置をフィッシング対策画像のヘッダに付加すること(810)と、フィッシング対策画像をモバイルデバイスおよび/または他のクライアントデバイスに提供すること(815)とを備え得る。
モバイルデバイスおよび/または他のクライアントデバイスは、フィッシング対策画像を受信し(820)、受信したフィッシング対策画像をユーザに提示することができる(825)。また、モバイルデバイスは、モバイルデバイスの現在位置のハッシュを生成し(835)、すなわちサービスによって使用されたものと同一のハッシュ機能を使用して、フィッシング対策画像のヘッダにおいて受信されたハッシュされた登録位置がモバイルデバイスの現在位置の生成されたハッシュと一致するか否かを判断することができる(840)。フィッシング対策画像のヘッダにおいて受信されたハッシュされた登録位置がモバイルデバイスの現在位置の生成されたハッシュと一致したことに応答して、モバイルデバイスによってアクセスコードを要求することができる(845)。
サービスは、モバイルデバイスからこの要求を受信することができる(850)。これに応答して、サービスは、アクセスコードを生成してモバイルデバイスに提供することができる(855)。たとえば、アクセスコードは、OTPまたはCAPTCHAコードを備えていてもよい。
モバイルデバイスは、要求されたアクセスコードを受信し(865)、それを使用してサービスにアクセスすることができる(865)。たとえば、モバイルデバイス、またはユーザがコードを入力するユーザの別のデバイスは、コードをサービスに戻してもよい。次に、サービスは、ユーザからコードを受信し、ユーザから受信したアクセスコードが正しい、すなわち生成された固有のアクセスコードと一致すると判断したことに応答して、サービスへのアクセスをユーザに許可することができる。ユーザから受信したアクセスコードが生成された固有のアクセスコードと一致しない場合、サービスへのアクセスを拒否することができる。
上記の説明では、例示の目的で、特定の順序で方法を説明した。代替的な実施形態では、記載されている順序とは異なる順序で方法を実行してもよいということが理解されるべきである。また、上記の方法は、ハードウェアコンポーネントによって実行されてもよく、または一連の機械によって実行可能な命令で実施されてもよく、当該命令を使用して、命令でプログラムされた汎用もしくは特殊用途プロセッサまたは論理回路などの機械に方法を実行させてもよい。これらの機械によって実行可能な命令は、電子命令を格納することに適したCD−ROMもしくは他のタイプの光ディスク、フロッピー(登録商標)ディスケット、ROM、RAM、EPROM、EEPROM、磁気もしくは光カード、フラッシュメモリ、または他のタイプの機械読取可能な媒体もしくはメモリデバイスなどの1つ以上の機械読取可能な媒体またはメモリデバイスに格納されてもよい。代替的に、方法はハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
本発明の例示的な現状で好ましい実施形態について本明細書で詳細に説明してきたが、本発明の概念はさまざまに実施および利用されてもよく、添付の特許請求の範囲は、先行技術によって限定される場合を除き、このような変形例を包含するよう解釈されることが意図されている、ということが理解されるべきである。

Claims (12)

  1. 方法であって、
    サービスの登録プロセス中に、コンピュータシステムが、複数の画像を提供するステップと、
    前記登録プロセス中に、前記コンピュータシステムが、前記複数の画像から1つの画像の選択を受信するステップと、
    前記登録プロセス中に、前記コンピュータシステムが、前記登録プロセスに参加しているモバイルデバイスの地理的位置を示す位置情報を受信するステップと、
    前記コンピュータシステムが、前記複数の画像から選択された前記画像を保存するステップと、
    前記コンピュータシステムが、前記位置情報を登録位置として保存するステップと、
    前記コンピュータシステムが、前記サービスへのアクセス要求を前記モバイルデバイスから受信したことに応答して、
    前記コンピュータシステムが、前記画像および前記登録位置を検索するステップと、
    暗号化された画像を作成するために、前記登録位置を使用して前記画像を暗号化するステップとを備え、
    前記暗号化するステップは、
    前記コンピュータシステムが、固有のアクセスコードを生成するステップと、
    前記コンピュータシステムが、前記固有のアクセスコードを前記画像に付加するステップと、
    前記コンピュータシステムが、前記登録位置を使用して前記付加された固有のアクセスコードを有する前記画像を暗号化することによって、前記暗号化された画像を生成するステップとを含み、
    前記コンピュータシステムが、前記暗号化された画像を前記モバイルデバイスに提供するステップをさらに備え、前記暗号化された画像は、前記モバイルデバイスが前記登録位置を使用して前記暗号化された画像を復号化することに基づいて、前記サービスへのアクセスを前記モバイルデバイスのために有効にするために使用される、方法。
  2. 前記モバイルデバイスが、前記登録プロセス中に、前記モバイルデバイスの前記地理的位置を判断するステップと、
    前記モバイルデバイスが、前記登録プロセス中に、前記モバイルデバイスの前記地理的位置を判断するステップに基づいて前記位置情報を提供するステップとをさらに備える、請求項1に記載の方法。
  3. 前記暗号化された画像を前記モバイルデバイスにおいて受信するステップと、
    前記モバイルデバイスが、前記モバイルデバイスの現在の地理的位置に基づいて前記モバイルデバイスによって判断された位置情報を使用して、前記暗号化された画像を復号化して、アクセスコードを有する復号化された画像を取得するステップと、
    前記モバイルデバイスが、前記アクセスコードを有する前記復号化された画像を前記モバイルデバイスのユーザに提示するステップと、
    前記モバイルデバイスが、前記アクセスコードを前記サービスに提供するステップとをさらに備える、請求項1または2に記載の方法。
  4. 前記固有のアクセスコードは、ワンタイムパスワード(OTP)、または、コンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA)コードを備える、請求項1から3のいずれか1項に記載の方法。
  5. 前記コンピュータシステムが、前記固有のアクセスコードを前記モバイルデバイスから受信するステップと、
    前記コンピュータシステムが、前記モバイルデバイスのために前記サービスへのアクセスを有効にするステップとをさらに備える、請求項1から4のいずれか1項に記載の方法。
  6. システムであって、
    プロセッサと、
    前記プロセッサに結合されて読み取り可能であり、一組の命令を格納したメモリとを備え、
    前記一組の命令は、前記プロセッサによって実行されると、前記プロセッサにプロセスを実行させ、前記プロセスは、
    サービスの登録プロセス中に、複数の画像を提供するステップと、
    前記登録プロセス中に、前記複数の画像から1つの画像の選択を受信するステップと、
    前記登録プロセス中に、前記登録プロセスに参加しているモバイルデバイスの地理的位置を示す位置情報を受信するステップと、
    前記複数の画像から選択された前記画像を保存するステップと、
    前記位置情報を登録位置として保存するステップと、
    前記サービスへのアクセス要求を前記モバイルデバイスから受信したことに応答して、
    前記画像および前記登録位置を検索するステップと、
    暗号化された画像を作成するために、前記登録位置を使用して前記画像を暗号化するステップとを備え、
    前記暗号化するステップは、
    固有のアクセスコードを生成するステップと、
    前記固有のアクセスコードを前記画像に付加するステップと、
    前記登録位置を使用して前記付加された固有のアクセスコードを有する前記画像を暗号化することによって、前記暗号化された画像を生成するステップとを含み、
    前記暗号化された画像を前記モバイルデバイスに提供するステップをさらに備え、前記暗号化された画像は、前記モバイルデバイスが前記登録位置を使用して前記暗号化された画像を復号化することに基づいて、前記モバイルデバイスのために前記サービスへのアクセスを有効にするために使用される、システム。
  7. 前記固有のアクセスコードは、ワンタイムパスワード(OTP)、または、コンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA)コードを備える、請求項6に記載のシステム。
  8. 前記メモリは、さらに他の命令を格納しており、前記さらに他の命令は、前記プロセッサによって実行されると、前記プロセッサに前記プロセスを実行させ、前記プロセスは、
    前記固有のアクセスコードを前記モバイルデバイスから受信するステップと、
    前記モバイルデバイスのために前記サービスへのアクセスを有効にするステップとを備える、請求項6または7に記載のシステム。
  9. モバイルデバイスであって、
    プロセッサと、
    前記プロセッサに結合されて読み取り可能であり、一組の命令を格納したメモリとを備え、前記一組の命令は、前記プロセッサによって実行されると、前記プロセッサにプロセスを実行させ、前記プロセスは、
    サービスの登録プロセス中に、複数の画像をコンピュータシステムから受信するステップと、
    前記登録プロセス中に、前記複数の画像から1つの画像の選択を前記コンピュータシステムに提供するステップと、
    前記登録プロセス中に、前記モバイルデバイスの地理的位置を示す位置情報を判断するステップと、
    前記登録プロセス中に、前記位置情報を登録位置として前記コンピュータシステムに提供するステップと、
    前記サービスへのアクセスを要求するステップと、
    前記要求に応答して、固有のアクセスコードを備える暗号化された画像を前記コンピュータシステムから受信するステップとを備え、前記暗号化された画像は、前記登録位置を使用して暗号化されており、前記プロセスはさらに、
    前記登録位置を使用して前記暗号化された画像を復号化することに基づいて、前記暗号化された画像を使用して、前記サービスへのアクセスを有効にするステップを備える、モバイルデバイス。
  10. 前記暗号化された画像を使用して、前記サービスへのアクセスを有効にするステップは、
    前記モバイルデバイスの現在の地理的位置に基づいて前記モバイルデバイスによって判断された位置情報で、前記暗号化された画像を復号化して、アクセスコードを有する復号化された画像を生成するステップと、
    前記アクセスコードを有する前記復号化された画像を前記モバイルデバイスのユーザに提示するステップと、
    前記アクセスコードを前記サービスに提供するステップとを備える、請求項9に記載のモバイルデバイス。
  11. 前記固有のアクセスコードは、ワンタイムパスワード(OTP)、または、コンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA)コードを備える、請求項9または10に記載のモバイルデバイス。
  12. 1つ以上のプロセッサに請求項1から5のいずれか1項に記載の方法を実行させるためのプログラム。
JP2017548385A 2015-03-20 2016-03-07 スマートイメージを使用したフィッシング対策のための方法およびシステム Active JP6640869B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/663,555 2015-03-20
US14/663,555 US10069864B2 (en) 2015-03-20 2015-03-20 Method and system for using smart images
PCT/US2016/021128 WO2016153766A1 (en) 2015-03-20 2016-03-07 Method and system for anti-phishing using smart images

Publications (3)

Publication Number Publication Date
JP2018512106A JP2018512106A (ja) 2018-05-10
JP2018512106A5 JP2018512106A5 (ja) 2019-04-11
JP6640869B2 true JP6640869B2 (ja) 2020-02-05

Family

ID=55588598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017548385A Active JP6640869B2 (ja) 2015-03-20 2016-03-07 スマートイメージを使用したフィッシング対策のための方法およびシステム

Country Status (5)

Country Link
US (1) US10069864B2 (ja)
EP (1) EP3272093B1 (ja)
JP (1) JP6640869B2 (ja)
CN (1) CN107211030B (ja)
WO (1) WO2016153766A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201705489TA (en) * 2015-02-17 2017-08-30 Visa Int Service Ass Token and cryptogram using transaction specific information
US10069864B2 (en) 2015-03-20 2018-09-04 Oracle International Corporation Method and system for using smart images
US11567962B2 (en) * 2015-07-11 2023-01-31 Taascom Inc. Computer network controlled data orchestration system and method for data aggregation, normalization, for presentation, analysis and action/decision making
US10861019B2 (en) * 2016-03-18 2020-12-08 Visa International Service Association Location verification during dynamic data transactions
KR101817306B1 (ko) * 2016-06-03 2018-01-11 (주)투비스마트 시각화 암호를 이용한 인증 장치 및 그 방법
KR102526959B1 (ko) * 2016-10-27 2023-05-02 삼성전자주식회사 전자 장치 및 그의 동작 방법
US20180270215A1 (en) * 2017-03-16 2018-09-20 Ca, Inc. Personal assurance message over sms and email to prevent phishing attacks
CN109558262A (zh) * 2018-11-30 2019-04-02 武汉推杰网络科技有限公司 一种基于计算机验证码识别的大数据分析系统

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269446B1 (en) * 1998-06-26 2001-07-31 Canon Kabushiki Kaisha Authenticating images from digital cameras
US20040208343A1 (en) * 1998-07-09 2004-10-21 Colorado State University Research Foundation Apparatus and method for creating a record using biometric information
US7236596B2 (en) * 2000-02-07 2007-06-26 Mikos, Ltd. Digital imaging system for evidentiary use
JP2002123172A (ja) * 2000-10-16 2002-04-26 Toshiba Information Systems (Japan) Corp 暗号化装置、復号化装置、情報管理システム及び施錠システム
US7143289B2 (en) 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
JP2005143094A (ja) * 2003-10-14 2005-06-02 Canon Inc 画像検証システム、管理方法、及びコンピュータ読み取り可能な記憶媒体
JP4422088B2 (ja) * 2005-09-27 2010-02-24 Necネクサソリューションズ株式会社 画像配列型認証システム
US20070083919A1 (en) * 2005-10-11 2007-04-12 Guy Heffez Secure Image Protocol
US20120289209A1 (en) * 2005-11-14 2012-11-15 Crawford C S Lee Method of conducting operations for a social network application including activity list generation
US9135469B2 (en) * 2006-02-28 2015-09-15 Paypal, Inc. Information protection system
US8997177B2 (en) * 2006-05-24 2015-03-31 Confident Technologies, Inc. Graphical encryption and display of codes and text
US20080034428A1 (en) 2006-07-17 2008-02-07 Yahoo! Inc. Anti-phishing for client devices
US20080052245A1 (en) * 2006-08-23 2008-02-28 Richard Love Advanced multi-factor authentication methods
US8356333B2 (en) * 2006-12-12 2013-01-15 Bespoke Innovations Sarl System and method for verifying networked sites
JP4648420B2 (ja) * 2007-03-12 2011-03-09 ヤフー株式会社 認証システム
JP4933327B2 (ja) * 2007-03-30 2012-05-16 Kddi株式会社 ファイル管理システム、ファイル管理方法及びプログラム
KR100910378B1 (ko) * 2008-10-06 2009-08-04 주식회사 오엘콥스 암호화된 이미지를 이용한 전자증명서 발급 시스템 및 방법
US20100287382A1 (en) * 2009-05-07 2010-11-11 John Charles Gyorffy Two-factor graphical password for text password and encryption key generation
JP2011097192A (ja) * 2009-10-27 2011-05-12 Hanamaru Kk 暗号化メッセージ送信装置、プログラム、暗号化メッセージ送信方法および認証システム
KR20110066508A (ko) * 2009-12-11 2011-06-17 삼성전자주식회사 휴대용 단말기에서 통합 로그인 입력 장치 및 방법
US8977260B1 (en) 2010-04-14 2015-03-10 Sprint Communication Company L.P. Preventing clone device registration in a wireless communication system
EP2385679B1 (en) * 2010-05-07 2014-08-20 BlackBerry Limited Locally stored phishing countermeasure
JP5988036B2 (ja) * 2011-05-18 2016-09-07 パナソニックIpマネジメント株式会社 通信制御システムおよびその方法、ならびに通信装置およびその方法、プログラム
AU2011202415B1 (en) * 2011-05-24 2012-04-12 Microsoft Technology Licensing, Llc Picture gesture authentication
US8910274B2 (en) * 2011-07-28 2014-12-09 Xerox Corporation Multi-factor authentication using digital images of barcodes
US20130036461A1 (en) * 2011-08-01 2013-02-07 Apple Inc. Image-based authentication
US20130097697A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Security Primitives Employing Hard Artificial Intelligence Problems
US9235697B2 (en) * 2012-03-05 2016-01-12 Biogy, Inc. One-time passcodes with asymmetric keys
US9076061B2 (en) * 2012-03-12 2015-07-07 Google Inc. System and method for updating geographic data
US8720771B2 (en) * 2012-03-23 2014-05-13 Digital Retail Apps., Inc. System and method for facilitating secure self payment transactions of retail goods
US9740884B2 (en) * 2012-04-10 2017-08-22 Good Technology Holdings Limited Method and device for generating a code
ITMI20120708A1 (it) * 2012-04-27 2013-10-28 St Microelectronics Srl Dispositivo di assegnazione di una posizione geografica ad una immagine
US20140009378A1 (en) * 2012-07-03 2014-01-09 Yen Hsiang Chew User Profile Based Gesture Recognition
US9069069B2 (en) * 2012-10-30 2015-06-30 The Standard Register Company Systems, methods, and apparatus for marking, verifying, and authenticating consumer products
US9172692B2 (en) * 2013-03-14 2015-10-27 William M. Langley Systems and methods for securely transferring authentication information between a user and an electronic resource
US9563926B2 (en) * 2013-03-14 2017-02-07 Applied Materials Technologies Limited System and method of encoding content and an image
US9300645B1 (en) * 2013-03-14 2016-03-29 Ip Holdings, Inc. Mobile IO input and output for smartphones, tablet, and wireless devices including touch screen, voice, pen, and gestures
US9311646B2 (en) * 2013-03-15 2016-04-12 United States Postal Service System and method of identity verification
US9324075B2 (en) * 2013-03-15 2016-04-26 Paypal, Inc. Geotagged image for checking validity of purchase transaction
US9646434B2 (en) * 2013-10-10 2017-05-09 Google Technology Holdings LLC Method and system for controlling access to a restricted location
US9537661B2 (en) * 2014-02-28 2017-01-03 Verizon Patent And Licensing Inc. Password-less authentication service
US9786010B2 (en) * 2014-04-23 2017-10-10 State Farm Mutual Automobile Insurance Company Homeowners insurance application process using geotagged photos
CN104038476B (zh) * 2014-05-16 2019-01-11 百度在线网络技术(北京)有限公司 一种用于登录管理的方法、设备与系统
US10069864B2 (en) 2015-03-20 2018-09-04 Oracle International Corporation Method and system for using smart images

Also Published As

Publication number Publication date
US10069864B2 (en) 2018-09-04
WO2016153766A1 (en) 2016-09-29
CN107211030A (zh) 2017-09-26
US20160277443A1 (en) 2016-09-22
CN107211030B (zh) 2019-08-13
EP3272093A1 (en) 2018-01-24
JP2018512106A (ja) 2018-05-10
EP3272093B1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
US10142327B2 (en) Rule based device enrollment
US10735196B2 (en) Password-less authentication for access management
US10462142B2 (en) Techniques for implementing a data storage device as a security device for managing access to resources
JP6640869B2 (ja) スマートイメージを使用したフィッシング対策のための方法およびシステム
US10467421B2 (en) Establishing trust between containers
US20150227749A1 (en) Access management in a data storage system
US11934541B2 (en) Securely sharing selected fields in a blockchain with runtime access determination

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191226

R150 Certificate of patent or registration of utility model

Ref document number: 6640869

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250