 Bienvenue à cette session sur la masque. Nous allons avoir deux talks sur la masque dans différents contextes. Le contexte de la chaîne site et le contexte de la design de blocsifères. Le premier talk est sur la détection de la détection de la chaine site et la détection de l'intérêt du point de vue de la trace de l'étude. Et avec une application de masque de l'implémentation, je crois. C'est un joint-work par François Durvaux et François-Xavier Standerth. François-Xavier va donner le talk. Bonne matin et merci pour l'introduction. C'est l'autre ligne du talk. Je voudrais commencer avec quelques mots sur le point de vue du problème. Expliquer pourquoi la question de l'étude n'est pas sensible. Il y aura trois principales parts. L'une est sur les traiteurs que nous faisons quand nous faisons la détection de l'étude. L'une est sur les tests de détection de l'étude et l'une est sur les points d'intérêt du point de vue de la trace de la détection de l'étude. Alors, en commençant avec le point de vue du problème, je pense que si vous regardez le workflow de la chaîne site, il y a deux pièces que vous allez toujours faire, et ces sont les mesures en préprocessant. Le measurement signifie que vous achetez la consommation de pouvoir, la crédition d'électro-manité, ou la timing de votre implementation. Et la préprocessation pourrait être, par exemple, l'avantage, la filtration, ou tout ce qui va faire que votre signal soit un peu mieux. Et puis, si vous followz, je dirais plus ou moins le path formal, il y aura probablement un peu de modèles. Et par modèles, je veux dire que nous allons essayer de apprendre le comportement de la dévier, ou essayer de apprendre la distribution statistique de la dévier, et puis quelque chose comme l'exploitation, où nous essayons d'utiliser de l'information. Et, typiquement, dans cet endroit, la plupart des temps, le gole est de la dévier. Et si vous essayez de quantifier cela, nous pouvons faire cela plus ou moins précisément. Par exemple, nous pouvons assurer la qualité d'un modèle avec une sorte de distance statistique, mais fréquemment nous allons utiliser l'information mutuelle. Et nous pouvons quantifier le succès de la dévier, avec exactement cette métrique de succès. Et dans l'année dernière, il y a eu beaucoup de travail en garantissant que ces choses peuvent être connectées, donc nous pouvons bounder le succès basé sur l'estimation de l'information mutuelle. Et c'est, par exemple, dans les papiers par Alexandre Duc et les co-authors. Et je voudrais qu'on appelle ce type d'approche, je vais le dire le son, mais l'approche d'expansive. Et je le dis expansive, pas beaucoup parce que de temps, mais parce qu'il nécessite l'expertise, comme la plupart du temps, dans le modèle et dans l'exploitation, ce n'est pas un objectif trivial, il nécessite l'engagement, les skills, etc. Et il se trouve que pour certains compagnies, qui ne sont pas complètement sécurisées, cela peut être trop expensif. Et comme résultat, quelque chose de différent a émergé pendant les dernières années et est utilisé par l'industrie. Et les idées sont d'avoir quelque chose de plus cher et plus juristique, qui sera dénoté par le détection de l'éducation. Et en ce cas, vous ne voulez pas avoir une quantité précise de votre niveau de sécurité, basé sur le sucess de la faible, ou quelque chose de la métrique que vous voulez utiliser. C'est plus comme si vous voulez avoir un answer ou pas. Donc, est-ce qu'il y a des détections de l'éducation dans ma implementation? Est-ce qu'il y a des dépendances de données que je pouvais peut-être explorer ou non? Donc, ce que nous voulions faire dans ce... ce que nous voulions faire dans ce papier est de étudier cette question de détection de l'éducation, d'entendre un petit peu pourquoi les tests qui sont proposés dans la littérature sont si efficaces. Et aussi, essayez de faire des connections avec un problème très relat, qui est la détection des points d'intérêt. Et ici, l'idée est que la plupart du temps, quand vous avez un trait de l'éducation, c'est si grand. Vous avez tant de temps de samples que vous ne pouvez pas construire le modèle pour tous les temps de samples et que vous utilisez cette sélection des points d'intérêt afin de speed-up l'évaluation. Donc, on va summariser le problème que nous voulons accueillir. Il est ce que sont les liens et les différences entre ces deux problèmes, la détection de l'éducation et la détection des points d'intérêt. Donc, maintenant, on va commencer avec la première question et essayer de expliquer pourquoi les tests existants sont aussi appuyés et aussi rapides. Et je vais juste décrire deux outils pour ce propos. Le premier est ce que je crois que la plupart des gens qui n'aiment pas le test de détection de l'éducation dans les dernières jours. Et c'est un outil introduit par la recherche cryptographique un couple de années auparavant et ils se sont appelés le test de détection de l'éducation versus le test de détection de l'éducation. Et c'est facile de l'éducation avec les exemples de l'AES. Donc, essentiellement, ce que vous faites, c'est que vous fixez le clé de 128 bits. Vous allez prendre des traces de détection avec le texte de détection de l'éducation vous allez prendre des traces de détection avec le texte de détection de l'éducation. Et ensuite, vous verrez si il y a une différence entre ces deux classes. Et vous pouvez facilement utiliser un test de détection standard pour exemple, le test de détection de l'éducation. Et puis, essentiellement, l'intention est que si vous observe une large clé de détection de l'éducation, vous avez probablement de la dépendance, de la dépendance qui a été détectée. Donc, c'est la détection de l'éducation qui est utilisée. Et juste pour le but de la discussion, je vais décrire un autre test qui est en fait beaucoup plus近 que les attaques que nous faisons dans l'éducation de l'éducation. Et je vais apporter le test de détection de l'éducation pour le test de détection de l'éducation. Et puis, avec le test de détection de l'éducation, ce que nous faisons, c'est que nous fixons le clé de 128 bits. Nous prenons l'entrée avec le texte de plan de plan et nous sélectionnons un target, donc une partie de la compétition, typiquement l'esbox d'outre, et cette valeur intermédiaire intermédiaire, on le appelle X. Et puis, vous estimerez l'éducation de l'éducation de l'éducation de l'éducation entre l'actualité et un modèle pour cette valeur intermédiaire. Et bien sûr, cela signifie que vous devez construire un modèle, mais depuis que nous sommes dans ce simple cas avec ce qu'on appelle la première ordre d'information, donc l'information qui est dans le sens, c'est quelque chose que nous pouvons facilement utiliser de la validation de la course, donc l'idée est que vous vous pliez votre nombre de traces dans différents secteurs de la même dimension. Chaque fois que vous faites quelque chose de la validation, vous utilisez la plupart de les traces pour profiter la dernière partie pour tester et puis vous le runz, pour que vous faites l'efficient de tous les samples pour tester le modèle. Et même si, ce que vous faites c'est de tester la hypothèse Assumez-vous que la forme de Z de cette coefficient de coopération a été distribuée. Donc pour voir pourquoi c'est bon ou pourquoi ce n'est pas bon cette détection de cliquette, on a, bien sûr, commencé avec des expériences et la plupart de ce que nous faisons dans ce paper est en fait base sur des expériences et ce que nous fréquemment faisons dans ce filtre c'est ce qu'on appelle expériences simulées. Donc ce n'est pas basé sur une vraie dévise, ce n'est basé sur une dévise abstracte que j'assume que le hamming de 8 bits de valeur et ici sur cette figure ce que vous verrez c'est que sur la x-axis le nombre de traces le nombre de mesures que je fais dans ma évaluation sur la y-axis la valeur de ma statistique donc ça peut être la delta pour le test T ou la corrélation pour le test Ro et puis les curveurs sont pour le test T pour les valeurs différentes de la classe fixe et la rède c'est le test actual Ro et la bleue est une sorte d'obstruction c'est le test de corrélation mais j'assume que j'ai le modèle parfait donc je n'ai pas le modèle de corrélation et j'ai directement la valeur correcte donc je pense que juste sur cette picture bien sûr on peut directement voir quelle est la main avantage de ce T test c'est que nous avons une très bonne sample complexité juste réflectée par le fait qu'on appelle quelque chose détecté anytime la statistique c'est le 5 delta le 5 sigma valeur qui est représentée par cette ligne horizontal et bien sûr vous voyez que la curve plus efficient c'est un curve gris donc c'est le test T le point de faire c'est d'understand pourquoi c'est le cas et de savoir si il y a un moyen d'improver ça donc je pense que pour expliquer il y a deux main éléments qu'on pourrait mettre en avant l'une est que nous pouvons facilement analyser ceci en termes de signal donc le signal dans cette ligne verticale c'est juste que vous avez toutes les valeurs intermédiaires pour la ligue et c'est la variante de la trace avantage parce que nous considérons l'information d'abord et si vous faites le test T pour exemple avec la ligue il n'y a pas de signal parce que la classe elle va être la ligue de la valeur de la valeur de la valeur de la valeur elle va être 4 et si la classe fixe aussi a une ligue il n'y a pas de manière je peux distinguer tout mais bien sûr si je vais à l'extrême je vais avoir des classes fixées pour que j'ai plus signal et que je vais avoir des détecteurs et c'est intéressant si je prends la ligue c'est le test avec pas d'estimation problème à tout on peut observer que cette ligue c'est en fait juste l'avantage de la ligue donc ça nous dit en termes de signal c'est juste une chose entre looking for the worst case that probably happens sometimes in the implementation or going to for the average case which was which is what the correlation test is practically doing so that's one point better signal point I'd like to put forward is that it's obviously an easier estimation problem and that's represented by the move from the blue curve to the red curve and the red curve is the actual row test and that's essentially because when I do this t-test I have only two classes to estimate the fix class and the random class when I do the correlation coefficient stuff I have to estimate a model for 256 values so this thing is the main advantage that there's obviously a cost for that and the cost is that we will have potentially false negatives reflected by this signal that is zero here because if you take this fix class and if you have only this one then you can measure as long as you want you will never detect anything so that that was for simulation and of course the next step when we do experimental analysis is always to move to the real world and try to see what it gives and before we try to go this on a a a a a a a a a a a a a a a a a a a a a a a a que beaucoup, selon que vous faites l'analyse intégrée au temps, et ça signifie que si vous analysez une complétation de l'AES software, vous avez beaucoup, beaucoup, beaucoup d'exécutions de l'Sbox, que plus tard, vous seriez allé attirer ces actuales valeurs intermédiaires pour lesquelles vous avez un bon signal, et c'est ce que vous voyez ici. Et encore une fois, peut-être que je n'ai pas fait ça assez clair, mais ce test marche avec 200 traces, ce test marche avec 2000 traces, donc vous avez vraiment ce gain dans la complétation de l'ampliation. Et ce premier point, c'est déjà connu, et je dirais que si vous allez dans les papiers de la CRI, vous expliquez que si vous roulez le test pour largement de traces, vous avez ce bon comportement, et si ça n'est pas possible, vous devez juste rouler le test pour un couple de textes de plane, et vous avez exactement le même effet. Donc, les problèmes négatifs ne sont pas beaucoup de problèmes, je dirais que peut-être que les positifs sont plus renouvelés, parce que si vous regardez ces traces, ce que vous voyez ici, c'est que sur le top figure, vous détectez des samples plus ou moins partout, alors que sur le bottom figure, vous avez cette bonne localité de temps. Et bien sûr, c'est très appuyant, en parlant, si vous pensez à ces détections de points d'intérêt, parce que quand vous voulez lancer un DPA après la détection de l'ampliation, les points qui sont importants sont lesquels vous pouvez prédiquer au niveau de l'attaque concrète, donc les valeurs actuelles que vous pouvez éliminer, et ce c'est ce que vous avez ici. Et, oui, le autre point négatif que je dirais pour le T test, c'est qu'une grande pique pour le T test ne vous explique en général rien du succès de l'attaque d'un DPA. Alors, si vous avez la valeur de corrélation, on peut en fait connecter la valeur de l'ampliation de l'ampliation à la valeur de succès de quelque sorte, relativement à la classe d'attaque d'un DPA. Et cela peut-être lead au premier message de l'ampliation d'ampliation. Je veux dire que si vous vous en passez et regardez ces deux tests, ce que nous verrons, c'est que ce n'est qu'une traite entre la complexité de l'ampliation et la complexité de l'ampliation de l'ampliation d'un T test simple et l'informativeness. L'informativeness signifie que cette détection vous explique quelque chose des points intéressants et vous explique quelque chose du succès de l'attaque. Donc, pour savoir, je vous ai juste montré que ces tests de l'ampliation d'ampliation sont assez efficaces en termes de complexité de l'ampliation. Et que nous pouvons aussi expliquer pourquoi elles sont efficaces, juste en raison de l'ampliation et de l'ampliation. Et la question est si nous pouvons faire quelque chose de mieux. Et il y a un truc facile qui permet, en fait, de gagner en termes de l'ampliation et de l'ampliation, que je peux again expliquer avec les ligatures de l'ampliation de l'ampliation. Donc, si vous regardez les tests de l'ampliation d'ampliation d'un T test et que vous pensez sur l'ampliation de l'ampliation, le signal est réflecté par la différence de l'ampliation de l'ampliation du maximum de l'ampliation de l'ampliation que vous pouvez observer. Et pour les valeurs de 8 bits, cela va être 4. Le sens va être 4. Et ensuite, vous allez prendre l'extrême 0 ou 8. Et c'est la différence du maximum de l'ampliation que vous pouvez observer. Donc, en termes de signal, vous avez le maximum de 4. Et en termes de l'ampliation, vous avez l'algorithme de l'ampliation parce qu'il faut encore estimer l'ampliation de l'ampliation qui n'est pas une valeur constante. Donc, si vous pensez sur cela, naturellement, vous avez ce simple truc où vous allez faire plutôt que de fixe versus rendum. Vous pouvez juste faire fixe versus fixe. Vous avez donc deux valeurs de rendum et vous regardez la distance. Et ici, clairement, en termes de signal, la différence du maximum est élevé à 8. Et peut-être plus intéressant, l'avantage de signal va être multiplié par 2. Et vous avez aucun l'algorithme de l'ampliation. Et c'est quelque chose que nous pouvons, encore une fois, tester, à base sur les expériments réels. La première est exactement la même set-up. Donc, c'est une implementation de l'ampliation de l'AMP. Vous avez ces x-axis avec les samples de temps. La figure de l'ampliation est la fixe versus rendum, un test de test de 200 traces. La trace principale est le test de fixe versus fixe avec seulement 40 traces. Et vous voyez que, plus ou moins, vous avez une réduction de l'ampliation de l'ampliation par un facteur 5. Et, interestingly, dans ce cas de l'ampliation de l'ampliation, vous n'avez pas beaucoup de bruit et, spécialement, pas d'algorithme de bruit adulte. Donc, surtout, dans ce cas, l'ampliation de l'ampliation de l'ampliation est dominée par la hausse des signes. Et, pour être complet, nous avons fait une expérience similaire pour une implementation de l'AMP, qui est assez différente. L'an dernier, c'est une implementation de l'ampliation parallèle de l'AMP. Et nous avons plus ou moins le même type de choses. Comme les tests de l'ampliation de l'ampliation de l'ampliation, je vous ai donné l'exemple avec 500 traces. C'est un exemple avec 100 traces. Donc, encore une fois, de réduction par un facteur 5 et, probablement, cette fois-ci, il va être réduit ou il a été réduit par le plus grand noise. Et c'est probablement le second take-home message, si vous ne soyez qu'à carenter les détecteurs et que vous voulez être le plus vite possible en termes de complexité de sample, essentiellement je dirais que ce fixe-versus-fix alternative est intéressant de le faire de toute façon parce que, à l'avantage, ça vous donne plus de signal et moins de noise et c'est ce que nous pouvons voir dans l'expérience. Et peut-être que ce facteur 5, il ne ressemble pas beaucoup, mais pour l'élaboration de poursuivre toutes les mesures, si vous pensez qu'il y a un jour de mesures, il y a une semaine de mesures. Donc, c'est comme dans ce monde, les petits facteurs se matterent. Et donc, pour savoir ce que je peux expliquer, c'est que ces détecteurs sont les meilleurs pour la détection de leakage. Et ce que nous avons aussi remarqué, c'est que si nous voulons détecter les points de intérêt, le test de correlation s'intéresse parce qu'on a un principle de localité de temps que nous pouvons explorer. Et la dernière étape dans le papier ou ce que nous voulons faire, c'est essayer de voir si il y a un moyen de prendre l'advantage de ce test de correlation pour aussi augmenter l'état de la détection des méthodes. Et en ce cas, en fait, nous pouvons connecter avec le nom de la session parce que nous avons regardé la implementation de masques. Donc, la implementation de masques est juste une situation où mon secret intermédiaire target, qui est appelé ici, est expliqué dans, pour exemple, deux pièces. Et c'est un peu plus élevé entre les deux. Et j'ai une implementation où je sais que la X1 et la X2 vont être manipulées par le deviseur et donc leur leakage va s'appliquer dans les traces de leakage. Et mon objectif maintenant est de trouver un vector de projection comme celui-ci. Donc, c'est juste un vector avec deux pièces et j'aimerais détecter les points d'intérêt, c'est-à-dire que j'aimerais mes deux pièces à couvrir ces X1 et les X2 leakage. Et pour ce propos, ce que nous pouvons faire, et c'est un tool très utile, c'est le local search. Donc, nous commençons avec une fonction objective. C'est une fonction qui est basée sur la position des deux pièces mais ce qui vous dit, c'est que ce que vous avez dans les fenêtres est signifiant ou pas. Et, pour exemple, en ce cas, ce ne devrait pas être. Donc, vous pouvez bouger le bleu fenêtre. Vous trouverez pas de solution. Vous pouvez trouver le red fenêtre. Vous trouverez pas de solution. Et puis, vous vous interviendrez. Donc, je recommence. Je n'ai encore trouvé rien. Et je fais ça jusqu'à ce point où j'ai vu ici un point d'intérêt. Et je trouverai la solution. Et puis, il y a un phase d'optimisation qui me permet de sélectionner l'envers de l'envers des fenêtres. OK. Donc, si vous regardez ça, encore une fois, c'est vraiment juste un trade-off. C'est un trade-off entre temps et data. Et ce trade-off, essentiellement, je dirais, dépendra de l'envers de vos fenêtres. Parce que si vous trouverez de très grandes fenêtres, c'est facile de voir que très rapidement vous allez mettre les points d'intérêt. Mais ensuite, vous devez estimer la fonction objective basée sur l'envers des fenêtres. Et ça signifie que c'est plus bruyant. Et vous devez aussi avoir besoin de plus de samples pour détecter quelque chose dans ces fenêtres. Et basé sur ceci, je pense qu'il y avait à peu près deux ou trois questions que nous pouvons trouver dans les works formaires. La première question que je n'ai pas discutée est, peut-on utiliser des fonctions objective en profilé? Et c'est juste la question de si, dans l'évaluation de la fonction objective, nous avons besoin de l'envers des fenêtres, qui sont visibles pour un lab d'évaluation, mais pas vraiment pour une adversaire concrète. Ou peut-on faire tout sans connaissance de l'envers des fenêtres? Est-ce que nous pouvons imposer la fonction objective qui était proposée avant, et c'était un quart de somme? Et il y avait toujours cette question de comment mettre le threshold actuellement ou rigorously. Et en fait, nous pouvons facilement contribuer sur les trois items. La première est, bien sûr, nous pouvons utiliser une fonction objective non profilé. Et c'est juste ce test. Et c'est une très simple l'observation. Et en fait, c'est juste une bourse de quelque chose d'un papier de réparat Gierlisch et Verboheide un couple de ans plus tard. Donc, rien de très nouveau ici. Pour les fonctions objective dans l'observation de l'envers des fenêtres, c'est que, oui, nous pouvons utiliser ce test de corrélation avec des moments statistiques de higher order. Et ça devrait aider. Et pour le threshold, maintenant que nous avons fait ce raisonnement basé sur la détection liquide, nous pouvons utiliser ces 5 sigmaroles et voir si cela donne de bons résultats. Donc, encore une fois, nous avons fait des expérimences. Ce que nous avons regardé est une implementation de la boxe d'AES masquée et basée sur la compétition de table. Donc, c'est une compétition très longue. Ici, où vous avez la plupart, c'est probablement la compétition de boxe d'AES et en fin, c'est l'exécution de la boxe d'AES. Bien sûr, quand nous lançons le tool, nous n'avons pas dit à lui ce qu'il fait et ce qu'il fait. Et de cette façon, nous pouvons avec l'improvement de l'appareil, on pourrait trouver à peu près 2 minutes d'avantage. Et ceci est pour comparer à 7 minutes avec la première fonction objectif et à 180 minutes si nous devons faire ça exhaustivement. Et la bonne news est que nous pouvons aussi expliquer cela. Et comme je l'ai dit, c'est surtout à l'égard de la relation entre la fonction objectif et l'égard de la fenêtre. Et ce que j'ai pris ici c'est l'estimation de la fonction objectif basée sur l'égard de la fenêtre. Nous avons vu que, précédemment, avec la salle de somme combinée, nous pouvons utiliser jusqu'à 25 pour l'égard de la fenêtre, mais nous n'avons pas assez de traces pour l'estimation. Et ici, nous pouvons sérieusement augmenter l'égard de la fenêtre essentiellement par un facteur de 3. Et c'est aussi le facteur que nous observons dans la complexité de temps. Et je pense que c'est le dernier message de l'égard de la fenêtre. Ce test de correlation est en fait très suffisant et très facile d'implémenter la détection des points d'intérêt dans les traces de l'égard de la fenêtre. Et juste pour conclure, le début, probablement, vous avez déjà dit. Donc, si vous voulez juste faire l'égard de la fenêtre, effectivement, ces tests de la fenêtre sont probablement les meilleures que vous pouvez faire parce que le problème est aussi simple que peut-être. Et probablement, vous devriez utiliser l'imprové version avec les fixations fixées parce que vous avez des gains additionnels. Mais, bien sûr, c'est important d'être sûr qu'il y a des limitations et essentiellement, c'est un test avec fausse positives et avec fausse negatives qui ne sont pas si éloignées en pratique, mais c'est aussi très facile de concevoir des exemples où il sera éloigné, par exemple, si vous avez un statique ligé de l'égard ou d'autres types de devises. Et puis, pour la détection des points d'intérêt, les évaluations basées sur les correlations sont plus intéressantes. Et aussi, ça connecte avec le path de l'évaluation de la fenêtre. Peut-être qu'il y a des conclusions qui sont parfois juste des modèles statistiques que nous avons faites et qu'il n'y a rien de très fausse dans le papier qui lead à des improvements naturelles. Juste par raison de la signalité et de l'noise, c'est suggesté que ce test fixé vers le test fixé est un bon improvement. Et enfin, peut-être en termes d'obtenir des problèmes, une chose qui serait très belle c'est de mieux connecter les détecteurs de l'égard et les valeurs de sécurité basées sur les succès. À un moment, il n'y a pas de connecté à tout et c'est un choix. Il n'y a pas de quantité de sécurité et il faut suivre l'approche formale ou aller très vite dans les détecteurs de l'égard. Donc, est-ce qu'il y a quelque chose de mieux ? L'application de ces deux cryptos asymmétriques serait certainement intéressante. Et enfin, en général, comment explorer plus de ordres et de multivariés dans les détecteurs de l'égard. C'est une grande question. Merci. Merci, François Cédébier. On n'a plus de temps pour une question rapide. Vous avez concentré sur la mesure de l'accélération d'une autre chose qui est utilisée très souvent c'est le temps de l'attention dans lequel vous vous ajoutez les instructions nécessaires. Et puis, dans l'une de vos samples, le signal est dispersé dans un different temps. Avez-vous considéré comment adapter votre schéma afin de détecter si le temps de l'attention est suffisant afin d'y aller ? C'est-à-dire, oui. On l'a considéré dans le passé. Donc le problème, en général, c'est plus difficile parce qu'on a cette choisie. On assume que ce temps de l'attention est sonnerie. Et c'est ce qu'on appelle l'intégration de l'attention. Et puis, vous overstater le niveau de sécurité. Ou vous essayez de modéliser ça correctement. Et c'est plus dans le path formel. C'est possible et puis, essentiellement, le résultat est que ce temps de l'attention n'aide pas beaucoup, d'exception si c'est vraiment énorme. Et puis, c'est tout à l'heure sur la question de ce qui fait sens en pratique. Si vous faites une simple analyse, c'est que ça aide beaucoup. Si vous faites l'analyse de l'attention de l'attention, ça n'aide pas à tout. Je... Oui. Oui, c'est... Donc c'est peut-être la raison pourquoi nous construisons plus en masquant parce que c'est plus facile de quantifier, je veux dire, même dans l'adversation de l'adversation de l'attention, nous, la masquant, survivra. Mais, oui, c'est concrètement, j'ai appris un très utile de l'ingrédient. Ok, donc notre prochain speaker est...