Αποκατάσταση για χρήση λειτουργίας μη ασφαλούς κρυπτογράφησης

Αυτές οι πληροφορίες προορίζονται για προγραμματιστές με εφαρμογές που περιέχουν κρυπτογράφηση που χρησιμοποιεί τη λιγότερο ασφαλή λειτουργία AES/ECB. Η κρυπτογράφηση περιεχομένου με χρήση αυτής της ασθενούς λειτουργίας μπορεί να οδηγήσει σε κείμενα με αδύναμη κρυπτογράφηση και ενδεχομένως να θέσει σε κίνδυνο τα δεδομένα των χρηστών. Μπορείτε να βρείτε τις θέσεις αυτών των λειτουργιών με τη λιγότερο ασφαλή κρυπτογράφηση που υπάρχουν στην εφαρμογή σας στην ειδοποίηση του Play Console για την εφαρμογή σας. Αν μια θέση τελειώνει με τη φράση "(σε κώδικα που φορτώθηκε με δυναμικό τρόπο)" τότε η θέση βρίσκεται στον κώδικα που φορτώθηκε δυναμικά από την εφαρμογή ή τις βιβλιοθήκες που χρησιμοποιεί. Οι εφαρμογές χρησιμοποιούν συνήθως κώδικα που φορτώνεται δυναμικά μέσω της παράδοσης λειτουργιών κατά απαίτηση, αν και υπάρχουν και άλλες μη προτεινόμενες τεχνικές (ορισμένες από αυτές τις μη προτεινόμενες τεχνικές παραβαίνουν την πολιτική του Google Play και δεν πρέπει να χρησιμοποιούνται). Επιπλέον, τα εργαλεία δημιουργίας πακέτων μπορούν να μετατρέψουν τον κώδικα της εφαρμογής σε κώδικα που φορτώνεται δυναμικά.

Πώς μπορείτε να διορθώσετε τις ειδοποιήσεις Μη ασφαλής λειτουργία κρυπτογράφησης

Ελέγξτε την εφαρμογή σας για την τοποθεσία όπου έχει δημιουργηθεί μια παρουσία Cipher. Οι παρακάτω λειτουργίες διαμόρφωσης θα υπαινίσονται τη χρήση μη ασφαλούς AES/ECB: 

  • "AES"
  • "AES/ECB/NoPadding"
  • "AES/ECB/PKCS5Padding"
  • "AES/ECB/ISO10126Padding"

Για παράδειγμα, ο παρακάτω κώδικας χρησιμοποιεί τη λειτουργία AES/ECB από προεπιλογή, εξαιτίας της παροχής του AES: 

// Η ειδοποίηση κονσόλας αναφέρεται σε αυτήν τη μέθοδο
 public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
    Cipher cipher = Cipher.getInstance(“AES”); 
// Χρησιμοποιεί τη λειτουργία AES/ECB από προεπιλογή
    SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), “AES”);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);

    return cipher.doFinal(plainText);

 }

Η Google συνιστά στους προγραμματιστές τη χρήση “AES/GCM/NoPadding” αντί για την προαναφερθείσα μη ασφαλή λειτουργία.

Επόμενα βήματα

  1. Ενημερώστε την εφαρμογή σας ακολουθώντας τα βήματα που επισημαίνονται παραπάνω.
  2. Συνδεθείτε στο Play Console και υποβάλετε μια ενημερωμένη έκδοση της εφαρμογής σας.

Κατά τη διάρκεια αυτής της περιόδου η κατάσταση της νέας σας εφαρμογής ή ενημέρωσης εφαρμογής θα είναι εκκρεμεί δημοσίευση μέχρι να ελεγχθεί το αίτημά σας. Αν η εφαρμογή δεν έχει ενημερωθεί σωστά, θα εξακολουθείτε να βλέπετε την ειδοποίηση.

Είμαστε εδώ, για να σας βοηθήσουμε

Εάν έχετε τεχνικές ερωτήσεις σχετικά με την ευπάθεια, μπορείτε να τις δημοσιεύσετε στο Stack Overflow και να χρησιμοποιήσετε την ετικέτα android-security.


 
false
Κύριο μενού
7340121391364956468
true
Αναζήτηση στο Κέντρο Βοήθειας
true
true
true
true
true
5016068
false
false
false