Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

Activer Adiantum

Adiantum est une méthode de cryptage conçue pour les appareils exécutant Android 9 et supérieur dont les processeurs ne disposent pas d'instructions AES . Si vous expédiez un périphérique ARM avec les extensions de cryptographie ARMv8 ou un périphérique x86 avec AES-NI, vous ne devez pas utiliser Adiantum. AES est plus rapide sur ces plates-formes.

Pour les appareils dépourvus de ces instructions de processeur AES, Adiantum fournit un cryptage sur votre appareil avec très peu de surcharge de performances. Pour les chiffres de référence, consultez l' article d'Adiantum . Pour connaître la source d'analyse comparative à exécuter sur votre matériel, consultez la source Adiantum sur GitHub .

Pour activer Adiantum sur un appareil exécutant Android 9 ou supérieur, vous devez apporter des modifications au noyau et à l'espace utilisateur.

Modifications du noyau

Adiantum est pris en charge par les noyaux communs Android, version 4.9 et supérieure.

Si le noyau de votre appareil ne prend pas déjà en charge Adiantum, sélectionnez les modifications répertoriées ci-dessous. Si vous rencontrez des problèmes lors du fscrypt: , les périphériques utilisant le chiffrement complet du disque (FDE) peuvent exclure le fscrypt: patch.

Version du noyau Correctifs Crypto et fscrypt patch dm-crypt
4.19 4.19 noyau patch dm-crypt
4.14 4.14 noyau patch dm-crypt
4,9 4.9 noyau patch dm-crypt

Activez Adiantum dans votre noyau

Après avoir intégré les modifications du noyau, changez la configuration de votre noyau en ajoutant les lignes:

CONFIG_CRYPTO_ADIANTUM=y
CONFIG_DM_CRYPT=y

Si votre appareil utilise le chiffrement basé sur les fichiers (FBE) et une version de noyau 5.1 ou supérieure, ajoutez également:

CONFIG_FS_ENCRYPTION=y

Si votre appareil utilise le chiffrement basé sur les fichiers (FBE) et une version de noyau 5.0 ou inférieure, ajoutez également:

CONFIG_F2FS_FS_ENCRYPTION=y

Pour garantir de bonnes performances sur un noyau ARM 32 bits, activez les instructions NEON pour le noyau:

CONFIG_CRYPTO_AES_ARM=y
CONFIG_CRYPTO_CHACHA20_NEON=y
CONFIG_CRYPTO_NHPOLY1305_NEON=y
CONFIG_KERNEL_MODE_NEON=y

Modifications de l'espace utilisateur

Pour les appareils exécutant Android 10 ou version ultérieure, les modifications de l'espace utilisateur d'Adiantum sont déjà présentes.

Pour les appareils exécutant Android 9, choisissez les modifications suivantes:

Activez Adiantum sur votre appareil

Appareils avec cryptage basé sur des fichiers

Pour activer le chiffrement basé sur des fichiers Adiantum sur le stockage interne de l' appareil, réglez le approprié fileencryption option pour la userdata partition du dispositif fstab :

fileencryption=adiantum

Ensuite, si votre appareil prend en charge le stockage adoptable , activez également le cryptage Adiantum sur le stockage adoptable. Pour ce faire, définissez les propriétés suivantes dans PRODUCT_PROPERTY_OVERRIDES :

Pour Android 11 et supérieur:

ro.crypto.volume.options=adiantum
ro.crypto.volume.metadata.encryption=adiantum

Pour Android 9 et 10:

ro.crypto.volume.contents_mode=adiantum
ro.crypto.volume.filenames_mode=adiantum
ro.crypto.fde_algorithm=adiantum
ro.crypto.fde_sector_size=4096

Pour vérifier que votre implémentation a fonctionné, prenez un rapport de bogue ou exécutez:

adb root
adb shell dmesg

Si Adiantum est activé correctement, vous devriez voir ceci dans le journal du noyau:

fscrypt: Adiantum using implementation "adiantum(xchacha12-neon,aes-arm,nhpoly1305-neon)"

À partir d'Android 11, il est également possible d'utiliser Adiantum pour le cryptage des métadonnées sur le stockage interne. Consultez la documentation sur le chiffrement des métadonnées pour plus de détails.

Appareils avec chiffrement complet du disque

Pour activer Adiantum et améliorer ses performances, définissez ces propriétés dans PRODUCT_PROPERTY_OVERRIDES :

ro.crypto.fde_algorithm=adiantum
ro.crypto.fde_sector_size=4096

La définition de fde_sector_size sur 4096 améliore les performances, mais n'est pas obligatoire pour qu'Adiantum fonctionne. Pour utiliser ce paramètre, la partition de données utilisateur doit commencer à un décalage aligné sur 4 096 octets sur le disque.

Dans le fstab , pour le jeu de données utilisateur:

forceencrypt

Pour vérifier que votre implémentation a fonctionné, prenez un rapport de bogue ou exécutez:

adb root
adb shell dmesg

Si Adiantum est activé correctement, vous devriez voir ceci dans le journal du noyau:

device-mapper: crypt: adiantum(xchacha12,aes) using implementation "adiantum(xchacha12-neon,aes-arm,nhpoly1305-neon)"