Fa uso di SSL hashing internamente?
-
28-09-2019 - |
Domanda
Siamo nel processo di certificazione del nostro prodotto per la cura della salute (certificazione Hitech). Uno dei criteri del processo di certificazione è che il nostro prodotto dovrebbe essere in grado di utilizzare "hashing" per l'invio di informazioni sui pazienti attraverso la rete. Il nostro prodotto è un thick client che si collega direttamente al database di SQL Server 2005. Così, quando inviamo le informazioni del paziente da cliente a procedura di memorizzazione DB, dovrebbe utilizzare "hashing" per fare in modo che le informazioni non è stato alterato in transito.
Ora, stiamo progettando per collegare il nostro cliente a SQL Server utilizzando SSL connessione sicura. Quando ho letto il protocollo SSL, sembra che utilizza SSL hashing internamente. Quindi, se questo è vero, ho potuto soddisfare automaticamente il requisito di hashing utilizzando la connessione SSL tra client e SVR sql.
Così qui sono le mie domande
- Quando i dati vengono trasmessi tramite una connessione SSL, è ogni messaggio allegato con un hash internamente, in modo tale che le verifica del protocollo SSL che hasnt dati stati modificati?
- non SSL utilizzare il meccanismo di hashing solo durante le fasi iniziali della sua stretta di mano? Così, dopo la stretta di mano è completa, solo crittografare / decrittografare i dati senza alcun meccanismo di hashing coinvolti?
- Se SSL fa allegare un hash per ogni messaggio, è la "chiave pubblica" utilizzato per creare l'hash?
Soluzione
Quando i dati vengono trasmessi tramite una connessione SSL, è ogni messaggio allegato con un hash internamente, in modo tale che le verifica del protocollo SSL che hasnt dati stati modificati?
Sì. Si aggiunge un MAC con chiave per ogni record TLS scambiato.
non SSL utilizzare il meccanismo di hashing solo durante le fasi iniziali della sua stretta di mano?
No, si verifica in tutto.
Se SSL fa allegare un hash per ogni messaggio, è la "chiave pubblica" utilizzato per creare l'hash?
No. Un segreto condiviso viene utilizzato per creare l'hash.
Per ulteriori informazioni, vedere RFC2246 .
Altri suggerimenti
Anche se SSL utilizza hashing, che garantirà solo la parte della trasmissione che maniglie SSL. C'è ancora un gap alle due estremità tra l'applicazione client e la connessione di rete, e tra la connessione di rete e l'applicazione server.
È necessario creare un hash dei dati trasmessi con i dati tutta la strada da dentro l'applicazione client verso l'interno l'applicazione server.
Dipende. Le due parti negoziali possono negoziare il livello di protezione e gli algoritmi utilizzati. Il caso più comune è che gli usi negoziali TLS , non SSL, è richiesto un messaggio privacy (es. crittografia) e la protezione manomissione è richiesto (es. firma). utilizza TLS per messaggio hashing basate su HMAC , vedere il capitolo 5 di RFC2246 . SSL utilizza un MAC , che è leggermente più debole di un HMAC (un MAC non contiene un segreto la sua digest).
A una visione a livello 10000 ft esecutivo la risposta è 'Sì, SSL hash ogni messaggio'. Far rispettare la crittografia SSL sul protocollo client di SQL Server è necessario quando arrivavano nelle distribuzioni conformi. Per maggiori dettagli e controllo di guida del webcast e white paper all'indirizzo SQL Server di conformità .
SSL è più forte di hashing. Esso dovrebbe soddisfare le vostre esigenze.
I sarà più chiaro:
SSL crittografa tutti i dati che vengono trasmessi. Ciò significa che i dati non possono essere letti e se è cambiato non possono essere decifrati. SSL impedisce così di gronda contagocce e dai cambiamenti.
Il requisito è stato scritto con l'aspettativa che la maggior parte della comunicazione è stato fatto in chiaro. Con l'uso di SSL a soddisfare facilmente questo requisito.
Nota importante:. Assicurati di comunicazione SSL sia stato eseguito correttamente - è l'unico punto di guasto
SSL, o TLS (è molto probabile che essere in grado di utilizzare TLSv1.0 almeno al giorno d'oggi, anche quando si parla di "SSL"), mira a scopi proteggere " [...] per garantire la riservatezza e integrità dei dati tra due applicazioni comunicanti "(vedi RFC ).
RFC 4346 prosegue dicendo:
Il TLS Record protocollo prevede sicurezza della connessione che ha due di base proprietà:
- Il collegamento è privato. [...]
- Il collegamento è affidabile. trasporti messaggio include un messaggio di integrità controllare utilizzando un MAC con chiave. Secure hash funzioni (ad esempio, SHA, MD5, ecc) sono utilizzato per i calcoli MAC. Il disco Protocollo può funzionare senza un MAC, ma è generalmente utilizzato solo in questa modalità mentre un altro protocollo utilizza il Protocollo Record come un trasporto per negoziare i parametri di sicurezza.
Quindi, sì, è in grado di rilevare i tentativi di corrompere la trasmissione dei dati (intenzionale o accidentale).