セキュリティガイド
ベスト プラクティスとセキュリティ対策を使用して、ライセンス管理システムにエンタープライズ グレードのセキュリティを実装する方法を学びます。
セキュリティの概要
ライセンス管理システムではセキュリティが最も重要です。このガイドでは総合的なセキュリティ対策について説明します。 ライセンス、顧客データ、業務運営を保護します。
暗号化、認証、認可、監視、コンプライアンス要件について説明します。 ライセンス システムが安全で信頼できるものであることを確認します。
セキュリティの柱
データ保護
- エンドツーエンドの暗号化
- 安全なデータストレージ
- データの匿名化
- バックアップとリカバリ
アクセス制御
- 多要素認証
- 役割ベースのアクセス制御
- APIキー管理
- セッション管理
ライセンス アサーション JWT (RS256)
Core API が署名キーで構成されている場合、成功 POST /v1/licenses/verify そして
POST /v1/licenses/validate-hardware 応答には以下が含まれる場合があります
license_token (JWT)、 license_token_expires_at、 そして
license_jwks_uri。インテグレータは JWT を検証します オフライン の公開鍵を使用して
GET /v1/licenses/jwks (JWKS)。 API を決して出荷しないでください プライベート デスクトップ、モバイル、またはブラウザー アプリ内の署名キー。
クライアント アプリでのみ非対称: 埋め込むかフェッチする 公共 JWKS URL、次のようにして JWK を解決します。 kid JWTヘッダーに追加して確認します RS256。
HMAC 共有シークレットは次の用途に適しています。 サーバー間 Webhook は、広く配布されているバイナリ用ではありません。
必須の請求チェック: そうでない場合はトークンを拒否します token_use 等しい licensechain_license_v1 (この JWT をセッションまたは他のトークンと混同するのを防ぎます)。
aud: 存在する場合、ダッシュボードと一致します アプリケーションID。検証者は次のことを確認する必要があります aud 機能のロックを解除する前に期待するアプリと同じです。
TTL とリフレッシュ: アサーションの有効期間は API の販売者層によって異なります (lc_vt: ベーシック ≈ 15 分、アドバンス ≈ 1 時間、カスタム ≈ 24 時間)。前に exp、再度 verify を呼び出して新しいトークンを取得します。 JWKS を短時間 (数分など) キャッシュし、不明なときに再フェッチします kid またはローテーション後の検証失敗。
サーバー権限のチェック: オフライン JWT の受け入れが十分でない場合 (即時取り消し、アプリ側のポリシー適用など)、呼び出し
POST /v1/licenses/introspect と license_token。
API は署名とクレームを検証し、ライブで返します active データベースからのステータス。
拒否リストの取り消し: 認証されたバックエンドは、発行された特定の JWT を次のように取り消すことができます。
POST /v1/licenses/revoke-token (トークンによる jti)。
取り消し後、イントロスペクションが戻る active: false 理由があって token_revoked.
請求項の参照 (すべてを網羅するものではありません)
| 請求 | 意味 |
|---|---|
| です | 発行者 (API);デフォルトのAPI URL |
| サブ | ライセンスレコードID |
| オード | アプリID(設定時) |
| 経験値 / iat / nbf | 標準的な JWT 時間の要求 |
| jti | 発行ごとに一意のトークン ID |
| トークンの使用 | でなければなりません licensechain_license_v1 |
| lc_vt | 基本 |高度な |カスタム |
| 販売者層 | 販売者プラン階層文字列 |
| 状態 | ライセンスのステータス |
| ハードウェアバウンド | この検証で HWUID が満たされたかどうか |
| プラン・特徴 | ライセンスメタデータ(存在する場合)から |
| ライセンス_exp | ライセンスの有効期限 (Unix 秒単位) (設定時) |
暗号化
データの暗号化
すべての機密データは、業界標準の暗号化アルゴリズムを使用して暗号化されます。
保存時の暗号化
- データベースの AES-256 暗号化
- 暗号化されたファイルストレージ
- 安全な鍵管理
- 定期的なキーのローテーション
転送中の暗号化
- すべての通信に TLS 1.3
- 証明書の固定
- 完全な前方秘匿性
- HSTSヘッダー
APIセキュリティ
適切な認証と認可による安全な API 通信。
// API request with proper headers // Set authorization and content type // Include API version and request ID // Send license verification request
認証と認可
多要素認証
- TOTP (時間ベースのワンタイム パスワード) のサポート
- SMSベースの検証
- ハードウェア セキュリティ キー (FIDO2/WebAuthn)
- 生体認証
- アカウント回復用のバックアップ コード
役割ベースのアクセス制御
- きめ細かな権限システム
- チームベースのアクセス管理
- リソースレベルの権限
- すべてのアクションの監査証跡
- 定期的なアクセスレビュー
APIキー管理
- 権限が制限されたスコープ付き API キー
- キーのローテーションと有効期限切れ
- 使用状況の監視とアラート
- 失効機能
- 環境固有のキー
監視とロギング
セキュリティ監視
- リアルタイムの脅威検出
- 異常検出アルゴリズム
- ログイン失敗の監視
- 不審なアクティビティのアラート
- 地理的アクセス監視
監査ログ
- 包括的なアクティビティログ
- 不変の監査証跡
- ログの整合性検証
- ログの長期保存
- コンプライアンス報告
インシデント対応
- 自動インシデント検出
- エスカレーション手順
- 応答プレイブック
- 事件後の分析
- 継続的な改善
コンプライアンスと標準
SOC 2 タイプ II
- 年次第三者監査
- セキュリティ、可用性、機密性の管理
- 処理の整合性検証
- プライバシー保護対策
- 継続的なモニタリングと改善
GDPR への準拠
- データ主体の権利の実装
- プライバシーバイデザインの原則
- データ処理契約
- 忘れられる権利
- データポータビリティのサポート
ISO27001
- 情報セキュリティ管理体制
- リスクの評価と管理
- セキュリティポリシーの実装
- 定期的なセキュリティトレーニング
- 継続的な改善プロセス
セキュリティのベストプラクティス
開発セキュリティ
- 安全なコーディングの実践とコードレビュー
- 依存関係の脆弱性スキャン
- 自動化されたセキュリティテスト
- 安全な開発ライフサイクル
- 開発者向けの定期的なセキュリティトレーニング
インフラストラクチャのセキュリティ
- ネットワークのセグメンテーションとファイアウォール
- 侵入の検出と防止
- 定期的なセキュリティアップデートとパッチ
- 安全な構成管理
- 災害復旧と事業継続
支払い、ミラーリング、Webhook の秘密
- 製品を保管する
callbackSecretサーバー側のみ — ミラー リダイレクト HMAC および Pay マーチャント Webhook に使用されます。 - 決して埋め込まないでください
callbackSecretフロントエンド バンドル、モバイル アプリ、または WooCommerce クライアント側スクリプト内。 - チャネルごとに正しい署名モデルを使用します — コア API (Webhook ガイド)、 支払う (販売者の Webhook)、 鏡 (ミラーSDK).
- ミラーが戻ったときにフェールクローズします: 確認してください
signature、その後電話します/api/checkout/mirror/validateアクセスを許可する前に。 - 回転
callbackSecret漏洩した場合は製品 API 経由。 WooCommerce/Mirror SDK 環境変数を速やかに更新します。 - コア API 分析ルートに必要なもの
ADMINロール - 販売者向けアプリに管理 API キーを公開しないでください。