¿Es APG suficientemente seguro?

2

Ubuntu actualmente recomienda usar APG (Generador de contraseñas automatizado) para crear contraseñas seguras pero pronunciables.

Normalmente lo uso así (vea las explicaciones de las opciones aquí ):

apg -s -m 16 -x 16 -M SNCL

Esto crea contraseñas de longitud 16, que contienen al menos un carácter de cada una de las 4 clases: minúsculas, mayúsculas, números y símbolos especiales, utilizando una semilla ingresada manualmente.

Sin embargo, creo que he notado una falla: las contraseñas usualmente contienen solo un dígito y un símbolo especial, y una de ellas generalmente se encuentra al final de la contraseña (algunas veces al principio). Aquí hay un lote de 16 contraseñas que acabo de generar:

TelHulp5Ot*Graj8
notDodsOwgid5ut<
EywiJudCof8drog_
DuerfigOkCif0Ov~
udBon9opyivyawl@
@2drakBanRewyooc
abAxKec0quacJej>
Sam9?Trobhecvun[
RypMycs'Frewjij5
orEs%KooHujsayt7
Dunwib1flynjead_
Hud+quonEdDairr5
Aj|oj7owojadEmp4
@Shmeeb0quicOam_
CribDip9drefBag[
LocEwCyWrarl#on9

¿Hasta qué punto esta falla disminuye la entropía de la contraseña? ¿Estas contraseñas siguen siendo seguras en estos días? Me preocupa sobre todo su uso para cuentas en varios sitios web.

    
pregunta Neith 07.09.2016 - 20:03
fuente

1 respuesta

1

Usé homebrew para instalar apg y le pedí que generara 10,000 contraseñas usando la misma configuración que tenías arriba en un archivo.

Luego eliminé todo excepto las contraseñas y ejecuté la salida a través de ENT. enlace

Value Char Occurrences Fraction
 33   !          339   0.002119
 34   "          330   0.002063
 35   #          336   0.002100
 36   $          335   0.002094
 37   %          320   0.002000
 38   &          285   0.001781
 39   '          309   0.001931
 40   (          301   0.001881
 41   )          363   0.002269
 42   *          359   0.002244
 43   +          307   0.001919
 44   ,          327   0.002044
 45   -          360   0.002250
 46   .          325   0.002031
 47   /          358   0.002237
 48   0         1003   0.006269
 49   1         1024   0.006400
 50   2         1058   0.006613
 51   3          987   0.006169
 52   4         1040   0.006500
 53   5          983   0.006144
 54   6         1005   0.006281
 55   7         1083   0.006769
 56   8         1051   0.006569
 57   9         1038   0.006488
 58   :          289   0.001806
 59   ;          332   0.002075
 60   <          298   0.001863
 61   =          319   0.001994
 62   >          322   0.002012
 63   ?          287   0.001794
 64   @          330   0.002063
 65   A         1544   0.009650
 66   B          810   0.005063
 67   C          896   0.005600
 68   D         1179   0.007369
 69   E         1575   0.009844
 70   F          987   0.006169
 71   G         1007   0.006294
 72   H         1090   0.006812
 73   I         1453   0.009081
 74   J          681   0.004256
 75   K          698   0.004363
 76   L          311   0.001944
 77   M          454   0.002838
 78   N          796   0.004975
 79   O         3924   0.024525
 80   P          432   0.002700
 81   Q          697   0.004356
 82   R          556   0.003475
 83   S          819   0.005119
 84   T          748   0.004675
 85   U          954   0.005962
 86   V          678   0.004237
 87   W         1009   0.006306
 90   Z           89   0.000556
 91   [          294   0.001837
 92   \          323   0.002019
 93   ]          339   0.002119
 94   ^          322   0.002012
 95   _          298   0.001863
 96   '          301   0.001881
 97   a         8126   0.050787
 98   b         3462   0.021638
 99   c         5050   0.031563
100   d         5366   0.033537
101   e         8748   0.054675
102   f         3454   0.021587
103   g         3836   0.023975
104   h         3590   0.022437
105   i         8017   0.050106
106   j         3202   0.020012
107   k         3633   0.022706
108   l         3901   0.024381
109   m         2573   0.016081
110   n         4557   0.028481
111   o         9528   0.059550
112   p         2909   0.018181
113   q          656   0.004100
114   r         6697   0.041856
115   s         4906   0.030662
116   t         5509   0.034431
117   u         6270   0.039188
118   v         3249   0.020306
119   w         3449   0.021556
120   x          336   0.002100
121   y         4678   0.029237
122   z          378   0.002363
123   {          324   0.002025
124   |          312   0.001950
125   }          308   0.001925
126   ~          309   0.001931

Total:        160000   1.000000

Entropy = 5.660150 bits per byte.

Optimum compression would reduce the size
of this 160000 byte file by 29 percent.

Chi square distribution for 160000 samples is 976494.49, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 96.9483 (127.5 = random).
Monte Carlo value for Pi is 4.000000000 (error 27.32 percent).
Serial correlation coefficient is -0.006260 (totally uncorrelated = 0.0).

    Arithmetic mean value of data bytes is 96.9483 (127.5 = random). Monte Carlo value for Pi is 4.000000000 (error 27.32 percent). Serial correlation coefficient is -0.006260 (totally uncorrelated = 0.0).

No preste mucha atención a las estadísticas agregadas, ya que busca todos los valores char posibles de 0 a 256, no solo los que se pueden imprimir.

Sin embargo, solo por mirar las frecuencias de recuento de caracteres, parece que las letras minúsculas aparecen mucho más a menudo que los símbolos. Esto se debe a las reglas en APG para crear tales contraseñas en modo de contraseña pronunciable.

Es cierto que hay menos entropía en general al usar este método en lugar de contraseñas realmente aleatorias. La compensación es que se supone que estas contraseñas son mucho más fáciles de recordar.

    
respondido por el Anthony Lozano 07.09.2016 - 21:47
fuente

Lea otras preguntas en las etiquetas