La crittografia deterministica di SQL Server 2016 è valida?

0

Vedo che MS ha appena rilasciato una nuova versione di SQL Server che supporta la crittografia deterministica di una colonna, in modo che tu possa ancora interrogarla:

link

In questo esempio, crittograficamente determinano la colonna SSN:

link

Ma questo suona molto simile alla BCE, che ho pensato fosse facilmente incrinato (vedi il diagramma del pinguino):

link

La crittografia deterministica è valida? Offre una vera protezione o ti fa sentire meglio?

    
posta John 05.06.2015 - 16:57
fonte

1 risposta

1

La documentazione attualmente pubblicata su ciò che fa realmente la crittografia deterministica non è sufficiente per giungere a una conclusione definitiva.

Ciò che si può dire è che tale crittografia deterministica può essere progettata e implementata "correttamente", nel qual caso non incorre in nessuna ulteriore debolezza oltre a quella inerente alla sua funzionalità: vale a dire che se due valori sono identici, saranno crittografati allo stesso valore e questo sarà visibile all'attaccante. Questo è un grosso problema inevitabile se i valori sono in un set abbastanza piccolo (ad esempio un valore booleano vero / falso).

Documentazione esistente sembra implicare che l'algoritmo di crittografia sottostante è "AEAD_AES_256_CBC_HMAC_SHA_256", che dice sia molto, e non abbastanza da sapere effettivamente cosa corre sotto il cofano. Un'implementazione "corretta" che corrisponde alla documentazione calcolerebbe l'IV per la crittografia CBC con E K (SHA-256 ( m )) (simmetrico crittografia dell'hash dei dati completi da crittografare). Tale implementazione eviterebbe la questione BCE / Pinguino. Tuttavia, non è chiaro se questo è ciò che Microsoft ha effettivamente implementato.

    
risposta data 05.06.2015 - 20:29
fonte

Leggi altre domande sui tag