最終更新日:2025-09-05 17:34:19
本ガイドでは、トークン認証(タイムスタンプ付きホットリンク防止とも呼ばれます)の設定および利用方法について説明します。このセキュリティ機能は、ライブ配信コンテンツを不正アクセスおよびホットリンクから保護するよう設計されています。
ストリーミングURLに暗号化されたトークンとタイムスタンプを追加することで、誰がどのくらいの期間ストリームへアクセスできるかを制御できます。これにより、有効でかつ期限付きのURLを保有するユーザーのみがコンテンツを視聴でき、ストリームのセキュリティが保たれ、不正な配信拡散を防止できます。
認証プロセスは、主に3つの要素で構成されています:
認証済みURLを使用して視聴者がストリームへアクセスしようとすると、当社のエッジサーバーは以下の処理を行います:
トークンが一致し、かつURLの有効期限が切れていない場合、視聴者はストリームへのアクセスが許可されます。そうでない場合、リクエストは拒否されます。
トークン認証を有効化および設定するには、以下の手順に従ってください。
以下は、設定パネル内の各項目についての詳細な説明です:
| Field | 説明 | 例/デフォルト |
|---|---|---|
| Application name | このルールを適用するアプリケーションを指定します。空欄の場合はすべてに適用されます。注意:このApplication nameは、現在ご利用中のDomainで設定したものと一致する必要があります。 | live,vod |
| Ciphertext Parameter Name | 暗号化トークン用URLパラメータの名称です。 | デフォルト: wsSecret |
| Time Parameter Name | タイムスタンプ用URLパラメータの名称です。 | デフォルト: wsTime |
| KEY | トークンの暗号化署名を生成するために使用するプライベートなシークレットキーです。 | mysecretkey |
| Encryption Time Format | タイムスタンプのフォーマットです。 | UNIX timestamp または Hexadecimal |
| Validity Period | URLの有効期限の管理方法です。 | By Duration、By Absolute Time、By Valid Time、またはDon't Check Time |
| 有効期間 | リンクの有効期間(秒単位)。(「有効期間で認証」を選択した場合は必須です) | 3600(1時間分) |
| 許容時間誤差 | お客様のサーバーと当社エッジサーバー間での僅かな時刻ズレによる有効URLのエラーを防ぐための時間許容値(秒単位)です。 | 300(5分間) |
| 暗号化文字列結合方式 | Token生成時の計算式です。 | 一般的にはKEY+Path+Timeが用いられます。 |
コンソールでこの機能を設定した後、アプリケーションまたはバックエンドサーバーでユーザー向けに動的に認証付きURLを生成するように対応してください。
コアロジックは、お客様が選択した暗号化文字列結合方式に基づいて文字列を生成し、そのMD5ハッシュ値を計算することです。注意: ハッシュ対象の文字列に含まれる具体的な要素は、選択する有効期間方式によって異なります。
設定が以下のようになっていると仮定します:
mysecretkeyKEY+Path+TimewsSecretwsTimeUNIXタイムスタンプ3600秒(1時間)http://your.domain.com/live/stream1.flvサーバーで署名付きURLを生成する手順は次のとおりです:
/live/stream1.flvです。1678886400。string_to_hash = "mysecretkey/live/stream1.flv1678886400"string_to_hashのMD5ハッシュを計算します。wsSecret_value = md5("mysecretkey/live/stream1.flv1678886400")b1b5c2c7e8e5e8e5c2c7b1b5c2c7e8e5 だったとします。http://your.domain.com/live/stream1.flv?wsSecret=b1b5c2c7e8e5e8e5c2c7b1b5c2c7e8e5&wsTime=1678886400このURLを使用する視聴者は、1678886400 + 3600 = 1678890000 までストリームにアクセスできます。
この方法は、生成する各URLごとに有効期間を動的に定義したい場合に便利です。設定内容は前の例と同じですが、有効時間による を選択したと仮定します。
mysecretkeyKEY+Path+Time(注:このモードでは、ハッシュ計算時にタイムスタンプの後にwsKeepTime値が付加されます。)wsSecretwsTimeUNIXタイムスタンプ7200秒(2時間)https://your.domain.com/live/stream1.sdpサーバー側で署名付きURLを生成する手順は以下のとおりです:
/live/stream1.sdp。1678886400。7200。wsKeepTime の値)を組み合わせます。string_to_hash = "mysecretkey/live/stream1.sdp16788864007200"wsSecret_value = md5("mysecretkey/live/stream1.sdp16788864007200")20722b11be862a6563657a70a8a8167 です。wsSecret、wsTime、wsKeepTime をクエリパラメータとして追加します。https://your.domain.com/live/stream1.sdp?wsSecret=20722b11be862a26563657a70a8a8167&wsTime=1678886400&wsKeepTime=7200この方法は、URLを生成するサーバーが有効期限をその場で設定できるため、より柔軟性があります。