RU2785911C1 - System and method for protecting the transmitted data in nmea protocols (text communications protocol of navigation equipment) in vehicle control systems - Google Patents

System and method for protecting the transmitted data in nmea protocols (text communications protocol of navigation equipment) in vehicle control systems Download PDF

Info

Publication number
RU2785911C1
RU2785911C1 RU2021126764A RU2021126764A RU2785911C1 RU 2785911 C1 RU2785911 C1 RU 2785911C1 RU 2021126764 A RU2021126764 A RU 2021126764A RU 2021126764 A RU2021126764 A RU 2021126764A RU 2785911 C1 RU2785911 C1 RU 2785911C1
Authority
RU
Russia
Prior art keywords
data
vehicle
navigation equipment
initialization vector
encryption
Prior art date
Application number
RU2021126764A
Other languages
Russian (ru)
Inventor
Г. Савор Джонатан ЕРИК
Михаил Зельдович СОЛОМОН
Дмитрий Михайлович Михайлов
Original Assignee
Океаншилд Пте. Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Океаншилд Пте. Лтд. filed Critical Океаншилд Пте. Лтд.
Application granted granted Critical
Publication of RU2785911C1 publication Critical patent/RU2785911C1/en

Links

Images

Abstract

FIELD: communication.
SUBSTANCE: invention relates to the tools for protecting data in a vehicle control system according to the NMEA standard. The data in the navigation equipment of the vehicle (V) for sending to one or more control modules is determined, wherein the data includes a set of geographic coordinates of the navigation equipment. The data are encrypted using the AES128 block encryption algorithm in the ciphertext feedback mode (CFB mode). Based on the encrypted data, one or more messages are generated for transmission according to the NMEA standard without changing the structure and order of message fields. The encrypted data are transmitted according to the NMEA standard to one or more control modules to be decrypted by one or more control modules using the AES128 block encryption algorithm in the CFB mode.
EFFECT: higher degree of protection of the vehicle control system against unauthorised attacks.
20 cl, 9 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[001] Данное приложение касается метода защиты информационных полей протоколов Национальной Ассоциации Морской Электроники (NMEA), а также возможностей построения систем, которые используют этот метод. Эти протоколы NMEA используются в системах управления транспортными средствами.[001] This appendix concerns the National Marine Electronics Association (NMEA) protocol information field protection method, as well as the possibilities of building systems that use this method. These NMEA protocols are used in vehicle control systems.

[002] В последнее время резко увеличилось количество кибератак, включая атаки, связанные с транспортными средствами. Так как у существующих систем управления транспортными средствами нет средств защиты от информационных атак такого рода, злоумышленникам нетрудно осуществить желаемое. Используя специальные технические средства, злоумышленник может легко подменить информацию о текущих координатах транспортного средства, скорости, направлении движения, координатах соседних транспортных средств и т.д. Эта информация используется системой управления для последующего принятия решений в автоматическом или ручном режиме. Неправильно переданные данные могут привести к нежелательным последствиям, таким как:[002] Recently, the number of cyber attacks, including attacks related to vehicles, has increased dramatically. Since existing vehicle control systems do not have means of protection against information attacks of this kind, it is not difficult for attackers to achieve what they want. Using special technical means, an attacker can easily replace information about the current coordinates of a vehicle, speed, direction of movement, coordinates of neighboring vehicles, etc. This information is used by the control system for subsequent decision making in automatic or manual mode. Incorrectly transferred data can lead to undesirable consequences, such as:

- столкновение с другим транспортным средством;- collision with another vehicle;

- столкновение с гражданскими объектами;- collision with civilian objects;

- отказ отдельных подсистем или блоков;- failure of individual subsystems or units;

- человеческие жертвы;- human sacrifice;

- и прочим.- and others.

[003] Таким образом, очевидна настоятельная необходимость разработки метода обеспечения защиты от кибератак такого рода. В данном методе описывается один из вариантов для обеспечения такого вида защиты.[003] Thus, it is obvious that there is an urgent need to develop a method for providing protection against cyber attacks of this kind. This method describes one of the options for providing this type of protection.

[004] Главная цель описанного здесь метода состоит в том, чтобы предотвратить несанкционированные атаки (вызванные, но не ограничивающиеся подменой передаваемых данных) на систему управления транспортного средства. Внедрение описанного метода может быть представлено в виде отдельной системы или в качестве дополнения к имеющейся системе. Структура системы имеет различные варианты реализации с использованием программного обеспечения или аппаратных средств.[004] The main purpose of the method described here is to prevent unauthorized attacks (caused by, but not limited to the substitution of transmitted data) on the vehicle control system. The implementation of the described method can be presented as a separate system or as an addition to an existing system. The structure of the system has various implementation options using software or hardware.

[005] Описанная здесь технология определяет метод защиты данных, передаваемых через протоколы NMEA. Она обеспечивает защиту от несанкционированного вмешательства и подмены информации в полях данных данного Протокола. Также предусмотрен процесс идентификации устройств. Внедрение данной технологии служит добавлением для расширения протоколов NMEA.[005] The technology described here defines a method for protecting data transmitted over the NMEA protocols. It provides protection against unauthorized intervention and substitution of information in the data fields of this Protocol. A device identification process is also provided. The introduction of this technology serves as an addition to the extension of the NMEA protocols.

[006] Протоколы NMEA определяют правила для организации обмена данными между оборудованием транспортного средства (в основном, но без ограничения, морского и железнодорожного транспорта). Стандарт NMEA - разработан, чтобы обеспечить канал связи между навигационным оборудованием (приемник сигнала времени) и центром управления или устройством (устройствами) управления.[006] The NMEA protocols define the rules for organizing data exchange between vehicle equipment (mainly, but not limited to, maritime and rail transport). The NMEA standard is designed to provide a communication channel between navigation equipment (time signal receiver) and a control center or control device(s).

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[007] Фиг. 1 показывает типовую топологию соединяемых устройств в стандарте последовательной шины NMEA;[007] FIG. 1 shows a typical topology of connected devices in the NMEA serial bus standard;

[008] Фиг. 2 показывает структуру полей NMEA;[008] FIG. 2 shows the structure of the NMEA fields;

[009] Фиг. 3 показывает вариант атаки с применением технологии «незаконный посредник» на последовательную шину NMEA;[009] FIG. 3 shows a man-in-the-middle attack on the NMEA serial bus;

[0010] Фиг. 4 показывает формат сообщений NMEA (идентификатор CGA);[0010] FIG. 4 shows the NMEA message format (CGA identifier);

[0011] Фиг. 5 показывает формирование (подготовку) последовательности географических данных о координатах для шифрования;[0011] FIG. 5 shows the formation (preparation) of a sequence of geographic coordinate data for encryption;

[0012] Фиг. 6 показывает функциональную блок-схему внедрения алгоритма шифрования AES128 (режим CFB) в стандартный протокол NMEA;[0012] FIG. 6 shows a functional block diagram of the implementation of the AES128 encryption algorithm (CFB mode) into the standard NMEA protocol;

[0013] Фиг. 7 показывает распределение зашифрованного текста в пакете полей стандартного протокола NMEA;[0013] FIG. 7 shows the distribution of the ciphertext in the field packet of the standard NMEA protocol;

[0014] Фиг. 8 показывает функциональную схему внедрения алгоритма блочного шифрования AES128 (режим CFB) и способа дешифрования для стандарта NMEA;[0014] FIG. 8 shows a block diagram of an implementation of an AES128 block cipher algorithm (CFB mode) and a decryption method for the NMEA standard;

[0015] Фиг. 9 показывает обобщенную блок-схему системы, использующей описанный метод.[0015] FIG. 9 shows a generalized block diagram of a system using the described method.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0016] Данное изобретение касается метода защиты отдельных полей данных сообщения NMEA, содержащих, помимо прочего, информацию о географических координатах транспортного средства (но без ограничения). Эти данные - самый важный элемент информации, передаваемой через протокол NMEA.[0016] This invention relates to a method for protecting individual data fields of an NMEA message containing, among other things, information about the geographic coordinates of the vehicle (but without limitation). This data is the most important piece of information transmitted through the NMEA protocol.

[0017] Согласно стандарту NMEA, навигационные координаты транспортного средства могут передаваться только в двух типах сообщений: сообщениях передающего устройства и внутренних сообщениях.[0017] According to the NMEA standard, the navigation coordinates of the vehicle can be transmitted in only two types of messages: messages of the transmitting device and internal messages.

[0018] Стандарт NMEA определяет целый ряд (больше 50) вариантов сообщений для типов выходного сигнала. Каждый из них определяется в поле идентификатора сообщения (202), а именно, через параметр SSS (идентификатор сообщения). Формат сообщения для типа «выходного сигнала» показан на фиг. 2.[0018] The NMEA standard defines a range (over 50) of message options for output signal types. Each of these is defined in a message identifier field (202), namely via the SSS (message identifier) parameter. The message format for the "output" type is shown in FIG. 2.

[0019] Географические координаты транспортного средства для «сообщений передающего устройства» передаются вместе со следующими идентификаторами сообщений SSS (202):[0019] The geographic coordinates of the vehicle for "transmitter messages" are transmitted along with the following SSS message identifiers (202):

- [ВЕС] направление и расстояние до следующей точки маршрута;- [WEIGHT] direction and distance to the next waypoint;

- [BWR] направление и расстояние до следующей точки маршрута;- [BWR] direction and distance to the next waypoint;

- [GGA] фиксированные данные системы глобального позиционирования;- [GGA] fixed data of the global positioning system;

- [GLL] географическое положение;- [GLL] geographic location;

- [RMA] рекомендуемая минимальная навигационная информация;- [RMA] recommended minimum navigation information;

- [RMB] рекомендуемая минимальная навигационная информация;- [RMB] recommended minimum navigation information;

- [RMC] рекомендуемая минимальная навигационная информация;- [RMC] recommended minimum navigation information;

- [WPL] местонахождение следующей точки маршрута;- [WPL] location of the next waypoint;

- и другие.- other.

[0020] Географические координаты транспортного средства для некоторых установленных «внутренних сообщений» передаются вместе со следующими идентификаторами сообщения:[0020] The geographic coordinates of the vehicle for some established "internal messages" are transmitted along with the following message identifiers:

- $PGRMFPosition fix sentence (сообщение о фиксированном положении);- $PGRMFPosition fix sentence (fixed position message);

- $PGRMISensor Initialisation Information (информация об инициализации датчика);- $PGRMISensor Initialization Information (sensor initialization information);

- и других.- and others.

[0021] Навигационные координаты судна определяются двумя параметрами: широтой и долготой.[0021] The navigational coordinates of the vessel are determined by two parameters: latitude and longitude.

[0022] Значение широты для «сообщений передающего устройства» / «внутренних сообщений» находится в одном из полей пакета данных (204) на фиг. 2. Для каждого из идентификаторов сообщений SSS (202) определенное поле имеет установленное место в общей последовательности полей сообщения (согласно стандарту NMEA).[0022] The latitude value for "transmitter messages"/"internal messages" is in one of the fields of the data packet (204) in FIG. 2. For each of the SSS message identifiers (202), a specific field has a designated place in the overall message field sequence (according to the NMEA standard).

[0023] Значение широты имеет следующий формат представления - ВВВВ.ВВВВ, (ВВ - градусы; ВВ.ВВВВ - целые градусы и минуты; а - N/S север/юг).[0023] The latitude value has the following representation format - VVVV.VVVV, (BB - degrees; BB.VVVV - integer degrees and minutes; a - N/S north/south).

[0024] Значение долготы для «сообщений передающего устройства» / «внутренних сообщений» находится в одном из полей пакета данных (204) фиг. 2. Для каждого из идентификаторов сообщений SSS (202) определенное поле имеет установленное место в общей последовательности полей сообщения (согласно стандарту NMEA).[0024] The longitude value for "transmitter messages"/"internal messages" is in one of the fields of the data packet (204) of FIG. 2. For each of the SSS message identifiers (202), a specific field has a designated place in the overall message field sequence (according to the NMEA standard).

[0025] Значение долготы имеет следующий формат представления - LLLLL.LLLL (LLL - градусы; LL.LLLL - целые градусы и минуты; а - E/W восток/запад).[0025] The longitude value has the following representation format - LLLLL.LLLL (LLL - degrees; LL.LLLL - integer degrees and minutes; a - E/W east/west).

[0026] Фиг. 4 показывает описание сообщения с идентификатором типа GGA (фиксированные данные системы глобального позиционирования). В нем пакеты данных, представляемые полем 204, имеют следующие цели: время наблюдения поля (204.1); широта (204.2+204.3); долгота (204.4+204.5); индикатор качества наблюдения (204.6); количество используемых спутников может отличаться от их количества в поле зрения (204.7); величина горизонтального геометрического фактора (отношения изменения навигационной координаты к изменению расстояния) (204.8); высота над средним уровнем моря (204.9); единица высоты - метры (204.10); превышение геоида над эллипсоидом WGS-84 (204.11); единица измерения - метры (204.12); время дифференциальной корректировки (204.13); идентификатор дифференцирующей станции (204.14);[0026] FIG. 4 shows a description of a message with type identifier GGA (Global Positioning System Fixed Data). Therein, the data packets represented by field 204 have the following purposes: field observation time (204.1); latitude (204.2+204.3); longitude (204.4+204.5); observation quality indicator (204.6); the number of satellites used may differ from their number in the field of view (204.7); the value of the horizontal geometric factor (ratio of change in navigational coordinate to change in distance) (204.8); altitude above mean sea level (204.9); the unit of height is meters (204.10); excess of geoid over ellipsoid WGS-84 (204.11); the unit of measure is meters (204.12); differential adjustment time (204.13); differentiating station identifier (204.14);

[0027] Защищаемая информация состоит из двух компонентов: ВВВВ.ВВВВ, а+LLLLL.LLLL, а (широта + долгота).[0027] The information to be protected consists of two components: BBBB.BBBB, a+LLLLL.LLLL, a (latitude + longitude).

[0028] В качестве одного из способов защиты этих данных предлагается использовать алгоритм блочного шифрования AES с длиной ключа шифрования 128 (AES128). Однако для использования этого метода необходимо соблюдение следующих условий - длина каждого блока должна быть равна длине ключа шифрования (ключа), а именно 128 битам.[0028] As one of the ways to protect this data, it is proposed to use the AES block cipher algorithm with an encryption key length of 128 (AES128). However, to use this method, the following conditions must be met - the length of each block must be equal to the length of the encryption key (key), namely 128 bits.

[0029] Фиг. 5 показывает способ формирования получаемых последовательностей данных (211), используемый для шифрования. Пакеты данных 204.2, 204.3, 204.4, 204.5 содержат начальную информацию для составления такой последовательности данных. Общая длина последовательности (211) составляет 76 битов.[0029] FIG. 5 shows the method for generating received data sequences (211) used for encryption. Data packets 204.2, 204.3, 204.4, 204.5 contain initial information for compiling such a data sequence. The total length of the sequence (211) is 76 bits.

[0030] Есть несколько способов решить проблему иной длины ключа шифрования (128 битов) и блока сообщения (76 битов) при использовании алгоритма блочного шифрования. В предлагаемом методе рассматривается вариант использования AES128 в режиме CFB (режиме обратной связи от шифртекста).[0030] There are several ways to solve the problem of a different length of the encryption key (128 bits) and message block (76 bits) when using the block cipher algorithm. The proposed method considers the use of AES128 in CFB mode (ciphertext feedback mode).

[0031] Чтобы использовать алгоритм шифрования AES128, все устройства должны иметь одинаковый ключ шифрования. Поэтому эта информация должна быть передана устройствам перед тем, как они начнут работать. Способы и каналы передачи ключа шифрования могут отличаться и определяются организационно.[0031] To use the AES128 encryption algorithm, all devices must have the same encryption key. Therefore, this information must be transmitted to devices before they start working. The methods and channels for transmitting the encryption key may differ and are determined by the organization.

[0032] В режиме CFB необходимо дополнительно использовать параметр Initialization Vector/ вектор инициализации (IV). Этот параметр, как и зашифрованный ключ, должны быть идентичны на всех устройствах.[0032] In CFB mode, you must additionally use the Initialization Vector parameter/initialization vector (IV). This parameter, like the encrypted key, must be identical on all devices.

[0033] В предлагаемом методе параметр IV используется в качестве фактора идентификации устройства. Один и тот же IV может использоваться как на постоянной основе, так и на каждом новом сеансе связи. Способы могут отличаться и определяются организационно.[0033] In the proposed method, the IV parameter is used as a device identification factor. The same IV can be used both on a permanent basis and on each new communication session. Methods may differ and are determined by the organization.

На основе описанных выше мер Протокол NMEA обеспечивает следующее:Based on the measures described above, the NMEA protocol provides the following:

- защиту (шифрование) полей данных; и- protection (encryption) of data fields; and

- идентификацию устройств в рамках Протокола NMEA.- Identification of devices within the NMEA Protocol.

[0034] Фиг. 1 показывает типичную топологию соединяющихся друг с другом устройств по стандарту NMEA. Навигационный прибор (101), приемник сигнала точного времени может быть любым устройством, поддерживающим стандарт NMEA с точки зрения передачи сообщений, а также способный работать в одной или нескольких системах спутниковой навигации (GPS, ГЛОНАСС, DORIS, BeiDou, Галилео и т.д.). Модули управления (102, 103, 104), получающие информацию от устройства приемника сигналов точного времени, могут быть любым устройством или системой, например: навигационным оборудованием, спутниковыми антеннами, лазерными локаторами (лидарами), радарами, радарными станциями, автоматизированными системами движения судов и т.д.). Специалист в этой технологической области должен понимать, что в качестве модулей могут использоваться различные устройства или центры. Количество таких устройств определяется топологией системы и техническими характеристиками интерфейса связи. Переключение всех устройств, участвующих в обмене данными согласно стандарту NMEA осуществляется через коммуникационные линии (111, 112, 113, 114).[0034] FIG. 1 shows a typical topology of NMEA devices connecting to each other. Navigation device (101), time signal receiver can be any device that supports the NMEA standard in terms of messaging, and is also capable of operating in one or more satellite navigation systems (GPS, GLONASS, DORIS, BeiDou, Galileo, etc.). ). The control modules (102, 103, 104) receiving information from the time signal receiver device can be any device or system, for example: navigation equipment, satellite dishes, laser radars (lidars), radars, radar stations, automated ship traffic systems and etc.). A person skilled in the art will understand that different devices or centers can be used as modules. The number of such devices is determined by the system topology and the technical characteristics of the communication interface. Switching of all devices participating in data exchange according to the NMEA standard is carried out through communication lines (111, 112, 113, 114).

[0035] В качестве интерфейса связи используется асинхронный последовательный интерфейс RS-422/485 или интерфейс CAN для объединения устройства для приема сигнала времени или навигационного прибора (101) и модулей управления (102, 103, 104).[0035] As a communication interface, an asynchronous serial interface RS-422/485 or a CAN interface is used to combine a device for receiving a time signal or a navigation device (101) and control modules (102, 103, 104).

[0036] Протоколы NMEA описывают формат переданных сообщений, а также скорость обмена. Эти параметры имеют различные значения для различных стандартов (NMEA-0183, NMEA-2000), записанные непосредственно в самих стандартах.[0036] NMEA protocols describe the format of the transmitted messages, as well as the exchange rate. These parameters have different values for different standards (NMEA-0183, NMEA-2000) written directly in the standards themselves.

[0037] Стандарт NMEA - это текстовый Протокол (в формате ASCII). Сообщение может быть трех типов:[0037] The NMEA standard is a text Protocol (in ASCII format). The message can be of three types:

- Сообщения передающего устройства;- Messages of the transmitting device;

- Сообщения - запросы;- Messages - requests;

- Внутренние сообщения.- Internal messages.

[0038] Фиг. 2 показывает обобщенную структуру полей выходных сигналов. Сообщения начинаются с символа «$» (201) и заканчиваются символом «*» (205). Сообщение идентифицируется заголовком (202), где tt - ID навигационной системы; sss - идентификатор сообщения. Далее, в зависимости от идентификатора сообщения, передается пакет данных (204), число которого зависит от типа сообщения. Все поля данных разделяются символом «,» (203). Сообщение «hh» (206) - это результат 8-битовой операциями XOR-суммы всех знаков (включая «,») в последовательности между «$» и «*», сокращенное до двух знаков верхнего регистра ASCII для 16-битного представления байта (0-9, A-F). «CR» (207) - возврат каретки и «LR» (208) поля переноса каретки служат обозначением окончания передачи сообщения.[0038] FIG. 2 shows the generalized structure of the fields of the output signals. Messages start with the symbol "$" (201) and end with the symbol "*" (205). The message is identified by a header (202), where tt is the navigation system ID; sss - message identifier. Next, depending on the message identifier, a data packet (204) is transmitted, the number of which depends on the message type. All data fields are separated by the symbol "," (203). The "hh" (206) message is the result of the 8-bit XOR sum of all characters (including ",") in the sequence between "$" and "*", shortened to two uppercase ASCII characters for a 16-bit byte representation ( 0-9, A-F). "CR" (207) - carriage return and "LR" (208) carriage return fields serve as indication of the end of the message transmission.

[0039] В современных транспортных средствах, особенно в морском и железнодорожном транспорте стандарт последовательной передачи данных NMEA широко используется для передачи данных управления и контроля за судном (включая географические координаты). Эти последовательные сети часто «связываются» в нескольких точках с высокоуровневыми сетями контроля за судном, включая GPS, спутниковый терминал, ECDIS и т.д.[0039] In modern vehicles, especially in maritime and rail transport, the NMEA serial data standard is widely used for transmitting ship management and control data (including geographic coordinates). These serial networks are often "linked" at several points to higher level ship control networks, including GPS, satellite terminal, ECDIS, etc.

[0040] Эти последовательные сети (на основе NMEA) используются не только для передачи географических координат, но и для контроля работы отдельных компонентов, таких как механизм рулевого управления, двигатели, балластные насосы и т.д.[0040] These serial networks (based on NMEA) are used not only to transmit geographic coordinates, but also to control the operation of individual components such as steering mechanism, engines, ballast pumps, etc.

[0041] В частности, вследствие того, что первые версии стандарта NMEA были опубликованы в 90-е годы XX века, этот стандарт не способен в полной мере гарантировать безопасность передаваемых данных.[0041] In particular, due to the fact that the first versions of the NMEA standard were published in the 90s of the XX century, this standard is not able to fully guarantee the security of transmitted data.

[0042] Тем не менее, последующие версии данного стандарта (включая новое поколение стандарта NMEA-2000) так и не решили указанные выше проблемы. Главные недостатки стандарта NMEA заключаются в отсутствии идентификации, шифрования или проверки всех сообщений. Все данные передаются в текстовом формате как символы ASCII. Это позволяет злоумышленнику беспрепятственно изменять данные при подключении к последовательной сети (например, при атаке с применением технологии «незаконный посредник»). Например, использование GPS-спуфинга (имитации соединения) приводит к «внедрению» незаметных ошибок, которые медленно, но верно отклоняют судно или другое транспортное средство от курса. Неправильная информация о положении транспортного средства может привести к таким последствиям, как:[0042] However, subsequent versions of this standard (including the new generation of the NMEA-2000 standard) have not solved the above problems. The main disadvantages of the NMEA standard are the lack of identification, encryption or verification of all messages. All data is transmitted in text format as ASCII characters. This allows an attacker to freely modify data while connected to a serial network (for example, in a man-in-the-middle attack). For example, the use of GPS spoofing (connection imitation) leads to the "injection" of subtle errors that slowly but surely deviate the ship or other vehicle from the course. Incorrect information about the position of the vehicle can lead to such consequences as:

♦ Авария транспортного средства;♦ Vehicle accident;

♦ Столкновение с другими транспортными средствами;♦ Collision with other vehicles;

• Повреждение инфраструктуры;• Damage to infrastructure;

• Человеческие жертвы.• Human sacrifice.

[0043] При атаке злоумышленники изменяют информацию о положении и скорости транспортного средства (не ограничиваясь подменой этих данных), то есть тех данных, которые получает и передает система управления, например диспетчер порта, чтобы избежать столкновения с другими судами. Атака на сигнал GPS или соединение с системой управления может вызвать навигационные проблемы вплоть до столкновения транспортных средств, что всегда приводит к серьезному ущербу, а иногда и к человеческим жертвам.[0043] In an attack, attackers modify (but not limited to spoofing) information about the position and speed of the vehicle, that is, the data that a control system, such as a port dispatcher, receives and transmits, in order to avoid collision with other ships. An attack on a GPS signal or connection to a control system can cause navigational problems up to a vehicle collision, which always results in serious damage and sometimes loss of life.

[0044] Причиной таких атак является уязвимость программного обеспечения стандарта NMEA. Комплекс мер, позволяющих защитить транспортное средство, сообщить об атаке и устранить ее, связан с информационной безопасностью транспортных средств (прежде всего, помимо прочего, с современными судами и железнодорожным транспортом).[0044] The reason for such attacks is a vulnerability in the NMEA standard software. The set of measures that allow protecting a vehicle, reporting an attack and eliminating it, is related to the information security of vehicles (primarily, among other things, with modern ships and rail transport).

[0045] Фиг. 3 показывает одну возможную атаку (с применением технологии «незаконный посредник») на последовательную шину данных NMEA. Мы рассматриваем случай, когда злоумышленник подключился к Вашему устройству (121). Таким образом, он может, по своему усмотрению, изменить поля данных стандарта NMEA в сообщениях, посылаемых навигационным прибором (101), оставаясь при этом незамеченным для других модулей (102, 103, 104).[0045] FIG. Figure 3 shows one possible attack (using man-in-the-middle technology) on the NMEA serial data bus. We are looking at the case where an attacker has connected to your device (121). Thus, he can, at his own discretion, change the NMEA data fields in the messages sent by the navigation device (101), while remaining unnoticed by other modules (102, 103, 104).

[0046] Есть несколько способов защиты от показанных вариантов нападений: защита на уровне программного обеспечения и/или защита на уровне аппаратных средств.[0046] There are several ways to protect against the attacks shown: protection at the software level and/or protection at the hardware level.

[0047] Метод, представленный в данном изобретении, обеспечивает защиту полей данных стандарта NMEA на основе шифрования/дешифрования без изменения структуры и последовательности полей.[0047] The method presented in this invention provides protection of NMEA data fields based on encryption/decryption without changing the structure and sequence of fields.

Подробное описание предпочтительного варианта изобретенияDetailed Description of the Preferred Embodiment of the Invention

[0048] Фиг. 6 показывает функциональную схему алгоритма блочного шифрования AES128 (режим CFB). Длина шифртекста составляет 76 битов. Ключ шифрования (301) 128 битов длиной, как и вектор инициализации (Initialization Vector) (302). В начале алгоритма вектор инициализации (302) зашифровывается с помощью алгоритма блочного шифрования AES128. Шифрование происходит в блоке шифрования (Block cipher encryption) (303) с использованием ключа шифрования (301). В результате шифрования получается последовательность в 128 битов (304). Затем из полученной последовательности извлекаются первые 76 битов информации, и проводится дополнительная операция модуль два XOR (305). Входные данные после добавления операции модуль два к ранее полученной последовательности вносятся в необходимое подготовленное поле (211). В результате операции (305) получается зашифрованный текст (304) длиной 76 битов.[0048] FIG. 6 shows a block diagram of the AES128 block cipher (CFB mode). The length of the ciphertext is 76 bits. The encryption key (301) is 128 bits long, as is the Initialization Vector (302). At the beginning of the algorithm, the initialization vector (302) is encrypted using the AES128 block cipher. The encryption takes place in a Block cipher encryption (303) using an encryption key (301). The result of encryption is a sequence of 128 bits (304). Then, the first 76 bits of information are extracted from the received sequence, and an additional operation modulo two XOR (305) is performed. The input data after adding the operation module two to the previously obtained sequence is entered into the required prepared field (211). As a result of operation (305), the ciphertext (304) is 76 bits long.

[0049] После получения зашифрованного текста генерируется пакет сообщений NMEA.[0049] Upon receipt of the ciphertext, an NMEA message packet is generated.

[0050] Фиг. 7 показывает распределение шифртекста в полях пакета сообщений стандартного протокола NMEA (например, CGA). Полученный в результате зашифрованный текст (304) имеет длину 76 битов, что соответствует количеству символов ASCII (19 по 4 бита на символ). На фиг. 7 каждые 4 бита информации пронумерованы от А1 до А19. Как было ранее показано на фиг. 5, биты, пронумерованные от А1 до А19 в строгом соответствии инкапсулируются в пакет сообщений стандартного NMEA.[0050] FIG. 7 shows the distribution of ciphertext in the fields of a standard NMEA protocol message packet (eg CGA). The resulting ciphertext (304) is 76 bits long, which corresponds to the number of ASCII characters (19 at 4 bits per character). In FIG. 7, every 4 bits of information are numbered from A1 to A19. As previously shown in FIG. 5, the bits numbered A1 through A19 are strictly encapsulated in a standard NMEA message packet.

[0051] Сгенерированный окончательный пакет отправляется по каналу связи к доступным приемникам. После получения этого пакета приемником выполняется обратный процесс декапсуляции и дешифрования.[0051] The generated final packet is sent over the communication channel to available receivers. Upon receipt of this packet by the receiver, the reverse process of decapsulation and decryption is performed.

[0052] Фиг. 8 показывает функциональную блочную диаграмму алгоритма AES-128 (режим CFB), используемого для дешифрования сообщения длиной 76 битов. Ключ шифрования (301) имеет длину 128 битов, как и вектор инициализации (302). В начале алгоритма вектор инициализации (302) зашифровывается с помощью алгоритма AES128. Шифрование происходит в блоке шифрования (303) с использованием ключа шифрования (301). В результате шифрования получается последовательность длиной 128 битов (304). Затем из полученной последовательности извлекаются первые 76 битов информации, и проводится дополнительная операция - выполняется модуль 2 XOR (305). Входные данные после проведения операции модуля 2 в дополнение к ранее полученной последовательности становятся полученным зашифрованным текстом (304). Результатом операции (211) являются навигационные координаты, которые могут далее использоваться приемником до места назначения.[0052] FIG. 8 shows a functional block diagram of the AES-128 algorithm (CFB mode) used to decrypt a 76 bit message. The encryption key (301) is 128 bits long, as is the initialization vector (302). At the beginning of the algorithm, the initialization vector (302) is encrypted using the AES128 algorithm. The encryption takes place in the encryption block (303) using the encryption key (301). The result of encryption is a sequence of 128 bits (304). Then, the first 76 bits of information are extracted from the received sequence, and an additional operation is performed - module 2 XOR (305) is performed. The input data after the operation of module 2 in addition to the previously received sequence becomes the received ciphertext (304). The result of operation (211) is the navigation coordinates, which can then be used by the receiver to the destination.

[0053] Фиг. 9 показывает обобщенную блок-схему системы, реализующей указанный метод защиты данных, передаваемых в стандарте NMEA. Для реализации описанных выше алгоритмов блоки шифрования/дешифрования (401, 402) встраиваются в приемник сигналов времени или навигационный прибор (101), а также в устройство управления (102). Эти модули позволяют реализовать алгоритм блочного шифрования AES-128 (режим CFB).[0053] FIG. 9 shows a generalized block diagram of a system that implements the specified method of protecting data transmitted in the NMEA standard. To implement the algorithms described above, the encryption/decryption units (401, 402) are built into the time signal receiver or navigation device (101), as well as into the control device (102). These modules allow you to implement the AES-128 block cipher algorithm (CFB mode).

Claims (31)

1. Система для защиты данных, передаваемых в системе управления транспортными средствами по стандарту NMEA, включающая:1. A system for protecting data transmitted in a vehicle control system according to the NMEA standard, including: навигационное оборудование транспортного средства (ТС) и один или более модулей управления, связанные средствами связи с навигационным оборудованием ТС по стандарту NMEA; иnavigation equipment of the vehicle (V) and one or more control modules connected by means of communication with the navigation equipment of the vehicle according to the NMEA standard; and блок шифрования/дешифрования, встроенный в навигационное оборудование ТС, блок шифрования/дешифрования, встроенный в каждый один или более модулей управления, причем шифрование/дешифрование данных, передаваемых между навигационным оборудованием ТС и одним или более модулями управления, осуществляют с помощью алгоритма блочного шифрования AES128 в режиме обратной связи от шифртекста (Cipher Feedback Mode, режим CFB), и на основе зашифрованных данных генерируют одно или более сообщений для передачи по стандарту NMEA без изменения структуры и последовательности полей сообщения.an encryption/decryption unit built into the navigation equipment of the vehicle, an encryption/decryption unit built into each one or more control modules, wherein the encryption/decryption of data transmitted between the navigation equipment of the vehicle and one or more control modules is carried out using the AES128 block cipher algorithm in the feedback mode from the ciphertext (Cipher Feedback Mode, CFB mode), and based on the encrypted data, one or more messages are generated for transmission according to the NMEA standard without changing the structure and sequence of the message fields. 2. Система по п. 1, в которой данные включают набор географических координат навигационного оборудования ТС для отправки в один или более модулей управления, 2. The system according to claim 1, in which the data includes a set of geographical coordinates of the navigation equipment of the vehicle to be sent to one or more control modules, блок шифрования/дешифрования в навигационном оборудовании ТС содержит инструкции для шифрования набора географических координат с применением алгоритма блочного шифрования AES128 в режиме CFB, и the encryption/decryption block in the navigation equipment of the vehicle contains instructions for encrypting a set of geographic coordinates using the AES128 block cipher algorithm in CFB mode, and блок шифрования/дешифрования в каждом одном или более модулях управления включает инструкции по шифрованию набора географических координат, полученных от навигационного оборудования ТС для определения его местоположения; иthe encryption/decryption unit in each one or more control modules includes instructions for encrypting a set of geographic coordinates received from the navigation equipment of the vehicle to determine its location; and система применяется к географическим координатам и всему потоку данных протокола NMEA.the system applies to geographic coordinates and the entire NMEA protocol data stream. 3. Система по п. 2, в которой набор географических координат навигационного оборудования ТС отправляется с одним из следующих идентификаторов сообщения: направление и расстояние до следующей точки маршрута (BEC), направление и расстояние до следующей точки маршрута (BWR), фиксированные данные в системе глобального позиционирования (GGA), географическое положение (GLL), рекомендуемая минимальная навигационная информация (RMA), рекомендуемая минимальная навигационная информация (RMB), рекомендуемая минимальная навигационная информация (RMC), местонахождение следующей точки маршрута (WPL), сообщение о фиксированном положении $PGRMFPosition и информацию об инициализации датчика $PGRMISensor.3. The system according to claim 2, in which a set of geographical coordinates of the navigation equipment of the vehicle is sent with one of the following message identifiers: direction and distance to the next waypoint (BEC), direction and distance to the next waypoint (BWR), fixed data in the system global positioning (GGA), geographic position (GLL), recommended minimum navigation information (RMA), recommended minimum navigation information (RMB), recommended minimum navigation information (RMC), next waypoint location (WPL), fixed position message $PGRMFPosition and information about $PGRMISensor sensor initialization. 4. Система по п. 2, в которой набор географических координат навигационного оборудования ТС включает параметр широты и параметр долготы,4. The system according to claim 2, in which the set of geographical coordinates of the navigation equipment of the vehicle includes a latitude parameter and a longitude parameter, в которой широта и параметры долготы приводятся в следующем формате, соответственно: BBBB.BBBB, а (BB — градусы; BB.BBBB — целые градусы и минуты; а — Север/Юг) и LLLLL. LLLL, а (LLL — градусы; LL.LLLL — целые градусы и минуты; а — Восток/Запад).in which latitude and longitude parameters are given in the following format, respectively: BBBB.BBBB, a (BB is degrees; BB.BBBB is whole degrees and minutes; a is North/South) and LLLLL. LLLL, a (LLL is degrees; LL.LLLL is whole degrees and minutes; a is East/West). 5. Система по п. 2, в которой блок шифрования/дешифрования в навигационном оборудовании ТС также включает инструкции по шифрованию первого вектора инициализации с использованием первого ключа шифрования и определению шифртекста для отправки в модуль управления, при этом шифртекст основан на зашифрованном первом векторе инициализации и наборе географических координат навигационного оборудования ТС.5. The system of claim 2, wherein the encryption/decryption unit in the navigation equipment of the vehicle also includes instructions for encrypting the first initialization vector using the first encryption key and determining the ciphertext to be sent to the control module, wherein the ciphertext is based on the encrypted first initialization vector and a set of geographical coordinates of the navigation equipment of the vehicle. 6. Система по п. 5, в которой блок шифрования/дешифрования в каждом одном или более модулях управления также содержит инструкции по получению зашифрованного текста, шифрованию второго вектора инициализации с использованием второго ключа шифрования и определения местонахождения навигационного оборудования ТС на основе зашифрованного второго вектора инициализации и шифртекста.6. The system of claim 5, wherein the encryption/decryption unit in each one or more control modules also contains instructions for obtaining the ciphertext, encrypting the second initialization vector using the second encryption key, and locating the vehicle navigation equipment based on the encrypted second initialization vector and ciphertext. 7. Система по п. 6, в которой первый вектор инициализации и второй вектор инициализации одинаковы.7. The system of claim 6, wherein the first initialization vector and the second initialization vector are the same. 8. Система по п. 7, в которой первый вектор инициализации и второй вектор инициализации вводятся пользователем в ручном или автоматическом режиме.8. The system of claim. 7, in which the first initialization vector and the second initialization vector are entered by the user in manual or automatic mode. 9. Система по п. 6, в которой первый ключ шифрования и второй ключ шифрования одинаковы; и в которой первый ключ шифрования и второй ключ шифрования могут быть введены в ручном или автоматическом режиме.9. The system of claim. 6, in which the first encryption key and the second encryption key are the same; and in which the first encryption key and the second encryption key can be entered manually or automatically. 10. Способ защиты данных в системе управления транспортным средством по стандарту NMEA, включающий:10. A method for protecting data in a vehicle control system according to the NMEA standard, including: определение данных в навигационном оборудовании транспортного средства (ТС) для отправки одному или более модулям управления, при этом данные включают набор географических координат навигационного оборудования;determining data in the navigation equipment of the vehicle (TC) to send to one or more control modules, wherein the data includes a set of geographic coordinates of the navigation equipment; шифрование данных с использованием алгоритма блочного шифрования AES128 в режиме обратной связи от шифртекста (режим CFB);data encryption using the AES128 block cipher algorithm in ciphertext feedback mode (CFB mode); генерирование на основе зашифрованных данных одного или более сообщений для передачи по стандарту NMEA без изменения структуры и последовательности полей сообщения; и generating, based on the encrypted data, one or more messages for transmission according to the NMEA standard without changing the structure and sequence of the message fields; and отправку зашифрованных данных согласно стандарту NMEA к одному или более модулям управления для дешифрования одним или более модулями управления с использованием алгоритма блочного шифрования AES128 в режиме CFB; иsending encrypted data according to the NMEA standard to one or more control modules for decryption by one or more control modules using the AES128 block cipher algorithm in CFB mode; and при этом метод относится к географическим координатам и всему потоку данных протокола NMEA.the method applies to geographic coordinates and the entire NMEA protocol data stream. 11. Способ по п. 10, в котором определение данных включает определение набора географических координат навигационного оборудования ТС, и в котором набор географических координат включает параметр широты и параметр долготы в следующем формате, соответственно: BBBB.BBBB, а (BB — градусы; BB.BBBB — целые градусы и минуты; а — Север/Юг) и LLLLL.LLLL, а (LLL — градусы; LL.LLLL — целые градусы и минуты; а — Восток/Запад).11. The method according to claim 10, in which the definition of data includes the definition of a set of geographical coordinates of the navigation equipment of the vehicle, and in which the set of geographical coordinates includes a latitude parameter and a longitude parameter in the following format, respectively: BBBB.BBBB, and (BB - degrees; BB .BBBB is whole degrees and minutes; a is North/South) and LLLLL.LLLL, a (LLL is degrees; LL.LLLL is whole degrees and minutes; a is East/West). 12. Способ по п. 11, в котором отправка зашифрованных информационных данных включает отправку набора географических координат с одним из следующих идентификаторов сообщения: направление и расстояние до следующей точки маршрута (BEC), направление и расстояние до следующей точки маршрута (BWR), фиксированные данные в системе глобального позиционирования (GGA), географическое положение (GLL), рекомендуемая минимальная навигационная информация (RMA), рекомендуемая минимальная навигационная информация (RMB), рекомендуемая минимальная навигационная информация (RMC), местонахождение следующей точки маршрута (WPL), сообщение о фиксированном положении $PGRMFPosition и информацию об инициализации датчика $PGRMISensor.12. The method of claim 11, wherein sending the encrypted information data includes sending a set of geographic coordinates with one of the following message identifiers: direction and distance to the next waypoint (BEC), direction and distance to the next waypoint (BWR), fixed data in Global Positioning System (GGA), Geographical Position (GLL), Recommended Minimum Navigation Information (RMA), Recommended Minimum Navigation Information (RMB), Recommended Minimum Navigation Information (RMC), Next Waypoint Location (WPL), Fixed Position Message $PGRMFPosition and initialization information for the $PGRMISensor sensor. 13. Способ по п. 10, в котором шифрование данных включает шифрование первого вектора инициализации с использованием первого ключа шифрования и определение шифртекста на основе зашифрованного первого вектора инициализации и данных для отправки в один или несколько модулей управления, и в котором отправка зашифрованных данных включает отправку определенного шифртекста в один или несколько модулей управления для дешифрования.13. The method of claim. 10, in which data encryption includes encrypting the first initialization vector using the first encryption key and determining the ciphertext based on the encrypted first initialization vector and data to send to one or more control modules, and in which sending the encrypted data includes sending a specific ciphertext to one or more control modules for decryption. 14. Способ по п. 13, который дополнительно включает получение шифртекста одним или более модулями управления, шифрование второго вектора инициализации с использованием второго ключа шифрования и определение данных от навигационного оборудования ТС на основе зашифрованного второго вектора инициализации и шифртекста.14. The method of claim 13, further comprising receiving the ciphertext by the one or more control modules, encrypting the second initialization vector using the second encryption key, and determining data from the vehicle navigation equipment based on the encrypted second initialization vector and the ciphertext. 15. Способ по п. 14, в котором первый вектор инициализации и второй вектор инициализации одинаковые.15. The method of claim 14, wherein the first initialization vector and the second initialization vector are the same. 16. Способ по п. 15, в котором первый вектор инициализации и второй вектор инициализации вводятся пользователем в ручном или автоматическом режиме.16. The method of claim 15, wherein the first initialization vector and the second initialization vector are entered manually or automatically by the user. 17. Способ по п. 14, в котором первый ключ шифрования и второй ключ шифрования одинаковые; и где первый ключ шифрования и второй ключ шифрования могут вводиться в ручном и автоматическом режиме.17. The method according to p. 14, in which the first encryption key and the second encryption key are the same; and where the first encryption key and the second encryption key can be entered manually and automatically. 18. Способ по п. 13, в котором определение шифртекста включает выполнение XOR-суммы между предопределенным количеством битов зашифрованного первого вектора инициализации и данными для отправки в один или более модулей управления.18. The method of claim 13, wherein determining the ciphertext includes performing an XOR sum between a predetermined number of bits of the encrypted first initialization vector and data to be sent to one or more control modules. 19. Способ по п. 14, в котором определение данных включает выполнение XOR-суммы между предопределенным количеством битов зашифрованного второго вектора инициализации и шифртекстом.19. The method of claim 14, wherein determining the data includes performing an XOR between a predetermined number of bits of the encrypted second initialization vector and the ciphertext. 20. Способ по п. 14, в котором навигационное оборудование и один или более модулей управления каждый включает блок шифрования/дешифрования, включая инструкции по выполнению алгоритма блочного шифрования AES128 в режиме CFB.20. The method of claim 14, wherein the navigation equipment and one or more control modules each include an encryption/decryption unit, including instructions for executing the AES128 block cipher algorithm in CFB mode.
RU2021126764A 2019-02-12 2020-02-07 System and method for protecting the transmitted data in nmea protocols (text communications protocol of navigation equipment) in vehicle control systems RU2785911C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SG10201901191Y 2019-02-12

Publications (1)

Publication Number Publication Date
RU2785911C1 true RU2785911C1 (en) 2022-12-14

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2096787A2 (en) * 2008-02-27 2009-09-02 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
US20160116563A1 (en) * 2012-07-31 2016-04-28 Adaptive Methods, Inc. Gps assisted torpedo recovery system
RU2605923C2 (en) * 2011-04-08 2016-12-27 Юнитенд Текнолоджис Инк. Secure transmission method and apparatus for transport stream
US20180294953A1 (en) * 2017-04-07 2018-10-11 Bayerische Motoren Werke Aktiengesellschaft Encryption Method and System for Coordinates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2096787A2 (en) * 2008-02-27 2009-09-02 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
RU2605923C2 (en) * 2011-04-08 2016-12-27 Юнитенд Текнолоджис Инк. Secure transmission method and apparatus for transport stream
US20160116563A1 (en) * 2012-07-31 2016-04-28 Adaptive Methods, Inc. Gps assisted torpedo recovery system
US20180294953A1 (en) * 2017-04-07 2018-10-11 Bayerische Motoren Werke Aktiengesellschaft Encryption Method and System for Coordinates

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The NMEA 0183 Protocol, [найдено 01.03.2022] в Интернете URL https://tronico.fi/OH6NT/docs/NMEA0183.pdf, 2001 г., 28 с., глава 5. *

Similar Documents

Publication Publication Date Title
Kessler Protected AIS: A demonstration of capability scheme to provide authentication and message integrity
US9178894B2 (en) Secure routing based on the physical locations of routers
US9201131B2 (en) Secure routing based on degree of trust
US7921283B2 (en) Method for real-time data authentication
Baek et al. How to protect ADS-B: Confidentiality framework and efficient realization based on staged identity-based encryption
CN108008420A (en) Beidou navigation text authentication method based on Big Dipper short message
JP6538644B2 (en) Secure routing based on physical location of router
EP2810419B1 (en) Secure routing based on degree of trust
CN107950001B (en) Server and method for sending geographic encryption message
CN101299661B (en) Space-time combined ciphering communication method based on GNSS
CN102215077B (en) Automatic dependence surveillance-broadcast (ADS-B) accurate target location encryption method
CN101466144A (en) Three-dimensional space-time combined encrypt communication apparatus based on GNSS and communication method thereof
Sciancalepore et al. Auth-AIS: secure, flexible, and backward-compatible authentication of vessels AIS broadcasts
CN114339632A (en) SM4 packet encryption algorithm-based Beidou short message encryption and decryption method
Chiara et al. Authentication concepts for satellite-based augmentation systems
US20220191691A1 (en) System and method of protecting transmitted data in the nmea protocols in vehicle control systems
CN113781842B (en) Ship identification control method
RU2785911C1 (en) System and method for protecting the transmitted data in nmea protocols (text communications protocol of navigation equipment) in vehicle control systems
Chen An authenticated encryption scheme for automatic dependent surveillance-broadcast data link
Islam et al. Determining proximal geolocation of IoT edge devices via covert channel
CN101299663A (en) Distributed GNSS space division ciphering communication method
Wimpenny et al. Public key authentication for AIS and the VHF data exchange system (VDES)
CN108990147B (en) Vehicle 3D positioning method with privacy protection based on V2R or V2V communication in vehicle-mounted network
US20170250986A1 (en) Systems and methods for controlling access to position information
Ruhland et al. Keeping the Baddies Out and the Bridge Calm: Embedded Authentication for Maritime Networks