SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Side channel attacks
Àòàêè ïî ñòîðîííèì êàíàëàì íà êðèïòîñèñòåìû
Íèêèòà Ñåðãååâè÷ Âåùèêîâ
Îêòÿáðü 2014
Ââåäåíèå
2 / 51
Êòî çäåñü?
Êàðòèíêè [Wikipedia, ULB, QualSec, SideChannelPerspective, Family Guy, freedigitalphotos.net]
1 / 51
Î ÷åì ïîéäåò ðå÷ü?
2 / 51
Âñïîìíèòü âñ¼
3 / 51
Âñïîìíèòü âñ¼
4 / 51
Îò êóäà áåðóòñÿ ñòîðîííèå êàíàëû?
5 / 51
Îò êóäà áåðóòñÿ ñòîðîííèå êàíàëû?
6 / 51
Âèäû àòàê è ñáîð èíôîðìàöèè
7 / 51
Âèäû àòàê
8 / 51
ß ïðîñòî ïîñìîòðåòü!
‘sidechannelperspective.com“
9 / 51
À ÷òî ýòî âû òóò äåëàåòå?
‘verm—nCPHIQ“
10 / 51
À åñëè åãî âåíèêîì?
‘rutterPHIR“
11 / 51
À åñëè åãî âåíèêîì?
‘rutterPHIR“
12 / 51
×òî òàì ñïðÿòàíî âíóòðè?
‘rutterPHIR“ 13 / 51
×òî òàì ñïðÿòàíî âíóòðè?
‘f—tin—PHIR“
14 / 51
Âàðâàðñòâî â âûñøåé ñòåïåíè
‘rutterPHIR“
15 / 51
Âàðâàðñòâî â âûñøåé ñòåïåíè
‘rutterPHIR“
16 / 51
Ïðèìåðû àòàê ïî ñòîðîííèì êàíàëàì
17 / 51
Çâóê
18 / 51
Àêóñòè÷åñêèé êðèïòîàíàëèç
‘qenkinCPHIQ“ 19 / 51
Ñïåêòðîãðàììà
‘qenkinCPHIQ“
20 / 51
GPG - RSA
‘qenkinCPHIQ“
21 / 51
Ñâåò
22 / 51
Êàìåðà
‘ur¤—merCPHIQ“
23 / 51
Êàðòà óñòðîéñòâà
‘ur¤—merCPHIQ“
24 / 51
Ðåãèñòðû
‘ur¤—merCPHIQ“ 25 / 51
Ïàìÿòü
‘ur¤—merCPHIQ“
26 / 51
Âðåìÿ
27 / 51
RSA
Require: M, n, exp
Ensure: C = Mexp
mod n
if expk−1 = 1 then
C = M
else
C = 1
for i = k − 2 downto 0 do
C = C2 mod n
if expi = 1 then
C = C × M mod n
‘uo™herIWWT“
28 / 51
OpenSSL
29 / 51
OpenSSL
‘g—nvelCPHHP“ 30 / 51
Ýíåðãîïîòðåáëåíèå
31 / 51
RSA - SPA
‘f—tin—PHIQ“
32 / 51
RSA - SPA
‘f—tin—PHIQ“
33 / 51
RSA - SPA
34 / 51
RSA - SPA
‘uo™herCIWWW“
35 / 51
Ýòî ÷òî çà ïîêåìîí àëãîðèòì?
‘f—tin—PHIR“
36 / 51
AES - CPA
‘f—tin—PHIR“
CPA idea
Íàáîð (çàøèôðîâàííûõ / îòêðûòûõ) òåêñòîâ
Íàáîð âðåìåííûõ ðÿäîâ (ñ îñöèëëîãðàôà)
correlation(Lf (Sbox(key[i][j] ⊕ msg[i][j])), Power)
‘frierCPHHR“
37 / 51
AES - CPA
‘f—tin—PHIR“
CPA idea
Íàáîð (çàøèôðîâàííûõ / îòêðûòûõ) òåêñòîâ
Íàáîð âðåìåííûõ ðÿäîâ (ñ îñöèëëîãðàôà)
correlation(Lf (Sbox(key[i][j] ⊕ msg[i][j])), Power)
‘frierCPHHR“
38 / 51
CPA
‘f—tin—PHIQ“
39 / 51
AES - CPA/DPA
‘f—tin—PHIR“
40 / 51
AES - CPA
0 50 100 150 200 250
0.000.050.100.15
Key byte value
abs(correlation)
q
0x70
‘h€ev—˜“ 41 / 51
AES - CPA áàéòû
‘h€ev—˜“ 42 / 51
AES - CPA êîëè÷åñòâî äàííûõ
‘h€ev—˜“
43 / 51
Ñïîñîáû çàùèòû
44 / 51
×òî æå äåëàòü?
45 / 51
Çàêëþ÷åíèå
46 / 51
Çàêëþ÷åíèå
Àòàêè ïî ñòîðîííèì êàíàëàì  ñåðü¼çíàÿ óãðîçà
Íîâûå âèäû àòàê ïîÿâëÿþòñÿ ðåãóëÿðíî
Íå ïèøèòå è íå ïðèäóìûâàéòå ñâîþ ñîáñòâåííóþ
êðèïòîãðàôèþ1
1åñëè âû íå êðèïòîãðàô
47 / 51
Çàêëþ÷åíèå
Àòàêè ïî ñòîðîííèì êàíàëàì  ñåðü¼çíàÿ óãðîçà
Íîâûå âèäû àòàê ïîÿâëÿþòñÿ ðåãóëÿðíî
Íå ïèøèòå è íå ïðèäóìûâàéòå ñâîþ ñîáñòâåííóþ
êðèïòîãðàôèþ1
1åñëè âû íå êðèïòîãðàô
48 / 51
Çàêëþ÷åíèå
Àòàêè ïî ñòîðîííèì êàíàëàì  ñåðü¼çíàÿ óãðîçà
Íîâûå âèäû àòàê ïîÿâëÿþòñÿ ðåãóëÿðíî
Íå ïèøèòå è íå ïðèäóìûâàéòå ñâîþ ñîáñòâåííóþ
êðèïòîãðàôèþ1
1åñëè âû íå êðèïòîãðàô
49 / 51
Ñïèñîê ëèòåðàòóðû
ƒFw—ng—rd et —lFD €ower en—lysis ett—™ksD PHHU
€FgFuo™herD „iming ett—™ks on smplement—tions of hi0eErellm—nD ‚ƒeD hƒƒD
—nd yther ƒystemsD IWWT
€Fuo™her et —lFD hi'erenti—l €ower en—lysisD IWWW
fFg—nvel et —lFD €—ssword snter™eption in — ƒƒvG„vƒ gh—nnelD PHHP
iFfrier et —lFD gorrel—tion power —n—lysis with — le—k—ge modelD PHHR
hFqenkin et —lFD ‚ƒe uey ixtr—™tion vi— vowEf—ndwidth e™ousti™ grypt—n—lysisD
PHIQ
tFur¤—mer et —lFD hi'erenti—l €hotoni™ imission en—lysisD PHIQ
vFverm—nD et —lFD ƒemiEƒupervised „empl—te ett—™kD PHIQ
vFf—tin—D sntrodu™iton to implement—tion —tt—™ks @presF el˜en—D PHIQ 8 ƒi˜enikD
PHIRA
wFrutterD p—ult ett—™ks —nd gounterme—sures @presF ƒi˜enikD PHIRA
50 / 51
Âîïðîñû?
Êîììåíòàðèè?
Ñìèðèòåëüíûå ðóáàøêè?
http://sidechannelperspective.com
http://qualsec.ulb.ac.be/
http://ulb.ac.be/di/dpalab/ nikita.veshchikov@ulb.ac.be
51 / 51

Contenu connexe

Plus de Tech Talks @NSU

Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMTech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьTech Talks @NSU
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Tech Talks @NSU
 
Роли и задачи HR в работе IT-компаний
Роли и задачи HR в работе IT-компанийРоли и задачи HR в работе IT-компаний
Роли и задачи HR в работе IT-компанийTech Talks @NSU
 
VM: краткий курс общей анатомии
VM: краткий курс общей анатомииVM: краткий курс общей анатомии
VM: краткий курс общей анатомииTech Talks @NSU
 
Знакомьтесь, Kotlin
Знакомьтесь, KotlinЗнакомьтесь, Kotlin
Знакомьтесь, KotlinTech Talks @NSU
 
F#: обзорное введение
F#: обзорное введениеF#: обзорное введение
F#: обзорное введениеTech Talks @NSU
 
Xtext project and PhDs in Gemany
Xtext project and PhDs in GemanyXtext project and PhDs in Gemany
Xtext project and PhDs in GemanyTech Talks @NSU
 
Где-то я это уже видел!
Где-то я это уже видел!Где-то я это уже видел!
Где-то я это уже видел!Tech Talks @NSU
 
Что такое DevOps
Что такое DevOpsЧто такое DevOps
Что такое DevOpsTech Talks @NSU
 

Plus de Tech Talks @NSU (20)

Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попасть
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применение
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностей
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 
Роли и задачи HR в работе IT-компаний
Роли и задачи HR в работе IT-компанийРоли и задачи HR в работе IT-компаний
Роли и задачи HR в работе IT-компаний
 
VM: краткий курс общей анатомии
VM: краткий курс общей анатомииVM: краткий курс общей анатомии
VM: краткий курс общей анатомии
 
Знакомьтесь, Kotlin
Знакомьтесь, KotlinЗнакомьтесь, Kotlin
Знакомьтесь, Kotlin
 
F#: обзорное введение
F#: обзорное введениеF#: обзорное введение
F#: обзорное введение
 
Xtext project and PhDs in Gemany
Xtext project and PhDs in GemanyXtext project and PhDs in Gemany
Xtext project and PhDs in Gemany
 
Где-то я это уже видел!
Где-то я это уже видел!Где-то я это уже видел!
Где-то я это уже видел!
 
Что такое DevOps
Что такое DevOpsЧто такое DevOps
Что такое DevOps
 

Side channel attacks