Résumé.
Cet exposé s'intéresse aux attaques physiques qui perturbent un programme C embarqué sur une carte à puce. Ces attaques peuvent réussir à impacter les opcodes ou les opérandes et provoquer un saut arbitraire pendant l'exécution du code. Même s'il est très difficile de contrôler de telles mutations, si un saut réussit à éviter un code fonctionnel très important (une authentification, un calcul cryptographique), la conséquence peut être dramatique pour la sécurité de l'application toute entière.
Dans cet exposé nous présentons une méthode pour caractériser les attaques par saut dangereuses et sécuriser automatiquement le code source d'une application. Les contremesures proposées cherchent à détecter tous les sauts provoqués par une faute qui sauteraient au moins 2 lignes du code source de l'application. Les contremesures proposées ne nécessitent pas de modification du système d'exploitation de la carte car elles sont embarquées directement dans le code source l'application elle-même. Nous avons vérifié formellement que ce mécanisme d'auto défense traite bien toute les attaques sautant au moins 2 lignes de code fonctionnel. Nous montrons dans les résultats expérimentaux que ces contremesures réduisent aussi les attaques sautant une seule ligne de code, sautant arbitrairement un nombre d'instructions assembleur quelconque, ou sautant d'une fonction à une autre.Résumé.
La sécurité des couplages en petite caractéristique repose sur la difficulté du calcul du logarithme discret dans les corps finis de petite caractéristique. L'algorithme le plus efficace jusque récemment était le crible de corps de fonctions (FFS), avec ses variantes. Ce dernier a une complexité sous-exponentielle, très proche de celle de la factorisation. Les records récents utilisant FFS ont montré que les couplages en petite caractéristique offrent une sécurité plus faible que celle estimée initialement. Mais ce sont les avancées de l'année 2013 qui ont amené une perte de sécurité très importante, rendant lesdites crypto-systèmes inutilisables. Dans cet exposé, on s'inspire des avancés récentes de Joux et Göloglu et al., mais on n'utilise pas d'outils avancés comme les corps de fonctions et les bases de Gröbner. L'algorithme consiste à exprimer le logarithme discret demandé comme une somme de logarithmes discrets des éléments plus petits, pour une notion de taille qu'on va préciser. Ainsi on met en place un arbre dont les feuilles sont des éléments pour lesquels on connaît le logarithme discret. Étant donné que le temps passé à chaque nœud est polynomial et que le nombre de nœuds est quasi-polynomial, on obtient un algorithme quasi-polynomial.
Résumé.
A huge amount of digital items such as pictures, songs and movies is downloaded on a daily basis, both from centralized delivery platforms as well as from P2P networks. Some of these items have a commercial value (e.g., on VoD platforms, DVDs or Blu-Rays), while others have rather a personal value (e.g., on social networks with user-generated content). However, for all of them copyrights hold and should be respected. For instance, if someone legally gets such an item, he may not be authorized to release it by himself, and in the case he exceeds his rights, he should be identifiable.
One possible solution to address this issue is to personalize the delivered content with the help of active fingerprinting techniques. This process corresponds to the embedding of a fingerprint (i.e., a sequence of different symbols, usually bits) in the item each time it is sold or delivered. Thus, each copy of the original item becomes personalized with information pointing to a particular user or buyer. Fingerprinting schemes are encapsulated in fingerprinting protocols, which specify the interactions between the two parties that we thereafter refer to as “the merchant” (who delivers the content) and “the buyer” (who receives the content). Such fingerprinting protocols have been designed, to prevent both parties from cheating. In such a context, one important privacy issue is that most of fingerprinting protocols gather personal information from the buyer, such as his name or other information that uniquely identifies him. This information enables the merchant to establish a link between the identity of the buyer and the fingerprint embedded in the delivered item, but also harms the privacy of the buyer at the same time. To solve this issue, fingerprinting protocols have been proposed that allow a user to buy/get an item in an anonymous and sometimes private manner. The main challenge is to provide anonymity and privacy for the buyer while still being able to lift his anonymity in the situation in which an illegal delivery is noticed.
We extend and improve the fingerprinting protocol due to Charpentier, Cox, Fontaine and Furon by integrating important privacy features. More precisely, we propose the first privacy-preserving asymmetric fingerprinting protocol based on Tardos anti-collusion codes. In a nutshell, our protocol is based on several cryptographic primitives such as group signatures and oblivious transfer to provide a high level of privacy while the use of Tardos anti-collusion code ensures the high performance of the traitor-tracing property.
Résumé.
Since their introduction in 1985, by Goldwasser, Micali and Rackoff, followed by Feige, Fiat and Shamir, zero-knowledge proofs have played a significant role in modern cryptography: they allow a party to convince another party of the validity of a statement (proof of membership) or of its knowledge of a secret (proof of knowledge). Cryptographers frequently use them as building blocks in complex protocols since they offer quite useful soundness features, which exclude cheating players. In most of modern telecommunication services, the execution of these protocols involves a prover on a portable device, with limited capacities, and namely distinct trusted part and more powerful part. The former thus has to delegate some computations to the latter. However, since the latter is not fully trusted, it should not learn any secret information. This work focuses on proofs of knowledge of discrete logarithm relations sets (DLRS), and the delegation of some prover's computations, without leaking any critical information to the delegatee. We will achieve various efficient improvements ensuring perfect zero-knowledge against the verifier and partial zero-knowledge, but still reasonable in many contexts, against the delegatee.
Résumé.
Le schéma de McEliece est un schéma de chiffrement basé sur les codes correcteurs d'erreurs dont la sécurité repose sur la difficulté à décoder un code aléatoire. Parmi les différentes familles de codes algébriques proposées pour ce schéma, les codes de Goppa classiques sont les seuls à résister à toutes les attaques algébriques, et ce, depuis près de 35 ans. Dans cet exposé, je commencerai par décrire le schéma de McEliece puis rappellerai les définitions ainsi que quelques propriétés des codes de Goppa classiques. Dans une second temps, je présenterai une attaque d'un genre nouveau, dite "par filtration" qui permet de recouvrer la structure d'un code de Goppa construit à partir d'une extension de corps quadratique. Cette attaque consiste à utiliser des propriétés multiplicatives du code pour en calculer une filtration (i.e. une famille de sous-codes emboités) dont chaque élément est un code de Goppa classique.
Dans un second temps, on utilise des propriétés de cette filtration afin de recouvrer la structure de ce code. Cette attaque a été implémentée en Magma et permet de casser en moins d'une heure des clés proposées par Bernstein, Lange et Peters dont la sécurité était estimée supérieure à 128 bits (Wild McEliece, SAC 2010). Depuis l'introduction du schéma de McEliece, c'est la première attaque sur des codes de Goppa classiques.
Résumé.
Avec la prolifération des réseaux informatiques à grande échelle, et le nombre croissant des applications faisant usage de ces réseaux (e-commerce par exemple), et la préoccupation croissante pour les problèmes de vol d’identité. La conception d’un système d’authentification personnelle ‘robuste’ devient plus en plus très importante.
Les systèmes d’authentification personnelle basés sur la biométrie ont prouvé une priorité par rapport aux systèmes traditionnels (utilisent les mots de passe et les cartes ID...). Mais Malgré cette priorité, ces systèmes biométrique sont vulnérables à un certain nombre d’attaques.
Une attaque contre les « modèles biométriques » stockés est une préoccupation majeure en raison de la liaison forte entre les modèles d’un utilisateur et son identité, et aussi en raison de la nature ‘irrévocable’ des modèles biométriques (si un modèle est volé, il aura des menaces graves à la sécurité et à la vie privée, car contrairement aux mots de passe il n’est pas possible pour un utilisateur légitime de révoquer ses modèles biométriques et les remplacer par un autre ensemble d’identificateurs).
Un certain nombre de techniques de protection des modèles biométriques ont été proposées, généralement nous pouvons les divisé en deux catégories:
L’objectif de ce travail est de réaliser une analyse rigoureuse de la force de déchiffrement des cryptosystèmes biométriques semblable à ceux disponible dans la littérature cryptanalyse.