最終更新日:2022-04-11 12:56:29
ホットリンキングは著作権を侵害するだけでなく、ユーザーの流出にもつながる。全体の利益を下げ、顧客のバンド幅コストとサーバーの維持コストを増加させる。そのため、ホットリンキングは市場が早急に解決する必要がある問題である。
CDNetworksが提供するアンチホットリンキング機能は、ホットリンキングをある規則で識別し、これらのリクエストに対するサービスの提供を拒否することで、ホットリンキングを防止してCDNetworksの顧客のバンド幅とサーバーのランニングコストを節約できる。
内容加速
動的ウェブ加速
メディア加速
メディア加速生中継
CDNetworksは一連のアンチホットリンキング機能を公開した:
アンチホットリンキング 機能 | 特性説明 |
---|---|
IPブラックリスト/ホワイトリスト アンチホットリンキング | リクエストされたIPアドレスを識別するためには、一致したIPアドレスのみがサービスにアクセスできる。 |
クッキー アンチホットリンキング | HTTPリクエストにおけるクッキーヘッダ値を識別するためには、クッキーヘッダと一致したHTTPリクエストのみがサービスへのアクセスを許可する。 |
リファラー アンチホットリンキング | 「httpリクエストにおけるリファラーヘッダの値を識別するため、HTTP リクエストとマッチしたリファラーヘッダのみがサービスへのアクセスを許可する。 |
UA ヘッダ アンチホットリンキング | HTTPリクエストにおけるユーザ-代理ヘッダ値を識別するためには、ユーザ-代理ヘッダに一致したHTTP要求のみがサービスへのアクセスを許可する。 |
カスタマイズヘッダ アンチホットリンキング | クライアントの要求に応じてHTTPリクエストにおける他のカスタマイズヘッダを識別するために、マッチングヘッダ付きリクエストのみがサービスへのアクセスを許可される。 |
タイムスタンプ アンチホットリンキング | 顧客と交渉したタイムスタンプと秘密キーでURLを暗号化し、リクエスト時間が有効かどうかを検証する。 |
バック-2-源 身分検証アンチホットリンキング | 源に戻り、源サーバの認証ルールに従って受信したリクエストごとに情報認証を行う。 |
顧客は自分のビジネスタイプに基づき、それぞれのアンチホットリンキング を選択することができる。アンチホットリンキングの比較は次のようになる。
アンチホットリンキング | 適用シーン | Advantages |
---|---|---|
基本 アンチホットリンキング | 指定されるIPアドレス/ ウェブページ/ブラウザ/プレーヤー及び指定されたクッキーからのリクエストを許可または禁止する。 | 簡単に実現する |
タイムスタンプ アンチホットリンキング | 期限切れていないリクエストを許可する。 | 良いアンチホットリンキング 効果; すべての期限切れたリクエストを 禁止する。 |
BtO 検証 | リクエストごとにアンチホットリンキング BtO 検証が要求される; グローバル検証シーンに適用する。 | アンチホットリンキング効果が良い; アンチホットリンキングを基に認証結果を 生成する; 提案は柔軟で、自由に定義できる。 認証はユーザのアカウント情報などに基づいて 行うことができる |
基本アンチホットリンキングはIPブラックリスト/ホワイトリスト、クッキー, リファラー、 UA ヘッダ とカスタマイズ ヘッダ アンチホットリンキングを含む。
図 1 基本 アンチホットリンキング ワークプロセス
(1) ユーザーはリクエストをCDN ポップに送信する;
(2) CDN PoPはユーザーの情報(例えば IP、 リファラー,、ユーザエージェントとクッキー) が構造要求に満足するかを判定する。満足しない場合、拒否する;さもないと、ローカルキャッシュがあれば、直接応答する。キャッシュがない場合、源から対応するリソースが取得される。
(3) 源がCDN PoPリクエストに応答する。
(4) CDN PoPが顧客リクエストに応答し、リソースをローカルにキャッシュする。
基本アンチホットリンキングの特徴は以下の方法で配置することができる:
(1) 顧客はSI プラットフォームで機能を自己配置できる;
(2) 相応するCSEは、この機能を配置することもできる。
IPブラックリストについては,エッジpopにおけるIPアドレスのアクセス回数を制限することでCC攻撃を防ぐインテリジェント・リストをサポートする。この機能を有効にすると、CDNetworksのクラウド・プラットフォームは、あるドメインネームに対するリクエストが設定した閾値を超えた場合、IPアドレスへのアクセス回数をタグ付けしてアクセスを制限する。インターセプトの回数を要求するように構成することができる。
タイマースタンプ アンチホットリンキング機能が起動されたら、署名の有効期限を設定することで、ファイルへのアクセス時間の制限を制御できる。
タイマースタンプ アンチホットリンキングはリクエスURLごとにある程度の「時間制限」を与える。CDNプラットフォームでmd5アルゴリズムを使用して暗号文、期限切れ時間、ファイルパスなどの情報を計算することで、CDNetworksはすべてのリクエスURLに唯一な値を与えることができる。この値をURLに追加することにより、CDNPoPはリクエスを検証し、正当かどうかを判断することができる。リクエスと一致するmd5値がない場合、サービスは拒否される。暗号文はプライベートなので偽造はできない。
以下はタイマースタンプ アンチホットリンキングの作動プロセス:
一般的な検証方法はMD5暗号アルゴリズムを用いる: 鍵と暗号化ルールについてクライアントと合意する; 指定されたパラメータをルールに従って組み合わせてMD5値を算出し、算出された値をURLに追加する。暗号文は機密なので、URLを騙すことはできない。タイマースタンプとmd5暗号化ストリング付きURLがCDN PoPにアクセスする時、CDN PoPはまずタイマースタンプの期限切れを判断する。期限が切れた場合、リクエストを直接拒否する; 期限が切れていない場合、承認されたアルゴリズムに基づいてMD5の暗号化されたストリングを検証する。一致が検証されると、CDNPoPはリクエストが合法的であると判定し、サービスを提供する。 そうでなければ、CDN PoPはURLを詐欺であり、リクエストを不法であることとして判定し、サービスの提供を拒否する。
以下の図に示されるように、一般的な暗号化ルールはクライアント、URLのタイマースタンプ、及びるあるルールに従うURLのファイルパスと合意した鍵と合わせて、対応するMD5値を計算する。
図 2 タイマースタンプ アンチホットリンキング原則
大規模なファイルのダウンロードやオンラインビデオ視聴のなど、アンチホットリンキング効果が高く要求され、時間に敏感なURLが必要な場合に適している。
図3 タイマースタンプ アンチホットリンキングワークプロセス
CDNetworksは顧客のそれぞれの状況に基づいて幾つかのタイマースタンプタイプを提供する。
例えば:
オリジナル URL は “http://www.example.com/test.jpg”;
タイマースタンプ付き暗号化URLは:
(1)“http://www.example.com/test.jpg?CWSecret=c8ba17a8ba47749755ad8754f244108b&CWTime=55d5a69c”
(2)“http://www.example.com/c8ba17a8ba47749755ad8754f244108b/55d5a69c/test.jpg”
URLにあるパラメータの説明:
CWSecret は秘密的なストリング。
CWSecret = md5 (URI + CWKey + CWTime)
URI =URLのパスセクションにアクセスしているエンドユーザー – URI.
CWKey =顧客と交渉済みの機密なキー.
CWTime = リクエストURLにあるタイムスタンプ、ヘックスフォーマットにあるUNIX時間、例えば 55d5a69cは2015/8/20 18:6:20 GMT+8を意味している。
2) 顧客がアプリケーションを持っていない場合
これは通常、端末を持たないクライアントが使用する。
この場合、クライアントは最初にコンテンツをリクエストし、ソースサイトはURLに暗号化されたURLを提供し、その後にユーザはリクエストを処理することができる。
3) 顧客がコンテンツ管理システムを持つ場合**😗*
This is always used for the Media Acceleration customers who have the “content management server”.
Under this situation, the user will request the content URL, and the content management server will provide the URL with the encrypted URL, and then the users can process the request.
これは通常「コンテンツ管理サーバ」を持つメディア加速の顧客に対して用いられる。
この場合、ユーザはコンテンツURLをリクエストする。コンテンツ管理サーバは、暗号化されたURLを提供する。そして、ユーザは、このリクエストを処理することができる。
4) UTV (URL****タグ検証 ) タイマースタンプ アンチホットリンキング対応で検証効果を証明する。
CDNetworksもUTV タイマースタンプ アンチホットリンキングの方法を対応する。これはアプリケーション端末の2回目およびその後のリクエストのmd5値計算検証回数を低減する。詳細は以下の図に示される。
図 4 UTV タイマースタンプ アンチホットリンキングの基本
CDNetworksCSEは配置実行のためのチケットをPMSプラットフォーム上で運行チームに提出する前に、以下の情報を顧客と確認する。
CDNポップはリクエストを受け入れた場合と、検証結果によってサービスの提供の可否を決める場合、関連するリクエスト情報のBtO認証を行う。
BTO認証アワンチホットリンキングの特徴はCDNポップがリクエストごとに顧客の検証サーバに転送することを第一にして、認証の結果に基づいてサービスを提供するかどうかを決定する。アンチホットリンキングに対して厳しく要求している顧客に適用する。多くのクライアントの認証サーバとコンテンツサーバは独立している。
顧客の仕組みに応じて、元に戻る方法としては、「URLのリクエストと認証を同じものにする」「URLのリクエストと認証を別にする」の2つがある。詳細は「ワークプロセス」を参照してください。
1.BTO認証はリクエストごとに必要なので、ユーザーの待ち時間を増やす。従って、ストリーム及び大きいファイルのダウンロードに適して、大量の小さなファイルのローディングが必要になるウェブサイトに適しない。
2.以下のシーンにも適用する:クライアントはアンチホットリンキングに高いセキュリティ要求をする。例えば、著作権保護
図5 リクエスト と 違うURLの検証
(1) エンドユーザはURL1リクエストを生成する。 例えば、:
http://cdn.example.com/test.dat?auth=xxxx&name1=value1&name2=value2
(2) CDNポップは認証パラメータauth=xxxを抽出し、認証URL2に書き換えスティッチングし、クライアント認証サーバに認証要求を送信する。例えば: http://auth.example.com/authorize?auth=xxxx
(3) 認証サーバは、パラメータAuth=xxxの正当性を検証し、結果に応答する。
(4) 認証が成功したがCDNポップがキャッシュ要求のコンテンツを持っていない場合、CDNPoPはコンテンツを元から取得する。 リクエストURL3: 例えば: http://cdn.example.com/test.dat? name1=value1&name2=value2
(4’) 認証が成功し、CDNPoPがキャッシュされたコンテンツを有する場合、ユーザに直接応答する。
(4”) 認証が失敗した場合、CDNポップは、クライアントが設定した策略に従って403Forbiddenまたは302Redirect(リダイレクトURLはクライアントが指定する必要がある)に応答する。
(5) 源はコンテンツでCDNポップに応答する。
(6) CDNポップは コンテンツでエンドユーザに応答し、ローカルにキャッシュする。
図6 リクエスト と同じURLがある検証
(1) エンドユーザーがURLリクエストを生成する。
(2) CDNポップはリクエストのトランスミッションを転送する。
(3) 源検証リクエスト。リクエストが合法的で更新ファイルがばない場合、源は「304 Not Modified」で応答する。ファイルが更新された場合、「200 または 206 (範囲要求がある場合)で応答する。リクエストが合法的でない場合、エラ状態コード(デフォルトは403、カスタマイズできる)または「302 redirect (リダイレクトURLはクライアントと協議する必要がある)」で応答する。
(4) CDNポップはファイルに応答する或いは (403) または指定ページへの302redirect に応答することを拒否する。
2.3.4 注意事項