в начало  предыдущее  закрыть  следущее  в конец
141090, Московская область, г. Королев мкр.Юбилейный, ул. Ленинская, д.4, пом.7
Телефон: +7(495) 589-99-53, e-mail: support@lissi.ru

CryptoAPI ядра Linux: применение российской криптографии


CryptoAPI представляет собой реализацию криптографическихалгоритнов с предоставлением доступа к ним как из самого ядра, так и из прикладного программного обеспечения. Наиболее яркими представителями этого программного обеспечения является IPSEC (VPN ) и dm-crypt (шифрованная файловая система).

Специалистами ООО "ЛИССИ-Софт" разработан механизм добавления в ядро ОС Linux российских криптографических алгоритмов :


  • выработку значения хэш-функции в соответствии с требованиями ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012 "Информационная технология. Криптографическая защита информации. Функция хэширования";
  • зашифрование/расшифрование данных и вычисление имитовставки в соответствии с требованиями ГОСТ 28147-89 "Системы обработки информации. Защита криптографическая";
  • зашифрование/расшифрование данных алгоритмами шифрования "Кузнечик" (КУЗмин, НЕЧаев И Компания) и "Магма" в соответствии с требованиями "ГОСТ Р 34.12-2015 Информационная технология. Криптографическая защита информации. Блочные шифры" и "ГОСТ Р 34.13-2015 Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров".

Проверить наличие модулей шифрования по ГОСТ в режимах ECB и CBC можно выполнить следующую команду:

bash-4.3$ /usr/local/bin64/cryptsetupbenchmark-cgost-ecb

# Tests are approximate using memory only (no storage IO).

#Algorithm | Key |Encryption |Decryption

gost-ecb256b50,4 MiB/s49,2 MiB/s

bash-4.3$ /usr/local/bin64/cryptsetupbenchmark-ckuznyechik-ecb

# Tests are approximate using memory only (no storage IO).

#Algorithm | Key |Encryption |Decryption

kuznyechik-ecb256b3,4 MiB/s3,2 MiB/s

bash-4.3$# Tests are approximate using memory only (no storage IO).

bash-4.3$

#Algorithm | Key |Encryption |Decryption

aes-ecb256b1361,8 MiB/s1381,5 MiB/s

bash-4.3$

И так с модулями мы разобрались. Теперь можно создавать защищенную файловую систему с шифрованием на ГОСТ-ах. Для начала создадим файл test.bin:

# dd if=/dev/zero of=/tmp/test.bin bs=10M count=50

50+0 записей получено

50+0 записей отправлено

скопировано 524288000 байт (524 MB), 0,44706 c, 1,2 GB/c

[root@VOrlov_64 tmp]#

Шифрованную файловую систему будем создавать именно в этом файле:
[root@VOrlov_64 tmp]# /usr/local/bin64/cryptsetup - kuznyechik-ecb -h stribog256-y luksFormat /tmp/test.bin

WARNING!

========

This will overwrite data on /tmp/test.bin irrevocably.

Are you sure? (Type uppercase yes): YES

Enter passphrase: 01234567

Verify passphrase: 01234567

[root@VOrlov_64 tmp]#

Подключениефайловойсистемы :

#cryptsetup luksOpen <устройство/файл> volume1

И так подключаем нашу защищенную ФС к тому volume1:

[root@VOrlov_64 tmp]# /usr/local/bin64/cryptsetup luksOpen /tmp/test.bin volume1

Enter passphrase for /tmp/test.bin:

[root@VOrlov_64 tmp]#

Далее работаем с устройством /dev/mapper/volume1 как с обычным разделом жесткого диска.

Посмотреть параметры файловой системы :

root@VOrlov_64 tmp]#/usr/local/bin64/cryptsetup status /dev/mapper/volume1

/dev/mapper/volume1 is active.

type:LUKS1

cipher:kuznyechik-ecb

keysize: 256 bits

device:/dev/loop0

loop:/tmp/test.bin

offset:4096 sectors

size:1019904 sectors

mode:read/write

[root@VOrlov_64 tmp]#

После этого достаточно создать файловую систему (ФС) на устройстве /dev/mapper/volume1:

#mkfs.ext4 /dev/mapper/volume1

#

МонтируемФСиработаемсней :
#mount /dev/mapper/volume1 /mount/TEST_DM_CRYPT_GOST

#

Все, теперь мы можем создавать шифрованные ФС на ГОСТ 28147-89 (он же ГОСТ Р 34.12-2015 Магма) и ГОСТ Р 34.12-2015 Кузнечик) в режимах CBC, ECB. В качестве алгоритма хэширование могут использоватьсяГОСТ Р 34.11-94), stribog256 (ГОСТ Р 34.11-2012 256 бит) и stribog512 (ГОСТ Р 34.11-2012 512бит).

Дополнительные материалы:

CryptoAPI ядра Linux: разработка и применение российской криптографии


© 2011-2017. ООО «ЛИССИ-Софт». Все права на материалы, находящиеся на сайте, охраняются в соответствии с законодательством РФ. При любом использовании материалов сайта, ссылка на источник обязательна.
Торговые марки, логотипы и марки услуг, размещенные на данном сайте, являются собственностью ООО «ЛИССИ-Софт».
Телефон: +7(495) 589-99-53, e-mail: support@lissi.ru