特許第6697572号(P6697572)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アリス エンタープライジズ インコーポレイテッドの特許一覧

<>
  • 特許6697572-ケーブルモデムのクローニング対策 図000002
  • 特許6697572-ケーブルモデムのクローニング対策 図000003
  • 特許6697572-ケーブルモデムのクローニング対策 図000004
  • 特許6697572-ケーブルモデムのクローニング対策 図000005
  • 特許6697572-ケーブルモデムのクローニング対策 図000006
  • 特許6697572-ケーブルモデムのクローニング対策 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6697572
(24)【登録日】2020年4月28日
(45)【発行日】2020年5月20日
(54)【発明の名称】ケーブルモデムのクローニング対策
(51)【国際特許分類】
   H04L 9/08 20060101AFI20200511BHJP
   H04L 9/32 20060101ALI20200511BHJP
【FI】
   H04L9/00 601A
   H04L9/00 673B
【請求項の数】17
【全頁数】16
(21)【出願番号】特願2018-548372(P2018-548372)
(86)(22)【出願日】2017年3月14日
(65)【公表番号】特表2019-508981(P2019-508981A)
(43)【公表日】2019年3月28日
(86)【国際出願番号】US2017022309
(87)【国際公開番号】WO2017160843
(87)【国際公開日】20170921
【審査請求日】2018年10月18日
(31)【優先権主張番号】62/307,922
(32)【優先日】2016年3月14日
(33)【優先権主張国】US
(31)【優先権主張番号】62/404,804
(32)【優先日】2016年10月6日
(33)【優先権主張国】US
(31)【優先権主張番号】15/458,510
(32)【優先日】2017年3月14日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】514188564
【氏名又は名称】アリス エンタープライジズ エルエルシー
【氏名又は名称原語表記】ARRIS ENTERPRISES LLC
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】ネガダール、アリ
(72)【発明者】
【氏名】カーター、ウェイド イー.
【審査官】 金沢 史明
(56)【参考文献】
【文献】 米国特許出願公開第2008/0065883(US,A1)
【文献】 米国特許第09081963(US,B1)
【文献】 米国特許出願公開第2007/0294738(US,A1)
【文献】 特表2005−532742(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08, 9/32
G06F 21/60−21/64
(57)【特許請求の範囲】
【請求項1】
ケーブルモデムの1つ以上のモジュールが行う方法であって、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を備え
前記システムオンチップに関連付けられている前記一意キーは、前記システムオンチップに関連付けられているハードウェアベースのデバイスキーを含む、方法。
【請求項2】
ケーブルモデムの1つ以上のモジュールが行う方法であって、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を備え、
前記一意キー取出工程は、
前記システムオンチップに関連付けられている一意識別子を取り出す工程と、
前記システムオンチップに関連付けられている前記一意識別子をシードとして用い、前記システムオンチップに関連付けられている前記一意キーを生成する工程と、を含む、方法。
【請求項3】
前記暗号化されている一意識別子を前記ケーブルモデムの不揮発性ランダムアクセスメモリ内に記憶する工程をさらに備える、請求項1または2に記載の方法。
【請求項4】
前記ケーブルモデムに関連付けられている前記一意識別子は、前記ケーブルモデムに関連付けられている媒体アクセス制御アドレスを含む、請求項1または2に記載の方法。
【請求項5】
前記上流コントローラはケーブルモデム終端システムを含む、請求項1または2に記載の方法。
【請求項6】
前記認可要求メッセージはベースラインプライバシインタフェースプラスの認可要求メッセージを含む、請求項1または2に記載の方法。
【請求項7】
ケーブルモデムであって、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を行うように構成されている1つ以上のモジュールを備え
前記システムオンチップに関連付けられている前記一意キーは、前記システムオンチップに関連付けられているハードウェアベースのデバイスキーを含む、ケーブルモデム。
【請求項8】
ケーブルモデムであって、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を行うように構成されている1つ以上のモジュールを備え、
前記一意キー取出工程は、
前記システムオンチップに関連付けられている一意識別子を取り出す工程と、
前記システムオンチップに関連付けられている前記一意識別子をシードとして用い、前記システムオンチップに関連付けられている前記一意キーを生成する工程と、を含む、ケーブルモデム。
【請求項9】
前記暗号化されている一意識別子を記憶するように構成されているストレージをさらに備える、請求項7または8に記載のケーブルモデム。
【請求項10】
前記ケーブルモデムに関連付けられている前記一意識別子は、前記ケーブルモデムに関連付けられている媒体アクセス制御アドレスを含む、請求項7または8に記載のケーブルモデム。
【請求項11】
前記認可要求メッセージはベースラインプライバシインタフェースプラスの認可要求メッセージを含む、請求項7または8に記載のケーブルモデム。
【請求項12】
1つ以上の非一時的なコンピュータ可読媒体であって、ケーブルモデムの1つ以上のモジュールに、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を行う動作を行わせるように動作可能な命令を有し、
前記システムオンチップに関連付けられている前記一意キーは前記システムオンチップに関連付けられているハードウェアベースのデバイスキーを含む、1つ以上の非一時的なコンピュータ可読媒体。
【請求項13】
1つ以上の非一時的なコンピュータ可読媒体であって、ケーブルモデムの1つ以上のモジュールに、
前記ケーブルモデムに関連付けられている一意識別子を取り出す工程と、
前記ケーブルモデムに関連付けられているシステムオンチップに関連付けられている一意キーを取り出す一意キー取出工程と、
前記一意キーを暗号化キーとして用いて前記ケーブルモデムに関連付けられている前記一意識別子を暗号化し、それによって暗号化されている一意識別子を生成する工程と、
前記一意キーを復号キーとして用いて前記暗号化されている一意識別子を復号し、それによって前記ケーブルモデムに関連付けられている前記一意識別子を生成する工程と、
前記ケーブルモデムに関連付けられている前記一意識別子を上流コントローラに出力する工程であって、前記ケーブルモデムに関連付けられている前記一意識別子は認可要求メッセージとして出力される、工程と、を含む動作を行わせるように動作可能な命令を有し、
前記一意キー取出工程は、
前記システムオンチップに関連付けられている一意識別子を取り出す工程と、
前記システムオンチップに関連付けられている前記一意識別子をシードとして用い、前記システムオンチップに関連付けられている前記一意キーを生成する工程と、を含む、1つ以上の非一時的なコンピュータ可読媒体。
【請求項14】
前記命令は、
前記暗号化されている一意識別子を前記ケーブルモデムの不揮発性ランダムアクセスメモリ内に記憶する工程を含む前記動作を前記1つ以上のモジュールに行わせるようにさらに動作可能である、請求項12または13に記載の1つ以上の非一時的なコンピュータ可読媒体。
【請求項15】
前記ケーブルモデムに関連付けられている前記一意識別子は、前記ケーブルモデムに関連付けられている媒体アクセス制御アドレスを含む、請求項12または13に記載の1つ以上の非一時的なコンピュータ可読媒体。
【請求項16】
前記上流コントローラはケーブルモデム終端システムを含む、請求項12または13に記載の1つ以上の非一時的なコンピュータ可読媒体。
【請求項17】
前記認可要求メッセージはベースラインプライバシインタフェースプラスの認可要求メッセージを含む、請求項12または13に記載の1つ以上の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はケーブルモデムのクローニングの防止に関する。
【背景技術】
【0002】
ケーブルによるデータサービスインタフェース標準(DOCSIS)は、完全にはケーブルモデムクローニング対策に対応していない。DOCSIS規格では、ケーブルモデムデバイスの証明書のサブジェクトコモンネームがケーブルモデムの媒体アクセス制御(MAC)アドレスを含むことが要求される。ケーブルモデムデバイスの証明書におけるコモンネームがデバイスケーブルモデムのMACアドレスと一致しないことをケーブルモデム終端システム(CMTS)が検出すると、ベースラインプライバシインタフェースプラス(BPI+)認証は失敗する。DOCSISでは、CTMSが全てのケーブルモデムに対しBPI+を強制するポリシーが推奨される。しかしながら、ケーブルモデムが完全にクローニングされると、すなわちデバイス証明書とケーブルモデムMACアドレスとの両方を含む不揮発性ランダムアクセスメモリ(NVRAM)全体がクローニングされる場合、DOCSISのクローニング対策の推奨は十分でなくなる。報告されるクローンの数は大幅に増加しており、インターネットサービスプロバイダ(ISP)がクローンデバイスを維持し処理することは困難である。したがって、ケーブルモデムのクローニングを防止する方法およびシステムを改良する必要性が存在する。
【図面の簡単な説明】
【0003】
図1】SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なネットワーク環境の一例を示すブロック図。
図2】SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なケーブルモデムの一例を示すブロック図。
図3】SoCの識別特性から生成される難読化キーを用いてデバイス識別子の暗号化を行うように動作可能なケーブルモデムの一例を示すブロック図。
図4】SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能な処理の一例を示すフローチャート。
図5】SoCの識別特性から生成される難読化キーを用いてデバイス識別子の暗号化を行うように動作可能な処理の一例を示すフローチャート。
図6】SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なハードウェア構成のブロック図。
【発明を実施するための形態】
【0004】
様々な図面における同様の参照符合および記号は同様の要素を指し示す。
ケーブルモデムクローニングの問題点は単にCMTSのBPI+ポリシーを強制することによっては対処されないので、MACアドレスクローニングを防止するようにある程度のケーブルモデムデバイスレベルでの保護が必要である。本明細書に記載されるのは、ケーブルモデムMACアドレスが任意の他のデバイス上にクローニングされることが不可能であるように、ケーブルモデムMACアドレスをそのデバイス上のシステムオンチップ(SOC)に紐付けるための方法およびシステムである。さらに、本明細書に記載される方法およびシステムは、MACアドレスをSOCのワンタイムプログラマブル(OTP)に融合させる必要がない。全てのSOCがOTPによるOEM(original equipment manufacturer)データカスタマイズをサポートするわけではない。また、MACアドレスをOTPに融合するにはSOCカスタマイズが必要であり、製造プロセスおよびデバイス返送/修理プロセスが複雑になる。
【0005】
方法、システム、およびコンピュータ可読媒体はSoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能である。ケーブルモデムの一意識別子は、ケーブルモデムに関連付けられているSoCの一意キーまたは他の一意な特性を用いて暗号化されてよい。ケーブルモデムにて認証処理が開始されるとき、暗号化されているケーブルモデムの一意識別子はSoCの一意キーまたは他の一意な特性を用いて復号され、それによってケーブルモデムの一意識別子が生成されてよい。復号されたケーブルモデムの一意識別子は、認証処理中、ケーブルモデムから上流コントローラに出力されてよい。実施形態では、難読化キーがケーブルモデムの一意識別子を暗号化および復号するように用いられてよく、難読化キーはSoCの一意識別子を用いて生成されてよい。
【0006】
図1は、SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なネットワーク環境100の一例を示すブロック図である。実施形態では、ケーブルモデム105は1つ以上のサービス(例えばビデオ、データ、音声、安全性、他のサービス、またはそれらのうちの1つ以上)を受信するか、それらをサブスクライバに対して配信するか、またはその両方を行ってよい。ケーブルモデム105はスタンドアローンのケーブルモデムであってよく、または、セットトップボックス(STB)、マルチメディアゲートウェイデバイス、ルータ、ワイヤレスエクステンダ、様々な他のデバイスのうちの1つ以上のものの内部に埋め込まれてよい。
【0007】
実施形態では、ケーブルモデム105は1つ以上のサービスを受信してよく、また、アクセスネットワーク110およびワイドエリアネットワーク(WAN)115を通じて1つ以上の上流ネットワークコンポーネントとの間で他の通信を送受信してよい。アクセスネットワーク110は、ハイブリッドファイバ同軸(HFC)ネットワークなどといった、ケーブルモデム105とWAN115との間の様々な通信リンクのいずれを備えてもよい。
【0008】
実施形態では、ケーブルモデム105は、ケーブルモデム105の上流に設けられているCMTS(ケーブルモデム終端システム)120または他の中央デバイスと通信してよい。例えば動作中に、ケーブルモデム105は、ケーブルモデム105がサブスクライバに1つ以上のサービスを提供することの許可が与えられていることを検証(verify)するために、CMTS120による認証処理を経てよい。認証処理が成功裏に完了すると、CMTS120は1つ以上のサービスをケーブルモデム105に関連付けられているサブスクリプションにしたがってケーブルモデム105に配信してよい。ケーブルモデム105とCMTS120との間の認証処理は、CMTS120へのケーブルモデム105の一意識別子の送信と、一意識別子により識別されるケーブルモデム105が1つ以上のサービスをサブスクライバの敷地に提供することを許可しているという、CMTS120による検証とを含む。例えばケーブルモデム105の一意識別子はケーブルモデム105に関連付けられているMAC(媒体アクセス制御)アドレスかケーブルモデム105に関連付けられている他の識別子であってよい。ケーブルモデム105とCMTS120との間の認証処理はベースラインプライバシインタフェースプラス(BPI+)認証処理であってよく、ケーブルモデム105はBPI+認可要求にケーブルモデム105のMACアドレスを投入し、BPI+認可要求をCMTS120に送信する。認証処理は様々な他の処理を含んでよいことが理解される。
【0009】
実施形態では、ケーブルモデム105の一意識別子(例えばケーブルモデム105のMACアドレス)は、CMTS120を用いてケーブルモデム105を認証する目的で、SoCがMACアドレスの記憶および取出に必要となるように、ケーブルモデム105のSoCに紐付けられてよい。ケーブルモデム105のSoCへのアクセスがなければ、それによって、ケーブルモデム105をクローニングしようと試みるデバイスは、有効なMACアドレスをCMTS120に配信することを妨げられる。例えばケーブルモデム105のMACアドレスは、ケーブルモデム105のSoCに対して一意な1つ以上の特性を用いて暗号化されてよい。
【0010】
ケーブルモデム105のMACアドレスをケーブルモデム105のSoCに紐付けるためのハードウェアベースのソリューションはケーブルモデム105内に実装されてよい。このハードウェアベースのソリューションは、ケーブルモデム105のSoCがハードウェアに根ざした信頼性(hardware root of trust)およびハードウェアベースのキーラダーを補助するときに用いられてよい。実施形態では、ケーブルモデム105のMACアドレスは、ケーブルモデム105のSoCに関連付けられている一意のハードウェアベースのデバイスキーを用いて保護されてよい。例えばケーブルモデム105の製造中、ケーブルモデム105のMACアドレスはケーブルモデム105のSoCのセキュリティエンジンに渡されてよく、SoCに関連付けられているハードウェアベースのデバイスキーを用いて暗号化され署名される。例えば、SoCに関連付けられているハードウェアベースのデバイスキーは、ケーブルモデム105のMACアドレスを暗号化/復号するための暗号化/復号キーとして用いられてよい。セキュリティエンジンはSoCに関連付けられているハードウェアベースのデバイスキーから1つ以上の暗号化/復号キーを生成してよい。SoCに関連付けられているハードウェアベースのデバイスキーはハードウェアにおいて保護されてよく、セキュリティエンジンの外部へのアクセスから保護されてよい。セキュリティエンジンからの出力は、MACアドレスを暗号化した/署名したのと同一のSoCによってのみ復号および認証されることが可能な、暗号化されているMACアドレスである。暗号化されているMACアドレスはケーブルモデム105に(例えばNVRAM(不揮発性ランダムアクセスメモリ)に)記憶されてよい。動作時、ケーブルモデム105は暗号化されているMACアドレスを取り出し、SoCに関連付けられているハードウェアベースのデバイスキーを用いて、暗号化されているMACアドレスを復号および確認(validate)し、BPI+認証処理において確認されているMACアドレスを用いる。ケーブルモデム105がクローニングされている場合、クローンはMACアドレスを暗号化するように用いられたSoCに関連付けられているハードウェアベースのデバイスキーに対するアクセスを有しないので、暗号化されているMACアドレスはクローンによって復号され/検証されることは不可能である。このようにして、クローンはBPI+認可要求メッセージに適切なMACアドレスを投入することができない。
【0011】
実施形態では、ケーブルモデム105のSoCがハードウェアベースのキーラダーを補助しない場合、ソフトウェアベースの難読化が実装される。ソフトウェアベースのソリューションは、SoCの1つ以上の一意な特性に基づく難読化キーを生成することによって、ケーブルモデム105のMACアドレスをケーブルモデム105のSoCに紐付ける機構を提供する。難読化キーを生成するためのシード(またはシードの一部)はケーブルモデム105のSoCの一意識別子であってよく、シードはケーブルモデム105の不揮発性メモリに記憶されない。製造中、ケーブルモデム105のMACアドレスは、ケーブルモデム105の難読化エンジンに渡されてよい。難読化エンジンはSoCからSoCの一意識別子を取得してよく、難読化キーを生成するためのシードの一部として一意識別子を用いてよい。SoCの一意識別子は各々のSOCおよびケーブルモデム105に対して一意であるので、難読化キーはそのケーブルモデム105に対して一意である。難読化エンジンは、難読化キーを用いてケーブルモデム105のMACアドレスを暗号化し署名してよい。例えば、難読化キーはケーブルモデムのMACアドレスを暗号化するために暗号化キーとして用いられてよい。暗号化されているMACアドレスは、ケーブルモデム105のNVRAMに記憶されてよい。動作時、ケーブルモデム105は暗号化されているMACアドレスを取り出してよく、難読化解除エンジンを用いてMACアドレスを復号し確認してよい。難読化解除エンジンは難読化解除キーを生成するようにSoCの一意識別子を用いてよい。例えば、難読化解除キーは暗号化されているMACアドレスを復号するための復号キーとして用いられてよい。ケーブルモデム105は、BPI+認証処理において確認されているMACアドレスを用いてよい。SoCの一意識別子および難読化解除キーへのアクセスがなければ、クローンは難読化キーを作り出すように用いられるSOC IDに対するアクセスを有しないので、クローンに関してBPI+認可要求は失敗する。その代わりにクローンは、セキュアなMACアドレスを復号/検証するための難読化解除エンジンへの入力として、クローンに関連付けられているSoCの一意識別子を用い、それによって無効なMACアドレスを生成する。
【0012】
図2は、SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なケーブルモデム105の一例を示すブロック図である。実施形態では、ケーブルモデム105はSoC(システムオンチップ)205、セキュアな識別子データストア210、および認可モジュール215を備えてよい。SoC205はセキュリティエンジン220を備えてよい。
【0013】
実施形態では、SoC205のセキュリティエンジン220はケーブルモデム105のMACアドレスを取り出してよい。セキュリティエンジン220はSoC205に関連付けられているハードウェアベースのデバイスキーを取り出してよく、セキュリティエンジン220はSoC205に関連付けられているハードウェアベースのデバイスキーを用いて、取り出されたMACアドレスを暗号化し署名してよい。例えば、セキュリティエンジン220はケーブルモデム105のMACアドレスを暗号化するための暗号化キーとしてSoC205に関連付けられているデバイスキーを用いてよい。セキュリティエンジン220は暗号化されているMACアドレスをセキュアな識別子データストア210に出力してよい。実施形態では、セキュアな識別子データストア210はNVRAMを含んでよい。
【0014】
動作時、セキュリティエンジン220はセキュアな識別子データストア210から暗号化されているMACアドレスを取り出してよい。実施形態では、セキュリティエンジン220は、SoC205に関連付けられているハードウェアベースのデバイスキーを用いて、暗号化されているMACアドレスを復号し確認してよい。例えば、セキュリティエンジン220はケーブルモデム105の暗号化されているMACアドレスを復号するための復号キーとしてデバイスキーを用いてよい。暗号化されているMACアドレスの復号および確認に引き続いて、セキュリティエンジン220は確認されているMACアドレスを認可モジュール215に渡してよく、認可モジュール215はケーブルモデム105と上流コントローラとの間での認証処理の一部としてMACアドレスを上流コントローラ(例えば図1のCMTS120)に出力してよい。例えば、認可モジュール215はBPI+認可要求メッセージにMACアドレスを投入してよく、BPI+認可要求メッセージをCMTS120に出力してよい。
【0015】
図3は、SoCの識別特性から生成される難読化キーを用いてデバイス識別子の暗号化を行うように動作可能なケーブルモデム105の一例を示すブロック図である。実施形態では、ケーブルモデム105はSoC(システムオンチップ)305、セキュアな識別子データストア310、難読化エンジン315、難読化解除エンジン320、および認可モジュール325を備えてよい。
【0016】
実施形態では、難読化エンジン315はSoC305の1つ以上の一意な特性に基づく難読化キーを生成してよい。難読化キーを生成するためのシード(またはシードの一部)はSoC305の一意識別子であってよい。例えば、難読化エンジン315はSoC305からSoC305の一意識別子を取得してよく、難読化キーを生成するためのシードの一部として一意識別子を用いてよい。ケーブルモデム105のMACアドレスは、難読化エンジン315によって取り出されてよく、難読化エンジン315は難読化キーを用いてケーブルモデム105のMACアドレスを暗号化し署名してよい。例えば、難読化エンジン315はケーブルモデム105のMACアドレスを暗号化するための暗号化キーとして難読化キーを用いてよい。暗号化されているMACアドレスはケーブルモデム105のNVRAMに(例えばセキュアな識別子データストア310に)記憶されてよい。
【0017】
実行時、難読化解除エンジン320はセキュアな識別子データストア310から暗号化されているMACアドレスを取り出してよく、難読化解除エンジン320は難読化解除キーを用いてMACアドレスを復号し確認してよい。難読化解除キーは難読化解除エンジンによってSoC305の一意識別子から生成されてよい。難読化解除エンジン320は暗号化されているケーブルモデム105のMACアドレスを復号するための復号キーとして難読化解除キーを用いてよい。ケーブルモデム105は、BPI+認証処理において、確認されているMACアドレスを用いてよい。暗号化されているMACアドレスの復号および確認に引き続いて、難読化解除エンジン320は確認されているMACアドレスを認可モジュール325に渡してよく、認可モジュール325はケーブルモデム105と上流コントローラとの間の認証処理の一部としてMACアドレスを上流コントローラ(例えば図1のCMTS120)に出力してよい。例えば、認可モジュール325はBPI+認可要求メッセージにMACアドレスを投入してよく、BPI+認可要求メッセージをCMTS120に出力してよい。
【0018】
図4は、SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能な処理400の一例を示すフローチャートである。処理400は405にて始まることが可能であり、ここでケーブルモデムの一意識別子はケーブルモデムに関連付けられているSoC(例えば図2のSoC205)にて受信される。例えば、ケーブルモデム(例えば図1のケーブルモデム105)の一意識別子は、ケーブルモデム105に関連付けられているSoC(例えば図2のSoC205)のセキュリティエンジン(例えば図2のセキュリティエンジン220)によって受信されてよい。実施形態では、ケーブルモデム105の一意識別子はケーブルモデム105に関連付けられているMACアドレスであってよい。
【0019】
410にて、SoCの一意キーはケーブルモデムの一意識別子を暗号化するように用いられ、それによってケーブルモデムに関連付けられており暗号化されている一意識別子が作り出されてよい。ケーブルモデムの一意識別子は、例えばケーブルモデム105に関連付けられているSoCのセキュリティエンジン(例えばセキュリティエンジン220)によって暗号化されてよい。実施形態では、セキュリティエンジン220はケーブルモデム105の一意識別子(例えばMACアドレス)およびSoCの一意キー(例えばSoCに関連付けられているハードウェアベースのデバイスキー)を取り出してよい。セキュリティエンジン220は、取り出された一意識別子を、SoC205に関連付けられているハードウェアベースのデバイスキーを用いて暗号化し署名してよい。例えば、セキュリティエンジン220はケーブルモデム105の一意識別子を暗号化するための暗号化キーとしてハードウェアベースのデバイスキーを用いてよい。
【0020】
415にて、暗号化されているケーブルモデムの一意識別子が記憶されてよい。暗号化されているケーブルモデムの一意識別子は、例えばケーブルモデムに関連付けられているストレージに(例えば図2のセキュアな識別子データストア210に)記憶されてよい。実施形態では、暗号化されているケーブルモデムの一意識別子はケーブルモデム105のNVRAM内に記憶されてよい。
【0021】
420にて、ケーブルモデム認証処理は開始されてよい。例えば、ケーブルモデム認証処理は上流コントローラ(例えば図1のCMTS120)を用いてケーブルモデムを認証する処理であってよい。認証処理はBPI+認証処理または上流コントローラにてケーブルモデムを認証する他の処理であってよい。実施形態では、ケーブルモデムが1つ以上のサービスまたは上流コントローラにアクセスする許可を要求するときに認証処理が開始されてよい。
【0022】
425にて、暗号化されているケーブルモデムの一意識別子が取り出されてよい。暗号化されている一意識別子は、例えばケーブルモデムSoCのセキュリティエンジン(例えばセキュリティエンジン220)によって取り出されてよい。実施形態では、セキュリティエンジン220はケーブルモデムにおけるストレージから(例えばセキュアな識別子データストア210から)、暗号化されている一意識別子(例えば暗号化されているMACアドレス)を取り出してよい。
【0023】
430にて、暗号化されているケーブルモデムの一意識別子がSoCの一意キーを用いて復号され、それによってケーブルモデムの一意識別子が生成されてよい。暗号化されている一意識別子は、例えばケーブルモデムに関連付けられているSoCのセキュリティエンジン(例えば図2のセキュリティエンジン220)によって復号されてよい。実施形態では、セキュリティエンジン220は、ケーブルモデムに関連付けられている一意識別子を生成するように、SoC205に関連付けられているハードウェアベースのデバイスキーを用いて、暗号化されている一意識別子(例えばMACアドレス)を復号し確認してよい。例えば、セキュリティエンジン220は暗号化されているケーブルモデム105の一意識別子を復号するための復号キーとしてハードウェアベースのデバイスキーを用いてよい。
【0024】
435にて、認可要求メッセージにはケーブルモデムの一意識別子が投入されてよい。認可要求メッセージには、例えばケーブルモデムの認可モジュール(例えば図2の認可モジュール215)によって、ケーブルモデムの一意識別子が投入されてよい。実施形態では、認可要求メッセージはBPI+認可要求メッセージであってよい。認可要求メッセージは440にて、ケーブルモデムから上流コントローラ(例えば図1のCMTS120)に出力されてよい。
【0025】
図5は、SoCの識別特性から生成される難読化キーを用いてデバイス識別子の暗号化を行うように動作可能な処理500の一例を示すフローチャートである。処理500は505にて始まることが可能であり、ここでケーブルモデムの一意識別子はケーブルモデムに関連付けられているSoC(例えば図3のSoC305)にて受信されてよい。例えば、ケーブルモデム(例えば図1のケーブルモデム105)の一意識別子が難読化エンジン(例えば図3の難読化エンジン315)によって受信されてよい。実施形態では、ケーブルモデム105の一意識別子はケーブルモデム105に関連付けられているMACアドレスであってよい。
【0026】
510にて、ケーブルモデムに関連付けられているSoCの一意識別子が取り出されてよい。SoCの一意識別子は、例えば難読化エンジン(例えば図3の難読化エンジン315)によって取り出されてよい。実施形態では、難読化エンジン315はケーブルモデム105のSoCから(例えば図3のSoC305から)SoCの一意識別子を取り出してよい。SoCの一意識別子はSoC305の識別子または他の一意な特性であってよい。
【0027】
515にて、SoCの一意識別子は難読化キーを生成するように用いられてよい。難読化キーは、例えば難読化エンジン(例えば図3の難読化エンジン315)によって生成されてよい。実施形態では、難読化エンジン315はSoC305の一意識別子に基づく難読化キーを生成してよい。難読化キーを生成するためのシード(またはシードの一部)は取り出されるSoC305の一意識別子であってよい。
【0028】
520にて、難読化キーはケーブルモデムの一意識別子を暗号化するように用いられ、それによってケーブルモデムに関連付けられており暗号化されている一意識別子が作り出されてよい。ケーブルモデムの一意識別子は、例えば難読化エンジン(例えば難読化エンジン315)によって暗号化されてよい。実施形態では、難読化エンジン315は難読化キーを用いてケーブルモデム105の一意識別子(例えばMACアドレス)を暗号化し署名してよい。例えば、難読化エンジン315は、ケーブルモデム105に関連付けられている一意識別子を暗号化するための暗号化キーとして難読化キーを用いてよい。
【0029】
525にて、暗号化されているケーブルモデムの一意識別子が記憶されてよい。暗号化されているケーブルモデムの一意識別子は、例えばケーブルモデムに関連付けられているストレージに(例えば図3のセキュアな識別子データストア310に)記憶されてよい。実施形態では、暗号化されているケーブルモデムの一意識別子はケーブルモデム105のNVRAM内に記憶されてよい。
【0030】
530にて、ケーブルモデム認証処理が開始されてよい。例えば、ケーブルモデム認証処理は上流コントローラ(例えば図1のCMTS120)を用いてケーブルモデムを認証する処理であってよい。認証処理はBPI+認証処理または上流コントローラにおけるケーブルモデムを認証する他の処理であってよい。実施形態では、ケーブルモデムが1つ以上のサービスまたは上流コントローラへのアクセスの許可を要求するときに認証処理は開始されてよい。
【0031】
535にて、暗号化されているケーブルモデムの一意識別子が取り出されてよい。暗号化されている一意識別子は、例えばケーブルモデム105の難読化解除エンジン(例えば図3の難読化解除エンジン320)によって取り出されてよい。実施形態では、難読化解除エンジン320はケーブルモデム105におけるストレージから(例えばセキュアな識別子データストア310から)暗号化されている一意識別子(例えば暗号化されているMACアドレス)を取り出してよい。
【0032】
540にて、暗号化されているケーブルモデムの一意識別子が難読化解除キーを用いて復号され、それによってケーブルモデムの一意識別子が生成されてよい。暗号化されている一意識別子は、例えば難読化解除エンジン(例えば図3の難読化解除エンジン320)によって復号されてよい。実施形態では、難読化解除エンジン320はケーブルモデム105に関連付けられている一意識別子を生成するための難読化解除キーを用いてケーブルモデム105の一意識別子(例えばMACアドレス)を復号し確認してよい。難読化解除キーは、難読化解除エンジン320によってSoC305の一意識別子(例えば510にて取り出されるSoCの一意識別子)から生成されるキーであってよい。難読化解除エンジン320はケーブルモデム105に関連付けられており暗号化されている一意識別子を復号するための復号キーとして難読化解除キーを用いてよい。
【0033】
545にて、認可要求メッセージにはケーブルモデムの一意識別子が投入されてよい。認可要求メッセージには、例えばケーブルモデム105の認可モジュール(例えば図3の認可モジュール325)によって、ケーブルモデムの一意識別子が投入されてよい。実施形態では、認可要求メッセージはBPI+認可要求メッセージであってよい。認可要求メッセージは550にて、ケーブルモデムから上流コントローラ(例えば図1のCMTS120)に出力されてよい。
【0034】
図6は、SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能なハードウェア構成600のブロック図である。ハードウェア構成600はプロセッサ610、メモリ620、ストレージデバイス630、および入力/出力デバイス640を備えることが可能である。コンポーネント610,620,630および640の各々は、例えばシステムバス650を用いて相互接続されることが可能である。プロセッサ610はハードウェア構成600内で実行する命令を処理することが可能である。1つの実施形態では、プロセッサ610はシングルスレッドのプロセッサであることが可能である。別の実施形態では、プロセッサ610はマルチスレッドのプロセッサであることが可能である。プロセッサ610はメモリ620またはストレージデバイス630に記憶されている命令を処理することが可能である。
【0035】
メモリ620はハードウェア構成600内に情報を記憶することが可能である。1つの実施形態では、メモリ620はコンピュータ可読媒体であることが可能である。1つの実施形態では、メモリ620は揮発性メモリユニットであることが可能である。別の実施形態では、メモリ620は不揮発性メモリユニットであることが可能である。
【0036】
いくつかの実施形態では、ストレージデバイス630はハードウェア構成600にマスストレージを提供することが可能である。1つの実施形態では、ストレージデバイス630は、コンピュータ可読媒体であることが可能である。様々な異なる実施形態では、ストレージデバイス630は、例えばハードディスクデバイス、光学ディスクデバイス、フラッシュメモリまたはいくつかの他の大容量ストレージデバイスを含むことが可能である。他の実施形態では、ストレージデバイス630はハードウェア構成600の範囲外のデバイスであることが可能である。
【0037】
入力/出力デバイス640はハードウェア構成600のための入力/出力動作を提供する。実施形態では、入力/出力デバイス640はネットワークインタフェースデバイス(例えばイーサネット(登録商標)カード)の1つ以上、シリアル通信デバイス(例えばRS−232ポート)、1つ以上のユニバーサルシリアルバス(USB)インタフェース(例えばUSB2.0ポート)、1つ以上のワイヤレスインタフェースデバイス(例えば802.11カード)、ビデオ、音声、データ、他のサービスのうちの1つ以上をデバイスに出力する1つ以上のインタフェース(例えば図1のケーブルモデム105、顧客構内設備(CPE)デバイス、クライアントデバイスなど)のうちの1つ以上を含むことが可能である。実施形態では、入力/出力デバイスは1つ以上のネットワーク(例えば図1のアクセスネットワーク110、図1のWAN115など)に通信を送信およびそれらから通信を受信するように構成されているドライバデバイスを含むことが可能である。
【0038】
当業者は、発明がケーブルモデムクローニングを防止する方法およびシステムを改良することを認識する。方法、システム、およびコンピュータ可読媒体は、SoCの識別特性を用いてデバイス識別子の暗号化を行うように動作可能である。ケーブルモデムの一意識別子は、ケーブルモデムに関連付けられているSoCの一意キーまたは他の一意な特性を用いて暗号化されてよい。ケーブルモデムにて認証処理が開始されるとき、暗号化されているケーブルモデムの一意識別子はSoCの一意キーまたは他の一意な特性を用いて復号され、それによってケーブルモデムの一意識別子が生成されてよい。復号されたケーブルモデムの一意識別子は認証処理の間、ケーブルモデムから上流コントローラに出力されてよい。実施形態では、難読化キーはケーブルモデムの一意識別子を暗号化および復号するように用いられてよく、難読化キーはSoCの一意識別子を用いて生成されてよい。
【0039】
本開示の発明の対象およびそれらのコンポーネントは、実行時に1つ以上の処理デバイスに上記の処理および機能を遂行させるという命令により実現されることが可能である。例えばそうした命令は、例えばジャバスクリプトまたはエクマスクリプト命令といったスクリプト命令などの解釈された命令、または実行可能コード、またはコンピュータ可読媒体に記憶されている他の命令を含むことが可能である。
【0040】
本明細書に記載される発明の対象の実施および機能動作は、ディジタル電子回路に、または本明細書に開示される構造およびそれらの構造の均等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアに、またはそれらの1つ以上の組合せにおいて提供されることが可能である。本明細書に記載される発明の対象の実施形態は、1つ以上のコンピュータプログラムプロダクト、すなわちデータ処理装置による実行のための、またはデータ処理装置の動作を制御するための有形のプロブラムキャリア上にエンコードされるコンピュータプログラム命令の1つ以上のモジュールとして実施されることが可能である。
【0041】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても既知の)は、コンパイルされた言語または解釈された言語、または宣言型または手続型言語を含む任意の形態のプログラム言語で記述されることが可能であり、コンピュータプログラムは、スタンドアローンプログラムとして、またはコンピュータ環境での使用に適したモジュール、コンポーネント、サブルーチン、もしくは他のユニットを含む任意の形態でデプロイされることが可能である。コンピュータプログラムは、ファイルシステムにおけるファイルに対応することが必須ではない。プログラムは、他のプログラムまたはデータ(例えばマークアップ言語ドキュメントに記憶されている1つ以上のスクリプト)を保持するファイルの一部に、当該プログラム専用の単一のファイルに、または複数の組織されたファイル(例えば1つ以上のモジュール、サブプログラム、またはコードの部分に記憶されているファイル)に記憶されることが可能である。コンピュータプログラムは、1つのサイトに設けられるまたは複数のサイトにわたって分配される、1つのコンピュータ上または複数のコンピュータ上で実行されるように、また、通信ネットワークによって相互接続されるようにデプロイされることが可能である。
【0042】
本明細書に記載される処理および論理フローは、入力データに対して動作することと出力を生成することとによって機能を果たす1つ以上のコンピュータプログラムを実行する、1つ以上のプログラム可能なプロセッサによって行われ、それによって処理を特定のマシン(例えば本明細書に記載される処理を行うようにプログラムされているマシン)に結び付ける。処理および論理フローは、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった専用論理回路によっても行われることが可能であり、装置はその専用論理回路として実装されることも可能である。
【0043】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として半導体メモリデバイス(例えばEPROM、EEPROM、およびフラッシュメモリデバイス)と、磁気ディスク(例えば内蔵ハードディスクまたはリムーバルディスク)と、磁気光学ディスクと、CD ROMおよびDVD ROMディスクとを含む、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは専用論理回路により補われることが可能であり、または専用論理回路に組み込まれることが可能である。
【0044】
本明細書は多くの特定の実施の詳細を包含するものであるが、これらは任意の発明の、または請求され得るものの範囲の限定としてではなく、むしろ特定の発明の特定の実施形態に特有であり得る特徴の記載として解釈される。別個の実施形態の文脈で本明細書に記載されるある特徴は、単一の実施形態における組合せにおいて実施されることも可能である。反対に、単一の実施形態の文脈で記載される様々な特徴は、複数の実施形態において別個に、または任意の適切な部分的組合せにおいて実施されることも可能である。さらに、特徴はある組合せにおける作用として上述されてよく、そのように最初に請求されてもよいが、請求される組合せからの1つ以上の特徴は、ある場合には組合せから取り除かれることが可能であり、請求される組合せは部分的組合せまたは部分的組合せの変化を対象としてよい。
【0045】
同様に、動作は図面において特定の順序で示されるが、これは所望の結果を達成するために、そうした動作が示される特定の順序でまたは連続した順序で行われるか、示される全ての動作が行われる必要があると理解されるものではない。ある状況下ではマルチタスキングおよび並列処理が有利である場合がある。さらに、上述される実施形態における様々なシステムコンポーネントの分離は、全ての実施形態におけるそうした分離が必要であると理解されるものではなく、記載されるプログラムコンポーネントおよびシステムは一般に単一のソフトウェアプロダクトに一体化されるか複数のソフトウェアプロダクトにパッケージされることが可能であると理解される。
【0046】
本明細書に記載される発明の対象の特定の実施形態が記載されている。他の実施形態は以下の請求項の範囲内である。例えば、請求項に列挙される動作は、他の方法で明確に言及されない限り、異なる順序で行われることが可能であり、依然として所望の結果を達成することが可能である。1つの例として、添付の図面に示される処理は、所望の結果を達成するために、示される特定の順序または連続した順序を必要とすることが必須ではない。いくつかの実施において、マルチタスキングおよび並列処理が有利である場合がある。
図1
図2
図3
図4
図5
図6