6 votes

Prise en charge de TLS par Android

J'ai découvert que TLS1.1 et TLS1.2 sont pris en charge à partir du niveau 16 de l'API et activés par défaut à partir du niveau 20 de l'API. Cela correspond à Android 4.1 (supporté) et Android 4.4W (wearable) ou Android 5.0 (activé par défaut).

Du point de vue du serveur, cela signifie que vous ne prendrez en charge que les clients utilisant la version 4.4W ou supérieure, puisque vous ne pouvez pas compter sur les clients pour activer la prise en charge de TLS 1.1 et TLS 1.2.

Maintenant, la vraie question se pose :

Avez-vous besoin de vous soucier de la version Android ?

Hu, qu'est-ce que tu veux dire ? Eh bien, il faut regarder la version d'Android OU la version du navigateur utilisé. Par exemple, Chrome sur un ordinateur de bureau a les bibliothèques OpenSSL compilées en lui (si je ne me trompe pas). Ainsi, une nouvelle version de Chrome sur une ancienne version d'Android ne pourrait-elle pas prendre en charge TLS1.1 et TLS1.2 ?

Il en va de même pour les autres navigateurs. Je sais que c'est un StackExchange Android, mais quelqu'un sait-il ce qu'il en est pour iOS ? Le navigateur utilisera-t-il les bibliothèques système pour SSL ou utilisera-t-il les siennes ? Dois-je regarder le navigateur ou le système d'exploitation pour la prise en charge de TLS ?

Cordialement,

Roel

7voto

mattm Points 4120

Si vous ne développez pas Android, vous n'avez pas à vous soucier de la version Android.

Toute application sérieuse soucieuse de la sécurité, comme Chrome sur Android, utilise TLS 1.2. Vous pouvez le vérifier par vous-même en vous rendant sur un site Web sécurisé (assurez-vous qu'il prend en charge TLS 1.2 !) et en inspectant le certificat et le protocole utilisés sur le client. J'ai vérifié cela sur Chrome sur un appareil Android 4.4, et il utilise TLS 1.2.

Une politique de sécurité devrait essentiellement se baser sur la version de TLS, sans prêter attention au type de client qui l'exécute. Il n'est pas utile de déterminer la version du système d'exploitation Android, car ce n'est pas la version du système d'exploitation Android qui détermine finalement la sécurité utilisée.

Soyons pédants dans l'énumération des possibilités.

  • Android API 20+ : tous les navigateurs et applications devraient fonctionner avec TLS 1.2
  • API Android 16-19 : Certains navigateurs et applications fonctionneront avec TLS 1.2.
  • API Android 15- : Je pense que nous n'en discutons pas car aucune version ne supporte TLS 1.2.

Voici les choix de serveurs dont nous discutons, je crois :

  1. Vous n'autorisez que TLS 1.2 et ne vérifiez pas la version d'Android. Tous les clients Android API 20+, et les clients Android API 16-19 utilisant des applications TLS 1.2 devraient fonctionner.
  2. Vous autorisez TLS 1.2, 1.1, 1.0 et ne vérifiez pas la version d'Android. Tous les clients Android sont censés fonctionner. Le système est moins sécurisé.
  3. Vous n'autorisez que TLS 1.2 et vérifiez la version Android. Seuls les clients Android API 20+ peuvent fonctionner car vous excluez les API 16-19. Cela représente moins de clients pris en charge que dans l'option 1, sans augmentation de la sécurité TLS. Cette option n'a donc pas de sens.
  4. Vous autorisez TLS 1.2, 1.1, 1.0 et vérifiez la version d'Android. Seuls les clients Android API 20+ sont censés fonctionner car vous excluez les API 16-19. Cette option n'a pas de sens car vous rendez le système à la fois moins utilisable et moins sûr que les autres options. Moins de clients fonctionneront qu'avec l'option 1, et ces clients seront moins sécurisés.

En vérifiant la version d'Android, votre système prend en charge moins de clients, sans pour autant améliorer la sécurité. Par conséquent, ne prenez pas la peine de vérifier la version Android.

Le compromis de base en matière de sécurité consiste toujours à comparer la facilité d'utilisation d'un système et son niveau de sécurité. Cela s'applique aux mesures de sécurité physique, aux suites de chiffrement, aux versions de TLS, etc. TLS 1.1 et 1.0 ne sont pas aussi sûrs que TLS 1.2. Vous devez répondre aux questions suivantes par vous-même :

  1. Les vulnérabilités présentes dans TLS 1.1 et 1.0 les rendent-elles inadaptées à votre système ?
  2. L'utilisation de TLS 1.2 seulement vaudrait-elle la peine d'empêcher certaines personnes d'utiliser votre système ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X