Data key — ma’lumotning o‘zini simmetrik algoritm yordamida shifrlash uchun ishlatiladigan kriptografik kalitdir. U fayl, ma’lumotlar bazasi qatori, disk bloki, xabar yoki bitta sessiya kabi muayyan himoya domeniga tegishli bo‘lishi mumkin. Data keyni kalitlarni boshqarish kalitidan ajratish katta hajmli ma’lumotni tez shifrlash va yuqori darajadagi kalitlarni kamroq ishlatish imkonini beradi.
Yaratish va qo‘llash
Data key kriptografik xavfsiz tasodifiy son generatoridan olinadi va tanlangan algoritm talab qilgan uzunlikka ega bo‘ladi. AES kabi blokli shifrda kalitdan tashqari rejim, nonce yoki initialization vector ham kerak. Nonce ko‘pincha maxfiy emas, ammo ayni kalit bilan uning takrorlanishi GCM kabi rejimlarda maxfiylik va yaxlitlikni jiddiy buzishi mumkin.
Authenticated encryption ma’lumotni shifrlash bilan birga autentifikatsiya tegini hosil qiladi. Fayl nomi, obyekt identifikatori yoki protokol sarlavhasi Additional Authenticated Data sifatida bog‘lanishi mumkin. AAD ochiq qoladi, lekin u o‘zgartirilsa verifikatsiya muvaffaqiyatsiz tugaydi. Decrypt qilingan plaintext faqat tag tekshirilgandan keyin iste’molchiga beriladi.
Envelope encryption
Data key ko‘pincha master key bilan o‘ralgan shaklda ciphertext yonida saqlanadi. Obyekt yozilganda yangi data key yaratiladi, plaintext lokal shifrlanadi, keyin data key KMSga yuborilib key-encryption key ostida o‘raladi. Saqlanadigan paket quyidagilarni o‘z ichiga olishi mumkin:
- algoritm va format versiyasi;
- nonce yoki initialization vector;
- wrapped data key va uning master key identifikatori;
- ciphertext va autentifikatsiya tegi;
- zarur bo‘lsa, autentifikatsiyalangan kontekst.
O‘qishda KMS ruxsatni tekshiradi va data keyning ochiq nusxasini qisqa vaqtga beradi. Katta ma’lumot markaziy KMS orqali o‘tmagani uchun tizim yaxshi masshtablanadi. Bir data keyni haddan ortiq obyekt uchun qayta ishlatmaslik komprometatsiya ta’sirini va nonce boshqaruvi murakkabligini kamaytiradi.
Ko‘lam va izolyatsiya
Kalit granulyarligi xavfsizlik, metadata hajmi va ishlash tezligi o‘rtasidagi tanlovdir. Har obyektga alohida kalit berish bitta kalit oshkor bo‘lgandagi zararni cheklaydi, lekin millionlab wrapped key va KMS operatsiyasini keltirib chiqaradi. Bitta tenant yoki vaqt oynasi uchun umumiy kalit boshqaruvni yengillashtiradi, ammo ko‘proq ciphertextni bir xavf domeniga birlashtiradi.
Multi-tenant tizimda tenantlar uchun alohida key hierarchy qo‘llash ruxsat chegarasini kuchaytiradi. Obyekt metadata ichidagi key ID ishonchsiz kirish deb qaraladi; server shu identifikatorga murojaat qilish huquqini mustaqil tekshiradi. Faqat ciphertextga yaqin joyda key ID turishi kalitga ruxsat mavjudligini anglatmaydi.
Xotira va yo‘q qilish
Ochiq data key logga, telemetryga yoki exception matniga kirmasligi kerak. U foydalanilgach xotiradan secure erase bilan olib tashlanadi. Garbage-collected tillarda nusxalar qachon tozalanishini aniq boshqarish qiyin; maxsus kriptografik API kalitni opaque handle sifatida saqlashi mumkin.
Crypto-shreddingda data key yoki uni ochuvchi yagona master key yo‘q qilinadi va ciphertext fizik saqlashdan darhol o‘chirilmasa ham o‘qib bo‘lmas holga keladi. Bu usul faqat kalitning boshqa backup, cache yoki export nusxasi yo‘qligi isbotlanganda ishlaydi. Retention va legal hold talablari kalit o‘chirish siyosatiga bog‘lanadi.
Data keyning ishlatilish chegarasi metadata bilan majburiy bog‘lanadi. Masalan, faqat encrypt/decrypt amallari va aniq algoritmga ruxsat berish kalitning tasodifan imzolash yoki boshqa protokol maqsadida qayta qo‘llanishini cheklaydi.
Bog‘liq tushunchalar
Master key, Envelope encryption, Authenticated encryption, Nonce, Key wrapping, Key Management System, Crypto-shredding