в начало  предыдущее  закрыть  следущее  в конец
141090, Московская область, г.Королев, мкр.Юбилейный, ул. Ленинская, д.4, пом.7
Тел: +7(495)589-99-53 Тех.поддержка:+7(499)110-90-40 e-mail: support@lissi.ru
Главная страница / Продукты / СКЗИ / ЭП / CryptoAPI

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


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

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

Проверить наличие модулей шифрования по ГОСТ в режимах 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: разработка и применение российской криптографии


© 2002-2018. ООО "ЛИССИ-Софт". Все права защищены
Телефон: +7(495) 589-99-53
Техническая поддержка: +7(499) 110-90-40
E-mail: support@lissi.ru
Принимаем к оплате