GH GambleHub

データ暗号化とTLS

1)脅威マップとターゲット

In-transit:交通傍受/修正、MitM、ダウングレード。
休息時(at-rest):ディスク/バックアップ、DB/ログダンプ、インサイダーの盗難。
キー:秘密のリーク、弱い回転、再利用。
目標は、計測可能なSLOと管理された暗号化で、機密性、完全性、信頼性を確保することです。

2)データの分類とポリシー

クラス:Public/Internal/Confidential/Restricted (PII/Finance/PAN)。
タグ:'data。クラス'、'tenant'、'region'、'retention'。
必須の対策:制限-フィールド/オブジェクトレベルでの暗号化、アクセスログ、テナント/地域ごとの個々のキー。

3) At-rest暗号化

3.1エンベロープ暗号化

DEK(データ暗号化キー)はデータを暗号化します。KEK/CMK (KMS/HSM)はDEKを暗号化します。
KEK回転はデータの復号化を必要としません。
DEKできればオブジェクト/パーティー/テナントごとに短いTTLで。

3.2つのレベル

Transparent (TDE):ディスク/テーブルスペース(PostgreSQL/MySQL/SQL Server)。シンプルですが、粒度制御はありません。
アプリケーションレベル:フィールド/オブジェクト(PAN、シークレット)-マルチテナントとアクセスミニマムに適しています。

ストレージ/クラウド: S3/GCS SSE-KMS;ACIDデータの場合-可能な限りFLE(フィールドレベル暗号化)

3.3アルゴリズムとモード

AEAD: AES-256-GCMまたはChaCha20-Poly1305 (AES-NIなしのCPUで)。
IV/nonce:独自性は厳密に必須です;ciphertextの横にあるストアは繰り返しません。
ハッシュ:パスワード-塩と鉄のパラメータを持つArgon2id(またはscrypt/bcrypt)。
MAC/signatures:整合性またはAEAD内蔵ラベルをHMAC-SHA-256します。

3.4 DB/ファイルの練習

PostgreSQL: pgcrypto/extensions;on write-アプリケーション内の機密フィールドを暗号化します。
Mongo/Doc-storages:クライアント側FLE、 KMSのキー。
バックアップ:個々のキーとCI/CDエージェントからのみアクセス可能。オフサイトコピー-常に暗号化されます。

4)キー管理(KMS/HSM/Vault)

真実のソース:KMS/HSM;プライベートキーはデバイス/サービスから離れることはありません。
バージョン管理:'kid'、 'purpose'、 'alg'、 'created_at'、 'rotates_at'。
アクセス:最低特権;職務の分離(SoD)。
ローテーション:スケジュール(署名のための3-6か月)、イベント(インシデント)、リフレッシュトークンのためのrotate-on-use。
監査:不変ログ:誰が、いつ、何が署名/復号されたか。
マルチテナント:テナントごとのキー/ブランド/地域;BYOK/HYOK顧客によって要求されたら。

5)チャネル内の暗号化(TLS)

5.1 Lows

TLS 1。2+、好ましくはTLS 1。3;ドメインのHSTS。
Cipher Suites: TLS1。3-定義済み(AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256)。
PFS:すべての主要なepemern交換(ECDHE)。
ALPN: HTTP/2とHTTP/3 (QUIC)は意識的に含みます。タイマーを見ろ。

5.2証書、OCSP、ピニング

OCSPステープリングとショートチェーン。
セッションの再利用:短いTTLでTLSチケット。
0-RTT (TLS 1。3):慎重にオンにします(idempotent GETのみ)。
ピン留め:アプリケーション/モバイルの「TSP/Key continuityによる公開鍵ピン留め」のみ(HPKPではない)。
mTLS:境界内/サービスとパートナー間;SANの資格。

5.3 gRPC/HTTP/QUIC

gRPCはデッドラインとメタデータを送信します。
HTTP/3 (QUIC)はファーストバイトを加速します。WAF/balancerの互換性を確認します。

6) mTLSおよびサービスマッシュ

短い証明書の自動発行のためのSPIFFE/SPIREまたはmesh-CA (7-30日)。
政治家:誰が誰に話すか(SVID→SVID)、 L7レベルでauthZ。
回転-透明;trust-bundleの更新で取り消します。

7)性能および操作

AES-NI: AES-GCMをサポートしたサーバで高速化。モバイル/古いCPUの場合-ChaCha20-Poly1305。
TLSチューニング:PFSの短いキー、しかし合理的な限界内(P-256/25519);ハンドシェイクキャッシュ。
バッチ処理:小さなクエリを最小限に抑えます。TLSオーバーヘッドは接続数に比例します。
オフロード:周囲のTLS (Envoy/NGINX)、内部-メッシュのmTLS。

8)秘密とログポリシー

KMS/Vaultでのみ秘密;Kubernetesで-暗号化etcd+KMSプロバイダ。
ログバーリング:キー/トークン/PAN/秘密;マスキングだ。
スナップショット/ダンプ:暗号化し、アクセスを制限します。キーアクセスを監視します。

9)構成と例

9.1 NGINX (TLSの厳密なプロフィール)

nginx ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_prefer_server_ciphers on;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:P-256;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

9.2使節(mTLS〜上流、擬似)

yaml transport_socket:
name: envoy. transport_sockets. tls typed_config:
common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_2 tls_certificate_sds_secret_configs:
- name: service_cert # client certificate validation_context_sds_secret_config:
name: mesh_ca_bundle # trusted roots

9.3 AEAD(擬似)の使用例)

pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant    object_id, plaintext)
store(nonce    ciphertext    tag)

10)回転および取り消されたキー

JWKS/JWTのための'子供';短い'exp'。
TTLでトークンを取り消すための'jti'/'sid'をリストします。
HMAC (webhooks)の秘密:アクティブ+カナリア;締め切り前に両方で受付。
TLS: T-30/T-7/T-1アラート、自動更新、安全なカナリア。

11) Observabilityおよび警報

'tls_handshake_fail_total {reason}'、 'tls_version_share'、 'cipher_share'、 'ocsp_stapling_errors'、' kms_ops_total {op}'、'decrypt_fail_total'、'jwks_kid_share'。
アクセスログ:プロトコル/バージョン/暗号(秘密なし)。
アラート:証明書の期限切れ、'bad_record_mac'のサージ、「信頼できないチェーン」の増加、復号に失敗しました。

12) iGaming/Financeの詳細

PAN-safeストリーム:トークン化、トークン専用ストレージ;PAN-PSP/トークンストアで。
PCI DSS:カード所有者データの暗号化、キーへのアクセス制限、暗号トランザクションログ、ネットワークセグメンテーション。
地域性:プレイヤーの地域のキーとデータ(レイテンシー/主権)。
バックオフィス:mTLS+SSO、短いセッション、管理者のためのFIDO2。

13) Antipatterns

TLS <1。2;弱いciphers/RC4/3DESを許可しました。
回転と「子供」のない一般的な「永遠の」秘密とキー。
GCMでIV/nonceを繰り返します(セキュリティに致命的)。
secrets/keys/panデータでログを記録します。
機密フィールドの暗号化なしのTDEのみ。
prodのHPKPピン留め(「自己ロック」の危険)。
write/non-idempotentクエリに0-RTTします。

14) Prod Readinessチェックリスト

  • データ分類と暗号化ポリシー(クラスごと)。
  • AEAD (AES-GCM/ChaCha20-Poly1305);ユニークなnonce;パスワードのArgon2id。
  • エンベロープ暗号化:オブジェクト/テナントごとのDEK;KEK-KMS/HSM。
  • TLS 1。2+/1.3のHSTS、 OCSPのステープリング;合理的な暗号のセット。
  • mTLS内部;短い証明書の自動発行/回転。
  • JWKS/' kid'、短い'exp'、リスト'jti';重なり合う秘密/sertsの回転。
  • バックアップとログは暗号化されています。アクセスおよび操作は監査されます。
  • TLS/KMS/JWKSによるダッシュボード/アラート。劣化テストとカナリア。
  • ドキュメンテーション:インシデントプロシージャ(key/certの妥協)。

15) TL;DR(ドクター)

どこでも暗号化:チャネルで-TLS 1。3/1.PFSおよび厳密な周囲との2;内部-mTLS。KMS/HSM内のキーを含むrest-envelope (DEK/KEK)では、機密フィールドを細かく暗号化します。'kid '/JWKSと通常のオーバーラップ回転でキーを管理し、暗号トランザクションログを保存します。AES-GCM(またはChaCha20-Poly1305)を選択し、nonceを再利用せず、バックアップ/ログを暗号化します。iGaming/PAN、トークン化およびPCIを意識したセグメンテーション。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。