Cryptographie & rayon cosmique
Les rayons cosmiques permettraient de partager des clés cryptographiques ? Voilà qui est intriguant et suspect au premier abord. Et ça marche ? Ça m'a surtout énervé.
Je vous recommande d'abord de vous renseigner un petit peu sur les rayons cosmiques, afin d'avoir au moins les bases du phénomène qui va être utilisé dans cette proposition.
Sachez que la surface de la Terre est arrosée par 10 000 muons par m² et par seconde, et que ce phénomène est imprédictible.
Presse à sensation
Certains articles de presse m'ont intrigué :
- [2023] Cosmic-ray muons used to create cryptography system
- [2023] Muons used for cryptography system
Du sensationnel, effectivement, mais pas grand-chose dans ces papiers journalistiques qui permette vraiment de comprendre comment ça marche. Que des promesses et un dézingage en règle de la cryptographie quantique (bien connue sur mon site), excepté que ça n'a pas l'air de si bien marcher que ça, à la lecture ce qui est rapporté :
Tanaka acknowledges that muon detection rates place limits on the technology but insists that rates are adequate for wireless communication over distances of up to about 10 m. In his demonstration he used quite large detectors – each measuring 1 m² – in order to maximize the bit rate.
- [2023] Cosmic
coding and transfer for ultra high security near-field communications / Hiroyuki K.M. Tanaka
(Copie locale du papier) - [2023] Cosmic
coding and transfer storage (COSMOCATS) for invincible key storage
(Copie locale du papier) - [2022] Cosmic time synchronizer (CTS)
for wireless and precise time synchronization using extended air showers
(Copie locale du papier)
Le papier de 2022 n'est pas relatif à la cryptographie, mais est utile pour la compréhension.
Je vous recommande de prendre connaissance des articles avant de me lire pour faire votre opinion. Une fois que vous en avez lu celui de iScience, celui de Nature se lit rapidement vu que c'est à peu près la même chose un peu mieux développée.
J'utiliserai les noms traditionnels en cryptographie :
- l'envoyeur (sender) du message sera Alice
- le récipiendaire (receiver) sera Bob
- l'attaquante (eavesdropper) sera Eve
Article iScience
😼 Miaou, puisqu'on parle de CosmoCats.
Commençons par :
La première image est toujours importante car elle annonce la couleur :
Introduction
Passons le résumé et voyons l'introduction.
Les trois premiers paragraphes indiquent que Tanaka (l'auteur) s'intéresse essentiellement aux communications courtes portées,
et il doit y avoir une bonne raison pour ça. Il râle que la sécurité est quasiment inexistante, sauf NanoNet, mais bon,
il n'a peut-être pas de voiture car sa clé/télécommande possède un minimum de sécurité...
Et évidemment que les communications RF sont publiques, c'est d'ailleurs tout le problème.
Puis vient une attaque en règle de la QKD, la Quantum Key Distribution, largement expliquée sur mon site.
Rien de bien neuf, c'est vrai que la QKD utilise en pratique les communications optiques, que c'est améliorable, et je vais même plus loin que Tanaka en affirmant que la QKD "device independant" est loin d'être une panacée.
Ben au moins, je suis d'accord avec Tanaka.
Les deux derniers paragraphes introduisent la solution proposée par Tanaka, subtilement appelée COSMOCATS.
L'auteur nous indique que les rayons cosmiques permettent de créer un générateur de nombres aléatoires, et ça je le crois volontier, c'est certainement une source d'entropie utilisable, à condition de respecter quelques règles lors de la réalisation, mais ce n'est pas un gros problème.
Tanaka affirme alors qu'il résout le problème de la génération de clé —ça c'est évident avec un TRNG— ainsi que le problème critique de la distribution de clé —alors ça, pour le coup, c'est étonnant—.
Il fait alors référence à un précédent papier concernant la synchronisation de deux horloges distantes en utilisant les muons et leur vitesse de propagation bien connue, proche de la vitesse de la lumière, la CTS Cosmic Time Synchronizer.
Comment saute-t-il d'une synchronisation à une distribution de clé ? Voilà qui est intriguant, car on n'est pas loin de la même situation en QKD.
CTS Cosmic Time Synchronizer
Un apparté est utile pour décrire cette histoire de synchronisation d'horloge, car ce sera un point important pour la suite. La description est dans le papier du même auteur Cosmic time synchronizer (CTS) for wireless and precise time synchronization using extended air showers.
L'idée de base est de considérer qu'une gerbe issue d'un rayon cosmique est synchrone, et qu'on pourra alors mettre en phase tous les détecteurs.
Une difficulté évidente est de s'assurer que la détection est la même pour tous, et la communication entre les détecteurs sera d'une grande aide.
De plus, il existe un décalage plus ou moins négligeable entre les appareils car ils ne reçoivent pas tous le signal au même moment du fait de leur localisation, surtout si elle est variable. Mais les muons traversent les murs, un avantage certain par rapport au GPS !
On retiendra que la synchronisation est possible dans une certaine mesure (on parle de centaines de nanosecondes) grâce aux rayons cosmiques, nonobstant quelques soucis d'erreur de lecture (le détecteur n'est pas forcément sensible uniquement aux muons et ne marche pas toujours bien...).
Et que, d'une manière évidente, la synchronisation sera meilleure pour des appareils proches, par exemple une dizaine de mètres.
RESULTS : Principle of COSMOCAT
Tanaka rappelle comment les muons sont générés à partir de la particule primaire du rayon cosmique. Il introduit le fait qu'il existe des muons horizontaux, mais en bien moindre quantité que les muons verticaux.
Le second paragraphe est suffisamment important pour que je le reproduise :
In the COSMOCAT scheme,
- (1) if the sender knows the receiver will detect the same muons,
- (2) if the sender knows the distance between the sender and the receiver, and
- (3) if the time is accurately synchronized between the sender and the receiver,
then the sender can predict the muon’s arrival time at the receiver’s detector
C'est le principe de base pour faire de la détection par coïncidence, rien de bien nouveau. Mais une conséquence intéressante est que l'on mesurera la même durée entre les détections de deux muons sur des détecteurs spatialement séparés. Notez la condition "être sûr de recevoir le même muon".
L'auteur s'attaque ensuite aux menus problèmes pratiques.
Il existe un décalage de réception entre deux détecteurs. Au pire, c'est l'espacement divisé par la vitesse de la lumière à un chouïa près, en supposant que le muon se déplace horizontalement, mais ce décalage n'est pas forcément toujours identique entre deux rayons cosmiques, cela dépend des trajectoires (aléatoires) des muons.
Le paragraphe suivant [Therefore, resolving the condition (1)...] s'intéresse à la première condition citée, à savoir "être sûr de lire le même muon". Tanaka enseigne une procédure pour résoudre ce problème. En simplifiant son explication, Alice et Bob possède chacun une horloge avec une période T, qu'on aimerait identique, et notent les heures d'arrivées des muons. Ils se retrouvent tous les deux chacun avec une liste, presque identiques s'il n'y avait pas de dérives.
Les heures d'arrivées permettent de calculer le temps écoulé entre deux détections. Un point important est que ce temps écoulé est aléatoire, mais c'est le même pour les deux. Alice et Bob partagent donc une série de bits aléatoires identiques, ce qui est une propriété intéressante en cryptographie, c'est d'ailleurs tout l'objectif de la QKD.
Encore faut-il que la série soit secrète.
Sauf que les heures d'arrivées ne sont pas forcément les mêmes entre Alice et Bob :
- les angles d'arrivée des muons sont variables et imprédictible, et on ne les mesure pas
- il est possible qu'un détecteur ne détecte pas de muon (muon trop faible en énergie)
- (aparté) ajoutons que d'autres erreurs de lecture doivent arriver, par exemple via d'autres sources radioactives
Bref, il a des erreurs. Comment les éliminer ? C'est l'objet du paragraphe suivant où :
Due to these random events, the sender should send the encoded message repeatedly so that these random event errors can be eliminated and the receiver can successfully decode the message.
Alice envoie un message chiffré à Bob, et Bob va essayer toutes les combinaisons dans sa liste de clés, clés fabriquées à partir de la liste de bits constitués des écarts entre évènements appelés Ni. Tanaka estime qu'il faudra qu'Alice envoie 5 messages pour que Bob en décode un avec succès, mais les paragraphes suivants remarquent que ce sera une limitation en pratique avec des arguments de calcul qui sont détaillés, et d'un intérêt relatif.
Le dernier paragraphe du chapitre est surprenant :
Also, Ni will have to be converted to a combination of characters and numbers to strengthen the key.
Tanaka n'a même pas décrit comment il crée cette clé ni comment il chiffre son message ! C'est incompréhensible car il transmet la suite de bits aléatoires censée être identique chez Alice et Bob, chiffrée avec quoi, on se le demande...
Et Tanaka conclue qu'il a mis en place un système hautement sécurisé...
COSMOCAT sensor
La description du capteur est d'un intérêt relatif en cryptographie, à part si on veut réaliser des attaques matérielles. On sait bien qu'il faudra sécuriser tout ça, mais ce n'est pas le propos ici.
On notera tout de même l'usage de capteurs carrés d'un mètre de côté, pour des communications qui seront limitées à 10 mètres. Il reste de la marge d'amélioration, comme on dit.
Randomness of the cosmic-ray muon arrival times
Rien de bien spécial dans ce chapitre, comme je l'ai déjà fait remarquer, les rayons cosmiques sont certainement une bonne source d'entropie pour faire un générateur de nombres aléatoires.
Muon’s time of flight
Ce chapitre décrit les résultats obtenus avec le système mis en place.
Cosmic keys
Il s'agit encore de résultats expérimentaux. Pas de description détaillée du protocole.
Performance examples
Nous avons enfin ! la description d'une procédure :
Therefore, the procedure the sender needs to follow is as follows:
- (A) encode the message to be sent with the key (Ni (t0)) generated at t = t0,
- (B) send the encoded message to the receiver,
- (C) confirm whether the receiver could decode the message or not,
- (D) if the receiver could decode the message, send the next message with Ni (t1).
- (E) if the receiver could not decode the message, send the same message with Ni (t1).
The procedure the receiver needs to follow is as follows:
- (F) decode the received message with the keys generated within the time range between t G T s.
- (G) send confirmation whether the receiver could decode the message to the sender.
Que des évidences. Mais pas l'ombre d'une description de chiffrement :
- je suppose qu'une liste de messages (secrets ?) est convenue d'avance entre Alice et Bob
- le chiffrement pourrait être un simple XOR
- il n'en profite pas, si le message est décodé, pour remettre en phase ses horloges ?
La suite décrit les résultats obtenus, sans intérêt cryptographique. Mais on sent que cette histoire de décodage pose un réel problème, que c'est une limitation de la technique.
Le paragraphe [In practice...] montre la faiblesse de l'auteur en cryptographie car il parle de craquer un code alors qu'il n'a même pas décrit son chiffrement. Sa faiblesse sera plutôt dans l'élaboration des messages qui servent à vérifier si Alice et Bob ont la même clé...
Discussion
Il s'agit du chapitre suivant dans le papier dénommé "discussion".
À part dire que sa solution est extraordinaire, qu'elle ne consomme pas de ressource, que la QKD est nulle car elle se fait attaquer, rien d'intéressant.
COSMOCAT offers an unprecedented high security key sharing scheme...
Mais bien sûr.
Tu n'as même pas décrit ton protocole, et tu ne sais même pas si les bits communs sont vraiment secrets...
À partir du paragraphe [Cosmically derived...], c'est carrément de l'ignorance et/ou de la naïveté.
- Installer un autre capteur à côté : l'auteur a un peu oublié les attaques basiques, on en parlera plus tard. Et penser que jamais un attaquant ne le fera est très naïf.
- Prendre comme défense le fait qu'il faut vraiment être à côté pour qu'une attaque fonctionne montre surtout la faiblesse du système qui ne marchera pas sur une longue distance, l'auteur parle de 10 mètres.
Le paragraphe suivant est désolant car il montre la faiblesse du protocole actuel, qui n'est même pas décrit, en estimant que ce problème sera résolu dans le futur. Eh bien non, il faut d'abord que la base soit solide.
Ensuite tout va bien dans le meilleur des mondes, le système mis en place est la panacée...
J'aurais aimé trouver dans ce papier un mécanisme qui assure qu'Alice et Bob partage une série de bits aléatoires secrets grâce aux rayons cosmiques.
Mais ça n'est pas le cas. Je m'y attendais.
Article Nature
Autant dire de suite que je ne m'attends pas à trouver des informations sensationnelles. Et que Nature devrait trouver des relecteurs afin d'ajouter les bémols nécessaires pour ce genre de papier...
L'introduction est pleine de promesses :
As a consequence, it has become possible to propose a practical methodology for a new key storage and authentication strategy which has the potential to be an impregnable defense against any kind of cyber/physical attack to data storage.
C'est peut-être de l'ignorance des attaques qui peuvent exister, et il y en a beaucoup. L'auteur indique qu'il va commenter certains aspects de sécurité, on attend ça avec impatience.
Tout le début est un ramassis d'âneries concernant la sécurité, tout ça pour introduire qu'une distribution de clés de chiffrement qui ne seraient pas transmises par un réseau conventionnel quelconque résoudrait tous les problèmes. Et donc la solution proposée serait salvatrice.
L'auteur dézingue à tout-va les diverses solutions cryptographiques proposées, et visiblement ne se rend pas compte des problèmes. Tout y passe, les PUF, la QKD...
COSMOCAT has been invented as a post-quantum key generation and distribution scheme for near field communication under a common key cryptosystem
Quand je lis ça, c'est carrément de ce niveau-là :
Oui, du snake oil. Ça y est, l'auteur m'a vraiment énervé.
As long as the same specific muons pass through the detectors, by recording the arrival time of those muons and using the timestamps as random data for cryptographic keys, each detector can independently generate the same secret keys without having to exchange the keys to one another.
Le mot qui va fâcher est cité : secret. C'est là que le bât blesse. On verra ça plus tard.
Notez également la condition, pas suffisamment claire car en fait, on ne sait pas si c'est le même muon qui passe
dans les deux détecteurs, ou si c'est 2 muons séparés issus, espérons-le, du même rayon cosmique. L'auteur est peu précis sur ce point,
et pour cause, je pense qu'on ne le saura jamais, ce qui n'est pas critique du reste. On veut juste éliminer les erreurs.
Tanaka décrit alors la même chose que dans le papier précédent :
- Une séquence aléatoire de bits est extraite des détecteurs, la même pour les deux, ce qui permet de créer une clé.
Il appelle cette clé une cosmokeys. Il l'utilise en one-time pad, il précise un protocole, c'est un progrès par rapport au papier précédent. Et effectivement, un message chiffré par une telle clé est incassable, à la condition de l'utiliser une seule fois, c'est écrit dessus. One-time.
Certes, pourquoi pas, mais est-elle vraiment secrète ?
Viens ensuite la description des ennuis que l'auteur a rencontrés pour synchroniser ses horloges, puisque tout repose sur la date de réception des rayons cosmiques, ou plutôt de ses muons secondaires. La résolution de ces petits ennuis techniques est sans intérêt cryptographique, à part certaines maladresses comme ajouter un câble, une catastrophe sécuritaire.
Results
Rien d'intérêt ou de nouveau dans ce chapitre.
Principle of COSMOCATS.
L'auteur décrit le mécanisme, avec aussi peu de précision que dans le papier précédent.
Notons toutefois qu'il a ajouté qu'il fallait effacer la clé une fois utilisée. Application du principe one-time password, c'est un progrès.
Hardware and software components and the testing environment.
L'auteur a cette fois utilisé 3 scintillateurs, soit 3 appareils. S'agissant de tests et de mise au point, il n'y a aucun intérêt cryptographique dans cette section. Ce qui est important, c'est l'implémentation définitive avec les échanges entre les appareils qu'il faut décrire afin que l'on puisse mener une analyse de sécurité en bonne et due forme.
Results and the significance of the improvements observed.
Aucun intérêt cryptographique. On peut juste constater que l'auteur apprend à mieux ajuster son système.
Mais on nous promet un algorithme ! J'attends cela avec impatience.
Discussion
Il s'agit du chapitre suivant dans le papier dénommé "discussion".
Quelques sections sont relatives à la cryptographie.
Potential vulnerabilities that may still be present. If eavesdroppers were to setup an additional detector above or underneath COSMOCATS, and if they know the time-zero moment defined by COSMOCATS, they will be able to steal keys. However, this risk can be mitigated by frequently changing the time-zero values. Since these values are used only for time synchronization, these values don’t have to be known by users and thus, security of these values is somewhat guaranteed.
Ah ben ça, on va en reparler. Parce qu'il semble assez évident qu'Eve va placer un détecteur à côté de ceux d'Alice et Bob, afin de recevoir le même signal, et donc la même clé.
Indiquer comme solution de "changer fréquemment le zéro temporel" est délirant, car le problème du zéro se pose initialement pour Alice et Bob. L'auteur indique que ces valeurs n'ont pas à être connues par les utilisateurs, et donc la sécurité est "garantie".
C'est vraiment prendre Eve pour une idiote, elle écoutera les échanges entre Alice et Bob, et finira par trouver la synchronisation... D'autant plus facilement que Bob a du mal à trouver le bon message, 1 fois sur 5 échanges (ou un autre ratio, peu importe, c'est décrit dans le paragraphe suivant).
Time synchronization scheme
Pas de la cryptographie, mais ce point particulier m'énerve. Aussi.
Les histoires de synchronisation d'horloge montrent que l'auteur n'est pas bien au courant de la précision des horloges embarquées, surtout sur un temps aussi court (les quartz sont là pour ça). Recaler les deux horloges est facile vu qu'Alice envoie une tirée de messages à Bob, il suffit de convenir de "top de synchro", comme l'horloge parlante dans le temps.
On n'a absolument pas besoin du temps universel GPS, ou d'autre chose, l'important est que les horloges d'Alice et Bob marchent à la même vitesse.
L'auteur se complique la vie en ajoutant des nouveaux détecteurs de muons pour la synchronisation, et on se demande s'il a bien compris comment fonctionne son propre système, et où sont les vrais problèmes. Il reste la désagréable impression que les histoires d'horloge, de clé et de messages de vérification mélangent tous les problèmes.
Secure electronic digital signing
Je me demande si l'auteur a bien compris comment marche la signature électronique de document. Mais d'une manière générale, c'est très maladroit.
La première chose à faire est de s'assurer d'avoir la même suite aléatoire de bits secrets chez Alice et Bob. Une fois que l'on a atteint ce stade, on connait les techniques pour effectuer de la cryptographie. On dérive une clé de chiffrement des bits secrets en utilisant les algorithmes bien connus dans le domaine, et une fois qu'Alice et Bob partage la même clé (symétrique), on peut réaliser toutes les opérations habituelles du domaine.
Alors effectivement, si le système s'avère efficace, le placer dans un coffre de banque fermé est une bonne idée ! Et une fois que le chiffrement est réalisé, tous les documents chiffrés sont publics, inutile de faire des choses bizarres. Sauf que pour déchiffer, il faudra la clé, soigneusement cachée dans le coffre. Donc y accéder, ouvrir le coffre, ce qui n'est jamais bon.
Au lieu de se projeter sur les futures possibilités offertes par COSMOCATS, l'auteur ferait mieux de bien décrire comment il arrive à cette suite de bits secrets communs entre Alice et Bob.
Tout ce qui concerne la monnaie électronique et les applications qui suivent est à prendre avec des pincettes. C'est très publicitaire et peu convaincant, car il faut d'abord assurer la sécurité et le secret des bits partagés pour que ça devienne intéressant, et là, on reste sur sa faim.
Signature (A)
- Un message (pas forcément secret, visiblement) (le chat) doit être signé (=chiffré) avec une clé.
- Avec le système décrit par l'auteur, une clé de chiffrement est créée, la même en haut et dans le coffre.
- En haut, le chat est chiffré avec la clé, le résultat est une signature ou sceau, une suite de bits qui n'est pas secrète. Notez que cette opération n'est pas réalisée dans un environnement sécurisé, c'est pour ça que je bugge avec ce schéma.
- Seule la clé pourra prouver que le chat est authentique. On conserve donc la clé au chaud dans le coffre.
- En haut, à l'étage non protégé, la clé peut être détruite. Il reste le chat et le sceau (pas indiqué sur le schéma).
Preuve (B)
- Pour prouver que mon chat est un vrai chat, je dois le présenter avec le sceau. Le calcul est refait avec la clé, et comparé au sceau. Seule cette clé sera capable de retrouver le même résultat.
- Il faut donc, à un moment ou à un autre, mettre le chat et la clé conservée au chaud dans le coffre ensemble pour refaire le calcul du sceau et comparer avec le sceau présenté.
- C'est la flèche rouge qui indique que le chat va dans le coffre, et la flèche bleue retourne le résultat.
- Une liaison avec le coffre est donc impérative... Damned.
USB-based databridge ?!? Ben non, c'est raté, une porte est ouverte, il faudra l'attirail cryptographique usuel pour communiquer avec le coffre. En particulier pour être sûr que l'on communique avec le (vrai) coffre, et pas une arnaque qui l'imiterait.
Mais cet exemple est secondaire. Il faut d'abord traiter la base, et ici c'est raté.
En résumé

Correction
Ma partie préférée, car je peux râler comme un putois et faire mon donneur de leçons.
Le fond du problème est que les rayons cosmiques sont publics, et que Tanaka essaye d'en tirer une information privée, sans préciser comment il arrive à le faire.
Je vais essayer de vous convaincre qu'il n'y arrivera jamais en examinant le problème avec des hypothèses les plus favorables possibles, tout en rappelant que de toutes manières, il fera face aux problèmes habituels de sécurité basiques.
Secrets et coffres
L'objectif d'Alice et Bob est d'obtenir une suite de bits aléatoires, la même, mais totalement secrète vis-à-vis du reste du monde. J'explique cela dans la page pour les nuls concernant la QKD, la cryptographie quantique.
Tanaka casse du sucre sur la QKD, mais pourtant il est dans la même situation initiale !
[1] Alice et Bob doivent impérativement être enfermés dans des coffres-forts. Car une clé secrète va être générée, et personne ne doit être capable de la lire depuis l'extérieur.
Ce problème de coffre est courant, et la solution actuelle est d'utiliser des puces électroniques protégées.
Tanaka peut retourner le problème sous tous les angles, il sera contraint d'utiliser ce genre de puce à un moment ou à un autre pour y placer les secrets.
C'est même pire : il faudra protéger le détecteur de muons des attaques matérielles, et avec un détecteur qui fait 1 mètre de côté, cela sera pénible à réaliser. Il faudra établir les menaces potentielles, et une fois cette liste faite, mesurer l'étendue des dégâts.
Man-in-the-middle
Admettons un instant que le système proposé soit capable d'effectuer ce partage de bits aléatoires secrets.
Il faut alors s'assurer qu'Alice discute bien avec Bob, car on pourrait réaliser l'attaque bien connue, avec le même matériel, du man-in-the-middle. Eve s'interpose entre Alice et Bob, et chacun croit discuter avec l'autre, alors que c'est Eve qui est au milieu.
Dans le cas présent, Eve aurait le même système qu'Alice et Bob. Elle établie une connexion avec Bob, et une autre avec Alice, et intercepte l'intégralité des communications entre les deux, dans le cas COSMOCATS, Eve aura créé une clé avec Bob et une autre clé avec Alice, et aura une connaissance intégrale des secrets... Pas terrible.
[2] Comment Alice et Bob font pour s'assurer de leur identité ?
Ce problème est très difficile et n'est jamais totalement résolu dans tous les systèmes de sécurité, même pour le très utilisé système RSA de clé publique/privée.
La confiance dans l'identification vient de la pratique, au bout d'un moment on finit par se dire que l'on discute avec la vraie personne.
Pour le coup, ce n'est pas le point impératif qu'il faudra résoudre ici, mais il ne faudrait pas que ce soit trop facile à réaliser, par exemple en plaçant une attaque juste à côté de deux appareils. Il sera judicieux que cette histoire ne puisse plus arriver une fois la séquence d'initialisation terminée : une clé aura été mise en place, et il se sera plus possible de casser le lien.
Voilà pour les généralités souvent mises de côté. On supposera dans la suite qu'Alice et Bob sont placés chacun dans leur coffre, et qu'ils ont un lien de communication public, où ils sont raisonnablement certains de converser ensemble, Eve ne s'est pas interposée au milieu.
Acerbement, il s'agit de la même situation que la QKD, où une ligne téléphonique publique existe entre Alice et Bob dès le départ. Ici, ce sera la communication courte distance style NFC/RFID/Bluetooth sans chiffrement, évidemment...
Les rayons cosmiques sont aléatoires
La proposition de Tanaka consiste à utiliser les arrivées totalement aléatoires des rayons cosmiques, et d'en extraire une information également aléatoire, imprédictible, en mesurant la durée entre deux évènements.
Rappel : aléatoire ne veut pas dire secret.
Je ne mets pas en doute le fait que les rayons cosmiques arrivent d'une manière aléatoire, je trouve que c'est une bonne idée, on doit pouvoir s'en servir comme source d'entropie pour faire un TRNG (en suivant les règles de conception d'un TRNG).
Il faudra cependant s'assurer qu'il n'est pas facile d'imiter un rayon cosmique, ce qui semble être le cas à première vue. Par exemple :
- Le déni de service, par exemple en plaçant une source radioactive près du détecteur de muons qui le saturera.
- Une source radioactive plus puissante, si possible commandable, qui trompera les deux détecteurs à la fois.
- Tromper le détecteur, par exemple pour le cas présent, en faisant un trou dans la protection, et éclairer de l'extérieur, puisque l'auteur a utilisé un scintillateur. Sans parler de remplacer le détecteur.
- ... et bien d'autres menaces potentielles, volontaires ou involontaires.
[3] Comment tromper le détecteur de muon ? Avec une autre source radioactive ? En éclairant le capteur ?
Cela implique au moins de mettre le capteur à l'abri des attaques.
Une limitation inhérente au système est la distance limitée par la taille de la gerbe. L'auteur indique une dizaine de mètres, ce qui n'est évidemment pas très pratique. Une chose certaine, ça ne sera certainement pas des dizaines de kilomètres. Mais bon, cela n'enlève rien à l'intérêt cryptographique —si ça marche.
Dans la suite, on supposera que les détecteurs sont parfaits : ils ne détectent que les bons muons provenant des rayons cosmiques, et un seul par rayon (car il se pourrait que deux muons arrivent légèrement décalés, ayant suivis des chemins différents).
En pratique les détecteurs sont imparfaits, ils rateront des muons et on aura aussi des faux positifs, mais au moins on élimine un autre problème intellectuellement parlant pour voir si le système proposé a une chance de fonctionner.
Horloges identiques
Comme le système proposé est basé sur les dates d'arrivée des muons, les horloges sont d'une importance capitale.
Peu d'exigences sont requises ici :
- La fréquence d'horloge doit être suffisamment rapide pour assurer une certaine précision par rapport au temps maximum entre deux arrivées de muons
- La fréquence d'horloge d'Alice doit être la même que la fréquence d'horloge de Bob
L'heure absolue ne sert à rien puisque seule la durée, la différence entre deux dates, est utile.
Tanaka s'est littéralement battu avec l'imprécision des horloges pour faire fonctionner son système. À mon avis, la première opération dans le protocole d'échange entre Alice et Bob sera de s'arranger pour que leurs horloges respectives soient suffisamment en phase.
Par exemple, Alice et Bob utilise chacun une horloge à 1 GHz, soit une nanoseconde de précision. L'ennui, c'est que ces horloges dérivent chacune à leur manière. Alice enverra à Bob des signaux à intervalle régulier pour Alice, par exemple 1 million de coups d'horloge (soit une milliseconde), charge à Bob de régler sa fréquence locale pour obtenir la même chose. Et il faudra que les dérives soit suffisamment lente pour que ça marche. Ce n'est pas gagné d'avance.
Une fois qu'Alice et Bob sont en phase, on peut alors s'attaquer aux rayons cosmiques. Mais pas avant !
Notez que cette opération n'est pas spécialement secrète, mais il faudra que la communication soit opérationnelle pour éviter un déni de service. Surtout qu'il faudra probablement la répéter régulièrement à cause des dérives.
Tanaka s'est bien rendu compte de ce problème, mais a dû évacuer la possibilité d'utiliser des horloges atomiques (le système GPS en a besoin...) pour des raisons pratiques et budgétaires.
Dans la suite, on supposera que les horloges sont parfaites, en utilisant des horloges atomiques si vous voulez.
Oui, je sais, ça commence à faire beaucoup de conditions, mais il faut éliminer les ennuis pour voir si le système proposé possède une chance de fonctionner. Et au moins on identifie les points où il faudra travailler.
Il existera un (léger) décalage temporel entre les lectures, mais on ne s'intéresse qu'aux durées, les temps entre deux réceptions de muons.
Les rayons cosmiques sont publics
Et là, c'est le drame.
Les rayons cosmiques sont publics, tout le monde peut les lire.
Bien sûr, il faut être dans la zone de la gerbe, mais cela ne change pas le fait que ces rayons sont publiquement disponibles, c'est même leur qualité principale car ils pénètrent profondément partout. Et leur défaut pour la cryptographie.
Les temps sont aléatoires, identiques, mais pas secrets.
Comment être certain qu'Alice et Bob détectent un rayon cosmique et qu'aucun autre détecteur dans l'univers ne puisse également le faire ? C'est tout le problème du secret.
La cryptographie quantique semble présenter la même propriété, à savoir que le qubit est envoyé publiquement dans la nature, mais la différence critique est le fait que ce qubit ne peut être lu qu'une seule fois, et ne saurait être reproduit, mécanique quantique oblige.
Ceci dit, cela n'empêche pas d'être écouté. Mais Alice et Bob sacrifient des bits secrets pour vérifier si Eve n'est pas à l'écoute, car Eve modifiera immanquablement les qubits transmis.
Si les muons qui arrivent sur Terre étaient intriqués par paire, même avec une probabilité assez faible,
alors là on aurait un vrai moyen d'appliquer les méthodes de cryptographie quantique (genre device independant),
avec en prime bien moins de soucis de réalisation car la nature se serait chargée de générer les paires...
On peut rêver.
Créer une information secrète ?
L'ennui, ce qu'il n'est pas possible de construire une information privée à partir d'une information publique sans déjà partager un secret auparavant. Et c'est justement ce qu'on veut faire : créer un secret "à partir de rien".
Par exemple, si Alice et Bob partage déjà une clé secrète, ou une liste de messages secrets, alors il sera facile de combiner les informations de durées entre muons avec un message secret, ou de chiffrer avec la clé.
Mais cela suppose d'avoir résolu le problème de partage de secret AVANT de commencer à se servir des muons, ce qui est évidemment stupide. Et si jamais il vous prenait l'envie de quand même le faire discrètement, en matière de sécurité cryptographique, la sécurité par l'obscurité NE PEUT PAS marcher sur le long terme (principe de Kerckhoffs). Un exemple célèbre sont les DVD qui étaient protégés par une clé secrète, et une fois qu'elle a été connue, tous les DVD étaient déchiffrables, la sécurité est tombée.
Initialement, il n'existe aucun secret. Sinon tout ceci est inutile (on sait facilement dériver d'autres secrets), et de toutes manières, le secret finira par être connu et le système sera cassé.
Même en QKD les gens se font avoir.
Ah c'est facile de montrer un joli système de chiffrement si on suppose que le problème est déjà résolu au départ...
Dans COSMOCATS, je pense que l'auteur a cru que son mécanisme de synchronisation, de par sa complexité car il fait face à des problèmes peu commodes de synchronisation d'horloge et d'élimination d'erreurs de lecture, allait rendre les bits privés. Mais c'est uniquement le chiffrement (non explicitement décrit), ou plutôt la combinaison entre les bits extraits des muons et ce qu'il appelle le message qui rend les bits privés.
La question que l'auteur doit se poser est "comment est construit un message qui va d'Alice (sender) à Bob (receiver)" :
- Si c'est un XOR entre les bits muoniques et une chaine de caractères, toujours la même, c'est stupide et mort d'avance, ça se déchiffre très facilement.
- Si la chaine de caractères change régulièrement, c'est déjà mieux, mais alors il faut qu'Alice et Bob partage ce secret (que ce soit un algorithme, une liste, la graine d'un générateur pseudo-aléatoire...), et dans ce cas autant partager directement une bonne vieille clé symétrique dont on connait l'efficacité, et les muons ne servent à rien.
L'opinion de Tanaka est dans le paragraphe [Cosmically derived...] du premier papier :
Cosmically derived, randomly generated keys are difficult to steal. In order to steal cosmic keys, eavesdroppers would first have to install another COSMOCAT sensor between the legitimate, pre-installed COSMOCAT sensors. This action is generally practically impossible to implement because (A) eavesdroppers need to know the exact locations of the pre-installed COSMOCAT sensors, and (B) they need to install the hidden COSMOCAT sensor at a location with an identical solid angle to the one existing between the legitimate, pre-installed COSMOCAT sensors. For example, in Figure 7A, if DRECEIVER and DSENDER are located near the ceiling and the floor, since practically, eavesdroppers cannot locate their detector between these sensors, they would have to install the detector underneath the floor sensor to detect all the muons DRECEIVER and DSENDER track, and the size of their detector would be much larger than these sensors to cover the solid angle formed by DRECEIVER and DSENDER defined by Equations 8–2. Even if these actions are possible in principle, this would require many breaches of security in the physical location of the targeted victims, which is also usually practically impossible.
Cette réponse n'est pas acceptable d'un point de vue sécurité. On a éliminé des systèmes pour bien moins que ça. Et cela montre la faiblesse de l'auteur sur l'analyse de sécurité de son système.
Ah, n'oublions pas une mention spéciale pour la rédaction de Nature, mais ce n'est pas la première fois qu'ils publient n'importe quoi pour remplir leur canard, et la cryptographie, quantique ou non, doit les dépasser.
Le chat peut retourner dans son panier.
La critique est aisée, mais l'art est difficile.
Du coup, je reste dans la critique. Quoique. J'ai quelques brevets en crypto.