1307
Komentaras:
|
4196
|
Pašalinimai yra pažymėti taip. | Pridėjimai yra pažymėti taip. |
Eilutė 1: | Eilutė 1: |
= Žodis angliškai = Accountability == Santrumpa == ##Jeigu yra įrašykite Santrumpą |
== Žodis angliškai == CBC padding attack |
Eilutė 6: | Eilutė 4: |
##Įrašykite terminą anglų kalba | |
Eilutė 8: | Eilutė 6: |
Atsakingumas | ##Įrašykite lietuvišką termino vertimą CBC priedų ataka |
Eilutė 11: | Eilutė 10: |
== Apibrėžimas == Įsipareigojimas ar pasiruošimas prisiimti atsakomybę už padarytus veiksmus. ---- |
|
Eilutė 15: | Eilutė 12: |
Atsakingumas, kai vartotojai nebando apeiti saugumo todėl, kad jų tapatybė gali būti žinoma ir jie bus laikomi teisiškai atsakingi už savo veiksmus. Atsakingumu pagrįstose sistemose, jokie prieigos kontrolės mechanizmai nedalyvauja. Vartotojai tiesiog žino, kad jų kiekvienas veiksmas yra registruojamas ir kadangi jų tapatybė yra žinomas, ir jų veiksmai yra stebimi, jie nedarys neleistinų veiksmų, kurie gali kelti grėsmę jų padėčiai ir jie už tai bus atsakingi. Problema su atsakingumu pagrįstomis sistemomis yra dvejopa — vartotojo tapatybė gali būti suklastotas, ir yra retų atvejų, kur vartotojai praranda suvaržymus. Be prieigos kontrolės, šie vartotojai gali sugriauti visą sistemą. Dėl šių priežasčių, atskaitomybė saugumo pagrindu yra paprastai naudojama plėsti prieigos kontrolės sistemas, o ne jas pakeisti. ---- == Naudota literatūra == |
'''''Teorija:''''' |
Eilutė 19: | Eilutė 14: |
1. http://en.wikipedia.org/wiki/Accountability 2. http://en.wikipedia.org/wiki/Accountability_software |
''CBC (cipher block chaining) šifro bloko sukaustymas'' |
Eilutė 22: | Eilutė 16: |
Tai šifro blokų suryšimo algoritmas kai kiekvienas blokas teksto prieš užkoduojant yra sudauginamas naudojant „XOR“ funkcija su prieš tai buvusiu bloku. Tai einantis blokas priklauso nuo prieš tai buvusių blokų ir gaunamas vientisas pranešimas. Kad kiekvienas pranešimas būtų unikalus, pirmajam blokui yra naudojamas inicializavimo vektorius. | |
Eilutė 23: | Eilutė 18: |
''Padding – priedas'' | |
Eilutė 24: | Eilutė 20: |
---- CategoryŽodis |
Tai metodas naudojamas kriptografijoje kuomet siekiant gauti vienodo ilgio duomenų blokus prie duomenų bloko pridedamas papildomas kiekis duomenų, kuris neturi jokios reikšmės. Taip taipogi siekiama, kad išvengti galimybės atpažinti pranešimą iš dažniausiai pasikartojančių pranešimo pradžios at pabaigos sakinių.''Transport Layer Security (TLS) Record protocol – transporto lygio apsaugos įrašo protokolas'' Tai protokolas kuris informacijai koduoti naudoja, raktus iš jų sudaro MAC, prie pranešimo prideda žymes, prie bloko pabaigos prideda priedą ir viską užšifruoja. '''''Ataka:''''' Kaip pavyzdį panagrinėsime TSL įrašo protokolo, kuris naudoją CBC šifravimą ataką. Čia svarbų žinoti kaip veikia TLS dekodavimas, taigi pirmiausia pranešimas yra dekoduojamas naudojant CBC raktą. Tada tikrinama ar priedas (pad) yra tinkamo formato, pvz, jei priedas yra 3 baitų ilgio jis turėtų būti 3-3-3. Ir jei jis netinkamo formato tada pranešimas yra atmetamas. Toliau tikrinamas „tag“ (MAC) ir jei „tag“ yra neteisingas, pranešimas yra atmetamas, jei jis teisingas, likusi pranešimo dalis laikoma teisinga. {{attachment:2.jpg}} Taigi čia egzistuoja dviejų rūšių klaidos, vienos yra priedo klaidos, kitos yra MAC klaidos (pad ir tag). Taigi piktavalis gali atskirti kokia klaida nutinka siunčia pranešimą. Tai dar vadinama „padding oracle“ . Taigi jei piktavalis perima ankščiau minėto tipo pranešima, ir nori jį iššifruoti, jis gali jį siųsti serveriui, ir taip sužinoti ar paskutiniai pranešimo baitai – priedas yra teisingi. Tai pastabėjus buvo paliktas tik vienas klaidos pranešimas. Tačiau tai apsaugoti duomenų nepadėjo. Nes kaip ankščiau minėta dekuodojant pranešima buvo pirmiausia tikrinamas priedas ir jei jis teisingas siunčiamas klaidos pranešimas, jei ne tikrinamas MAC, taip pagal sugaišta laiką iki atsiusto klaidos galima atpažinti kur buvo rasta klaida, taigi klaidos pranešimo suvienodinimas beveik nieko nepakeitė. Taigi piktavalis perėmės užkoduotos informacijos bloką nori atkoduoti bloko m[1] reikšmę. Kadangi paskutinė informacijos bloko skiltis gali turėti vertę nuo 0 iki 255, piktavalis pasirenka atsitiktinę vertę „g“, kadangi duomenis užšifruoti CBC šifru, piktavalis į bloko c[0] paskutinę skiltį įterpia „XOR g XOR 0x01 ir kadangi užšifruoti bloką c[1] naudojama c[0] reiškmę vykstant dekodavimui jei g sutampa su tikrąją reikšme bloke m[1] gaunamas vienetas. Kadangi vienetas yra tinkama priedo (pad) reikšmė, dekoduojant jame nebus randama klaida. Klaida bus randama dekoduojant MAC, tačiau šiuo to pakaks, kad sužinoti paskutinį bloko baitą. Taigi piktavaliui perėmus pranešimą užtenka modifikuoti pirmąją pranešimo dalį tam, kad sužinoti antrosios dalies reikšmes. Žinant paskutinią bloko reiškmia, vienetą galima pakeisti dviem dvejetais ir vėl atlikti spėjimus kol bus sužinota prieš paskutinė reikšmė. Tokiu principu piktavalis gali sužinoti visą pranešimą. Veiksmingas būdas prieš tokia ataką yra pirmiau naudoti šifravimą, o tik tada skaičiuoti MAC. == Literatūra: == 1. http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation 2. [[http://en.wikipedia.org/wiki/Padding_(cryptography)|http://en.wikipedia.org/wiki/Padding_%28cryptography%29]] 3. http://www.ipa.go.jp/security/rfc/RFC2246-06EN.html 4. Stanford University online Cryptography course |
Žodis angliškai
CBC padding attack
Žodis Lietuviškai
CBC priedų ataka
Paaiškinimai
Teorija:
CBC (cipher block chaining) šifro bloko sukaustymas
Tai šifro blokų suryšimo algoritmas kai kiekvienas blokas teksto prieš užkoduojant yra sudauginamas naudojant „XOR“ funkcija su prieš tai buvusiu bloku. Tai einantis blokas priklauso nuo prieš tai buvusių blokų ir gaunamas vientisas pranešimas. Kad kiekvienas pranešimas būtų unikalus, pirmajam blokui yra naudojamas inicializavimo vektorius.
Padding – priedas
Tai metodas naudojamas kriptografijoje kuomet siekiant gauti vienodo ilgio duomenų blokus prie duomenų bloko pridedamas papildomas kiekis duomenų, kuris neturi jokios reikšmės. Taip taipogi siekiama, kad išvengti galimybės atpažinti pranešimą iš dažniausiai pasikartojančių pranešimo pradžios at pabaigos sakinių.Transport Layer Security (TLS) Record protocol – transporto lygio apsaugos įrašo protokolas
Tai protokolas kuris informacijai koduoti naudoja, raktus iš jų sudaro MAC, prie pranešimo prideda žymes, prie bloko pabaigos prideda priedą ir viską užšifruoja.
Ataka:
Kaip pavyzdį panagrinėsime TSL įrašo protokolo, kuris naudoją CBC šifravimą ataką.
Čia svarbų žinoti kaip veikia TLS dekodavimas, taigi pirmiausia pranešimas yra dekoduojamas naudojant CBC raktą. Tada tikrinama ar priedas (pad) yra tinkamo formato, pvz, jei priedas yra 3 baitų ilgio jis turėtų būti 3-3-3. Ir jei jis netinkamo formato tada pranešimas yra atmetamas. Toliau tikrinamas „tag“ (MAC) ir jei „tag“ yra neteisingas, pranešimas yra atmetamas, jei jis teisingas, likusi pranešimo dalis laikoma teisinga.
Taigi čia egzistuoja dviejų rūšių klaidos, vienos yra priedo klaidos, kitos yra MAC klaidos (pad ir tag). Taigi piktavalis gali atskirti kokia klaida nutinka siunčia pranešimą. Tai dar vadinama „padding oracle“ . Taigi jei piktavalis perima ankščiau minėto tipo pranešima, ir nori jį iššifruoti, jis gali jį siųsti serveriui, ir taip sužinoti ar paskutiniai pranešimo baitai – priedas yra teisingi. Tai pastabėjus buvo paliktas tik vienas klaidos pranešimas. Tačiau tai apsaugoti duomenų nepadėjo. Nes kaip ankščiau minėta dekuodojant pranešima buvo pirmiausia tikrinamas priedas ir jei jis teisingas siunčiamas klaidos pranešimas, jei ne tikrinamas MAC, taip pagal sugaišta laiką iki atsiusto klaidos galima atpažinti kur buvo rasta klaida, taigi klaidos pranešimo suvienodinimas beveik nieko nepakeitė. Taigi piktavalis perėmės užkoduotos informacijos bloką nori atkoduoti bloko m[1] reikšmę.
Kadangi paskutinė informacijos bloko skiltis gali turėti vertę nuo 0 iki 255, piktavalis pasirenka atsitiktinę vertę „g“, kadangi duomenis užšifruoti CBC šifru, piktavalis į bloko c[0] paskutinę skiltį įterpia „XOR g XOR 0x01 ir kadangi užšifruoti bloką c[1] naudojama c[0] reiškmę vykstant dekodavimui jei g sutampa su tikrąją reikšme bloke m[1] gaunamas vienetas. Kadangi vienetas yra tinkama priedo (pad) reikšmė, dekoduojant jame nebus randama klaida. Klaida bus randama dekoduojant MAC, tačiau šiuo to pakaks, kad sužinoti paskutinį bloko baitą. Taigi piktavaliui perėmus pranešimą užtenka modifikuoti pirmąją pranešimo dalį tam, kad sužinoti antrosios dalies reikšmes. Žinant paskutinią bloko reiškmia, vienetą galima pakeisti dviem dvejetais ir vėl atlikti spėjimus kol bus sužinota prieš paskutinė reikšmė. Tokiu principu piktavalis gali sužinoti visą pranešimą.
Veiksmingas būdas prieš tokia ataką yra pirmiau naudoti šifravimą, o tik tada skaičiuoti MAC.
Literatūra:
1. http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
2. http://en.wikipedia.org/wiki/Padding_%28cryptography%29
3. http://www.ipa.go.jp/security/rfc/RFC2246-06EN.html
4. Stanford University online Cryptography course