JP2009524165A - ネットワークセキュリティシステムおよび方法 - Google Patents

ネットワークセキュリティシステムおよび方法 Download PDF

Info

Publication number
JP2009524165A
JP2009524165A JP2008551539A JP2008551539A JP2009524165A JP 2009524165 A JP2009524165 A JP 2009524165A JP 2008551539 A JP2008551539 A JP 2008551539A JP 2008551539 A JP2008551539 A JP 2008551539A JP 2009524165 A JP2009524165 A JP 2009524165A
Authority
JP
Japan
Prior art keywords
client device
secret
server
identifier
message
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.)
Pending
Application number
JP2008551539A
Other languages
English (en)
Inventor
ロバート、ティー.クラコウスキ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verimatrix Inc
Original Assignee
Verimatrix Inc
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 Verimatrix Inc filed Critical Verimatrix Inc
Publication of JP2009524165A publication Critical patent/JP2009524165A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks

Abstract

クライアント装置と通信するネットワークのためのセキュリティシステムにおいて、各クライアント装置は、ネットワークを通じて、少なくとも1つのサーバと通信する通信モジュールと、該クライアント装置における1つ以上の操作イベントに関する1つ以上の秘密データ値を格納するデータストレージモジュールと、該格納された秘密データ値に基づいて、少なくとも1つの秘密識別子を生成する秘密識別子生成モジュールとを有する。該秘密識別子は、該サーバへの1つ以上のネットワークメッセージ内に設けられ、または、別の方法でサービスプロバイダへ送信され、また、該ネットワークを通じて受信した特定の要求に応じて、あるいは、ネットワーク通信に一般的に伴う1つ以上のメッセージに定期的に設けてもよい。該サーバは、可能性のあるクローンを検出するために、同じクライアント識別子を有するクライアント装置から受信した秘密識別子を比較する。

Description

関連出願
本発明は、2006年1月20日に出願された同時係属の米国仮特許出願第60/760,475号の利益を主張し、該仮出願明細書は、その全体が参照により本明細書に組み込まれる。
本発明は、サーバとクライアント装置との間のネットワーク通信に関し、特に、料金の支払いなしに、または、実在するクライアント装置を模倣して不正にサービスを受けようとする、真のまたは適切に登録されたクライアント装置のクローンを検出するネットワークセキュリティシステムおよび方法に関する。
分散型コンピュータ環境において、侵害者は、有効なクライアントまたは許可された加入者と同一の認証によって多数のクライアントを生成し、それによって、料金未納の加入者が、支払い済みの許可された加入者のサービスを共有する(不正に受ける)ことを可能にすることにより、不正にサービスを受けようとする。該認証は有効と思われるため、サーバは、ブロードキャストキー等をそのようなクローンに送信し、未許可の加入者が、番組を視聴したり、双方向通信を行ったりすることが可能になる。このようなクローニング技術は、ネットワークプロバイダにとって深刻な問題である。また、侵害者は、携帯電話における高度なセキュリティ証明のためのクレジットまたは現金自動預け払い機(ATM)カードとして、許可された個人によって使用されるスマートカード、出入り管理カード、公共交通機関のカード等のスマートカード等のクライアント装置を複製またはコピーしようとする。また、スマートカードのクローニングは、そのようなサービスのプロバイダおよび許可されたカードユーザに対して深刻な問題を引き起こす。
従って、上述したような従来のシステムに見られる深刻な問題を少なくし、または克服するシステムおよび方法が必要である。
本明細書に記載されている実施形態は、クライアント装置とサーバとの間の通常のメッセージへの秘密のセキュリティデータの付加を提供し、その結果、サーバは、ネットワークと通信している2つ以上のクライアント装置が、同じ登録認証またはクライアント識別子(クライアントID)を有しているか否かを判断して、1つ以上のクローンクライアント装置の存在を知らせることができる。
一つの態様によれば、クローンクライアント装置を検出するセキュリティ方法が提供され、該方法は、サーバにおいて、クライアント装置からメッセージを受信することであって、該メッセージが、該クライアント装置における1つ以上の操作イベントから得られる秘密識別子(covert identifier)を含むことと、該秘密識別子が、該サーバに格納されている該クライアント装置のための秘密識別子と一致するか否かを判断することと、該秘密識別子が一致しない場合に、クローンクライアント装置の検出を報告することとを備える。
該サーバに格納されている秘密識別子は、該サーバまたはクライアント装置によって生成された1つ以上の秘密データアイテムに基づいており、また、同じクライアント装置からのものであるとされている前のメッセージで受信されていてもよい。該メッセージが、実在するクライアント装置およびクローンクライアント装置等の異なるクライアント装置を生成元とする場合、1つのクライアント装置における操作イベントのタイミングおよび値が、別のクライアント装置におけるものと同一ではないため、該秘密識別子は一致しない。該秘密識別子は、1つ以上の操作イベント、例えば、イベントの発生の時間、または、該クライアント装置において、特定のイベントが発生した回数によって生成された値とすることができ、または、該操作イベントに基づいていてもよく、あるいは、ハッシング関数等を用いた1つ以上の秘密データ値の変形バージョンであってもよい。
該クライアント装置は、ネットワークを通じてデータを受信および/または送信することが可能な、セットトップボックス(set top box;STB)、パーソナルコンピュータ、ゲーム機、携帯電話、携帯端末(PDA)、ビデオ機器、スマートカード等のどのような種類のコンピュータデバイスであってもよい。該クライアント装置のために生成された秘密識別子は、クライアント装置によって収集されて格納された1つ以上の秘密データ値、またはそのような秘密データの変形バージョンを備えることができ、また、時間と共に変化し、かつ該クライアント装置によって、または該クライアント装置およびサーバによって格納することのできるクライアント装置の何らかの操作特性またはイベントに基づくことができる。該秘密識別子は、サーバによって与えられたトークンまたは値であってもよく、あるいは、クライアントおよびサーバが生成した秘密データ値の組合せであってもよい。本明細書において言及したクライアント装置の操作特性は、該クライアント装置において発生する、または該クライアント装置に関連して発生する、および特定のクライアント装置に固有であるイベント、例えば、所定の操作イベントが発生する時間、例えば、該クライアント装置またはサーバにおいて、所定のメッセージを送信または受信する時間、ファームウェアアップデート、メッセージをネットワークに送信する時間と、該ネットワークからの応答を受信する時間との遅延時間、該クライアント装置において、n番目のネットワークパケットを受信した時間、特定の操作イベントが発生した回数、サーバからクライアント装置へ送信されたトークン、受信したECM(Entitlement Control Message)パケットのカウント、クライアント装置が所定の時間に合わされたチャンネル、所定の時間におけるチャンネル変更の回数、クライアント装置内のチップに含まれるレジスタ値等である。スマートカードの場合、秘密データを生成するのに用いられる操作特性は、該スマートカードの最初の使用時の時刻、すなわち、ある操作のために該スマートカードが使用されたときのマイクロ秒時間、ある時刻に該スマートカードによって処理された、またはブロードキャストイベントトリガ等の特定のイベントで捕捉されたデータバイトの総数、または、他の何らかの操作データ、カウント、あるいは、例えば、該スマートカードの使用中に発生したイベントとすることができる。携帯電話の場合、該電話の通話記録は、該通話記録をハッシング関数で処理して、当該電話に固有の識別子を生成することによって、秘密識別子を生成するのに用いることができる。操作特性は、特定のクライアント装置の操作によって生成されるものであり、従って、クローンクライアント装置によって容易にハッキングまたは複製されず、例えば、発生したイベントまたは発生したトリガのマイクロ秒時刻、または新たなデータが捕捉される。秘密識別子は、秘密データ値を生成するための新たな操作イベントを用いて定期的に更新して、ハッキングの成功リスクをさらに低減することができる。
クライアント装置に固有の秘密識別子を生成するのに用いることのできる潜在的な秘密データ値のいくつかの実施例は、特定の種類のメッセージが該クライアント装置によって送信された、または該クライアント装置によって受信された最後の時刻、特定のイベントが発生した回数、例えば、購入されたアイテムの数、受信した一時キー更新の数、特定の種類のデータメッセージまたはネットワークパケットを受信した回数、または、クライアント装置が特定のイベントを実行した回数、システムで使用される際に動的ホスト構成プロトコル(Dynamic Host Configuration Protocol;DHCP)サーバによって使用されるインターネットプロトコル(internet protocol;IP)アドレス、ケーブルモデム等の他のネットワーク装置または信号強度から得られる値、所定数のイベントが発生した後のクライアントデータパラメータの値等である。秘密データ値は、サーバからのメッセージで受信した、および該サーバへの後のメッセージで用いられるデータを備えることができる。この値は、各後の通信時に、該サーバによって更新することができる。このようにして、該サーバは、更新済みの秘密データ値を含まないメッセージを受信した場合に、潜在的なクローン装置が存在すること、すなわち、システム上に同じ認証を有する2つ以上のクライアント装置があることを認識する。2つ以上の秘密データ値を、追加のセキュリティのために、各メッセージにおける秘密識別子のために用いることができる。スマートカードの場合、該秘密識別子は、該カードが使用された時間、購入したアイテムの数等に基づくことができる。
いくつかの実施形態において、イベントトリガは、秘密データ値を更新または変更するために、または、新たな秘密識別子を生成するのに用いられる更新済みの秘密データ値をもたらし、あるいは、クライアントとサーバの間のメッセージに含まれるメッセージングプロトコルまたはデータを変更するカウントまたはタイマーをスタートさせるために用いることができる。
別の態様においては、クローンクライアント装置を検出するセキュリティシステムが提供され、該システムは、複数の許可されたまたは実在するクライアント装置のための、クライアント認証またはクライアント識別子(ID)の複数のセットを格納し、およびクライアント装置からのメッセージで受信される、クライアント装置の操作特性に基づく秘密識別子も格納するネットワークサーバデータストレージモジュールと、クライアント装置から受信したメッセージ内の秘密識別子と、同じクライアントIDに対応する、前に格納された秘密識別子とを比較し、該秘密識別子が一致しない場合に、クローン検出リポートを生成する秘密データ処理モジュールと、を備える。
ネットワークが双方向ネットワークである場合、収集された操作イベントに基づく秘密識別子は、通常のネットワーク通信の間に交換される。該ネットワークが、通常通り一方向ネットワークとして作動するが、特定のクライアント通信のためのリターンチャンネルを有する場合には、該クライアント装置の使用に基づく所定の秘密データ値が収集されて、クライアント装置によって格納される秘密識別子を生成するのに用いられる。該秘密識別子は、使用可能なときに、例えば、定期的な更新プロセスの間に該リターンチャンネルを介してメッセージで該サーバへ送信される。該サーバは、特定の加入者のために最初の秘密識別子を格納する。後に、同じクライアント装置から生成されたと思われる秘密識別子を受信した場合、クローン検出リポートが該サーバによって発行される。
別の態様によれば、クライアント装置の操作によって生成されたデータに基づいて、秘密識別子を生成する秘密データ生成モジュールと、該秘密識別子を格納する秘密データストレージモジュールとを含むクライアント装置が提供される。該クライアント装置は、双方向ネットワーク環境での、または、特定の通信のためのリターンチャンネルを含む一方向ネットワークでの使用が意図されており、該クライアント装置は、現在格納されている秘密識別子を含むメッセージを生成するメッセージ生成モジュールも含むことができる。該秘密識別子は、後に、サーバまたは何らかの組合せからの要求に応じて、メッセージに埋め込まれた秘密データフィールドで、または、データ値として、ネットワークを通じてネットワークサーバへ送信される。該メッセージは、該クライアント装置が、通常、ネットワークとの一方向通信にのみ関連している場合に、通常、双方向通信でネットワークへ送信される、または、定期的な更新手順の一部としてのメッセージで、または他の標準的なメッセージで送信される種類のメッセージとすることができる。
一方向ネットワークサービスのためのリターンチャンネルがない場合、該クライアント装置は、該クライアント装置における新たなイベントに基づいて定期的に更新することのできるクライアント識別子を生成して格納する。該クライアント装置またはネットワークサーバは、クライアント装置において、所定の間隔でサービスコードメッセージを生成するサービスコード生成モジュールを含むことができる。このメッセージは、携帯電話を介して、または、サービスセンターとのインターネット接続を介して、加入者に、該サービスセンターを呼び出すか、または、ショートメッセージサービス(short message service;SMS)のテキストメッセージを送信するように要請して、加入者識別子および該クライアント装置内の現在格納されている秘密識別子を供給する。該現在格納されている秘密識別子は、別々に操作されているため、実在するクライアント装置とクローンクライアント装置とで異なるので、該サービスセンターは、2つのメッセージが、同じクライアントまたは加入者識別子と共に、および異なる秘密識別子と共に、いつ受信されたかを判断することができる。その結果、該サービスセンターは、どのクライアント装置が許可された加入者と関連しているかを判断する追加的ステップを採用して、当該クライアント装置のみを更新し、同じ加入者またはクライアント識別を用いる他のクライアント装置に対するサービスを遮断することができる。
秘密識別子は、クライアント装置の実際の動作中に発生する操作イベントによって生成される。該操作イベントは、該クライアント装置の製造後に発生し、加入者が該クライアント装置をどのように使用するかに基づいているため、該操作イベントは、特定のクライアント装置に固有のものである。クローンクライアント装置は、起動後に、別々に事を行い、これは、秘密識別子を生成するのに用いられる動作の違いであるため、これらの操作イベントは、クローンクライアント装置の間でも異なる。そのため、秘密データは、該クライアント装置によって格納され、後に、サーバへのメッセージに用いられる、特定のクライアント装置のための固有識別子を生成する。該クライアント装置が、通常、一方向ネットワーク通信でのみ使用される場合、該固有秘密識別子は、定期的な更新処理手順でネットワークに供給することができ、または、クローニングが疑われる場合に、ネットワークサーバが要求することができる。
上記秘密データ生成モジュールは、該クライアント装置の中央演算処理装置に組み込むことができ、該モジュールは、スマートカード、携帯電話等のある場合においては、単一チップで(システムオンチップまたはSOC)具体化することができる。また、上記秘密データストレージモジュールは、中央演算処理装置(CPU)に、または、該中央演算処理装置に関連する独立したデータベースに、あるいは、該CPUの内部または外部の記憶装置に組み込むことができる。
一実施形態におけるクライアント装置のメッセージフォーマットは、メッセージ識別子フィールドと、秘密データフィールドと、クライアント識別フィールドまたはキー要求等の、サーバへ伝達されるべきメッセージを含む、またはメッセージまたはメッセージIDの一部としての少なくとも1つの追加的なデータフィールドとを備える。メッセージの種類は、ログオンメッセージ、ブロードキャストキー要求メッセージ、電子商取引購入メッセージ、チャンネル変更要求、購読更新メッセージ等とすることができる。メッセージの種類がログオンメッセージである場合、追加的なデータフィールドは、ユーザ名およびパスワードを含む。秘密データフィールドは、1つ以上の秘密データ値またはアイテム、あるいはそのような秘密データ値の変換バージョンを備えることができる秘密識別子を含む。該秘密識別子は、メッセージの受信時に、2つ以上のクライアント装置が同じ認証を使用しているか否かを判断するために、サーバが利用することができる。2つ以上のメッセージの種類は、秘密識別子を含むことができる。
一実施形態において、現在の秘密識別子は、システムに対するログオン、復号キーの要求、電子商取引の実行等の通常のメッセージの一部として、または他のメッセージおよびシステム内で一般に発生するイベントの一部として、クライアント装置からサーバへ送信される。秘密識別子を生成するのに用いられる秘密データ値は、様々なイベントに基づくことができ、また、イベントトリガは、それまでに格納されている秘密識別子の更新または変更をトリガするイベントを定義するのに用いることができる。クライアントとサーバとの間の通常のメッセージングに付加される秘密識別子は、該クライアントとサーバとの間での追加的なメッセージまたは追加的な確認応答を必要とせず、ハッカーがプロトコルを監視して、システムをどのようにハッキングするかを判断できる可能性が低減される。従って、例えば、STBの加入者の認証をクローニングすることによって、サービスを不正に受けようとするハッカーは、秘密識別子と、該秘密識別子の変更が、正規のSTBとクローンのSTBとが同じ秘密識別子を有することを確実にしてしまうトリガとの意味を知る必要がある。2つ以上の秘密データ値は、秘密識別子を生成するのに用いることのでき、例えば、2つ以上の秘密データ値からなるクライアントライブラリは、サーバへの各選択されたクライアントメッセージにおける秘密識別子を生成するのに用いることができる。該秘密データ値からなるクライアントライブラリは、定期的に更新され、クローン装置をサーバから分からないようにすることをより難しくする。代替的実施形態においては、該秘密識別子は、クライアントとサーバとの間で、別々のメッセージで送信することもできる。
上記セキュリティシステムは、疑わしいクローン装置を識別するように設計された更新プロセスを含んでもよい。該更新プロセスは、ネットワークサーバによって生成されたクローン検出リポートに応じて始動することができ、または、定期的に、あるいは、他の理由でクローンに疑いがある場合に、実行してもよい。該更新プロセスは、複数のクライアント装置が同じ認証を使用している場合に、単一のクライアント装置のみを再承認するように設計される。
以下の詳細な説明および添付図面を精査すれば、当業者には、本発明の他の特徴および効果が容易に理解される。
構造および動作に関する本発明の詳細は、同様の参照数字が同様の部材を指す添付図面の検討によって、ある程度探り出すことができる。
本明細書に開示したいくつかの実施形態は、同一の認証を用いて、2つ以上のクライアント装置の検出を実行できる。例えば、本明細書に開示した一つの方法およびシステムは、クライアント装置とサーバの間の通常のメッセージングに付加されている、クライアント装置に特有の操作イベントの値に基づく秘密識別子を用いて、潜在的なクローン装置の検出を可能にする。
この説明を読めば、当業者には、本発明を、様々な代替的実施形態および代替適用においてどのように実施するかがはっきりと理解できる。しかし、本発明の様々な実施形態が本明細書に記載されているが、それらの実施形態は、限定ではなく、単に例証として提示されていることは理解される。従って、様々な代替的実施形態のこの詳細な説明は、添付の特許請求の範囲に記載されている本発明の範囲または広さを限定するものと解釈すべきではない。
以下の説明において、クライアント装置は、ネットワークからのデータを計算し、および受信することが可能な、セットトップボックス(STB)、パーソナルコンピュータ、ゲーム機、携帯電話、携帯端末(PDA)、パーソナルメディアプレーヤ、ディジタルビデオレシーバ(DVR)等のビデオ機器、ディジタルビデオディスク(DVD)プレーヤ、コンパクトディスク(CD)プレーヤ、スマートカード等のどのような種類の装置であってもよい。許可された、または実在するクライアント装置とは、ネットワークを通じてサービスを受けるために、または、スマートカードの場合のように、ネットワークによって許可されたバンキング、購買等のローカルサービスを受けるために、サーバに正式に登録されている装置のことである。クローン装置とは、該ネットワーク上でのサービスのために正式に登録された実在するクライアント装置と同一の認証を有し、および許可なしに金またはサービスを得ようとする未許可または未払いのユーザによって使用される装置のことである。「秘密データ」、「秘密データ値」および「秘密データアイテム」という用語は、クライアント装置の操作特性に基づく固有のデータ値、例えば、特定のクライアント装置の操作、または当該装置のサーバとの通信あるいはトークンによって生成された値、あるいは、サーバによって生成され、かつ該クライアント装置へのメッセージに埋め込まれている、該クライアント装置の操作に基づく値を示すのに用いられる。このような値は、その性質が、ハッカーがクローン装置において検出して複製するのを困難にし、また、該データが製造後に生成されるため、秘密である。「秘密識別子」という用語は、特定のクライアント装置の操作に関連する秘密データ値に基づいて生成される、該特定のクライアント装置に固有の識別子を指し、また、いくつかの実施形態においては、1つ以上の実際の秘密データ値を備えることができ、あるいは、ハッシュ関数を用いた、そのようなデータ値の変換バージョンであってもよく、または、任意の数値を根源としてもよく、あるいは、該データに対して他の変換を実行してもよい。「イベントトリガ」という用語は、クライアント装置とサーバの間のメッセージングプロトコルに含まれている秘密識別子の更新または変更をトリガするイベントを表すのに用いられる。「イベントカウンタ」は、クライアント装置によって実行されたイベントをカウントし、およびカウントされたイベントの数がしきい値を超えた場合の、イベントトリガとして用いることができる。
図1は、一実施形態によるクローン検出を盛り込んだネットワークセキュリティシステムのブロック図であり、サーバ10は、ネットワーク14を通じて、実在するまたは許可されたクライアント装置12と通信し、また、同一のクライアント認証を用いた多数のクローンクライアント装置15、16も、ネットワーク14を通じてメッセージをサーバ10へ送信する。1つ、2つまたはそれ以上のクローン装置は、クライアント装置12を装うことにより、いつでもネットワークサービスを利用しようと試みることができる。コンピュータ環境の侵害者は、多くの場合、同一の認証を有する多数のクライアントを生成することにより、ネットワークおよび他のサービスを盗もうとし、それによって、未払いの加入者が、支払い済みの許可された加入者のサービスを共有または不正流用することを可能にする。
図1に示すように、サーバ10は、クライアント装置からメッセージで受信することができる、および/または該サーバによって生成することのできる秘密識別子を格納するデータストレージモジュール23を有するサーバデータベース(DB)につながっている。上述したように、各秘密識別子は、特定のクライアント装置における操作イベントに基づいている。サーバ10は、ネットワーク通信を制御する通信モジュール11と、以下に詳細に説明するように、クライアント装置から受信したメッセージ内の秘密識別子と、モジュール21内のこれまでに格納された秘密識別子とを比較するクローン検出モジュール13とを有する。サーバ10は、図示されていない、追加的な標準サーバ処理および制御モジュールを有する。
図1のシステムにおいて、クライアント装置12は、メッセージM1をサーバ10に送信し、一方、クローン装置15、16は、同様のメッセージM2およびM3を該サーバに送信する。これらのメッセージは、どのような順番でも送信してもよく、また、該サーバは、メッセージM1〜M3の送信の順番に関係なく、1つ以上の潜在的なクローンの存在を検出するように適応されている。各メッセージは、該メッセージの所定の秘密データフィールドまたは部分に埋め込まれた秘密識別子18を含むように適応されている。該サーバと通信するクライアント装置のための秘密識別子は、クライアント装置のためのクライアント認証と関連付けられており、以下に詳細に説明するように、同じ認証を有する1つ以上のクライアント装置から受信した今後の秘密識別子との比較のために、秘密データストレージモジュール23に格納される。各真のおよびクローンのクライアント装置は、それぞれ、データベースまたはメモリストレージ(RAM、ROM、FLASH、EEPROM)またはレジスタストレージ30、32、34を有し、該秘密データ値は、所定のイベントトリガ時に格納され、更新される。該データベースは、図1のクライアント装置から独立して図示されているが、該データベースは、該クライアント装置に収容してもよく、または、中央演算処理装置または該クライアント装置内のシステムオンチップ(SOC)の一部、あるいは、RAMメモリ、フラッシュメモリ、固定メモリ等のデバイスメモリであってもよい。
(実在またはクローンの)クライアント装置12、15または16は、図3に、より詳細に図示されている。該クライアント装置は、セットトップボックス、パーソナルコンピュータ、ゲーム機、携帯電話、PDA、ポータブルメディアプレーヤ、DVDプレーヤ、DVRまたはスマートカード等の、ネットワークを通じた通信のために構成されたどのようなクライアント装置であってもよい。該クライアント装置は、独立して図示されているが、該クライアント装置の他のモジュールとして同じハウジング内に、または、ある場合においては、他のモジュールとして同じチップ上に組み込まれていてもよい関連するデータストレージモジュール30、32、34を有する。また、該クライアント装置は、サーバ10とのネットワーク通信を制御する通信モジュール17と、該サーバから受信した秘密データ値、イベントトリガまたはデータに基づいて秘密識別子を生成する秘密識別子生成モジュール19と、メッセージフォーマット化モジュール28とを有する。該クライアント装置は、図3には図示されていない標準的なクライアント装置処理および制御モジュールも含む。該データストレージモジュールは、以下に説明するように、秘密データ値の現在のセットを格納する秘密データテーブルモジュール29を有する。該秘密識別子が、該秘密データ値の変換バージョンである場合、現在の秘密識別子または秘密データ値のマトリクスあるいは秘密データ値の群もモジュール29に格納される。
一実施形態において、メッセージフォーマット化モジュール28は、現在の秘密識別子を、該サーバに送信される一種類以上のメッセージに挿入または埋め込まれるように適応されている。該クライアント装置が、一方向ネットワーク通信を受信することのみに使用され、かつ該ネットワークへのリターンチャンネルにアクセスできない別の実施形態においては、メッセージフォーマット化モジュール28は省かれ、図9に関して以下にさらに詳細に説明するように、該秘密識別子生成モジュールが、定期的な加入者更新プロセスに関連して、現在格納されている秘密識別子を、固有識別コードの形で該クライアント装置のユーザに対して表示するように構成される。
一実施形態において、該秘密セキュリティデータまたは識別子18は、メッセージがそこから送信される該装置の操作特性に基づいている。このような特性は、クローンクライアント装置が、許可されたまたは実在するクライアント装置と同じ様に操作されないため、およびメッセージ、更新等の操作イベントが、異なる装置において異なる時刻に発生するため、該クライアント装置のクローンにおいて複製するのが困難であり、または不可能である。マイクロ秒単位で同一のイベントを現実の世界のクライアント装置で得ることは、ほとんど不可能である。クライアント装置の操作特性は、所定の操作イベントが発生する時刻、例えば、該クライアント装置またはサーバにおいて所定のメッセージを送受信する時刻、ファームウェア更新、ネットワークへのメッセージ送信と、該ネットワークにおける応答の受信との遅延時間、該クライアント装置において、n番目のネットワークパケットが受信された時刻、クライアント装置が、選定された期間に、特定の操作イベントを実行した回数、サーバからクライアント装置へ送信されたトークン、受信したECMパケットのカウント、クライアント装置が、所定の時間に合わせられたチャンネル、所定の時間におけるチャンネル変更の回数、一定の時刻に、クライアント装置内のチップ上に含まれるレジスタ値等の、該クライアント装置の操作に基づいて生成される特定のクライアント装置に固有の値である。正確なデータ値は重要ではなく、重要なことは、2つの同一の装置の操作に基づくデータ値が異なっている可能性が大きいということであるため、秘密データ値(または、クライアントの操作に固有のデータ値)を生成するのに用いることができる限りない数の操作データ値があるということが分かる。同じ認証を使用している2つ以上のクライアント装置がネットワークを通じて通信している場合、そのような操作特性は、1つのクライアント装置と他のクライアント装置とでは同一ではなく、また、ユーザによって特定のクライアント装置の操作によって独自に生成される。そのため、このような特性に基づくそのような操作特性および秘密識別子は、クローンクライアント装置によって容易にハッキングまたは複製することができない。クローンクライアント装置のオペレータが、真のまたは許可されたクライアント装置のそのような特性を得る可能性は低く、通常、どの具体的な操作特性が該秘密識別子を生成するのに用いられているかということには気付かず、また、一実施形態においては、該秘密データ値は、クライアントソフトウェアの異なるバージョン間で変わる。
上記サーバは、特定の認証を有する装置からのメッセージで受信した秘密識別子を抽出し、この識別子と、明らかに同じ装置からの前のメッセージで受信した識別子を比較する。一致しない場合は、1つ以上のクローンが使用されている可能性があり、該サーバは、さらなる措置のために、起こり得るクローン検出に関する適切な通知をシステムオペレータに与えることができる。該サーバは、メッセージを送信している同じ認証を有するいくつかのクライアント装置のうちのどの装置がクローン装置であるかを判断することができないため、該オペレータへのクローン検出通知と共に、要求されたサービスが、これらの装置へ供給される。
一実施形態において、秘密識別子は、該クライアントとサーバとの間で交換される通常のメッセージで送信される。例えば、該クライアントがシステムにログオンして、ログオンメッセージが定義されると仮定する。標準的なログオンメッセージは、ユーザ名とパスワードを含む。一実施形態において、該ログオンメッセージは、これらのユーザ名およびパスワードに加えて、秘密識別子18を含む。該クライアント装置がシステムにログオンしようとする場合、該クライアント装置は、ユーザ名およびパスワード等の標準的なログオン情報を生成し、該秘密識別子が該ログオンメッセージ(または、いずれかのメッセージまたは全てのメッセージ)に埋め込まれて、該秘密識別子を該標準的なログオンメッセージの一部として含むログオンコマンドが形成される。該ログオンメッセージは、ユーザ名、パスワード、および該秘密識別子を含むデータからなる追加的なバイトを含む。一実施形態において、該秘密識別子に含まれる、または、該秘密識別子を生成するのに用いられるデータアイテムまたは値は、該クライアント内での操作イベントに基づいて異なる時間に変化し、または、時刻、または、特定のイベント後の一定期間に基づいて変化し、その結果、該秘密識別子は、本質的に、特定の時間に秘密データ値を変えることにより、または、新たな秘密データアイテムを前の秘密データアイテムに付加することによって更新し、特定のクライアントのための秘密データアイテムの数を増やすことができる。
クライアント装置とサーバとの間のどのような標準的メッセージ交換も、最初のログオンメッセージ等のクローンを検出するのに用いることができる。秘密識別子は、通常のメッセージと、および/またはクライアントがシステムにログインしたとき等のイベントと組合わせることができる。クライアントユーザ名およびパスワード等のログオン時に典型的に含まれている情報に加えて、ユーザがネットワークにログインした最後の時間または現在のログオンと前のログオンの時間差等の、特定のクライアント装置の動作に固有のログオンメッセージに該秘密識別子を付加することができる。秘密データは、通信システム内の全てのメッセージに、または、ログオンメッセージまたは他の種類のメッセージ等の選択されたメッセージのみに適用することができる。
図2Aは、現在用いられている従来のログオンメッセージプロトコルを示す。このメッセージは、該システム上でサポートされるメッセージ群のメッセージ種別を定義し、およびシステム内の各メッセージに対して典型的に固有である、メッセージ識別フィールド(ID)21を含む。また、該メッセージは、該システムにおけるあらゆる種別のうちの各メッセージのための固有番号を含み、および該メッセージを処理する前に、シーケンス番号が新しいことを確認することにより、該システムがメッセージのリプレーアタックを排除できるようにする増分カウントである任意のシーケンス番号フィールド22も含む。該メッセージが最初のログオンメッセージである場合には、該メッセージは、該サービスのために登録された、または、該サービスプロバイダに伴う加入者アカウントに関連する、該システム上のユーザまたはクライアント装置のためのユーザ名を含むユーザ名フィールド24と、アカウントまたはサービスに関連する該ユーザのためのパスワードを含むパスワードフィールド25も有する。該パスワードは、該ユーザまたは加入者が、該システムまたはサービスプロバイダに最初に申し込みまたは登録したときに与えられ、また、該サーバにより、後のユーザによるサービスの要求において確認される。該パスワードがパスワード保護システムに正しく供給された後にのみ、サービスにアクセスすることができ、または、ユーザが該サービスを利用してアイテムを購入することができる。また、秘密データを該パスワードの一部として用いて、各クライアントのために、該パスワードまたはデータをソルティングするのに用いられる秘密データを認識しているサーバ側で、または、暗号鍵またはソルティングキー(salting key)を該クライアントにダウンロードする該サーバ側でソルティングすることができる。このようなパスワードは、ハッカーによって手に入れられて、支払いなしでサービスを得ようとする際に、クローン装置と共に用いられる場合がある。
図2Bは、正規のログオンメッセージ構造における秘密データフィールド18内に秘密識別子を含む改良された初期ログオンメッセージの実施形態を示す。該IDフィールド、シーケンス番号フィールド22、ユーザ名24およびパスワード25は、図2Aの対応するフィールドと同じであるが、該メッセージは、フィールド22、24間のデータフィールド18に秘密識別子を備えるように変更されている。他の実施形態においては、秘密データフィールド18を、該メッセージの他の位置に設けてもよく、また、ブロードキャストキー要求メッセージ、電子商取引メッセージ、チャンネル変更メッセージ等の異なる種類のメッセージ内に設けてもよい。該秘密識別子は、装置とサーバ間の特定の一種類のメッセージのみに設けてもよく、または、該装置によって送信される各メッセージに、あるいは、様々なメッセージに断続的に設けてもよい。秘密識別子の断続的な送信は、このような識別子を、潜在的なハッカーによって突止められることを難しくすることができる。暗号化メッセージングは、クライアントとサーバ間の非暗号化メッセージングよりも常に安全であるため、一実施形態において、秘密データは、インターネットプロトコルセキュリティ(Internet Protocol Security;IPSec)またはセキュアソケットレイヤ(secure socket layer;SSL)あるいはクライアントとサーバとの間の他の形態の暗号化等の暗号化接続を通じて送信される。
図1に示すように、メッセージM1、M2およびM3の各々は、フィールド18内に秘密識別子を有するが、メッセージM2およびM3内の該秘密識別子は、通常、メッセージM1の秘密識別子と一致しない。これは、一実施形態において、該秘密識別子は、該クライアント装置またはサーバにおける特定のメッセージの送受信の時間、特定の種類のデータメッセージまたはネットワークパッケージを受信した回数等の、該クライアント装置の操作特性または操作イベントによって生成された秘密データ値に基づいているためである。該秘密識別子は、該秘密データフィールドの異なる領域に含まれる複数の操作的に生成された秘密データ値を備えることができ、または、そのような秘密データ値の変換バージョンを備えてもよい。このような値は、クローンクライアント装置の動作が、通常、クライアント装置または他のクローンクライアント装置の動作に一致しないため、クローン装置における値と、実在するクライアント装置における秘密データ値とが一致することは非常に稀である。例えば、該秘密データフィールドの第1のセグメントは、クライアント装置の最初の電源投入時間をミリ秒単位で含むことができる。ある時間またはあるイベントの回数の後に、該秘密データフィールドの第2のセグメントは、該装置に対する後の電源投入時間を、最初の電源投入時間に加えることができる(例えば、T1、T2)。該サーバが、該クライアント装置またはクローンクライアント装置によって該第2の電源投入時間が追加されたか否かを知らなくても、元の電源投入時間T1が、該両装置に対して同じになることは非常に稀であり、また、クライアントとサーバの間で交換された該秘密データに付加された該第2のおよび後の秘密データアイテムは、クライアント間で固有であるように設計され、また、追加的な秘密データアイテムは、該クライアントの継続的操作の間に生成されるため、該秘密データが同一になる可能性は非常に低い。
該サーバは、許可されたおよび/またはクローンのクライアント装置からメッセージを受信し、許可されたユーザのクライアント認証に関連する最新の秘密識別子をサーバ秘密データストレージモジュール23に保存する。明らかに同じクライアント認証に関連する装置からのものである後のメッセージが受信されると、該サーバは、該秘密識別子と、当該クライアントのための前に格納された秘密識別子とを比較する。1つ以上の秘密識別子において、マッチングが見つからなかった場合には、該サーバと通信している装置のうちの1つが、クローン装置である可能性があり、該サーバは、クローンが検出されたことをオペレータに報告する。その結果、該オペレータは、どの装置が有効か、または許可されたクライアント装置であるか、およびどの装置がクローンであるかを判断するための処理手順を開始することができる。
図4は、図1、図2Bおよび図3のシステムを用いる、ネットワーク上のクローンクライアント装置の存在を検出する方法の一実施形態を説明するフロー図である。ステップ40において、クライアント装置は、秘密データフィールド18に秘密識別子を含むメッセージをサーバへ送信する。該メッセージは、例えば、図2Bに示すフォーマットからなり、あるいは、該メッセージ内の選択されたデータフィールドに挿入された、1つ以上の秘密データ値を備える秘密識別子、または、1つ以上の秘密データ値の変換バージョンである識別子を有する他のどのような種類の標準的ネットワーク通信メッセージであってもよい。該サーバは、該メッセージを受信し、該メッセージから秘密識別子を抽出し(42)、その後、該秘密識別子と、該メッセージがそこに由来する登録済みのクライアント装置に関連するクライアント認証に対応する格納された秘密識別子とを比較する(ステップ44)。該サーバは、この比較に基づいて、一致したか否かを判断し(ステップ45)、すなわち、格納されている秘密識別子のいずれかの部分と、該メッセージ内の該秘密識別子との間に一致があるか否かを判断する。マッチングが見つかった場合、該サーバは、適切なときに、メッセージ応答を該クライアント装置に送信し(ステップ48)、この新たな秘密識別子を格納し、所望のサービスまたは取引を行う。マッチングが見つからなかった場合、すなわち、該秘密識別子のどの部分にもマッチングがない場合には、該サーバは、潜在的なクローンが検出されたことを示すレポートをオペレータに対して生成し(ステップ46)、また、任意のフラグをメモリに設定してもよい。該秘密識別子が、秘密データ値を変換することによって生成されたマルチディジタルコードである場合、マッチングは、受信した秘密識別子が、格納されている秘密識別子と同一であることを意味する。該秘密識別子が、進行中のイベントに基づく1つ以上の秘密データ値である場合、受信した秘密識別子は、前に格納された秘密識別子の一部のみに一致する可能性があるが、該秘密識別子は、該サーバへの最後のメッセージ後に付加された新たな秘密データ値を含む。該受信した秘密識別子の一部が、該格納されている秘密識別子に一致する場合にも、マッチングが見つかるが、該秘密識別子のどの部分においてもマッチングがない場合には、マッチングは見つからない。
該サーバは、装置がクローンクライアント装置であるか否かがまだ判断されていないため、すなわち、該サーバは、該サーバと通信している2つのクライアント装置のうちのどちらがクローンであるかを判断するための十分な情報を有していないため、潜在的なクローンが検出された場合に、該メッセージを送信する該装置と通信を続ける可能性がある。最後のステップにおいて、サービスは、クローンであると分かった装置に対して、または、全ての装置に対して中止して、許可された加入者をサービスプロバイダと接続したままにして、継続すべきサービスの準備をすることができる。
一実施形態において、該秘密識別子がそれに基づいている秘密データ値は、クライアント装置における特定の操作イベントによって生成することができる。該操作イベントによって生成される可能性のある秘密データ値のいくつかの実施例は、以下の項目である。
a)クライアントが、キーの要求、または、サーバとのセッションの開始、あるいは、電子商取引の実行等の特定のイベントを実行した回数。
b)加入者によって購入されたこれまでのアイテムの数。
c)クライアントによって受信された一時的なキー更新の数。
d)最新のファームウェア更新の時間。
e)該クライアントに対する最新のキー要求の時間。
f)特定の種類の最新メッセージの時間、または、特定のメッセージを受信した回数のカウント、あるいは、現在のメッセージと、該サーバから受信している先行するメッセージとの間の遅延。
g)特定の種類のメッセージがクライアントによって受信された時間。
h)特定の種類のメッセージを該クライアントから受信した時間。
i)特定の種類のメッセージまたはネットワークパケットが、ビデオECMを含む実施例と共に受信された回数のカウント、特定のTCP IPポート数に対するパケットのカウント等。
j)ネットワークに送信される要求メッセージと、サーバから戻されて受信される応答との間の時間遅延。
k)マルチキャスト結合が実行された最後の時間、または、最後のマルチキャスト結合の値。
l)動的ホスト構成プロトコル(DHCP)がシステムに用いられている場合に、DHCPサーバによって与えられるIPアドレス。
m)DHCPがシステムに用いられている場合のDHCPリースに対して残っている時間。
n)ケーブルモデムのための距離パラメータ、または、新たなクライアントを稼働させた3日後のネットワークの信号強度等の他のネットワーク装置から得られた値。
o)特定の期間後、例えば、クライアント装置がサーバから秘密データ値を受信した後に生成される、何分間、該クライアント装置が該サーバに接続すべきかに関して該クライアント装置に対して示されるデータ変更または新たなメッセージ。
p)57のチャンネルが変化する場合のTVチャンネル番号等の多数のイベントが行われた後のクライアントデータパラメータの値。
q)新たな秘密データ値を生成する関数で処理された、前に使用された秘密データ値から得られた新たな秘密データ値。
r)クライアント装置上のチップ内のデータから生成された秘密データ値、または、クライアント装置内のチップまたはハードウェアプラグインボードあるいはカードまたは固定メモリからの処理済または基準化されたデータから生成された秘密データ値。
s)クライアント装置が、サーバに対する後のメッセージに、1つ以上の秘密データ値またはアイテムを含む秘密識別子の一部として保持し、かつ用いる、該サーバから受信したトークンまたはキー等の秘密データ値。該サーバから受信した秘密データは、該クライアント装置によって変換することができ、変換されたバージョンは、後のメッセージにおける秘密識別子として該サーバに戻すことができる。このことは、該サーバが、該クライアントとサーバとの間の通常のメッセージにおいて、通常のシステムメッセージの一部として、該クライアントにトークンまたはキーを渡すことを可能にする。クライアントの秘密識別子のために用いられる該サーバが供給したトークンは、別々のメッセージに設定することができるが、好適なメッセージは、該サーバからの秘密データ値を通常のメッセージで渡す。
t)12000番目のネットワークパケットを受信したときの時間。
上に列挙した値のうちのいくつかは、クライアント装置とサーバとの間のメッセージングプロトコルに含まれている秘密識別子の更新または変更をトリガするイベントトリガまたはイベントカウンタとして追加的または代替的に用いることができる。例えば、操作的イベントは、例えば、クライアント装置におけるチャンネル変更の回数等の後の操作的イベントをカウントし、ユーザが所定回数、チャンネルを変えたときの秘密データ値を記録するカウンタをトリガすることができる。該秘密データ値は、所定のカウントに達したときの時刻、または、所定のカウントに達するまでに要した時間とすることができる。他の種類の操作的イベントも、同じ方法でカウントして、クライアント装置によって送信または受信された特定の種類のメッセージの数、購入されたアイテムの数等のイベントトリガを生成してもよく、あるいは、イベント自体の数を直接、秘密データ値として用いてもよい。他の可能性があるイベントトリガは、ファームウェア更新等の操作イベントが発生したときの時間である。このようなイベントトリガは、異なる操作イベントに基づいて、秘密データ値の前のセットを、秘密データ値の新たなセットに変えるのに用いることができ、その結果、新たな秘密データ値が秘密識別子を生成するのに用いられることとなる。このことは、ハッカーが、どの特定の操作イベントが該秘密識別子を生成するのに用いられるのかを判断することを非常に困難にする。
秘密データ18は、表にすることができる。可能性のある秘密データテーブルの一実施形態を以下の表1に示す。以下に示す表において、該秘密データテーブルは、2つの秘密データアイテムまたは値を用いて作られている。一方の秘密データアイテムは、最新のブロードキャストキー要求(broadcast key request;BKEY)メッセージが形成された時刻(time of day;TOD)であり、他方の秘密データアイテムは、セットトップボックス(STB)または他のクライアント装置等のクライアント装置によって得られる一時キー更新の回数である。操作特性に基づく他の秘密データアイテムも、代替的実施形態において用いることができ、3つ以上の秘密データアイテムを別のセキュリティのために用いてもよい。最初に、表1におけるこの値は共に0であり、最初の秘密識別子は、0、0となる。以下の表1は、クライアントソフトウェアリリースの1つのバージョンにおいて、一緒にすることのできる2つのデータ値からなる単なる実施例である。他の秘密データ値を、秘密識別子を生成するのに用いてもよいこと、および異なるデータ値を、異なるソフトウェアバージョン間で用いてもよいことが想定されている。例えば、この実施例においては、一時キー更新の回数が用いられているが、該ソフトウェアの別のバージョンにおいては、最後の一時キー更新のTODを用いることができ、または、第1の一時キー更新と第2の一時キー更新の間の秒数を用いることができる。
Figure 2009524165
図5Aおよび図5Bは、実施形態の一つの実施例における、上記の表1の場合のように秘密データを用いてクローン装置を検出する方法ステップのフロー図を示す。以下の表2は、図5Aおよび図5Bにおける様々なステップにおいて、サーバおよびクライアント装置またはクローンクライアント装置の両方に格納される秘密データ値の一つの可能性のある実施例を示し、図6A〜図6Fは、図5Aおよび図5Bの実施例における様々な段階で生成されるメッセージを示す。表2および図5において、「実在するクライアント装置」という用語は、該サーバに登録されたクライアント装置の認証に関連する元のまたは許可されたクライアント装置を意味するのに用いられ、一方、「クローンクライアント装置」という用語は、同じ認証を有する、該実在するクライアント装置の全くのコピーであるクライアント装置を意味する。図5Aのステップ100において、実在するまたは許可されたクライアント装置がインストールされ、サーバ10によって供給されるサービスに加入者を関連付けるように登録され、該サーバは、該加入者のクライアント装置の認証をデータベース20に保存する。クライアント装置14の最初の電源投入時に(ステップ101)、秘密識別子は、該サーバのデータベースおよびクライアント装置のデータベースの両方において、既知の初期値に初期化される(ステップ102)。この場合の秘密識別子は、以下の表2に示すような秘密データ値からなるセットを備える。この実施例において、該秘密識別子に用いられる秘密データ値のうちの少なくとも1つは、該クライアント装置によってブロードキャストキー(BKEY)要求が行われる時刻(TOD)であるが、他の実施形態においては、他の何らかの秘密データ値をBKEY要求TODの代わりに、または、該TODに加えて用いてもよい。
BKEY要求が受信される前にサーバデータベース20に格納されている初期の秘密データ値は、認知された(Acked)TOD=0、認知されていない(NotAcked)TOD=0であり、すなわち、該サーバにおける、このクライアントのための秘密データまたは識別子は、0、0であり、一方、該クライアント装置が最初に電源投入したときに該クライアント装置に格納されている初期秘密データ値は、TOD=0である。これは、該クライアント装置がインストールされた後の最初の電源供給であり、該クライアント装置はまだブロードキャストキーを要求していないため、ブロードキャストキー要求のためのTODイベントトリガはゼロである。任意のまたは全ての秘密データは、クライアント装置の最初の電源投入時に、および/またはクライアント装置からの最初のメッセージ受信時の前に、該サーバにおいて、ゼロ等の初期状態に設定することができる。代替的実施形態においては、1つ以上のゼロではない秘密データ値を、加入者のクライアント装置が該サーバに登録されたときに、登録プロセス中に生成することができ、また、初期秘密識別子を生成するのに用いることができ、または、最初にゼロに設定される1つ以上の秘密データ値に加えて、秘密識別子に含ませることができる。
表2において、該サーバに格納されている秘密データアイテムの認知されていない(NotAcked)値は、該クライアント装置からのメッセージにおいて、まだ認知されていない、該サーバによって(実在するまたはクローンの)クライアント装置に対して発行された最後の値である。NotAcked値は、該クライアントが、該NotAcked値、または、該クライアント装置によってNotAcked値から得られたある値を戻したときに該サーバに格納された値の認知された(Acked)列に移動される。該クライアントは、一実施形態において、表2および図5および図6に示すように、次のメッセージ内のNotAcked値を該サーバに戻してもよい。代替的実施形態(図示せず)において、該クライアント装置は、新たなNotAcked値の受信時に、特定の肯定応答メッセージを該サーバに送信し、NotAcked値が該クライアント装置のデータベースにうまく格納されていることを確認する。この時点では、該NotAcked値は、該サーバにおいて、該Acked値と取って代わっている。しかし、この代替的実施形態は、ハッカーが秘密データ値を得やすい。指定された種類の次のメッセージが該サーバに送信されたときに、NotAcked値の肯定応答のみが行われる、図5Aおよび図5Bに示す方法は、より秘密性が高い。
初期化の後、クライアント装置14は、ステップ104において、ブロードキャストキーのための要求(BKEY要求)を該サーバに送信する。一実施形態において、この要求は、秘密識別子または秘密セキュリティデータ18を含む。この場合のBKEYメッセージにおける秘密識別子は、以下のようになる。
TOD 最後のBKEY要求の時刻=0
一時キー更新=0
換言すれば、該BKEY要求における秘密識別子は、0、0であり、このメッセージM1のフォーマットを図6Aに示す。
該サーバは、このBKEY要求を受信し(ステップ105)、該要求から該秘密識別子内の秘密データ値を抽出し、これらの値が、該サーバに格納されている対応する値に反しているかをチェックする。この比較は、一連のメッセージのみにおけるBKEY TOD秘密データ値の場合に以下に説明するが、同様の比較は、一時キー更新に基づく値等の、秘密識別子における他の秘密データ値に対しても実行される。これは、これらのクライアント認証を用いた任意のクライアント装置からの最初のメッセージであるため、BKEY TODデータは一致し(ステップ108)、該サーバは、該サーバによって決められたTOD値T1、すなわち、該サーバにおける、このクライアントからの最初のBKEY要求の受信の時刻と共に、BKEYを該クライアント装置に戻す(ステップ110)。BKEY返信メッセージR1のフォーマットの一実施形態が図6Bに示されているが、この場合、新たなTOD値T1が、メッセージIDおよびSNの後ろのメッセージフィールドに与えられる。代替的実施形態においては、該メッセージの場合のTOD値は、該サーバから該メッセージ内で受信される代わりに、該クライアント装置によって局所的に読出してもよい。他の代替的実施形態においては、該サーバから受信したTOD値は、該サーバから送信されたどのような種類のデータ値またはトークンと置き換えてもよい。
以下の表2に記載されている実施例においては、TOD値T1は8437であり、この値の受信の肯定応答はまだ、該クライアント装置から受信されていないため、ステップ114において、NotAcked TODとして該サーバのデータベースに付加される。上述したように、代替的実施形態において、該クライアント装置は、TOD値T1の受信の肯定応答を送信するようにプログラムすることができるが、この実施形態においては、そのような肯定応答は、次のBKEYメッセージまで送信されず、そのため、TOD値T1は、後のBKEYメッセージにおいて肯定応答されるまで、および肯定応答されない限り、NotAcked値のままであり、これは、より秘密性の高いオプションである。この時点において、該サーバに保存されているクライアント識別子における該TOD値は、この実施例においては、Acked TOD=0、NotAcked TOD=T1または8437である。
Figure 2009524165
Figure 2009524165
ステップ115において、該実在するクライアント装置は、該サーバからの返信で、新たなTOD値T1(この実施例においては、8437)と共に、ブロードキャストキーを受取る。次に、該クライアント装置は、該新たなTOD値を格納し(ステップ116)、該ブロードキャストキーを用いて、該サーバからのブロードキャストデータ等の暗号化されたデータを解読する(ステップ118)。図示した実施例において、クローンクライアント装置は、最初のブロードキャストキーが、実在するクライアント装置によって受信されたしばらく後に、および該実在するクライアント装置が、後のブロードキャストキー要求をサーバへ送信する前に、電源投入される(120)。このイベントの順序は、全てのケースにおいて発生するわけではなく、実在するクライアント装置およびクローンクライアント装置がサーバと通信する順序の単に1つの可能性のある実施例である。該クローンクライアント装置は、初期秘密データ値0、0を備える秘密識別子を含むブロードキャストキー要求をサーバへ送信し(ステップ122)、このメッセージM2の可能性のあるフォーマットを図6Cに示す。この実施形態において、いずれかのクローンクライアント装置からの該最初のメッセージは、許可されたまたは実在するクライアント装置からの最初のメッセージと同じ秘密識別子、すなわち、0、0を含む。このメッセージが、該実在するクライアント装置が該サーバからの新たなTOD値を認知する前に、該サーバによって受信された場合、該サーバは、クローンクライアント装置が存在することを知る方法をまだ有していない。該メッセージが、新たなTOD値が最初にBKEYを要求した同じクライアント装置によって認知された後に受信された場合は、該サーバは、同一の認証を用いた2つのクライアント装置がシステム上に存在することを知って、図4に示すようなクローン検出レポートを生成する。
図5Aおよび図5Bの実施例において、クローンクライアント装置は、実在するクライアント装置が、該サーバからの新たなTOD値の受信を認知する前に、最初のBKEY要求を該サーバへ送信する。該BKEY要求の受信時に、該サーバは、秘密データ値0、0を抽出して、それらの値と、同じ認証を有する該実在するクライアント装置に格納されている秘密データ値とを比較する(ステップ124)。この時点において、秘密データの一致が判明し(ステップ125)、すなわち、NotAcked TOD T1(例えば、8437)の受信の明確な肯定応答は、まだ、該クライアント装置から受信されていないため、受信した秘密データは正しい。この特定の実施例において、該サーバは、TODを含むメッセージが、ネットワーク障害または該クライアント装置の電源オフ等の何らかの理由のために、該クライアント装置によって受信されなかったことが分からず、またそのため、現時点ではクローン装置が存在するとは考えない。該サーバのデータベースは、該TODの最後の既知の良好な値(この場合は0)と、最後の認知されていないTOD値T1とを含む。一実施形態において、この認知されている値は一致であるため、該サーバは、図6Dに示すフォーマットを有することができる返信メッセージで、新たなTOD値T2と共に、ブロードキャストキーをクローンクライアント装置へ送信する(ステップ126)。上記の表2に記載されている具体的な実施例において、値T2は、9902である。同時に、該サーバにおけるNotAcked TODは、ステップ30において、図5Bに示すように、T2(または、この実施例においては、9902)に変えられ、前に格納されているNotAcked TOD T1(または、表2の実施例においては、8437)が削除される。
該クローンクライアントは、該サーバからのメッセージでBKEYメッセージおよび新たなTOD値T2を受信し、この新たなTOD値T2を保存し(ステップ132)、該サーバから受信したブロードキャストデータ等のデータを解読し始める(ステップ133)。図5Bに示す実施例において、ステップ132の後の該サーバとの次の通信は、ブロードキャストキーを要求する(BKEY Request)該実在するクライアント装置から送信されるメッセージであるため、該実在するクライアント装置は、そのBKEYを更新する必要がある(ステップ134)。このメッセージは、図6Eに示すフォーマットを有することができ、また、該実在するクライアント装置に現在格納されている秘密データ値、特に、このクライアント装置からの最後のBKEY要求のTOD(T1または8437)および一時キー更新番号(この実施例においては、0)を備える秘密識別子を含む。ステップ135において、該サーバは、該実在するクライアント装置から新たなBKEYメッセージを受信し、現在格納されているAcked TOD値およびNotAcked TOD値(具体的には、0およびT2または9902)と、該クライアント装置からの秘密識別子で受信したTOD値T1または8437とを比較する。該クライアント装置から受信した値T1は、該サーバに格納されているAcked値0、または、該サーバに格納されているNotAcked値T2と等しくないため(ステップ136)、該サーバは、さらなる動作のために、クローン検出をシステムオペレータに報告する(ステップ138)。他のサーバ側処理を、クローンを検出した時点で加えることができる。該サーバは、該メッセージを送信する2つのクライアント装置のうちのどちらが実在する、または許可された装置であるかを判断できないため、サービスを拒否せず、それ故に、図6Fに示すフォーマットを有することができる返信メッセージで、BKEYおよび新たなTOD値T3(上記の表2の実施例においては、11305)を該実在するクライアント装置へ送信する(ステップ140)。そして、該サーバは、新たなTOD値T3を、NotAcked値としてサーバデータベースに格納し(ステップ142)、該実在するクライアント装置も新たなTOD T3を格納する。
図5Aおよび図5Bの方法は、該実在するクライアント装置が、該サーバからその最初のBKEYを受信した後であって、該実在するクライアント装置が、該サーバからの更新されたBKEYを要求する前に、クローンクライアント装置が、メッセージを該サーバへ送信する一つの可能性のある方法およびイベントの順序を示す。このようなイベントは、真のおよびクローンのクライアント装置の使用により、異なる順序で発生する可能性があり、また、同じ認証を有する3つ以上のクライアント装置が、同じ期間中に、メッセージをサーバへ送信することも可能である。クローンクライアント装置は、いつでも、および実在するクライアント装置から送信される同様のメッセージに対してどのような順序でも、該サーバにメッセージを送信することができる。該実在するクライアント装置または1つ以上のクローンクライアント装置のいずれかからのメッセージにおける秘密データ値は、該サーバに現在格納されている1つ以上の値に一致しないため、該順序に関係なく、該サーバは、クローンクライアント装置の存在を判断することができる。例えば、図5Aおよび表2のステップ122を参照して、何らかのメッセージがクローンクライアント装置によって送信される前に、該実在するクライアント装置が、この段階において、後のBKEY要求を該サーバに送信した場合、該BKEY要求における秘密データ値は、表2の具体的な実施例においては、T1、0または8437、0である。このメッセージを受信する該サーバは、該クライアント装置からのTOD値と、そのデータベースに保存されているnotAcked TODとの一致に気付いて、Acked TODを0からT1に変更する。そして、新たなnotAcked TOD T2は、返信で該クライアント装置へ送信される。この後、該サーバと通信するクローンクライアント装置は、それが該装置から該サーバへの最初の通信であるため、TOD=0を送信する。このTODは、該サーバに格納されているAcked TOD(T1)またはNotAcked TOD(T2)のいずれにも一致せず、クローン検出レポートが該サーバによって生成される。一致に対する同様の失敗は、サーバ、実在するクライアント装置およびクローンクライアント装置の間の通信の順序に関係なく、同じ認証を用いる2つ以上のクライアント装置が該サーバと通信する場合に、どのようなメッセージ順序においても、ある時点で発生する。
図5および図6の実施形態および上記の表2に概説されているこの実施形態の特定の実施例において、各メッセージにおける秘密識別子は、2つ以上の秘密データ値を備える。しかし、該秘密識別子は、例えば、ハッシュ関数等を用いて該値を変換することにより、そのような秘密データ値に基づいて生成されたコードを備えることができる。該秘密識別子を含むメッセージは、上記実施形態においては、ブロードキャストキー要求であり、該クライアント装置は、該サーバからのブロードキャストを受信する。この場合、該クライアント装置は、テレビジョンセットトップボックス、パーソナルコンピュータ、または、テレビ放送等のブロードキャストを再生することが可能な他の何らかのクライアント装置等のメディアプレーヤである。該サーバは、ブロードキャストテレビチャンネル解読キーをクライアントに配布するサーバとすることができる。しかし、他の種類のクライアント装置およびサービスプロバイダは、異なる種類のメッセージで同じ秘密データ技術を用いることができる。上述したように、上記の実施形態の秘密データ技術は、どのような種類のネットワークサービスプロバイダにも、およびパーソナルコンピュータ、携帯電話、携帯端末(PDA)、ビデオ機器(TIVO、DVD、CD等)および他のいずれかの種類のクライアント装置等の、サービスプロバイダのサーバにつながっているどのような種類のクライアント装置にも、およびオンラインバンキング、電子商取引、データロギング、メッセージ通信システム等のどのような種類のサービスに対しても適用することができる。上記実施形態において、ブロードキャストテレビチャンネル解読キー(BKEY)は、HBO(Home Box Office)またはMovie Channel等の有料テレビチャンネルに典型的に用いられているような暗号化されたブロードキャストTVチャンネルを解読する必要があるキーである。有料テレビチャンネルは、ケーブルTVまたはインターネットプロトコル(IP)TVの加入者が、購入するために選ぶ可能性のあるオプションチャンネルである。本明細書に記載した技術は、様々な種類のネットワークサービスにアクセスできるようにするために、キーがクライアント装置に配布される、または、該キーを、解読キー要求メッセージに加えて、または、該要求メッセージの代わりに、サーバとクライアント装置の間の異なる種類のメッセージに用いることのできるどのような暗号化技術にも適用可能である。
実在するクライアント装置が、メッセージ応答が受信される前に、ネットワーク障害により、または、クライアント装置の電源オフにより、サーバからメッセージを受信しない可能性があるため、図5Aおよび図5Bの実施形態は、誤ったクローン検出のアラートが生成される回数を低減するためのサーバ側処理を含んでもよく、それにより、クローン検出アラートは、クライアントが、別のクライアントと同一のクライアント認証によって検出されていることの指摘となる。一つの代替的実施形態においては、上述したように、秘密識別子に用いられる秘密データアイテムが更新される度に、詳しいクライアント肯定応答が該クライアント装置から送信され、該サーバは、サーバが供給した秘密データアイテムが、該クライアントによって良好に受信されて格納されたという、該クライアントからの確認に基づいて、該サーバデータベース内の予想秘密データアイテムを調節する。該サーバからの秘密データトークンが、該クライアントによって格納されていること、または、該クライアントの秘密データアイテムが、該サーバによって確認されていることを示す、該クライアントとサーバとの間の直接確認メッセージの使用は、クローンの検出を改善することができるが、該サーバによって処理され、かつハッカーによって妨害される可能性のある追加的なメッセージをもたらす。
一実施形態において、該サーバは、後のメッセージに用いるために、固有の秘密データアイテムまたはトークンをクライアント装置へ送信する。該サーバが該クライアント装置へ送信することのできるデータアイテムまたは値の実施例は、該クライアントとサーバが通信するときに、該サーバによって定期的に変えられる仮データ値、クライアントからサーバへ送信される仮のキー等を含む。一実施形態において、該サーバは、仮のまたは一時暗号化/解読キーをクライアントへ送信し、該一時キーは、該クライアントとサーバの間のメッセージを暗号化する際に用いられるキーリングの一部となる。一時キーの使用は、1つのクライアントのみが、クライアントとサーバの間の暗号化通信を実現するための適切なキーを含むため、クローンクライアントが該サーバと通信するのを防ぐ。該一時キーは、例えば、SSLによって提供される、または、ディフィー・ヘルマン(Diffie Hellman)型キー交換によって提供されるセッションベースの暗号化通信チャンネルを通じて送信することができ、そのため、該サーバによって供給された更新済みの一時キーを含むネットワークパケットは、同じ一時キー更新メッセージを得るクローン装置によって解読することができない。このようなセッションベースの暗号化は、どのような種類の通信にも用いることができる。一実施形態において、該サーバは、トークンを該クライアント装置へ送信し、それらのトークンは、該クライアント装置により格納されて、後のクライアント・サーバ間のメッセージに用いられる。該サーバは、任意の時刻に、または、一定の間隔で、固有トークンをクライアント装置に与えてもよい。
表2の実施例においては、2つの秘密データ値が示されている。しかし、1つ、2つまたはそれ以上の秘密データ値を、該クライアントによって固有に与えられた値および/または該クライアント装置の動作に基づいて、該サーバによって固有に決められた値と共に用いてもよい。一実施形態において、該クライアント装置における秘密データモジュール29は、不揮発性メモリを含んでもよく、また、該秘密データの一部は、該クライアント装置上の該不揮発性メモリ(ハードディスク、フラッシュメモリ等)に局所的に格納してもよい。実在するクライアント装置およびクローンクライアント装置の電源投入順序、または、これらの装置がネットワークに接続する順序、あるいは、これらの装置が該サーバに最初に接続する順序は重要ではなく、上述した技術は、これらのクライアント装置がいずれかの順序で電源が入れられる必要はない。従って、図5Aおよび図5Bにおいて電源が入れられる第1のクライアント装置は、実在するクライアント装置ではなく、クローンクライアント装置であってもよく、また、実在するクライアント装置およびクローンクライアント装置は、いつでも、どのような順序でも該サーバと通信することができる。この実施形態は、メッセージの順序に関係なく、該サーバが、メッセージを受信したときに、同じクライアント認証を用いる1つ以上のクライアント装置があるときを判断することを可能にし、この場合、秘密データ値が該サーバにおける秘密データ値と一致せず、実在するクライアント装置が既にクローン化されていることを示している。
図5Aおよび図5Bは、該サーバからクライアント装置へ、クライアント装置からの最後の要求のTODの形で送信される単一の秘密データアイテムを用いた秘密クローン検出を示す。代替的実施形態においては、1つ以上の秘密トリガを用いてもよい。秘密トリガは、多数のイベントが発生した後に行われ、かつ秘密識別子を生成するのに用いられる秘密データを変更することにより、または、該サーバによって追跡することのできる新たな一片の秘密データを供給することにより応答するトリガである。クライアント装置の通常の動作には、多くの可能性のある秘密トリガがあり、秘密トリガまたはイベントは、時間(クライアント装置がアクティブであった総時間、クライアント装置が設定され、または更新された任意の時間等)、メッセージ(受信したビデオECMまたはECMの総数、チャンネル変更の総数)、または、内部データ処理(例えば、100,000番目のビデオパケットが解読されたときのTOD)等のイベントの多くのカテゴリに基づくことができる。秘密トリガの他の実施例は、例えば、セットトップボックス(STB)等のクライアント装置が、100〜200回、チャンネルを切替えたときに発生するトリガと、または、一定数のクライアントイベントが発生したときに発生するトリガとを含み、該トリガが発生したときに、該トリガは、該クライアントの時刻(または、他のパラメータ)を保存する。別の実施例は、受信した15000番目のECMパケットの実際の値、または、該15000番目のECMパケットが受信されたときの時刻(TOD)、あるいは、これら2つの値のハッシュである。秘密データ値の生成をトリガするイベントは、同一の認証を有する2つのクライアント装置(真の/実在するクライアント装置と、クローンクライアント装置)において、異なるレートで発生し、その結果、該真のまたは実在するクライアント装置およびクローンクライアント装置は、異なる秘密データを有し、それ故に異なる秘密識別子を有する。該秘密識別子は、サーバ側で、ネットワーク上で作動する多数のクライアントを検出するのに用いられる。
一実施形態において、保存された秘密の値のクライアントライブラリは、秘密識別子を生成するのに用いられる新たなまたは異なる秘密データ値を保存するために、定期的に変えられる。このようにして、1つのクライアントライブラリを得ることのできるハッカーは、秘密識別子に用いられる秘密データ値を生成する新たなイベントが、クライアントライブラリが更新された後に、いつ発生する可能性があるかが分からない。ハッカーは、どんな秘密トリガが該クライアントライブラリにプログラムされているか、該トリガはいつ発生するか、およびトリガに応答して、どんな秘密データが該クライアントライブラリに格納されるかを判断しようとするために、クライアントライブラリソフトウェアの更新後の検出を避けるために、全てのクローンクライアント装置をネットワークから外す必要がある。このような更新は、サーバによって生成することができ、また、該クライアント装置に含まれている安全処理能力を用いることもできる。該クライアントライブラリを更新するためのクライアントファームウェアダウンロード方法は、ディジタル署名されたコードイメージを用いて、該クライアントが、該ダウンロードを認証できるようにすることができる。ヘッドエンドソフトウェアは、アプリケーションプログラミングインタフェース(application programming interface;API)機能、または、クライアントソフトウェアをダウンロードするためのデータカルーセルインタフェースを有することができる。
一実施形態において、秘密識別子は、多数の要求に対して固定的であるデータを含み、その結果、該秘密識別子を生成するのに用いられる秘密データは、秘密トリガに基づいて変化し、または、前のメッセージ要求の場合の時刻またはTOD等の特定の種類の各メッセージのための該秘密識別子は、変化する。秘密識別子に用いられる秘密データは、該クライアント装置内で発生させることができ、または、該サーバから、メッセージングの一部として送信することもでき、あるいは、クライアント/サーバデータの組合せとしてもよい。該秘密識別子は、現在の秘密データ値の数学的変換または暗号学的ハッシュへの適用等の、該クライアントまたはサーバによって処理されるデータを含むことができる。
一実施形態において、秘密識別子に用いられる秘密データ値は、多数の異なる方法のうちの1つにおける要求に応答するサーバに基づいて変化する可能性もある。一つの実施例において、最初の10のブロードキャストキー要求は、秘密データの1つの値を受信し、10を超えるその後の要求は、該秘密データが変化し、またはスクランブルされ、変化およびスクランブルされる異なる応答を受信する。変化は、クライアントまたはサーバ側、あるいはこれらの両方で起きる可能性がある。該秘密識別子は、通常のシステム処理中に処理される通常のメッセージの一部として、メッセージブロブまたはフィールドに含まれており、該メッセージブロブは、該クライアントソフトウェアの2つの異なるコードリリースの間で変わる可能性がある。加えて、該メッセージブロブは、データホワイトナー(data whitener)として適用される意味のないランダムデータを有する可能性がある。一実施形態において、該データブロブは、3〜5の秘密データ値を有し、該秘密データは、異なる時間に発生する異なるイベントまたはトリガに基づいて変化する。
図5および図6に関連して上述した実施形態において、メッセージの時刻に基づく秘密識別子は、ブロードキャストキー要求メッセージ等の中に設定されている。以下の表3は、携帯電話を備えるクライアント装置内で生成される変換秘密識別子の実施例を示す。
Figure 2009524165
表3においては、1つの電話が実在するものであり、他の2つがクローンであり、各電話は、該電話の動作に基づいて秘密識別子を生成する。上記の実施例においては、最初の2つのコールエントリのみが、固有秘密識別子(ID)を生成するのに用いられる。各電話の通話記録は、各電話用の固有秘密IDを生成する暗号学的ハッシングタイプ関数で処理され、完全なクローン電話を含めて各電話に固有の識別子が生じる。これらの電話は、製造時にクローンであり、各電話は、時間の経過と共にわずかに異なって使用されるため、該電話の所有者が同一の通話記録を生成して、同一の秘密識別子を生成しようとしても、該秘密識別子は、複製するのが非常に困難である。これは、完全に同一の通話記録を生成するためには、マイクロ秒単位で同じイベントを取得する必要があるためであり、現実の世界のデバイスにおいては不可能である。
クライアントとサーバの間の秘密識別子は、追加的なセキュリティのために、クライアント間で固有の暗号化キーによって暗号化することができるが、該秘密識別子は、他の実施形態においては、暗号化されていない秘密データ値であってもよい。いくつかの実施形態においては、クライアント装置を識別するためのこのような値に基づく秘密データ値または秘密識別子のみを用いた、クライアントとサーバ間のキーレスセキュリティを含めてもよい。しかし、このセキュリティは、該クライアント/サーバ間の通信が暗号化された場合に機能強化される。秘密データまたは秘密識別子は、1組の暗号鍵を要することなく、多くの方法で、クライアントを操作的に識別するのに用いることができる。実際には、上述した秘密データスキームは、システムに必要なセキュリティ固有メッセージを要することなく、全てのメッセージトランザクションに用いることができる。これは、本明細書に記載されている秘密データ技術を、X.509証明書、暗号鍵および同様のセキュリティ固有キー等のセキュリティ認証を伴って、および要することなくクライアントの認証を強化するのに用いることができることを意味している。一実施形態において、クライアントとサーバ間、または、2つのコンピュータ装置の間の全ての通信は、暗号化固有キーが必要ない状況においては、本明細書に記載されている技術によって機能強化される。実施形態は、アプリケーションソフトウェア、システムミドルウェア、請求書作成ソフトウェア、あらゆる種類の電子商取引、あらゆる種類のクライアント/サーバ通信、およびクライアントとサーバ間のあらゆる種類のメッセージングを含み、またはこの場合、クライアントは、識別される必要があり、システムにおいて実行されるあらゆる種類のソフトウェアおよびファームウェアに適用することができる。
一実施形態において、秘密セキュリティデータは、クライアント装置と、ウェブサイトまたはサーバとの間の通信のためのセキュリティまたは暗号化を利用しない、ならびにクローンクライアント装置の検出を可能にするシステムにキーレスセキュリティを与えるために用いることができる。この実施形態を、図7のフロー図に示す。最初のステップ150において、クライアント装置は、サービスの登録のために、ウェブサイトまたはサーバにコンタクトする。登録中に、該クライアント装置は、該クライアント装置を固有に識別する最初の秘密識別子を該サーバに送信する(ステップ152)。この実施形態において、該秘密識別子は、一連の秘密データ値を備えるが、他の実施形態においては、このような値の変換バージョンを備えてもよい。該秘密識別子に用いられる該最初の秘密データ値は、クローン化するのが難しい、本明細書に記載されている秘密データを含むどのようなクライアント装置固有データであってもよい。登録時に、該クライアントは、可能な場合には中央演算処理装置(CPU)のシリアル番号、ディスクドライブ容量ID、または他のハードウェア固有情報等のクローン化するのがやや難しいクライアント情報を秘密識別子として送信することができる。この登録プロセス自体は、サーバ側またはクライアント側において、該CPUまたはコンピュータハードウェア装置内の1つ以上のレジスタからのデータ、送信されたメッセージと、該クライアントによって受信される応答との間のナノ秒単位の時間遅延、メモリの一部のチェックサムまたはCRC値等の、クローン化するのが難しい新たな秘密データ値を生成することができる。秘密データの最初のセットまたはテーブルは、登録プロセス中に、該クライアント装置またはサーバによって獲得されて格納される(ステップ154)。この時点で、該秘密データは、登録された該クライアント装置に固有であり、クライアント・サーバ間の通信が、このデータに基づく秘密識別子を用いて開始され、該クライアント装置を認証する(ステップ155)。この場合、クローンクライアント装置を検出する方法を図4に示す。該サーバが、該登録されたクライアント装置からのものであると主張しているが、当該クライアント装置のために該サーバに格納された該最初の秘密データ値に一致する秘密データ値を有していない通信を受信した場合、クローン装置検出レポートが、該サーバによって生成される。
ハッカーは、システムに侵入して、秘密データ値からなる最初のセット、または、それが変換された当該データに基づく秘密識別子を取得できる可能性があるため、該クライアント装置が作動し続ける場合には、新たな秘密データが、操作特性に基づいて生成される(ステップ156)。この新たな秘密データは、後の該サーバとクライアント装置の間の通信の際に、秘密データ値からなる最初のセットに追加され(ステップ158)、その結果、該サーバおよびクライアント装置の両方において、前に格納された当該クライアント装置のための秘密データ値に、新たな秘密データ値が追加される(ステップ160)。この新たな秘密データは、クライアントを識別するために、登録後に生成された追加的秘密データを追加する時限イベントまたはカウントイベントを介して生成することができる。場合により、該サーバは、このクライアント装置に固有の追加的秘密データを該クライアント装置に与えるメッセージの間の様々な時刻に、秘密データを生成して該クライアント装置に配信することができる。新たな秘密データは、該クライアント装置が作動し続ける際に、継続的に追加されるため、長期間使用される秘密データからなる固定的セットはなく、ハッキングおよびクローニングがかなり困難になる。どの段階においても、実在すると主張するクライアント装置からのメッセージで受信した秘密データが、該サーバにおいて、当該クライアント装置のために格納された現在の秘密データからなるセットに一致しない場合には、クローン検出レポートが生成される。
図7の方法は、セキュリティを伴わないシステムが、容易にはハッキングできない秘密データに基づいて、クライアント固有識別子を生成するのを可能にする。いくつかの適用の場合、この秘密データ技術は、単独で適切なセキュリティを実現することができ、または、この秘密データ技術は、クライアント/サーバメッセージングが、例えば、図5、図6および表2に関して説明されているように、本明細書に記載された秘密データ方法によって機能強化された最善の暗号化技術を用いて確保されているシステムに、追加することができる。
上述した秘密データ技術は、暗号鍵が、コンピュータ装置間のメッセージを暗号化するのにも用いられる場合、または、ネットワーク上のコンピュータを確実に識別するのにキーが用いられる場合に、セキュリティを強化するのに用いることができる。クローンクライアント装置が形成された場合、該クローン装置は、許可された、真正のまたは実在するクライアント装置の同一のキーを有し、該許可された真正の実在するクライアント装置とサーバとの間で送信される全てのメッセージを解読することができる。しかし、該実在するクライアント装置と、クローンクライアント装置は、時間の経過と共に、いくつかの機能を異なって操作的に実行し、または、異なる操作カウンタ値(処理されたECMの数、10回目のチャンネル変更が行われた時刻等)を有するため、該実在するクライアント装置およびクローンクライアント装置によって生成された秘密データは、上述したように異なる。
多くの場合において、該秘密データの実際の値は重要ではなく、重要なことは、セットトップボックス等のクライアント装置の操作上の動作が、該真正のクライアント装置の複製物と比較した場合に、通常の作動条件下において異なるということである。このことは、クライアント装置が、実在するクライアント装置と同一のクローンのクライアント認証を有する場合であっても、該秘密データ値が、クライアント間で異なることを意味する。いくつかの実施形態において、これらの動作上の違いは、真正のクライアント装置とクローンクライアント装置との間で異なるそのような値に基づいて、秘密データ値または秘密識別子を検出するのに用いられ、このような方法の一実施形態は、図5、図6および表2に関して上述されている。また、該秘密データ値は、値が変わる前に、該クライアント装置が、一定期間作動することを要する倍率で重み付けされる「カウンタ値」とすることができ、これによって、数日間、数週間または1ヶ月の動作を、単一の値に固定するデータ値が提供される。一実施形態においては、1つ以上の秘密データ値が、クライアント装置とサーバとの間のメッセージングにおける秘密識別子として用いられる。一実施形態においては、1つ以上の秘密データ値が、異なるレートで変化する様々な秘密データ値をもたらす異なるしきい値またはトリガと共に用いられる。以下の表4は、“Get Key Message(GKM)”と呼ばれるメッセージにおける3つの秘密データ値またはアイテムと、時間の経過に伴う秘密データアイテムの変化の実施例を示す。
図5Aおよび図5Bおよび表2の実施形態は、秘密データ値を送信するためのブロードキャストキーまたはBKEY要求を用いており、以下に説明する表4における該GKMのための同じ技術は、ブロードキャストキーまたはBKEY要求の実施例、または、クライアント装置とサーバとの間で用いられる他の何らかのメッセージに対して用いることができる。また、秘密データアイテムまたは値は、該クライアント装置またはサーバ上で、あるいはその両方で発生させることができること、および該秘密データ値は、データ値を処理することにより、例えば、ハッシュ関数を用いることにより、または、任意の数値を供給することにより、あるいは、該秘密データスキームの一部として用いられるデータ値に対して変換を実行することにより、得られる結果とすることができることに留意する。
Figure 2009524165
表4における上記の実施例は、GKMにおける3つの秘密データ値またはアイテム1、2、3が、時間の経過と共にどのように変化するかを示す。‘1’という値として上記表に示されているGKMメッセージIDは、GKMであるメッセージを識別する。各ファームウェアの更新後に、キー取得要求(または、電子商取引または他の取引等の他の何らかのイベント)等の特定の機能のためのクライアント/サーバ通信の一部として送信される秘密識別子は、以前のファームウェアリリースとは異なる秘密データアイテムを含み、システム上の従来のファームウェアのハッキングを無効にする。上記の実施例において、該秘密データアイテムは、該クライアント装置またはサーバにおいて生成された異なる操作上の値であり、上述した可能性のある秘密データアイテムまたは値、あるいは、クライアント装置の操作から得られる他の何らかの固有データのいずれかとすることができる。該サーバが、特定のクライアント装置のために格納された現在のGKMメッセージに一致しないGKMメッセージを受信した場合には、該サーバはいつでもクローンクライアント装置検出レポートを生成する。
上記実施例において、GKMのためのメッセージIDは、変える必要はなく、該クライアントとサーバの間の通信のための多数のメッセージ種別のうちの1つを示す固定メッセージID値と見なされる。しかし、該メッセージIDは、異なるクライアントファームウェアのバージョン間で変わる可能性があり、自称ハッカーは、クライアントファームウェア更新がなされた場合に、新たなメッセージIDを解析して模倣しなければならない。ファームウェア更新番号は、該サーバが、異なるクライアントファームウェアバージョンによって作動できるようにするために、該メッセージIDに含めることができる。
一実施形態において、様々なファームウェアリリースのために集められた秘密データアイテムは、様々なバージョン間で異なる。以下の表5は、3つの異なるファームウェアリリースの場合の可能性のある秘密データフィールドの実施形態を示す。この表は、例えば、様々なリリースが1年の間に行われる、リリース1.0、1.1および1.2という名称の3つの異なるファームウェアリリースの場合の3つの秘密データフィールドの内容を示す。クライアント装置とサーバ、またはサーバとクライアント装置、あるいはその両方の間のメッセージにおける秘密識別子は、該秘密データアイテムの本質が、現在の使用中のファームウェアリリースに依存する、3つの秘密データアイテムから構成される。この表は、各列を下に読んでいくことによって読む。該ファームウェアのリリース1.0の場合の3つの秘密データアイテムは、該サーバからの4番目のメッセージトークンと、スケールECMパケットカウントと、受信した特定の種類の第3のメッセージの場合の時刻である。リリース1.1においては、これらのアイテムは、該クライアント装置が作動した時間の総時間のスケールカウントと、該サーバとの特定の種類の6番目のメッセージの後に、該サーバから受信したトークンと、特定の種類の10,000番目のメッセージが該クライアント装置によって受信されたときの時刻とに変わる。リリース1.2においては、3つ全ての秘密データアイテムが再び変更され、秘密データアイテム2がゼロに変わり、他の秘密データアイテムは、特定の種類の150番目のメッセージが受信されたときの時刻と、該クライアント装置が、新たなファームウェアがインストールされた日の午後8時37分に合わされたチャンネル番号の値とに変えられる。
Figure 2009524165
一実施形態において、いずれかの単一のファームウェアリリースに用いられる秘密データアイテムは、所定回数、または、所定のトリガに応じて変えることもできる。例えば、コードの特定の更新が3月にリリースされて、該クライアント装置にロードされたと仮定する。この更新がロードされた後の最初の2ヶ月の間、秘密データアイテム2は、該ファームウェアが更新された時刻である。次に、2ヶ月以降、秘密データアイテム2は、該サーバによって与えられたデータ値に変わる。次いで、このファームウェアリリースの動作の4ヶ月後、データアイテム2は、該更新のローディングの4ヶ月の記念日に、該クライアント装置上のチップに含まれているレジスタ値に変わる。この実施形態において、秘密データアイテムの値は、動作の最初の4ヶ月の間に3回変わり、その結果、ハッカーは、該クライアント装置のクローンをうまく作動させるのがより困難になる。予め格納されている秘密データアイテムの値が、特定の日時に変わった場合には、該サーバは、該日時に気付いて、データベースを適切に調整する。例えば、該クライアントライブラリは、動作の90日後に、全体的に新しい秘密データテーブルまたはマトリクスを生成するように設計されると仮定すると、該サーバは、該クライアントが、使用の90日後に、新たな秘密データを報告することに気付く。実際には、クローンを同期させて、古い秘密データテーブルを一気に消去し、同時に新たなデータにリフレッシュしたとしても、特に、ハッカーが、変更される秘密データ値を予測できない場合、該ハッカーに、記号論理学問題を与える。
該クライアント装置の操作、該クライアント装置と通信しているサーバ、またはその両方によって生成される、多くの異なる可能性のある秘密データアイテムおよび秘密データトリガがあり、このことは、上述した実施形態において、メッセージに付加されるクライアント識別子を生成するのに用いることができる。1つ以上の秘密データアイテムは、メッセージ応答の一部として、該サーバによって該クライアントに与えられるトークンまたは時間とすることができ、該サーバが与えたデータアイテムは、例えば、図5および図6および表2に関して上述したように、後に(恐らく、クライアント装置による次の要求時)、該クライアント装置によって該サーバに戻される。このことは、該サーバが、クローンを識別するために秘密データとして用いられるトークンを生成できるようにする。また、秘密データは、クライアント装置によって処理されるメッセージの数のカウント、または、該クライアント装置によってメッセージログまたはメッセージ待ち行列に書き込まれたメッセージの数、あるいは、クライアント装置API機能に対する10番目のAPIコールの値、あるいは、通常、同一の認証を有するクライアント装置間でも変化する他の同様のイベントとすることもできる。
多くの場合において、秘密データは、該サーバ側で、クローンを検出するのに用いられる情報であるため、または、該秘密データは、クローンを検出するために、該サーバによって与えられる情報であるため、該クライアント装置は、該秘密データが意味することが分からず、または気にすることもない。一実施形態においては、いくつかの秘密データ値が、新たなクライアント装置の動作の特定の期間後に、例えば、動作の23:49:33(時:分:秒)に、該クライアント装置がどのチャンネルに合わされたか等の1回限りのイベントに基づいて生成される。他の秘密データ値は、ケーブルモデムの広範なパラメータ、DHCPリース期間等のネットワークまたはシステム操作値を用いて生成することができる。他のデータ値は、該サーバから供給されてもよい。他の秘密データ値は、クライアント装置とサーバの間のメッセージングによって生じる可能性があり、または、他のパラメータは、通常、その製品の環境内に見出すことができる。例えば、PCは、携帯電話とは異なる秘密データ値を有することができる。
上記の実施形態において説明したようなクライアント装置の操作イベントによって生成される秘密データを用いたセキュリティシステムは、クローン化されたまたは偽のクライアント装置が該システムによって検出されたか、または、他の理由で疑われた場合、あるいは、疑われるクローンクライアント装置に関係なく、所定の間隔で、加入者資格更新プロセスを含むように設計することもできる。図8は、双方向ネットワーク、または、リターンチャンネルを有する一方向ネットワークの場合の更新プロセスの実施形態を示す。時折のダイアルアップモデム接続、または、携帯電話が、STB等のクライアント装置に接続された場合に形成されるリターンチャンネル等のどのような形態の持続性のまたは非持続性の(散発的な)リターンチャンネルも、図8の場合のように、更新に用いることができる。同様のプロセスを、リターンチャンネルを有していない一方向ネットワークに対して用いてもよく、このようなプロセスの一実施形態を、図9のフロー図に示す。
図8のプロセスは、双方向ネットワークまたはリターンチャンネルを有する一方向ネットワークに関連して、更新プロセスに用いることができる。図8に示すように、秘密識別子に対する要求が、サーバによってネットワークを通じて(双方向ネットワーク上の)個々のクライアントまたは(一方向ネットワーク上の)全てのクライアント装置に送信される。サーバは、更新メッセージをクライアントへ送信する(181)。リターンチャンネルが使用可能であり(182)、該クライアント装置は、現在の秘密識別子を該サーバに戻す(ステップ184)ことによって応答するようにプログラムされていると仮定する。リターンチャンネルが使用可能でない(すなわち、該クライアント装置が、リターンチャンネルを有していない一方向ネットワーク上で作動している)場合、この処理手順は、図9に示されているように、および以下により詳細に説明するように続行される。
ステップ184において返信された、リターンチャンネルを有するネットワークの場合の、秘密データ識別子は、当該クライアント装置における操作イベントにも関連する、特定のクライアント装置によって集められた秘密データに基づいている。該秘密識別子は、各クライアント装置においてちょうど更新されているので、ハッカーは、ハッキングを再スタートさせて、ステップ179における更新コードを受信した直後の、実在するクライアント装置の秘密識別子を見つけ出して、当該秘密識別子をいずれかのクローン装置において複製を試みなければならない。このようなハッキングの試みは、各クライアント装置のための秘密識別子を含む応答が、ステップ184において、各クライアント装置から自動的に返信される前に複製される秘密識別子に対しては、間に合うようにうまく成功しそうにない。一実施形態において、該秘密データ識別子は、集められた秘密データ値から生成された8桁のディジタルコードであり、加入者関連動作情報またはプライバシー関連情報を含んでいない。しかし、代替的実施形態においては、秘密データ値に基づく他のコードを生成してもよい。この結果、該サーバは、2つ以上の応答が、同じクライアント識別子であるが異なる秘密データと共に受信されているか否かを判断することができる(ステップ185)。1つのみの応答が受信された場合、該クライアント装置から受信した秘密識別子に基づく更新解除コードが、該サーバによって生成され(ステップ186)、該クライアント装置に送信される(ステップ188)。1つのみの応答が受信された場合、該ネットワーク上に、実在するクライアント装置のクローンが存在する可能性はほとんどなく、該実在するクライアント装置は、更新コードを解除し、またサービスのために更新される。しかし、該実在するクライアント装置は、何かの理由のために応答を送信することはなく、または、クローンクライアント装置は応答を送信せず、該更新解除コードは、同じクライアント識別子または認証の下で作動する全てのクライアント装置に送信されるため、1つ以上のクライアント装置が、該更新解除コードを受信する可能性がある。同じ秘密データ識別子を備えるクライアント装置のみが、該更新コードを解除することができ、かつ該ネットワークを介してサービスを更新することができる。同じクライアント識別子を用いた他のどのようなクライアント装置も、該更新コードを解除することができず、サービスの受信を遮断される。該更新されたクライアント装置が、実際にはクローンである場合には、実在する加入者は遮断され、サービスプロバイダにエラーを出すよう報告する。この場合、該クローン装置は遮断され、該実在する加入者のクライアント装置に対するサービスが更新される。図8に図示されていない任意のステップは、ステップ181の前に、該クライアントに、また別の新たな秘密データ値を取得させて、ステップ184において戻される秘密データテーブルに付加するために、該クライアントに秘密識別子更新メッセージを送信することである。その結果、該メッセージを受信する各クライアント装置は、捕捉されている秘密データの特定の一部に対する該特定の装置の現在の操作特性に基づいて、該秘密識別子を更新する。
ステップ185において、秘密識別子を伴う2つ以上のクライアント装置応答が受信された場合、該実在するクライアント装置が識別される(ステップ189)。ステップ189における該実在するクライアント装置の識別は、2006年7月20日に出願された同時係属出願第11/489,779号明細書に記載されているようなネットワークユーザ認証方法を備えてもよく、この明細書の内容は参照により本明細書に組み込まれる。この方法においては、認証された加入者は、該クライアント装置に対する物理的接続の位置と関連付けられ、ステップ189において、どのクライアント装置が、該認証された加入者のための正しい物理的ネットワーク位置にあるかを判断するために、ネットワークが調べられる。該正しいまたは実在するクライアント装置が配置されている場合、ステップ190において、当該クライアント装置から受信した秘密データに基づく更新解除コードが生成され、ステップ192において、該ネットワークを通じて、一方向ネットワーク上に同じクライアントを有する全てのクライアント装置に送信され、および双方向ネットワーク上のクライアントに独自に配信される。サービスは、そのような全てのクライアント装置に対して遮断され、実在するクライアント装置のみが、該更新コードを解除して、サービスを更新することができる。
サービスプロバイダが、実在するクライアント装置のための物理的位置または物理的接続識別子に基づく認証処理手順を有していない場合、該実在するクライアント装置は、他の方法によって、例えば、サービスオペレータに該加入者を呼び出させることにより、および該加入者に、該実在するクライアント装置上の秘密識別子を捜させることにより、および当該識別子を、SMSメッセージで、または電話を通じて、該サービスプロバイダに供給することにより、見つけることができる。
図9は、リターンチャンネルを有していない一方向ネットワーク上のクライアント装置のための秘密データセキュリティシステムに関連して用いることのできる定期的更新プロセスにおけるステップを示す。この更新プロセスは、図8に示すのと同じ初期ステップ179、180および181を用いる。しかし、該クライアント装置における中央プロセッサは、サービスコード更新メッセージに応じて、サービスコードまたは更新メッセージを該クライアント装置のスクリーン上に表示するようにプログラムされている(ステップ193)。このメッセージは、秘密データストレージモジュール29から検索したクライアント識別子と現在の秘密識別子とを含む。該クライアント装置のためのクライアント識別子は、実在するクライアント装置およびクローンクライアント装置に対して同一であるが、該クライアント装置に格納されている現在の秘密識別子は、各クライアント装置に対して異なる。サービスコードメッセージは、ユーザが2つのIDを、スクリーン上に表示された電話番号に送る要求を含み、該番号は、サービスプロバイダに対して800の番号とすることができる。
ステップ194において、該クライアント装置のユーザは、該クライアント識別子および秘密データIDを、スクリーン上の電話番号に対するSMSメッセージとしてサービスプロバイダへ供給し、または、別法として、該サービスプロバイダにおけるオペレータへの音声通話で与える。この段階において、該サービスプロバイダは、該メッセージの送信者または発呼者が許可された加入者であるか否かを、該許可された加入者の電話番号等の、該サーバに格納された個人情報またはセキュリティ情報に基づいて判断することができる。発呼者が許可された加入者であることが判断されると、該サーバまたはサービスプロバイダは、ステップ195において、ユーザから受信した固有秘密データIDに基づいて、更新解除コードを生成し、該更新解除コードを、同じクライアント識別子を有するネットワーク上の全てのクライアント装置へ送信または配信する(ステップ196)。該コードを受信するクライアント装置が、該解除コードを正しく処理することができる場合、当該装置に対して、サービスが更新される(ステップ198)。当該クライアント装置に格納されている秘密データが、該解除コード内の秘密データに一致しないため、該コードを受信するクライアント装置が、該解除コードを正しく処理することができない場合には、該クライアント装置に対するサービスは遮断される(ステップ199)。該システムが、要求されたメッセージの発呼者または送信者が許可された加入者であると間違って判断し、かつユーザが、クローン装置を実際に使用している場合は、実在するクライアント装置は、該更新解除コードを処理することができず、許可されたユーザは、サービスが遮断されているので、サービスプロバイダに電話する。そして、該実在するクライアント装置における秘密データに基づいて、別の更新解除コードを生成して、クライアント装置へ送信することができ、その結果、これまで更新された装置が遮断され、該実在するクライアント装置が、サービスに対して更新される。
図8および図9に関連して上述した更新プロセスは、所定の間隔で、または、ネットワーク上に1つ以上のクローンクライアント装置の存在が疑われる場合に、あるいはその両方の場合に行うことができる。図8および図9に記載されているような更新プロセスは、秘密データテーブルのいずれかの部分、または秘密データテーブルの一部を用いて、クライアント装置固有の解除コードを生成することができ、それにより、異なる秘密データ値を有するクローンクライアントは、適切なキーを生成して、該解除コードを解読することができない。このようなクライアント固有キー管理スキームの実施例は、ディフィー・へルマンである。他の種類のキー交換メカニズムを用いることもできる。例えば、ディフィー・ヘルマンを用いた場合、(いずれかまたは全ての)秘密データは、クライアント側の固有キーを生成するのに用いられるシーディング(seeding)メカニズムの一部として、または、サーバ側の互換キーを生成するのに用いられるデータの一部として用いられ、その結果、異なる秘密データ値を有するクローンクライアントは、他のクローン装置間で同じ固有キーペア(ディフィー・へルマン・キーペア)を生成することができない。更新プロセスを実現することができる別の方法は、ディフィー・ヘルマン等のアルゴリズムにおいて、共有ペアリングキーをシードまたは生成する公知の方法で、クライアントのために受信した秘密データをサーバに使用させること、および本質的に、適切な秘密データを含むクライアントによってのみ再生成することができる固有キーのペアを生成することである。クライアント装置の更新を実行する別の任意の方法は、秘密データの一部を暗号化/解読キーデータとして用いることであり、これは、各クライアントが固有秘密データを有し、かつ該固有秘密データがサーバに知られているためである。秘密データの一部または全て、あるいは、該秘密データのハッシュ化されたまたは変換されたバージョンは、暗号化/解読キーデータを生成するのに用いられる、または、ディフィー・ヘルマン等のアルゴリズムを用いて共有キーを生成する際に用いられるキーまたはシードデータあるいは係数に適用することができる。また、該秘密データは、更新プロセスの間に、クライアントとサーバの間、または、サーバとクライアントの間で送信されるキーシードまたはキー係数データをスクランブル化するかまたは変換するのに用いることができることが期待される。例えば、該秘密データは、該クライアントによってハッシュ化して、該サーバに送信されるデータを暗号化するときに、キーとして用いることができる。また、該サーバは、該秘密データを知っているため、該サーバは、同じハッシュを実行して、解読キーを生成することができる。
ここでまた、ディフィー・ヘルマンを実施例として用いると、秘密データをベースとするキー交換は、以下のように機能することができる。
1.アリスは、任意の大きさの整数Xを選んで、ボブに送信する。
Figure 2009524165
2.ボブは、任意の大きさの整数Yを選んで、アリスに送信する。
Figure 2009524165
3.アリスは、ボブの暗号化されたYを解読して、
Figure 2009524165
を計算する。
4.ボブは、アリスの暗号化されたXを解読して、
Figure 2009524165
を計算する。
ディフィー・ヘルマンの後、KおよびK’が等しくなり、該秘密データを、データを転送するための暗号化キーとして用いた。秘密データは、暗号化キー以外の多くの方法で用いることができ、また、アルゴリズム計算に用いられるデータおよび値に適用される任意の大きさの整数計算またはハッシュのためのシードデータとして用いることができる。
上記の実施形態においては、クライアント装置の動作または使用中に発生する操作イベントに基づいて、すなわち、該クライアントまたは加入者が該クライアント装置をどのように使用しているかに基づいて、固有秘密識別子が生成される。これらの操作イベントは、クローンクライアント装置が、実在するクライアント装置または他のクローンクライアント装置のユーザとは異なるユーザによって操作されるため、実在するクライアント装置とクローンクライアント装置とで異なる。このような操作は複製するのが極めて難しい。秘密識別子は、クローンクライアント装置を検出するのに用いることができ、また、定期的な更新プロセスにも用いることができ、これにより、クローンクライアント装置に対するサービスを防ぐことができる。
当業者は、本明細書に開示されている実施形態に関連して説明した様々な例示的論理ブロック、モジュール、回路およびアルゴリズムステップを、多くの場合、電子ハードウェア、コンピュータソフトウェアまたはこれらの両方の組合せとして実施することができることを正しく理解する。このようなハードウェアとソフトウェアの互換性を明確に説明するため、種々の例示的なコンポーネント、ブロック、モジュール、回路およびステップは、概してそれらの機能性に関して上述されている。このような機能性が、ハードウェアとして、またはソフトウェアとして実施されるかは、具体的な用途、およびシステム全体に課された設計上の制約による。当業者は、それぞれの具体的な用途のための様々な方法で、記載された機能性を実施することができるが、そのような実施の決定は、本発明の範囲からの逸脱を引き起こすものと解釈すべきではない。また、モジュール、ブロックまたはステップにおける機能の分類は、説明を容易にするためである。特定の機能またはステップは、本発明の範囲から逸脱することなく、1つのモジュールまたはブロックから移動させることができる。
本明細書に開示されている実施形態に関連して説明した様々な例示的論理ブロックおよびモジュールは、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理素子、個別ゲートまたはトランジスタ論理、個別ハードウェアコンポーネント、あるいは、本明細書に記載されている機能を実行するように設計されたこれらの要素のいずれかの組合せによって実施または実行することができる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替例において、該プロセッサは、何らかのプロセッサ、コントローラ、マイクロコントローラまたは状態マシンとすることができる。また、プロセッサは、コンピュータ装置の組合せとして、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1つ以上のマイクロプロセッサ、または、他の何らかのこのような構成として実施することもできる。
本明細書に開示されている実施形態に関連して説明した方法またはアルゴリズムのステップは、直接、ハードウェアに、プロセッサによって実行されるソフトウェアモジュールに、または、これら2つの組合せで具体化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または、記憶媒体の他の何らかの形態に備えることができる。例示的な記憶媒体は、プロセッサに結合することができ、その結果、該プロセッサは、該記憶媒体から情報を読出し、かつ該記憶媒体に情報を書き込むことができる。代替例においては、該記憶媒体は、該プロセッサと一体化することができる。該プロセッサおよび記憶媒体は、ASIC内に備えることができる。
また、様々な実施形態は、例えば、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)等のコンポーネントを用いて、主にハードウェアで実施することができる。また、本明細書に記載されている機能を実行することが可能なハードウェア状態マシンの実施も、関連技術の当業者には、はっきりと理解できる。また、様々な実施形態は、ハードウェアとソフトウェアの組合せを用いて実施することもできる。
開示した実施形態に関する上記の説明は、当業者が本発明を実行または利用できるように記載されている。これらの実施形態に対する様々な変形例は、当業者には容易に理解できるであろうし、また、本明細書に記載されている包括的な原理は、本発明の精神または範囲から逸脱することなく、他の実施形態に適用することができる。従って、本明細書に提示されている説明および図面が、本発明の現時点で好適な実施形態を示しており、また、そのため本発明によって広範に意図されている主題を代表していることを理解すべきである。さらに、本発明の範囲が、当業者に明らかになる可能性のある他の実施形態を完全に包含すること、およびそれに伴って、本発明の範囲が、添付の特許請求の範囲以外によって限定されないことが理解される。
潜在的なクローンクライアント装置を検出するセキュリティシステムの一実施形態における、サーバと通信する、実在するまたは許可されたクライアント装置と、いくつかのクローンクライアント装置とを有するネットワークを示すブロック図である。 従来のユーザログオンメッセージにおけるデータフィールドを示す図である。 潜在的なクローンクライアント装置を検出するシステムの一実施形態におけるサーバで用いられる秘密識別子を含むユーザメッセージの一実施形態におけるデータフィールドを示す図である。 一実施形態による、秘密識別子をメッセージに挿入するように構成されたクライアント装置を示すブロック図である。 クローンクライアント装置を検出する方法の一実施形態を示すフロー図である。 クローン検出方法の一実施形態を示すフロー図である。 クローン検出方法の一実施形態を示すフロー図である。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 図5Aおよび図5Bの方法における様々な段階で生成されるメッセージを示す。 クライアント装置とサーバの間のメッセージに秘密識別子を挿入する方法の実施形態を示すフロー図である。 秘密識別子を用いたサービス更新方法の実施形態を示すフロー図である。 クライアント装置からのリターンチャンネルを有していない一方向ネットワーク環境に用いられる図8の方法の変形例を示すフロー図である。

Claims (49)

  1. ネットワークを通じて通信するクローンクライアント装置を検出する方法であって、
    前記サーバにおいて登録された認証を有するクライアント装置のための少なくとも1つの秘密識別子をサーバに格納することと、
    前記サーバにおいて、クライアント装置からメッセージを受信し、該メッセージが、該クライアント装置の少なくとも1つの操作イベントから得られる秘密識別子を含むことと、
    前記メッセージで受信した前記秘密識別子が、前記サーバに格納されている同じ認証を有するクライアント装置のための秘密識別子と一致するか否かを判断することと、
    前記メッセージ内の秘密識別子の少なくとも一部が、前記サーバにおける前記クライアント装置のために格納された秘密識別子と一致しない場合に、実在するクライアント装置のクローンの検出を報告することと、
    を備える方法。
  2. 前記秘密識別子は、クライアント装置における操作イベントによって生成された、選択された秘密データ値を備え、クライアント装置から受信した秘密識別子における秘密データ値が、前記サーバに格納されている秘密識別子におけるどの秘密データ値とも一致しない場合に、実在するクライアント装置のクローンの検出が報告される、請求項1に記載の方法。
  3. 前記秘密識別子は、クライアント装置における異なる操作イベントによって生成された、選択された秘密データ値に基づくコードを備える、請求項1に記載の方法。
  4. 前記秘密識別子は、前記サーバによって前記クライアント装置に供給された少なくとも1つのトークンに、少なくとも部分的に基づいている、請求項1に記載の方法。
  5. 前記秘密識別子は、前記クライアント装置によって生成された秘密データ値に基づいている、請求項1に記載の方法。
  6. 前記秘密識別子は、前記サーバによって生成され、および前記サーバによって、前記クライアント装置へのメッセージに設けられた秘密データに基づいている、請求項1に記載の方法。
  7. 前記秘密識別子は、前記クライアント装置およびサーバによって生成された秘密データ値に基づいている、請求項1に記載の方法。
  8. クライアント装置において、所定のイベントトリガに基づいて、前記秘密識別子を定期的に更新することと、更新された秘密識別子を、前記サーバへのメッセージに設けることとをさらに備える、請求項1に記載の方法。
  9. 少なくとも1つのイベントトリガが、クライアント装置に対する更新されたファームウェアのインストールを備える、請求項8に記載の方法。
  10. 少なくとも1つのイベントトリガは、前記サーバからの特定の種類のメッセージの所定数の受取りを備える、請求項8に記載の方法。
  11. 少なくとも1つのイベントトリガは、前記クライアント装置からの特定の種類のメッセージの所定数の送信を備える請求項8に記載の方法。
  12. 少なくとも1つのイベントトリガは、前記クライアント装置における所定数のチャンネル変更を備える請求項8に記載の方法。
  13. 前記サーバに少なくとも1つの秘密識別子を格納するステップは、クライアント装置からの所定のメッセージの受信時に、前記サーバに第1の秘密データ値を格納することと、後に所定数のメッセージを、同じ認証を有するクライアント装置から受信したときの、更新された第2の秘密データ値を格納することとを備え、前記クライアント装置からの後のメッセージで受信した秘密識別子が、前に格納した秘密識別子に一致するか否かを判断するステップが、該メッセージにおける秘密データ値と、前記サーバに格納されている第1および第2の秘密データ値とを比較することを備え、それにより、前記後のメッセージにおける秘密データ値が、前記第1および第2の秘密データ値のうちの少なくとも一方と一致しない場合に、同じ認証を用いるクローンクライアント装置の検出が報告される、請求項2に記載の方法。
  14. 前記秘密データ値は、所定のメッセージを送信する時間に基づいている請求項13に記載の方法。
  15. 前記サーバに格納されている秘密データは、少なくとも1つのクライアント装置からのメッセージで受信した秘密データ値に基づいている請求項13に記載の方法。
  16. クライアント装置における異なる操作イベントに基づいて、少なくとも1つの秘密データ値を、異なる秘密データ値に定期的に変更することをさらに備える請求項2に記載の方法。
  17. ネットワーク上の加入者クライアント装置を更新する方法であって、
    クライアント装置において、該クライアント装置における操作イベントに基づいて秘密識別子を生成することと、
    前記クライアント装置において、サービス更新メッセージを受信することと、
    前記サービス更新メッセージに応じて、前記秘密識別子をサービスプロバイダに供給することと、
    前記ネットワークを通じて、前記クライアント装置において、更新コードメッセージを受信し、該更新コードメッセージが、前記秘密識別子に基づく更新解除コードを含むことと、
    前記秘密識別子を用いて前記更新解除コードを処理して、前記サービスプロバイダからの継続的なサービスを受けることと、
    を備える方法。
  18. 前記サービス更新メッセージの前に、前記クライアント装置において、更新秘密識別子メッセージを受信することと、更新された秘密識別子を前記サービスプロバイダへ供給する前に、前記クライアント装置において、該秘密識別子を更新することとをさらに備える請求項17に記載の方法。
  19. 前記秘密識別子は、クライアント装置において、異なる操作イベントによって生成された、選択された秘密データ値に基づくコードを備える請求項17に記載の方法。
  20. 前記秘密識別子を前記サービスプロバイダに供給するステップが、前記ネットワークを通じて、メッセージ内の該秘密識別子を前記サービスプロバイダに関連するサーバに送信することを備える請求項17に記載の方法。
  21. ネットワーク上のクローンクライアント装置を検出するシステムであって、
    ネットワークを通じてクライアント装置と通信する通信モジュールを有するサーバと、
    前記サーバとのサービスのために登録された少なくとも1つの実在するクライアント装置に関連するクライアント識別子と、同じクライアント識別子を有するクライアント装置から受信する少なくとも1つの秘密識別子とを格納する、前記サーバに関連するデータストレージモジュールと、
    前記サーバおよびデータストレージモジュールと関連し、クライアント装置から受信したメッセージ内の少なくとも1つの秘密識別子と、同じクライアント識別子に関連する前記格納された秘密識別子とを比較し、これらの秘密識別子が一致しない場合に、クローン検出リポートを生成するクローン検出モジュールと、
    を備えるシステム。
  22. 前記ネットワークを通じて前記サーバと通信する複数のクライアント装置をさらに備える請求項21に記載のシステム。
  23. 前記クライアント装置がスマートカードである請求項22に記載のシステム。
  24. 前記クライアント装置のうちの少なくともいくつかがスマートカードを含む請求項22に記載のシステム。
  25. 前記クライアント装置のうちの少なくともいくつかがセットトップボックスである請求項22に記載のシステム。
  26. 前記クライアント装置のうちの少なくともいくつかが移動通信装置である請求項22に記載のシステム。
  27. 前記クライアント装置のうちの少なくともいくつかがパーソナルコンピュータである請求項22に記載のシステム。
  28. 各クライアント装置は、前記クライアント装置における操作イベントに対応する少なくとも1つの秘密データ値に基づいて秘密識別子を生成する秘密識別子生成モジュールと、秘密データ値を格納する秘密データストレージモジュールと、前記ネットワークを通じて前記サーバに送信される少なくとも1つのメッセージに前記秘密識別子を組込むメッセージフォーマット化モジュールとを有する請求項22に記載のシステム。
  29. 前記秘密識別子は、少なくとも1つの実際の秘密データ値を備える請求項28に記載のシステム。
  30. 前記秘密識別子は、少なくとも1つの秘密データ値の変換バージョンを備える請求項28に記載のシステム。
  31. 前記秘密識別子は、前記クライアント装置における異なる操作イベントに対応する複数の秘密データ値を備える請求項28に記載のシステム。
  32. 前記秘密識別子は、前記クライアント装置における異なる操作イベントに対応する複数の秘密データ値の変換バージョンを備える請求項28に記載のシステム。
  33. ネットワークを通じて通信するクライアント装置であって、
    ネットワークを通じて、少なくとも1つのサーバと通信する通信モジュールと、
    前記クライアント装置における操作イベントの少なくとも1つの秘密データ値に基づいて、少なくとも1つの秘密識別子を生成する秘密識別子生成モジュールと、
    前記秘密データ値を格納する、前記秘密データ生成モジュールに関連するデータストレージモジュールと、
    を備えるクライアント装置。
  34. 前記通信モジュールに関連するメッセージフォーマット化モジュールと、前記サーバに対する通信のための秘密識別子を含む少なくとも1つのメッセージを生成するデータストレージモジュールとをさらに備える請求項33に記載のクライアント装置。
  35. 前記データストレージモジュールは、異なる操作イベントの異なる秘密データ値から構成される秘密データテーブルを格納し、前記秘密識別子は、前記秘密データテーブルに基づいている請求項33に記載のクライアント装置。
  36. 前記秘密識別子は、前記秘密データテーブルにおける秘密データ値のうちの少なくともいくつかを備える請求項35に記載のクライアント装置。
  37. 前記秘密識別子は、前記秘密データ値のうちの少なくともいくつかの変換である請求項35に記載のクライアント装置。
  38. 少なくとも1つの所定の秘密データトリガに応じて、少なくともいくつかの新たな秘密データ値で、前記秘密データ値から構成されるテーブルを更新するように構成された秘密データ更新モジュールをさらに備える請求項35に記載のクライアント装置。
  39. 前記秘密識別子生成モジュールは、コマンドに応じて、新たな秘密データに基づいて、更新されたクライアント識別子を生成するように構成されている請求項33に記載のクライアント装置。
  40. 前記コマンドは、ネットワークメッセージで受信した更新コマンドを備える請求項39に記載のクライアント装置。
  41. 前記コマンドは、秘密データトリガを備える請求項39に記載のクライアント装置。
  42. 現在の秘密識別子をサーバに送信することにより、前記ネットワークを通じて前記サーバから受信した更新メッセージに応答する更新モジュールをさらに備える請求項39に記載のクライアント装置。
  43. 前記通信モジュールと、秘密識別子生成モジュールと、データストレージモジュールとを含む一体型プロセッサを有するスマートカードを備える請求項33に記載のクライアント装置。
  44. 前記装置は、セットトップボックス、パーソナルコンピュータ、PDA、ポータブル通信装置、メディア再生装置およびスマートカードから構成される群から選択される請求項33に記載のクライアント装置。
  45. 前記クライアント装置は、秘密識別子生成モジュールおよびデータストレージモジュールを含むシリコンチップである請求項33に記載のクライアント装置。
  46. 前記秘密識別子は、前記サーバからクライアント装置へ供給された少なくとも1つの暗号化キーに少なくとも部分的に基づいている請求項1に記載の方法。
  47. 前記秘密識別子は、前記サーバからクライアント装置へ供給された少なくとも1つの暗号化キーに少なくとも部分的に基づいており、前記クライアントは、前記サーバが供給した暗号化キーを用いて、前記クライアントと前記サーバとの通信を暗号化する、請求項1に記載の方法。
  48. クライアント装置において、所定のイベントトリガに基づいて、定期的に追加の秘密識別子を付加することをさらに備え、前記追加の秘密識別子は、前の秘密識別子に追加される請求項1に記載の方法。
  49. 前記秘密識別子は、前記クライアント装置で発生したイベントの時刻に基づいている請求項1に記載の方法。
JP2008551539A 2006-01-20 2007-01-19 ネットワークセキュリティシステムおよび方法 Pending JP2009524165A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76047506P 2006-01-20 2006-01-20
PCT/US2007/060744 WO2007084973A2 (en) 2006-01-20 2007-01-19 Network security system and method

Publications (1)

Publication Number Publication Date
JP2009524165A true JP2009524165A (ja) 2009-06-25

Family

ID=38288399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008551539A Pending JP2009524165A (ja) 2006-01-20 2007-01-19 ネットワークセキュリティシステムおよび方法

Country Status (9)

Country Link
US (2) US20070174472A1 (ja)
EP (1) EP1977333B1 (ja)
JP (1) JP2009524165A (ja)
KR (1) KR20080085231A (ja)
CN (1) CN101371241B (ja)
BR (1) BRPI0706880A2 (ja)
CA (1) CA2637632A1 (ja)
RU (1) RU2008133798A (ja)
WO (1) WO2007084973A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504914A (ja) * 2009-09-09 2013-02-07 アルカテル−ルーセント 安全な通信の確立

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070276943A1 (en) * 2006-03-14 2007-11-29 General Instrument Corporation Prevention of Cloning Attacks in a DOCSIS Network
KR100764153B1 (ko) * 2006-03-15 2007-10-12 포스데이타 주식회사 휴대 인터넷 시스템에서의 단말 복제 검출 방법 및 장치
US9002018B2 (en) * 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US20070283003A1 (en) * 2006-05-31 2007-12-06 Broyles Paul J System and method for provisioning a computer system
US8301789B2 (en) * 2007-06-18 2012-10-30 Emc Corporation Techniques for port hopping
JP2009059122A (ja) * 2007-08-31 2009-03-19 Renesas Technology Corp データ処理システム
DE102007046079A1 (de) * 2007-09-26 2009-04-02 Siemens Ag Verfahren zur Herstellung einer sicheren Verbindung von einem Service Techniker zu einer von einem Störfall betroffenen Komponente einer ferndiagnostizierbaren und/oder fernwartbaren Automatisierungs-Umgebung
US8374354B2 (en) * 2007-09-27 2013-02-12 Verizon Data Services Llc System and method to pass a private encryption key
US8438618B2 (en) * 2007-12-21 2013-05-07 Intel Corporation Provisioning active management technology (AMT) in computer systems
TWI476610B (zh) * 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US8116749B2 (en) 2008-09-08 2012-02-14 Proctor Jr James Arthur Protocol for anonymous wireless communication
US9077699B1 (en) 2008-09-11 2015-07-07 Bank Of America Corporation Text chat
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9235704B2 (en) 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8051480B2 (en) 2008-10-21 2011-11-01 Lookout, Inc. System and method for monitoring and analyzing multiple interfaces and multiple protocols
US9367680B2 (en) * 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8060936B2 (en) 2008-10-21 2011-11-15 Lookout, Inc. Security status and information display system
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US8099472B2 (en) 2008-10-21 2012-01-17 Lookout, Inc. System and method for a mobile cross-platform software system
US8271509B2 (en) * 2008-11-20 2012-09-18 Bank Of America Corporation Search and chat integration system
US8156323B1 (en) * 2008-12-29 2012-04-10 Bank Of America Corporation Secured online financial transaction voice chat
US8156324B1 (en) * 2008-12-29 2012-04-10 Bank Of America Corporation Secured online financial transaction text chat
US8538815B2 (en) 2009-02-17 2013-09-17 Lookout, Inc. System and method for mobile device replacement
US8467768B2 (en) 2009-02-17 2013-06-18 Lookout, Inc. System and method for remotely securing or recovering a mobile device
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8855601B2 (en) 2009-02-17 2014-10-07 Lookout, Inc. System and method for remotely-initiated audio communication
US9042876B2 (en) 2009-02-17 2015-05-26 Lookout, Inc. System and method for uploading location information based on device movement
EP2457358B1 (en) * 2009-07-20 2018-12-12 Verimatrix, Inc. Systems and methods for detecting clone playback devices
US8397301B2 (en) 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
US8918867B1 (en) * 2010-03-12 2014-12-23 8X8, Inc. Information security implementations with extended capabilities
WO2012001697A1 (en) * 2010-07-01 2012-01-05 Tata Consultancy Services Ltd. System for two way authentication
EP2625820B1 (en) * 2010-10-08 2021-06-02 Brian Lee Moffat Private data sharing system
WO2012066471A1 (en) * 2010-11-19 2012-05-24 Nagravision S.A. Method to detect cloned software
US20120254949A1 (en) * 2011-03-31 2012-10-04 Nokia Corporation Method and apparatus for generating unique identifier values for applications and services
US20140013453A1 (en) * 2011-05-16 2014-01-09 Yuichi Futa Duplication judgment device and duplication management system
US8738765B2 (en) 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
US9503785B2 (en) 2011-06-22 2016-11-22 Nagrastar, Llc Anti-splitter violation conditional key change
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US9246882B2 (en) 2011-08-30 2016-01-26 Nokia Technologies Oy Method and apparatus for providing a structured and partially regenerable identifier
EP3888551A1 (en) * 2011-09-23 2021-10-06 Dexcom, Inc. Systems and methods for processing and transmitting sensor data
KR101907009B1 (ko) * 2011-10-21 2018-10-12 삼성전자주식회사 디지털 상품을 설치하기 위한 장치 및 방법
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US20130254001A1 (en) * 2012-03-26 2013-09-26 Apple Inc. Converting a digital media item from a rental to a purchase
US10360593B2 (en) 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
JP6251732B2 (ja) * 2012-05-03 2017-12-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Embmsにおける集中化した鍵管理
US8978093B1 (en) * 2012-05-03 2015-03-10 Google Inc. Policy based trust of proxies
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US20140067687A1 (en) * 2012-09-02 2014-03-06 Mpayme Ltd. Clone defence system for secure mobile payment
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US8855599B2 (en) 2012-12-31 2014-10-07 Lookout, Inc. Method and apparatus for auxiliary communications with mobile communications device
US9424409B2 (en) 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
US9392319B2 (en) 2013-03-15 2016-07-12 Nagrastar Llc Secure device profiling countermeasures
CN103595757A (zh) * 2013-09-09 2014-02-19 东莞市五株电子科技有限公司 一种自动网络克隆方法和系统
US9646434B2 (en) * 2013-10-10 2017-05-09 Google Technology Holdings LLC Method and system for controlling access to a restricted location
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
KR20150061717A (ko) * 2013-11-27 2015-06-05 한국전자통신연구원 콘텍스트 관리장치 및 그 방법
DE102013019870B4 (de) * 2013-11-28 2019-08-08 Friedrich Kisters Authentifizierungs- und/oder Identifikationsverfahren in einem Kommunikationsnetzwerk
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US9471948B2 (en) 2014-04-17 2016-10-18 Seed Labs Sp. Z O.O. System and method for administering licenses stored by a product unit, and administration of said unit in the field
US10440499B2 (en) 2014-06-16 2019-10-08 Comcast Cable Communications, Llc User location and identity awareness
US10045090B2 (en) 2014-08-11 2018-08-07 Comcast Cable Communications, Llc Merging permissions and content access
CN105373723B (zh) * 2014-08-27 2022-01-25 创新先进技术有限公司 设备自动授权方法和装置
FR3028981B1 (fr) * 2014-11-21 2017-01-06 Cie Ind Et Financiere D'ingenierie Ingenico Procede de detection d'un risque de substitution d'un terminal, dispositif, programme et support d'enregistrement correspondants
US9495861B2 (en) * 2014-12-02 2016-11-15 Honeywell International Inc. System and method for take-over protection for a security system
JP6565194B2 (ja) * 2015-01-15 2019-08-28 富士通株式会社 端末判定装置、方法、及びプログラム
WO2016149796A1 (en) 2015-03-26 2016-09-29 Maxxian Technology Inc. Systems and methods for detecting and interfering with compromised devices and unauthorized device relocation in a communication network
US9942203B2 (en) 2015-03-30 2018-04-10 International Business Machines Corporation Enhanced security when sending asynchronous messages
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US10230714B2 (en) 2016-07-25 2019-03-12 Ca, Inc. Tokenized account information with integrated authentication
US10645086B1 (en) * 2016-12-30 2020-05-05 Charles Schwab & Co., Inc. System and method for handling user requests for web services
EP3396614A1 (en) * 2017-04-26 2018-10-31 Schibsted Products & Technology UK Limited Management of end user privacy controls
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10769586B2 (en) * 2018-11-29 2020-09-08 Red Hat, Inc. Implementation of rolling key to identify systems inventories
CN109672526B (zh) * 2018-12-17 2021-11-09 福建联迪商用设备有限公司 一种管控可执行程序的方法及系统
US11238724B2 (en) 2019-02-15 2022-02-01 Ademco Inc. Systems and methods for automatically activating self-test devices of sensors of a security system
EP4087476A1 (en) * 2020-01-10 2022-11-16 Vioptix, Inc. Near-field communication security for medical device and sheath
CN111522516B (zh) * 2020-07-06 2020-10-27 飞天诚信科技股份有限公司 一种云播报打印数据的处理方法及系统
CN114666073B (zh) * 2020-12-04 2023-06-13 四川大学 一种基于ssl协议完备通信的隐蔽信道传输方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2007A (en) * 1841-03-16 Improvement in the mode of harvesting grain
DE3420460A1 (de) * 1984-06-01 1985-12-05 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren zum erkennen der unerlaubten benutzung einer, einer beweglichen funkstation zugeordneten identifizierung in einem funkuebertragungssystem
US5560008A (en) * 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5748742A (en) * 1995-11-30 1998-05-05 Amsc Subsidiary Corporation Fraud detection and user validation system for mobile earth terminal communication device
US5822691A (en) * 1996-05-02 1998-10-13 Nokia Mobile Phones Limited Method and system for detection of fraudulent cellular telephone use
US6069877A (en) * 1996-10-18 2000-05-30 Telxon Corporation Duplicate device detection system
FI108327B (fi) * 1996-12-23 2001-12-31 Nokia Corp Menetelmä yhteyden muodostamiseksi matkaviestinverkossa
US6466780B1 (en) * 1997-09-03 2002-10-15 Interlok Technologies, Llc Method and apparatus for securing digital communications
GB2366938B (en) * 2000-08-03 2004-09-01 Orange Personal Comm Serv Ltd Authentication in a mobile communications network
CN1133120C (zh) * 2001-02-15 2003-12-31 华中科技大学 用于集群系统的节点机远程克隆方法
JP2002269350A (ja) * 2001-03-14 2002-09-20 Hitachi Ltd 取引決済方法、取引決済システム並びにそれに用いる携帯通信端末及び加盟店用決済端末
US20030163693A1 (en) * 2002-02-28 2003-08-28 General Instrument Corporation Detection of duplicate client identities in a communication system
WO2004025415A2 (en) * 2002-09-13 2004-03-25 Southern California Edison Company Calibration process management system and method
CN101241735B (zh) * 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
EP1751745B1 (en) * 2003-11-14 2019-07-10 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7146159B1 (en) * 2003-12-23 2006-12-05 Sprint Communications Company L.P. Over-the-air card provisioning system and method
US7373395B2 (en) * 2004-02-04 2008-05-13 Perseus Wireless, Inc. Method and system for providing information to remote clients
US7474626B2 (en) * 2004-05-13 2009-01-06 Motorola, Inc. Detection of cloned communication units
FR2871020B1 (fr) * 2004-05-27 2006-07-07 Radiotelephone Sfr Procede et systeme de duplication securisee des informations d'une carte sim vers au moins un objet communicant
BRPI0615559A2 (pt) * 2005-07-20 2017-09-12 Verimatrix Inc sistema e método de autenticação de usúario de rede

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504914A (ja) * 2009-09-09 2013-02-07 アルカテル−ルーセント 安全な通信の確立

Also Published As

Publication number Publication date
BRPI0706880A2 (pt) 2011-04-12
KR20080085231A (ko) 2008-09-23
US20100268771A1 (en) 2010-10-21
CN101371241B (zh) 2012-09-12
EP1977333A4 (en) 2011-12-28
EP1977333B1 (en) 2016-08-31
US20070174472A1 (en) 2007-07-26
WO2007084973A2 (en) 2007-07-26
RU2008133798A (ru) 2010-02-27
CA2637632A1 (en) 2007-07-26
US8127346B2 (en) 2012-02-28
EP1977333A2 (en) 2008-10-08
CN101371241A (zh) 2009-02-18
WO2007084973A3 (en) 2008-04-10

Similar Documents

Publication Publication Date Title
JP2009524165A (ja) ネットワークセキュリティシステムおよび方法
CN108496382B (zh) 用于个人身份认证的安全信息传输系统和方法
US7376624B2 (en) Secure communication and real-time watermarking using mutating identifiers
EP2770455B1 (en) Method and system to exercise geographic restrictions over the distribution of content via a network
US7404084B2 (en) Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US7725404B2 (en) Secure electronic commerce using mutating identifiers
US7536563B2 (en) Method and system to securely store and distribute content encryption keys
ES2356990T3 (es) Monitorización de contenido digital proporcionado por un proveedor de contenidos sobre una red.
US20060242411A1 (en) Deliver-upon-request secure electronic message system
HU216231B (hu) Eljárás titkosított kommunikáció létrehozására
JP2009530917A (ja) 高信頼性システムを含む連合型デジタル権限管理機構
AU2001269856A1 (en) Methods and systems to distribute content via a network utilizing distributed conditional access agents and secure agents, and to perform digital rights management (drm)
CN114513345A (zh) 信息传输系统以及使用者装置与信息安全硬件模块
KR20090022493A (ko) 디바이스 인증 방법, 장치 및 그 방법을 실행하는프로그램이 기록된 기록매체
AU2007234610B2 (en) Methods and systems to distribute content via a network utilizing distributed conditional access agents and secure agents, and to perform digital rights management (DRM)
AU2007234627B2 (en) Methods and systems to distribute content via a network utilizing distributed conditional access agents and secure agents, and to perform digital rights management (DRM)
CN116545751A (zh) 一种基于零信任的智能设备安全认证方法及装置
WO2007049128A2 (en) An authentication token which implements drm functionality with a double key arrangement
JP2004343442A (ja) 開示用識別子流通方法及びシステム、開示用識別子証明装置