コンテンツアクセス制御 (JWT)
お知らせ
このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。
JWT ベースのコンテンツ認証とは?
JWT(JSON Web Token)は、ユーザー認証(Authentication)および権限付与(Authorization)を安全に処理するための業界標準方式です。
Kollus VOD は、独自のセキュリティーキーシステムをベースにした JWT 発行メカニズムを通じて、以下のような高水準のセキュリティを実現します。
- URL 改ざん防止: 再生 URL が生成された後、外部からデータを任意に変更できないよう署名(Signature)検証を行います。
- きめ細かいアクセス制御: 認証済みユーザーのみに再生権限を付与したり、トークンの有効期限を設定してコンテンツ流出を防止します。
認証に使用されるキー
| 認証キー | 説明 |
|---|---|
| セキュリティーキー | JWT の完全性を保証するための秘密鍵です。署名生成時に使用されます。 |
| カスタムキー | サービスアカウントの固有識別子です。JWT と共に送信され、どのアカウントのセキュリティーキーで署名を検証するかを判断する基準になります。 |
| メディアコンテンツキー | チャンネルに登録されたコンテンツに付与される固有識別子です。トークンに含まれ、該当コンテンツへの実際のアクセス権限を証明します。 |
参考文書
キー(Key/ID)情報は以下のドキュメントを参照してください。
JWT の基本構造
JWT は 3 つの部分で構成されます。
| 構成要素 | 役割 |
|---|---|
| ヘッダー | トークンの種別(JWT)と署名に使用された暗号化アルゴリズム(例: HS256)の情報を格納します。 |
| Payload | 実際の認証情報であるクレーム(Claims)が含まれます。ユーザー ID、有効期限、許可されたメディアコンテンツキーなどがここに記録されます。 |
| 署名 | ヘッダーと Payload を組み合わせた後、サーバーのみが知るセキュリティーキーで暗号化した値です。トークンの改ざんを検知するための核心的な仕組みです。 |
Kollus VOD 認証処理ワークフロー
Kollus VOD は、業界標準のセキュリティ仕様である HMAC SHA-256(HS256)アルゴリズムを使用します。
- トークンリクエスト: ユーザーがサービスにログインしようとすると、お客様のサーバーは該当ユーザーの情報を確認します。
- JWT 生成: お客様のサーバーでセキュリティーキーを使用して、ユーザー ID ・有効期限などを含む JWT を生成します。
- 再生 URL リクエスト: クライアントは生成した JWT とカスタムキーを組み合わせ、以下の形式の URL で再生をリクエストします。
https://v.jp.kollus.com/s?jwt={JWT}&custom_key={CUSTOM_KEY}
- 完全性検証: Kollus 認証サーバーは受信したカスタムキーで該当アカウントのセキュリティーキーを検索し、JWT 署名を検証します。
- 再生承認: 署名が有効で、Payload 内の有効期限が切れていない場合、即座に再生セッションを発行します。
JWT Payload の例
ユーザー catenoid がコンテンツ vnCVPVyV(メディアコンテンツキー)を再生するための JWT Payload の例です。
{
"cuid": "catenoid",
"expt": 1703980800,
"mc": [
{
"mckey": "vnCVPVyV"
}
]
}
| オプション | 説明 |
|---|---|
cuid | ユーザー ID |
expt | JWT 有効期限 (Unix timestamp) |
mc | 再生するコンテンツ情報を含む配列 |
mckey | メディアコンテンツキー |
詳細情報(開発者向け)
JWT 構成の詳細については、以下のドキュメントを参照してください。