Opinion : Enterprise Blockchains Redux : Comment être non-non conforme au NIST sans se ruiner PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Opinion : Enterprise Blockchains Redux : comment ne pas être conforme au NIST sans se ruiner

Opinion d'Andreas Freund, membre du groupe d'intérêt du réseau principal de l'EEE

Les blockchains ont un problème rarement évoqué, qui est indépendant des hauts et des bas des marchés de la cryptographie, et qui peut entraver l'adoption de la blockchain à long terme en dehors des cas d'utilisation directe au consommateur et dans certains cas d'utilisation B2B : les algorithmes cryptographiques de la blockchain ne sont pas conformes au NIST, ce qui est un facteur majeur dans la mise en conformité avec la FISMA (Federal Information Security Management Act) ! Et la conformité NIST/FISMA, ou son équivalent en dehors des États-Unis, est un élément important lorsque les entreprises traitent avec des gouvernements ou lorsque les entreprises traitent régulièrement avec des entreprises traitant avec des gouvernements.

Pourquoi les blockchains ne sont-elles généralement pas conformes au NIST ? Eh bien, la raison principale est que les Blockchains sont nées d’une profonde méfiance à l’égard de tout ce qui est géré et approuvé par le gouvernement à la suite de la Grande Récession de 2008 ; y compris des algorithmes cryptographiques approuvés par le gouvernement. Quoi qu’il en soit, l’algorithme de hachage SHA-3, largement accepté aujourd’hui, n’a été finalisé qu’en 2015, après que des blockchains telles qu’Ethereum aient déjà fait leurs choix en matière d’algorithmes de hachage. Par conséquent, la plupart des blockchains telles qu’Ethereum utilisent des algorithmes qui non seulement ne sont pas approuvés par le NIST, mais que le NIST recommande de ne pas utiliser. Notez qu'il existe des blockchains conformes au NIST telles que Simba-Chain ou Fabric fonctionnant sur LinuxONE d'IBM. Cependant, ils sont coûteux et difficiles à gérer en production.   comme les entreprises l’ont appris après avoir dépensé quelques dizaines de millions de dollars en frais de conseil et de mise en œuvre. Le problème des coûts est aggravé par le fait qu'ils ne produisent souvent pas les résultats commerciaux escomptés, car les cas d'utilisation choisis n'étaient pas adaptés aux Blockchains au départ ! Le principal point à retenir de la discussion ci-dessous est que toute nouvelle approche de la blockchain d'entreprise doit répondre non seulement à la conformité au NIST, mais également à la complexité des coûts et de la gestion, afin d'attirer de nouveaux sponsors commerciaux.

Cela signifie-t-il que tout est sans espoir pour la Blockchain dans une entreprise lorsque la conformité au NIST, les coûts et la complexité de la gestion sont des préoccupations ?

Heureusement, la réponse est non, ce n’est pas désespéré. Ce n’est pas anodin, mais pas désespéré.

Pour comprendre ce que cela signifie, récapitulons les caractéristiques des applications basées sur la blockchain vous avoir:

  • L'intégrité des données: Si vous n’avez besoin que de cela, n’utilisez pas de Blockchain. Il existe des alternatives moins chères.
  • Horodatage prouvable: Beaucoup plus intéressant et utile pour les pistes d'audit, par exemple à travers les chaînes d'approvisionnement.
  • Pas de point de défaillance unique: Si vous avez besoin d'une disponibilité à 100%, à petit prix.
  • Résistance à la censure: Accès à des données qui doivent par exemple être auditées par des tiers pas nécessairement identifiés au moment de la création des données, ou exécuter (essentiellement) des transactions irréversibles indépendantes de tout tiers.
  • Protection contre les doubles dépenses: Uniquement pertinent si vous traitez des actifs numériques sur une Blockchain. En d’autres termes, vous aimez vraiment DeFi.
  • Hériter des garanties de sécurité de la blockchain: Celui-là est très intéressant, si vous avez besoin d'évolutivité des applications, tout en étant hautement sécurisé. Nous y reviendrons dans un instant.

Notez qu’aucun des éléments ci-dessus ne parle de la confidentialité des données, l’un des joyaux inestimables des exigences des applications d’entreprise. Mais ne vous inquiétez pas, vous pouvez garantir la confidentialité des données sans publier partout des données sensibles pour votre entreprise. Nous y reviendrons également dans un instant.

Avant de prendre de l'avance, arrêtons-nous ici et discutons du lien entre ces caractéristiques et la conformité NIST. À première vue, pas grand-chose, mais passons en revue chaque caractéristique et discutons de ses implications un peu plus en détail. Cependant, il convient tout d'abord de mentionner que pour obtenir des autorisations d'exploitation (ATO) auprès d'un gouvernement, par exemple le gouvernement américain , il est possible d'utiliser des algorithmes cryptographiques non conformes au NIST, ou des algorithmes sur lesquels le NIST ne s'est pas fait d'opinion, tant que ces algorithmes ne sont pas fondamentaux pour la sécurité de l'application et la confidentialité de ses données. Par exemple, vous devez prouver qu’un contrat a été exécuté un jour précis et n’a pas été modifié depuis. À l'aide d'une Blockchain, on formerait une empreinte cryptographique en utilisant un hachage cryptographique (approuvé par le NIST) du contrat, puis on ancrerait ce hachage sur une Blockchain (publique) qui fournit, une fois inclus dans un bloc, un horodatage prouvable grâce à la combinaison de numéro de bloc, hachage de bloc et horodatage. Si la Blockchain était réorganisée, par exemple via une attaque à 51 %, il serait toujours possible de prendre la transaction avec le hachage du contrat et son bloc et d'inclure les deux dans une autre Blockchain (publique). Par conséquent, la sécurité de la Blockchain originale (publique) n’est pas fondamentale pour le cas d’utilisation.

Dans cette optique, revenons sur chaque caractéristique, en mettant l’accent sur son impact sur la conformité NIST d’une application utilisant la technologie Blockchain :

  • L'intégrité des données: Celui-ci est simple puisque vous pouvez toujours avoir une copie des données pertinentes que vous avez ancrées, par exemple via un hachage cryptographique sur la Blockchain avec une autre forme de protection de l'intégrité des données telle qu'un identifiant vérifiable W3C inviolable avec un algorithme de signature cryptographique approuvé par le NIST. .
  • Horodatage prouvable: Un peu plus difficile mais faisable. Si la chaîne utilisée était compromise, on pourrait toujours récupérer le bloc avec la transaction pertinente contenant par exemple un hachage cryptographique conforme au NIST d'un document et son horodatage, et ancrer le bloc entier avec la transaction via un autre hachage cryptographique conforme au NIST sur une autre Blockchain ; aucun mal réel n'a été causé.
  • Pas de point de défaillance unique: Ok, c'est donc un peu délicat puisque le NIST n'a pas formulé de recommandations sur les algorithmes de consensus. Cela signifie que tant que le modèle consensuel repose sur une base académique solide, par exemple une preuve mathématique de sécurité, il peut être défendu avec succès et nous le plaçons dans la catégorie des non-conformes au NIST.
  • Résistance à la censure: Cela semble facile, mais comme cela signifie que les données seront facilement visibles par (presque) tous les participants, il faut faire très attention à utiliser les bonnes méthodes d'obfuscation pour les données placées sur une Blockchain, afin de réussir à faire valoir que la confidentialité des données est préservée. . Celui-là est donc un peu délicat mais peut être surmonté. Accrochez-vous bien, j'arrive tout de suite.
  • Protection contre les doubles dépenses: Maintenant, celui-ci est vraiment difficile car il combine les points précédents avec l'exécution déterministe des transactions, la validation des transactions et la formation de blocs qui reposent tous de manière complexe sur les algorithmes cryptographiques utilisés. Sans entrer dans les détails, si vous avez besoin d’une protection contre les doubles dépenses comme fonctionnalité clé de votre application basée sur la Blockchain, vous n’avez pas de chance quant à la conformité NIST… si votre actif numérique est né sur la Blockchain ! Nous y reviendrons également dans une seconde.
  • Hériter des garanties de sécurité de la blockchain: Cela semble être clair. Si votre sécurité repose essentiellement sur la sécurité de la Blockchain sous-jacente et que la Blockchain repose pour sa sécurité sur des algorithmes non conformes au NIST ; fin de l'histoire. Encore une fois, pas si vite. La question est : des garanties de sécurité pour quoi ? S’il s’agit d’actifs numériques nés sur une Blockchain, alors la réponse est la même que pour la protection contre les doubles dépenses. Mais si les actifs numériques sont d’abord créés à partir de la Blockchain, puis ensuite répliqués sur la Blockchain, la sécurité de cet actif numérique n’est plus fondamentalement liée à la Blockchain sous-jacente, et nous avons le même argument que pour un horodatage prouvable. pour nous sortir de l’énigme du NIST !

L'évaluation d'impact ci-dessus peut désormais servir de liste de contrôle par rapport aux besoins de conformité NIST d'une application Blockchain, compte tenu des exigences spécifiques du cas d'utilisation de cette application.

Avant de passer à autre chose et de donner un modèle d'application pour une application basée sur la blockchain non conforme au NIST, parlons de la confidentialité des données. Compte tenu des critères ci-dessus et des réglementations existantes en matière de confidentialité des données, placer même des données cryptées sur une Blockchain est considéré comme une idée stupide, même en utilisant des algorithmes de cryptage conformes au NIST. Alors, quelle est l'alternative?

Réponse : Preuves à connaissance nulle (ZKP)

Les ZKP consistent à faire des déclarations sans révéler de données sensibles sous-jacentes, par exemple, le solde du compte de la société ACME est supérieur à 100,000 XNUMX $, ou ce code de réduction a été correctement appliqué à cette commande.

Il existe de nombreux types de ZKP utiles : les preuves Merkle, les engagements Pedersen, les pare-balles, les ZK-SNARK, les ZK-STARK, etc. La clé est d’utiliser des algorithmes cryptographiques conformes au NIST ou non conformes au NIST lors de l’utilisation de ZKP. Sinon foncez ! Les ZKP sont un excellent outil permettant aux entreprises de répondre à leurs exigences en matière de confidentialité des données, tant internes que réglementaires.

Nous sommes maintenant en mesure de formuler une recommandation judicieuse sur la façon de créer une application d'entreprise basée sur la blockchain (non-non) conforme au NIST - un modèle.

Les coûts réels de déploiement et d'exploitation ne sont pas accessibles au public, mais, d'après les connaissances des auteurs, ils se situent entre huit et quelques chiffres en USD, avec des coûts d'exploitation généralement compris entre 15 et 25 % - voir également quelques références. ici ainsi que ici. Ces fourchettes de coûts sont typiques des implémentations et opérations de systèmes d’entreprise à grande échelle telles que les systèmes ERP.

Issu de la loi FISMA et de la circulaire OMB A-130, il incombe aux agences de s'assurer que le risque lié à l'utilisation d'un système d'information pour effectuer des activités telles que l'accès, le transfert, le stockage, le traitement de données fédérales a été déterminé et accepté et qu'un ATO a été approuvé pour de tels systèmes.

Comme le montre la figure, nous commençons par une pile logicielle d'entreprise traditionnelle au sommet – d'abord la couche d'application, puis la couche d'abstraction d'application et enfin la couche middleware – avec toute la conformité requise, par exemple la conformité NIST intégrée. Au bas de l’échelle, nous avons une Blockchain publique, car elle évite aux entreprises d’avoir à créer des consortiums complexes, à dépenser beaucoup d’argent et leur permet d’avancer beaucoup plus rapidement dans le développement de nouveaux produits. Entre le middleware et la couche publique Blockchain, se trouve la couche de traitement « magique » axée sur la confidentialité et la vitesse. Étant donné que la pile utilisera des ZKP préservant la confidentialité et n’utilisera pas principalement les actifs numériques créés sur la blockchain publique, les préoccupations antérieures concernant l’utilisation des blockchains publiques disparaîtront soudainement. Comme l’indiquent les flèches haut et bas à gauche de la figure, la sécurité de la pile augmente à mesure que l’on passe de la couche supérieure à la couche inférieure, la Blockchain publique. L’exact opposé se produit avec les trois autres caractéristiques clés : confidentialité, vitesse et contrôle ; ils augmentent de la couche inférieure à la couche supérieure où une seule entreprise a le contrôle total de toutes les données et peut donc garantir la confidentialité tout en maintenant une vitesse/évolutivité élevée, même pour les données les plus sensibles. Cela ne signifie cependant pas que la confidentialité, la vitesse et le contrôle sont faibles vers le bas de la pile, cela signifie simplement qu'ils sont plus élevés dans les couches supérieures de la pile qu'en bas.

Maintenant, qu’en est-il de cette couche/réseau de traitement « magique » ?

Voici ce que cette couche peut faire en utilisant la technologie existante pour répondre aux exigences de l’entreprise :

  • Confidentialité des données
    • Preuves de transactions sans connaissance
    • Cryptage fort (si nécessaire)
    • Dernières techniques de cryptographie, par exemple algorithmes à sécurité quantique
  • Sécurité
    • Hérite des garanties de sécurité de la Blockchain publique lors de l'utilisation des bons ZKP ancrés sur la Blockchain
    • Les données sur les actifs numériques peuvent être directement disponibles via les ZKP sur la Blockchain publique pour être utilisées si nécessaire
  • Vérifiabilité
    • Tout le monde peut vérifier les preuves sur la Blockchain publique
    • Les preuves peuvent vérifier de manière récursive toutes les transactions d'actifs et l'intégralité de l'historique des transactions d'actifs.
    • Rien n'est finalisé tant que les preuves ne sont pas vérifiées sur la Blockchain publique
  • Vitesse
    • Parallélisation des transactions
    • Regrouper les transactions en les regroupant avec des preuves (récursives)
    • Moins de coût par transaction

En résumé, la couche de traitement « magique » a

  • les mêmes garanties de sécurité que la Blockchain publique utilisée,
  • 100 à 1000 XNUMX fois plus d'évolutivité,
  • disponibilité garantie des données,
  • intimité préservée à tout moment,
  • des frais de transaction bien inférieurs,
  • vérifiabilité de toutes les preuves par quiconque sur la Blockchain publique
  • permet KYC et AML

Ça semble trop bon pour être vrai. Une telle technologie existe-t-elle déjà ? La réponse est oui, et des entreprises telles que Starkware, Aztec, zkSync et d'autres s'efforcent de rendre leurs technologies ZK-Rollup « Layer 2 » entièrement prêtes pour l'entreprise. Tous ces efforts se concentrent sur Ethereum public, car il offre les garanties de sécurité les plus élevées (nombre de mineurs/validateurs et valeur totale verrouillée (TVL)), combinées au support cryptographique requis intégré dans sa couche d'exécution.

Naturellement, ce n’est pas la seule approche possible pour qu’une application basée sur la blockchain obtienne un ATO gouvernemental. Il s’agit cependant d’une approche assez simple et désormais bien comprise.

Alors, qu'est-ce que le net-net ici ?

Les entreprises ont désormais

  • A cadre pour évaluer les besoins des cas d'utilisation par rapport aux caractéristiques de la Blockchain, et comment ces besoins peuvent être satisfaits par des applications d'entreprise basées sur la Blockchain qui peuvent obtenir un ATO gouvernemental.
  • A plan pour créer des applications d'entreprise basées sur la blockchain d'une manière qui leur permettrait d'obtenir un ATO gouvernemental tout en offrant, comme le montre la figure ci-dessus, des avantages supplémentaires :
    • Confiance plus élevée grâce à des blockchains publiques, à une vérifiabilité publique et à une confidentialité renforcée par la cryptographie
    • Réduction des coûts grâce à une auditabilité plus facile (la vérification des ZKP est rapide et bon marché) et à un regroupement de transactions sophistiqué (cumuls) dans l'application de couche 2
    • Traitement plus rapide grâce à la parallélisation du calcul, à davantage de transactions via des cumuls et à une empreinte Blockchain plus petite, car les Blockchains publiques sont censées être lentes de par leur conception afin de fournir plus de sécurité
    • Plus de flexibilité et de choix grâce à la possibilité de disposer d'actifs traditionnels pour soutenir les actifs cryptographiques sur la Blockchain, une intégration plus simple entre la couche 2 et une Blockchain publique et une extension facile des actifs de couche 2 dans, par exemple, les écosystèmes DeFi existants

En conclusion, il est important de noter que dans l’exemple du gouvernement américain, l’obtention d’un ATO pour un système d’information ne se limite pas aux artefacts cryptographiques et aux crypto-modules. Ceux-ci représentent un élément important des contrôles de sécurité identifiés au cours du processus de gestion des risques nécessaire pour obtenir un ATO, comme répertorié et expliqué en détail dans NIST SP 800-37 Rev 2 et NIST FIPS-199. Le processus comprend également des éléments tels que l'authentification/autorisation des utilisateurs dans différents scénarios d'utilisation, les contrôles des modifications du système et des processus, la reprise après sinistre et la continuité des activités.

La conformité ATO/NIST pour les applications Blockchain est-elle pertinente pour votre entreprise ? Le groupe de travail ATO de l’EEE souhaite connaître votre contribution. S'il vous plaît contactez .

Suivez-nous sur TwitterLinkedIn ainsi que  Facebook pour rester à jour sur tout ce qui concerne l'EEE.

Horodatage:

Plus de Enterprise Ethereum Alliance