Secrets et cryptographie
La cryptographie et les secrets pour les nuls et les théoriciens qui pensent avoir compris où sont les secrets, mais en fait ne percutent pas et oublient la sécurité matérielle...
On décortiquera les différences entre la cryptographie à clé publique et la cryptographie dite quantique.
En préambule, sans que ce soit vraiment indispensable, vous pouvez toujours jeter un œil sur mon introduction au chiffrement.
Ce qui va suivre est très trivial, simple voire simpliste. Mais c'est fondamental, c'est ce que les gens oublient ou ne percutent pas, et vous verrez qu'au bout d'un moment, et bien ça finit par faire pas mal de choses à avoir en tête... Ne sous-estimez pas cette présentation.
Le fameux secret à transmettre
Fondamentalement, Alice possède un secret qu'elle doit transmettre à Bob.
Les coffres
Qui dit secret dit coffre-fort. Un secret est forcément caché du reste du monde, du public, par définition. Ici, nous allons parler d'un secret sous forme numérique systématiquement, autrement dit une suite de bits dans une mémoire électronique. C'est le message secret.
Alice, qui compose le message secret (planqué initialement dans sa tête, son cerveau qui sert de mémoire et de coffre-fort), et qui effectuera des opérations bizarres pour le transmettre à Bob (par exemple un chiffrement) devra forcément effectuer tout ça dans un coffre-fort.

Bob, lorsqu'il accèdera au secret, devra aussi le lire dans un coffre-fort, c'est pareil. La différence, c'est que Bob effectuera aussi des opérations bizarres pour accéder au secret (par exemple un déchiffrement).
Et comme Alice et Bob ont des coffres-forts séparés, il se pose un petit problème de transport. C'est tout le problème de la cryptographie. Il faut cacher les informations au reste du monde, au public, pendant le transport, mais comment faire ?
Sécurité matérielle
Transport
Le transport des informations se fait forcément publiquement, et on s'arrange pour que ce soit incompréhensible par le public, c'est tout le problème que doit résoudre le protocole qui sera mis en place.
Il ne devrait pas exister de problème de sécurité matérielle pendant le transport, d'ailleurs on veut éviter de transporter un coffre-fort.
S'assurer de la bonne destination, sans interception
Sauf qu'en réalité, il peut se produire des choses pendant le transport. Le plus évident est de tromper le transporteur : le malandrin s'immisce dans le circuit de distribution, et modifie le message à son profit.
Ceci peut arriver facilement dans tous les échanges publics, en particulier lors de l'envoi d'une clé publique, ou dans l'établissement du canal de communication public dans le cas de la cryptographie quantique. C'est le problème dit du "man in the middle".
Ceci dit, une fois le message chiffré, le transport ne pose plus de problème puisque le message est incompréhensible. Il faudra juste s'assurer que le transport arrive à bon port, sinon gare au déni de service (= le système est en panne et le service n'est plus rendu).
N'oubliez pas de comparer tout le pataquès mis en place en cryptographie avec un simple transport d'un message par des gardes armés, surtout si on doit faire cela une seule fois pensez au Transporteur, il faut qu'il gagne sa croûte.
Coffre-fort inviolable
Nous abordons un point crucial car c'est là que se situent quasiment tous les problèmes de sécurité matérielle, et il est difficile de penser à tout, surtout quand les attaques n'ont pas encore été inventées...

Il faut un coffre-fort inviolable : rien ne sort. Un trou noir quoi. C'est une hypothèse très basique et importante.
Sauf que
- Sauf qu'il faudra bien, à un moment ou à un autre, qu'Alice envoie un message à Bob, secret ou pas.
- Sauf qu'il arrive parfois (souvent) la réciproque, Bob doit faire parvenir un message à Alice.
- Sauf que le système (= le coffre-fort) sera conçu et fabriqué par une tierce partie à laquelle il faudra faire confiance. C'est à ce moment-là qu'un cheval de Troie pourrait rentrer, également à l'occasion d'opération de maintenance et de mise à jour...
Donc la porte du coffre-fort s'ouvre parfois. Et là, c'est le drame.
Tout ce qui rentre sera contrôlé par le menu. Et on n'oubliera pas les procédures de vérification, d'auto-contrôle, enfin tout ce qui permet de vérifier que le système fonctionne comme prévu...
Et on s'assurera que ce qui sort est dûment autorisé.
Les théoriciens sont les pires car ils supposent par défaut, souvent sans le dire, le coffre-fort isolé et sûr, ce qui permet de se débarrasser de tous les problèmes futiles de mise en pratique. Et c'est ce qui m'énerve le plus car du coup, ils n'anticipent pas des solutions ou des réponses théoriques qui pourront effectivement fonctionner dans le futur.
Ces histoires de fuites du coffre-fort sont valables bien évidemment pour Alice et pour Bob.
Le coffre-fort fuit. Toujours.
Malheureusement, un coffre-fort fuit toujours, que ce soit par malice ou involontairement.
Comme nous nous intéressons aux solutions numériques, tous nos secrets sont encodés et traités dans des puces électroniques, ou des systèmes plus compliqués oui, ça existe où il faut mêler des objets physiques un peu spéciaux, un bon exemple étant les éléments d'optique qui servent pour la cryptographie quantique car immanquablement il faudra manipuler des photons plutôt que des électrons.
Et pour ne pas arranger les choses, il faut concevoir, construire, manipuler tous ces objets électroniques, optiques ou autres, ce qui ouvre la porte à énormément d'attaques. Il faut alors faire confiance au constructeur, difficile pour un paranoïaque...

Si vous voulez savoir à quoi ça ressemble, jetez un œil à ma page sur les puces cryptographiques.
Sortie d'information volontaire
Alice devra envoyer un message, quel qu'il soit, à Bob ─sinon le système ne sert à rien ! Il existe donc immanquablement un canal de transmission mis en place, c'est une opération volontaire, et généralement bien maitrisée.
Mais bon, il faudra forcément "faire un trou dans le coffre-fort" pour passer le message, ou plus exactement le câble ou la fibre qui serviront à le transporter. Il s'agit alors de bien regarder comment cela est réalisé, et si on n'a pas, par la même occasion, laissé un moyen d'entrer dans le coffre et d'extraire de l'information.
Par exemple, on pense souvent qu'une fibre optique est inoffensive, c'est juste pour envoyer des photons, de la lumière. Eh bien il faut réaliser qu'un attaquant pourrait aussi injecter des photons par la fibre, et exploiter ce qui en ressort... on appelle ça de l'injection de fautes. Pareil pour un câble électrique quel qu'il soit, un attaquant peut tenter d'injecter un signal alors que ce n'est pas vraiment prévu.
Interception
Ensuite, durant le transport du signal, un attaquant pourrait écouter la ligne et altérer le message de manière à accéder à des informations ou des privilèges, ou encore tromper Bob. C'est souvent un point que les théoriciens résolvent avec des preuves de fonctionnement, et c'est aussi souvent ces problèmes-là qui sont les mieux étudiés et résolus.
Sortie d'information volontaire maladroite
Un exemple évident est l'algorithme de chiffrement mal pensé, sans élément aléatoire. Un ordre de bombardement chiffré sera vite associé au résultat sans pour autant comprendre exactement son contenu.
Pire, on pourrait le remplacer par un autre ordre tout aussi chiffré, qui aura été associé à une autre action, même sans en connaitre le contenu détaillé.
Il est donc important que deux messages identiques ne résultent pas en deux messages chiffrés tout aussi identiques, il faudra ajouter une pincée d'aléatoire à chaque chiffrement...
Fuite d'information involontaire
C'est ce que les spécialistes en cybersécurité appellent attaque par canal auxiliaire (side-channel attack).
Alimentation électrique
Un système électronique, que ce soit une simple puce ou des éléments plus complexes, doit utiliser immanquablement de l'énergie électrique.
Deux grands cas existent concernant la source d'énergie :
- Externe : un câble d'alimentation électrique amène de l'énergie. Mais c'est directement un trou dans le coffre-fort, souvent sous-estimé.
- Interne : une batterie permet au système de fonctionner. Reste à espérer que sa capacité soit suffisamment importante, car s'il faut la recharger, alors on retombe dans le cas précédent ─mais avec l'avantage de pouvoir séparer les problèmes.
Écouter l'alimentation électrique est souvent révélateur de l'activité du système, parfois on arrive à distinguer l'exécution d'une instruction dans un microprocesseur, ce qui révèle des informations importantes, par exemple un bit d'une clé privée.
Le câble d'alimentation est un passage pour aller dans le coffre-fort...
Fuites électromagnétiques
Mais le pire sont les fuites d'information électromagnétiques. En effet, les lois de l'électromagnétisme sont ce qu'elles sont, et à chaque fois que vous effectuez une opération électrique, donc avec un changement de tension ou de courant, des émissions électromagnétiques se produisent à cause des capacités-résistances-inductions qui existent toujours.
Les attaquants sont à l'écoute de ces émissions électromagnétiques qui révèlent beaucoup d'informations sur le fonctionnement de la puce, à quel moment des actions sont réalisées et avec quel niveau, etc...
Bien sûr on essaye de se protéger en blindant les systèmes, mais ils sont rarement parfaits, ou alors la protection est trop couteuse par rapport à ce qu'on protège, et on a laissé une fuite possible par intérêt économique...
Un simple écran peut présenter une fuite de données ! Du temps des écrans cathodiques, c'était carrément catastrophique, il suffisait d'être pas trop loin de l'écran, et on pouvait reproduire ce qui était affiché, uniquement à cause des émissions électromagnétiques... C'était l'attaque TEMPEST. Elle peut aussi se pratiquer sur les écrans LCD.
Fuite d'information malicieuse
C'est probablement le pire, car l'imagination des attaquants est sans limite.

Et de ses employés.
Heureusement, nous avons des organismes de certification pour les contrôler, genre CESTI. Indépendants et eux-mêmes certifiés par l'ANSSI.
Ne laissez pas entrer dans le coffre-fort un dépanneur ou un agent d'entretien, qui, sous le prétexte d'une mise à jour, va vous installer un cheval de Troie... Le plus évident est l'installation d'un module Wifi qui va sortir toutes vos précieuses données.
C'est valable aussi pour un PC ! Un logiciel peut s'installer et "sortir" par Internet toutes les informations du disque dur... Ou le bloquer et réclamer une rançon, c'est très à la mode.
Si vous voulez en apprendre plus sur les attaques, voici un cours :
Clé publique/privé
Définir et savoir où se situe le secret n'est pas toujours si évident, et souvent même les plus forts l'oublient.
La technique actuelle la plus efficace pour échanger un message secret est l'utilisation du couple clé privée-clé publique. Pratiquement le monde entier utilise le protocole RSA, basé sur la multiplication de deux grands nombres premiers. Le secret est la valeur d'un de ces grands nombres premiers, c'est l'élément à cacher.
Nous avons deux secrets dans ce cas de figure :
- le message secret qu'Alice va envoyer à Bob.
- la clé privée de Bob, qui doit rester secrète et planquée dans le coffre-fort de Bob, et jamais sortir sous aucun prétexte.
Les bases sont inchangées, Alice et Bob ont chacun leur coffre-fort, souvent il s'agit d'un PC (dont on se méfiera évidemment, mais bon, en pratique, c'est suffisant).
C'est une opération à réaliser une seule fois.
Ensuite Alice conserve la clé publique de Bob dans son trousseau.
Bob, celui qui reçoit un message secret, possède la clé privée. Sa clé publique est ... publique, Bob fait parvenir à Alice sa clé publique, sans précaution particulière. Ceci dit, il ne faudrait pas qu'Eve intercepte la clé publique de Bob et mette sa propre clé à la place, c'est l'attaque du "man in the middle".
Au pire, le message secret est découvert, mais la clé de Bob ne peut pas être compromise.
Une fois que le message secret est chiffré avec la clé publique de Bob, c'est terminé, le message secret qu'Alice possède dans son coffre devient inutile, et Alice peut le détruire. Alice envoie le chiffré à Bob, sans précaution particulière.
Alice ne détruira probablement pas son message secret car c'est un écureuil qui conserve une trace de ses activités et Alice a une mémoire de poisson rouge. Dans ce cas, Alice a intérêt à chiffrer ses affaires avec sa propre clé privée, mais c'est une autre histoire.
Le message chiffré n'est pas un secret. Il peut être affiché en place publique, étant totalement illisible. C'est la garantie offerte par le mécanisme RSA, qui devrait être mis à mal dans un avenir plus ou moins lointain, quand les ordinateurs quantiques marcheront.
Seul Bob peut déchiffrer le message avec sa clé privée. Il doit garder sa clé privée à l'abri des regards concupiscents, et effectuer le déchiffrement dans son coffre-fort, probablement son PC (ce n'est pas le mieux, une puce TPM offrirait un meilleur niveau de sécurité). Une fois que le message chiffré est devenu clair, il faut alors protéger le message secret d'Alice, à l'abri des regards.
Bob n'a pas besoin de conserver le message clair d'Alice, il le consulte puis le détruit. Il lui suffit de garder le chiffré dans le domaine public.
Et conserver précieusement sa clé privée dans son coffre-fort.
Mais comment Bob cache-t-il sa clé privée, et comment fait-il pour y accéder ?
Bonne question, et la réponse est cryptographique grâce à l'usage des fonctions dites de dérivation.
En effet, ce serait crétin de mettre la clé privée dans un coffre-fort électronique qui s'ouvre avec ... une clé privée.
On est plus malin que ça et on a une solution qui marche : on utilise un mot de passe et une fonction de hachage.
Le mot de passe est le secret crucial pour protéger la clé privée. Le fichier contenant la clé privée chiffrée de cette manière n'a pas besoin d'être dans un coffre, c'est de l'information publique, ce qui est pratique !
Il ne faut JAMAIS révéler ce mot de passe. Ni l'oublier, c'est irrécupérable, sauf si le mot de passe est faible, trop court par exemple. On peut alors tenter sa chance en utilisant un catalogue de mots de passe...
La biométrie est une solution alternative, mais il se pose encore le problème crucial de la fusion de la clé avec les caractéristiques biométriques.
Quantique
C'est bien le domaine où on se demande si ceux qui conçoivent les protocoles et systèmes percutent bien ce qu'ils font, surtout quand on les voit tenter d'expliquer comment ça marche.
Je vais m'y risquer car je pense avec arrogance avoir bien mis le doigt sur les points critiques rarement explicités. Et sans utiliser de trucs abscons relatifs à la mécanique quantique. Que des trucs simples.
Zéro chiffrement
La première chose à bien percuter :
Il n'existe AUCUN CHIFFREMENT QUANTIQUE.
Voilà qui est surprenant et c'est une bonne nouvelle pour la compréhension, on n'aura pas besoin de s'embrouiller la tête avec des algorithmes de chiffrement.
Il n'y a encore personne qui a proposé de réaliser un chiffrement avec un ordinateur quantique déjà que ces ordinateurs quantiques ont du mal à fonctionner...
L'objectif principal de la cryptographie quantique est d'établir une série de bits aléatoires ─que personne dans l'univers ne peut deviner─, et que cette liste soit connue par deux personnes, ce sont des bits secrets.
Une fois que vous avez cette série de bits aléatoires, vous avez votre clé de chiffrement. On peut se servir de cette série directement comme clé symétrique, ou en dériver des clés de chiffrement classique.
La question à deux balles est "comment on peut mettre dans le public des éléments secrets sans chiffrement ?" Car il faudra bien qu'Alice transmette les bits secrets à Bob la première fois. C'est ce que nous allons voir.
Qubit
Voici ce qu'il faut admettre en mécanique quantique pour notre usage :
- Un qubit est une entité (un unique photon polarisé dans le cas de la cryptographie quantique), que l'on peut lire une et une seule fois. Il est détruit lors de la lecture.
- Nous sommes capables de préparer un qubit dans un état dit "superposé". Au moment où on va le lire, on obtiendra 0 ou 1, avec une probabilité qui dépend de la préparation.
- La lecture correcte du qubit requiert la connaissance de la base de lecture. Si on utilise la bonne base, on aura la réponse attendue avec la probabilité attendue. Si la base est mauvaise, on aura un résultat avec une probabilité différente.
- Il est possible de préparer deux qubits dit intriqués. Si on lit un des deux avec une base de lecture, l'autre donnera la même réponse avec la même base de lecture. Sinon le résultat est incertain.
Dans notre cas, on s'arrange pour que la préparation donne un qubit qui sera, par exemple, un zéro avec une probabilité de 100% si on utilise une certaine base de lecture. Dans le cas de la polarisation, si on tourne la base de lecture = l'angle de lecture de polarisation, alors on lira avec une probabilité différente, voire 50%, donc n'importe quoi comme valeur.
Pourquoi utilise-t-on un photon polarisé en cryptographie quantique ?
Tout simplement parce que l'on ne connait pas d'autres qubits capables de se déplacer à la vitesse de la lumière sans s'auto-détruire à cause de la décohérence.
La même explication sous une autre forme dans ma page sur l'échange de secret en cryptographie quantique.
Ne vous inquiétez pas si vous n'avez pas encore tout enregistré à propos de ces qubits. Nous allons revoir tout ça, et je répèterai pour enfoncer le clou.
Secret quantique superposé
Tout est basé sur le secret de la base de lecture au moment de la transmission du qubit. Le qubit seul ne contient qu'une partie du (futur) secret, pour le lire, il faut connaitre la base de lecture, sinon on a toutes les chances d'obtenir une valeur erronée. Surtout si on répète cette opération de nombreuses fois.
On vous l'expliquera rarement de cette manière. Pourtant c'est la base. Ah ça, on tentera vous embrouiller avec des histoires de rotation de polarisation et de protocoles... D'ailleurs je le fais dans mon cours sur le sujet.
Alice va envoyer un qubit à Bob qui sera lu et transformé en un bit classique. L'objectif est qu'une fois l'échange réalisé, seuls Alice et Bob connaissent la valeur de cet unique bit, et que le reste de l'univers ne le connaisse pas.
Attention : il n'est pas utile de connaitre la valeur du bit, si c'est zéro ou un. Ce qui est important, c'est qu'Alice et Bob aient la même valeur, soit zéro, soit un, lorsque l'échange est terminé.
Et oui, évidemment, on n'utilisera pas qu'un seul bit, on en construira une collection, mais il suffit de voir comment on fait sur un seul.
Et il sera de bon goût que ces bits soient aléatoires, car l'inverse signifie qu'on pourrait les deviner, ce qui serait catastrophique.
Mais comment envoyer le vrai message secret si on n'a que des bits aléatoires ?
Tout bêtement en combinant un bit message du message à transmettre que l'on aura chiffré avec un bit aléatoire secret, en effectuant un ou exclusif, ce qui correspond, pour le coup, à du chiffrement, hyper-simple mais efficace à 100%, technique dite du "masque jetable" car vous n'avez le droit d'utiliser le bit secret qu'une seule fois.
Autrement dit, il vous faudra autant de bits secrets que de bits du message à envoyer.
Pour définir le bit secret, Alice prépare un qubit, par exemple dans l'état "zéro" (elle avait le choix entre "zéro" et "un") en utilisant une base de lecture, par exemple "diagonale" (l'alternative était horizontale/verticale). Autrement dit, elle a 4 possibilités, mais on peut faire bien plus compliqué. En pratique, la sélection se fait aléatoirement.
Ce qui est important ici, c'est que pour lire correctement le qubit, il faut connaitre la base de lecture. Cette base de lecture est la manière dont il faut régler l'appareil de lecture pour lire le qubit et extraire la valeur.
Et vous n'avez droit qu'à un seul essai de lecture, car la lecture est destructrice (réduction de la fonction d'onde) et il est impossible de copier le qubit (théorème de non-clonage en mécanique quantique).
Alice garde précieusement la base de lecture dans le coffre-fort. La valeur est lisible uniquement avec la bonne base de lecture.
Le qubit traverse l'espace public hyper-dangereux, peuplés de criminels prêts à tout pour connaitre sa valeur, et s'en moque royalement car Alice a conservé, dans le secret de son coffre-fort, la valeur de la base de lecture et donc personne dans l'univers ne peut connaitre cette valeur, et par conséquent, personne ne peut lire à coup sûr la valeur du qubit, à part en tentant sa chance... ce que l'on pourra détecter.
Il est important de conserver secret l'orientation de la base de lecture. Si une attaquante, Eve, parvenait à obtenir cette valeur, alors Eve pourrait lire correctement le qubit, et le reproduire pour l'envoyer à Bob, qui alors n'y verrait que du feu.
Le secret est divisé en deux : le qubit et la base de lecture.
Si quelqu'un tente de lire le qubit sans connaitre la base de lecture, il aura probablement une valeur erronée. C'est ce qui arrive à Bob, et c'est ce qui arrivera à Eve si elle tente d'intercepter le qubit.
La grosse différence, c'est qu'Alice peut dire à Bob quelle base il fallait utiliser APRES avoir obtenu la certitude que le qubit a été lu. Il peut alors révéler la base.
Si Bob s'est trompé, alors le résultat est jeté. Si Bob a utilisé la bonne base de lecture (1 chance sur 2 pour pas mal de protocoles), le résultat est conservé.
En résumé
Le secret réside dans l'information concernant la base de lecture, qui devra rester secrète jusqu'à ce que Bob ait effectué la lecture du qubit. Il faudra donc protéger comme la prunelle des yeux cette information pendant le temps de la transmission.
Si Eve a quand même tenté sa chance en interceptant le qubit, alors comme Bob, elle aura fait des erreurs. Alice et Bob, en révélant publiquement les valeurs de quelques bits sur la quantité qu'ils vont construire, pourront vérifier si les valeurs sont bonnes, et sauront alors s'ils ont été attaqués/écoutés.
Un attaquant devra concentrer ses attaques pour connaitre cette base de lecture avant la lecture par Bob. C'est d'ailleurs ce que je propose dans certains types d'attaques.
Usage simple de l'intrication
Deux qubits peuvent être intriqués, c'est-à-dire que si vous lisez un premier qubit, vous obtenez une valeur, et le second qubit aura la même valeur avec 100% de réussite si vous avez utilisé deux bases de lecture identiques.
Dans cette configuration, Alice ne prépare pas un qubit avec une valeur arbitraire, c'est l'inverse qui se produit. Alice prépare une paire de qubits intriqués, en garde un qui est immédiatement lu par Alice, l'autre est envoyé à Bob pour lecture.
Le mécanisme ne change pas : une base de lecture secrète aléatoire sera choisie par Alice et il faudra que Bob choisisse aléatoirement la même pour obtenir la même valeur.
On notera que divers protocoles existent suivant le type de qubit utilisé, et on transposera assez facilement l'analyse précédente concernant la position des secrets.
Échange d'intrication
Mais on peut faire mieux grâce à l'échange d'intrication quantique non locale.
L'astuce va consister à ne pas envoyer de qubit contenant une valeur. Du coup, attaquer la transmission ne sert plus à rien ! On va voir comment, c'est assez magique.
Lorsque cette astuce est couplée au jeu de Bell pour déterminer si deux qubits sont effectivement intriqués, c'est l'objet de la cryptographie quantique "device independent".
Nous verrons aussi qu'il est possible de créer un protocole sans générateur de nombres aléatoires supplémentaire, car l'aléa pourra provenir uniquement du qubit quantique. Ce n'est pas un mince avantage en matière de sécurité.
Voici la séquence dans le détail, mais sans mathématique ni machins compliqués.
Séquence détaillée
1. Préparation de deux qubits
Alice et Bob préparent chacun un qubit :
Pour l'instant, aucune chose n'est secrète. Les deux qubits sont totalement indépendants, et si on les lisait, même avec la même base de lecture, les résultats seraient aléatoires.
2. Alice et Bob intriquent un photon avec leur qubit
J'aurai plutôt dû dire que l'on allait intriquer deux qubits (cela aurait fait 4 qubits au total), mais bon j'utilise le terme photon car ce sera effectivement un photon en pratique, vu qu'il faudra l'envoyer à Bob, on ne connait pas d'autre moyen de transmettre facilement un qubit et ce sera plus facilement compréhensible.
Chaque photon est envoyé sur une fibre optique.
Si on lisait la valeur de chaque photon intriqué, on obtiendrait exactement la même si on lisait le qubit d'origine, et réciproquement. Dans le cas présent, on aurait deux valeurs pour Alice et Bob totalement décorrélées.
On remarquera qu'il n'existe encore pas de secret à protéger.
3. Mesure de Bell
Au bout de la fibre optique, qui peut être très longue, chaque photon arrive sur une lame semi-réfléchissante, avec deux détecteurs, un sur chaque sortie, ce qui va permettre de réaliser une mesure de Bell. Il peut se passer deux possibilités :
3.1 Les deux détecteurs réagissent.
Si les deux détecteurs réagissent, cela veut dire qu'il ne se passe rien, les photons poursuivent leur chemin.
C'est un coup pour rien, on jettera cet essai.
3.2 Un seul détecteur réagit
Si un seul détecteur réagit, cela indique que les deux photons ont interféré, ils deviennent indiscernables et intriqués.
Lorsque les deux photons interfèrent, la sorcellerie quantique opère, et les deux qubits d'Alice et Bob deviennent intriqués.
La conséquence pratique et recherchée, c'est que si Alice et Bob lisent leur qubit, alors ils obtiendront la même valeur s'ils utilisent la même base de lecture (ou avec une certaine probabilité si les bases ne sont pas alignées).
De plus, l'intrication est plus rapide que la vitesse de la lumière, on pourrait prendre avantage de ce fait en lisant le qubit avant de recevoir le signal de détection, mais mettre en place des horloges synchronisées fiables est une vraie plaie.
Ce qui est intéressant du point de vue sécurité, c'est le fait que les photons, tant qu'ils n'ont pas interféré, ne contiennent aucune information secrète, et pour une bonne raison, elle n'est pas encore établie !
Maintenant que l'intrication entre les deux qubits est effective, il faut tout mettre dans un coffre. Et en pratique, on mettra tout dans un coffre depuis le début. La mesure de Bell aussi du reste, chez Bob ou Alice, peu importe.
4. Exploitation
Le signal d'intrication étant donné, Alice et Bob peuvent procéder à la lecture des qubits pour obtenir chacun un bit classique qui aura la même valeur, 0 ou 1. C'est le bit secret.
L'élément extraordinaire est qu'Alice et Bob obtiennent le même bit chacun de leur côté, alors qu'il n'y a eu aucun échange direct entre les deux compères, en particulier aucune information, ce qui rend une écoute par interception impossible.
La valeur du bit obtenu est aléatoire, ce qui sera commode car on évitera les générateurs de nombres aléatoires, toujours délicats à réaliser. Ici, l'aléa est quantique et ne prêtera à aucune discussion.
Une fois l'intrication réalisée, Alice et Bob, s'ils le souhaitent, peuvent la vérifier en jouant au jeu de Bell, avec l'aide de deux bases de lecture chacun (et un générateur aléatoire pour choisir), où ils obtiendront dans 85% des cas des bits identiques, et un poil moins si l'alignement n'est pas pile-poil π/8.
Mais pour vérifier, il faudra forcément sacrifier des bits sur la place publique, afin de connaitre les correspondances. De plus, il peut se produire des erreurs de transmission, qu'il faudra compenser.
Correction des erreurs
Dans tous les cas, les bits communs, secrets, ne pourront pas être vérifiés sauf à les révéler publiquement. On constatera l'intrication grâce au bon fonctionnement des échanges, en particulier il suffit d'ajouter un hash-code au message pour vérifier l'intégrité, mais après correction des erreurs.
Par exemple, l'usage des bits secrets comme clé de chiffrement symétrique jetable, où on réalise un simple XOR avec la condition de n'utiliser la clé qu'une seule fois pour que le décryptage soit impossible, peut être simplement corrigé en envoyant le même message trois fois chiffré avec une série de bits secrets différents, évidemment, et en gardant à l'arrivée le bit majoritaire, celui qui est sorti au moins 2 fois sur 3. On peut évidemment mieux faire en adaptant finement la redondance au taux d'erreurs observé.
Transport
Ce phénomène d'échange d'intrication peut être multiplié pour surmonter la limitation en longueur des fibres optiques. Ce sont des répéteurs.
Mais rien n'est parfait
La mesure de Bell laisse l'impression que c'est une opération publique, mais il n'en est rien.
A priori, Eve, l'attaquante, n'a aucun intérêt à s'occuper de ces photons intriqués avec le qubit de départ, tout ce qu'elle pourra faire, c'est mettre en panne le système. En particulier, si elle intervient, l'intrication ne se réalisera pas car la lecture des photons est destructive. Par conséquent, on aura au minimum du déni de service, mais bon, pour ça, une paire de ciseaux suffira.
Imiter l'intrication ?
Il sera important dans la pratique à ne pas laisser le signal "intrication OK" sans protection, car un attaquant pourrait exploiter et modifier ce signal de manière à rendre le système inopérant, ou provoquer des dérèglements exploitables du système.
Mais une attaque sournoise de type Canada Dry associée au "man in the middle" pourrait être réalisée, laissant croire à Alice et Bob que l'intrication est effective, alors qu'elle ne l'est plus...
Sans compter qu'Eve pourrait injecter des impulsions laser dans la fibre et provoquer des fonctionnements inattendus éventuellement exploitables.
Si théorie est la première chose à étudier, il ne faut pas perdre de vue la mise en pratique, qui révèlera, comme d'habitude, des problèmes de sécurité matérielle. Des attaques de toutes sortes ont déjà été inventées, et d'autres émergeront, d'ailleurs j'en propose moi-même.