Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

    init_module;

    cleanup_module.

Makefile

Для получения загружаемого модуля ядра (драйвера) создадим Makefile следующего содержания:

CC = gcc

module = sys_call_gost.o

CFLAGS = -O2 -Wall

LINUX = /usr/src/linux

MODFLAGS = -D__KERNEL__ -DMODULE -I$(LINUX)/include

 

sys_call_gost.o: sys_call_gost.c

    $(CC) $(CFLAGS) $(MODFLAGS) -c sys_call_gost.c

Модуль генерации ключевых данных

Задача модуля генерации – формирование ключевых данных (долговременного ключа, сеансового ключа и синхропосылки) и запись их на носитель. Размер ключей и синхропосылки фиксирован. Длина сеансового ключа составляет 32 байта, долговременного – 64 байта, длина синхропосылки – 8 байт.

В качестве носителя ключевых данных выберем дискету. На этой дискете (далее ключевая дискета) будут размещаться три файла:

n  файл долговременного ключа key_d длиной 64 байта;

n  файл сеансового ключа key_s длиной 32 байта;

n  файл синхропосылки sp длиной 8 байт.

Доступ к ключевой дискете должен иметь только администратор системы. Для предотвращения компрометации ключевой информации администратору необходимо обеспечить соответствующие условия ее хранения.

Подготовим ключевую дискету к работе:

fdformat /dev/fd0u1440

mkfs -V -t ext2 /dev/fd0

Перед записью ключевых данных в БКИ драйвера необходимо смонтировать ключевую дискету. Создадим точку монтирования:

mkdir /floppy

и смонтируем туда файловую систему, находящуюся на ключевой дискете:

mount -t ext2 /dev/fd0 /floppy

Теперь рассмотрим код генератора ключей. Заголовочные файлы:

#include <stdio.h>

#include <fcntl.h>

Точка монтирования файловой системы ключевого носителя:

#define MOUNT_DIR "/floppy"

 

int main()

{

 

    int s,d,sp,rnd;

    char buf[64];

Для получения случайной последовательности (а точнее, псевдослучайной) воспользуемся файлом /dev/urandom:

    rnd=open("/dev/urandom",O_RDONLY);

Формируем ключевые данные. Создаем на ключевом носителе файлы ключей и синхропосылки:

    d=open(MOUNT_DIR"/key_d",O_CREAT|O_WRONLY,0600);

    s=open(MOUNT_DIR"/key_s",O_CREAT|O_WRONLY,0600);

    sp=open(MOUNT_DIR"/sp",O_CREAT|O_WRONLY,0600);

Записываем в созданные файлы случайную последовательность, считанную из /dev/urandom:


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100