-
@freemindtronic Non, AES n’est pas prouvé. Le principe d’AES oui, mais toute sa sécu repose sur des concepts qui sont DIFFICILES à implémenter en pratique…
-
@freemindtronic C’est comme OTP. Oui, en théorie c’est intrinsèquement fiable et prouvé matrématiquement comme étant inviolable. Mais en pratique, on n’a jamais trouvé une seule implémentation réelle (et utilisable) de ce protocole.
-
@freemindtronic Si ton générateur de clef ou d’IV n’est *pas* un CSPRNG, alors ton implémentation d’AES n’est *pas* fiable. Si tu réutilises la clef ou l’IV, tu n’es *pas* fiable. Si tu n’as pas résolu le gros problème de l’échange de clef, tu n’es *pas* fiable.
-
@freemindtronic Et c’est à toi d’alors apporter les études scientifiques prouvant que ton implémentation l’est dans des conditions bien précises compatibles avec ton usage.
-
@freemindtronic Par exemple si ton modèle de menace défini clairement « je m’en tape du gus avec une antenne amplifiée à 15m du téléphone », alors oui, tu peux diminuer l’impact de la non fiabilité de ton échange de clef. Mais ça doit apparaître EXPLICITEMENT sur ton modèle de menace.
-
@freemindtronic Ça demande aussi de montrer que ton implémentation tient la route, même en ne faisant qu’utiliser des sous-systèmes fiables. Au pif, même en supposant que SecretKeySpec / Mac / Base64 est correct, tu as ici une timing attack et ce code n’est a priori pas crypto-safe.
-
@freemindtronic Il doit en effet y avoir une différence de timing non négligeable entre la branche nominale et l’exception. Il est donc possible qu’une timing attack soit présente, un attaquant disposant d’un oracle pour discriminer les moments où il est « proche » de la solution des autres.
-
@freemindtronic Ce code n’est pas non plus crypto à cause de l’affichage de la stack d’erreur. On ne trace **jamais** les exceptions crypto sans explicitement générer la chaîne de sortie. On s’assure ainsi qu’on ne sortira pas la clef privée ou une donnée sensible quelque part…
-
@freemindtronic Ce code montre clairement que personne ne maîtrise la moindre crypto chez vous. C’est un tas d’appels à plein de primitives cryptos en espérant avoir un truc fiable juste en imbriquant des trucs fiables. Hint : la crypto, ça ne fonctionne pas comme ça.
-
@freemindtronic Mais sérieusement ‽‽‽ Des clefs crypto dans une String Java ‽‽‽ Êtes-vous au courant de comment fonctionne les pools de String en Java ‽‽‽ 😱
-
@freemindtronic C’est un peu la BASE quand on fait de la crypto quoi !!! 😨 geeksforgeeks.org/use-char-array-string-storing-passwords-java/
aeris22’s Twitter Archive—№ 75,614

