Bosh sahifa Wiki Encryption

Encryption

Encryption — ma’lumotni maxsus algoritm va kalit yordamida o‘qib bo‘lmaydigan shaklga keltirish jarayoni. Encryption ma’lumot maxfiyligini ta’minlash uchun ishlatiladi. Shifrlangan ma’lumotni o‘qish uchun mos kalit bilan decrypt qilish kerak bo‘ladi.

Encryption kriptografiyaning asosiy tushunchalaridan biri bo‘lib, web, mobil ilova, database, tarmoq, cloud va xavfsizlik tizimlarida keng ishlatiladi.

Vazifasi

Encryption quyidagi vazifalarni bajaradi:

  • ma’lumot maxfiyligini saqlash;
  • tarmoq orqali uzatilayotgan ma’lumotni himoyalash;
  • database’dagi maxfiy qiymatlarni yashirish;
  • fayllarni ruxsatsiz o‘qishdan himoyalash;
  • parol, token, kalit va shaxsiy ma’lumotlarni himoyalash;
  • HTTPS va TLS kabi protokollarda secure communication yaratish;
  • backup va storage xavfsizligini oshirish.

Masalan, foydalanuvchi browser orqali saytga kirganda HTTPS ma’lumotni uzatish jarayonida encryptiondan foydalanadi.

Encryption qanday ishlaydi?

Encryption ochiq ma’lumotni shifrlangan ko‘rinishga o‘tkazadi.

Asosiy jarayon:

  • ochiq ma’lumot olinadi;
  • encryption algoritmi tanlanadi;
  • encryption key ishlatiladi;
  • ciphertext hosil bo‘ladi;
  • ciphertext saqlanadi yoki yuboriladi;
  • kerak bo‘lganda decrypt qilinadi.

Ochiq ma’lumot plaintext, shifrlangan ma’lumot esa ciphertext deb ataladi.

Plaintext

Plaintext — encryptiondan oldingi oddiy o‘qiladigan ma’lumot.

Plaintext misollari:

  • xabar matni;
  • fayl tarkibi;
  • karta raqami;
  • token;
  • shaxsiy ma’lumot;
  • JSON payload.

Plaintext maxfiy bo‘lsa, u saqlash yoki uzatishdan oldin shifrlanishi mumkin.

Ciphertext

Ciphertext — encryptiondan keyin hosil bo‘lgan shifrlangan ma’lumot. U kalitsiz o‘qilmasligi kerak.

Ciphertext:

  • oddiy matn sifatida tushunilmaydi;
  • storage’da saqlanishi mumkin;
  • tarmoq orqali yuborilishi mumkin;
  • faqat mos kalit bilan decrypt qilinadi.

Ciphertextning maqsadi ma’lumot mazmunini yashirishdir.

Encryption key

Encryption key — ma’lumotni shifrlash va ayrim hollarda decrypt qilish uchun ishlatiladigan maxfiy qiymat.

Key quyidagilar bilan bog‘liq:

Kalit yo‘qolsa, shifrlangan ma’lumotni qayta ochish imkonsiz bo‘lishi mumkin.

Symmetric encryption

Symmetric encryption — shifrlash va decrypt qilish uchun bitta umumiy kalit ishlatiladigan model.

Xususiyatlari:

  • tez ishlaydi;
  • katta hajmdagi ma’lumotlar uchun mos;
  • bitta kalit maxfiy saqlanishi kerak;
  • kalitni xavfsiz almashish muhim.

AES symmetric encryption algoritmlariga misol bo‘ladi.

Asymmetric encryption

Asymmetric encryptionpublic key va private key juftligiga asoslangan model.

Xususiyatlari:

RSA va ECC asymmetric cryptography bilan bog‘liq.

Encryption va hashing farqi

Encryption va hashing boshqa-boshqa vazifani bajaradi.

  • encryption qaytariladigan jarayon;
  • hash odatda qaytarilmaydigan jarayon;
  • encryption ma’lumotni yashiradi;
  • hash ma’lumotdan tekshiruv qiymati yaratadi;
  • encryption decrypt qilish uchun kalit talab qiladi;
  • hashdan asl ma’lumotni tiklab bo‘lmaydi.

Masalan, maxfiy xabar encryption qilinadi, parol esa hash qilinadi.

Encryption va encoding farqi

Encoding ma’lumot formatini o‘zgartiradi, lekin maxfiylik bermaydi.

Farqlar:

  • Base64 encoding hisoblanadi;
  • AES encryption hisoblanadi;
  • encoding qaytarish uchun maxfiy kalit talab qilmaydi;
  • encryption decrypt qilish uchun kalit talab qiladi;
  • encoding xavfsizlik emas;
  • encryption xavfsizlik mexanizmi hisoblanadi.

Base64 qilingan matnni har kim qayta ochishi mumkin.

TLS va HTTPS

TLS va HTTPS tarmoq orqali uzatiladigan ma’lumotni himoyalashda encryptiondan foydalanadi.

HTTPS quyidagilarni ta’minlaydi:

Web ilovalarda HTTPS encryptionning eng ko‘p ko‘rinadigan shaklidir.

Database encryption

Database encryption maxfiy ma’lumotlarni database ichida yoki diskda shifrlash uchun ishlatiladi.

Shifrlanishi mumkin bo‘lgan ma’lumotlar:

  • shaxsiy ma’lumot;
  • tokenlar;
  • karta ma’lumotlari;
  • maxfiy sozlamalar;
  • backup fayllar;
  • audit loglar.

Database encryption access control bilan birga ishlatiladi.

Key management

Key management — encryption keylarni yaratish, saqlash, almashtirish va himoyalash jarayoni.

Key management quyidagilarni o‘z ichiga oladi:

Encryption xavfsizligi ko‘p jihatdan kalitlar qanday boshqarilishiga bog‘liq.

Dasturlashdagi o‘rni

Encryption ma’lumotni maxfiy saqlash va xavfsiz uzatish uchun ishlatiladi. U web ilova, API, database, fayl storage, cloud va tarmoq xavfsizligida muhim rol o‘ynaydi.

Bog‘liq tushunchalar

Decryption, Symmetric encryption, Asymmetric encryption, Public key, Private key, TLS, HTTPS, Hash, Key management, Security