Dans diverses discussions sur l'architecture de sécurité, j'ai lu que HSMS peut être configuré avec la limitation de taux sur le nombre de cryptage/déchiffrtions pouvant être effectuées dans une durée donnée. Si je comprends bien, le but d'une limite de taux serait de limiter les dommages résultant d'un pirate informatique qui parvient à compromettre un serveur autorisé à utiliser le HSM. Par exemple, si un serveur API avait 1000 fichiers cryptés qui stockés chacun des données pour un client, un pirate informatisé qui comprometait le serveur API devrait demander à la HSM de déchiffrer chacun de ces 1000 fichiers de voler toutes les données. Une limite de taux de, par exemple, 10 dossiers par heure rendrait la tâche très fidèle au pirate informatique d'obtenir toutes les données de tous les clients. Idéalement, le pirate informatique serait détecté et démarré avant d'avoir trop de données.
Cela m'a conduit à penser à la possibilité de mettre en œuvre une méthode d'arrêt des déchiffrtions d'avoir lieu avec les demandes d'envoi de HSM à d'autres services externes, plutôt que de s'appuyer uniquement sur une horloge de système interne. Retour à l'exemple précédent, si le HSM a reçu une demande à partir du serveur API, la HSM pourrait-elle alors envoyer une demande au serveur d'authentification de l'API à demander si ce client particulier avait réellement authentifié récemment? Si l'utilisateur n'avait pas été connecté avec succès dans les 10 dernières minutes, le HSM pourrait refuser d'effectuer l'opération de décryptage et les données seraient sûres.
Cela signifie essentiellement que le pirate informatique devrait compromettre à la fois le serveur API et le serveur d'authentification pour déchiffrer et voler toutes les données de tous les utilisateurs (en supposant que le serveur API et le serveur d'authentification sont deux serveurs complètement indépendants). Le pirate informatique pourrait toujours voler les données des clients qui se connectent à la connexion tandis que le serveur API est enfreint, mais à obtenir [~ # ~ ~] tous [~ # ~] des données nécessiteraient de l'attente de tous. des clients à se connecter au moins une fois.
Est-ce que des HSMS capables d'envoyer des demandes et de prendre une action en fonction de la réponse? Ou sont-ils tous limités à des choses plus simples comme la limitation de taux?
Une limite de taux de, dire, 10 fichiers par heure
... serait un serveur de fichiers terrible.
plutôt que de compter uniquement sur une horloge de système interne.
HSM Horloge est en cours d'exécution dans un matériel dédié sécurisé conçu avec une sécurité à l'esprit et la sécurité au-dessus de tout (précitée, performance, consommation d'énergie et prix). Une source d'horloge externe ne peut pas être plus sécurisée que l'horloge HSM.
Si un attaquant a réussi à violer le réseau interne et compromettait tout serveur, rien ne l'empêche de violer tous les autres serveurs. Dans un environnement d'entreprise, la plupart des serveurs sont généralement sous le même domaine et un administrateur de domaine peut avoir un accès privilégié sur eux. Un attaquant avec des informations d'identification administrateur de domaine peut contrôler le serveur API et le serveur d'authentification, le serveur d'horloge, le serveur de messagerie ...
si le HSM a reçu une demande sur le serveur API, le HSM pourrait-il alors envoyer une demande au serveur d'authentification de l'API à demander si ce client particulier avait réellement authentifié récemment?
Le serveur API devrait être capable de répondre à cela. Le rôle HSM est crypté, décrypter, signature et stockage des clés privées. Ne pas poser de question si la demande est légitime ou non. Un autre serveur dédié doit le faire.
Ou sont-ils tous limités à des choses plus simples comme la limitation de taux?
Plus les commandes sont complexes, plus la surface d'attaque est grande. Vous ne laissez généralement pas accéder aux gens directement à la HSM, il est accessible à l'intérieur d'un réseau sécurisé, derrière un pare-feu bien conçu et accessible uniquement par des adresses classées. Je ne pense pas que quelqu'un achèterait et configurait un HSM et le laisserait être accessible par n'importe quel pirate informatique attaquant un bureau.
N'oubliez pas que si votre serveur de cryptage sécurisé est si lent qui prend une heure pour déchiffrer un fichier (car à 10 fichiers par heure, la file d'attente des fichiers de déchiffrement sera assez grande), vos utilisateurs cessent de crypter des fichiers. Si vous avez le HSM parle à un autre serveur pour déchiffrer quelque chose, vous devrez protéger ce nouveau serveur, ce qui ajoute une complexité.
Même si le serveur API et les serveurs d'authentification sont sur différents domaines, fournisseurs et continents, cela ne changera rien. Un serveur API compromis peut obtenir la demande de déchiffrement, le changer et demander à HSM de déchiffrer un fichier différent, enregistrant la version déchiffrée quelque part et renvoyer une erreur au client d'origine. Un serveur d'authentification compromis peut toujours retourner "client authentifié, aller de l'avant" à chaque demande de l'attaquant.
Comme je le sais, la limitation du taux HSM est principalement commerciale (certains HSM n'offrent même pas de limitation de taux), mais comme vous le pensez, vous pouvez utiliser la limitation de taux pour limiter les dommages causés en peu de temps. Ces taux sont par seconde. Si le taux est limité à 10 opérations par secondes (TPS - débit par seconde), il faudrait moins de 2 minutes pour compléter 1 000 opérations.
La plupart du HSM ont une fonctionnalité limitée aux opérations de crypto. Certains HSM ont un serveur de valeur ajouté (logiciel) intégré. Mais je ne pense pas que tout fournisseur HSM sera facilement prêt à modifier son logiciel à moins que de grandes quantités de HSM soient nécessaires et qu'il peut prendre des mois pour fournir la mise à jour personnalisée .!
Dans un projet, où nous fournissons la signature à l'aide de API, nous avons utilisé SMS OTP comme authentification de second facteur à partir de l'utilisateur. Le serveur d'applications peut limiter le nombre d'opérations autorisées avant de demander à la prochaine OTP. S'il est défini Pour 1, l'utilisateur devra appeler l'API de soumission OTP avant chaque opération. HSMS ne sont que bien à protéger les clés .. !!