Slide 1

Slide 1 text

Ìàòåìàòè÷åñêèå àñïåêòû çàäà÷è îáôóñêàöèè ïðîãðàìì Â.À. Çàõàðîâ ô-ò ÂÌèÊ ÌÃÓ èì. Ì.Â. Ëîìîíîñîâà

Slide 2

Slide 2 text

ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ.

Slide 3

Slide 3 text

ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ. Îñíîâíûå çàäà÷è Êàê ïîñòðîèòü îáôóñêàòîð ïðîãðàìì? Êàê îöåíèòü ñòîéêîñòü îáôóñêàöèè?

Slide 4

Slide 4 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Die W., Hellman M. New directions in cryptography . IEEE Transactions in Information Theory, 1976. Îáôóñêàöèÿ ïîçâîëÿåò ïðåîáðàçîâûâàòü êðèïòîñèñòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì. Äëÿ ýòîãî äîñòàòî÷íî ïîäâåðãíóòü îáôóñêàöèè ïðîãðàììó, ðåàëèçóþùóþ àëãîðèòì øèôðîâàíèÿ ñ âñòàâëåííûì â íåå ñåêðåòíûì êëþ÷îì. Ïðåîáðàçîâàííóþ òàêèì îáðàçîì ïðîãðàììó ìîæíî èñïîëüçîâàòü â êà÷åñòâå ïðîãðàììû øèôðîâàíèÿ êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì.

Slide 5

Slide 5 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Îáôóñêàöèÿ ïðîãðàìì ïîçâîëÿåò ïðåâðàùàòü êðèïòîñèòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì, ñòðîèòü ñèñòåìû âû÷èñëåíèé íàä çàøèôðîâàííûìè äàííûìè (êðèïòîñèñòåìû ãîìîìîðôíûõ âû÷èñëåíèé), èçáàâèòüñÿ îò ìîäåëè ñëó÷àéíîãî îðàêóëà â êðèïòîãðàôè÷åñêèõ ïðîòîêîëàõ, ñîçäàâàòü âåðèôèöèðóåìûå ñèñòåìû òàéíîãî ãîëîñîâàíèÿ, îáåñïå÷èòü êîíôèäåíöèàëüíîñòü â ïîèñêîâûõ ñèñòåìàõ è áàçàõ äàííûõ.

Slide 6

Slide 6 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Íî äëÿ ýòîãî îáôóñêàöèÿ äîëæíà óäîâëåòâîðÿòü î÷åíü ñòðîãèì òðåáîâàíèÿì ñòîéêîñòè, ïðèíÿòûì â êðèïòîãðàôèè. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: î÷åíü ìíîãî îòðèöàòåëüíûõ ðåçóëüòàòîâ, è î÷åíü ìàëî ïîëîæèòåëüíûõ äîñòèæåíèé.

Slide 7

Slide 7 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations , Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ

Slide 8

Slide 8 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations , Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ ñîêðûòèÿ èñêóññòâåííûõ óÿçâèìîñòåé â ïðîãðàììàõ , ìàñêèðîâêè êîìïüþòåðíûõ ¾âèðóñîâ¿ , óäàëåíèÿ ¾âîäÿíûõ çíàêîâ¿ èç ïðîãðàìì .

Slide 9

Slide 9 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Öåëü îáôóñêàöèè îêàçàòü ïðîòèâîäåéñòâèå ìåòîäàì îáðàòíîé èíæåíåðèè è àëãîðèòìàì ñòàòè÷åñêîãî è äèíàìè÷åñêîãî àíàëèçà ïðîãðàìì. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: ìíîãî ¾ýâðèñòè÷åñêèõ¿ ìåòîäîâ îáôóñêàöèè, è íèêàêèõ îöåíîê èõ ñòîéêîñòè.

Slide 10

Slide 10 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè C. Wang, ¾A Security Architecture for survivability Mechanisms¿, PhD thesis, Dep. of Computer Science, University of Virginia, 2000. G. Wroblewski, ¾General Method of Program Code Obfuscation¿, PhD thesis, Wroclaw University, 2002. À.Â. ×åðíîâ, ¾Èññëåäîâàíèå è ðàçðàáîòêà ìåòîäîëîãèè ìàñêèðîâêè ïðîãðàìì¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ô.-ì.í, ÂÌÊ ÌÃÓ, 2003. Y. T. Kalai, ¾Attacks on the Fiat-Shamir Paradigm and Program Obfuscation¿, PhD thesis, MIT, 2006

Slide 11

Slide 11 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè S. Drape, ¾Obfuscation of Abstract Data-Types¿, PhD thesis, University of Oxford, 2004. Ä.À. Ùåëêóíîâ, ¾Ðàçðàáîòêà ìåòîäèê çàùèòû ïðîãðàìì îò àíàëèçà è ìîäèôèêàöèè íà îñíîâå çàïóòûâàíèÿ êîäà è äàííûõ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.íàóê, ÌÃÒÓ èì. Í.Ý. Áàóìàíà, 2009. Mila Dalla Preda, ¾Code Obfuscation and Malware Detection by Abstract Interpretation¿, Ph.D. Thesis. Universita degli Studi di Verona, 2007.

Slide 12

Slide 12 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Í.À. Êîíîíîâ, ¾Ñòðóêòóðíàÿ îïòèìèçàöèÿ è îáôóñêàöèÿ êîìáèíàöèîííûõ öèôðîâûõ ñõåì â áàçèñå ÏËÈÑ/ÑÁÌÊ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.í., ÌÈÝÒ, 2011. J. Cappaert, ¾Code Obfuscation Techniques for Software Protection¿, PhD thesis, Katholieke Universiteit Leuven, B. Preneel (promotor), 112+14 pages, 2012. C. Collberg, J. Nagra. ¾Surreptitious Software: Obfuscation, Watermarking, and Tamperproong for Program Protection.¿ Addison-Wesley Professional, 2009.

Slide 13

Slide 13 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.

Slide 14

Slide 14 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì.

Slide 15

Slide 15 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì. òåîðèåé è ïðàêòèêîé îáôóñêàöèè : Èçâåñòíî ìíîãî ïðàêòè÷åñêèõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì, îäíàêî, íà íèõ íå îêàçàëè íèêàêîãî âëèÿíèÿ îñíîâîïîëàãàþùèå ðåçóëüòàòû èç îáëàñòè êðèïòîãðàôèè.

Slide 16

Slide 16 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ.

Slide 17

Slide 17 text

ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ. Áëàãîäàðÿ ýòîìó ìîæíî áóäåò ïîíÿòü, êàêèì òðåáîâàíèÿì ñòîéêîñòè äîëæíû óäîâëåòâîðÿòü òå èëè èíûå ðàçíîâèäíîñòè îáôóñêàöèè ïðîãðàìì; îöåíèòü, êàêèìè äîñòîèíñòâàìè è íåäîñòàòêàìè îáëàäàþò ðàçíûå ìåòîäû îáôóñêàöèè, ïðèñïîñîáèòü ôîðìàëüíûå ìåòîäû òåîðèè âû÷èñëåíèé è êðèïòîãðàôèè äëÿ íóæä îáôóñêàöèè ïðîãðàìì.

Slide 18

Slide 18 text

ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : M ⇐⇒ P

Slide 19

Slide 19 text

ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : M ⇐⇒ P Òåîðåìà Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî ëþáóþ ïðîãðàììó π ìîæíî ïðåîáðàçîâàòü â ýêâèâàëåíòíóþ ïðîãðàììó O(π) òàê, ÷òî: 1. Time(O(π)) = Time(π) × log3(Time(π)); 2. Ïðè âûïîëíåíèè O(π) íà âû÷èñëèòåëüíîì óñòðîéñòâå ñ çàêðûòûì ïðîöåññîðîì P è îòêðûòîé ïàìÿòüþ M íèêàêîé ïðîòèâíèê, îãðàíè÷åííûé ïîëèíîìèàëüíûì âðåìåíåì, íå ñïîñîáåí ðàñïîçíàòü ïðîãðàììó O(π) ïî ïîñëåäîâàòåëüíîñòè åå îáðàùåíèé ê ïàìÿòè.

Slide 20

Slide 20 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾÷åðíîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·) , ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà ) ñóùåñòâóåò PPT S (ñèìóëÿòîð ) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M))=1} − Pr{SM(1size(M))=1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M .

Slide 21

Slide 21 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Òåîðåìà [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè ¾÷åðíîãî ÿùèêà¿, íå ñóùåñòâóåò .

Slide 22

Slide 22 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü.

Slide 23

Slide 23 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü. Fα,β (x) = β, åñëè x = α , 0 â îñòàëüíûõ ñëó÷àÿõ . Gγ,δ (x) = 1, åñëè x(γ) = δ , 0 â îñòàëüíûõ ñëó÷àÿõ . Hα,β,γ,δ (x, y) = Fα,β (x), åñëè y = 0 , Gγ,δ (x), åñëè y = 0.

Slide 24

Slide 24 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ.

Slide 25

Slide 25 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì.

Slide 26

Slide 26 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì. Åñëè òåêñò ïðîãðàììû O(π) äîñòóïåí, òî äîñòàòî÷íî âû÷èñëèòü O(π)[O(π)[·, 0], 1] .

Slide 27

Slide 27 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾ñåðîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M))=1} − Pr{STr(M)(1size(M))=1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M . Îðàêóë Tr(M) â îòâåò íà çàïðîñ x âûäàåò ïàðó (y, trM(x)) , ñîñòîÿùóþ èç ðåçóëüòàòà âû÷èñëåíèÿ y = M(x) òðàññû trM(x) âûïîëíåíèÿ ÌÒ M íà âõîäå x .

Slide 28

Slide 28 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Ðàññìîòðèì ñåìåéñòâî ðåàãèðóþùèõ ÌÒ (RMT), íà âõîä êîòîðûõ ïîäàåòñÿ áåñêîíå÷íûé ïîòîê äàííûõ (çàïðîñîâ) x1, x2, . . . , xn, . . . . RMT âû÷èñëÿåò áåñêîíå÷íûé ïîòîê âûõîäíûõ äàííûõ (îòêëèêîâ) y1, y2, . . . , yn, . . . : yn = Fn(x1, x2, . . . , xn). Òåîðåìà[Âàðíîâñêèé Í.Ï., 2002] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà¿, äëÿ ðåàãèðóþùèõ ÌÒ íå ñóùåñòâóåò .

Slide 29

Slide 29 text

ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Îòêðûòàÿ ïðîáëåìà À ñóùåñòâóþò ëè îáôóñêàòîðû, ñòîéêèå â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿, äëÿ îáû÷íûõ ìàøèí Òüþðèíãà?

Slide 30

Slide 30 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêî çàùèùàþùèì àëãîðèòìû, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M),N)=1} − Pr{SM(1size(M),N)=1}|≤ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé òàêîé ïàðû ÌÒ (M, N) , êîòîðàÿ óäîâëåòâîðÿåò óñëîâèÿì M ≈ N, size(N) = poly(size(M)).

Slide 31

Slide 31 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû, ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè.

Slide 32

Slide 32 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû, ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè. Îáôóñêàòîð äåòåðìèíèðîâàííûõ êîíå÷íûõ àâòîìàòîâ ýòî ïðîñòî àëãîðèòì ìèíèìèçàöèè êîíå÷íûõ àâòîìàòîâ. Ýòî òèïè÷íûé ïðèìåð òðèâèàëüíîé îáôóñêàöèè àëãîðèòìîâ ïóòåì ýôôåêòèâíîãî ïðèâåäåíèÿ ïðîãðàìì ê åäèíñòâåííîé íîðìàëüíîé ôîðìå (ñòðîãàÿ íîðìàëèçóåìîñòü).

Slide 33

Slide 33 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠS. Goldwasser, G. N. Rothblum, On Best Possible Obfuscation, TCC 2007. Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ íàèëó÷øèì âîçìîæíûì îáôóñêàòîðîì, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT L (âûâåäûâàòåëü) ñóùåñòâóåò òàêàÿ PPT S (ñèìóëÿòîð), ÷òî äëÿ äîñòàòî÷íî áîëüøèõ n è äëÿ ïðîèçâîëüíîé ïàðû ÌÒ M1 , M2 , âû÷èñëÿþùèõ îäíó è òó æå ôóíêöèþ è èìåþùèõ ðàçìåð n , ò. å. M1 ≈ M2 , size(M1) = size(M2) = n , äâà ðàñïðåäåëåíèÿ âåðîÿòíîñòåé L(O(M1)) è S(M2) âû÷èñëèòåëüíî íåîòëè÷èìû çà ïîëèíîìèàëüíîå âðåìÿ.

Slide 34

Slide 34 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà.

Slide 35

Slide 35 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà. Òåîðåìà Åñëè äëÿ ñåìåéñòâà 3-CNF ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð, òî Σpoly 2 = PSPACE .

Slide 36

Slide 36 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠ[Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O îáëàäàåò ñâîéñòâîì íåîòëè÷èìîãî îáôóñêàòîðà, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·) , ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà ) ñóùåñòâóåò òàêàÿ ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , ÷òî äëÿ ëþáîé ïàðû ìàøèí Òüþðèíãà M1, M2 , åñëè M1 ∼ M2 , òî |Pr{A(O(M1))=1}−Pr{A(O(M2))=1}|≤ν(size(M1) + size(M2)

Slide 37

Slide 37 text

ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Îòêðûòûå ïðîáëåìû Ñóùåñòâóþò ëè êëàññû ïðîãðàìì, äîïóñêàþùèõ íåòðèâèàëüíóþ ñòîéêóþ îáôóñêàöèþ, çàùèùàþùóþ àëãîðèòìû ? Ñóùåñòâóþò ëè ïðîãðàììû, íå èìåþùèå ñòîéêîé îáôóñêàöèè, çàùèùàþùåé àëãîðèòìû ? Êàê ñâÿçàíû äðóã ñ äðóãîì îáôóñêàöèÿ, çàùèùàþùàÿ àëãîðèòìû è íàèëó÷øàÿ âîçìîæíàÿ îáôóñêàöèÿ?

Slide 38

Slide 38 text

ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ Ïóñòü M ýòî ïðîãðàììà ñ ïàðàìåòðîì (ïåðåìåííîé) x . Îáîçíà÷èì Mc ïðèìåð ïðîãðàììû M , â êîòîðîé âìåñòî ïàðàìåòðà x ïîäñòàâëåíà êîíñòàíòà c ∈ {0, 1}n. Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñêðûâàþùèì êîíñòàíòó, äëÿ ïàðàìåòðèçîâàííîãî ñåìåéñòâà ïðîãðàìì F = {Mc : c ∈ {0, 1}n, n ≥ 1} , åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(Mc0 ), Mc]=1} − Pr{SMc0 [1size(Mc0 ), Mc]=1} ≤ ν(n) âåðíî äëÿ ëþáîé ïàðû êîíñòàíò c0 ∈ {0, 1}n è c ∈R {0, 1}n.

Slide 39

Slide 39 text

ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ ÃÈÏÎÒÅÇÀ Ñòîéêàÿ îáôóñêàöèÿ, ñêðûâàþùàÿ êîíñòàíòó, íåâîçìîæíà , åñëè Mx ýòî óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà; âîçìîæíà , åñëè Mx = E(key(x), m) ýòî ïðîãðàììà øèôðîâàíèÿ ñòîéêîé êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì key(x) è ñåêðåòíûì êëþ÷îì x .

Slide 40

Slide 40 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì ïðåäèêàòà π , çàäàííîãî íà ñåìåéñòâå ìàøèí Òüþðèíãà F , åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(M)]=π(M)} − Pr{SM[1size(M)]=π(M)}|≤neg(size(M)) âåðíî äëÿ êàæäîé ÌÒ M èç F è åå îáôóñêàöèè O(M) .

Slide 41

Slide 41 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒî÷å÷íîé íàçûâàåòñÿ ôóíêöèÿ fa : {0, 1}n → {0, 1} , a ∈ {0, 1}n, óäîâëåòâîðÿþùàÿ óñëîâèþ fa(x) = 1 , åñëè x = a , 0 , åñëè x = a . Ðàññìîòðèì ñåìåéñòâî Fn , ñîñòîÿùåå èç òî÷å÷íûõ ôóíêöèé {fu : u ∈ {0, 1}n} è ôóíêöèè, òîæäåñòâåííî ðàâíîé 0. Íà ýòîì ñåìåéñòâå îïðåäåëåí ïðåäèêàò P(f ) = (f ≡ 0) . Òåîðåìà [Çàõàðîâ Â.À., Âàðíîâñêèé Í.Ï., 2003] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ïåðåñòàíîâêè, òî ïðåäèêàò P , îïðåäåëåííûé íà ñåìåéñòâå ïðîãðàìì, âû÷èñëÿþùèõ ôóíêöèè ñåìåéñòâà Fn , èìååò ñòîéêóþ îáôóñêàöèþ.

Slide 42

Slide 42 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog

Slide 43

Slide 43 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog Íàì ïîíàäîáèòñÿ îäíîñòîðîííÿÿ ïåðåñòàíîâêà ϕ íà ìíîæåñòâå ñòðîê {0, 1}n è ãåíåðàòîð ñëó÷àéíûõ ñòðîê, êîòîðûé ìîæíî ïîñòðîèòü íà îñíîâå îäíîñòðîííåé ïåðåñòàíîâêè.

Slide 44

Slide 44 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòü äâå ñëó÷àéíûå ñòðîêè w, u , 2) âû÷èñëèòü v = ϕ(w) è σ = n i=1 wi ui mod 2 .

Slide 45

Slide 45 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòü äâå ñëó÷àéíûå ñòðîêè w, u , 2) âû÷èñëèòü v = ϕ(w) è σ = n i=1 wi ui mod 2 . Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u , 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + n i=1 ai ui mod 2 .

Slide 46

Slide 46 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòü äâå ñëó÷àéíûå ñòðîêè w, u , 2) âû÷èñëèòü v = ϕ(w) è σ = n i=1 wi ui mod 2 . Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u , 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + n i=1 ai ui mod 2 . Òîãäà êàæäàÿ èç ïðîãðàìì π0 , πa , ãäå a ∈ {0, 1}n ïðèìåò âèä: prog O(π) ; var x : string y : bit; const u,v : string, σ : bit; input (x) ; if ϕ (x)==v then if σ == n i=1 xi ∗ ui mod 2 then y=0 else y=1 else y=0; output (y); end of prog

Slide 47

Slide 47 text

ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒåîðåìà Ïóñòü O1 , O2 îáôóñêàòîðû ôóíêöèîíàëüíûõ ñâîéñòâ π1 , π2 ñîîòâåòñòâåííî, è ïðè ýòîì îáëàñòü çíà÷åíèé îáôóñêàòîðà O2 ñîäåðæèòñÿ â îáëàñòè îïðåäåëåíèÿ îáôóñêàòîðà O1 . Òîãäà êîìïîçèöèÿ O = O1O2 ÿâëÿåòñÿ îáôóñêàòîðîì îáîèõ ïðåäèêàòîâ π1 è π2 .

Slide 48

Slide 48 text

ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè.

Slide 49

Slide 49 text

ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè. Íóæíî àêòèâíåå ïðèâëåêàòü äëÿ îáôóñêàöèè äîñòèæåíèÿ êðèïòîãðàôèè è òåîðèè ñëîæíîñòè ñèñòåìû ãîìîìîðôíîãî øèôðîâàíèÿ, òðóäíîðåøàåìûå çàäà÷è.

Slide 50

Slide 50 text

ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ Â èþëå 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, B. Waters â êîòîðîé àâòîðû ïîêàçàëè, ÷òî âåðíà Òåîðåìà [S. Carg, C. Gentry, et al, 2013] Íåîòëè÷èìàÿ îáôóñêàöèÿ âîçìîæíà äëÿ ïðîèçâîëüíûõ ïðîãðàìì (ïðè íåêîòîðûõ ïðåäïîëîæåíèÿõ î òðóäíîñòè ðåøåíèÿ çàäà÷ òåîðèè ãðóïï)

Slide 51

Slide 51 text

ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ 30 ñåíòÿáðÿ 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding. Zvika Brakerski, Guy N. Rothblum We present a new general-purpose obfuscator for all polynomial-size circuits. The obfuscator uses graded encoding schemes, a generalization of multilinear maps. We prove that the obfuscator exposes no more information than the program's black-box functionality, and achieves virtual black-box security , in the generic graded encoded scheme model.

Slide 52

Slide 52 text

Áëàãîäàðþ çà âíèìàíèå Âàøè âîïðîñû?