Տվյալների կոդավորումը և TLS
1) Սպառնալիքների և նպատակների քարտեզը
Ջրանցքում (in-transit) 'ընդհատումը/մոդիֆիկացիան, MitM, dungraid։
Հանգիստ (at-rest) 'սկավառակների/bakas գողություն, BD/logs տիկնայք, ինսայդերներ։
Բանալիներ 'գաղտնիքների արտահոսք, թույլ ռոտացիան, կրկնվող օգտագործումը։
Նպատակն է ապահովել գաղտնիությունը, ամբողջականությունը և իսկությունը, չափված SLO-ով և վերահսկվող գաղտնագրությամբ։
2) Տվյալների և քաղաքականության դասակարգումը
Դասարանները ՝ Public/Engal/Didential/Restricted (PII/ֆինանսներ/PAN)։
Իսպանիա ՝ «07»։ class`, `tenant`, `region`, `retention`.
Պարտադիր միջոցներ 'Restricted-ի համար' դաշտի/օբյեկտի մակարդակում ծածկագրում, մուտքի ամսագիր, առանձին բանալիներ per-tenae/region։
3) «Հանգիստ» կոդավորումը (at-rest)
3. 1 Envelope-կոդավորումը
DEK (Windows Encryption Key) կոդավորում է տվյալները. KEK/CMK (KFC/HSM) կոդավորում է DEK-ը։
KEK-ի լուծումը չի պահանջում տվյալների գաղտնազերծումը 'pere-wrap DEK-ը։
DEK-ն նախընտրում է per-օբյեկտ/կուսակցություն/tenant կարճ TTL-ով։
3. 2 Մակարդակներ
Տեղափոխական (TDE) 'սկավառակ/պլաստիկ տարածքներ (PostgreSQL/MySQL/SQL Server)։ Պարզապես, բայց առանց գրանուլային վերահսկողության։
Դիմումի մակարդակում 'դաշտեր/օբյեկտներ (PAN, գաղտնիքները) ավելի լավ է multi-tenae-ի և հասանելիության նվազագույնի համար։
Մոսկվա/ամպեր ՝ S3/GCS SSE-KSA; ACID տվյալների համար - FLE (field-level encryption) որտեղ հնարավոր է։
3. 3 Ալգորիթմներ և ռեժիմներ
AEAD: AES-256-GCM կամ ChaCha20-Poly13.1 (CPU-ում առանց AES-NI)։
CSA/nonce: եզակիությունը խիստ պարտադիր է։ պահել ciphertext-ի կողքին; չկրկնել։
Հեշինգը 'Argon2id (կամ scrypt/bcrypt) աղով և երկաթով։
MAK/ստորագրություններ ՝ HMAC-SHA-256 ամբողջականության համար, կամ AEAD ներկառուցված պիտակը։
3. 4 Պրակտիկա BD/ֆայլերի համար
PostgreSQL: pgcrypto/ընդարձակման; write - ծածկել զգայուն դաշտերը։
Mongo/Doc-2019: client-side FLE, KFC բանալիներ։
Բեքապներ 'առանձին բանալիներ և հասանելի են միայն CI/CD գործակալից։ օֆսայթ պատճենները միշտ ծածկագրված են։
4) Բեկորների կառավարումը (KFC/HSM/Vox)
Ճշմարտության աղբյուրը ՝ KFC/HSM; մասնավոր բանալիները չեն թողնում սարքը/ծառայությունը։
Տարբերակումը '«kid», «purpose», «alg», «created _ at», «rotates _ at»։
Հասանելիություն ՝ least-privilege; պարտականությունների բաժանումը (SoD)։
Ռոտացիան 'գրաֆիկի վրա (3-6 մեզ ստորագրության համար), իրադարձությամբ (պատահականություն), rotate-on-use-ի համար refresh-tocens-ի համար։
Աուդիտ 'անփոփոխ ամսագրեր' ով, երբ ստորագրեց/վերծանեց։
Multi-tenant: բանալիներ per-tenae/brand/region; BYOK/HYOK-ի պահանջների դեպքում։
5) «Ալիքի» կոդավորումը (TFC)
5. 1 Նվազագույն
TLS 1. 2 +, 24TFC 1։ 3; HSTS-ը մրցույթներում։
Գաղտնագրությունները ՝ TLS1։ 3 - կանխորոշված (AES _ 256 _ GCM _ SHA384/CHACHA20 _ POLY13.ru _ SHA256)։
PSA 'էպեմերնի բոլոր հիմնական փոխանակումները (ECDHE)։
ALPN: HTTP/2 և HTTP/3 (QUIC) ներառել գիտակցաբար։ վերահսկել գաղտնիքները։
5. 2 Հավաստագրեր, OCSA, pinning
OCMS stapling և կարճ շղթաներ։
Նստաշրջանների վերարտադրումը 'TMS tickets կարճ TTL-ով։
0-RTT (TLS 1. 3) 'ներառել զգույշ (միայն idempotent GET)։
Pinning: Միայն «public-key pinning via TSA/Key inuity» ծրագրերում (ոչ կոշտ HPKP)։
MTSA 'պարագծի ներսում/ծառայությունների և գործընկերների միջև; սերտիֆիկացում SAN-ով։
5. 3 gRPC/HTTP/QUIC
GRPC-ն փոխանցում է Deadom-ը և մետատվողները, ստուգեք և սահմանափակեք per-try timeout-ը։
HTTP/3 (QUIC) արագացնում է first-byte; WAF/հավասարակշռողների համատեղելիությունը։
6) mTSA և ծառայողական մայրիկ
SPIFE/SPIRE կամ mesh-CA-ը ավտոմատ կարճ հավաստագրերի համար (7-30 օր)։
Քաղաքական գործիչներ. Ո՞ վ է խոսում (SVID), authZ-ը L7 մակարդակում։
Միգրացիան թափանցիկ է։ reve trust-bundle նորարարության միջոցով։
7) Արտադրողականություն և գործողություն
AES-NI 'աջակցության մրցույթների վրա AES-GCM-ն ավելի արագ է։ Բջջային/հին CPU-ի վրա 'ChaCha20-Poly13.1։
TIM-թյունինգը 'կարճ բանալիներ PSA-ից, բայց խելացի սահմաններում (P-256/25519); Քեշը ձեռագործություն է։
Batching 'նվազեցրեք փոքր հարցումները։ TMS-overhead-ը համամասնորեն համամասնորեն հանդիպումների քանակն է։
Syload: TMS պարագծի վրա (Envoy/NGINX), ներսում mTSA-ում։
8) Գաղտնիքների և լոգարանների քաղաքականությունը
Գաղտնիքները միայն KFC/Vox-ում; Kubernetes-ում etcd + KMS-պրովայդերի կոդավորումը։
Լոգարանների արգելքը 'բանալիներ/հոսանքներ/PAN/գաղտնիքներ; դիմակավորում։
Սարքավորումներ/տիկնայք 'կոդավորել և սահմանափակել հասանելիությունը։ վերահսկել դիմումները։
9) Գեորգի և օրինակներ
9. 1 NGINX (TMS խիստ պրոֆիլակ)
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 Envoy (mTSA apstrima, կեղծ)
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/« kid »-ը JWT-ի համար։ կարճ «exp»։
«Jti '/' sid» ցուցակները TTL-ի հետ հոսանքները հետ կանչելու համար։
HMAC-ի գաղտնիքները (webhuki) 'ակտիվ + կանարական; ընդունենք երկուսն էլ մինչև ծայրահեղ ամսաթիվը։
TFC: Ալերտներ T-30/T-7/T-1, ավտոմատ երկարացում, անվտանգ canary։
11) Դիտողությունն ու ալերտները
Метрики: `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/ֆինանսական առանձնահատկությունները
PAN-safe հոսքերը ՝ թունավորումը, միայն հոսանքների պահպանումը։ PAN-ը PMS/token-2019-ն է։
PCI DSS 'քարտեզների սեփականատերերի տվյալների կոդավորումը, բեկորների հասանելիությունը, ծպտյալ գործողությունների ամսագիրը, ցանցի հատվածը։
Ինտենսիվությունը 'բանալիներ և տվյալներ խաղացողի տարածքում (լատենտություն/ինքնիշխանություն)։
Backoffice: mTSA + SSO, կարճ նստաշրջաններ, FIDO2 ադմինների համար։
13) Անտիպատերնի
TLS < 1. 2; թույլ ծածկագրեր/RC4/3DES։
Ընդհանուր «հավերժական» գաղտնիքները և բանալիները առանց ռոտացիայի և «kid» -ի։
RF/nonce-ի խոհարար GCM-ում (ֆատալ անվտանգության համար)։
Լոգները գաղտնիքներով/կտորներով/պան տվյալների հետ։
Միայն TDE-ն առանց զգայուն դաշտերի։
HPKP-pinning-ը վաճառքում («ինքնաբուխ» ռիսկը)։
0-RTT write/ոչ idempotent պահանջների վրա։
14) Չեկ-թուղթ պատրաստակամության համար
- Տվյալների և քաղաքականության դասակարգում 2019 (per-class)։
- AEAD (AES-GCM/ChaCha20-Poly1305); յուրահատուկ nonce; Argon2id գաղտնաբառերի համար։
- Envelope-կոդավորումը 'DEK per-օբյեկտ/tenant; KEK в KMS/HSM.
- TLS 1. 2+/1. 3, HSTS, OCSP stapling; կոդերի խելացի հավաքածու։
- mTSA ներսում; ավտոմատ ճշգրտումը/կարճ հավաստագրերի լուծումը։
- JWKS/' kid ", կարճ 'exp', ցուցակները 'jti'; գաղտնիքները/շարքերը համընկնում են։
- Բեքապներն ու լույսերը ծածկագրված են. հասանելի և վիրահատվում են։
- Dashbords/alerts TFC/KFC/JWKS; դեգրադացիայի և canary թեստերը։
- Express: Մրցույթի ընթացակարգերը (բանալին/շարթի փոխզիջումը)։
15) TL; DR
Ծածկագրեք ամենուր 'TFC 1-ում։ 3/1. 2 PFC-ով և խիստ պարագծով; ներսում mTSA-ն է։ Հանգստյան օրերին 'envelope (DEK/KEK), KFC/HSM բեկորների հետ, գրանուլային ծածկեք զգայուն դաշտերը։ Կառավարեք բեկորները 'kid '/JWKS-ի միջոցով և համընկնեք, պահեք ծպտյալ վիրահատությունների ամսագրերը։ Ընտրեք AES-GCM (կամ ChaCha20-Poly13.ru), ոչ թե reuse-de nonce, ծածկագրեք bekaps/logs։ IGaming/PAN-ի համար տոկենիզացիան և PCI-գիտակցված հատվածը։