RU2686005C1 - Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) - Google Patents
Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) Download PDFInfo
- Publication number
- RU2686005C1 RU2686005C1 RU2018106405A RU2018106405A RU2686005C1 RU 2686005 C1 RU2686005 C1 RU 2686005C1 RU 2018106405 A RU2018106405 A RU 2018106405A RU 2018106405 A RU2018106405 A RU 2018106405A RU 2686005 C1 RU2686005 C1 RU 2686005C1
- Authority
- RU
- Russia
- Prior art keywords
- frame
- value
- data
- service
- frames
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 title claims abstract description 42
- 230000009471 action Effects 0.000 claims description 32
- 238000012546 transfer Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 12
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат - повышение эффективности расшифровки кадров данных. Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных, в котором если в компьютере, отправляющем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, считывают текущее значение времени из таймера компьютера, отправляющего защищенные сообщения, если текущее значение времени из таймера больше или равно сумме времени отправки предыдущего служебного кадра и значения промежутка времени между служебными кадрами, то отправляют служебный кадр, иначе, если присутствует кадр данных требующий отправки, то обрабатывают этот кадр, если в компьютере, принимающем защищенные сообщения, инициализация переменных не проведена, то сбрасывают флаг, принимают очередной кадр от компьютера, отправляющего защищенные сообщения, определяют тип кадра, если кадр на входе компьютера, принимающего защищенные сообщения, является служебным кадром, то извлекают из служебного кадра значение синхропосылки, проверяют имитовставку служебного кадра, иначе, если кадр на входе компьютера, принимающего защищенные сообщения, не является служебным кадром, то удаляют кадр, иначе проверяют имитовставку кадра. 2 н.п. ф-лы.
Description
Область техники, к которой относится изобретение
Предполагаемое изобретение относится к вычислительной технике и, в частности, к способам обеспечения правильности расшифрования данных, передающихся через цифровую систему передачи данных.
Уровень техники
Широко используемые режимы шифрования, такие как режим простой замены с зацеплением, режим гаммирования с обратной связью по шифротексту, режим обратной связи по выходу и режим счетчика с аутентификацией Галуа (GCM) требуют знания синхропосылки для правильного расшифрования сообщения. Синхропосылку также называют начальным значением, значением криптосинхронизации или инициализационным вектором. Синхропосылка используется для инициализации начального состояния шифратора, и использование неправильного значения синхропосылки при расшифровании приводит к тому, что данные будут расшифрованы неправильно. В случае совмещенных режимов, например, GCM, при использовании неправильной синхропосылки сообщение будет неправильно расшифровано, и у него не сойдется имитовставка. Сообщения, у которых не совпали имитовставки, должны быть удалены как не прошедшие проверку на аутентичность.
При этом синхропосылка не является секретной информацией и может передаваться по открытым каналам связи, поскольку знание синхропосылки не дает атакующему возможности расшифровать сообщение без знания ключа шифрования.
Передача синхропосылки вместе с зашифрованным сообщением занимает ресурс канала передачи данных и снижает объем полезных данных, который можно передать по этому каналу.
Известен способ передачи переменных параметров аутентификации от передающей стороны к принимающей стороне (патент РФ №2273102, приоритет от 30.09.1999 г.), включающий
генерирование первой сигнатуры для аутентификации из значения криптосинхронизации и ключа шифрования на передающей стороне,
генерирование второй сигнатуры для аутентификации из значения криптосинхронизации и ключа шифрования на принимающей стороне,
приращение значения криптосинхронизации на принимающей стороне, если первая сигнатура для аутентификации и вторая сигнатура для аутентификации совпадают, и
запрос обмена ключами шифрования, если первая сигнатура для аутентификации и вторая сигнатура для аутентификации не совпадают.
В соответствии с известным способом требуется передача значения криптосинхронизации для ее проверки на принимающей стороне, что приводит к увеличению объема данных, передаваемых с каждым кадром.
Некоторым видоизменением описанного выше является способ синхронизации значений криптосинхронизации алгоритма шифрования на передающей стороне и на принимающей стороне, включающий
проверку текущего значения криптосинхронизации, связанного с кадром зашифрованного сообщения, на принимающей стороне,
приращение текущего значения криптосинхронизации на передающей стороне и принимающей стороне, если текущее значение криптосинхронизации прошло проверку, и
передачу от принимающей стороны к передающей стороне сообщения отказа, если текущее значение криптосинхронизации не прошло проверку.
При этом этап проверки текущего значения криптосинхронизации может содержать
декодирование множества битов проверки циклическим избыточным кодом (ЦИК) передачи, где биты ЦИК передачи предназначены для определения ошибок передачи, и
декодирование множества кодированных битов ЦИК, где закодированные биты ЦИК предназначены для определения, совпадает ли текущее значение криптосинхронизации, генерированное на принимающей стороне со значением криптосинхронизации, генерированным на передающей стороне.
В этом способе к каждому кадру данных необходимо добавлять дополнительное поле, содержащее биты ЦИК, что тоже увеличивает объем передаваемых данных.
Также оба описанных способа требуют отправки сообщения отказа, если значение криптосинхронизации не прошло проверку, поскольку значение криптосинхронизации может быть увеличено, только если текущее значение криптосинхронизации прошло проверку на приемной стороне. Это накладывает ограничение на возможную скорость передачи данных, поскольку передающая сторона должна убедиться в отсутствии сообщения отказа на предыдущее посланное сообщение перед посылкой следующего сообщения и является еще одним недостатком известных способов.
Известен также способ передачи сигнала в системе связи (патент РФ №2384000, приоритет от 11.01.2005 г.), содержащий этапы
генерации второй информации шифрования с использованием первой информации шифрования, когда генерируются данные для передачи; шифрования данных с использованием второй информации шифрования и третьей информации шифрования; и
генерации и передачи сигнала, который включает в себя зашифрованные данные и первую информацию шифрования, при этом первая информация шифрования соответствует счетчику прокрутки, причем счетчик прокрутки получает приращение при увеличении номера кадра системы связи, и третья информация шифрования представляет собой ключ шифрования трафика (МТК) услуги групповой и широковещательной передачи (MBS).
Известный способ неустойчив к потере кадров данных во время передачи по системе связи, а также к добавлению кадров данных в канал передачи данных другими устройствами.
При потере кадра данных счетчик прокрутки увеличивается на передающей стороне после передачи кадра, но не увеличивается на принимающей стороне, поскольку кадр данных переданный передающей стороной не дошел до принимающей стороны. Во время передачи следующего кадра данных счетчики прокрутки на принимающей стороне и на передающей стороне будут отличаться, и кадр данных будет расшифрован неверно.
Также возможна ситуация, когда в системе связи, через которую производится передача зашифрованных кадров, работают другие устройства. В этом случае если принимающая сторона примет кадр данных, предназначенный не ей, или широковещательный кадр, или специально сформированный атакующей стороной кадр данных, который не был послан передающей стороной, то на принимающей стороне счетчик прокрутки будет увеличен, в то время как на передающей стороне счетчик прокрутки останется прежним. В этом случае принимающая сторона неверно расшифрует следующий кадр данных, отправленный передающей стороной, поскольку счетчики прокрутки на принимающей и передающей сторонах отличаются, что является еще одним недостатком известного способа.
Известный способ принимается за прототип.
Раскрытие изобретения
Техническим результатом является
1) отсутствие необходимости передавать дополнительные биты данных с каждым кадром данных для обеспечения правильности расшифрования кадров данных,
2) сохранение устойчивости компьютера, принимающего зашифрованные кадры, к приему посторонних кадров, не являющихся кадрами, отправленными компьютером, отправляющим защищенные сообщения,
3) возможность восстановления правильности приема кадров после потери кадра в системе передачи данных.
Дополнительным техническим результатом для второго варианта предложенного способа является повышение производительности при обработке принятых кадров.
Для этого предлагается способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных.
Согласно первому варианту способа обеспечения передачи зашифрованных данных в цифровой системе передачи данных, содержащей
по крайней мере, один компьютер, отправляющий защищенные сообщения в виде последовательности кадров цифровых данных через сеть передачи данных, содержащий таймер для формирования значений текущего времени и выполненный с возможностью
по крайней мере, один компьютер, принимающий защищенные сообщения через сеть передачи данных, содержащий таймер для формирования значений текущего времени и выполненный с возможностью
проверять имитовставку для кадров; при этом размер кадров данных не может быть меньше определенного ненулевого значения L;
способ, заключающийся в том, что
если в компьютере, отправляющем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия
Z0=max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
иначе, если присутствует кадр данных требующий отправки, то обрабатывают этот кадр, выполняя следующие действия
если в компьютере, принимающем защищенные сообщения, инициализация переменных не проведена, то сбрасывают флаг S;
иначе, если кадр на входе компьютера, принимающего защищенные сообщения, не является служебным кадром и S=0, то удаляют кадр;
иначе проверяют имитовставку кадра, используя в качестве синхропосылки значение IVx=IVdr+1 и выполняя следующие действия:
передают по назначению расшифрованный кадр из компьютера, принимающего защищенные сообщения. Согласно этому способу компьютер, отправляющий защищенные сообщения, отправляет компьютеру, принимающему защищенные сообщения, служебные кадры, содержащие значение синхропосылки для этого служебного кадра, при этом служебные кадры посылаются после отправки определенного объема данных или по истечении определенного времени с отправки предыдущего служебного кадра.
При этом служебные кадры, как и кадры с данными, защищены имитовставкой, обеспечивающей аутентичность этих кадров.
Поскольку компьютер, принимающий защищенные сообщения в соответствии с описанным способом, может вычислить значение синхропосылки для следующего кадра, то он может принять следующий кадр без необходимости передавать дополнительные данные о синхропосылке в каждом кадре данных. Компьютер, принимающий защищенные сообщения, проверяет имитовставки принимаемых кадров, и, поскольку правильную имитовставку можно вычислить, только зная правильный ключ, то при приеме кадра, который был отправлен не компьютером, отправляющим защищенные сообщения, у этого кадра не совпадет имитовставка, и данный кадр будет удален без увеличения значения ожидаемой синхропосылки. Таким образом, обеспечивается устойчивость к приему кадров, отправленным не компьютером, отправляющим защищенные сообщения, и такие кадры не нарушают приема аутентичных кадров.
Предлагаемый способ позволяет восстановить возможность принимать кадры данных после потери одного из них. После потери кадра данных компьютер, принимающий защищенные сообщения, будет использовать неверные синхропосылки при проверке имитовставки у последующих кадров данных и отбрасывать их, поскольку у них не будет совпадать имитовставка. По истечении определенного времени или после передачи определенного объема данных компьютер, отправляющий защищенные сообщения, пошлет очередной служебный кадр, и компьютер, принимающий защищенные сообщения, сможет принять его, поскольку в служебном кадре содержится значение синхропосылки. После этого компьютер, принимающий защищенные сообщения, сможет принимать последующие кадры.
Предложенный способ позволяет не добавлять данные в каждый кадр данных и поэтому позволяет увеличить пропускную способность системы передачи данных по сравнению со способами, требующими добавления дополнительной информации в каждый кадр данных. При этом компьютеру, отправляющему защищенные сообщения, не нужно ожидать в течении установленного промежутка времени подтверждения приема предыдущего кадра или сообщения об отказе, что позволяет повысить скорость передачи данных.
Поскольку после потери кадра компьютер, принимающий защищенные сообщения, может неправильно принять еще некоторое количество кадров, то данный способ предпочтительно применять в системах передачи данных, в которых потеря кадра данных маловероятна.
Согласно второму варианту, предлагается способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных, содержащей
по крайней мере, один компьютер, отправляющий защищенные сообщения в виде последовательности кадров цифровых данных через сеть передачи данных, содержащий таймер для формирования значений текущего времени и выполненный с возможностью
по крайней мере, один компьютер, принимающий защищенные сообщения через сеть передачи данных, содержащий
расшифровывать кадры; при этом размер кадров данных не может быть меньше определенного ненулевого значения L;
способ, заключающийся в том, что
если в компьютере, отправляющем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия:
вычисляют А=U+1, где U - максимально возможное количество кадров минимально возможного размера, одновременно находящихся на обработке в блоке шифрования;
Ts=Тс - Tm;
Z0 = max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
иначе, если присутствует кадр данных, требующий отправки, то обрабатывают этот кадр, выполняя следующие действия:
если в компьютере, принимающем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия:
если кадр на входе компьютера, принимающего защищенные сообщения, является служебным кадром и G=0, то
IVsn=IVsr+Z;
Es=Е (IVsn || 032),
где Е () - функция зашифрования,
|| - операция конкатенации, причем нижний индекс означает разрядность двоичной записи значения;
если кадр на входе компьютера, принимающего защищенные сообщения, является служебным кадром и G=1, то
R=GHASH XOR Ir,
где Ir - значение имитовставки, принятого вместе с кадром,
XOR - операция побитового исключающего "или";
IVsn=IVsr+Z;
Es=Е (IVsn || 032);
Qi=Е (IVdr+i || 032),
где i=1…А;
иначе если кадр на входе компьютера, принимающего защищенные сообщения, не является служебным кадром и при этом G=0 или Р=0, то удаляют кадр;
R=GHASH XOR Ir;
B=E(IVdr+A || 032);
Предложенный второй вариант способа предпочтительно применять в случае использования режима шифрования GSM (Morris Dworkin Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, 2007, URL: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) и при наличии блока шифрования, выполненного в виде многоступенчатого конвейера (Shylashree N., Nagarjun Bhat and V. Shridhar. FPGA implementations of advanced encryption standard: A survey. International Journal of Advances in Engineering & Technology, May 2012).
Согласно второму варианту предлагаемого способа, компьютер, принимающий защищенные сообщения, после приема служебного кадра вычисляет значение синхропосылки для следующего служебного кадра и использует его для вычисления значения Es, которое потребуется для проверки имитовставки следующего служебного кадра. Компьютер, принимающий защищенные сообщения, после приема кадра данных проверяет имитовставку этого кадра, используя заранее вычисленное значение, хранящееся в регистре Q, и вычисляет синхропосылку одного из следующих кадров данных в соответствии с действиями способа и значение, которое потребуется для проверки имитовставки этого кадра данных. Вычисленное значение записывается в регистр Q.
Для проверки имитовставки в режиме GCM над синхропосылкой необходимо произвести преобразования, включающие вычислительно сложную операцию зашифрования, которая занимает значительное время. При этом для обеспечения устойчивости к приему кадров, отправленных не компьютером, отправляющим защищенные сообщения, необходимо проверять аутентичность каждого принятого кадра данных до того, как увеличивать значение синхропосылки и использовать ее для обработки следующего кадра.
Согласно этому варианту предлагаемого способа, компьютер, принимающий защищенные сообщения, проверяет имитовставку принятого кадра, используя вычисленные заранее значения. Предварительные вычисления позволяют быстро принимать решение об аутентичности принятого кадра и вычислять значение синхропосылки для следующего кадра сразу после этого, избавляя от необходимости ждать окончания процесса шифрования перед началом обработки следующего кадра. Такой прием повышает производительность способа при реализации его в многопроцессорных компьютерах или компьютерах с блоком шифрования в виде многоступенчатого конвейера, где обработка следующего кадра может начаться до полного окончания обработки предыдущего кадра.
Таким образом, второй вариант предложенного способа имеет дополнительный технический результат - повышенная производительность способа при реализации его в многопроцессорных компьютерах или компьютерах с блоком шифрования в виде многоступенчатого конвейера, где обработку следующего кадра можно начать до полного окончания обработки предыдущего кадра.
Осуществление изобретения
Рассмотрим осуществление вариантов предложенного способа.
Способ в первом варианте допускает реализацию как на компьютере, являющимся источником кадров данных, так и на внешнем по отношению к нему устройстве, выполняющем, таким образом, функции криптошлюза. В последнем случае устройство, осуществляющее предложенный способ, может содержать два сетевых интерфейса и принимать кадры данных на один интерфейс, обрабатывать их в соответствии с предложенным способом и отправлять их через другой интерфейс.
В общем случае, в цифровой системе передачи данных может быть несколько компьютеров, одновременно отправляющих разные защищенные сообщения по разным сетевым адресам, и несколько компьютеров, одновременно принимающих разные защищенные сообщения от разных сетевых адресов.
Устройство, реализующее способ, в любом варианте может обслуживать несколько источников кадров данных, подключенных к интерфейсу, принимающему незашифрованные кадры данных.
Компьютер, отправляющий защищенные сообщения, должен содержать таймер для формирования значений текущего времени, что обычно выполняется в любом современном компьютере.
Для реализации всех вычислений и операций, обеспечивающих возможность
в компьютере, отправляющем защищенные сообщения, необходимо предварительно сформировать программу (комплекс программ). Такую программу может сформировать специалист по программированию (программист) на любом известном универсальном языке программирования (например, языке С) на основе приведенных выше соотношений. Затем эта программа устанавливается на компьютере.
Для обеспечения работы по передаче данных, на основе известных характеристик используемой сети передачи данных, определяют максимальную скорость s передачи данных через сеть и минимальный размер L>0 кадров данных, которые могут быть переданы через систему передачи данных. Определяют начальное значение синхропосылки М, задают значение промежутка времени Tm между служебными кадрами и выбирают максимальный объем данных Cmax между посылками служебных кадров в соответствии с желаемым балансом между дополнительной нагрузкой на канал передачи данных и скоростью восстановления приема данных после потери кадра.
Значение промежутка времени Tm и объема данных Cmax между служебными кадрами выбирают в зависимости от вероятности потери кадра в системе передачи данных и в соответствии с требуемым соотношением между возможным количеством потерянных кадров и объемом служебных данных, передаваемом по системе передачи данных. При этом необходимо учитывать, что увеличение значений Tm и Cmax приводит к снижению объема служебных данных, передаваемого по системе передачи данных, однако, при потере кадра в системе передачи данных, это может приводить к потере большего количества кадров данных до восстановления нормального приема кадров. Для оценки можно исходить из того, что при потере кадра данных прием кадров нарушатся в среднем на Tm/2 при низкой занятости системы передачи данных или на Cmax/(2s) при высокой занятости системы передачи данных. Также учитывают, что значение Tm не следует выбирать меньше разброса времени доставки кадров в системе передачи данных, поскольку иначе возможны сбои передачи, вызванные преждевременным сбросом флага S.
При осуществлении второго варианта способа не следует выбирать Tm меньше, чем время прохождения блока данных через блок шифрования, а выбирать Cmax следует таким образом, что бы Cmax/s было больше, чем время прохождения блока данных через блок шифрования.
Например, если планируется передача защищенных данных через локальную сеть типа Ethernet, то могут быть выбраны значения L=86 байта (64 байта - минимальный кадр Ethernet, 8 байт - преамбула кадра, 12 байт - минимальный промежуток между кадрами), М=0, Cmax=262144 байта, Tm=20 мс при максимальной скорости передачи данных s=10 Гбит/с. Значение L выбрано в соответствии со спецификацией Ethernet, причем учитываются все байты, занятые в системе передачи данных кадром, включая обязательный промежуток между кадрами и преамбулу кадра. Значение М выбрано равным нулю, это значение допустимо, но важно, чтобы оно было выбрано одинаковым для компьютера, передающего защищенные сообщения, и компьютера принимающего защищенные сообщения. Значение Cmax выбрано опытным путем, значение Tm выбрано равным 20 мс, потому что передача данных с задержкой кадров больше 20 мс оценивается как маловероятная, и при этом данное время является приемлемым временем восстановления приема кадров.
Выбранные значения заносятся в программу определенного компьютера, отправляющего защищенные сообщения. Для другого компьютера, отправляющего защищенные сообщения, в системе, в зависимости от планируемой передачи защищенных данных, начальные значения могут быть другими.
Компьютеры, отправляющий защищенные сообщения, работают независимо от компьютеров, принимающих защищенные сообщения, и могут не иметь информации о том, происходит ли прием отправленных кадров данных. При этом компьютер, отправляющий защищенные сообщения, может отправлять кадры по нескольким адресам, если в системе передачи данных присутствует несколько компьютеров, принимающих защищенные сообщения. Кроме того, компьютер, отправляющий защищенные сообщения, может отправлять широковещательные кадры, если количество компьютеров, принимающих защищенные сообщения в системе передачи данных неизвестно или неизвестны их адреса. В этом случае каждый из компьютеров, принимающих защищенные сообщения, должен независимо выполнять действия способа, относящиеся к компьютеру, принимающему защищенные сообщения.
Для реализации всех вычислений и операций, обеспечивающих возможность
в компьютере, принимающем защищенные сообщения, необходимо также предварительно сформировать программу (комплекс программ). Такую программу может сформировать специалист по программированию (программист) на любом известном универсальном языке программирования (например, языке С) на основе приведенных выше соотношений. Затем эта программа устанавливается на компьютере.
Также для обеспечения работы по передаче данных в компьютере, принимающем защищенные сообщения, при инициализации сбрасывают флаг S. Флаг представляет собой, в самом простом случае, значение единицы (если флаг установлен) или нуля (если флаг сброшен).
Затем запускают программы в компьютерах, отправляющих и принимающих защищенные сообщения, и начинают выполнение действий способа, заключающегося в том, что
если в компьютере, отправляющем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия
считывают из таймера текущее значение времени Тс, при этом таймер компьютера отправляющего защищенные сообщения может быть не синхронизирован с таймером компьютера принимающего защищенные сообщения, поскольку таймеры используются не для определения времени, а для определения промежутков времени;
Ts=Тс - Tm;
Z0=max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
увеличивают значение IVsf на величину Z, при этом увеличение IVsf на Z гарантирует, что ни один из предыдущих кадров данных не использовал синхропосылку, равную увеличенному значению IVsf, поскольку Z выбрано большим, чем максимально возможное количество кадров между двумя служебными кадрами;
присваивают IVdf значение IVsf, при этом данное действие обеспечивает то, что синхропосылки кадров данных, следующих за данным служебным кадром, будут больше, чем IVsf;
добавляют имитовставку к служебному кадру, при этом предпочтительно добавлять имитовставку к концу служебного кадра;
иначе, если присутствует кадр данных требующий отправки, то обрабатывают этот кадр, выполняя следующие действия
увеличивают значение IVdf на единицу, что обеспечивает уникальность синхропосылок и их предсказуемость;
добавляют имитовставку к кадру данных, при этом предпочтительно добавлять имитовставку к концу кадра данных;
В компьютере, принимающем защищенные сообщения, независимо от компьютера, отправляющего защищенные сообщения, производят следующие действия:
если в компьютере, принимающем защищенные сообщения, инициализация переменных не проведена, то сбрасывают флаг S, при этом сброшенный флаг S гарантирует, что кадры данных будут отбрасываться до тех пор, пока компьютер, принимающий защищенные сообщения, не будет полностью готов к приему кадров;
иначе, если кадр на входе компьютера, принимающего защищенные сообщения, не является служебным кадром и S=0, то удаляют кадр;
иначе проверяют имитовставку кадра, используя в качестве синхропосылки значение IVx=IVdr+1 и выполняя следующие действия:
Способ во втором варианте предпочтительно реализовать на специализированном компьютере, содержащего блок вычисления функции GHASH (Morris Dworkin Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, 2007,
URL: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf), таймер, блок шифрования, выполненный в виде многоступенчатого конвейера, регистр Q типа FIFO.
Блок шифрования реализован в виде многоступенчатого конвейера с возможностью подавать в него блоки данных для зашифровывания на каждый такт. Данное устройство блока шифрования позволяет зашифровывать в данном блоке шифрования одновременно Z блоков данных, где Z - количество ступеней в конвейере блока шифрования. Блок шифрования реализован таким образом, что бы в нем одновременно могли обрабатываться блоки данных различных кадров. Для этого можно, например, снабжать блоки данных метаинформацией о принадлежности данного блока данных к конкретному кадру данных или реализовать внешний по отношению к блоку шифрования блок, ведущий учет блоков данных, переданных в блок шифрования, и определяющий на основе этой информации принадлежность блоков данных, выходящих из блока шифрования.
Предложенный способ во втором варианте не использует для проверки имитовставки принятого кадра значений, полученных путем зашифрования данных, извлеченных из проверяемого кадра. Вместо этого используются заранее вычисленные и хранящиеся в регистре Q значения. Это снижает требования к времени зашифрования блоков данных в блоке шифрования и позволяет использовать блок шифрования, выполненный в виде многоступенчатого конвейера, что, в свою очередь, позволяет повысить производительность блока шифрования за счет конвейеризации и одновременного зашифрования нескольких блоков данных на различных ступенях конвейера.
Для реализации всех вычислений и операций, обеспечивающих возможность
в компьютере, принимающем защищенные сообщения, необходимо также предварительно сформировать программу (комплекс программ). Такую программу может сформировать специалист по программированию (программист) на любом известном универсальном языке программирования (например, языке С) на основе приведенных выше соотношений. Затем эта программа устанавливается на специализированном компьютере.
Затем запускают программы в компьютерах, отправляющих и принимающих защищенные сообщения, и начинают выполнение действий способа, заключающегося в том, что
если в компьютере, отправляющем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия:
вычисляют А=U+1, где U - максимально возможное количество кадров минимально возможного размера, одновременно находящихся на обработке в блоке шифрования;
Ts=Тс - Tm;
Z0=max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
иначе, если присутствует кадр данных, требующий отправки, то обрабатывают этот кадр, выполняя следующие действия:
В компьютере, принимающем защищенные сообщения, независимо от компьютера, отправляющего защищенные сообщения, производят следующие действия:
если в компьютере, принимающем защищенные сообщения, инициализация переменных не проведена, то инициализируют переменные, выполняя следующие действия:
если кадр на входе компьютера, принимающего защищенные сообщения, является служебным кадром и G=0, то
Es=E(IVsn || 032),
где Е () - функция зашифрования,
|| - операция конкатенации, причем нижний индекс означает разрядность двоичной записи значения.
При этом значение Es не используется для обработки данного служебного кадра, а будет использовано при обработке следующего служебного кадра, при этом блок шифрования успеет зашифровать значение IVsn || 032, поскольку компьютер, отправляющий защищенные сообщения, отправляет служебные кадры только по истечению времени Tm с момента отправки предыдущего служебного кадра или после отправки Cmax байт данных.
Затем
если кадр на входе компьютера, принимающего защищенные сообщения, является служебным кадром и G=1, то
вычисляют значение хэш-функции GHASH для служебного кадра, при этом хэш-функция может вычисляться на отдельном процессоре или специализированном блоке вычисления функции GHASH;
R=GHASH XOR Ir,
где Ir - значение имитовставки, принятого вместе с кадром,
XOR - операция побитового исключающего "или";
если R=Es, то данный кадр прошел проверку имитовставки и данные из этого кадра используются следующим образом:
IVsn=IVsr+Z;
Es=Е (IVsn || 032)
(при этом значение Es не используется для обработки данного служебного кадра, что позволяет обработать данный кадр и начать обработку следующих кадров данных до того, как блок шифрования закончит вычисление значения Es; далее Es будет использовано при обработке следующего служебного кадра, при этом блок шифрования успеет зашифровать значение IVsn || 032 к тому времени);
Qi=Е (IVdr+i || 032),
где i=1…А;
записывают Qi в регистр Q типа FIFO по мере вычисления (при этом значения из регистра Q не используются для обработки данного служебного кадра, что позволяет обработать данный кадр и начать обработку следующих кадров данных до того, как блок шифрования закончит вычисление значения Qi; значения, хранящиеся в регистре Q, являются «запасом» значений, которые понадобятся для проверки имитовставок следующих А кадров данных);
иначе если кадр на входе компьютера, принимающего защищенные сообщения, не является служебным кадром и при этом G=0 или Р=0, то удаляют кадр (данное действие гарантирует, что кадры данных не будут приняты, если компьютер, принимающий защищенные сообщения, не готов проверить аутентичность кадров и правильно их расшифровать); иначе
B=E(IVdr+A || 032);
записывают В в конец регистра Q (при этом значения В не используются для обработки данного кадра данных, что позволяет обработать данный кадр и начать обработку следующих кадров данных до того, как блок шифрования закончит вычисление значения В; значения В являются значением, которое понадобятся в будущем, для проверки имитовставки кадра данных, следующего через А-1 кадров данных);
Реализовать предложенный способ с помощью устройства в виде специализированного компьютера, выполняющего данный способ, или в виде интегральной схемы, выполняющей данный способ в составе специализированного компьютера, или в виде блока, выполненного на базе программируемой логической интегральной схемы (ПЛИС), может специалист в области вычислительной техники и/или проектирования цифровых интегральных схем.
Необходимо отметить, что возможны и другие варианты реализации предложенного способа, отличающиеся от описанной выше и зависящие от экономических соображений, доступности электронных компонентов, требований к исполнению устройства с точки зрения устойчивости к внешним воздействиям и предпочтений разработчиков.
Claims (167)
1. Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных, содержащей
при этом размер кадров данных не может быть меньше определенного ненулевого значения L;
способ, заключающийся в том, что
Z0=max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
2. Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных, содержащей
и выполненный с возможностью
при этом размер кадров данных не может быть меньше определенного ненулевого значения L;
способ, заключающийся в том, что
Z0=max(s*Tm/L, Cmax/L),
где s - максимальная скорость передачи данных через сеть;
Z=Z0+1;
Тс≥Ts+Tm или С≥Cmax,
то отправляют служебный кадр, выполняя следующие действия:
IVsn=IVsr+Z;
где Е () - функция зашифрования,
причем нижний индекс означает разрядность двоичной записи значения;
R=GHASH XOR Ir,
где Ir - значение имитовставки, принятое вместе с кадром,
XOR - операция побитового исключающего "или";
IVsn=IVsr+Z;
где i=1…А;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018106405A RU2686005C1 (ru) | 2018-02-21 | 2018-02-21 | Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018106405A RU2686005C1 (ru) | 2018-02-21 | 2018-02-21 | Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2686005C1 true RU2686005C1 (ru) | 2019-04-23 |
Family
ID=66314707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018106405A RU2686005C1 (ru) | 2018-02-21 | 2018-02-21 | Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2686005C1 (ru) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2384000C2 (ru) * | 2005-01-11 | 2010-03-10 | Самсунг Электроникс Ко., Лтд. | Устройство и способ для шифрования/дешифрования сигнала в системе связи |
RU2433547C1 (ru) * | 2010-03-24 | 2011-11-10 | Федеральное государственное унитарное предприятие "Научно-технический центр "Атлас" (ФГУП "НТЦ "Атлас") | Способ, устройство и система абонентского шифрования речевой информации и ее передачи по сетям связи общего пользования |
US8983069B2 (en) * | 2013-03-14 | 2015-03-17 | Robert Bosch Gmbh | System and method for counter mode encrypted communication with reduced bandwidth |
RU2584504C2 (ru) * | 2011-09-19 | 2016-05-20 | Телеспацио С.П.А. | Управление синхронизированными симметричными ключами для защиты данных, которыми обмениваются узлы связи |
-
2018
- 2018-02-21 RU RU2018106405A patent/RU2686005C1/ru active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2384000C2 (ru) * | 2005-01-11 | 2010-03-10 | Самсунг Электроникс Ко., Лтд. | Устройство и способ для шифрования/дешифрования сигнала в системе связи |
RU2433547C1 (ru) * | 2010-03-24 | 2011-11-10 | Федеральное государственное унитарное предприятие "Научно-технический центр "Атлас" (ФГУП "НТЦ "Атлас") | Способ, устройство и система абонентского шифрования речевой информации и ее передачи по сетям связи общего пользования |
RU2584504C2 (ru) * | 2011-09-19 | 2016-05-20 | Телеспацио С.П.А. | Управление синхронизированными симметричными ключами для защиты данных, которыми обмениваются узлы связи |
US8983069B2 (en) * | 2013-03-14 | 2015-03-17 | Robert Bosch Gmbh | System and method for counter mode encrypted communication with reduced bandwidth |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与系统 | |
US9596075B2 (en) | Transparent serial encryption | |
US8989385B2 (en) | Data encryption method, data verification method and electronic apparatus | |
US5345507A (en) | Secure message authentication for binary additive stream cipher systems | |
CN108768927B (zh) | 保密通信方法和装置 | |
KR20090133109A (ko) | 데이터 블록의 암호화를 위한 방법 및 시스템 | |
CN112738051B (zh) | 数据信息加密方法、系统及计算机可读存储介质 | |
KR101608815B1 (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
KR20190024729A (ko) | 데이터 수신 장치, 데이터 전송 시스템, 및 키 생성 장치 | |
US20170264596A1 (en) | Systems and methods for securing electronic data with embedded security engines | |
TW201628379A (zh) | 封包傳送裝置、封包接收裝置、封包傳送程式產品以及封包接收程式產品 | |
CN117640256B (zh) | 一种无线网卡的数据加密方法、推荐装置和存储介质 | |
US7260222B2 (en) | Shared data refining device and shared data refining method | |
US11012230B2 (en) | Communication apparatus and cryptographic processing system | |
US10726161B2 (en) | Information processing device and malicious message detection method | |
US11720693B2 (en) | System and method for securely transferring data | |
CN108199836B (zh) | 一种密钥与设备绑定、解绑定的方法及装置 | |
CN101808100B (zh) | 一种解决信息安全设备远程升级重放性的方法和系统 | |
US10200356B2 (en) | Information processing system, information processing apparatus, information processing method, and recording medium | |
CN112600838A (zh) | 一种can总线数据的加密方法、装置、存储介质及电子设备 | |
RU2686005C1 (ru) | Способ обеспечения передачи зашифрованных данных в цифровой системе передачи данных (варианты) | |
RU2481715C1 (ru) | Способ блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом | |
CN112350920A (zh) | 基于区块链的即时通讯系统 | |
RU2718217C1 (ru) | Способ обеспечения передачи зашифрованных данных со сменой ключей шифрования и имитозащиты в цифровой системе передачи данных | |
US11909893B2 (en) | Composite encryption across cryptographic algorithms |