Réflexions d'un homme oisif sur la cryptographie et la protection des données

Réflexions d'un homme oisif sur la cryptographie et la protection des données

Pourquoi parler de criptographie ? Personnellement, j'ai des connaissances assez superficielles à son sujet. Oui, j'ai lu le travail classique de Bruce Schneier, mais c'était il y a longtemps ; oui, je comprends la différence entre le chiffrement symétrique et asymétrique, je sais ce que sont les courbes elliptiques, mais c'est tout. De plus, les bibliothèques cryptographiques existantes, avec leur charmante habitude d'inclure le nom complet de l'algorithme dans le nom de chaque fonction et une multitude d'initialisateurs visibles, provoquent chez moi, en tant que programmeur, un véritable mal de dos.Réflexions d'un homme oisif sur la cryptographie et la protection des données
Alors pourquoi ? Probablement parce qu'en lisant le flot actuel de publications sur la protection des données, les informations confidentielles, etc., j'ai l'impression que nous creusons au mauvais endroit, ou plus précisément, que nous essayons de résoudre des problèmes qui sont en réalité sociaux à l'aide de moyens techniques (la cryptographie). Parlons-en, je ne promets pas de découvertes majeures, ni d'offres concrètes, ce ne sont que des pensées oisives.

Un peu d'histoire, juste une goutte

En 1976, un standard fédéral a été adopté aux États-Unis pour les algorithmes de chiffrement symétrique — DES. C'était le premier algorithme cryptographique public et standardisé, créé en réponse à la demande croissante des entreprises pour la protection des données.

Une coïncidence amusante

L'algorithme a été publié par erreur. Il a été optimisé pour une mise en œuvre matérielle et était considéré comme trop complexe et inefficace pour une mise en œuvre logicielle. Cependant, la loi de Moore a rapidement tout remis en place.

On pourrait penser — fin de l'histoire, utilisez-le pour chiffrer, déchiffrer, et si nécessaire, augmentez la longueur de la clé. Vous savez probablement que les Américains ont laissé des portes dérobées, alors pour vous, il existe un équivalent russe — GOST 28147-89, auquel vous faites probablement confiance encore moins. Dans ce cas, utilisez les deux, l'un par-dessus l'autre. Si vous croyez que le FBI et le FSB se sont unis pour échanger leurs portes dérobées pour votre bien, alors j'ai une bonne nouvelle pour vous : vous n'êtes pas un paranoïaque, vous avez juste une banale manie de grandeur.
Comment fonctionne le chiffrement symétrique ? Les deux participants connaissent la même clé, également appelée mot de passe, ce qui a été chiffré peut également être déchiffré avec cette clé. Ce schéma fonctionne parfaitement pour les espions, mais est complètement inadapté à l'Internet moderne, car cette clé doit être préalablement transmise à chacun des interlocuteurs. Pendant un certain temps, lorsque seules quelques entreprises protégeaient leurs données en communiquant avec un partenaire connu à l'avance, le problème était résolu grâce à des coursiers et à du courrier sécurisé, mais ensuite Internet est devenu massivement accessible et la scène a changé.

Cryptographie asymétrique

où deux clés sont impliquées : une clé publique, qui n'est pas gardée secrète et est communiquée à quiconque le souhaite ; et une clé privée, que seul son propriétaire connaît. Ce qui est chiffré avec la clé publique ne peut être déchiffré qu'avec la clé privée, et vice versa. Ainsi, n'importe qui peut connaître la clé publique du destinataire et lui envoyer un message, mais seul le destinataire pourra le lire. On pourrait penser que le problème est résolu ?
Mais l'internet ne fonctionne pas comme ça, la question de l' authentification et, surtout, de l'authentification initiale, et aussi, d'une certaine manière, le problème inverse de l' anonymat. En résumé, comment puis-je être sûr que celui avec qui je parle est vraiment celui avec qui je comptais parler ? Et la clé publique que j'utilise appartient-elle réellement à la personne avec qui je comptais communiquer ? Surtout si je ne lui ai jamais parlé auparavant ? Et comment inspirer confiance à un partenaire tout en conservant son anonymat ? Rien qu'ici, en y regardant de plus près, on peut remarquer une contradiction interne.
Examinons brièvement quels types de schémas d'interaction entre participants existent et sont appliqués en pratique :

  • serveur à serveur (ou entreprise à entreprise, dans ce contexte c'est la même chose) : c'est le schéma classique le plus simple, pour lequel le chiffrement symétrique est tout à fait suffisant, les participants connaissent tout l'un sur l'autre, y compris les contacts hors réseau. Cependant, notez qu'il n'est ici pas question d'anonymat, et le nombre de participants est strictement limité à deux. C'est donc un schéma presque idéal pour un nombre de communications très limitées et, en général, il est manifestement peu applicable.
  • Serveur — anonyme (ou entreprise — client) : ici, il existe une certaine asymétrie, qui est efficacement gérée par la cryptographie asymétrique. L'élément clé ici est l'absence d'authentification des clients, le serveur ne se soucie pas avec qui il échange des données ; si cela s'avère nécessaire, le serveur procède à une authentification secondaire à l'aide d'un mot de passe préalablement convenu, et tout cela revient donc au cas précédent. D'autre part, pour le client, l'authentification du serveur est extrêmement importante, il veut être certain que ses données parviennent exactement à la personne à qui il les a envoyées ; cet aspect repose en pratique sur un système de certificats. Dans l'ensemble, ce schéma est suffisamment bien et clairement couvert par le protocole https://, mais quelques points intéressants se posent à l'interface de la cryptographie et de la sociologie. Confiance dans le serveur : même si j'ai transmis certaines informations au serveur de manière absolument sécurisée, des personnes extérieures y ont techniquement accès. Ce problème est complètement en dehors de la responsabilité du chiffrement, mais je vous demande de garder ce point à l'esprit, il ressortira plus tard.
    1. Confiance dans le certificat du serveur : la hiérarchie des certificats repose sur l'existence d'un
    2. certificat racine, digne d'une confiance absolue. Techniquement, un attaquant suffisamment influent [, veuillez considérer le terme attaquant comme un terme technique et non comme une diffamation ou une insulte à l'autorité existante] peut remplacer le certificat de tout niveau inférieur, cependant, il est supposé que le système de certification est nécessaire à tous de manière égale, c'est-à-dire que ce certificateur serait immédiatement ostracisé et tous ses certificats révoqués. C'est une chose, mais notez que le système repose non pas sur des moyens techniques, mais sur une sorte de contrat social. À propos de la fin du monde Dans le cadre de l'attendu effondrement du runet, quelqu'un a-t-il analysé le possible effondrement du certificat racine russe et ses conséquences ? Si quelqu'un a lu / écrit à ce sujet, envoyez-moi des liens, je les insérerai, je trouve le sujet intéressant. confiance certificatchaud
    3. La dé-anonymisation indirecte sur le serveur : c'est aussi un sujet délicat, même si le serveur n'a pas d'enregistrement/authentification formelle, il existe de nombreuses façons de collecter des informations sur le client et finalement de l'identifier. Il me semble que la racine du problème réside dans le protocole HTTP et des protocoles similaires, qui ne pouvaient raisonnablement pas anticiper de telles dérives ; et qu'il serait tout à fait possible de créer un protocole parallèle sans ces failles. Cependant, cela va à l'encontre de toutes les pratiques de monétisation existantes et est donc peu probable. Et pourtant, la question demeure : quelqu'un a-t-il essayé ?
  • anonyme — anonyme : deux personnes se rencontrent en ligne, (une alternative — viennent de se rencontrer), (une autre alternative — pas deux mais deux mille), et veulent discuter de leurs préoccupations, tout en étant Big Brother ne les entendra pas (une alternative — maman ne l'a pas su, chacun a ses priorités). Peut-être entendez-vous de l'ironie dans ma voix, eh bien, c'est parce que c'est ce qu'il en est. Appliquons à cette tâche le postulat de Schneier (tout algorithme peut être cassé si l'on investit suffisamment de ressources, c'est-à-dire d'argent et de temps). De cette perspective, infiltrer un tel groupe par des méthodes sociales n'est pas très difficile, sans parler de l'argent, c'est-à-dire la résistance cryptographique de l'algorithme est nulle même avec les méthodes de chiffrement les plus sophistiquées.
    Cependant, dans ce cas, nous avons un deuxième bastion — l'anonymat, et nous plaçons tous nos espoirs en lui, que tout le monde nous connaisse, mais que personne ne puisse nous retrouver. Cependant, avec les méthodes techniques de protection les plus modernes, pensez-vous vraiment que vous avez une chance ? Je rappelle que je ne parle actuellement que de l'anonymisation, nous avons apparemment conclu de manière convaincante sur la protection des données. Convenons, pour être clair, que si votre nom est devenu connu, ou votre adresse personnelle ou votre adresse IP, l'opération est complètement compromise.
    À propos de l'adresse IP, ici se pose de manière frappante la question du confiance envers le serveur, il sait sans aucun doute quel est votre ip. Tout joue contre vous ici — de la simple curiosité humaine et de l’orgueil aux politiques d'entreprise et à la monétisation. N'oubliez pas que VPS et VPN sont aussi des serveurs, et pour ceux qui théorisent sur la cryptographie, ces abréviations n'importent guère ; et la juridiction du serveur ne joue pas de rôle dans une grande nécessité. L'encodage end-to-end fait également partie de cela — ça sonne bien et solennel, mais il faut quand même faire confiance au serveur.
    Quel est le rôle du serveur dans un tel messager ? Tout d'abord, il joue le rôle trivial de facteur ; s'il n'y a personne à la maison pour le destinataire, il doit repasser plus tard. Mais plus fondamentalement, c'est un point de rendez-vous ; vous ne pouvez pas envoyer de lettre directement au destinataire, vous l’envoyez au serveur pour transmission ultérieure. Et surtout, le serveur effectue l'authentification nécessaire, garantissant à tous que vous êtes bien vous, et à vous que votre interlocuteur est bien celui dont vous avez besoin. Et il le fait avec votre téléphone.
    Vous ne pensez pas que votre messager en sait trop sur vous ? Non, non, nous lui faisons bien confiance (et d'ailleurs, à notre téléphone également, hm), mais les cryptographes affirment que c'est en vain, qu'il ne faut faire confiance à personne.
    Pas convaincu ? Il existe également la question de l'ingénierie sociale ; si vous avez cent interlocuteurs dans votre groupe, vous devez considérer que 50% d'entre eux sont des ennemis, 49% sont soit vaniteux, soit stupides, soit simplement imprudents. Et le dernier pour cent, peu importe votre force en méthodes de protection des données, face à un bon psychologue dans le chat, il est probable que vous ne pourrez pas résister.
    La seule stratégie de protection semble être de se fondre parmi des millions de groupes similaires, mais ce n'est pas notre cas, encore une fois à propos de certains espions-terroristes, qui n'ont rien à voir avec la renommée Internet ou la monétisation.

Eh bien, je pense avoir justifié (non, pas prouvé, juste justifié) mes pensées sévères sur la protection des données dans le modèle actuel de la société. Les conclusions sont simples mais tristes : nous ne devrions pas compter sur une aide de plus en plus importante de l'encryption des données, la cryptographie a fait tout ce qu'elle pouvait, et elle l'a bien fait, mais notre modèle d'internet est totalement en contradiction avec notre désir de vie privée et annule tous nos efforts. Je ne suis en réalité pas pessimiste et j'aimerais vraiment dire quelque chose d'encourageant, mais je ne sais pas quoi.
Essayez de jeter un œil au prochain chapitre, mais je vous préviens — là-bas, ce sont des fantasmes n'ayant rien de scientifique, mais qui peuvent donner de l'espoir à certains et au moins divertir d'autres.

Peut-on faire quelque chose au juste ?

Eh bien, par exemple, réfléchir à ce sujet, de préférence en libérant l'esprit et en laissant de côté les préjugés. Par exemple, laissons temporairement complètement sacrifier l'anonymat, aussi horrible que cela puisse paraître. Que chaque individu se voie attribuer à la naissance une clé publique personnelle unique, et bien sûr, la clé privée correspondante. Ne vous mettez pas à crier et à taper des pieds, dans un monde idéal , c'est extrêmement pratique — ici se trouvent le passeport, le numéro d'identification fiscale, et même le numéro de téléphone dans une seule entité. De plus, si l'on ajoute un certificat individuel, on obtient un authentificateur/log-in universel ; et en plus, un notaire de poche capable d'authentifier n'importe quel document. On pourrait créer un système à plusieurs niveaux — en accès public, seulement la clé publique et le certificat, pour les amis (la liste des clés étant jointe ici) on pourrait rendre le téléphone et ce qu'on confie d'autre accessible, et il pourrait y avoir des niveaux encore plus profonds, mais cela supposerait déjà une confiance inutile envers le serveur.
Avec un tel système, la confidentialité des informations transmises est automatiquement atteinte (bien que, d'un autre côté, pourquoi, dans un monde idéal ?), Alice écrit quelque chose à Bob, mais personne ne le lira jamais sauf Bob lui-même. Tous les messageries obtiennent automatiquement un chiffrement de bout en bout, leur rôle se limite à celui de boîtes aux lettres et il ne peut y avoir aucune plainte concernant le contenu. Les serveurs eux-mêmes deviennent interchangeables, on peut envoyer à travers un, puis à travers un autre, ou même à travers une chaîne de serveurs, comme un e-mail. On peut aussi envoyer directement à l'adresse du destinataire, si son IP est connue, sans passer par aucun intermédiaire. N'est-ce pas génial ? C'est dommage, mais je ne vivrai pas dans cette belle époque — ni moi, ni toi© Eh bien, encore une fois je parle de choses tristes.
Ensuite, où stocker tout cela ? Je pense à faire un système hiérarchique ouvert, quelque chose comme le DNS actuel, mais plus puissant et ramifié. Pour ne pas surcharger les administrateurs des DNS racines avec des ajouts-modifications, on pourrait permettre une inscription libre, la seule vérification nécessaire étant celle de l'unicité. Genre >> « Bonjour, nous sommes cinq personnes, la famille Ivanov. Voici nos noms/identifiants, voici les clés publiques. Qui demandera — envoyez-leur s'il vous plaît chez nous. Et voici, une liste de cinq cents grands-mères de notre quartier avec leurs clés, si quelqu'un les demande, envoyez-les aussi chez nous.«
Il faut juste rendre l'installation et la configuration d'un tel serveur domestique extrêmement simples et pratiques, pour que tout le monde puisse comprendre s'il le souhaite, encore une fois, personne ne devra surcharger les serveurs officiels des autorités.
Stop !, et quel est le rapport avec l'État alors ?

Et maintenant, on peut doucement restaurer l'anonymat. Si n'importe qui peut générer sa propre clé personnelle, la valider avec un certificat individuel et mettre en place un serveur CA de niveau inférieur, que ce soit chez un voisin ou sur un serveur public, pourquoi avoir besoin de toute cette formalité ? D'ailleurs, il n'est même pas nécessaire de s'associer à un personnage réel, offrant ainsi une pleine confidentialité, sécurité et anonymat. Il suffit qu'au début de la hiérarchie se trouve quelqu'un de fiable, après tout, nous faisons confiance à TM ou à Let’s Encrypt, et les DNS publics connus n'ont apparemment encore envoyé personne dans les limbes. Du côté des autorités, il ne devrait pas y avoir de réclamations, c'est-à-dire qu'il y en aura, bien sûr, mais pour quelle raison, en fait ?
Peut-être qu'un jour, un tel système, ou quelque chose de similaire, sera créé. Et bien sûr, nous ne pouvons compter que sur nous-mêmes, aucun des États connus ne lancera un tel système. Heureusement, les services existants comme Telegram, i2p, Tor, et sans doute d'autres que j'ai oubliés, montrent qu'il n'y a rien d'impossible en soi. C'est notre réseau, et c'est à nous de l'organiser si l'état actuel des choses ne nous satisfait pas.
Brrr, je réalise que j'ai terminé sur une note solennelle. En fait, je n'aime pas ça, je suis plutôt enclin au sarcasme.

PS : tout cela, bien sûr, ce sont des rêveries naïves et des rêves de jeune fille.
PPS : mais si quelqu'un décide d'essayer — réservez-moi le pseudo. degs s'il vous plaît, je m'y suis habitué.
PPPS : et la mise en œuvre semble en fait très simple.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster