Apprendre avec des oracles «taciturnes»

11

Ma question est un peu générique, donc je compose une belle histoire pour la justifier. Restez avec moi si ce n'est pas réaliste ;-)

Récit

M. X, le chef du service de sécurité informatique d'une grande entreprise, est un peu paranoïaque: il exige que tous les employés changent de mot de passe une fois par mois, afin de minimiser les risques de vol d'identité ou de vol d'informations. De plus, il ne fait pas confiance aux employés pour pouvoir trouver des mots de passe sécurisés.

Par conséquent, chaque mois, il génère de nouveaux mots de passe à l'aide d'un logiciel qu'il a écrit et les remet aux employés afin qu'ils puissent se reconnecter. Mais en plus d'être paranoïaque, M. X est aussi un peu paresseux: les mots de passe qu'il génère tous suivent un schéma, et l'algorithme utilisé pour permettre aux gens de se connecter ne fait que vérifier que le mot de passe "semble correct" selon cette règle, et qu'il n'est pas dans la "liste expirée".

Malheureusement, son comportement prétentieux a rendu beaucoup de gens amers, et l'un d'eux, M. Y, décide de lui prouver qu'il peut déchiffrer ses mots de passe. Donc, un soir, il en recueille quelques-uns et commence à concevoir un algorithme d'apprentissage pour générer des mots de passe valides, en utilisant son ordinateur personnel pour les vérifier.

Question

L'oracle utilisé par M. Y est un peu étrange, en ce qu'il lui dit "la vérité, mais pas toute la vérité" (d'où l'adjectif "taciturne"). Plus précisément: M. Y saura qu'un mot de passe est valide lorsque son ordinateur l'accepte, mais lorsqu'un mot de passe est rejeté, M. Y ne saura pas s'il aurait pu être valide ou non : le mot de passe peut être rejeté car il ne le fait pas. correspondent à un certain schéma, mais il peut également être rejeté parce qu'il était valide mais ne l'est plus, selon la règle du "changement une fois par mois" de M. X.

Alors, M. Y pourra-t-il jamais trouver quelque chose dans ce contexte? Ou pouvons-nous affirmer / prouver que les mots de passe de M. X sont intrinsèquement imprévisibles (tels que définis dans le cadre d'apprentissage PAC, mais peut-être que ce concept existe dans d'autres cadres)?

Anthony Labarre
la source

Réponses:

12

Il semble que vous essayiez d'apprendre à apprendre une langue en ne voyant que des exemples positifs. C'est ce qu'on appelle «apprendre à partir d'exemples positifs (uniquement)». Mais vous avez également le pouvoir de faire étiqueter certains de vos propres exemples inventés: si l'oracle était entièrement véridique, alors ce seraient des requêtes d'adhésion, donc votre modèle serait connu comme "apprenant à partir d'exemples positifs et de requêtes d'adhésion". Dans ce cadre, il y a quelques résultats - par exemple, les langages d'arbre peuvent être appris (pas sécurisés). Les DFA ne sont pas dus aux résultats de dureté cryptographique . (Voir aussi ceci .)

Bien sûr, votre réglage n'est pas tout à fait cela. Vos demandes d'adhésion sont plus limitées. Il semble qu'alors les résultats connus d'intractabilité seraient transférés dans votre environnement à partir du modèle que j'ai décrit, mais les résultats d'apprentissage pourraient vous laisser un peu de travail à faire. Mais le schéma de M. X est sécurisé ou non en fonction du "modèle" qu'il utilise.

De plus, il semble étrange de pouvoir prouver que "les mots de passe de M. X sont intrinsèquement imprévisibles". N'est-il généralement pas suffisant de pouvoir simplement générer un nouveau mot de passe valide pour briser un tel système? Mais cela semble être la requête à l'algorithme de M. Y lui-même ...

Lev Reyzin
la source
Merci pour votre réponse. Je ne comprends pas vraiment votre dernier paragraphe cependant: ne peut-on pas en dire autant d'une classe de concept dur? Je veux dire, M. Y étant chanceux en devinant un mot de passe au hasard n'implique pas qu'il puisse le refaire. Mais je dois manquer votre point.
Anthony Labarre
Je suppose que je suppose que les mots de passe sont «clairsemés», comme difficiles à deviner. Si vous ne souhaitez pas supposer cela, alors je suis heureux car ma réponse est encore mieux :)
Lev Reyzin
0

La difficulté de l'ingénierie inverse de l'algorithme semble dépendre de la quantité d'espace de clés déjà expirée.

Disons que l'algorithme de Mr. X est très restreint, donc il n'y a (disons) que 10 000 clés potentiellement valides. Si M. X n'a ​​commencé que récemment cette entreprise, il y a donc très peu de clés expirées - et donc peu de "faux négatifs" - alors la rétro-ingénierie de l'algorithme peut être relativement facile. Si M. X a déjà expiré 9 000 des clés potentiellement valides, et que nous avons donc 9 sur 10 «faux négatifs», alors la rétro-ingénierie de l'algorithme semble être beaucoup plus difficile. Et, bien sûr, si M. X a déjà expiré toutes les clés potentiellement valides à l'exception de celles que M. Y et ses collaborateurs connaissent déjà, alors "l'oracle taciturne" ne lui donnera aucune nouvelle information.

David Cary
la source
0

Il semble que seuls un nombre illimité de mots de passe valides puissent en fait être utilisés. Si la langue du mot de passe est finie, il n'y a aucun espoir (comme dans ce cas, tous les mots de passe valides peuvent être utilisés, auquel cas l'oracle retourne toujours FAUX).

Sinon, limitez simplement le processus d'apprentissage à des échantillons suffisamment grands. Comme il s'agit d'une exigence limitée, cela ne change pas la complexité du problème. Vous pouvez utiliser une stratégie exponentielle pour rechercher pour suffisamment grand. Essayez d'apprendre sur les requêtes ; si les algorithmes d'apprentissage échouent incrément .N>2nn

David Harris
la source