< Return to Video

Семантичка безбедност (16 min)

  • 0:00 - 0:04
    Намера ми је да вам у следећих неколико одељака покажем да ако користимо безбедни PRG,
  • 0:04 - 0:08
    добијамо безбедну шифру тока. Пре свега морамо да дефинишемо
  • 0:08 - 0:12
    шта подразумевамо под безбедношћу шифре тока? Кад год дефинишемо безбедност,
  • 0:12 - 0:15
    увек је дефинишемо у смислу тога шта нападач може да уради, и шта
  • 0:15 - 0:19
    покушава да уради. У вези са шифрама тока, сетите се да се оне користе искључиво
  • 0:19 - 0:23
    са једнократним кључем, и услед тога највише што нападач икад може да види
  • 0:23 - 0:27
    јесте један шифрат шифрован коришћењем кључем који користимо. Дакле
  • 0:27 - 0:31
    ограничавамо нападачеву могућност на прибављање само једног шифрата.
  • 0:31 - 0:35
    У ствари, касније ћемо да дозволимо нападачу да уради много, много више,
  • 0:35 - 0:38
    али за сада ћемо да му дамо само један шифрат. И желимо да видимо
  • 0:38 - 0:43
    шта подразумевамо под безбедношћу шифре? Прва дефиниција
  • 0:43 - 0:47
    која нам пада на памет, јесте да можда желимо да захтевамо да нападач
  • 0:47 - 0:51
    не може да прибави тајни кључ. Дакле на основу шифрата
  • 0:51 - 0:55
    не треба да будете у стању да прибавите тајни кључ. Али то је лоша дефиниција
  • 0:55 - 0:59
    зато што, погледајте следећу сјајну шифру, где шифрујемо
  • 0:59 - 1:03
    поруку коришћењем кључа k тако што једноставно избацимо поруку.
  • 1:03 - 1:07
    Наравно ово је сјајна шифра, не ради ништа са поруком
  • 1:07 - 1:12
    осим што шифрат избаци као саму поруку. Ово није нарочито добро шифровање;
  • 1:12 - 1:16
    међутим, на основу шифрата, тј. поруке, сироти нападач
  • 1:16 - 1:20
    не може да прибави кључ, зато што му кључ није познат. Услед тога ова шифра,
  • 1:20 - 1:25
    која очигледно није безбедна, била би сматрана безбедном под овим
  • 1:25 - 1:29
    захтевима безбедности. Дакле оваква дефиниција не би ваљала.
  • 1:29 - 1:32
    Дакле прибављање тајног кључа је погрешан начин да се дефинише безбедност. Следеће што
  • 1:32 - 1:36
    можемо да покушамо је да кажемо да можда нападача није брига
  • 1:36 - 1:40
    за тајни кључ, већ га заправо занима отворени текст. Можда би требало
  • 1:40 - 1:44
    да нападачу буде тешко да дође до целокупног отвореног текста. Али чак и то
  • 1:44 - 1:48
    није довољно зато што, посматрајмо следећи начин шифровања. Рецимо
  • 1:48 - 1:53
    да код овог шифровања узимамо две поруке, ја ћу да користим
  • 1:53 - 1:58
    ове две линије да означим спајање двеју порука, m0 || m1 значи
  • 1:58 - 2:03
    спајање m0 и m1. Рецимо да ова шифра даје
  • 2:03 - 2:08
    m0 као отворену, и спаја то са шифром од m1. Можда чак и
  • 2:08 - 2:13
    коришћењем једнократне бележнице. Дакле овде се нападачу даје један
  • 2:13 - 2:17
    шифрат, а његов циљ је да дође до целокупног отвореног текста. Али
  • 2:17 - 2:22
    сироти нападач то не може да учини зато што, можда смо шифровали m1 коришћењем
  • 2:22 - 2:26
    једнократне бележнице, тако да нападач не може да дође до m1 зато што, знамо да је
  • 2:26 - 2:30
    једнократна бележница безбедна када се користи код само једног шифрата. Дакле ова конструкција
  • 2:30 - 2:34
    би задовољила дефиницију, али нажалост ово очигледно није безбедно
  • 2:34 - 2:38
    шифровање, зато што је процурило пола отвореног текста.
  • 2:38 - 2:42
    m0 је потпуно доступно нападачу, тако да, мада не може да дође до
  • 2:42 - 2:46
    целокупног отвореног текста, могао би да поврати већину отвореног текста, а то очигледно
  • 2:46 - 2:51
    није безбедно. Наравно већ знамо решење за ово, говорили смо
  • 2:51 - 2:55
    о Шеноновој дефиницији савршене безбедности, где је Шенонова идеја била
  • 2:55 - 2:59
    да када нападач пресретне шифрат, не треба да сазна никакву
  • 2:59 - 3:03
    информацију о отвореном тексту. Не треба чак ни да сазна ни један бит
  • 3:03 - 3:07
    отвореног текста, нити сме да му буде могуће да предвиди
  • 3:07 - 3:11
    мали део отвореног текста; никакву информацију о отвореном тексту.
  • 3:11 - 3:15
    Подсетимо се укратко Шеноновог појма савршене безбедности
  • 3:15 - 3:19
    рекли смо да шифра има савршену безбедност
  • 3:19 - 3:25
    ако, када имамо две поруке исте дужине, расподела
  • 3:25 - 3:30
    шифрата - ако одаберемо насумично кључ и посматрамо расподелу
  • 3:30 - 3:35
    шифрата, ако шифрујемо m0, добијамо потпуно исту расподелу као када
  • 3:35 - 3:39
    шифрујемо m1. Наслућујемо овде да ако нападач посматра шифрат,
  • 3:39 - 3:44
    не зна да ли је потекао из расподеле која је последица шифровања
  • 3:44 - 3:48
    са m0 или из расподеле која је последица шифровања са m1.
  • 3:48 - 3:53
    Услед тога, он не може да одреди да ли смо шифровали m0 или m1. И то важи за све
  • 3:53 - 3:57
    поруке истих дужина, и захваљујући томе сироти нападач не зна
  • 3:57 - 4:01
    која порука је била шифрована. Наравно већ смо рекли да је ова дефиниција
  • 4:01 - 4:05
    превише јака, у смислу да захтева врло дугачке кључеве, и ако шифра има кратке кључеве
  • 4:05 - 4:10
    никако не може да задовољи ову дефиницију. Конкретно, шифра тока
  • 4:10 - 4:14
    не може да задовољи ову дефиницију. Покушајмо да мало ослабимо ову дефиницију,
  • 4:14 - 4:19
    сетимо се претходног одељка. Можемо да кажемо да уместо да захтевамо
  • 4:19 - 4:24
    да две расподеле буду потпуно истоветне, ми захтевамо да
  • 4:24 - 4:29
    две расподеле буду рачунски нераспознатљиве. Другим речима, сироти,
  • 4:29 - 4:33
    ефикасни нападач не може да разликује две расподеле иако
  • 4:33 - 4:38
    расподеле могу да буду врло различите. На основу узорка
  • 4:38 - 4:43
    једне и друге расподеле, нападач не може да каже
  • 4:43 - 4:47
    из које расподеле је добио узорак. Испоставља се да је ова дефиниција
  • 4:47 - 4:52
    скоро одговарајућа, али је и даље мало прејака, и даље не може да се задовољи,
  • 4:52 - 4:56
    дакле морамо да додамо још једно ограничење, а то је да, уместо да кажемо да ова
  • 4:56 - 5:01
    дефиниција треба да важи за свако m0 и m1, она треба да важи само за парове m0, m1
  • 5:01 - 5:05
    које нападач може да изложи. То нас у ствари
  • 5:05 - 5:10
    доводи до дефиниције семантичке безбедности. Још једном, ово је семантичка
  • 5:10 - 5:15
    безбедност за једнократне кључеве, другим речима, када нападач добија само један
  • 5:15 - 5:20
    шифрат. Дакле дефинишемо семантичку безбедност тако што дефинишемо два огледа,
  • 5:20 - 5:25
    оглед 0 и оглед 1. У општем случају, посматраћемо
  • 5:25 - 5:29
    их као оглед (b), где b може да буде 0 или 1.
  • 5:29 - 5:33
    Оглед се дефинише на следећи начин, имамо нападача који
  • 5:33 - 5:37
    покушава да разбије систем - нападач А, који је аналоган статистичким тестовима
  • 5:37 - 5:41
    у свету псеудослучајних генератора. Изазивач ради
  • 5:41 - 5:45
    следеће, постоје два изазивача, али они
  • 5:45 - 5:49
    су толико слични, да можемо да их опишемо као истог изазивача који у једном случају
  • 5:49 - 5:54
    узима на улазу битове постављене на 0, а у другом случају
  • 5:54 - 5:57
    постављене на 1. Да вам покажем шта изазивач ради. Најпре
  • 5:57 - 6:01
    он бира случајно кључ, а затим нападач
  • 6:01 - 6:06
    избацује две поруке, m0 и m1. Ово је јавни
  • 6:06 - 6:11
    пар порука, за које нападач жели да буде изазван, и као и обично, не
  • 6:11 - 6:16
    покушавамо да сакријемо дужину порука, захтевамо да буду једнаке дужине.
  • 6:16 - 6:22
    Тада изазивач избаци шифровану m0
  • 6:22 - 6:26
    или шифровану m1, у огледу 0 изазивач избацује
  • 6:26 - 6:30
    шифровану m0, а у огледу 1 шифровану m1.
  • 6:30 - 6:34
    У томе је разлика између огледа.
  • 6:34 - 6:39
    Нападач покушава да погоди да ли је добио шифровану m0
  • 6:39 - 6:44
    или шифровану m1. Ево мало ознака. Дефинишимо
  • 6:44 - 6:50
    догађај Wb као догађај када за оглед b нападач избацује 1.
  • 6:50 - 6:55
    Дакле то је такав догађај, да у огледу 0 W0 значи да
  • 6:55 - 7:00
    је нападач избацио 1, а у огледу 1 W1 значи да је нападач избацио 1.
  • 7:00 - 7:05
    Сада можемо да дефинишемо предност овог нападача, и кажемо да је
  • 7:05 - 7:10
    предност семантичке безбедности нападача А над шемом Е
  • 7:10 - 7:15
    разлика између вероватноћа ова два догађаја. Другим речима
  • 7:15 - 7:20
    посматрамо да ли се нападач понаша различито када добије
  • 7:20 - 7:25
    шифровану m0 у односу на то када добије шифровану m1. Желим да будем
  • 7:25 - 7:29
    сигуран да је ово јасно, па ћу да поновим. Дакле у огледу 0 добио
  • 7:29 - 7:34
    је шифровану m0, а у огледу 1 шифровану m1,
  • 7:34 - 7:38
    и сада нас занима да ли нападач избацује 1 или не,
  • 7:38 - 7:42
    у овим огледима. Ако у оба огледа нападач избацује 1 са
  • 7:42 - 7:47
    истом вероватноћом, то значи да нападач није могао да разликује
  • 7:47 - 7:52
    два огледа. Оглед 0 изгледа нападачу исто
  • 7:52 - 7:56
    као оглед 1, зато што у оба случаја враћа 1 са истом вероватноћом.
  • 7:56 - 8:01
    Међутим, ако нападач може да избаци 1 у једном огледу са значајно
  • 8:01 - 8:06
    различитом вероватноћом него у другом огледу, тада је нападач
  • 8:06 - 8:10
    могао да разликује ова два огледа. Да искажемо ово
  • 8:10 - 8:14
    формалније, предност, зато што је то разлика двеју
  • 8:14 - 8:19
    вероватноћа, предност је број између 0 и 1. Ако је предност
  • 8:19 - 8:23
    блиска нули, то значи да нападач није био у стању да разликује
  • 8:23 - 8:27
    оглед 0 од огледа 1. Међутим ако је предност блиска јединици,
  • 8:27 - 8:32
    то значи да је нападач био у стању да разликује оглед 0 од
  • 8:32 - 8:36
    огледа 1, што у ствари значи да је био у стању да разликује шифровање
  • 8:36 - 8:40
    m0 од шифровања m1. Дакле то је наша дефиниција, у ствари,
  • 8:40 - 8:44
    то је само дефиниција предности, а дефиниција је управо
  • 8:44 - 8:48
    оно што бисте и очекивали, кажемо да је шема симетричног шифровања
  • 8:48 - 8:52
    семантички безбедна, ако за све "ефикасне" нападаче,
  • 8:52 - 8:57
    ако је за све ефикасне нападаче предност занемарљива. Другим речима,
  • 8:57 - 9:02
    не постоји ефикасан нападач који може да разликује шифровање m0 од шифровања m1,
  • 9:02 - 9:06
    и, тиме се каже, понављам, да за ове две
  • 9:06 - 9:11
    поруке нападач је био у стању да прикаже да није био у стању да разликује
  • 9:11 - 9:15
    ове две расподеле. Желим да вам покажем, ово је заправо врло
  • 9:15 - 9:20
    елегантна дефиниција, не мора да тако изгледа одмах, али желим да вам покажем неке
  • 9:20 - 9:24
    последице ове дефиниције, а видећете зашто је ова дефиниција таква каква јесте.
  • 9:24 - 9:29
    Погледајмо неке примере. Први пример је - претпоставимо
  • 9:29 - 9:33
    да имамо разбијену шему шифровања, другим речима, претпоставимо да имамо нападача А
  • 9:33 - 9:38
    који некако, добивши шифрат, увек може да открије бит најмање
  • 9:38 - 9:44
    тежине из отвореног текста. Дакле добивши шифру од m0, овај нападач
  • 9:44 - 9:49
    може да добије бит најмање тежине у m0. Ово је јако лоша
  • 9:49 - 9:53
    шема шифровања, зато што одаје бит најмање тежине из
  • 9:53 - 9:57
    отвореног текста самим шифратом. Желим да вам покажем да ова шема није
  • 9:57 - 10:02
    семантички безбедна, чиме се показује да ако систем јесте семантички
  • 10:02 - 10:06
    безбедан, не постоји нападач ове врсте. Погледајмо зашто овај систем
  • 10:06 - 10:10
    није семантички безбедан. Ми ћемо да користимо
  • 10:10 - 10:14
    нашег нападача, који може да открије битове најмање тежине, ми ћемо да
  • 10:14 - 10:18
    га користимо да разбијемо семантичку безбедност, то јест да разликујемо
  • 10:18 - 10:23
    оглед 0 од огледа 1. Ево шта ћемо да урадимо.
  • 10:23 - 10:27
    Ми смо алгоритам В, а овај алгоритам В ће да користи
  • 10:27 - 10:31
    алгоритам А у свом телу. Дакле прво што ће да се деси је,
  • 10:31 - 10:36
    наравно изазивач ће да одабере насумични кључ, и прво што ће да се деси је
  • 10:36 - 10:40
    да ћемо да избацимо две поруке,
  • 10:40 - 10:43
    а које ће да имају различите битове најмање тежине.
  • 10:43 - 10:48
    Једна ће да се завршава са 0, а друга са 1.
  • 10:48 - 10:51
    И шта ће сада изазивач да уради? Он ће да нам да
  • 10:51 - 10:55
    шифровање било од m0 било од m1, у зависности од тога да ли смо у огледу 0
  • 10:55 - 10:59
    или у огледу 1. А тада ћемо само да проследимо овај шифрат нападачу,
  • 10:59 - 11:04
    дакле нападачу А. А које је својство нападача А? Добивши шифрат,
  • 11:04 - 11:09
    нападач А може да нам каже који је бит најмање тежине отвореног текста.
  • 11:09 - 11:13
    Другим речима, нападач ће да избаци бит најмање тежине од m0 или m1,
  • 11:13 - 11:18
    а то је практично бит b. И затим ћемо само да
  • 11:18 - 11:23
    избацимо то као наш погодак, назовимо то b'. Дакле овим
  • 11:23 - 11:28
    се описује семантичка безбедност нападача. А ви ми кажите шта се предност
  • 11:28 - 11:34
    над семантичком безбедношћу код овог нападача? Па погледајмо: у огледу 0, која је
  • 11:34 - 11:39
    вероватноћа да нападач В избацује 1? Дакле у огледу 0 се увек
  • 11:39 - 11:44
    добија шифровање од m0, и зато нападач А увек избацује
  • 11:44 - 11:49
    бит најмање тежине од m0, а то је увек 0. У огледу
  • 11:49 - 11:53
    0, В увек избацује 0. Дакле вероватноћа да ће да избаци 1 је нула.
  • 11:53 - 11:58
    Међутим у огледу 1, добијамо шифровану m1. Дакле колико је вероватно да ће
  • 11:58 - 12:03
    нападач В да избаци 1 у огледу 1? Па, увек ће да избаци 1,
  • 12:03 - 12:07
    због својства алгоритма А. И услед тога, предност је практично 1.
  • 12:07 - 12:12
    Дакле то је велика предност, највећа што може да буде. Што значи да је овај
  • 12:12 - 12:17
    нападач потпуно разбио систем. Дакле под семантичком
  • 12:17 - 12:22
    безбедношћу, просто сазнавање бита најмање тежине је довољно да потпуно
  • 12:22 - 12:27
    разбије систем - под дефиницијом семантичке безбедности. Занимљива ствар
  • 12:27 - 12:32
    овде је наравно да се не ради само о биту најмање тежине,
  • 12:32 - 12:37
    у ствари, било који бит поруке, на пример, бит највеће тежине,
  • 12:37 - 12:42
    седми бит, можда XOR свих битова поруке, итд,
  • 12:42 - 12:47
    било каква информација, било који бит отвореног текста који може да
  • 12:47 - 12:51
    се сазна, значио би да систем није семантички безбедан.
  • 12:51 - 12:56
    Дакле све што нападач треба да уради јесте да се појави са две поруке,
  • 12:56 - 13:00
    m0 и m1, које су такве да је код једне од њих, то што сазнаје има вредност 0,
  • 13:00 - 13:05
    а код друге има вредност 1. На пример, А је сазнао XOR
  • 13:05 - 13:09
    битова поруке - тада m0 и m1 само треба да имају
  • 13:09 - 13:13
    различити XOR свих битова у поруци, и нападач А би могао
  • 13:13 - 13:18
    да разбије семантичку безбедност. Практично ако је шифра
  • 13:18 - 13:23
    семантички безбедна, никаква информација се не открива
  • 13:23 - 13:27
    ефикасном нападачу. То је управо и појам савршене тајности, али
  • 13:27 - 13:31
    примењен само на ефикасне нападаче уместо на све нападаче.
  • 13:31 - 13:35
    Следеће што желим да вам покажем је да је једнократна бележница
  • 13:35 - 13:39
    семантички безбедна, и боље би било да јесте, зато што је
  • 13:39 - 13:43
    и више од тога, она је савршено безбедна. Погледајмо зашто ово важи.
  • 13:43 - 13:47
    Још једном посматрамо овакве огледе, дакле претпоставимо да нападач претендује
  • 13:47 - 13:51
    да разбије семантичку безбедност једнократне бележнице. Он ће најпре
  • 13:51 - 13:56
    да избаци две поруке, m0 и m1, исте дужине.
  • 13:56 - 14:00
    Шта добија као изазов? Добија или шифровану
  • 14:00 - 14:04
    m0 или шифровану m1, под једнократном бележницом.
  • 14:04 - 14:08
    И покушава да разликује ове две могуће шифрате које добија.
  • 14:08 - 14:12
    У огледу 0, добија шифровану m0, а у огледу 1, добија
  • 14:12 - 14:17
    шифровану m1. Поставља се питање, која је предност нападача А
  • 14:17 - 14:21
    над једнократном бележницом? Подсећам вас да је својство једнократне бележнице
  • 14:21 - 14:26
    да је k XOR m0 са расподелом истоветном са k XOR m1.
  • 14:26 - 14:31
    Другим речима, ово су потпуно подударне расподеле.
  • 14:31 - 14:36
    То је својство XOR - ако XOR-ујемо случајни
  • 14:36 - 14:41
    кључ k са било чим, m0 или m1, добијамо униформну расподелу.
  • 14:41 - 14:45
    Дакле у оба случаја алгоритам А добија на улазу потпуно исту расподелу. Можда
  • 14:45 - 14:50
    униформну расподелу шифрата. И зато ће да се понаша на потпуно
  • 14:50 - 14:55
    исти начин у оба случаја, зато што добија потпуно исту расподелу на улазу.
  • 14:55 - 15:00
    Следи да је његова предност 0, што значи да једнократна бележница јесте семантички
  • 15:00 - 15:04
    безбедна. Занимљиво је то што, не само што је семантички безбедна,
  • 15:04 - 15:08
    већ је семантички безбедна за све нападаче. Не морамо чак да се ограничимо
  • 15:08 - 15:12
    на ефикасне нападаче. Нема нападача, колико год паметан био, који
  • 15:12 - 15:17
    би могао да разликује k XOR m0 од k XOR m1, зато што су ове две
  • 15:17 - 15:21
    расподеле истоветне. Добро, дакле једнократна бележница је семантички безбедна.
  • 15:21 - 15:26
    Тиме смо завршили са дефиницијом семантичке безбедности, и следеће што ћемо
  • 15:26 - 15:30
    да докажемо је да из безбедности PRG-а следи да је шифра тока
  • 15:30 - 15:31
    семантички безбедна.
Title:
Семантичка безбедност (16 min)
Video Language:
English
marija.jelenkovic edited Serbian subtitles for Semantic Security (16 min)
marija.jelenkovic edited Serbian subtitles for Semantic Security (16 min)
marija.jelenkovic added a translation

Serbian subtitles

Revisions