Протокол TLC. Рассмотрим описание протокола TLC, опубликованного
в [5]. Его авторы использовали протокол распределенной генерации ключей
Педерсена (Pedersen distributed key generation), протокол проверяемого
порогового разделения секрета Фельдмана (Feldman verifiable threshold secret
sharing) и алгоритм шифрования Эль-Гамаля. Протокол осуществляется при
помощи Сервиса (Time-Lapse Cryptography Service), состоящего из n
участников P
1
, ..., P
n
. Каждый участник Сервиса P
i
может быть предстален
автономным компьютером (сервером), безошибочно и секретно выполняющим
вычисления, предусмотренные протоколом, надежно хранящим все свои
секретные данные, имеющим безопасный способ резервного копирования
данных для аварийного восстановления. Все участники Сервиса могут
приватно и секретно обмениваться информацией между собой, образуя сеть.
Предполагается пороговое значение t такое, что самое большее t – 1 участников
311
могут нарушить протокол, и самое меньшее t участников являются надежными.
Должно выполняться условие n ≥ 2t – 1 (t ≤ (n+1)/2), например, если n = 3, то t ≤
2.). Для дальнейшей эффективности, надежности и устойчивости к атакам,
используеся небольшая сеть М из K менеджеров, которые действуют как
“команда управления” Сервисом. Эта управляющая команда должна создавать
расписание открытых и соответствующих закрытых ключей, создаваемых
Сервисом; вести внутреннюю доску объявлений для использования
участниками Сервиса; вести открытую доску объявлений для пользователей
Сервиса. Целостность этих досок объявлений достигается каждым менеджером,
ведущим собственные копии этих двух досок объявлений. Участники и
пользователи Сервиса будут смотреть на сообщения, размещенные на каждом
из копий досок объявлений, и определять правильные значения большинством
записей. Каждое участник Сервиса сопровождает каждое сообщение цифровой
подписью. Действия всех участников протокола синхронизируются при
помощи общедоступных и надежных часов таких, как предоставляемых NIST.
Протокол предусматривает использование соглаcованных параметров
алгоритма шифрования Эль-Гамаля: простое число p, порождающий элемент g
простого порядка q. Эти параметры можно найти, например, в документах RFC
3526 [8] и RFC 5114 [9].
Пусть в некоторый момент времени T Алиса хочет отправить Бобу
зашифрованное сообщение m так, чтобы Боб смог расшифровать его не раньше
установленного будущего момента времени T+δ, причем без дальнейшего
участия Алисы.
1) Алиса запрашивает или выбирает у Сервиса подходящую ключевую
структуру K
ID
. Ключевая структура K
ID
= (ID, T
ID
, δ
ID
, PK
ID
) состоит из
уникального идентификатора ID, времени публикации T
ID
, промежутка времени
δ
ID
и открытого ключа PK
ID
.
2) Сервис может генерировать ключевые структуры на периодической
основе; например, каждый день он может создавать ключи со сроком службы 1
312
неделю, или каждые 30 минут создавать ключи со сроком службы 2 часа. Такое
расписание размещается менеджерами на открытой доске объявлений. Кроме
того, Сервис может принимать запросы от пользователей генерировать новые
ключи с заданным сроком службы; менеджеры принимают эти запросы и
размещают их на открытой доске объявлений. Участники Сервиса создают
ключи согласно протокола, подписывают их и опубликовывают подписанные
ключевые структуры на открытой доске объявлений.
Генерация ключевых структур происходит следующим образом:
Каждый участник P
i
должен сгенерировать случайный многочлен степени
t-1 f
i
(z)=x
i
+a
1i
z+a
2i
z
2
+...+a
t-1i
z
t-1
из F
q
[z] (т.е. сгенерировать случайную
последовательность t-1 значений x
i
, a
1i
, a
2i
, ..., a
t-1i
). Составляющей частью
секретного ключа является f
i
(0)=x
i
. Каждый участник P
i
должен вычислить доли
секрета x
ij
=f
i
(j) (f
i
(j)=x
i
+a
1i
j+a
2i
j
2
+...+a
t-1i
j
t-1
) и проверочные значения c
0
= h
i
= g
xi
(mod p), c
1
= g
a1i
(mod p), ..., c
t-1
= g
at-1i
(mod p). Затем каждый участник P
i
отправляет всем участникам P
j
, j из [1, n], (j, x
ij
, SIGN
i
(j, x
ij
)) и публикует на
внутренней доске объявлений (c
0
, SIGN
i
(c
0
)), …, (c
t-1
, SIGN
i
(c
t-1
)). Теперь
каждый P
j
, j из [1, n], может проверить, что x
ij
правильная доля секрета,
сравнивая g
xij
≡ c
0
c
1
j
c
2
j^2
... c
t-1
j^(t-1)
(mod p) (*). Если равенство (*) не
выполняется, то участник P
j
выражает жалобу против P
i
. Если участник P
i
получает жалобу против себя, то он опубликовывает значение x
ij
,
удовлетворяющее
равенству
(*).
Каждый
участник
P
i
отмечает
дисквалифицированным каждого участника, который получил более k жалоб
или ответил на жалобу значениями, не удовлетворяющими равенству (*).
Каждый участник P
i
создает множество Q всех не дисквалифицированных
участников. Каждый участник P
j
, j из Q, вычисляет h = ∏
i из Q
h
i
(mod p),
формирует ключевую структуру K
ID
=(ID, T
ID
, δ
ID
, PK
ID
=h) и публикует (K
ID
,
SIGN
j
(K
ID
)) на внутренней и открытой досках объявлений.
3) Алиса проверяет соответствие цифровых подписей SIGN
i
(K
ID
)
опубликованным ключевым структурам K
ID
минимум для t участников и их
313
идентичность.
4) Алиса генерирует случайное значение y, вычисляет c
1
= g
y
(mod p) и c
2
= m PK
ID
y
(mod p) и отправляет пару c= (c
1
, c
2
) Бобу.
5) Боб получает пару c = (c
1
, c
2
) и ожидает либо значение y от Алисы,
либо наступления момента времени T
ID
+ δ
ID
.
6) При наступлении момента времени T
ID
+ δ
ID
каждый участник P
i
должен опубликовать свою составляющую часть закрытого ключа x = DK
ID
на
внутренней доске объявлений. Каждый участник проверяет, что у каждого P
i
из
Q опубликованная составляющая часть x
i
удовлетворяет уравнению g
xi
≡ h
i
(mod p). Каждый участник P
j
должен опубликовать x
ij
. Каждый участник P
j
вычисляет сумму DK
ID
= x = ∑
i из Q
x
i
(mod q) и публикует (ID, DK
ID
, SIGN
j
(ID,
DK
ID
)) на открытой доске объявлений.
7) Если Алиса отправляет Бобу значение y, то Боб расшифровывает
сообщение m и без закрытого ключа, либо при наступлении момента времени
T
ID
+ δ
ID
Боб получает DK
ID
от Сервиса и расшифровывает сообщение m: m =
c
2
c
1
p-1-DKID
(mod p).
Протокол ЕСTLC. В основе нашего протокола лежит протокол TLC,
описанный выше. Но вместо протокола распределенной генерации ключей
Педерсена, протокола проверяемого порогового разделения секрета Фельдмана
и алгоритма шифрования Эль-Гамаля используются, соответственно, протокол
распределенной
генерации
ключей,
основанный
на
дискретном
логарифмировании на эллиптических кривых [10], протокол проверяемого
порогового разделения секрета Педерсена и алгоритм шифрования Эль-Гамаля
на эллиптических кривых. Таким образом, мы называем протокол Elliptic Curve
Time-Lapse Cryptography (ECTLC). Протокол также осуществляется при
помощи Сервиса (Time-Lapse Cryptography Service), описанного выше.
Протокол предусматривает использование соглаcованных параметров
используемой эллиптической кривой: модуль эллиптической кривой простое
число p, уравнение эллиптической кривой, коэффициенты уравнения a и b из
314
поля F
p
, точка эллиптической кривой G простого порядка q. Эти параметры
можно найти, например, на сайте проекта SafeCurves [11].
Основные этапы нашего протокола осуществляются следующим образом:
1) Генерация ключей. При наступлении времени T
ID
каждый участник P
i
выбирает случайные значения a
i0
, a
i1
, …, a
ik
, b
i0
, b
i1
, …, b
ik
, где k = t-1, из поля F
p
(т.е. 0 ≤ a
ir
< p, 0 ≤ b
ir
< p). a
i0
является частью закрытого ключа. Затем каждый
участник P
i
вычисляет s
ij
= a
i0
+ a
i1
j+ a
i2
j
2
… + a
ik
j
k
(mod q) и s'
ij
= b
i0
+ b
i1
j+ b
i2
j
2
…
+ b
ik
j
k
(mod q), где j ≠ i - номер сервера Pj, 1 ≤ j ≤ n. Затем каждый участник P
i
вычисляет С
ir
= a
ir
G + b
ir
G', 0 ≤ r ≤ k (здесь применяются операция сложения
точек эллиптической кривой и умножение точки на число). Затем каждый
участник P
i
отправляет s
ij
и s'
ij
серверам P
j
по закрытым каналам связи между P
i
и P
j
, а С
ir
(0 ≤ r ≤ k)
открыто публикует. Каждый участник P
i
получив s
ji
и s'
ji
от
участников P
j
, 1 ≤ j ≤ n, j ≠ i, проверяет равенство s
ji
G + s'
ji
G' = ∑
r=0
k
i^r*С
jr
(**).
Если равенство (**) не выполняется для значений s
ji
и s'
ji
, полученных от
участника P
j
, то участник P
i
выражает жалобу против P
j
.
Если участник P
i
получает жалобу против себя, то он опубликовывает значения s
ij
и s'
ij
,
удовлетворяющие
равенству
(**).
Каждый
участник
P
i
отмечает
дисквалифицированным каждого участника, который получил более k жалоб
или ответил на жалобу значениями, не удовлетворяющими равенству (**).
Каждый участник P
i
создает множество Q всех не дисквалифицированных
участников. Каждый участник P
i
из множества Q вычисляет A
i0
= a
i0
G и
публикует A
i0
. Каждый участник P
i
из множества Q получает A
j0
и вычисляет
открытый ключ Pk
i
= ∑
j из Q
A
j0
.
2) Зашифрование. Сообщение m помещается в точку эллиптической
кривой:
выбирается точка M=(x, y) такая, что часть вектора х фиксирована и
соответствует сообщению m, а вектор y удовлетворяет уравнению
эллиптической кривой при выбранном х, т.е. у – квадратный корень по модулю
315
p (алгоритм Шенкса). Выбирается случайное число r , 0 rG: rG = G+G+...+G (r раз) (+ - операция сложения точек эллиптической
кривой). Вычисляется С2 = M + rPk, где Pk - открытый ключ (точка
эллиптической кривой). Пара (С1, С2) – шифртекст.
3) Расшифрование. Вычисляется DkC1, где Dk – закрытый ключ.
Вычисляется - DkC1 (обратный элемент для DkC1). Вычисляется (- DkC1) +
С2 = М.
Заключение. В данной работе представлен протокол, обеспечивающий
зашифрование сообщений, расшифрование которых будет возможно не ранее
заданного времени. В основе его лежит один из подходов к решению задачи
отправки секретных сообщений в будущее, известный как Time-Lapse
Cryptography (TLC), описанный в [5], [6]. Однако вместо алгоритмов
распределенной генерации ключей, проверяемого порогового разделения
секрета и шифрования, используемых в TLC, применяются алгоритмы на
основе криптографии на эллиптических кривых, что предполагает большую
эффективность. В тоже время предполагается, что эти изменения не влияют
устойчивость к известным атакам, обоснованную в [5]. Конечной целью наших
исследований является разработка и внедрение практического сервиса
шифрования данных на заданное время. Для этого предстоит решить целый ряд
задач. Во-первых, нами ведется работа над программной реализацией
протокола. Во-вторых, необходимо решить задачу развертывания безопасной и
надежной распределенной сети участников сервиса, обеспечивающих
генерацию ключей. В-третьих, в перспективе разработать аппаратно-
программную реализацию сервиса. В-четвертых, в перспективе рассмотреть
возможность использования новых более эффективных алгоритмов и
алгоритмов, расширяющих функциональные возможности сервиса. В-пятых,
необходимо подробное исследование криптографической стойкости протокола.
316
Литература
1.
T. C. May. The Cyphernomicon: Cypherpunks FAQ and More, v. 0.666,
September 10, 1994.
2.
R. L. Rivest, A. Shamir, and D. A. Wagner. Time-lock puzzles and timed-
release crypto. Technical Report MIT/LCS/TR-684, MIT, 1996.
3.
M. Bellare and S. Goldwasser. Verifiable partial key escrow. In ACM
Conference on Computer and Communications Security, pages 78–91, 1997.
4.
I. F. Blake and A. C.-F. Chan. Scalable, server-passive, user-anonymous timed
release public key encryption from bilinear pairing. Proceedings of 25th IEEE
International Conference on Distributed Computing Systems, pages 504 – 513,
2005.
5.
M.0. Rabin and C. Thorpe. Time-lapse cryptography. Technical report TR-22-
06, Harvard University School of Engineering and Computer Science, 2006.
6.
M.O. Rabin and C.A. Thorpe, Method and apparatus for time-lapse
cryptography U.S. Patent 8,526,621.
7.
C. Thorpe, M. Barrientos, and M.O. Rabin. Implementation of A Time-Lapse
Cryptography Service. IEEE Symposium on Security and Privacy, Oakland,
2009
8.
T. Kivinen, M. Kojo. More Modular Exponential (MODP) Diffie-Hellman
groups for Internet Key Exchange (IKE). RFC 3526 (2003)
9.
M. Lepinski, S. Kent. Additional Diffie-Hellman Groups for Use with IETF
Standards. RFC 5114 (2008)
10.
C. Tang, A. T. Chronopoulos. An Efficient Distributed Key Generation
Protocol for Secure Communications with Causal Ordering. Proceedings of
IEEE ICPADS 2005, The 11th International Conference on Parallel and
Distributed Systems, Volume 2, Fukuoka, Japan, pp. 285 - 289, 20-22 July
2005.
317
11.
Daniel J. Bernstein and Tanja Lange. SafeCurves: choosing safe curves for
elliptic-curve cryptography. http://safecurves.cr.yp.to, accessed 1 December
2014.
Спирина Е.А., Самойлова И.А., Смирнова М.А., Мирзабаева В.Д.
ПОДГОТОВКА СТУДЕНТОВ IT-СПЕЦИАЛЬНОСТЕЙ В СФЕРЕ
ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В КАРАГАНДИНСКОМ
ГОСУДАРСТВЕННОМ УНИВЕРСИТЕТЕ
Карагандинский государственный университет имени академика Е.А.Букетова,
Республика Казахстан, г.Караганда
Отрасль информационной безопасности является одной из наиболее
динамично развивающихся во всем мире. Казахстан не является исключением –
в последнее время рынок средств обеспечения информационной безопасности
показывает уверенный рост. Эксперты говорят, что сегодня наиболее
значимыми трендами являются увеличения
количества угроз, связанных с
мобильными устройствами, и активное использование приемов социальной
инженерии. «Традиционные» угрозы, такие, как вирусы и утечки информации,
также не теряют своей актуальности.
В среднем, рынок информационной безопасности в Казахстане должен
вырасти за год на 35%. Это несколько ниже, чем общемировые темпы (около
40%), и обусловлено это во многом тем, что информационные системы всё еще
недостаточно
активно
используются
казахстанскими
компаниями.
Предпосылки роста рынка информационной безопасности – это, прежде всего,
увеличение количество информационных угроз, с которыми сталкиваются
организации, а также такие факторы, как рост электронного документооборота,
увеличение количества компьютеров и смартфонов в организациях [1].
Необходимость комплексной подготовки специалистов в сфере
информационной безопасности и защиты информации в нашей стране
318
очевидна. В Республике Казахстан к IT-специальностям бакалавриата можно
отнести специальности 5В060200 - Информатика, 5В070200 - Автоматизация и
управление,
5В070300
-
Информационные
системы,
5В070400
-
Вычислительная техника и программное обеспечение, 5В070500 -
Математическое и компьютерное моделирование, 5В100200 - Системы
информационной безопасности. В КарГУ имени Е.А. Букетова подготовка
бакалавров IT-специальностей осуществляется на протяжении 20 лет по
специальностям 5В060200 - Информатика, 5В070300 - Информационные
системы. В 2011 году открыта специальность 5В070500 - Математическое и
компьютерное моделирование.
В системе подготовки бакалавров по этим специальностям большое
внимание уделяется формированию знаний и компетенций студентов в области
информационной безопасности и защиты информации.
Учебный план обучающихся предполагает изучение элективных курсов
«Информационная безопасность», «Защита информации». Целью изучения
дисциплины «Информационная безопасность» является формирование базовых
понятий в области информационной безопасности и защиты информации, виды
и состав угроз информационной безопасности, принципы и общие методы
обеспечения
информационной
безопасности,
основные
положения
государственной политики обеспечения информационной безопасности, виды
уязвимости защищаемой информации и формы ее проявления; каналы и
методы несанкционированного доступа к конфиденциальной информации.
Данные вопросы рассматриваются относительно требований к функциям
системы защиты национальной информационной инфраструктуры Республики
Казахстан.
Дисциплина «Защита информации» нацелена на изучение теоретических
основ построения и практического использования систем защиты информации
в информационных системах, формирование у студентов систематизированных
представлений о принципах, методах и средствах реализации защиты данных
319
по приобретению практических навыков по защите информации в
информационных системах, необходимых для их проектирования и
эксплуатации. Изучаются основные понятия и направления в защите
компьютерной информации, принципы защиты информации, классификации и
примеры угроз безопасности компьютерным системам, современные подходы к
защите продуктов и систем информационных технологий, реализованные в
действующих отечественных и международных стандартах IТ-безопасности,
основные инструменты обеспечения многоуровневой безопасности в
информационных системах
В
элективных
дисциплинах
«Программирование
на
С++»,
«Программирование
на
Ассемблере»,
«Разработка
клиент-серверных
приложений»,
«Теория
кодирования»,
«Параллельные
вычисления»
рассматриваются такие темы как: теория современных компьютерных вирусов;
методы защиты данных и компьютерных программ от нелегального
использования; методы идентификации программных продуктов; алгоритмы,
системы и стандарты криптографической защиты информации; методы взлома
механизмов защиты; современные технологии лицензирования локального и
сетевого программного обеспечения; юридические аспекты защиты
программных продуктов от нелегального использования; технологии защиты
интеллектуальной собственности в Интернет и т.п.
При изучении дисциплин «Архитектура компьютерных систем» и
«Операционные системы» особое внимание уделено изучению методов
программно-аппаратной защиты данных в компьютерных системах.
Таким образом, выпускники IT-специальностей обладают базовыми
профессиональными компетенциями в сфере информационной безопасности,
способны использовать современные технологии программирования для
разработки защищенного программного обеспечения; проводить анализ
программного кода с целью поиска потенциальных уязвимостей; учитывать
требования современных стандартов по безопасности компьютерных систем.
320
Однако имеется ряд проблем, а именно: в области информационных
технологий, в том числе защиты информации, знания устаревают достаточно
быстро и часто конкретные знания по дисциплинам, полученные в
университете, оказываются недостаточными.
В таких условиях при подготовке IT-специалистов для сферы
информационной безопасности необходимо сконцентрировать основное
внимание на предоставлении базовых и фундаментальных знаний по
дисциплинам, разнообразить круг практических умений, а также сформировать
навыки у студентов к самостоятельному обучению. Это позволит выпускникам
быстро адаптироваться на рынке труда.
Достарыңызбен бөлісу: |