Developers Documentation
Core Concepts

暗号化とセキュリティ実装規格

すべての通信はデフォルトでTLS 1.3によって暗号化されます。加えて、本番環境のデータストア(Cloudflare D1)において保存される機密データには以下の暗号化プロトコルが自動的に適用されます。

ペイロードの暗号化 (AES-GCM)

監査ログおよび再送用に保存されるWebhookペイロード生データは、データベースへのインサート直前に、内部のキーマネジメントシステム(KMS)からフェッチされたマスターキーを利用し、AES-256-GCMアルゴリズムにて暗号化されます。

// 内部実装の概略例 (Rust)
let cipher = Aes256Gcm::new(&master_key);
let nonce = Aes256Gcm::generate_nonce(&mut OsRng); // 96-bits
let ciphertext = cipher.encrypt(&nonce, payload.as_bytes())
    .expect("Encryption failed");

定数時間での署名検証 (Constant-Time Compare)

タイミング攻撃(Timing Attack)を用いた署名推測を防ぐため、受領した署名文字列とOsiryn内部で計算されたHMACシグネチャの比較には、Rust の subtle クレート等を用いた定数時間比較(Constant-time Equality)が強制されています。