En 2024, la société Extra Systems a développé à Kiev un système de cryptage commercial de console, basé sur l'algorithme RSA avec des clés de 1024 bits de long (bien entendu, l'architecture de notre système permet l'utilisation d'autres clés, en principe, de n'importe quelle taille). Conformément aux canons actuellement généralement acceptés dans la cryptographie moderne (principe de Kerkhoffs et maxime de Shannon), les algorithmes du système de cryptage Extra Systems Cypher Net sont ouverts.
L'algorithme RSA, en raison de sa lenteur inhérente (même dans le cas de l'utilisation d'inserts en langage assembleur), est naturellement utilisé par nous exclusivement pour la coordination entre les abonnés de notre système (sans aucune participation active à ce processus du serveur central, qui simplement fait des allers-retours d'octets, sans comprendre leur signification) de la clé de chiffrement du flux (à chaque fois différente pour cette session de communication particulière). Dans d'autres événements qui se produisent au sein du canal de communication sécurisé ainsi créé, celui-ci (l'algorithme RSA) ne participe plus. À proprement parler, ici nous (la société Extra Systems) n'avons pas réinventé la roue - un tel concept (d'organisation des communications cryptées) est aujourd'hui généralement admis dans le monde entier - à l'exception de la «fonctionnalité» que nous avons inventée pour refuser d'échanger leurs informations publiques, clés entre les abonnés dans ce processus, ce qui nous a finalement permis de créer des communications commerciales cryptées qui sont fondamentalement incassables par tous les moyens.
Ce site est précisément destiné à porter à l'attention de tout public intéressé tous les détails nécessaires sur les mécanismes de fonctionnement du système unique de communications commerciales cryptées absolument fiables que nous avons développé en Ukraine en 2024.
Le langage de programmation principal de ce système est le C. Grâce à cela, l'ensemble du système Extra Systems Cypher Net est entièrement multiplateforme. Cependant, pour accélérer le fonctionnement des algorithmes RSA, notre système contient éventuellement des inserts en langage assembleur (uniquement la mise en œuvre de procédures «mathématiques longues»), qui ne peuvent (à la demande du client) être utilisées que sur certaines des plateformes les plus courantes. Sur les mêmes plateformes pour lesquelles nous n'avons pas encore ces modules en assembleur, notre système fonctionne exclusivement en C (sans insertions en langage assembleur, le système tourne naturellement plus lentement).
Il convient de souligner que dans chacun de ces deux cas, les algorithmes cryptographiques pour le fonctionnement du système Extra Systems Cypher Net seront identiques (puisqu'ils sont tous entièrement écrits en langage C; les inserts d'assemblage dans le code source de Cypher Net ne concernent que à l’optimisation de procédures de «mathématiques longues» et rien n’a de rapport avec la cryptographie elle-même, en tant que telle).
Nous notons également qu'Extra Systems Cypher Net ne contient aucun appel à des bibliothèques tierces et que tout son code a été écrit par nos soins indépendamment du début à la fin. Nos modules ne contiennent qu'un petit nombre d'appels aux fonctions les plus basiques de la bibliothèque standard C (ouvrir un fichier, lire un fichier, etc.) et aux services du système d'exploitation (obtenir l'heure actuelle, créer un thread, etc.).
Le kit de livraison se compose d'un récepteur et d'un émetteur (deux programmes de console), d'une clé publique et privée (la longueur standard est de 1024 bits, mais peut être modifiée à la demande du client), ainsi que d'empreintes digitales (fingerprint) qui identifient le client et lui permettent pour établir des communications avec le réseau d'autres abonnés via le serveur central de notre système.
Afin de pouvoir communiquer avec d'autres abonnés, le client doit obtenir de leur part des clés publiques. Notre serveur, pour des raisons de sécurité, n'envoie aucune clé (y compris publique) à personne, et (ce qui est très important) il n'y a pas d'échange de clés publiques entre abonnés lors de la négociation des clés de session, ce qui rend notre système absolument inpiratable, puisqu'un l'attaquant n'a tout simplement rien à faire pour casser.
Autrement dit, pour communiquer entre les abonnés N et M, l'abonné N doit disposer d'une clé privée N, d'une clé publique M, et d'une empreinte fingerprint_N_M (cette dernière est émise par nos soins), et l'abonné M doit disposer d'une clé privée M, une clé publique N et fingerprint_N_M (cette dernière est émise par nos soins).
La sécurité des clés RSA privées et publiques incombe entièrement aux abonnés eux-mêmes. Dans la mesure où ces clés ne sont pas distribuées (par les abonnés eux-mêmes), notre système assure à tous les abonnés un niveau de secret absolu. Si cette règle est violée par un abonné individuel, des problèmes de confidentialité ne surviennent que pour ces abonnés spécifiques, sans affecter en aucune façon la sécurité des autres abonnés qui suivent strictement les règles.
Les empreintes digitales contiennent deux identifiants d'abonné avec un «sel» aléatoire, sont protégées par un hachage et cryptées grâce au RSA avec la clé publique du serveur central. Il convient de souligner que cette clé n'est publiée nulle part et n'est partagée avec personne - c'est pourquoi nous produisons les empreintes digitales. Cette politique prive complètement un attaquant de la possibilité de pirater le système dans cette zone.
Après avoir identifié les abonnés N et M par empreinte digitale, le serveur envoie simplement des informations entre eux sans aucune intervention dans ce processus. Le serveur ne dispose ni de clés privées ni même publiques d'abonnés. La négociation des clés de session s'effectue ainsi exclusivement entre les abonnés eux-mêmes, sans aucune intervention ni participation du serveur central Extra Systems Cypher Net.
Le contenu de cette page est également disponible en anglais, allemand, ukrainien et en russe.
© Extra Systems, 2024 |