- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Обобщенные модели сбоев и противника
Рассматривается сеть взаимодействующих процессоров. Некоторые процессоры могут «сбоить». При сбоях, приводящих к останову(FS-сбоях),сбоящий процессорможет приостановить в некоторый момент времени отправку своих сообщений. В то же время предполагается, что сбоящие процессоры продолжают получение сообщений и могут выдавать «некую информацию» в свои выходные каналы. ПриВизантийских сбоях (By-сбоях) процессоры могут произвольным образом сотрудничать друг с другом с целью получения необходимой для них информации или с целью нарушения процесса вычислений. ПриBy-сбоях сбоящие процессоры могут объединять свои входы и изменять их. В то же время это должно происходить при условии невозможности изучения любой информации о входахнесбоящих процессоров.
Сбои могут быть статическимиидинамическими. При статических сбоях множество сбоящих процессоров фиксировано в начале и процессе вычислений, при динамических – множество сбоящих процессоров может меняться, как может меняться и характер самих сбоев. Сбоящие процессоры будут также называтьсянечестнымиучастниками вычислений, в противоположностьчестнымучастникам, которые выполняют предписанные вычисления.
Противникаможно представлять как некий универсальный процессор, действия которого заключаются в стремлении «сделать» процессоры сети сбоящими («подкупить» их).
По аналогии со сбоями противник может быть динамическим и статическим. Статическим противникомявляется противник, который «сотрудничает» с фиксированным количеством сбоящих процессоров («подкупленных» противником). При действияхдинамического противникаколичество сбоящих процессоров может меняться (в том числе непредсказуемым образом).
Кроме того, противник может быть активнымипассивным, а также саприорнымииапостериорнымипротокольными и раундовыми действиями. Пассивный противник не может изменять сообщения, циркулируемые в сети. Активный противник может знать все о внутренней конфигурации сети, может читать и изменять все сообщения сбоящих процессоров и может выбирать сообщения, которые будут посылать сбоящие процессоры при вычислениях. Активный динамический противник может в начале каждого раунда «подкупить» несколько новых процессоров. Таким образом, он может изучить информацию, получаемую ими в текущем раунде, и принять решение «подкупить» ли ему новый процессор, или нет. Такой противник может собирать и изменять все сообщения от сбоящих процессоров к несбоящим. Некоторые сценарии могут предполагать, что все сообщения (в том числе, между честными процессорами) будут доставлены адресатам в конце текущего раунда. Действия аналогичного характера активный противник может выполнить не только в течение раунда (в его начале и конце), но и до начала выполнения протокола и после его завершения.
Противник называется t-противником, если он сотрудничает сtпроцессорами.
Получестные модели
Обычно основная цель при конфиденциальных вычислениях (как, впрочем, и в большинстве криптографических протоколов) состоит в том, чтобы разработать протоколы, которые могут противостоять любому возможному поведению противника. При конфиденциальных вычислениях это делается, как правило, за два этапа. Сначала рассматривается так называемый «удобный» противник, называемый в данном случае получестными строятся протоколы, которые являются безопасными в отношении такого противника. Затем, показывается как процессоры «ведут себя» в присутствии такого противника. А затем показывается, как преобразовать любой протокол, безопасный в получестной модели, в протокол, который является безопасным против любого возможного поведения противника.
В получестной модели имеется участник, именуемый получестным процессором, который следует предписанным протоколом действиям, за исключением того, что он может хранить информацию обо всех своих промежуточных вычислениях. Фактически достаточно хранить только внутренние случайно сгенерированные параметры (результаты подбрасывания монеты) и все сообщения, полученные от других процессоров. Таким образом, получестный процессор «подбрасывает честную монету» (генерирует случайный бит с вероятностью ½) и посылает сообщения в соответствии с инструкциями специальной программы (как функции от входа, результатов подбрасываний монеты и входных сообщений). Отметим, что получестный процессор соответствует честному проверяющему в доказательствах с нулевым разглашением (см. приложение).
Такие получестные модели могут иметь самостоятельный интерес. В частности фактическое отклонение от инструкций специальной программы (которая может представлять собой достаточно сложное внутреннее программное обеспечение) может быть более сложным, чем простое изменение содержания некоторых коммуникационных регистров. Например, содержание этих регистров может быть доступно для некоторых стандартных операций операционной системы. Таким образом, в то время как к полностью честному поведению (в отличие от получестного) предъявляется повышенные требования, получестное поведение может рассматриваться как приемлемое во многих криптографических конструкциях.
Получестная модель является неявной в следующем определении безопасности. Неформально говоря, протокол конфиденциально вычисляет функцию f, если любой получестный процессор, принимавший участие в работе протокола, мог бы быть по существу процессором, имеющим только вход и выход, доступные такому процессору. Это делается с использованием соответствующей парадигмы моделирования. Для этого достаточно (эффективно) «промоделировать взгляд» каждого (получестного) процессора, так что все, что может быть получено после участия получестного процессора в протоколе, может быть получено из этого «промоделированного взгляда» (см. далее).