СПОСОБ ПОСТРОЕНИЯ ПРОГРАММНОГО КОДА С НЕРАЗЛИЧИМОЙ ФУНКЦИОНАЛЬНОСТЬЮ

Михаил Андреевич Стюгин

Аннотация


В данной работе предложена задача обфускации в которой неразличимость рассматривается относительно программ различной функциональности. В данном случае функциональность остается неизвестной за счет неизвестности параметров, подаваемых на вход программы. Атакующий, способный выполнять только алгоритмы полиномиальной сложности, не может различить функциональность программы без знания ключа, подаваемого на вход. Подобный обфускатор назван ключевым. В статье ставится проблема существования ключевых обфускаторов и эффективных алгоритмов его работы. Приводится общая схема работы ключевого обфускатора для логических схем любой функциональности. Доказывается теорема о том что рассмотренный обфускатор является ключевым. Обосновывается возможность нахождения эффективных алгоритмов работы ключевого обфускатора для частных задач. Применения обфускации с ключом позволяет решить такие задачи как хранение и выполнение программного кода в открытом виде в недоверенной вычислительной среде, а также затрудняет атаки инъекций и анализа распределенных вычислений. Дополнительным приложением ключевой обфускации может быть подтверждения аутентичности и прав на использование программного обеспечения, поскольку без знания ключа обфусцированный программный код бесполезен.

Ключевые слова


обфускация; неразличимость; недоверенные вычисления; обфускация с ключом; вычислительная сложность; эффективные алгоритмы

Полный текст:

PDF

Литература


1. Hada S. Zero-knowledge and code obfuscation. Advances in Cryptology. ASIACRYPT '2000, 2000, pp. 443-457.
2. Barak B., Goldreich O., Impagliazzo R. On the (Im)possibility of obfuscating programs. Lecture Notes in Computer Science, vol. 2139 LNCS, 2001, pp. 1-18.
3. Katz J., Lindell Y. Introduction to Modern Cryptography. CRC PRESS, 2007, 512 p.
4. Garg S., Raykova M., Gentry C. Candidate indistinguishability obfuscation and functional encryption for all circuits. Annual IEEE Symposium on Foundations of Computer Science (FOCS 2013), pp. 13-34.
5. Garg, S., Gentry, C., Halevi, S., Raykova, M., Sahai, A., Waters, B. Hiding secrets in software: A cryptographic approach to program obfuscation. Communications of the ACM. 2016, vol. 59, no. 5, pp. 113-120.
6. Arriaga, A., Barbosa, M., Farshim, P. Private functional encryption: Indistinguishability-based definitions and constructions from obfuscation. Lecture Notes in Computer Science [17th International Conference on Cryptology in India, INDOCRYPT 2016], vol. 10095 LNCS, 2016, pp. 227-247
7. Agrawal, S., Agrawal, S., Badrinarayanan, S., Kumarasubramanian, A., Prabhakaran, M., Sahai, A. On the practical security of inner product functional encryption (2015) PKC 2015. LNCS, 9020, pp. 777-798.
8. Ananth, P., Brakerski, Z., Segev, G., Vaikuntanathan, V. From selective to adaptive security in functional encryption, CRYPTO 2015. LNCS, 9216, 2015, pp. 657-677.
9. Büning H.K., Lettmann T. Propositional logic: deduction and algorithms. Cambridge University Press. ISBN 978-0-521-63017-7.
10. Styugin M. Indistinguishable Executable Code Generation Method. International Journal of Security and Its Applications, vol. 10, np. 8, 2016, pp. 315-324.
11. Maas M., Love E., Stefanov E., Tiwari M., Shi M., Asanovic M., Kubiatowicz J., Song D. PHANTOM: practical oblivious computation in a secure processor. Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 2013, pp. 311-324.




DOI: http://dx.doi.org/10.26583/bit.2017.1.08

Ссылки

  • На текущий момент ссылки отсутствуют.


Лицензия Creative Commons
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.