Netflix rilascia patch TLS per il kernel FreeBSD

Società Netflix offerta per testare l'implementazione a livello di kernel di FreeBSD di TLS (KTLS), che consente un aumento significativo delle prestazioni di crittografia per i socket TCP. Supporta l'accelerazione della crittografia dei dati trasmessi utilizzando i protocolli TLS 1.0 e 1.2 inviati al socket utilizzando le funzioni write, aio_write e sendfile.

Lo scambio di chiavi a livello di kernel non è supportato e la connessione deve essere prima stabilita e negoziata nello spazio utente. Per trasferire al kernel la chiave di sessione ottenuta durante il processo di negoziazione della connessione per i socket, è stata aggiunta l'opzione TCP_TXTLS_ENABLE, dopo l'attivazione della quale tutti i dati inviati al socket verranno incapsulati in frame TLS utilizzando la chiave specificata. Per inviare messaggi di servizio, ad esempio per negoziare una connessione, è necessario utilizzare la funzione sendmsg con il tipo di record TLS_SET_RECORD_TYPE.

Sono supportati due metodi principali per crittografare i frame TLS: software e ifnet (utilizzando l'accelerazione hardware delle schede di rete). La scelta del metodo viene effettuata utilizzando
opzioni socket TCP_TXTLS_MODE. Il metodo software consente di connettere diversi backend per la crittografia. Ad esempio, è stato pubblicato il backend ktls_ocf.ko con supporto per AES-GCM, implementato sulla base del framework OpenCrypto. Diversi sysctl sono offerti per la gestione all'interno del ramo kern.ipc.tls.*. Durante la compilazione del kernel, il supporto TLS viene abilitato utilizzando l'opzione KERN_TLS.

Fonte: opennet.ru

Aggiungi un commento