Cryptosim : essayez l'API Cryptosat
Cryptosat construit et lance de petits satellites en orbite terrestre basse (LEO). Là, physiquement hors de portée de quiconque, ils servent de modules cryptographiques les plus sécurisés qui protègent les opérations et les protocoles sensibles, et exécutent des fonctions telles que la récolte d'entropie, les configurations de confiance pour les protocoles cryptographiques ou la signature de transactions et de données depuis l'espace.
La plupart des développeurs et des utilisateurs sont très éloignés de l'industrie spatiale et n'ont jamais interagi directement avec un satellite. C'est pourquoi nous avons pensé qu'il serait extrêmement utile de donner aux développeurs une idée de certaines des possibilités, ainsi que des contraintes liées au travail avec une constellation de satellites.
Dans cet article, nous plongeons dans Cryptosim (Cryptosat Simulator) - un simulateur de bac à sable et un didacticiel interactif que nous développons depuis que nous avons lancé Cryptosat. Cryptosim est accessible à l'aide de n'importe quel navigateur moderne et permet aux développeurs de se renseigner sur les fonctionnalités de nos satellites avant toute intégration réelle avec notre pipeline de production.
L'interface utilisateur du simulateur est divisée entre un didacticiel (sur le côté droit) qui décrit les fonctions de l'API prises en charge par Cryptosat, une carte qui montre la trajectoire du satellite et une console JS où l'utilisateur peut essayer l'API par programmation et interagir avec le simulé. satellite pour demander son statut, signer des messages, demander un caractère aléatoire, générer des paires de clés Delay-Encryption et plus encore.
Le didacticiel explique les principes généraux de Cryptosat, enseigne les fenêtres de communication et la disponibilité des satellites, l'interface asynchrone avec les satellites et présente les différentes fonctions cryptographiques prises en charge par Cryptosat, ainsi que la façon de les utiliser dans un contexte.
Jetons un coup d'œil à l'exemple de Public Randomness , également connu sous le nom de Random Beacon ou VRF(Fonction aléatoire vérifiable).
Cryptosat diffuse périodiquement une balise aléatoire - une séquence de bits imprévisible générée par l'entropie récoltée à bord d'un satellite. Cette balise pourrait être utilisée pour organiser des loteries, générer des mélanges NFT aléatoires, etc. L'appel cryptosat.getPublicRandom()renvoie la balise la plus récente reçue de la constellation de satellites de Cryptosat.
D'un point de vue physique, il montre en fait sur une carte la trajectoire réelle de notre premier satellite, Crypto1, basée sur des données ( TLE ) extraites du NORAD, une agence américaine qui surveille tous les objets en mouvement en orbite. Au fur et à mesure que nous lancerons plus de satellites, nous ajouterons ceux de Cryptosim avec leurs trajectoires respectives.
API asynchrone
Étant donné que les satellites ne sont pas visibles pour les stations au sol 100 % du temps, il peut parfois y avoir un retard important dans l'exécution d'une demande d'utilisateur. Par conséquent, l'API satellite est asynchrone. Les fonctions renvoient un objet de requête, que vous pouvez interroger sur l'état d'achèvement de la requête en appelant la .status()méthode. L'état de la demande restera Pendingaussi longtemps que les satellites sont hors de portée de toute station au sol. Dès son exécution, l'état passera à Ready. L'utilisateur peut alors appeler en toute sécurité la .result()méthode pour obtenir la réponse satellite.
Utiliser des exemples de cas
Cryptosim présente certains des cas d'utilisation dans lesquels un utilisateur peut souhaiter utiliser les services Cryptosat. Le thème commun à tous est d'utiliser les satellites Cryptosat comme une racine de confiance cryptographique inviolable, fiable et sécurisée, à laquelle on peut faire confiance pour fonctionner correctement et fournir une intégrité cryptographique car ils sont physiquement hors de portée même des plus adversaires sophistiqués.
La version actuelle de Cryptosim inclut des exemples pour :
- Aléatoire public (Random Beacon)
- Aléatoire privé - où un utilisateur peut demander que des bits aléatoires soient chiffrés avec une clé publique qu'il fournit dans la demande.
- Récupération d'un horodatage signé - qui peut être utilisé par des applications qui nécessitent une source de temps fiable ou des contrats intelligents qui doivent garantir qu'un certain laps de temps s'est écoulé dans le monde réel.
- Signer toutes les données dans l'espace
- Delay Encryption — où un satellite génère une paire de clés cryptographiques et publie la clé publique. La clé privée n'est pas publiée avant qu'un laps de temps spécifié ne se soit écoulé, ce qui empêche le décryptage prématuré de toute donnée cryptée avec la clé publique publiée. Cela pourrait être utilisé, par exemple, dans les enchères, les systèmes de vote, et plus encore (envoyez-nous un cas d'utilisation qui VOUS passionne !).
API RESTful
En plus de la simulation autonome basée sur un navigateur, nous travaillons à ouvrir l'accès à une API RESTful. L'API permettrait l'accès aux satellites de production pour les utilisateurs autorisés, ainsi qu'à une constellation simulée à des fins de développement et de test.
Contribution open source
Si vous souhaitez apporter des idées supplémentaires et suggérer des cas d'utilisation pour Cryptosat, vous pouvez jouer avec le code source de Cryptosim, qui est disponible sur notre Github . Le référentiel principal est cryptosim-tutorialmais, selon les éléments que vous souhaitez modifier, vous pouvez également consulter les référentiels cryptosimet .cryptosim-visualization
Utilisation des satellites Cryptosat
N'oubliez pas que le but est d'apprendre à utiliser l'API, puis d'utiliser les satellites Cryptosat réels et d'obtenir des requêtes servies depuis l'espace. Contactez-nous à [email protected] pour plus d'informations sur l'intégration à notre système de production. Plus d'informations techniques sur Cryptosat et ses API se trouvent sur notre portail de documentation .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































