web-dev-qa-db-fra.com

Un schéma de chiffrement qui génère une clé supplémentaire à stocker en toute sécurité hors site serait-il une porte dérobée sûre?

Permettez-moi d'être clair avant tout: je ne pense pas que l'installation d'une porte dérobée dans les algorithmes de sécurité soit une bonne idée. Ils sapent la confiance dans le logiciel et dans l'entreprise qui fournit le service. Cela étant dit, je conviens que le chiffrement offre une certaine protection aux criminels et aux acteurs malveillants contre les enquêtes légitimes des autorités, ce qui peut conduire à des situations dangereuses.

Je suis également conscient que la cryptographie est un sujet INCROYABLEMENT complexe, qui devrait être laissé aux professionnels ayant de nombreuses années d'expérience. Cela dit, dans la question ci-dessous, je vais tenter de laisser la création de l'algorithme cryptographique aux pros.

Maintenant, la question principale: Imaginez un schéma comme celui-ci:

  1. Un nouvel algorithme est développé avec une sécurité égale aux normes actuelles. En effet, l'algorithme qui remplace AES serait tout aussi difficile à casser que AES si vous ne connaissez pas la clé.
  2. Cet algorithme génère une clé de déchiffrement unique supplémentaire lorsqu'il est utilisé. Cette clé est ensuite envoyée via un canal sécurisé (c'est-à-dire HTTPS ou équivalent) à une ONG ayant pour seul devoir de garder ces clés. Dès que l'outil obtient la confirmation de sa livraison, l'outil supprime cette clé en toute sécurité. La clé est toujours différente et suffisamment forte pour que le forçage brutal ne soit pas possible. De plus, le logiciel de cryptage nécessitera une connexion utilisable avec l'ONG via Internet au démarrage du cryptage pour garantir que la clé peut être envoyée.
  3. Une fois que la clé est arrivée, elle est stockée dans une base de données hors ligne, airgapped, accessible uniquement dans une seule pièce avec une sécurité rigoureuse. De plus, la base de données et la machine sur laquelle elle se trouve ont une protection contre les falsifications, similaire à la protection contre les falsifications sur les transports bancaires: tout accès qui sort de l'ordinaire, comme trop de demandes dans une certaine période ou trop de demandes défectueuses, et la machine est effacée .
  4. Lorsqu'une organisation légitime chargée de l'application des lois a besoin d'une clé pour déchiffrer, elle envoie une demande officielle à l'ONG. L'ONG analyse d'abord la demande en fonction de son importance. l'ONG autorise le décryptage lorsque le suspect est fortement incriminé par d'autres preuves, et uniquement en cas de terrorisme, de meurtre ou d'abus d'un mineur (qui sont probablement les seules raisons largement admises de l'opinion publique).
  5. Si l'ONG autorise le décryptage, un employé de confiance de l'ONG se rend dans la pièce à partir de laquelle la base de données est accessible et télécharge la clé sur un support en lecture seule avec une protection antialtération similaire à la base de données. Ce support est ensuite remis à l'organisme d'application de la loi qui l'avait initialement demandé. À ce stade, l'application normale de la loi prendra le relais.

En supposant que tout ce qui précède est réalisable, quels problèmes peuvent survenir avec ce système?

16
Nzall

Outre les points mentionnés par Lucas Kauffman, je voudrais développer le point deux:

2. Cet algorithme génère une clé de déchiffrement unique supplémentaire lorsqu'il est utilisé. Cette clé est ensuite envoyée via un canal sécurisé (c'est-à-dire HTTPS ou équivalent) à une ONG ayant pour seul devoir de garder ces clés. Dès que l'outil obtient la confirmation de sa livraison, l'outil supprime cette clé en toute sécurité.

Qu'est-ce qui empêcherait quelqu'un d'implémenter l'algorithme mais d'omettre la partie où la deuxième clé est envoyée à l'ONG? Une telle implémentation produirait toujours la clé normale, la rendant complètement compatible avec les autres utilisateurs du cryptosystème.

La seule façon de le faire serait de rendre l'algorithme fermé et de protéger sa mise en œuvre de la rétro-ingénierie par le biais d'une obscurcissement intense. Mais personne dans la communauté de la sécurité qui n'est pas complètement fou ne ferait jamais confiance à un algorithme qui n'est pas ouvert à l'examen public par les pairs.

Gardez également à l'esprit que les personnes que les forces de l'ordre veulent trouver sont celles qui enfreignent déjà la loi. Les criminels n'auraient aucun scrupule à crypter leurs informations avec l'un des autres cryptosystèmes actuellement disponibles, même si cela est déclaré illégal. À moins, bien sûr, que la punition pour l'utilisation d'un logiciel de chiffrement non approuvé par le gouvernement soit aussi sévère que la punition pour terrorisme, meurtre ou abus d'un mineur, mais il serait difficile de justifier l'OMI.

Cela signifie que vous créeriez une infrastructure de dépôt fiduciaire coûteuse et mettriez des millions de citoyens et d'entreprises à la merci des logiciels qu'ils sont autorisés à utiliser sans affecter les personnes que vous souhaitez réellement affecter.

58
Philipp

Un schéma de chiffrement qui génère une clé supplémentaire à stocker en toute sécurité hors site serait-il une porte dérobée sûre?

Non, tout simplement pas. Une porte dérobée n'est jamais considérée comme sûre.

Ce que vous décrivez est communément appelé engagement de clé .

Notez qu'il y a eu des problèmes avec les entiers clés:

Au niveau national, cela est controversé dans de nombreux pays en raison de la méfiance technique à l'égard de la sécurité de l'entiercement (en raison d'une longue histoire de protection moins qu'adéquate des informations d'autrui par diverses organisations, publiques et privées, même lorsque les informations sont tenu que par une obligation légale affirmative de le protéger des accès non autorisés), et par une méfiance à l’égard de l’ensemble du système même s’il fonctionne comme prévu. Jusqu'à présent, aucun système de dépôt fiduciaire n'a été conçu pour répondre aux deux objections et presque tous n'ont pas réussi à en rencontrer une seule.

Selon votre déclaration:

  1. Un nouvel algorithme est développé avec une sécurité égale aux normes actuelles. En effet, l'algorithme qui remplace AES serait tout aussi difficile à casser que AES si vous ne connaissez pas la clé.

À moins que l'algorithme n'ait été longuement examiné par la communauté cryptographique ou plusieurs parties indépendantes et bien informées (lire: cryptographes universitaires appropriés avec une vaste expérience dans la création et la validation de la cryptographie), il s'agit d'un très gras déclaration.

Cet algorithme génère une clé de déchiffrement unique supplémentaire lorsqu'il est utilisé. Cette clé est ensuite envoyée via un canal sécurisé (c'est-à-dire HTTPS ou équivalent) à une ONG ayant pour seul devoir de garder ces clés. Dès que l'outil obtient la confirmation de sa livraison, l'outil supprime cette clé en toute sécurité. La clé est toujours différente et suffisamment forte pour que le forçage brutal ne soit pas possible. De plus, le logiciel de cryptage nécessitera une connexion utilisable avec l'ONG via Internet au démarrage du cryptage pour garantir que la clé peut être envoyée.

Pourquoi utiliseriez-vous HTTPS pour envoyer la clé, plutôt que de chiffrer la clé avec la clé publique de l'ONG? J'utiliserais une étape supplémentaire où la clé est cryptée avant de la transmettre via HTTPS.

  1. Une fois que la clé est arrivée, elle est stockée dans une base de données hors ligne, airgapped, accessible uniquement dans une seule pièce avec une sécurité rigoureuse. De plus, la base de données et la machine sur laquelle elle se trouve ont une protection contre les falsifications, similaire à la protection contre les falsifications sur les transports bancaires: tout accès qui sort de l'ordinaire, comme trop de demandes dans une certaine période ou trop de demandes défectueuses, et la machine est effacée .

À moins que vous ne stockiez correctement cela dans un HSM spécialement conçu, cela ne semble pas suffisant. Ce mécanisme de protection peut ne pas être suffisant si une personne retire des disques durs ou utilise une attaque directe de mémoire (au cas où vous exécutez un serveur normal).

  1. Lorsqu'une organisation légitime chargée de l'application des lois a besoin d'une clé pour déchiffrer, elle envoie une demande officielle à l'ONG. L'ONG analyse d'abord la demande en fonction de son importance. l'ONG autorise le décryptage lorsque le suspect est fortement incriminé par d'autres preuves, et uniquement en cas de terrorisme, de meurtre ou d'abus d'un mineur (qui sont probablement les seules raisons largement admises de l'opinion publique).

Quelqu'un qui utilisera volontairement un algorithme connu de porte dérobée puis commettra un crime, utiliser l'algorithme pour protéger son secret n'est pas vraiment intelligent.

  1. Si l'ONG autorise le décryptage, un employé de confiance de l'ONG se rend dans la pièce à partir de laquelle la base de données est accessible et télécharge la clé sur un support en lecture seule avec une protection antialtération similaire à la base de données. Ce support est ensuite remis à l'organisme d'application de la loi qui l'avait initialement demandé. À ce stade, l'application normale de la loi prendra le relais.

Il s'agit du plus gros problème avec les escrows clés. La partie confiance est très importante et l'écueil de la plupart des séquestres. La partie de confiance doit certainement être plus d'une personne. Une seule personne ne doit en aucun cas pouvoir accéder à la clé, un mécanisme multi-yeux d'au moins 3 à 5 personnes doit être en place.

Lecture suggérée:

" Escrow clé à une distance sûre " - Matt Blaze
" Quelle est la différence entre l'engagement de clé et un agent de récupération? " - Security Stack Exchange
" Les risques de récupération de clé, d'engagement de clé et de chiffrement tiers de confiance" - Schneier, et al.

35
Lucas Kauffman

Je pense qu'un combo Word "Safe Backdoor" a besoin de soins médicaux;) Il y a PAS DE "BONNE ONG" et PAS DE GOUVERNEMENTS NON CORROMPUS - Ed Snowden l'a prouvé en profondeur et en détail. La réponse à cette question est une ancienne déclaration officielle d'Apple, qui disait: "il est techniquement impossible de créer une clé qui ne fonctionnera que dans les mains de bons et dans des situations légitimes"

16
Alexey Vesnin

Lorsqu'une organisation légitime chargée de l'application des lois a besoin d'une clé pour déchiffrer, elle envoie une demande officielle à l'ONG. L'ONG analyse d'abord la demande en fonction de son importance. l'ONG autorise le décryptage lorsque le suspect est fortement incriminé par d'autres preuves, et uniquement en cas de terrorisme, de meurtre ou d'abus d'un mineur (qui sont probablement les seules raisons largement admises de l'opinion publique).

Les États-Unis ont un système appelé " National Security Letters ". Celles-ci permettent au gouvernement d'obliger la divulgation d'informations en vertu d'un bâillon. Le premier jour, l'ONG a reçu l'ordre d'installer une porte dérobée qui fuit toutes les clés. Tous les employés seraient couverts par les NSL et il est illégal pour eux de dénoncer cela. Ils ne pouvaient le faire qu'en fuyant définitivement vers un pays qui n'a pas conclu d'accords d'extradition avec les États-Unis, comme Edward Snowden a dû le faire.

OU:

Les clés sont transmises sur Internet. À ce stade, ils ne sont manifestement pas réduits. Un robinet est secrètement installé à ce stade de l'ONG.

OU:

Le seul ordinateur sur lequel toutes les clés lui sont transmises devient la cible de pirate informatique la plus visible au monde. Il est piraté chaque mois par des équipes concurrentes d'agences de renseignement étrangères et de pirates du tiers monde.

OU:

Il n'y a aucune raison pour que les gens l'adoptent à moins qu'un autre cryptage ne soit interdit, alors préparez-vous à nouveau pour le premier amendement. De plus, il n'y a aucune raison pour que des personnes ou des sociétés non américaines l'utilisent. Donc, les personnes qui souhaitent utiliser le cryptage PGP cryptent tout avant de l'envoyer sur le canal de cryptage compromis.

15
pjc50

En supposant que tout ce qui précède est réalisable, quels problèmes peuvent survenir avec ce système?

Personne n'a encore mentionné l'un des plus gros problèmes avec les systèmes d'entiercement des clés et les cryptos avec porte dérobée, donc je le ferai. Adoption par l'utilisateur. Personne ne va réellement utiliser un système qui permet à un tiers non autorisé de décrypter leur trafic.

Il a été essayé .

La puce Clipper était un chipset développé et promu par la National Security Agency (NSA) des États-Unis en tant que dispositif de cryptage, avec une porte dérobée intégrée, destiné à être adopté par les entreprises de télécommunications pour la transmission vocale. Il a été annoncé en 1993 et, en 1996, il était entièrement disparu.

Plus d'une fois .

Le 21 avril 2014, le NIST a retiré Dual_EC_DRBG de son projet de directives sur les générateurs de nombres aléatoires recommandant aux utilisateurs actuels de la transition Dual_EC_DRBG de passer à l'un des trois algorithmes approuvés restants le plus rapidement possible.

Chaque fois, les gens l'ignorent ou s'enfuient à une vitesse vertigineuse une fois qu'une porte dérobée est découverte. Pourquoi quelqu'un voudrait-il utiliser votre système de cryptage avec porte dérobée ou entiercé alors qu'il existe des systèmes de cryptage qui ne sont pas délibérément cassés par conception? Même si vous pouviez sécuriser votre système de dépôt de clés à 100%, ce que vous ne pouvez pas, cela n'aurait pas d'importance. Les gens continueraient à utiliser des alternatives gratuites et meilleures qui ne viennent pas avec une porte dérobée.

8
HopelessN00b

Quelques trucs de type avertissement.

D'autres ont fait de très bons points qui étaient en partie des répétitions de ceux que d'autres ont faits auparavant et je ne veux pas les répéter. Je vais donc juste ajouter un petit plus qui s'avère trop long pour un commentaire.

De plus, je me rends compte que cette réponse ne contient pas beaucoup de détails techniques. C'est simplement parce que la question est trop large pour tous les inclure. Si vous avez une question technique concernant un sous-sujet spécifique, veuillez laisser un commentaire et j'essaierai d'y répondre.

Le contenu réel.

Redondance et contrôle du flux d'informations

Il y a donc cette installation centralisée stockant des disques durs ou des bandes magnétiques ou tout ce qui est conçu pour être très résistant contre la duplication indésirable de clés. Ça brûle. Ou quelqu'un là-dedans décide que tout cela est moralement répréhensible. Ou quelque chose d'autre se produit. Mauvais chance. Vous feriez mieux d'en construire au moins 3. Super, alors maintenant vous avez 3 installations dans différentes villes à suivre. Vous devez vous assurer que personne ne copie quoi que ce soit sans autorisation dans aucun de ces emplacements, mais vous devez vous assurer que tout est correctement géré. Si quelque chose fuit, vous n'avez aucun moyen de savoir qui l'a fait. Au moins, il ne semble pas y avoir de concept éloigné d'un plan contre cela dans votre description.

Lois futures

Vous avez donc un tas de lois que vous jugez sensées et qui ont en quelque sorte compris la redondance et le contrôle du flux d'informations. Génial. Et je suppose que vous avez une certaine autorité, comme être un dictateur ou représenter une certaine idée d'un parti. Au moins dans ce scénario. Impressionnant.

Sauf que ce n'est pas parce que vous n'aurez pas toujours le pouvoir et qu'il y aura des gens après avoir changé les lois d'une manière que vous n'aimez pas ou que vous préférez ou même méprisez. Ils vont avoir accès aux données de tout le monde. Vous avez donc fait cette loi que les informations clés enregistrées ne sont accessibles que si une tonne de critères sont remplis et que le tout est super important. Vous avez également veillé à ce qu'une loi empêche le gouvernement de punir les gens pour des choses qu'ils ont faites alors qu'ils n'étaient pas encore illégaux.

Malheureusement, ces lois peuvent être modifiées lorsque quelqu'un prend le relais. Ensuite, les gens peuvent être punis pour des choses qu'ils ont faites alors que c'était encore légal. Comme regarder et stocker du porno, critiquer le gouvernement ou publier des idées qu'il n'aime pas. Vous pourriez donc dire qu'il est peu probable qu'un gouvernement regarde en arrière et punisse les gens pour des trucs comme ça. Eh bien, regardez ce que la Chine a fait au siècle précédent. Ce truc s'est déjà produit. Cherchez, c'est un fait, Wikipédia. Aujourd'hui, c'est encore pire parce que nous avons ces machines qui peuvent stocker une tonne d'informations dans un espace très petit pour peu d'argent. Et les gens l'utilisent. Il n'y avait pas beaucoup d'informations à réprimer contre les critiques du gouvernement en Chine, mais ils l'ont fait. Il y a maintenant une quantité incroyable d'informations et elles vont grandir.

Qu'est-ce qui est même crypté?

Des données aléatoires (comme lorsque vous venez de diriger /dev/urandom) a une entropie maximale. Cela signifie beaucoup de choses et l'une d'elles est que vous ne pouvez trouver aucun motif. Vous savez ce qui a aussi une entropie maximale? Cyphertext. Oui, bonne chance avec celui-là. Il est impossible de distinguer les données aléatoires et les données chiffrées.

Attribution

Vous me soupçonnez donc d'avoir commis un crime. Un très, vraiment mauvais. Et vous pensez que j'étais assez stupide pour utiliser votre truc de backdory alors qu'en fait c'est très peu probable. Mais supposons simplement que j'ai réussi à perdre assez de cellules cérébrales pour le faire. Vous savez qu'environ 1'000 * clés ont été envoyées depuis ce café près de chez moi l'année dernière. Et soupçonnez que mon disque dur qui ne semble contenir que des données aléatoires ou un e-mail qui ne semble pas contenir de mots anglais. Vous savez d'après le paragraphe précédent qu'il peut s'agir d'informations cryptées. Combien de clés allez-vous essayer avant d'abandonner? Comment savez-vous même que j'étais dans ce café en utilisant leur wifi lors de la création du document ou du conteneur crypté ou de l'envoi de cet e-mail crypté ou autre.

Nombre de clés

Oui, ces 1'000 clés dont j'ai parlé dans le paragraphe précédent parlaient d'une année entière, d'un hotspot wifi public, etc. Ils sont créés en quelques minutes lors de l'utilisation de clés de transport uniques et/ou de clés de session.

Spam

Je commence à envoyer 1 000 clés par minute aux serveurs du gouvernement. Quand vont-ils arrêter d'enregistrer mes clés? Ce n'est pas quelque chose comme une demande de site Web. Vous ne pouvez pas simplement arrêter de répondre à quelqu'un, car il génère beaucoup de trafic. C'est quelque chose qui doit être enregistré.

Pas une bonne idée car ça pourrait me faire enfermer? Eh bien, lisez le paragraphe suivant.

Fausse attribution de spam

Donc, je pirate votre ordinateur ("vous" se réfère maintenant à vous en tant qu'individu, pas en tant que gouvernement), votre téléphone, votre routeur, votre NAS, peu importe, je m'en fiche. Je peux envoyer des trucs en votre nom, en gros. Soudain, il y a 1'000 clés par minute envoyées aux serveurs du gouvernement par votre IP. Et encore une fois, ils ne peuvent pas simplement vous ignorer comme si je piratais l'un de vos systèmes et chargeais whitehouse.gov 1'000 fois par minute. Ils l'enregistreront, se mettront en colère et viendront vers vous longtemps après que je me sois assuré qu'il ne reste aucune trace de piratage dans l'un de vos systèmes.

Notez également que cela risque de se produire car c'est une politique moralement répréhensible et les gens vont lutter contre elle.

7
UTF-8

En supposant que tout ce qui précède est réalisable, quels problèmes peuvent survenir avec ce système?

Les problèmes qui découlent du système que d'autres ont décrit ramènent tous à une seule chose. La définition de "porte dérobée sûre" n'a jamais été donnée. Tant dans votre question que dans les discussions en cours aux États-Unis et dans d'autres pays, les "autorités" (c'est-à-dire le gouvernement et les forces de l'ordre) n'ont jamais vraiment dit ce que signifie une "porte dérobée sûre". Si vous ne savez pas quel objectif vous essayez d'atteindre, comment peut-on juger une solution technique proposée pour déterminer si elle est suffisante?

Par exemple, le Compliance with Court Orders Act of 2016 proposé aux États-Unis, stipule que

tous les fournisseurs de services et de produits de communication (y compris les logiciels) devraient protéger la vie privée des personnes américaines

Il indique ensuite que

toutes les personnes recevant une ordonnance judiciaire autorisée pour obtenir des informations ou des données doivent fournir, en temps opportun, des informations ou des données sensibles et intelligibles, ou une assistance technique appropriée pour obtenir ces informations ou données

Le projet de loi définit ensuite les termes utilisés comme "communication", "données", "intelligibles" et "assistance technique", mais il ne définit jamais "confidentialité" ou "opportun" et "réactif".

4
mikeazo

Un point non mentionné précédemment: Double cryptage. C'est-à-dire que vous cryptez d'abord votre message avec votre méthode sécurisée sans porte dérobée préférée, puis envoyez à nouveau le message crypté en utilisant le système d'entiercement approuvé par le gouvernement. Cela ne ressemblera pas à l'utilisation du système d'entiercement pour crypter le texte en clair, de sorte que pour le gouvernement, vous êtes un citoyen honnête faisant des communications honnêtes. Et si quelque chose arrive à rendre le gouvernement suspect, il peut simplement retirer la clé de garantie, décrypter vos messages, et - OOPS! Ils ne peuvent TOUJOURS pas dire ce que vous faites! OK, oui, maintenant ils vous ont pour `` utiliser un schéma de chiffrement non autorisé '' - mais notez qu'ils ne pouvaient pas avoir utilisé ce fait pour justifier l'obtention de la clé d'entiercement en premier lieu.

2
PMar

Je ne connais pas très bien ce sujet, mais il semble que la base de données "inviolable" puisse réellement entraver ce schéma.

  1. Une fois que la clé est arrivée, elle est stockée dans une base de données hors ligne, airgapped, accessible uniquement dans une seule pièce avec une sécurité rigoureuse. De plus, la base de données et la machine sur laquelle elle se trouve ont une protection contre les falsifications, similaire à la protection contre les falsifications sur les transports bancaires: tout accès qui sort de l'ordinaire, comme trop de demandes dans une certaine période ou trop de demandes défectueuses, et la machine est effacée .

Parce que (au moins je pense) il n'y a aucun moyen de vraiment créer un espace entre les bases de données sans pouvoir y écrire les clés, les pirates pourraient toujours trouver un moyen de spammer les requêtes défectueuses.

Ensuite, chaque fois qu'ils ne veulent pas que leurs communications soient espionnées, ils spamment la base de données dans laquelle leur clé a été stockée et utilisent le "inviolable" contre pour essuyer leur clé.

1
Blue