Qual è il livello di crittografia s / mime su iOS?

5

Ho impostato S / MIME sul mio iPhone, ma a differenza di altri client di posta, non ho la possibilità di selezionare gli algoritmi di hash o di crittografia. Presumo che iOS prenda questa decisione per me.

Qualcuno può dirmi quali sono gli algoritmi utilizzati e quali sono le dimensioni delle chiavi? Sarebbe bello sapere che la NSA avrà difficoltà a penetrare nelle mie notifiche di Facebook. : D

    
posta cottsak 20.08.2013 - 08:20
fonte

2 risposte

5

SHA-1 è più probabile che sia. Ecco cosa ho trovato per supportare tale affermazione:

Nel documento di riferimento dei servizi di sintassi dei messaggi crittografici , è ha dichiarato che la versione S / MIME utilizzata è 3.1 , che è definita qui e dove è indicato che supporta SHA-1, SHA-256, SHA-384 e SHA-512 ma:

The SHA-256, SHA-384, and SHA-512 algorithms [FIPS180-2] are not currently recommended in S/MIME, and are included here for completeness.

Ancora di più, sul Riferimento ai servizi di certificati, chiavi e trust documento (sebbene sia la versione per Mac), si afferma che l'algoritmo predefinito utilizzato è SHA-1 .

In un altro documento , è detto:

The most common hash function you will use is SHA-1, an algorithm developed and published by the U.S. Government that produces a 160-bit hash value from any data up to 2**64 bits in length. There are also a number of more exotic algorithms such as SHA-2, elliptic-curve-based algorithms, and so on.

For compatibility with existing systems and infrastructure, you may occasionally need to use older algorithms such as MD5, but they are not recommended for use in new designs because of known weaknesses.

Quindi, anche se non sono riuscito a trovare alcuna istruzione diretta che confermasse l'uso dell'algoritmo SHA-1, clues puntare in quella direzione.

    
risposta data 20.08.2013 - 10:13
fonte
3

Per un messaggio specifico, puoi usare openssl asn1parse per sbirciare dentro.

Mi sono inviato un messaggio utilizzando iOS Mail, firmato e crittografato a me e utilizzando la riga di comando

$ openssl smime -pk7out -in message.eml | openssl asn1parse

e il contenuto dei risultati ha mostrato che il messaggio sembra essere crittografato con 3DES EDE in modalità CBC:

  913:d=5  hl=2 l=   8 prim: OBJECT            :des-ede3-cbc

Trovare l'algoritmo della firma è un'altra sfida. Io penso che sia SHA-1, ma il messaggio decrittografato include molte firme di certificati e non sono sicuro di quale sia il messaggio.

$ openssl smime -decrypt -in smime.eml -recip me.crt -inkey me.key | \
    openssl smime -pk7out | openssl asn1parse

...

   30:d=5  hl=2 l=   5 prim: OBJECT            :sha1

Mentre la domanda è in realtà la domanda sull'algoritmo simmetrico e hash utilizzato per crittografare i dati del messaggio, i parametri per il certificato stesso (che contiene la chiave pubblica utilizzata per crittografare la chiave simmetrica che è, a sua volta, utilizzata per gestire il dati) sono selezionati al momento della generazione della chiave. L'ho visto in azione mentre generava una nuova coppia di chiavi personali a StartSSL ; l'interfaccia web richiede la dimensione della chiave RSA e l'algoritmo della firma che desidero usare, insieme all'avvertimento che scegliendo SHA-1 ti lascerà un certificato incompatibile con alcuni sistemi.

Per quello che vale, il mio certificato personale utilizza RSA a 2048 bit e l'algoritmo di firma SHA-1, che ho trovato funziona bene su diversi sistemi diversi, tra cui OS X Mail.app, iOS Mail e Outlook 2007 .

    
risposta data 29.08.2013 - 15:19
fonte

Leggi altre domande sui tag