¿Por qué Amazon no usa una autenticación NONCE para REST?

9

Cuando miras Amazonas RESTAuthentication puedes ver que no se usa un nonce:

Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature;

Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) );

StringToSign = HTTP-Verb + "\n" +
    Content-MD5 + "\n" +
    Content-Type + "\n" +
    Date + "\n" +
    CanonicalizedAmzHeaders +
    CanonicalizedResource;

CanonicalizedResource = [ "/" + Bucket ] +
    <HTTP-Request-URI, from the protocol name up to the query string> +
    [ subresource, if present. For example "?acl", "?location", "?logging", or "?torrent"];

CanonicalizedAmzHeaders = <described below>

¿Esto no debería incluir un nonce? ¿Se protegen contra los ataques de repetición de otra manera? ¿Cómo?

    
pregunta laktak 19.07.2016 - 10:56
fuente

1 respuesta

2

El uso de un nonce hace que el diseño sea complicado. El servidor s3 tendrá que enviar un nonce y el cliente deberá mantener una sesión o mantener el valor de nonce. La ausencia de nonce definitivamente conduce a un ataque de reproducción como usted mencionó y esa es la razón principal de todas las vulnerabilidades de acceso directo a URL que existen en las aplicaciones que usan almacenamiento S3. Amazon piensa que limitar la superficie de ataque con una marca de tiempo reduce el riesgo a un nivel aceptable. Por ejemplo, si la marca de tiempo de la solicitud no se encuentra dentro de una ventana establecida (5 a 15 minutos) se considera inválida.

    
respondido por el hax 26.11.2016 - 14:05
fuente

Lea otras preguntas en las etiquetas