1 Novità sul protocollo TLS. Seminario di : Calabrese Luca - estensione per il Wireless. - IC.

Post on 01-May-2015

218 views 0 download

Transcript of 1 Novità sul protocollo TLS. Seminario di : Calabrese Luca - estensione per il Wireless. - IC.

1

Novità sul protocollo TLS.

Seminario di :Calabrese Luca

- estensione per il Wireless. - IC.

2

Il Wireless

L’ambiente wireless spesso ha dei vincoli in più rispetto agli ambienti cablati.

I principali problemi, che si hanno in ambiente wireless sono :

• Limitazione di banda.

• Limitazione di potenza computazionale.

• Limitazione di memoria.

• Limitazione di vita delle batterie.

3

Estensione del TLS

L’estensione del TLS deve permettere : Ai clients e ai servers di negoziare una

dimensione massima dei records che vogliono spedire tra loro.

Ai clients ed ai servers di negoziare l’uso di client certificate URLs.

Ai clients di indicare ai servers quali CA root keys essi posseggono.

4

Estensione del TLS (2)Inoltre l’estensione del TLS deve : dare la possibilità ai servers di utilizzare

piccoli identificatori di sessione. permettere ai clients e ai servers di

negoziare l’uso di MACs troncati. permettere ai clients e ai servers di

negoziare il fatto che i servers mandino ai clients un OCSP response durante il TLS handshake.

5

Client Hello esteso Il formato del msg :

struct {

ProtocolVersion client_version;

Random random;

SessionId session_id;

CipherSuite cipher_suites<2..216-1>;

CompressionMethod compression_methods <1..28-1>;

Extension client_hello_extension_list <0..216-1>;

} ClientHello;

6

Server Hello esteso

Il formato del msg :

struct {

ProtocolVersion server_version;

Random random;

SessionId session_id;

CipherSuite cipher_suites;

CompressionMethod compression_methods;

Extension server_hello_extension_list <0..216-1>;

} ServerHello;

7

Hello Extensionsstruct {

ExtensionType extensionType;

opaque unknow_extension<0..216-1>;

} Extension;

Dove : extensionType identifica il particolare

tipo di estensione. unknow_extension contiene informazioni

specifiche per quella particolare estensione.

8

Extension Type

Le extension type definite in questo documento sono :

enum {

reserved(0), max_record_size(1), client_certificate_url(2), trusted_key_ids(3), truncated_MAC(4), status_request(5)

} ExtensionType;

9

Wireless Extensions

Maximum Record Size NegotiationPer default la dimensione del record è 214

bytes.

extensionType = “max_record_size”unknown_extension = può contenereenum {

28(1), 29(2), 210(3), 211(4), 212(5)

} Negotiated_max_record_size;

10

Client Certificate URLsLa struttura del msg è :struct { Certificate_or_URL certificate_trasport_type; select(Certificate_or_URL) { case certificate : ASN.1Cert certificate_list<0..224-1>; case url : opaque url<0..28-1>; } certificate_trasport_body;}CertificateorURL;Dove :enum{certificate(1), url(2)} Certificate_or_URL;

11

Trusted CA IndicationI client in ambiente wireless, per ragioni di memoria, posseggono un limitato numero di CA root keys.Si utilizza una particolare estensione per comunicare al server il set di chiavi che il client conosce.

extensionType = “trusted_key_ids”unknown_extension = TrustedAuthorities

Dove :ThustedAuthority TrustedAuthorities<0..216-1>;

12

Small Session Identifiers

Il TLS per default la dimensione dei session identifiers è >= 32 bytes.

Per ragioni di spazio si può decidere di utilizzare meno bytes.

Opaque SessionID<0..32>;

13

Truncated MACs

Per ridurre lo spazio di banda necessaria per comunicare il client può negoziare con il server di utilizzare un meccanismo di autenticazione basato sull’andare a troncare il MAC ad una dimensione fissa.

14

OCSP

L’OCSP ( Online Certificate Status Protocol ) fornisce ai client un modo per verificare la validità del certificato fornito dal server.Utilizzando questa tecnica è possibile eliminare le CLRs .

15

OCSP Request

Una richiesta OCSP deve contenere :

protocol version service request target certificate identifier

16

OCSP ResponseUna risposta OCSP deve contenere :

nome del responder. le risposte per ogni certificato

presente. nella richiesta. estensioni opzionali.

17

OCSP Response (2)

Lo stato di un certificato può essere :

good revoked unknown

18

Security Considerations

I problemi che introduce un estensione wireless sono legati a :

Truncated MAC. CA root Key.

19

IC (Impersonation Certificate)

Impersonation è una comune tecnica usata nei sistemi di sicurezza per permettere ad una entità A di concedere ad un’altra entità B la possibilità di autenticare altre entità come se fosse fatto da A.

20

IC Esempio

SmartCard di Steve

21

IC

Impersonation risolve i seguenti problemi :

Single sign-on

Delegation

22

IC Descrizione dell’approccioUn IC è un certificato X.509 a chiave

pubblica che ha le seguenti proprietà: viene firmato da un EEC oppure da un

altro IC. Può solamente firmare un altro IC. Ha una coppia di chiavi (privata e

pubblica) distinte da tutti gli altri EEC e IC. Non ha nome proprio ma lo eredita dal

EEC.

23

Procedimento per creare un IC Creare una coppia di chiavi ( privata e

pubblica). Viene inoltrata una IC request. La IC request viene firmata o da un EEC

oppure da IC. Vengono effettuati dei controlli per verificare la validità della richiesta.

24

Ritorniamo all’esempio Steve con la sua smartcart effettua

l’autenticazione sul suo computer. Il programma starter può “delegare

l’identità di Steve” ( viene creato un IC ) all’agente che coordina la simulazione.

L’agente può autenticarsi come Steve verso gli altri computer della rete.

25

Security Consideration

PRO L’utilizzo degli ICs aumenta la sicurezza dell’

EEC. CONTRO

Un IC è generalmente meno sicuro di un EEC.