Keystore στο Android — τι είναι, αρχιτεκτονική και κρυπτογραφία

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-04 Χρόνος ανάγνωσης: 9 λεπ

Το Android Keystore είναι ένας κρυπτογραφικός πάροχος που δημιουργεί και αποθηκεύει κλειδιά κρυπτογράφησης σε απομονωμένο περιβάλλον εκτέλεσης (TEE), μη προσβάσιμο ακόμη και από το λειτουργικό σύστημα. Σύμφωνα με το AOSP Security Documentation (2025), το Keystore χρησιμοποιείται σε περισσότερο από το 80% των εφαρμογών Android από το top-100 του Google Play για την προστασία tokens και την κρυπτογράφηση δεδομένων. Η κατανόηση του Android Keystore είναι κρίσιμη για την ασφαλή αποθήκευση κλειδιών στο Android.

Κύρια σημεία

  • Android Keystore — ο συστημικός πάροχος για δημιουργία και αποθήκευση κρυπτογραφικών κλειδιών σε απομονωμένο περιβάλλον υλικού (TEE).
  • StrongBox Keymaster — αποκλειστικό τσιπ ασφαλείας με δική του CPU και TRNG, πιστοποιημένο κατά Common Criteria EAL 4+.
  • KeyGenParameterSpec — ο ρυθμιστής για τον καθορισμό αλγορίθμου, μεγέθους κλειδιού, βιομετρικής σύνδεσης και διάρκειας ζωής.
  • TEE (Trusted Execution Environment) — απομονωμένη περιοχή του επεξεργαστή όπου εκτελούνται κρυπτογραφικές λειτουργίες χωρίς πρόσβαση από τον χώρο χρήστη.
  • Τα κλειδιά από το Keystore δεν μπορούν να εξαχθούν — το ιδιωτικό κλειδί δεν εγκαταλείπει ποτέ το TEE ή το StrongBox, ακόμη και ο προγραμματιστής της εφαρμογής δεν μπορεί να το διαβάσει.

Τι είναι το Keystore στο Android;

Android Keystore — ένα συστημικό στοιχείο της πλατφόρμας Android που παρέχει API για δημιουργία, αποθήκευση και χρήση κρυπτογραφικών κλειδιών σε προστατευμένο περιβάλλον. Σε αντίθεση με τις βιβλιοθήκες λογισμικού κρυπτογραφίας (Bouncy Castle, Conscrypt), το Keystore εγγυάται ότι τα ιδιωτικά κλειδιά δεν εγκαταλείπουν ποτέ την απομονωμένη περιοχή εκτέλεσης.

Το Keystore εμφανίστηκε στο Android 4.3 (API 18) ως πάροχος λογισμικού με υποστήριξη RSA. Από το Android 6.0 (API 23), το Keystore απέκτησε υποστήριξη υλικού μέσω του Keymaster Hardware Abstraction Layer (HAL), η οποία αναθέτει κρυπτογραφικές λειτουργίες στο Trusted Execution Environment (TEE) σε συμβατές συσκευές. Σύμφωνα με το Android Compatibility Definition Document (2025), όλες οι συσκευές με Android 9+ υποχρεούνται να υποστηρίζουν υλικό Keystore μέσω TEE ή StrongBox.

Τα κλειδιά στο Keystore αναγνωρίζονται με ψευδώνυμο (alias) — μια συμβολοσειρά που μεταδίδεται κατά τη δημιουργία ή φόρτωση του κλειδιού. Το Keystore δεν επιτρέπει τη λήψη του ακατέργαστου υλικού κλειδιού: οι μέθοδοι getEncoded() επιστρέφουν null για κλειδιά που δημιουργήθηκαν στο Keystore. Αυτή είναι μια θεμελιώδης διαφορά από τα κλειδιά λογισμικού — ο εισβολέας δεν μπορεί να εξάγει το ιδιωτικό κλειδί ακόμη και με πλήρη έλεγχο της συσκευής.

Το Keystore είναι ενσωματωμένο με άλλους μηχανισμούς ασφαλείας του Android: βιομετρική ταυτοποίηση (BiometricPrompt), κρυπτογράφηση σε επίπεδο αρχείων (File-Based Encryption) και λειτουργίες επαλήθευσης SafetyNet / Play Integrity. Τα κλειδιά μπορούν να ρυθμιστούν για αυτόματη διαγραφή υπό ορισμένες συνθήκες: κατά την αφαίρεση του κωδικού πρόσβασης, κατά την προσθήκη νέου δακτυλικού αποτυπώματος ή μετά τη λήξη τους.

Αρχιτεκτονική Android Keystore

Η αρχιτεκτονική του Android Keystore περιλαμβάνει τρία επίπεδα υλοποίησης που διαφέρουν στον βαθμό προστασίας υλικού. Το επίπεδο εξαρτάται από τις δυνατότητες υλικού της συσκευής.

Hardware-backed Keystore (TEE)

TEE (Trusted Execution Environment) — απομονωμένη περιοχή που λειτουργεί παράλληλα με το κύριο ΛΣ στον ίδιο επεξεργαστή. Το TEE χρησιμοποιεί την τεχνολογία ARM TrustZone, η οποία διαχωρίζει τον φυσικό πυρήνα του επεξεργαστή σε δύο εικονικούς: Normal World (Android) και Secure World (TEE). Ο κώδικας στο Secure World έχει πρόσβαση σε μνήμη και περιφερειακά που δεν είναι προσβάσιμα από το Normal World.

Όταν μια εφαρμογή καλεί μια κρυπτογραφική λειτουργία μέσω Keystore, το αίτημα μεταβιβάζεται μέσω Keymaster HAL στο TEE, όπου η λειτουργία εκτελείται υλικά. Το αποτέλεσμα επιστρέφεται στην εφαρμογή, αλλά το ιδιωτικό κλειδί παραμένει στην προστατευμένη μνήμη του TEE. Το TEE είναι πιστοποιημένο σύμφωνα με το GlobalPlatform TEE Protection Profile και αποτελεί υποχρεωτική απαίτηση για Android 9+ σε συσκευές με επεξεργαστές που υποστηρίζουν TrustZone.

Το TEE υποστηρίζει αλγόριθμους AES/GCM (128, 256 bit), RSA (2048, 4096 bit), EC (P-256, P-384, P-521) και HMAC-SHA256. Η απόδοση του TEE είναι χαμηλότερη από τη κρυπτογραφία λογισμικού (κατά 20–40%), αλλά για τυπικές λειτουργίες (υπογραφή JWT, αποκρυπτογράφηση κλειδιού συνόδου) η καθυστέρηση δεν υπερβαίνει τα 10–50 ms.

StrongBox Keymaster

StrongBox — αποκλειστικό τσιπ ασφαλείας, φυσικά ξεχωριστό από τον κύριο επεξεργαστή. Σε αντίθεση με το TEE, το οποίο μοιράζεται τον χρόνο επεξεργαστή με το Android, το StrongBox έχει τη δική του CPU, μνήμη RAM, True Random Number Generator (TRNG) και προστατευμένο αποθηκευτικό χώρο (One-Time Programmable memory). Το StrongBox είναι πιστοποιημένο κατά Common Criteria EAL 4+ και Secure IC Protection Profile.

Το StrongBox είναι διαθέσιμο σε συσκευές με Android 9+ εφόσον υπάρχει το κατάλληλο τσιπ (π.χ. Titan M στα Google Pixel, Knox στα Samsung Galaxy). Ο προγραμματιστής ενεργοποιεί το StrongBox μέσω της σημαίας setIsStrongBoxBacked(true) στο KeyGenParameterSpec. Εάν δεν υπάρχει υποστήριξη υλικού, η σημαία αγνοείται και το Keystore μεταβαίνει στο TEE.

Περιορισμοί StrongBox: υποστηρίζει περιορισμένο σύνολο αλγορίθμων (AES-256, EC P-256, HMAC-SHA256), η ουρά λειτουργιών — το πολύ μία ταυτόχρονα, ο αριθμός λειτουργιών — περιορίζεται από τους πόρους του τσιπ. Το StrongBox δεν προορίζεται για σενάρια υψηλού φόρτου — χρησιμοποιήστε TEE για συχνές λειτουργίες και StrongBox μόνο για κρίσιμα κλειδιά (master κλειδιά κρυπτογράφησης, κλειδιά υπογραφής).

Software-based Keystore

Software-based Keystore — υλοποίηση λογισμικού που χρησιμοποιείται σε συσκευές χωρίς υποστήριξη υλικού TEE ή StrongBox. Τα κλειδιά αποθηκεύονται κρυπτογραφημένα στο σύστημα αρχείων, αλλά το ιδιωτικό κλειδί μπορεί προσωρινά να αποκρυπτογραφηθεί στη μνήμη RAM. Το Keystore λογισμικού είναι λιγότερο ασφαλές — ένας εισβολέας με πρόσβαση root μπορεί να υποκλέψει το κλειδί στη μνήμη.

Από το Android 12 (API 31), η Google απαιτεί υποστήριξη υλικού Keystore για όλες τις νέες συσκευές. Οι συσκευές με Android 9–11 μπορεί να διαθέτουν Keystore λογισμικού σε οικονομικά μοντέλα. Ο προγραμματιστής μπορεί να ελέγξει το επίπεδο προστασίας μέσω KeyStore.getKeyCharacteristics() — το χαρακτηριστικό SECURITY_LEVEL_TRUSTED_ENVIRONMENT ή SECURITY_LEVEL_STRONGBOX επιβεβαιώνει την προστασία υλικού.

Υποστηριζόμενοι αλγόριθμοι και λειτουργίες

Το Android Keystore υποστηρίζει ένα ευρύ φάσμα κρυπτογραφικών αλγορίθμων, κατηγοριοποιημένων ανά τύπο κλειδιού. Η επιλογή αλγορίθμου επηρεάζει την απόδοση, τη συμβατότητα και το επίπεδο ασφαλείας.

AES (Advanced Encryption Standard) — συμμετρική κρυπτογράφηση για προστασία δεδομένων στη συσκευή. Συνιστώμενη λειτουργία: AES/GCM/NoPadding (256 bit). Το GCM παρέχει πιστοποιημένη κρυπτογράφηση (AEAD) — έλεγχο ακεραιότητας κρυπτογραφημένων δεδομένων. Μέγεθος IV (Initialization Vector): 12 byte για GCM. Μην χρησιμοποιείτε AES/ECB — δεν παρέχει επαρκή προστασία.

RSA (Rivest–Shamir–Adleman) — ασύμμετρη κρυπτογράφηση για προστασία κλειδιών συνόδου και ψηφιακή υπογραφή. Συνιστώμενο μέγεθος: 2048 ή 4096 bit. Λειτουργίες: RSA/ECB/PKCS1Padding (κρυπτογράφηση) και RSA/ECB/PKCS1Sign (υπογραφή). Το RSA 1024 θεωρείται παρωχημένο και δεν συνιστάται για νέες εφαρμογές (NIST SP 800-131A Rev. 2).

EC (Elliptic Curve) — ασύμμετρη κρυπτογραφία ελλειπτικών καμπυλών για υπογραφή και ανταλλαγή κλειδιών. Υποστηριζόμενες καμπύλες: secp256r1 (P-256, υποχρεωτική), secp384r1 (P-384) και secp521r1 (P-521). Η EC παρέχει συγκρίσιμη ασφάλεια με την RSA με σημαντικά μικρότερο μέγεθος κλειδιού. Η P-256 συνιστάται για τα περισσότερα σενάρια: υποστηρίζεται από όλες τις συσκευές και παρέχει επίπεδο ασφαλείας 128 bit.

HMAC (Hash-based Message Authentication Code) — συμμετρική πιστοποίηση μηνυμάτων. Υποστηριζόμενες συναρτήσεις κατακερματισμού: SHA-256, SHA-384, SHA-512. Το HMAC χρησιμοποιείται για έλεγχο ακεραιότητας και αυθεντικότητας δεδομένων, π.χ. για επαλήθευση αιτημάτων webhook ή έλεγχο ακεραιότητας διαμόρφωσης.

Όλοι οι αλγόριθμοι μπορούν να συνδεθούν με βιομετρική ταυτοποίηση μέσω KeyGenParameterSpec.Builder.setUserAuthenticationRequired(true). Στο Android 11+ είναι διαθέσιμη η σημαία setUserAuthenticationParameters() με καθορισμό χρονικού ορίου (σε δευτερόλεπτα), εντός του οποίου το κλειδί είναι διαθέσιμο μετά από βιομετρική ταυτοποίηση, χωρίς νέο αίτημα.

Παραδείγματα κώδικα: δημιουργία και χρήση κλειδιών

Ας δούμε πρακτικά παραδείγματα εργασίας με το Android Keystore σε Kotlin: δημιουργία κλειδιού AES, κρυπτογράφηση δεδομένων και δημιουργία ασύμμετρου ζεύγους για υπογραφή.

Δημιουργία κλειδιού AES στο Keystore

Το παράδειγμα δημιουργεί ένα 256-bit AES/GCM κλειδί με σύνδεση στη βιομετρική ταυτοποίηση. Το κλειδί δεν είναι διαθέσιμο για εξαγωγή μέσω getEncoded().

kotlin
import android.security.keystore.KeyGenParameterSpec
import android.security.keystore.KeyProperties
import java.security.KeyStore

private val keyStore = KeyStore.getInstance("AndroidKeyStore").apply { load(null) }

fun generateAesKey(alias: String) {
    val spec = KeyGenParameterSpec.Builder(
        alias,
        KeyProperties.PURPOSE_ENCRYPT or
        KeyProperties.PURPOSE_DECRYPT
    )
    .setKeySize(256)
    .setBlockModes(KeyProperties.KEY_BLOCK_MODE_GCM)
    .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
    .setUserAuthenticationRequired(true)
    .setInvalidatedByBiometricEnrollment(true)
    .build()

    val generator = KeyGenerator.getInstance(
        KeyProperties.KEY_ALGORITHM_AES,
        "AndroidKeyStore"
    )
    generator.init(spec)
    generator.generateKey()
}

Κρυπτογράφηση δεδομένων AES/GCM

Το παράδειγμα κρυπτογραφεί δεδομένα χρησιμοποιώντας κλειδί από το Android Keystore. Το Cipher λαμβάνει το κλειδί με ψευδώνυμο, αρχικοποιεί κρυπτογράφηση AES/GCM και επιστρέφει κρυπτογραφημένα δεδομένα μαζί με το IV.

kotlin
fun encryptData(alias: String, plaintext: ByteArray): ByteArray {
    val cipher = Cipher.getInstance("AES/GCM/NoPadding")
    val secretKey = keyStore.getKey(alias, null) as SecretKey
    cipher.init(Cipher.ENCRYPT_MODE, secretKey)

    val iv = cipher.getIV()
    val encrypted = cipher.doFinal(plaintext)

    // IV + κρυπτογραφημένα δεδομένα
    return iv + encrypted
}

fun decryptData(alias: String, ciphertextWithIv: ByteArray): ByteArray {
    val iv = ciphertextWithIv.copyOfRange(0, 12)
    val encrypted = ciphertextWithIv.copyOfRange(12, ciphertextWithIv.size)

    val cipher = Cipher.getInstance("AES/GCM/NoPadding")
    val secretKey = keyStore.getKey(alias, null) as SecretKey
    val spec = GCMParameterSpec(128, iv)
    cipher.init(Cipher.DECRYPT_MODE, secretKey, spec)

    return cipher.doFinal(encrypted)
}

Δημιουργία ζεύγους RSA για υπογραφή

Το παράδειγμα δημιουργεί ένα ζεύγος κλειδιών RSA-2048 στο Keystore με σύνδεση στο StrongBox. Το ιδιωτικό κλειδί χρησιμοποιείται για υπογραφή, το δημόσιο — μπορεί να εξαχθεί μέσω getEncoded().

kotlin
fun generateRsaKeyPair(alias: String) {
    val spec = KeyGenParameterSpec.Builder(
        alias,
        KeyProperties.PURPOSE_SIGN or
        KeyProperties.PURPOSE_VERIFY
    )
    .setKeySize(2048)
    .setSignaturePaddings(
        KeyProperties.SIGNATURE_PADDING_RSA_PKCS1
    )
    .setDigests(KeyProperties.DIGEST_SHA256)
    .setIsStrongBoxBacked(true)
    .build()

    val pair = KeyPairGenerator.getInstance(
        KeyProperties.KEY_ALGORITHM_RSA,
        "AndroidKeyStore"
    ).apply { init(spec) }
     .generateKeyPair()

    // Το δημόσιο κλειδί μπορεί να εξαχθεί
    val publicKey = pair.public // X509EncodedKeySpec
}

Βέλτιστες πρακτικές εργασίας με το Android Keystore

Η αποτελεσματική χρήση του Android Keystore απαιτεί τήρηση κανόνων που εξασφαλίζουν μέγιστη προστασία διατηρώντας την απόδοση.

Χρησιμοποιήστε το KeyGenParameterSpec με τις ελάχιστα απαραίτητες παραμέτρους: καθορίστε μόνο τα purpose, block modes και paddings που πραγματικά χρησιμοποιούνται. Οι περιττές παράμετροι (π.χ. PURPOSE_ENCRYPT για κλειδί που χρησιμοποιείται μόνο για υπογραφή) δημιουργούν επιπλέον φορείς επίθεσης. Το Android συνιστά να καθορίζετε ρητά το digest για υπογραφή — SHA256 είναι το ελάχιστο αποδεκτό επίπεδο (SHA1 έχει καταργηθεί).

Συνδέστε τα κλειδιά με βιομετρικά στοιχεία για κρίσιμες λειτουργίες: setUserAuthenticationRequired(true) εγγυάται ότι το κλειδί μπορεί να χρησιμοποιηθεί μόνο μετά από βιομετρική ταυτοποίηση. Στο Android 11+ χρησιμοποιήστε setUserAuthenticationParameters() με χρονικό όριο (συνιστάται 30–60 δευτερόλεπτα), ώστε να μην ζητείται βιομετρικό στοιχείο για κάθε λειτουργία εντός της ίδιας συνόδου. Το setInvalidatedByBiometricEnrollment(true) διαγράφει αυτόματα το κλειδί κατά την προσθήκη νέου δακτυλικού αποτυπώματος ή προσώπου — αυτό αποτρέπει την πρόσβαση μέσω παλαιών βιομετρικών δεδομένων.

Ελέγχετε το επίπεδο ασφαλείας κατά την αρχικοποίηση: χρησιμοποιήστε KeyStore.getKeyCharacteristics() για τον προσδιορισμό SECURITY_LEVEL. Εάν η συσκευή υποστηρίζει μόνο Keystore λογισμικού (SECURITY_LEVEL_SOFTWARE), λάβετε απόφαση: είτε να απενεργοποιήσετε τη λειτουργία είτε να χρησιμοποιήσετε επιπλέον κρυπτογράφηση (π.χ. περιτύλιγμα κλειδιού μέσω κωδικού χρήστη). Μην βασίζεστε στο StrongBox εάν δεν είναι εγγυημένο — πάντα να ορίζετε τη σημαία setIsStrongBoxBacked(true) και να ελέγχετε το αποτέλεσμα μέσω getKeyCharacteristics.

Ανανεώνετε τα κλειδιά σύμφωνα με χρονοδιάγραμμα: τα κρυπτογραφικά κλειδιά έχουν συνιστώμενη διάρκεια ζωής. Το NIST SP 800-57 συνιστά αλλαγή κλειδιών AES κάθε 1–2 χρόνια, ζευγών RSA/EC — κάθε 2–3 χρόνια. Υλοποιήστε μηχανισμό εναλλαγής κλειδιών: κατά την εκκίνηση της εφαρμογής ελέγχετε την ημερομηνία δημιουργίας κλειδιού (KeyGenParameterSpec.Builder.setKeyValidityStart/End) και δημιουργείτε νέο κλειδί κατά τη λήξη. Τα παλαιά δεδομένα, κρυπτογραφημένα με το παλαιό κλειδί, πρέπει να αποκρυπτογραφηθούν και να επανακρυπτογραφηθούν με το νέο.

Μην χρησιμοποιείτε το Keystore για μεγάλα δεδομένα: το Keystore προορίζεται για αποθήκευση κλειδιών (μερικές εκατοντάδες byte), όχι για κρυπτογράφηση μεγάλων αρχείων. Για κρυπτογράφηση δεδομένων χρησιμοποιήστε το σχήμα: δημιουργήστε ένα τυχαίο κλειδί AES (DEK — Data Encryption Key), κρυπτογραφήστε τα δεδομένα με αυτό το κλειδί και στη συνέχεια κρυπτογραφήστε το DEK με κλειδί Keystore (KEK — Key Encryption Key). Το Android EncryptedSharedPreferences χρησιμοποιεί ακριβώς αυτό το σχήμα: master κλειδί στο Keystore, δεδομένα — AES-256 GCM.

Συχνές ερωτήσεις

Μπορώ να λάβω το ιδιωτικό κλειδί από το Android Keystore;

Όχι, το Android Keystore έχει σχεδιαστεί έτσι ώστε το ιδιωτικό κλειδί να μην εγκαταλείπει ποτέ το TEE ή το StrongBox. Η μέθοδος getEncoded() επιστρέφει null για κλειδιά που δημιουργήθηκαν στο Keystore. Το κλειδί μπορεί να χρησιμοποιηθεί μόνο μέσω Cipher, Signature ή Mac API — το ακατέργαστο υλικό δεν είναι διαθέσιμο.

Ποια είναι η διαφορά μεταξύ TEE και StrongBox;

TEE (TrustZone) — εικονική απομόνωση στον ίδιο επεξεργαστή, χρησιμοποιεί διαχωρισμό χρόνου. StrongBox — ξεχωριστό τσιπ με δική του CPU και μνήμη. Το StrongBox είναι ασφαλέστερο (Common Criteria EAL 4+), αλλά πιο αργό και υποστηρίζει λιγότερους αλγόριθμους. Το TEE είναι κατάλληλο για συχνές λειτουργίες, το StrongBox — για κρίσιμα κλειδιά.

Πώς μπορώ να ελέγξω εάν η συσκευή υποστηρίζει StrongBox;

Χρησιμοποιήστε KeyStore.getKeyCharacteristics() μετά τη δημιουργία κλειδιού με τη σημαία setIsStrongBoxBacked(true). Το χαρακτηριστικό SECURITY_LEVEL_STRONGBOX επιβεβαιώνει την υποστήριξη υλικού. Εάν η συσκευή δεν υποστηρίζει StrongBox, το Keystore μεταβαίνει στο TEE χωρίς σφάλμα — πρέπει να ελέγχετε ρητά το επίπεδο ασφαλείας.

Τι συμβαίνει με τα κλειδιά κατά την απεγκατάσταση της εφαρμογής;

Τα κλειδιά στο Keystore διαγράφονται αυτόματα κατά την απεγκατάσταση της εφαρμογής από τη συσκευή. Στο Android 10+ τα κλειδιά μπορεί να διατηρηθούν εάν η εφαρμογή έχει τη σημαία allowBackup=true στο manifest, αλλά θα είναι μη διαθέσιμα μετά από επανεγκατάσταση. Συνιστάται η εκ νέου δημιουργία κλειδιών κατά την καθαρή εγκατάσταση.

Μπορώ να χρησιμοποιήσω ένα κλειδί σε πολλές συσκευές;

Όχι, το Android Keystore είναι συνδεδεμένο με το υλικό συγκεκριμένης συσκευής. Ένα κλειδί που δημιουργήθηκε στο TEE μιας συσκευής δεν μπορεί να μεταφερθεί σε άλλη. Για διαπλατφορμική κρυπτογράφηση χρησιμοποιήστε το σχήμα: το Keystore προστατεύει το κλειδί στη συσκευή και τα κλειδιά συνόδου μεταδίδονται μέσω ασφαλούς API με χρήση ασύμμετρης κρυπτογραφίας.

Σύνοψη

  • Android Keystore — συστημικός πάροχος για προστασία κρυπτογραφικών κλειδιών σε απομονωμένο περιβάλλον υλικού (TEE ή StrongBox).
  • TEE (TrustZone) — εικονική απομόνωση στον ίδιο επεξεργαστή, υποχρεωτικό για Android 9+ σε συσκευές με TrustZone.
  • StrongBox — αποκλειστικό τσιπ ασφαλείας με πιστοποίηση Common Criteria EAL 4+, ενεργοποιείται μέσω setIsStrongBoxBacked(true).
  • KeyGenParameterSpec — η κεντρική κλάση για ρύθμιση παραμέτρων κλειδιού: αλγόριθμος, μέγεθος, βιομετρική σύνδεση και εναλλαγή.
  • Τα κλειδιά δεν μπορούν να εξαχθούν — το ιδιωτικό υλικό δεν είναι διαθέσιμο μέσω getEncoded(), οι λειτουργίες εκτελούνται εντός TEE/StrongBox.
  • Συνιστώμενοι αλγόριθμοι — AES/GCM/NoPadding (256 bit) για κρυπτογράφηση, EC P-256 για υπογραφή, RSA 2048 για ασύμμετρα σενάρια.
  • Σχήμα KEK/DEK — το Keystore αποθηκεύει master κλειδί για προστασία κλειδιών κρυπτογράφησης δεδομένων, εξασφαλίζοντας απόδοση και ασφάλεια.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης