proposal for inclusion of DRM on html5 бьет новости в последнее время. Это только предсказуемо, что механизм хранения ключей в конечном итоге будет взломан, as it was on dvd playback software. Это также известно как trusted client problemВнедрение криптографических ключей в программное обеспечение
Мой вопрос прост: существует ли способ шифрования данных, чтобы только определенный фрагмент исполняемого кода мог его расшифровать?
Как правило, закрытый (асимметричный) ключ включен в программный код и используется для дешифрования симметричного ключа (распределенного с содержимым), с которым был зашифрован контент. Это делает тривиальным извлечение указанного секретного ключа из программного обеспечения и обход его.
Мне было интересно, возможно ли, что дешифрование зависит от целостности самого программного обеспечения.
Я не вижу никакого очевидного решения с существующими криптографическими примитивами. Очевидно, что нужно было бы взять хэш некоторого внутреннего состояния программы во время выполнения и передать его через функцию деривации ключа, но это все равно не будет проверяться в памяти.
Возможно ли это вообще? Если это не так, есть ли математическое доказательство? Я не ищу окончательные ответы здесь, просто указатели на существующую работу.
[этот вопрос] (http://stackoverflow.com/questions/6069907/how-to-protect-decryption-key-from-decompilation?rq=1), но учтите, что я не прошу об обфускации, но прямо incomputability – goncalopp