Теория и практика защиты программ

       

Эксперименты с RAM-машиной


Рассматриваются два типа противников. Оба могут неоднократно инициировать работу RAМ-машины на входах по своему выбору. Различия между двумя типами противников состоит в их способности модифицировать коммуникационные ленты ЦП и МП в процессе вычислений. Вмешивающемуся противнику позволено как читать, так и записывать на эти ленты свою информацию (т.е., просматривать и изменять содержание взаимодействия), в то время как невмешивающемуся противнику позволено только читать эти ленты (то есть, только просматривать сообщения). В любом случае противнику не разрешено иметь те же самые права доступа к рабочей ленте МП, так как содержимое этой ленты полностью определено начальным входом и сообщениями, посланными ЦП. Кроме того, в обоих случаях противник не имеет никакого доступа к рабочим и оракульным лентам ЦП.

Для простоты, основное внимание будет уделяться противникам с экспоненциально ограниченным временем выполнения. Кроме того, время выполнения противника ограничено сверху 2n, где n - размер рабочей ленты ЦП. На практике противник будет ограничен по времени некоторым полиномом от длины рабочей ленты ЦП.

Определение5.4. Невмешивающийся противник, обозначаемый как ADV, является вероятностной машиной, которая на входе k и завуалированной программе a, которая имеет доступ к оракульной RAMk-машине. Машина ADV инициирует повторные выполнения RAMk-машины на входах по своему выбору до тех пор, пока общее время выполнения не стане равным 2k. В процессе каждого из этих выполнений, машина ADV имеет доступ «только-для-чтения» к коммуникационным лентам между CPUk и MEMk.

Определение 5.5. Вмешивающийся противник определяется аналогично невмешивающемуся противнику за исключением того, что в процессе повторных выполнений противник имеет доступ для чтения и записи к коммуникационным лентам между CPUk и МЕМk.



Содержание раздела