डेटा एनक्रिप्शन और टीएलएस
1) धमकी का नक्शा और लक्ष्य
इन-ट्रांजिट: ट्रैफिक इंटरसेप्शन/संशोधन, मिटएम, डाउनग्रेड।
आराम पर (आराम पर): डिस्क/बैकअप, डीबी/लॉग डंप, अंदरूनी सूत्रों की चोरी।
कुंजियाँ: रहस्यों का रिसाव, कमजोर घूर्णन, पुन: उपयोग।
लक्ष्य औसत दर्जे का एसएलओ और प्रबंधित क्रिप्टोग्राफिटी के साथ गोपनीयता, अखंडता और प्रामाणिकता सुनिश्चित करना है।
2) डेटा वर्गीकरण और नीति
श्रेणी: सार्वजनिक/आंतरिक/गोपनीय/प्रतिबंधित (पीआईआई/वित्त/पैन)।
टैग: 'डेटा। श्रेणी ',' किरायेदार ',' क्षेत्र ',' प्रतिधारण '।
अनिवार्य उपाय: प्रतिबंधित के लिए - क्षेत्र/वस्तु स्तर पर एन्क्रिप्शन, एक्सेस लॉग, व्यक्तिगत कुंजी प्रति-किरायेदार/क्षेत्र
3) बाकी एन्क्रिप्शन पर
3. 1 लिफाफा एन्क्रिप्शन
डीईके (डेटा एन्क्रिप्शन कुंजी) डेटा को एन्क्रिप्ट करता है; KEK/CMK (KMS/HSM) DEK को एन्क्रिप्ट करता है।
केईके रोटेशन को डेटा के डिक्रिप्शन की आवश्यकता नहीं है - फिर से रैप डीईके।
छोटे TTL के साथ DEK अधिमानतः प्रति-ऑब्जेक्ट/पार्टी/किरायेदार।
3. 2 स्तर
पारदर्शी (TDE): डिस्क/टेबलस्पेस (PostgreSQL/MySQL/SQL सर्वर). सरल, लेकिन दानेदार नियंत्रण के बिना।
आवेदन स्तर पर: क्षेत्र/वस्तुएं (पैन, रहस्य) - बहु-किरायेदार के लिए बेहतर और न्यूनतम पहुंच।
भंडारण/बादल: S3/GCS SSE-KMS; ACID डेटा के लिए - FLE (फील्ड-लेवल एन्क्रिप्शन) जहां संभव हो।
3. 3 एल्गोरिदम और मोड
AEAD: AES-256-GCM या ChaCha20-Poly1305 (AES-NI के बिना CPU पर)।
IV/nonce: विशिष्टता सख्ती से अनिवार्य है; सिफरटेक्स्ट के बगल में स्टोर करें दोहराएं नहीं।
हैशिंग: नमक और लोहे के मापदंडों के साथ पासवर्ड - Argon2id (या स्क्रिप्ट/bcrypt)।
MAC/हस्ताक्षर: HMAC-SHA-256 अखंडता या AEAD अंतर्निहित लेबल के लिए।
3. 4 डीबी/फाइलों के लिए अभ्यास
PostgreSQL: pgcrypto/extension; अनुप्रयोग में संवेदनशील क्षेत्रों को लिखने पर।
मोंगो/डॉक-स्टोरेज: क्लाइंट-साइड FLE, KMS में कुंजी।
बैकअप: व्यक्तिगत कुंजी और केवल सीआई/सीडी एजेंट से सुलभ; ऑफसाइट प्रतियां - हमेशा एन्क्रिप्टेड।
4) प्रमुख प्रबंधन (केएमएस/एचएसएम/वॉल्ट)
सत्य का स्रोत: केएमएस/एचएसएम; निजी कुंजियाँ उपकरण/सेवा को नहीं छोड़ ती हैं।
Versioning: 'बच्चा', 'उद्देश्य', 'alg', 'बनाया _ at', 'घुमाता है _ at'।
पहुंच: कम से कम विशेषाधिकार; कर्तव्यों का अलगाव (SoD)।
रोटेशन: निर्धारित (हस्ताक्षर करने के लिए 3-6 महीने), घटना (घटना), रिफ्रेश टोकन के लिए घूर्णन-ऑन-उपयोग।
ऑडिट: अपरिवर्तनीय लॉग: कौन, कब, क्या हस्ताक्षरित/डिक्रिप्टेड है।
मल्टी-किरायेदार: कुंजी प्रति-किरायेदार/ब्रांड/क्षेत्र; यदि ग्राहक द्वारा आवश्यक हो तो BYOK/HYOK।
5) इन-चैनल एन्क्रिप्शन (टीएलएस)
5. 1 चढ़ाव
टीएलएस 1। 2 +, अधिमानतः टीएलएस 1। 3; डोमेन पर HSTS।
सिफर सूट: TLS1। 3 - पूर्वनिर्धारित (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256)।
PFS: सभी प्रमुख महाकाव्य एक्सचेंज (ECDHE)।
ALPN: HTTP/2 और HTTP/3 (QUIC) में सचेत रूप से शामिल हैं; टाइमर देखें।
5. 2 प्रमाणपत्र, OCSP, पिनिंग
OCSP स्टेपलिंग और शॉर्ट चेन।
पुन: उपयोग सत्र: छोटे टीटीएल के साथ टीएलएस टिकट।
0-RTT (टीएलएस 1। 3): ध्यान से चालू करें (केवल अज्ञात GET)।
पिनिंग: एप्लिकेशन/मोबाइल (हार्ड एचपीकेपी नहीं) में टीएसपी/कुंजी निरंतरता के माध्यम से केवल 'सार्वजनिक-कुंजी पिनिंग'।
mTLS: परिधि के भीतर/सेवाओं और भागीदारों के बीच; सैन योग्यता।
5. 3 gRPC/HTTP/QUIC
gRPC डेडलाइन और मेटाडेटा प्रसारित करता है - प्रति-कोशिश समय की जांच और सीमा।
HTTP/3 (QUIC) प्रथम-बाइट को तेज करता है; WAF/बैलेंसर संगतता की जाँच करें।
6) mTLS और सेवा मैश
लघु प्रमाणपत्र (7-30 दिन) के स्वचालित जारी करने के लिए SPIFFE/SPIRE या मेष-CA।
राजनेता: कौन बोलता है (SVID→SVID), L7 स्तर पर authZ।
घूर्णन - पारदर्शी; ट्रस्ट-बंडल अपडेट के माध्यम से निरस्त करें।
7) प्रदर्शन और संचालन
एईएस-एनआई: समर्थन के साथ सर्वर पर - एईएस-जीसीएम तेजी से। मोबाइल/पुराने सीपीयू पर - ChaCha20-Poly1305।
TLS ट्यूनिंग: PFS के साथ छोटी कुंजी, लेकिन उचित सीमा (P-256/25519) के भीतर; हैंडशेक कैश।
बैचिंग: छोटे प्रश्नों को कम करें; टीएलएस-ओवरहेड कनेक्शन की संख्या के आनुपातिक है।
ऑफलोड: परिधि पर टीएलएस (दूत/एनजीआईएनएक्स), अंदर - एमटीएलएस जाल में।
8) गुप्त और लॉग नीतियां
केवल केएमएस/वॉल्ट में रहस्य; Kubernetes में - एन्क्रिप्शन इत्यादि + KMS प्रदाता।
लॉग बैरिंग: कुंजी/टोकन/पैन/रहस्य; मास्किंग।
स्नैपशॉट/डंप: एन्क्रिप्ट और प्रतिबंधित पहुंच; कुंजी पहुँच की निगरानी करें।
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 दूत (एमटीएलएस से ऊपर की ओर, छद्म)
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. AEAD (छद्म) का उपयोग करने का 3 उदाहरण
pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant object_id, plaintext)
store(nonce ciphertext tag)
10) रोटेशन और निरस्त कुंजियाँ
JWKS/JWT के लिए 'बच्चा'; लघु 'एक्सपी'।
TTL के साथ 'jti '/' sid' for निरस्त करने वाले टोकन की सूची।
HMAC (वेबहूक) का रहस्य: सक्रिय + कैनरी; समय सीमा से पहले दोनों द्वारा स्वागत।
टीएलएस: अलर्ट, स्वचालित नवीकरण, सुरक्षित कैनरी।
11) अवलोकन और अलर्ट
Метрики: 'tls _ handshake _ fail _ to {court}', 'tls _ version _ share', 'cipher _ stapling _ errors', 'kms _ ops _ tolt {op}', 'decript _ fail _ total', 'jwkk _ kd _ share
अभिगम लॉग: प्रोटोकॉल/संस्करण/सिफर (बिना रहस्य के)।
अलर्ट: सर्टिफिकेट समाप्त करना, 'bad _ record _ mac' में वृद्धि, "अविश्वसनीय श्रृंखलाओं" की वृद्धि, असफल डिक्रिप्शन।
12) आईगेमिंग/वित्त की विशिष्टताएं
पैन-सुरक्षित धाराएँ: टोकन, टोकन-केवल भंडारण; पैन - PSP/टोकन स्टोर पर।
PCI DSS: कार्डधारक डेटा का एन्क्रिप्शन, कुंजियों तक पहुंच को प्रतिबंधित करना, क्रिप्टो लेनदेन लॉग, नेटवर्क विभाजन।
क्षेत्रीयता: खिलाड़ी के क्षेत्र में कुंजी और डेटा (विलंबता/संप्रभुता)।
बैकऑफ़िस: mTLS + SSO, लघु सत्र, FIDO2 प्रशासन के लिए।
13) एंटीपैटर्न
टीएलएस <1। 2; कमजोर ciphers/RC4/3DES की अनुमति दी।
रोटेशन और 'बच्चे' के बिना सामान्य "अनन्त" रहस्य और कुंजी।
जीसीएम में IV/नॉन को दोहराएं (सुरक्षा के लिए घातक)।
रहस्य/कुंजी/पैन डेटा के साथ लॉग।
केवल TDE संवेदनशील क्षेत्रों के एन्क्रिप्शन के बिना।
एचपीकेपी-पिनिंग इन प्रोड ("सेल्फ-लॉकिंग" का जोखिम)।
0-RTT लिखने/गैर-पहचानने वाले प्रश्नों पर।
14) प्रोड रेडीनेस चेकलिस्ट
- डेटा वर्गीकरण और एन्क्रिप्शन नीति (प्रति वर्ग)।
- AEAD (AES-GCM/ChaCha20-Poly1305); अद्वितीय अस्थायी; पासवर्ड Argon2id।
- लिफाफा एन्क्रिप्शन: डीईके प्रति वस्तु/किरायेदार; KEK в KMS/HSM।
- टीएलएस 1। 2+/1. 3, एचएसटीएस, ओसीएसपी स्टेपलिंग; Ciphers का एक उचित सेट।
- एमटीएलएस अंदर; लघु प्रमाणपत्रों का स्वचालित जारी/घूर्णन।
- JWKS/' बच्चा ', लघु' exp ',' jti 'को सूचीबद्ध करता है; ओवरलैप के साथ रहस्य/सर्ट का रोटेशन।
- बैकअप और लॉग एन्क्रिप्टेड हैं; पहुँच और संचालन का ऑडिट किया जाता है।
- टीएलएस/केएमएस/जेडब्ल्यूकेएस के अनुसार डैशबोर्ड/अलर्ट; गिरावट परीक्षण और कैनरी।
- प्रलेखन: घटना प्रक्रियाएं (कुंजी/प्रमाणित समझौता)।
15) टीएल; डीआर
हर जगह एनक्रिप्ट करें: चैनल में - टीएलएस 1। 3/1. पीएफएस और सख्त परिधि के साथ 2; अंदर - mTLS। केएमएस/एचएसएम में चाबियों के साथ विश्राम लिफाफे (डीईके/केईके) पर, संवेदनशील क्षेत्रों को दानेदार रूप से एन्क्रिप्ट करें। 'बच्चे '/JWKS और नियमित ओवरलैपिंग रोटेशन के माध्यम से कुंजी प्रबंधित करें, क्रिप्टो लेनदेन लॉग संग्रहीत करें। AES-GCM (या ChaCha20-Poly1305) चुनें, नॉनस, एन्क्रिप्ट बैकअप/लॉग का पुन: उपयोग न करें। IGaming/PAN, टोकन और PCI-सचेत विभाजन के लिए।