メインコンテンツまでスキップ

Multi DRM 専用 JWT 規格

お知らせ

このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。

Multi DRM は、さまざまなデバイスおよびブラウザ環境でコンテンツを安全に保護するために、複数の標準 DRM 技術を統合して提供するサービスです。

Kollus VOD はグローバル DRM ソリューションである DoveRunner と連携し、Widevine(Android/Chrome)、FairPlay(iOS/Safari)、PlayReady(Windows/Edge) DRM を単一の JWT 認証規格で統合管理します。

機能の有効化

Multi DRM は別途の契約および有効化が必要な付加サービスです。この機能を有効化するには、営業担当者(jp_sales@catenoid.net)までお問い合わせください。


JWT 技術仕様

暗号化アルゴリズム

Kollus VOD は HMAC SHA-256(HS256)アルゴリズムのみをサポートします。

Header: { "alg": "HS256", "typ": "JWT" }

認証キー

JWT 生成および呼び出し時に以下の 2 つのキーを使用します。

セキュリティーキー

  • 説明: JWT 署名(Signing)および検証に使用される秘密鍵です。外部への漏洩にご注意ください。
  • 確認方法: Kollus VOD コンソール > [サービスアカウント] > [カスタムキー]
セキュリティーキーの変更

セキュリティーキーの変更については、営業担当者(jp_sales@catenoid.net)までお問い合わせください。

カスタムキー

  • 説明: セキュリティーキーを暗号化した値で、セキュリティーキーとともに認証(JWT)に使用されます。
  • 確認方法: Kollus VOD コンソール > [サービスアカウント] > [カスタムキー]
    • ブラウザの更新時に値が更新される場合があります。使用時点の最新の値をコピーして適用してください。

JWT Payload 詳細規格

Multi DRM 連携時には、mc配列の内部にdrm_policyオブジェクトを含め、各環境(Widevine、FairPlay、PlayReady)のライセンス情報を渡す必要があります。

必須オプションの適用例

{
"cuid": "{END_USER_ID}",
"expt": 1703980800,
"mc": [{
"mckey": "{MEDIA_CONTENT_KEY}",
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"certificate_url": "https://license.pallycon.com/ri/fpsKeyManager.do?siteId={YOUR_SITE_ID}",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "{BASE64_ENCODED_TOKEN}"
}
}
}
}]
}
参考文書

キー(Key/ID)情報については、以下のドキュメントを参照してください。

基本オプション

オプションタイプ説明
cuidstringユーザー ID
  • 重複再生遮断、ブックマーク、続きから再生(nscreen)設定の基準値です。
  • 英数字の使用を推奨します。ハングルや特殊文字を使用した場合、遮断履歴の検索が制限される場合があります。
exptintegerJWT 有効期限(Unix timestamp)
  • 最大値:1893455999(2029-12-31)
  • 有効期限後も、サーバー時刻の誤差を考慮して最大 1 分間コンテンツへのアクセスが許可される場合があります。
mcarray再生するコンテンツ情報を含む配列

コンテンツオプション(mc 配列内部の設定)

オプションタイプ説明
mckeystringメディアコンテンツキー
drm_policyobjectMulti DRM ポリシーデータ

drm_policy オブジェクト

オプションタイプ説明
kindstringDRM ソリューションの種類。固定値"inka"を入力(DoveRunner の旧 INKA Entworks)
streaming_typestringストリーミングプロトコルの種類
  • hls:FairPlay
  • dash:その他の環境
dataobjectライセンス認証および発行に必要なデータ

data サブオプション

オプションタイプ必須説明
license_urlstring(Widevin または PlayReady 使用時に必須) ライセンスサーバーアドレス
certificate_urlstring(FairPlay 使用時に必須) FairPlay 証明書アドレス
custom_headerobjectライセンスリクエスト時に渡すカスタムヘッダー
custom_header.keystringヘッダーキー名("pallycon-customdata-v2"固定)
custom_header.valuestringDoveRunner ライセンストークン値(Base64 エンコード必須)

DRM 詳細設定

PlayReady

  • サポート環境: Windows Edge、Windows Chrome(138 以降)
注意

ブラウザのハードウェアアクセラレーションオプションが必ず有効になっている必要があります。アクセラレーション機能が無効の場合、ライセンス発行段階で-57208エラーが発生し、再生がブロックされます。

  • ハードウェアアクセラレーションの設定方法
    • Edge: 右上メニュー(···)> [設定] > [システムとパフォーマンス] > [使用可能な場合はグラフィックアクセラレーションを使用する]を有効化 > ブラウザを再起動
    • Chrome: 右上メニュー(⋮)> [設定] > [システム] > [使用可能な場合はグラフィックアクセラレーションを使用する]を有効化 > ブラウザを再起動
{
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}

Widevine

  • サポート環境: Chromium ベースのブラウザ、Android
注意
  • 画面キャプチャ防止: ブラウザのハードウェアアクセラレーションが有効な環境でのみ正常に動作します。
  • CSS の競合: iframe内部に特定の CSS 効果が適用されている場合、ブラウザのセキュリティポリシーにより再生がスムーズに行われない場合があります。
  • シークレットモード(Incognito): Google のセキュリティポリシーにより、シークレットモードでは Widevine DRM の再生が制限される場合があります。
{
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}

FairPlay

  • サポート環境: Safari、iOS、iPadOS
Site ID

FairPlay 環境ではcertificate_urlの設定が必須です。certificate_url内のsiteIdパラメーターには、DoveRunner コンソールで発行された ID を入力してください。

{
"drm_policy": {
"kind": "inka",
"streaming_type": "hls",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"certificate_url": "https://license.pallycon.com/ri/fpsKeyManager.do?siteId=XXXX",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}

DoveRunner ライセンストークン生成

custom_header.valueパラメーターに入力する値は、DoveRunner 規格の JSON データを生成した後、その文字列全体を Base64 でエンコードして準備します。

トークンデータ構造

{
"timestamp": "2025-12-31T23:59:59Z",
"site_id": "XXXX",
"policy": "...",
"cid": "content_id"
}

パラメーター説明

オプション説明
timestampトークン生成時刻(ISO 8601 形式に準拠)
site_idDoveRunner サービスで発行された Site ID
policyライセンスポリシー(再生有効期間、再生回数など)を定義する文字列
cidKollus アップロードファイルキー
  • 確認方法: Kollus VOD コンソール > [ライブラリ] > コンテンツタイトルをクリック > [基本]タブ
詳細情報

ライセンストークンデータの構成に関する詳細については、公式ドキュメントを参照してください。