Криптовање база података

С Википедије, слободне енциклопедије
Енигма

Криптовање база података је део криптографије који се односи на методе заштите и очувања тајности база података. Појам „криптографија“ је настао од грчког придева κρυπτός, крyптóс „скривен“ и глагола γράφω грáфо „писати“. Криптографија је заснована на математици и компјутерској науци, и уско је повезана са теоријом информација, компјутерском безбедношћу и инжењерством.[1]

Историја криптографије[уреди | уреди извор]

Урезивање хијероглифа на споменицима Старог царства у Египту (пре више од 4.500 година) узима се за најранији доказ криптографије. У старој Грчкој су спартански војници користили нарочит штап за одгонетање, скитал. Херодот још помиње јавке на таблама, прекривене воском, и писање на главама робова (прво тетовирање) што би касније прекрила коса. Велики војсковођа, Јулије Цезар, користио је при слању порука својим војницима шифре, тако што је поједина слова у тексту померао за три и више места. Леоне Батиста Алберти, италијански архитекта, познат као "Отац западне криптологије", написао је прву познату 25 страна дугу расправу на тему криптографије 1467. године. Највећим подухватом, међутим, сматра се проваљивање немачке електромеханичке машине за шифре, назване Енигма, у чије је тајне проникао Пољак Марјан Рејевски. Справа је завршила у британским рукама, што је, према извесним мишљењима, скратило борбе у Другом светском рату за годину-две. Са Острва потиче и први дигитални електронски рачунар Колос, осмишљен с јединим циљем, да дешифрује непријатељске поруке.[2]

Криптографска заштита базе података[уреди | уреди извор]

Заштита база података је од све већег значаја. Циљ сваке организације је да штити све осетљиве податке у базама података, у којима се налазе важне информације за њихово пословање. Постоје различити методи заштите база података, од којих су основни локална и екстерна заштита. Код локалне заштите шифровање се врши само у бази података, тако што се инсталира криптографски модул унутар дате базе. Циљ таквог механизма је да физички заштити податке на серверу. Ови механизми користе популарне стандардне криптографске алгоритме (АЕС, 3ДЕС и друге).[3] Екстерна заштита се постиже инсталацијом модула на апликативном серверу. Шифровање се врши само на серверској страни и на тај начин се штите подаци на серверу, као и подаци у комуникацији између апликативног сервера и базе података.

Криптографски алгоритми[уреди | уреди извор]

Криптографски алгоритми се користе за шифровање порука, односно за њену трансформацију из отвореног у шифровани облик. Три основна начина шифровања су хасх функција, симетрично шифровање и асиметрично шифровање.

Хасх функција[уреди | уреди извор]

Хасх функција

Криптографска функција за сажимање или хасх функција штити интегритет података и гарантује аутентичност поруке. Хасх алгоритам обавља процес конверзије поруке или података у нумеричку вредност. Тако добијена вредност се назива хасх збир или хасх сума. Хасх функције могу бити једносмерне, код којих се не дозвољава поновно дешифровање поруке, и двосмерне, код којих је то могуће. Два најпознатија стандарда који користе хасх функцију су СХА-Сецуре, који генерише 160 битну вредост и МДА-Мессаге, који генерише 128 битну вредност. Оба представљају једносмерни хасх алгоритам. СХА-1 (Сесуре Хасх Алгоритам) је функција која сваки текст који је предмет шифровања обради тако, да се на излазу добије низ од 160 нула и јединица. Таквих низова има 2160. Рачунарски је немогуће наћи било који улаз, чија је хасх вредност унапред задати излаз и немогуће је наћи два различита улаза са истом хасх вредношћу.

Симетрични алгоритми[уреди | уреди извор]

Захтевају постојање истог кључа и процесног алгоритма на обе стране везе. Они генеришу тајни кључ који се мора добро заштити. Тајни кључ се назива и приватни кључ. Свака особа која користи овај систем мора да поседује кључ. Шифровање се обавља у блоковима (блок по блок) или проточно (бит по бит или бајт по бајт). Стандардни симетрични алгоритми који се данас користе су: ДЕС, АЕС, 3ДЕС, ЦАСТ, РЦ, БЛОWФИСХ, ИДЕА. ДЕС алгоритам користи блокове од 64 бита, подељене на два 32битна блока (L и D). 3ДЕС је развијен касније, доста је сигурнији и три пута спорији од ДЕС алгоритма. Користи 192-битни кључ. АЕС алгоритам користи 128 битни кључ и ради над 128 битним блоком података. Могуће га је проширити на употребу кључа од 192 и 256 бита. Код АЕС алгоритма, блок података организован је у табелу од четири пута по четири знака.

Асиметрични алгоритми[уреди | уреди извор]

Користе за шифровање и дешифровање података јавни и приватни кључ. Јавни кључ се користи код слања и шифровања поруке, док се приватни користи код дешифровања. Системи са два кључа називају се ПКЦ (енгл. Public Key Cryptography). Најпознатији системи су: RSA, DIFFIE-HELLMAN, ECC, ELGamal.

Криптографски модул у MySQL SUBP[уреди | уреди извор]

МyСQЛ у свом криптографском модулу користи AES и DES алгоритме. Да би се користио АЕС алгоритам, морају се употребити функције AES_ENCRYPT() и AES_DECRYPT() које дозвољавају шифровање и дешифровање података користећи АЕС алгоритам познатији као "Ријндаел". У овом модулу MySQL користи дужину кључа од 128 бита, али модификацијом кода може се проширити на дужину од 256 бита. Боље перформансе има 128 битни кључ због веће брзине, тако да се углавном он користи. Функција AES_ENCRYPT() као резултат враћа бинарни стринг, а функција AES_DECRYPT() враћа оригинални стринг. У случају да се проследе погрешни аргументи функцијама, обе функције као резултат враћају нулу. Постоје две могућности за коришћење ДЕС_ЕНЦРYПТ() функције. Прва је да се као аргументи могу проследити оригинални кључ и текст, а друга да се проследи само оригинални текст, и у том случају функција за кључ користи оригинални текст. У случају неисправности, функција враћа нулу. Функција DES_DECRYPT() захтева два аргумента, назив поља и кључ који ће се користити за дешифровање.

Процеси приликом употребе криптографије над базама података[уреди | уреди извор]

Основне тезе које су укључене у функционалност криптографског механизма на базама података подједнако су важне и не сме доћи до занемаривања неке од њих јер се може нарушити заштита и само функционисање. То су:

  • Одабир криптографског алгоритма
  • Чување кључа
  • Промена кључа
  • Криптографске грешке
  • Перформансе

Одабир криптографског алгоритма[уреди | уреди извор]

Због једноставности и брзине, најчешће се користе симетрични криптографски алгоритми. Поред тих главних предности постоје и неке мане, као код сигурног преношења кључа свим корисницима, ако су на већој физичкој удаљености.

Чување кључа[уреди | уреди извор]

Основно правило симетричних и асиметричних алгоритама је да кључеве никада не треба држати заједно на једном месту. Уколико су две особе задужене за складиштење кључева, потребно је присуство обе особе приликом отварања складишта. Опасно је и забрањено слати тајне кључеве преко мреже јер се могу нанети непоправљиве штете систему. Кључ код криптографског система може да се чува на различитим медијима као што су смарт картице, усб флеш дискови или на физички добро обезбеђеним рачунарима.[4]

Промена кључа[уреди | уреди извор]

Процес промене кључа захтева поновно дешифровање података старим кључем и шифровање података новим кључем. До повлачења кључа долази услед њихове компромитације, нарушавања процеса идентификације и у другим случајевима који могу да угрозе систем заштите. Промена кључа може бити захтеван процес уколико се ради о огромним базама података са више хиљада корисника.

Криптографске грешке[уреди | уреди извор]

  • Дизајнерске грешке
  • Корисничке грешке
  • Грешке при имплементацији
  • Грешке због окружења

Перформансе[уреди | уреди извор]

Перформансе су најбитнији део сваког криптографског алгоритма, јер од њих зависи ефикасност и функционисање датих механизама.

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ Leader in security, Cryptography Архивирано на сајту Wayback Machine (17. април 2012) Приступљено на дан 2012.05.13
  2. ^ A short history of cryptography Приступљено на дан 2012.05.13
  3. ^ Систем за шифровање и потписивање[мртва веза] Приступљено на дан 2012.05.14
  4. ^ Чување кључева и безбедност Архивирано на сајту Wayback Machine (19. април 2009)Приступљено на дан 2012.05.14

Спољашње везе[уреди | уреди извор]