Mobil tətbiqlərdə şifrləmə — əsaslar, alqoritmlər və iş prinsipi

Müəllif: IT Sectr Dərc olunub: 2026-04-02 Oxuma vaxtı: 8 dəq

Şifrələmə (encryption) — bu, məlumatların xüsusi açar olmadan oxunması mümkün olmayan formaya çevrilməsi prosesidir. Mobil tətbiqlərdə şifrələmə istifadəçilərin şəxsi məlumatlarını, ödəniş məlumatlarını və biznes məntiqini ələ keçirilmə və sızıntıdan qoruyur. Statista (2024) məlumatlarına görə, mobil tətbiqlərdən məlumat sızıntılarının sayı iki il ərzində 38% artıb və 72% hallarda səbəb şifrələmənin olmaması və ya düzgün aparılmaması olub. Müasir mobil platformalar şifrələmə üçün daxili API-lər təqdim edir və onların istifadəsi məcburi təhlükəsizlik standartıdır. Statista, 2024

Başlıca

  • Şifrələmə — məlumatların oxunmaz formaya çevrilməsi, yalnız şifrəni açma açarı olduqda geri çevrilə bilər.
  • Simmetrik şifrələmə şifrələmə və şifrəni açma üçün bir açardan istifadə edir — sürətli, lakin açarın təhlükəsiz ötürülməsini tələb edir.
  • Asimmetrik şifrələmə bir cüt açardan (açıq və gizli) istifadə edir — daha təhlükəsiz, lakin simmetrikdən yavaşdır.
  • AES-256 — NIST tərəfindən tövsiyə olunan və Android və iOS-də istifadə edilən simmetrik şifrələmənin qızıl standartıdır.
  • Ucdan-uca şifrələmə (end-to-end) məlumatların hətta server üçün də əlçatmaz olmasını təmin edir — yalnız göndərən və qəbul edən üçün.

Mobil tətbiqlərdə şifrələmə nədir?

Şifrələmə mobil tətbiqlər kontekstində — bu, cihazda saxlanılan (data at rest) və şəbəkə ilə ötürülən (data in transit) məlumatların qorunması üçün kriptoqrafik alqoritmlərin tətbiqidir. Cihaz səviyyəsində yerli yaddaş şifrələnir: fayllar, verilənlər bazaları, SharedPreferences və keş. Şəbəkə səviyyəsində tətbiq və server arasında trafik TLS/HTTPS protokolları vasitəsilə şifrələnir. Son məqsəd — hətta cihaza fiziki çıxış və ya trafikin ələ keçirilməsi halında belə, hücumçunun kriptoqrafik açar olmadan qorunan məlumatları oxuya bilməyəcəyinə zəmanət verməkdir.

Mobil tətbiqlərdə şifrələmə nəyə lazımdır

Mobil cihazlar məlumat itkisinə qarşı xüsusilə həssasdır: telefonu asanlıqla itirmək, oğrulamaq və ya zərərli proqramla yoluxdurmaq olar. Ponemon Institute (2023) məlumatlarına görə, məlumat sızıntısından zərər çəkmiş şirkətlərin 42%-i hadisələri mobil cihazlarla əlaqələndirir. Şifrələmə olmadan hücumçu USB vasitəsilə cihaza qoşula, SQLite verilənlər bazasını çıxara və bütün saxlanılan məlumatları oxuya bilər. Şifrələmə bu problemi həll edir: hətta verilənlər bazası çıxarılsa belə, onun məzmunu şifrələnmiş qalır. Əlavə olaraq, ABŞ və Aİ-də şəxsi məlumatların şifrələnməsini tələb edən və pozuntulara görə illik dövriyyənin 4%-ə qədər cərimə nəzərdə tutan qanunlar (GDPR, CCPA) qüvvədədir. Şifrələmədən istifadə — bu, istifadəçi məlumatları ilə işləyən hər bir mobil tətbiq üçün təkcə texniki deyil, hüquqi zərurətdir.

Simmetrik və asimmetrik şifrələmə

Bütün şifrələmə alqoritmləri iki əsas növə bölünür: simmetrik (şifrələmə və şifrəni açma üçün bir açar) və asimmetrik (bir cüt açar — açıq və gizli). Növün seçimi istifadə ssenarisindən asılıdır: yerli məlumatların şifrələnməsi üçün sürətinə görə daha çox simmetrik alqoritmlər, açarların ötürülməsi və autentifikasiya üçün isə asimmetrik alqoritmlər tətbiq olunur.

XarakteristikaSimmetrikAsimmetrik
Açarların sayı1 (gizli)2 (açıq + gizli)
SürətYüksək (1–10 GB/s)Aşağı (1–10 MB/s)
Açarın yayılmasıProblem — açarı ötürmək lazımdırSadə — açıq açar dərc olunur
NümunələrAES, ChaCha20RSA, ECDH, ECIES
Mobil inkişafda tətbiqiYerli məlumatların şifrələnməsiAçar mübadiləsi, rəqəmsal imzalar

Təcrübədə mobil tətbiqlərdə hibrid şifrələmə istifadə olunur: asimmetrik alqoritmlə (məs. ECDH) tərəflər sessiya açarını mübadilə edir, bütün sonrakı məlumatlar isə simmetrik alqoritmlə (AES və ya ChaCha20) şifrələnir. Bu yanaşma simmetrik şifrələmənin sürətini asimmetrik açar mübadiləsinin təhlükəsizliyi ilə birləşdirir. Bu üsul TLS 1.3, Signal Protocol və Apple iMessage-ın əsasındadır.

Əsas şifrələmə alqoritmləri

Müasir mobil inkişaf şifrələmə üçün bir neçə standartlaşdırılmış şifrələmə alqoritmindən istifadə edir, onların hər biri müəyyən tapşırıqlar üçün nəzərdə tutulub və öz tətbiq sahəsinə malikdir.

  • AES (Advanced Encryption Standard) — 2001-ci ildə NIST tərəfindən sertifikatlaşdırılmış simmetrik blok şifri. 128, 192 və ya 256 bit açarlardan istifadə edir. Tövsiyə olunan rejim — GCM (Galois/Counter Mode), autentifikasiyalı şifrələmə təmin edir. AES-256 Android Keystore, iOS Keychain və bütün müasir TLS protokollarında istifadə olunur.
  • ChaCha20-Poly1305 — Daniel Bernstein tərəfindən işlənmiş simmetrik axın şifri. AES-256 ilə eyni təhlükəsizliyi təmin edir, lakin AES aparat sürətləndirilməsi olmayan cihazlarda (büdcəli Android smartfonları üçün xarakterik) daha sürətli işləyir. ChaCha20 TLS 1.3-də AES-GCM-ə alternativ olaraq istifadə olunur və Signal Protocol-ə əsas şifrdir.
  • RSA (Rivest-Shamir-Adleman) — açarların şifrələnməsi və rəqəmsal imzalar üçün istifadə olunan asimmetrik alqoritm. Minimum tövsiyə olunan açar ölçüsü — 2048 bit. RSA ECDH-dən yavaşdır, buna görə müasir mobil tətbiqlərdə elliptik əyri kriptoqrafiyası (ECC) ilə əvəz olunur.
  • ECDH (Elliptic Curve Diffie-Hellman) — elliptik əyrilərə əsaslanan asimmetrik açar mübadiləsi protokolu. Perfect Forward Secrecy təmin edir və TLS 1.3-də standart olaraq istifadə olunur. Curve25519 (X25519) əyrisi mobil tətbiqlərdə ən çox yayılmışdır.

Şifrələmə istifadəçi məlumatlarını necə qoruyur

Şifrələmə məlumatları üç əsas ssenaridə qoruyur: cihaz itirildikdə (diskin və tətbiq konteynerlərinin şifrələnməsi), trafik ələ keçirildikdə (şəbəkə protokolları TLS/HTTPS) və serverdən sızıntı zamanı (ucdan-uca şifrələmə). Hər ssenari öz yanaşması və alətlərini tələb edir.

İstirahətdə və tranzitdə şifrələmə

Data at rest — cihazdakı məlumatlar — Android Keystore və iOS Keychain vasitəsilə şifrələnir. Android 7.0-dan başlayaraq fayl şifrələməsi (File-Based Encryption) istifadə olunur və tətbiqlər əlavə olaraq AndroidX Security kitabxanasından EncryptedSharedPreferences və EncryptedFile vasitəsilə məlumatlarını şifrələyə bilər. iOS-də bütün tətbiqlər standart olaraq Data Protection API ilə işləyir, bu da faylları cihaz koduna bağlı açarla fayl sistemində şifrələyir. Data in transit üçün məcburi Certificate Pinning ilə TLS 1.2/1.3 istifadə olunur.

Ucdan-uca şifrələmə (End-to-End)

Ucdan-uca şifrələmə (E2E) — məlumatların ən yüksək qorunma səviyyəsi, burada mesaj göndərənin cihazında şifrələnir və yalnız qəbul edənin cihazında şifrədən açılır. Məlumatların saxlanması və ötürülməsi serveri məzmuna çıxış əldə etmir — o, yalnız şifrələnmiş bloblar ilə işləyir. Mobil tətbiqlər üçün E2E-nin ən məşhur tətbiqi — Signal Protocol, ilkin açar mübadiləsi üçün X3DH (Extended Triple Diffie-Hellman) ilə birlikdə Double Ratchet Algorithm istifadə edir. Signal Protocol Perfect Forward Secrecy və future secrecy təmin edir: bir açarın kompromitasiyası əvvəlki və sonrakı mesajları açıqlamır. Carnegie Mellon Universitetinin tədqiqatına (2023) görə, mesajlaşma tətbiqlərində E2E-şifrələmə TLS-only şifrələmə ilə müqayisədə yazışma sızıntısı riskini 99,7% azaldır. E2E tətbiqi GDPR və HIPAA tələblərinə əsasən Health & Fitness və Finance kateqoriyalı tətbiqlər üçün məcburidir. Öz layihənizdə E2E tətbiqi üçün Signal Protocol (Java/Swift) və ya Olm (Matrix protocol) əsaslı kitabxanadan istifadə etmək tövsiyə olunur. E2E həlli seçərkən platforma uyğunluğunu qiymətləndirin: Signal Protocol asinxron göndərmə və açarların müştəri tərəfdə saxlanmasını tələb edir, bu da multi-device ssenarilərinin tətbiqini çətinləşdirir — belə hallarda otaq modeli ilə Matrix Protocol daha yaxşı seçim ola bilər.

Mobil tətbiqlərdə şifrələmənin tətbiqi

Android-də Jetpack Security (AndroidX Security) istifadə edərək məlumatların şifrələnməsi və şifrədən açılması nümunəsinə baxaq. Kitabxana faylların şifrələnməsi üçün EncryptedFile və parametrlər üçün EncryptedSharedPreferences təqdim edir.

kotlin
val masterKey = MasterKey.Builder(context)
    .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
    .build()

val encryptedFile = EncryptedFile.Builder(
    context,
    File(context.filesDir, "secret.dat"),
    masterKey,
    EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build()

encryptedFile.openFileOutput(applicationContext).use { outputStream ->
    outputStream.write("Həssas istifadəçi məlumatları".toByteArray(Charsets.UTF_8))
}

MasterKey AES256-GCM — simmetrik şifrələmənin ən təhlükəsiz rejimindən istifadə edərək yaradılır. Açar əsas prosesdən təcrid olunmuş Android Keystore-da saxlanılır: tətbiq kompromitasiya olunsa belə, hücumçu açarı çıxara bilməz. EncryptedFile açarın derivasiyası üçün HKDF ilə AES-256-GCM sxemindən və səhifə ölçüsü 4KB istifadə edir, bu da sürət və təhlükəsizlik arasında yaxşı balans verir. Məlumatların oxunması üçün eyni parametrlərlə openFileInput istifadə olunur: kitabxana oxuma zamanı məlumatları avtomatik şifrədən açır.

iOS-də analoji funksionallıq AES.GCM və ya ChaChaPoly istifadə edərək CryptoKit (Swift) vasitəsilə təmin edilir. Açar Keychain Services vasitəsilə Secure Enclave-da saxlanılır. Prinsip eynidir: açarlar heç vaxt qorunan aparat yaddaşını tərk etmir və məlumatlar diskə yazılmazdan əvvəl şifrələnir. Belə bir arxitektura OWASP MASVS (Mobile Application Security Verification Standard) L2 səviyyəsinin tövsiyələrinə uyğundur — həssas məlumatlarla işləyən tətbiqlər üçün. Real layihələrdə tokenlər üçün EncryptedSharedPreferences və istifadəçi məlumatları üçün EncryptedFile kombinasiyası yerli şifrələmənin 100% ssenarilərini əhatə edir. Əlavə olaraq, serverdən alınan açarlarla (məs. ECDH sessiya açarları) işləmək üçün purpose = KeyProperties.PURPOSE_ENCRYPT parametri ilə Android KeyStore istifadə olunur, bu da açarın yalnız icazə verilən kriptoqrafik əməliyyatlar üçün istifadə oluna biləcəyini və açıq formada aparat yaddaşından operativ yaddaşa heç vaxt ixrac edilməyəcəyini təmin edir.

Tez-tez verilən suallar

Mobil tətbiqlər üçün hansı şifrələmə ən etibarlı hesab olunur?

GCM rejimində AES-256 açarın aparat yaddaşında (Android Keystore / iOS Keychain) saxlanması ilə qızıl standart hesab olunur. Şəbəkə trafiki üçün — Curve25519 elliptik əyrisi ilə TLS 1.3. ChaCha20-Poly1305 aparat AES-i olmayan cihazlarda alternativ olaraq istifadə olunur.

AES RSA-dan nə ilə fərqlənir?

AES — simmetrik alqoritm (bir açar), sürətli, böyük həcmli məlumatların şifrələnməsi üçün uyğundur. RSA — asimmetrik (bir cüt açar), yavaş, açarların şifrələnməsi və imzalar üçün istifadə olunur, məlumatların özü üçün deyil. Mobil tətbiqlərdə AES məlumatları şifrələyir, RSA açarları qoruyur.

Tətbiqdə bütün məlumatları şifrələmək lazımdırmı?

Məxfi məlumatları şifrələmək lazımdır: giriş tokenləri, şifrələr, şəxsi məlumatlar, ödəniş məlumatları, tibbi qeydlər. Açıq məlumatlar (şəkillər, məzmun) şifrələnməyə bilər, lakin onları tətbiqin qorunan konteynerində saxlamaq daha yaxşıdır.

Mobil cihazlarda ucdan-uca şifrələmə (end-to-end) necə işləyir?

Ucdan-uca şifrələmədə məlumatlar göndərməzdən əvvəl göndərənin cihazında şifrələnir və yalnız qəbul edənin cihazında şifrədən açılır. Server yalnız şifrələnmiş məlumatları görür. Signal Protocol-da tətbiq edilən Double Ratchet protokolu mobil mesajlaşma tətbiqlərində ən geniş yayılmış E2E mexanizmidir.

Cihazdakı və şəbəkə üçün eyni şifrələmədən istifadə etmək olarmı?

Texniki olaraq mümkündür, lakin tövsiyə olunmur. Cihazdakı məlumatlar üçün Keystore-dən açarla simmetrik şifrələmə (AES-GCM) istifadə edin. Şəbəkə üçün — ayrı açar dəsti və Certificate Pinning ilə TLS 1.3. Ayrılma bir açarın sızması zamanı hər iki kanalın kompromitasiyasının qarşısını alır.

Nəticə

  • Şifrələmə — mobil tətbiqlərin məlumatları istirahətdə və tranzitdə qoruyan məcburi təhlükəsizlik elementidir.
  • AES-256 GCM — NIST tərəfindən bütün məlumat növləri üçün tövsiyə olunan simmetrik şifrələmə standartıdır.
  • Hibrid şifrələmə (ECDH + AES) simmetrik yanaşmanın sürətini asimmetrik yanaşmanın təhlükəsizliyi ilə birləşdirir.
  • Android Keystore və iOS Keychain — kriptoqrafik materialları tətbiqdən təcrid edən aparat açar anbarlarıdır.
  • Data at rest EncryptedSharedPreferences və EncryptedFile (Android) və ya Data Protection API (iOS) vasitəsilə şifrələnir.
  • Data in transit Certificate Pinning və Perfect Forward Secrecy ilə TLS 1.3 tərəfindən qorunur.
  • Tövsiyə: bütün məxfi məlumatları aparat açar anbarında açarlarla Jetpack Security (Android) və ya CryptoKit (iOS) vasitəsilə şifrələyin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun