Alibaba Cloud 独自暗号化は、動画データを暗号化することで、不正な再配布やホットリンクを防ぎます。動画がダウンロードされた場合でも、暗号化された状態を維持します。この方式は、標準的な HLS 暗号化よりも安全性が高く、実装も容易です。本トピックでは、Alibaba Cloud 独自暗号化の使用方法について説明し、拡張ソリューションも提案します。
背景
標準的なホットリンク保護では、1回限りの支払いを行ったユーザーなどの正規のユーザーが、有効な再生 URL を取得し、動画をダウンロードして再配布することを防ぐことはできません。そのため、ホットリンク保護だけでは動画の著作権保護には不十分です。動画ファイルが流出すると、視聴課金モデルを採用するコンテンツ制作者に大きな経済的損失をもたらす可能性があります。
メリット
Alibaba Cloud 独自暗号化は、動画データ自体を暗号化します。動画ファイルはダウンロード後も暗号化された状態を維持するため、不正な再配布を防ぎます。動画暗号化は、コンテンツの流出やホットリンクを効果的に防ぎ、オンライン教育、金融、企業研修、独占シリーズなどの分野で、著作権で保護されたオンライン動画に広く使用されています。
本機能は、Alibaba Cloud 独自の暗号化アルゴリズムを使用して高いレベルのセキュリティを提供し、動画リソースを便利かつ効率的に保護します。
各メディアファイルは一意のキーで暗号化されます。これにより、単一のキーが流出した場合の大規模なセキュリティ侵害を防ぎます。
ApsaraVideo VOD は、RAM ユーザーと再生認証情報による包括的な権限管理システムを提供します。
ApsaraVideo VOD は、暗号文キーと平文キーを含むエンベロープ暗号化を使用します。平文キーは保存されず、暗号化プロセス中にメモリ内にのみ存在します。
ApsaraVideo VOD は、安全な ApsaraVideo Player SDK を提供します。
暗号化タイプ | HLS | MP4 | 特長 | 説明 |
Alibaba Cloud 独自暗号化 | サポート対象 | サポート対象外 | 独自アルゴリズムを使用し、安全な伝送を確保するエンドツーエンドの動画暗号化ソリューションです。 |
|
Alibaba Cloud ライセンスベース独自暗号化 | サポート対象 | サポート対象 | この方式は、再生時のキー取得のための追加の HTTP リクエストを回避し、起動速度を向上させます。 |
|
仕組み
Alibaba Cloud 独自暗号化ソリューションには、暗号化とトランスコード、および復号化と再生の 2 つの主要なプロセスがあります。
暗号化とトランスコード
アプリケーションバックエンドによる動画暗号化のリクエスト
アプリケーションがデータ暗号化を要求するトランスコードジョブを送信します。
ApsaraVideo VOD による暗号化キーの取得
ApsaraVideo VOD サービスは、Key Management Service (KMS) を使用して平文キーと暗号文キーを生成します。
動画の暗号化とトランスコード
平文キーを使用して動画ファイルを暗号化します。トランスコード完了後、平文キーは破棄されます。
トランスコード完了と通知送信
ApsaraVideo VOD は、暗号化された動画ファイルを保存し、アプリケーションに通知を送信します。
復号化と再生
アプリケーションによる再生の許可
ユーザーがモバイルアプリまたは Web サイトから動画をリクエストすると、リクエストはバックエンドサービスに送信されます。バックエンドサービスは、ユーザーのログインを要求するなど、アクセス制御ロジックを実装できます。HTTPS の使用を推奨します。再生が許可されると、サービスは RAM ユーザーの AccessKey ペアを使用して Security Token Service (STS) にアクセスし、再生認証情報を取得してアプリまたは Web サイトに返します。
プレーヤーによる再生 URL の取得
アプリまたは Web サイトは、再生認証情報とメディア ID を ApsaraVideo VOD サービスに渡します。その後、ApsaraVideo Player SDK が残りの手順を自動的に処理します。
メディア ID に基づいて、ApsaraVideo VOD サービスからさまざまな形式と解像度の再生 URL を取得します。
暗号化された動画に対応する復号化キーを取得します。
動画の復号化と再生
安全な ApsaraVideo Player SDK は、復号化キーを使用してコンテンツを復号化し、動画を再生します。
事前準備
Alibaba Cloud 独自暗号化は無料のサービスですが、必要な動画トランスコード操作には課金されます。詳細については、「メディアトランスコード」をご参照ください。
暗号化されたコンテンツは、ApsaraVideo VOD が提供する ApsaraVideo Player SDK でのみ復号化および再生できます。
Alibaba Cloud 独自暗号化は、元の動画ソースの不正なダウンロードと再配布のみを防ぎます。画面録画や画面キャプチャを防ぐことはできません。ブラウザや WeChat H5 などの環境におけるサンドボックス化されたコンテナの制限により、ApsaraVideo Player SDK はシステムレベルの画面録画や画面キャプチャを制御できません。流出したコンテンツのソースを追跡し、不正なキャプチャを抑止する必要がある場合は、動画に動的ウォーターマークを埋め込むことを推奨します。
Alibaba Cloud 独自暗号化を有効にしても、基盤となる OSS バケットの読み取りおよび書き込み権限には影響しません。暗号化されていない動画は、元のアクセス属性 (例: パブリック読み取り) を保持します。独自暗号化は、トランスコードによって出力された動画ファイルのみを暗号化します。動画を復号化して再生するには ApsaraVideo Player SDK (Aliplayer) を使用する必要があり、暗号化されたファイルは URL から直接アクセスまたはダウンロードすることはできません。
手順
前提条件
ApsaraVideo VOD がアクティブ化されていること。詳細については、「ApsaraVideo VOD のアクティブ化」をご参照ください。
ApsaraVideo VOD でアクセラレーションドメイン名が設定されていること。詳細については、「アクセラレーションドメイン名の追加」をご参照ください。
暗号化タイプによって、サポートされる再生プラットフォームが異なります。ビジネス要件に基づいて適切なタイプを評価して選択してください。サポートされる再生プロトコルの詳細については、「再生互換性」をご参照ください。
動画の暗号化
独自暗号化用のトランスコードテンプレートグループを作成します。
コンソール
ApsaraVideo VOD コンソールにログインします。左側メニューで、設定の管理 > ApsaraVideo Media Processing の設定 > トランスコードテンプレートグループ を選択します。
[トランスコードテンプレートグループ] ページで、トランスコードテンプレートグループの追加 をクリックします。次に、[オーディオおよびビデオトランスコードテンプレート] を作成し、Alibaba Cloud 独自暗号化用に設定します。
以下の手順では、[通常トランスコード] テンプレートを追加する方法を説明します。
基本 セクションで、カプセル化形式 を [HLS (.m3u8+ts)] に設定します。
高度なパラメーター セクションで、プライベート暗号化 を有効にします。
必要に応じて他のパラメータを設定します。パラメータの詳細については、「トランスコードテンプレート」をご参照ください。
保存 をクリックして、テンプレートを作成します。
テンプレートが作成されると、[トランスコードテンプレートグループ] ページでその ID を確認できます。暗号化およびトランスコードジョブを開始する際に使用するため、この ID を保存してください。
OpenAPI
AddTranscodeTemplateGroup 操作を呼び出し、
TranscodeTemplateのEncryptSettingフィールドでEncryptTypeパラメーターを指定して、トランスコードテンプレートグループの暗号化タイプを設定します。(オプション) ワークフローを作成し、独自暗号化トランスコードテンプレートグループに関連付けます。
ワークフローでは、トランスコード、審査、スナップショットなどのメディア処理タスクを特定の順序で配置できます。メディアのアップロードまたは処理中にワークフローがトリガーされると、ワークフローはこの事前定義された順序に従ってメディアファイルを自動的に処理します。
独自暗号化トランスコードテンプレートグループを使用するワークフローにトランスコードノードを追加できます。現在、ワークフローはコンソールでのみ作成できます。詳細については、「ワークフロー」をご参照ください。
暗号化およびトランスコードジョブを開始します。
トランスコードジョブは、トランスコードテンプレートグループまたはワークフローのいずれかを使用して開始できます。コンソールでトランスコードジョブを開始する手順については、「ステップ 2: トランスコードの開始」をご参照ください。OpenAPI の使用方法については、「ステップ 2: トランスコードの開始」をご参照ください。
トランスコード結果を確認します。
非同期通知の待機
ApsaraVideo VOD のイベント通知を設定している場合、トランスコードジョブの詳細を含む単一定義トランスコード完了またはすべての定義トランスコード完了のコールバックを受信します。
同期的なステータスのクエリ
動画の再生
Alibaba Cloud 独自暗号化を使用して暗号化された動画は、ApsaraVideo VOD が提供する ApsaraVideo Player SDK でのみ復号化および再生できます。
ApsaraVideo Player SDK は、iOS、Android、Web (HTML5 および Flash) を含む複数のプラットフォームで利用できます。SDK を統合して、アプリケーションまたは Web サイトで暗号化された動画を再生できます。
ApsaraVideo Player SDK を使用する前に、プレーヤーのライセンスを取得する必要があります。詳細については、「ライセンスの管理」をご参照ください。
ApsaraVideo Player SDK を統合する前に、さまざまなプラットフォームにおける独自暗号化の互換性を確認してください。詳細については、「Player SDK 暗号化互換性」をご参照ください。
ApsaraVideo Player SDK で暗号化された動画を再生する手順については、「暗号化された動画の再生」をご参照ください。
拡張ソリューション
エンドユーザーがオフライン視聴のために動画をダウンロードする必要がある場合は、動画コンテンツを保護するためにセキュアダウンロードを有効にすることを推奨します。詳細については、「ダウンロード設定」をご参照ください。この機能は、動画ファイルをキーで再暗号化します。再生中、SDK はダウンロードされた動画を復号化します。これにより、オフライン動画はアプリケーションでのみ再生できるようになり、セキュリティが強化されます。
MPS で暗号化されたコンテンツの再生
ApsaraVideo Media Processing (MPS) が Alibaba Cloud 独自暗号化を使用して生成した m3u8 ファイルは、ApsaraVideo VOD メディア資産ライブラリに自動的に同期されません。VidAuth または VidSts に依存する再生方法は、ApsaraVideo VOD メディア資産ライブラリからの VideoId を必要とするため、MPS によって生成されたコンテンツを直接再生するために使用することはできません。このコンテンツを再生するには、ApsaraVideo Player SDK を使用し、UrlSource を通じて暗号化された再生 URL を渡して、SDK が動画を復号化して再生できるようにします。VidAuth または VidSts を使用してコンテンツを再生する場合は、まず MPS 出力を ApsaraVideo VOD メディア資産ライブラリに手動でインポートして VideoId を取得する必要があります。