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