Application des pratiques de développement logiciel agiles à la flexibilité cryptographique

Application des pratiques de développement logiciel agiles à la flexibilité cryptographique

2023-06-26 14:53:36

Vince Berk est le stratège en chef de Échange quantique, un fournisseur de crypto-agilité post-quantique. doctorat en IA/ML, fondateur de FlowTraq.

De la banque et de la finance aux soins de santé et aux transports, les logiciels jouent un rôle essentiel dans tous les aspects de notre vie et sont au cœur de la plupart des systèmes modernes. En tant que tel, il est essentiel de développer et de maintenir un logiciel fiable et évolutif. Et avec la montée des cyberattaques et des violations de données, il est également crucial de s’assurer que les logiciels sont sécurisés.

C’est là que le Stratégie nationale de cybersécurité, dévoilé plus tôt cette année, entre en jeu, en mettant l’accent sur l’amélioration de la cybersécurité et de la résilience à travers le pays. Plus précisément, l’objectif stratégique 3.3, intitulé « Transférer la responsabilité pour les produits et services logiciels non sécurisés », met l’accent sur le besoin de systèmes logiciels sécurisés et résilients capables de résister aux cyberattaques et autres menaces et tient les éditeurs de logiciels responsables des défaillances.

Avec cela et la possibilité d’une future législation qui «établirait des normes de soin plus élevées pour les logiciels dans des scénarios à haut risque spécifiques», il y a quelques leçons à tirer des pratiques courantes de développement de logiciels comme la modularisation qui peuvent également s’appliquer à une infrastructure cryptographique plus sécurisée. De telles leçons peuvent devenir vitales pour le succès et même la survie des éditeurs de logiciels qui ne supportent désormais que le risque de réputation pour la production de produits non sécurisés.

La modularisation consiste à décomposer le logiciel en composants ou modules plus petits et plus faciles à gérer. Chaque module peut être développé, testé et maintenu indépendamment, ce qui facilite l’identification et la correction des bogues, l’ajout de nouvelles fonctionnalités et la mise à l’échelle du système.

La modularisation améliore également la fiabilité et la sécurité des bases de données et des systèmes de stockage. Des interfaces clairement définies entre les modules logiciels rendent explicite le contrôle d’accès sécurisé. Les contrôles d’accès explicites réduisent la confusion et augmentent la sécurité. De plus, la modularisation peut faciliter la récupération après des pannes du système, car des modules individuels peuvent être redémarrés ou remplacés sans affecter l’ensemble du système.

Contrairement aux pratiques agiles courantes, le chiffrement est généralement intégré directement dans la couche de transport et est donc compilé directement dans l’application. De même, IPSEC et MACSEC sont des parties inséparables de la sécurité de la pile du routeur. Toute mise à jour des algorithmes cryptographiques nécessite une recompilation de ces applications logicielles.

Le stockage de la base de données, en revanche, est correctement modularisé avec des API bien définies, telles que SQL. Si une application parle SQL pour des commandes telles que “stocker ceci” et “récupérer cela”, elle fonctionnera avec n’importe quelle base de données placée sur le backend. Si certaines caractéristiques de performances d’une base de données particulière s’avèrent indésirables, vous pouvez simplement remplacer la base de données sans avoir à reconstruire et à redéployer l’intégralité de l’application.

Et sous la base de données se trouve un sous-système de stockage qui se compose de disques qui ont leur propre interface modulaire pour stocker des données et récupérer des données en blocs. La base de données est indépendante du sous-système de stockage. Le service informatique peut simplement piloter la redondance du stockage par politique, indépendamment de la base de données qui s’y exécute. Cette modularisation est le fondement de la conception logicielle agile, en particulier dans un monde axé sur le cloud, où les parties et les composants des applications peuvent tous se trouver à différentes étapes de développement, chacun avec sa propre feuille de route.

Les composants modulaires individuels offrent un « service » via une API bien définie aux composants qui l’utilisent et, à leur tour, ils peuvent utiliser leurs propres composants sous-jacents via une API spécifique. Les composants peuvent être mis à niveau, mis à jour et modifiés individuellement, tant que le service qu’ils fournissent aux autres composants reste précis et fiable.

Une leçon similaire doit s’appliquer au chiffrement. On pourrait imaginer une ou plusieurs API simples, de “Crypter ce bloc de données” jusqu’à “Passez-moi une clé symétrique”. L’application n’est plus directement concernée par le chiffrement des données, et les algorithmes et les clés peuvent être modifiés au moment de l’exécution sans jamais affecter les performances ou la sécurité de l’application.

Au fur et à mesure que nous avançons dans diverses normes de chiffrement, que nous durcissons davantage les clés et même que nous créons de la redondance dans la chaîne cryptographique, nous pouvons facilement le faire passer par une politique. L’application l’ignore totalement et utilise simplement les API qui lui sont présentées.

Si les acheteurs de logiciels avaient la possibilité d’échanger des algorithmes de chiffrement en cas de panne, cela fournirait un niveau de flexibilité et d’adaptabilité à l’évolution des menaces de sécurité. À mesure que de nouvelles menaces apparaissent, les utilisateurs peuvent facilement gérer de nouveaux algorithmes et mesures de sécurité pour s’en protéger.

En décomposant les applications en composants plus petits et en permettant l’interchangeabilité de différents algorithmes cryptographiques, y compris ceux qui restent à inventer, les fournisseurs peuvent mieux se protéger contre les menaces de cybersécurité actuelles. Dans le même temps, ils peuvent aider à garantir que les logiciels et les données restent protégés contre les menaces ou les vulnérabilités encore à découvrir et à mieux gérer la responsabilité illimitée qui se déplace de plus en plus vers le fabricant de logiciels.


Conseil technologique Forbes est une communauté sur invitation uniquement pour les DSI, les CTO et les cadres technologiques de classe mondiale. Suis-je éligible ?




#Application #des #pratiques #développement #logiciel #agiles #flexibilité #cryptographique
1687784052

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.