Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Протоколы защищенных вычислений на основе линейных схем разделения секрета. Учебное пособие
.pdf
3.6. Линейные ÑÐÑ ñ óìíîæением, построенные íà основе êîäîâ
äîëÿ участникà
i(∈ P)
, соответствующая секрету
ss0, ãäå
xs(i) =x
s
b
= φ(M|
{b}
): b ∈ ψ−1(i),
x
s
0
(i) =x
s
0
b
= φ0(M|
{b}
): b ∈ ψ−1(i)
äîëè этого участникà, соответствующие секретàìsè
s0.
Упражнение 29.
Могут ëè â линейной ñõåìå ðàçäåления секретà ó÷à-
стники найти äîëè (áåç взаимодействия äðóã ñ другоì), соответствую-
ùèå линейной êîмбинации
as + bs0äâóõ секретовsè
s0, когда
a, b(∈ Fq)
çàðàíåå èçâåñòíû? Поясните ответ.
3.6. Линейные ÑÐÑ ñ óìíîæением, построенные íà основе êîäîâ
Äëÿ матрицы
A = (A|i)
k
i=1
рассмотрим матрицу
A⊗2= (A|i? A|j)
k
i,j=1
,
ãäå
A|i? A|j ïîêомпонентное óìíîæåíèåi-îé èj-îé строки матрицыA.
Ïóñòü ËÑÐÑΩпостроена íà основе
[n+1, k, d]q-êîäàC,
C⊥ êîä, äóальный
ê êîäóC,bC⊥= C⊥? C⊥. Èç леммы 10 вытекàåò, ÷òî íà основе îдномерной
ËÑÐÑ
Ω(C)
ìîæåò áûòü построена многомерная ËÑÐÑbΩ(C)
. ÑõåìàbΩ(C)
строитсÿ ñ помощью монотонной ïîðîждающей программы
c
M = (Fq,cM, e ⊗ e,ψ0),
ãäå
HC= (HC|0, HC|1, ..., HC|n)
проверочная матрица êîäàC,
c
M =L(H
T
C
|
{i}
) ⊗ L(H
T
C
|
{i}
)
n
i=1
,
e = (HC|
{0}
)T= H
T
C
|
{0}
строкà ñ íîìåðîì0матрицы
H
T
C
, à отображåíèå
ψ0задаетсÿ â соответствии ñ (3.24).
Упражнение 30.
Ïî÷åìó ñõåìàbΩ
является многомерной?
Ïóñòü теперь
b
H = H
⊗2
C
=HC|i? HC|
j
n−k
i,j=0
.
Íà основе ýòîé
((n − k + 1)2× n + 1)
-матрицы ìîæåò áûòü построена îä-
номерная ËÑÐÑ˙Ω(C)
, åñëè задать монотоннóþ ïîðîждающую программу
˙
M = (Fq,˙M,˙e, ψ)
:
˙
M =bH|
[n]
,˙e = (bHT)|
{0}
.
61

Ãëàâà 3. Линейные ñõåìû разделения секретà
Упражнение 31.
Докажите эквивалентность ëèнейных ñõåì ðàçäå-
ления ñåêðåòà˙Ω(C)
èbΩ(C)
. Указание: воспользуйтåñü ëåììîé 2.
Òеорема 14.
ПустьC
[n + 1, k]q-êîä,
Ω(C)
è˙Ω(C)
определенные
âûøå ËÑÐÑ,
ˆ
t = min{t(Ω(C)), n − r(˙Ω(C))}.
Òîãäà
1) ñõåìà
Ω(C)
îáëàäàåò свойствоìˆt
-строгого óмножения;
2) ñõåìà
Ω(C)
îáëàäàåò свойствоì
n − 2ˆt
-восстановления;
3)ˆt 6
n−1
3
.
Доказательство.
Ñõåìà
Ω(C)
обладает свойствомˆt
-секретности ïî îïðå-
делению õарактеристикиˆt
. Èç этого определения òàêæå следуåò, ÷òî
r(˙Ω(C)) 6 n −ˆt.
Îòñþäà вытекàåò, ÷òî ÑÐÑ˙Ω(C)
обладает свойством
n −ˆt
-восстановления
(здесь используåòñÿ òî, ÷òî ñõåìû˙Ω(C)
èbΩ(C)
эквивалентны). Получаем
первое утверждение.
Ïóñòü
B ⊆ P = [n],|B| = n − 2ˆt
. Òàêèì образом,
P \ B = A ∪ A0,
|A0| = |A| =ˆt
. Ïóñòü
c = {c0, c1, ..., cn} ∈ C⊥. Ïîêàæåì, ÷òî существуåò
òàêîé вектор
y = (yb)
b∈B
, ÷òî
c0=
X
b∈B
cbyb.
Òàê êàê ñõåìà
Ω(C)
обладает свойствомˆt
-секретности, òî найдетсÿ вектор
c0∈ C⊥, ÷òî
c
0
0
= 1èc0|A= 0
. Ðассмотрим вектор
c? c0∈ C⊥?C⊥. Заметим,
÷òî
(c ? c0)|
{0}
= c0, (c ? c0)|A= 0.
Ïóñòü
B0= B ∪ A,|B0| = n −ˆt
. Òàê êàê ñõåìà
Ω(C)
обладает свойством
n −ˆt
-восстановления, òî найдетсÿ òàêîé вектор
y0= (y
0
i
)
i∈B
0
, ÷òî
c0= (c ? c0)|
{0}
=
X
i∈B
0
y
0
i
((c ? c0)|
{i}
) =
=
X
i∈B
y
0
i
((c ? c0)|
{i}
) +
X
i∈A
y
0
i
((c ? c0)|
{i}
) =
=
X
i∈B
y
0
i
((c ? c0)|
{i}
) =
X
i∈B
(y
0
i
c
0
i
)ci.
Полагàÿ
yi= y
0
i
c
0
i
, получим äîêазываемое утверæäåíèå.
62

3.7. Проверяемые ÑÐÑ
Упражнение 32.
Докажите òðåòüå утверждение ñôîðмулирован-
íîé âûøå теореìû.
3.7. Проверяемые ÑÐÑ
Ñõåìû разделения секретà позволяют противостоÿòü êоалициям пассив-
íûõ нарушителей. Отметим, ÷òî здесь ïîä нарушителями понимаютсÿ òîëü-
êî участники èç ìíîæестваPèëè âíåøíèå нарушители. Однакî возникàþò
çàäà÷è, ãäå íåîáõîäèìî боротьсÿ è ñ активными нарушителями, â òîì ÷èñ-
ëå è ñ нечестным дилером. Â разделе 3.4. ïîêазано, êàê линейные ñõåìû
разделения секретà, â основе êоторых ëåæàò, например, ÌÄÐ-êîäû, позво-
ëÿþò òàêæå боротьсÿ ñ êоалициями àêòèâíûõ нарушителей. Заметим, ÷òî
ýòè ñõåìû позволяют выявлять è нечестного дилера, êоторый вручает ÷åñò-
íûì участникàì çàâåäîìî неправильные (èñêàæенные) äîëè. Â случае èñ-
пользования òàêîé
(n, r)
-ñõåìû нечестность дилера ìîæåò áûòü выявлена
толькî êоалицией мощности íå менее
2t+ n− r +1
, среди ÷ëåíîâ êоторой íå
болееtучастникîâ ñ испорченными долями (ñì. теорему 13). Â òî æå âðå-
ìÿ представляют интерес ñõåìû разделения секретà, êоторые áû позволяли
противостоÿòü нечестному дилеру íà ýòàïå выполнения протокîëà
Share
,
ëèáî нечестным óчастнèêàì íà ýòàïå выполнения протокîëà
Recon
. Äëÿ
ýòèõ целей используютсÿ
проверяеìûå ñõåìû ðàçäåления секрета
(veriable
secret sharing,
VSS
). Проверяемые ÑÐÑ противодействуют äâóì типам àê-
тивных àòàê:
•
êîãäà дилер передает èñêàæенные äîëè íåêоторым èëè âñåì участ-
íèêàì ìíîæестваPâî время выполнения ïротокîëà
Share
;
•
êîãäà íåêоторые участники êоалиции отправляют èñêàæенные äîëè
âî время выполнения ýòîé êоалицией протокîëà
Recon
.
Пример 22.
(n, t)
-ñõåìà Шамирà íå позвоëÿåò протиâîñòîÿòü îò-
меченным âûøå атакам активного нарушитåëÿ. Â частности, ïðè âû-
Share
ó ó÷àñтникаi, ïîлучающего äîëþ
x(i)
, íåò
возможности проверить ïðавильность ýòîé äîëè (дилер может â êà÷å-
ñòâå äîëè âûáðàòü ñлучайное значение èç
F
q
).
Ïðè âûïîлнении êîалицией протокоëà
Recon
êîалиция íå имеет âîç-
можности проверить, ÷òî предоставляеìûå участниками äîëè именно
òå, которые áûëè ïîлучены îò дилерà âî âðåìÿ âûïîлнения протокоëà
Share
(участник может îòïðавить ñлучайно âûáðанный ýëåìåíò
F
q
).
 ïîñледнеì ñлучае, åñëè активным нарушитеëåì является òîëüêî îäèí
участник
i0êîалицииA(
|A| = t
), òî âñå участники èç множестâà
A\{i0}
63

Ãëàâà 3. Линейные ñõåìû разделения секретà
íå ñмогут восстановить секрет ïðавильно, à участнèê
i0восстановит
секрет ïðàвильнî, èñïîльзуя ñâîþ ïðавильную äîëþ è ïðавильные äîëè
остальных
t − 1
участников ýòîé êîалиции.
3.8. Проверяемая ÑÐÑ Ôельдмана
 ñõåìå Фельдмана дилер отправляет êаждому участнику дополнитель-
íóþ информацию, êоторая позволяет проверить правильность äîëè. Ñòîé-
êîñòü ñõåìû основана íà ñëîжности дискретного ëîãарифмирования â êî-
нечной группе.
Ïóñòü
hgi
циклическàÿ группа ñ ïîðîждающим элементомg,
|hgi| = n
,
n
большое простое число. Â
(l, t)
-ñõåìå Фельдмана секретsпринадлежит
ìíîæеству
Z
n
.
Протокîë
Share
. Дилер выбирает случайнî вектор
p = (p1, ..., p
t−1
) ∈
R
Z
t−1
n
è строит полином:
a(z) = p0+ p1z + ... + p
t−1
z
t−1
, p0= s.
Участнику ñ номеромiпередаетсÿ äîëÿ âèäà
x(i) = (xi= a(i), B0= g
p
0
, ..., B
t−1
= g
p
t−1
).
(Òàê êàê набор
(B0, ..., B
t−1
)
являетсÿ общим äëÿ âñåõ участникîâ, òî ìîæíî
полагàòü, ÷òî ýòè çíàчения äèëåð передает широковещательным способом.)
Ïðè получении äîëè
x(i)
участник ñ номеромiпроверÿåò, ÷òî выполняетсÿ
равенство
g
x
i
=
t−1
Y
j=0
(Bj)
i
j
.
(3.26)
Протокîë
Recon
. Каждый участник êоалиции
A(⊆ P)
передает ñâîþ
äîëþ, êоторая проверÿåòñÿ îñòальными участникàìè путем проверки равен-
ñòâà (3.26). Протокîë восстановления ñåêðåòà выполняетсÿ, åñëè íåò участ-
íèêîâ, êоторые áû выявили нарушение равенства. Секрет восстанавливает-
ñÿ â соответствии ñ протокîëîì
Recon
äëÿ
(l, t)
-ñõåìû Шамира íàä
F
p
.
Лемма 11.
Ðавенство
(3.26)
âûïîлняется тогда è òîëüêî тогда, êî-
ãäà
xi= a(i)
.
Доказательство.
Äîêазательство вытекàåò èç следующей цепочки ðà-
венств:
g
x
i
= g
a(i)
= g
P
t−1
j=0
pji
j
=
Q
t−1
j=0
g
pji
j
=
Q
t−1
j=0
B
i
j
.
64

3.8. Проверяемая ÑÐÑ Фельдмана
Замечание 13.
Предпоëàãàåòñÿ, ÷òî значения
Bjнечестный дилер
íå меняеò, à может менять
xi.
Замечание 14.
Передача âåêòîðà
(B0, ..., B
t−1
)
ýòî вручение îáÿ-
çàòåльства (ñì. ðàçäåë 2.1.). Протокоë вручения обязательства äîëæåí
îáëадать свойствоì ìàñкировки è свойствоì связностè. Свойсòâî ñâÿç-
ности позвоëÿåò противодействовать активным атакам ñî стороны äè-
ëåðà è участников. À свойство маскировки íå äàåò возможности (â òåî-
ретико-информационноì èëè вычисëèòåëüíîì ñìûñëå) найти ñекрет ïî
врученным значениям.  ñõåìå Ôåльдмана свойство маскировки îáåñïå÷è-
вается â вычисëèòåëüíîì ñìûñëå.
Лемма 12.
Åñëè задача дискретного логарифмирования вычисëèòåëü-
íî ñложная, òî â протокоëå вручениÿ обязатеëüñòâà â ñõåìå Ôåльдмана
свойство маскировки обеспечивается â вычисëèòåëüíîì ñìûñëå.
Доказательство.
Äëÿ äîêазательства леммы äîñòаточно ïîêазать, ÷òî
åñëè êоалиция мощности
t − 1
ìîæåò получить çíàчение секретàsïî ñâî-
èì долям, òî ýòà êоалиция ìîæåò решить çàäà÷ó дискретного ëîãарифми-
рования äëÿ произвольного
h ∈ hgi
, äëÿ êоторого íå известно çíàчение
loggh
[17]. Ïóñòü áåç потери общности
{1, ..., t − 1}
êоалиция участникîâ,
êоторая ìîæåò найти секретsïî своим долям, òî åñòü существуåò àòàêà
Attack
, позволяющая найти ñåêðåò ïî
t − 1
долям. Построим
модифици-
рованную версию ñõåìû Ôåльдмаíà
. Дилер â протокîëå
Share
ìîäèôè-
цированной ñõåìû полагàåò
B0= h
. Ýòî îçíà÷àåò, ÷òî секретом â ìîäè-
фицированной версии являетсÿ
s = loggh
. Далее äèëåð
ñлучайно
выбира-
åò элементы
x1,...,
x
t−1
èç
Z
n
. Äëÿ формирования долей участникîâ дилеру
íåîáõîäèìî найти òàêèå неизвестные
B1= g
b
1
, ...,
B
t−1
= g
b
t−1
, чтобы âû-
полнялось равенство (3.26). Òàê êàê
B0= h
, òî получиì систему уравнений:
t−1
Y
j=1
(Bj)
i
j
= g
P
t−1
j=1
bji
j
= g
x
i
/h = g
xi−s
, i = 1, ..., t − 1.
Îòñþäà получаем, ÷òî вектор неизвестных
(b1, ..., b
t−1
)
ýòî решение ñëå-
дующей системы:
1 . . . 1
2 . . . 2
t−1
.
.
.
.
.
.
t − 1 . .. (t − 1)
t−1
b
1
b
2
.
.
.
b
t−1
=
x1− s
x2− s
.
.
.
x
t−1
− s
.
65

Ãëàâà 3. Линейные ñõåìû разделения секретà
Обозна÷èì
1 . . . 1
2 . . . 2
t−1
.
.
.
.
.
.
t − 1 . .. (t − 1)
t−1
−1
=
γ
1,1
. . . γ
1,t−1
γ
2,1
. . . γ
2,t−1
.
.
.
.
.
.
γ
t−1,1
. . . γ
t−1,t−1
.
Îòñþäà получаем, ÷òî
bi=
γ
i,1
. . . γ
i,t−1
x1− s
.
.
.
x
t−1
− s
,
Bj=
t−1
Y
k=1
(g
x
k
/h)
γ
j,k
.
Äîëè участникîâ êоалиции â ìîдифицированной ñõåìå íå îòличаютсÿ îò
долей â оригинальнîé ñõåìå Фельдмана. Поэтому óспешная àòàêà
Attack
,
примененная êоалицией ê оригинальной ñõåìå, ìîæåò áûòü применена è ê
ìîäифицированной ñõåìå. Íî â ìîдифицированной ñõåìå дилеру неизвестен
секрет
s = loggh
, à àòàêà
Attack
позволяет íàõîäèòü ýòî секрет. Следова-
тельно, существуåò алгоритм íà основе àòàêè
Attack
, êоторый позволяет
вычислять дискретный ëîãарифм, ÷òî противоречит предполоæåíèþ î âû-
числительной ñëîжности ýòîé çàäà÷è.
Вопросы è задания äëÿ самопроверки
1. Дайте определение ËÑÐÑ.
2. ×òî òàêîå ïîðîждающая матрица ËÑÐÑ?
3. Объясните, почему целевой вектор ìîæåò áûòü любым íóлевым.
4. ×åì îòличаютсÿ äîëè îдномерной ËÑÐÑ îò многомерной ËÑÐÑ?
5. ×òî òàêîå вектор ðåêонструкции?
6. Опишите протокîë разделения секретà è протокîë восстановлåíèÿ
секретà реплицированной ËÑÐÑ.
66

Вопросы è задания äëÿ самопроверки
7. Ïîясните, êàêèå (è êàê) êîдовые слова êîäàCопределяют минималь-
íóþ структуру доступа ËÑÐÑ, построенной íà основе проверочной
матрицы êîäàC.
8. Äëÿ защиты îò êàêèõ действий активных нарушителей используютсÿ
ËÑÐÑ, позволяющие выявлять нарушителей? Могут ëè òàêèå ËÑÐÑ
использоватьсÿ äëÿ выявления пассивных нарушителей?
9. Дайте определение ìóëüтипликативной ËÑÐÑ.
10. Против действий êàêèõ участникîâ è против êàêèõ действий приме-
няютсÿ проверяемые ÑÐÑ?
11. Опишите ÑÐÑ Фельдмана, используÿ понятия òåîðèè линейных êî-
äîâ.

Ãëàâà 4
Протокîëû многосторонних
вычислений
Ðàñсмотриì пример, êîãäà íåñêольким участникàì íåîáõîäèìî çàùè-
щенным образом вычислить çíàчение заданной функции.
Пример 23.
Пусть êîалиция
P = {1, 2, 3, 4}
намерена вычисëèòü среднюю ïî êîалиции çàðаботную плату
p =
P
4
i=1
p
i
4
,
ãäå
pi ðазмер çàðаботной платыi-îãî участника. Простым протокоëîì
может áûòü ñледующий. Инициирует протокоë участник ñ íîìåðîì1.
Îí выбирàåò ñлучайным îáðàçîì áîëüøîå натуральное ÷èñëî
B(∈ N)
, ïðè-
áавляет ê íåìó ðазмер своей çàðаботной платы
p1è îòïðавляет участ-
íèêó2÷èñëî
B1= B + p1. Второй участник îòïðàâëÿåò участнику
3
÷èñëî
B2= B1+p2, третий îòïðавляет четвертоìó
B3= B2+p3, à ÷åò-
вертый îòïðавляет первоìó
B4= B3+ p4. Первый участник вычисëÿåò
è ïóáликует значениå:
p =
B4− B
4
=
B + (p1+ p2+ p3+ p4) − B
4
.
Íà ðèñ. 2 показана ñõåìà передачи данных â ýòîì протокоëå многостî-
роннего вычисления среднåé ïî êîалиции çàðаботной платы.
Упражнение 33.
Постройте íà основе протокоëà èç примерà 23 ïðî-
òîêîë тайного ãîлосования äëÿ
n(∈ N)
участников. Какие атаки могут
проводить участники протокоëà, à также âíåøíèå нарушитеëè?
68

4.1. Протокîë защищенногî ñëîæåíèÿ
1
2
3
4
Ðèñ. 2.
Ñõåìà переда÷è данных â простом протокîëå многостороннего вычисления (íà-
пример, òайное голосование, вычисление средней заработной платы)
Определение 43.
Защищенным ïðîòîêîëîì многостороннего вычис-
ления (ÇÏÌÂ) функции
f(x1, ..., xn) = y
(4.1)
участниками множества
P = [n]
называется протокоë, â результате
âûïîлнения которого âûïîлняются äâà óñловия:
1)
корректность èëè ïîлнота
: вычисëÿåòñÿ значение
(4.1)
, ãäå
xi çíà÷åíèå аргумента, извесòíîå участнику
i ∈ P
;
2)
секретность
: значениеy ýòî единственная новая информация,
которую ïîлучают участники î секретных аргументах äðóãèõ участ-
ников.
Замечание 15.
Заметим, ÷òî óñловие секретности â îáùåì ñлучае
íå означает, ÷òî ïîñëå âûïîлнения ÇÏÌÂ участники íå узнают значения
секретов других ó÷àñтников. Например, â ðåçультате âûïîлнения прото-
êîëà вычисëåíèÿ средней çàðаботной платы èëè ïðîòîêîëà тайного ãî-
лосования
двумя
участниками, каждый èç участников ïîлучит ïîëíóþ
инфорìàöèþ î секретноì аргументе другого участника. Ýòî íå является
ñëàáîñòüþ ðàññмотренного âûøå протокоëà; ýòî ¾ñлабость¿ вычисëÿåìîé
функции.
4.1. Протокîë защищенного ñëîæåíèÿ
Ðàññìîòðèì простой протокîë защищенного ñëîæåíèÿ секретов тремя
участникàìè,
P = [3]
. Например, òðè работникà намерены узнать среднюю
заработную плату, íå сообщая размер своей заработной платы. Äëÿ этого
èì следуåò найти способ защищенным образом вычислить сумму размеров
своих заработных ïëàò è разделить íà3. Операцию деления êаждый участ-
íèê â ýòîé çàäà÷å ìîæåò выполнить самостоятельно.
69

Ãëàâà 4. Протокîëû ìíîгосторонних вычислений
Упражнение 34.
Покажите, ÷òî сумма çàðаботных ïëàò íå несет
êàêîìó-ëèáî участнику áîëüøå информации î çàðаботных платах других
участников ïî ñðавнению ñî ñлучаеì, когда участнику известнà òîëüêî
средняя çàðаботная плата.
Ïóñòü
zi размер заработной платы участникà ñ номеромi,
zi∈ Zm,
ãäåm большое число, заранее выбранное участникàìè. Протокîë основан
íà использовании ËÑÐÑΩèç примера 10 è состоит èç следующих шагов:
1. Каждый участник
i ∈ {1, 2, 3}
, используÿ протокîë
Share
ËÑÐÑΩ,
разделяет секрет
ziíà òðè части:
s
i,1
,
s
i,2
,
s
i,3
.
2. Каждый участник
i ∈ {1, 2, 3}
ïî защищенным (секретным) êаналам
передает ïàðû долей другим участникàì следующим îáðàçîì:
Äîëè Участник
(s
i,2
, s
i,3
) → 1
(s
i,1
, s
i,3
) → 2
(s
i,1
, s
i,2
) → 3
После âûïолнения второго øàãà участники располагàþò следующими
наборами данных:
Участник Äîëè
s1Äîëè
s2Äîëè
s
3
1 s
1,1
, s
1,2
, s
1,3s2,2
, s
2,3
s
3,2
, s
3,3
2 s
1,1
, s
1,3s2,1
, s
2,2
, s
2,3s3,1
, s
3,3
3 s
1,1
, s
1,2
s
2,1
, s
2,3s3,1
, s
3,2
, s
3,3
3. Каждый участник
i ∈ {1, 2, 3}
вычисляет çíàчения
Sl:
Sl= s
1,l
+ s
2,l
+ s
3,l
mod m, l 6= i.
Òàêèì образом, участники имеют следующие çíàчения:
Участник Наборы çíàчений
1 S2, S
3
2 S1, S
3
3 S1, S
2
4. Каждый участник анонсируåò (передает ïî незащищенному êàíàëó)
вычисленные çíàчения другим участникàì.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
