Perché Amazon non usa l'autenticazione NONCE per REST?

9

Quando guardi Amazons RESTAuthentication puoi vedere che non 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>

Questo non dovrebbe includere un nonce? Proteggono dagli attacchi di replay in un altro modo? Come?

    
posta laktak 19.07.2016 - 10:56
fonte

1 risposta

2

L'uso di un nonce rende il design complicato. Il server s3 dovrà inviare un nonce e il client dovrà mantenere una sessione o mantenere il valore nonce. L'assenza di nonce porta sicuramente a replicare l'attacco come già accennato e questa è la ragione principale per tutte le vulnerabilità di accesso diretto all'URL che esistono nelle applicazioni che utilizzano l'archiviazione S3. Amazon pensa che limitare la superficie di attacco usando un timestamp riduce il rischio a un livello accettabile. Ad esempio se il timestamp della richiesta non è all'interno di una finestra impostata (5-15 minuti) è considerato non valido.

    
risposta data 26.11.2016 - 14:05
fonte

Leggi altre domande sui tag