Криптирането на данни играе критична роля за сигурността на ИТ системите и комуникациите, но също така създава някои нови предизвикателства като сортиране, индексиране, ефективност на заявките и т.н. За да адресираме точно тези проблеми, ние разработихме и внедрихме успешно собствено решение за криптиране, запазващо реда, което работи независимо къде са съхранени данните. Нашето решение криптира данните като същевременно позволява да се изпозлват стандартните за базите данни функции като индексиране, справки от вида 'starts with' и 'range' (ако M < N < P то M + X < N < P + X). Разбира се, всяко нещо си има цена - по дефиниция този тип криптиране е по-бавно и с по-ниско ниво на сигурност спрямо стандартните криптиращи алгоритми. Нашето решение отчита това и предлага избирателно включване на това криптиране за определено поле (колона), a останалите данни се криптират със стандартни алгоритми. Не на последно място, имплентацията позволява паралелно многонишково изпълнение, така щото да се възпозва от много-процесорните и многo-нишковите архитектури.
Направихме измерване с KVM виртуална машина с 4 виртуални процесора, 16 GB RAM и 4, 8 и 12 паралено работещи нишки, криптиращи и декриптиращи случайни данни (големина по-малка от 2048 байта). Тестовете показват, че времето за запис се увеличава с 5-15ms спрямо стандартен алгоритъм за криптиране. Считаме, че тази 'цена' си заслужава, тъй като отпадат притесненията от изтичане на данни при използване на публични/облачни доставчици на услуги. В допълнение, администраторите на базата данни нямат достъп до данните в чист (некриптиран) вид, съответно няма риск от неправомерно използване на данни, което е и изискване по Общ регламент относно защитата на данните (ОРЗД).
