Imparare con gli oracoli "taciturni"


11

La mia domanda è un po 'generica, quindi sto inventando una bella storia per giustificarla. Abbi pazienza se non è realistico ;-)

Storia

Il signor X, capo del dipartimento di sicurezza informatica di una grande azienda, è un po 'paranoico: richiede che tutti i dipendenti cambino le loro password una volta al mese, al fine di ridurre al minimo i rischi di furto di identità o informazioni. Inoltre, non si fida degli impiegati per riuscire a trovare password sicure.

Pertanto, ogni mese, genera nuove password utilizzando un software che ha scritto e le fornisce ai dipendenti in modo che possano accedere nuovamente. Ma oltre ad essere paranoico, il signor X è anche un po 'pigro: le password che genera tutte seguono un certo schema, e l'algoritmo utilizzato per consentire alle persone di accedere verifica solo che la password "appaia bene" in base a tale regola e che non è nella "lista scaduta".

Sfortunatamente, il suo comportamento pretenzioso ha reso amareggiate molte persone, e uno di loro, il signor Y, decide di dimostrargli che può violare le sue password. Quindi, una notte, ne raccoglie alcuni e inizia a provare a progettare un algoritmo di apprendimento per generare password valide, usando il suo personal computer per verificarle.

Domanda

L'oracolo usato dal signor Y è un po 'strano, in quanto gli dice "la verità, ma non tutta la verità" (da cui l'aggettivo "taciturno"). Più precisamente: Mr. Y saprà che una password è valida quando il suo computer la accetta, ma quando una password viene rifiutata, Mr. Y non saprà se potrebbe essere valida o meno : la password potrebbe essere rifiutata perché non lo fa corrisponde a qualche modello, ma può anche essere rifiutato perché era valido ma non lo è più, secondo la regola del "cambiamento una volta al mese" di Mr. X.

Quindi, il signor Y sarà mai in grado di inventare qualcosa in quell'ambientazione? Oppure possiamo affermare / dimostrare che le password di Mr. X sono intrinsecamente imprevedibili (come definito nell'impostazione di apprendimento PAC, ma forse questo concetto esiste in altri framework)?

Risposte:


12

Sembra che tu stia cercando di imparare una lingua PAC solo vedendo esempi positivi. Questo si chiama "imparare da esempi positivi (solo)". Ma hai anche il potere di etichettare alcuni dei tuoi esempi inventati: se l'oracolo fosse completamente veritiero, allora queste sarebbero domande di appartenenza, quindi il tuo modello sarebbe noto come "imparare da esempi positivi e domande di appartenenza". In questo framework, ci sono alcuni risultati, ad esempio le lingue degli alberi sono apprendibili (non sicure). I DFA non sono dovuti a risultati di durezza crittografica . (Vedi anche questo .)

Ovviamente, il tuo ambiente non è proprio questo. Le tue domande di iscrizione sono più limitate. Sembra quindi che i risultati di intrattabilità noti vengano trasferiti alla tua impostazione dal modello che ho descritto, ma i risultati di apprendibilità ti lascerebbero del lavoro da fare. Ma lo schema di Mr. X è sicuro o no a seconda dello "schema" che usa.

Inoltre, sembra uno strano requisito essere in grado di dimostrare "Le password di Mr. X sono intrinsecamente imprevedibili". Di solito non è sufficiente essere in grado di generare una nuova password valida per rompere un tale sistema? Ma questa sembra essere la domanda all'algoritmo del signor Y stesso ...


Grazie per la tua risposta. Non capisco davvero il tuo ultimo paragrafo: lo stesso non si può dire di nessuna classe di concetti concreti? Voglio dire, il signor Y essendo fortunato indovinando una password a caso non implica che possa farlo di nuovo. Ma mi manca il punto.
Anthony Labarre,

Immagino che assumerei le password come "sparse", come nel caso di indovinare. Se non desideri assumerlo, allora sono felice solo perché la mia risposta è ancora migliore :)
Lev Reyzin

0

La difficoltà di retroingegnerizzare l'algoritmo sembra dipendere da quanto lo spazio dei tasti è già scaduto.

Supponiamo che l'algoritmo di Mr. X sia molto limitato, quindi ci sono (diciamo) solo 10.000 chiavi potenzialmente valide. Se Mr. X ha avviato di recente questa società, quindi ci sono pochissime chiavi scadute - e quindi pochi "falsi negativi" - la retroingegnerizzazione dell'algoritmo potrebbe essere relativamente semplice. Se il signor X ha già scaduto 9000 delle chiavi potenzialmente valide, e quindi abbiamo 9 "10 falsi negativi" su 10, allora il reverse engineering dell'algoritmo sembra essere molto più difficile. E, naturalmente, se il signor X ha già scaduto ogni chiave potenzialmente valida, tranne quelle che il signor Y e i suoi collaboratori già conoscono, allora l '"oracolo taciturno" gli fornirà zero nuove informazioni.


0

Sembra che in realtà solo molte password valide possano essere effettivamente utilizzate. Se la lingua della password è finita, allora non c'è speranza (come in questo caso, è possibile utilizzare tutte le password valide, nel qual caso l'oracolo restituisce sempre FALSO).

N>2nn

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.