Защита данных от несанкционированного доступа

Автор работы: Пользователь скрыл имя, 22 Декабря 2010 в 20:48, курсовая работа

Описание

Появившиеся в начале 80-ых персональные ЭВМ (ПЭВМ или ПК) прочно вошли во все сферы человеческой деятельности. Вместе с ними у эксплуатирующих ПЭВМ организаций и ведомств возникли и многочисленные проблемы. Одна из них — защита информации. Согласно статистическим данным более 80% компаний и агентств несут финансовые убытки из-за нарушения безопасности данных.
Проблема защиты информации представляет собой совокупность тесно связанных проблем в областях права, организации управления, разработки технических средств, программирования и математики. Одна из центральных задач проектирования систем защиты состоит в рациональном распределении имеющихся ресурсов.

Содержание

Введение . . . . . . . . . . . 3
1. Постановка задачи . . . . . . . . . 4
1. 1. Организационно-экономическая сущность задачи . . . . 4
1. 2. Входные данные . . . . . . . . . 6
1. 3. Постоянная информация . . . . . . . . 6
1. 4. Выходная данные . . . . . . . . . 6
2. Вычислительная система . . . . . . . . 7
2. 1. Операционная система . . . . . . . . 7
2. 2. Технические средства реализации задачи . . . . . . 8
2. 3. Программные средства . . . . . . . . 8
3. Алгоритм задачи . . . . . . . . . 10
4. Описание программы . . . . . . . . . 14
5. Описание применения программы . . . . . . 16
6. Заключение . . . . . . . . . . 17
Приложение 1. Листинг программы . . . . . . . 18
Приложение 2. Листинг библиотек . . . . . . . 39
Приложение 3. Пример работы программы . . . . . . 45
Список литературы . . . . . . . . . 47

Работа состоит из  1 файл

Защита данных от несанкционированного доступа.DOC

— 201.50 Кб (Скачать документ)
lign="justify">    nil)))))),

  nil)));

end; 

{Изменить основную палитру}

function TMyApp.GetPalette: PPalette;

const

  P: Array [apColor..apMonochrome] of string[Length(CAppColor)] =

       (CAppColor, CAppBlackWhite, CAppMonochrome);

begin

  P[apColor, 50] := #$11; {1F}

  P[apColor, 51] := #$11; {2F}

  P[apColor,  1] := #$21; {71}

  GetPalette := @P[AppPalette];

end; 

{Изменить палитру окна выбора файлов}

function TMyFDialog.GetPalette: PPalette;

const

  {Синяя палитра}

  CMyCluster     = #64#65#66#67#68#69#70#71#72#73#74#75#76#77#78#79#80#81#82+

                   #83#84#85#86#87#88#89#90#91#92#93#94#95;

  P: string [32] = CMyCluster;

begin

  GetPalette := @P;

end; 

{Инициализировать окно выбора файлов}

constructor TMyFileDialog.Init(AWildCard: tWildStr;

              const ATitle, InputName: string;

              AOptions: Word; HistoryId: Byte);

var

  ScrollBar: PScrollBar;

  R        : TRect;

begin

  { Создание окна диалога }

  R.Assign(15, 1, 64, 20);

  TDialog.Init(R, ATitle);

  Options:= Options or ofCentered;

  WildCard:= AWildCard; 

  { Строка ввода имени файла }

  R.Assign(3, 3, 31, 4);

  FileName:= New(PFileInputLine, Init(R, 79));

  FileName^.Data^:= WildCard;

  Insert(FileName);

  R.Assign(2, 2, 6, 3);

  Insert(New(PLabel, Init(R, InputName, FileName)));

  R.Assign(31, 3, 34, 4);

  Insert(New(PHistory, Init(R, FileName, HistoryId))); 

  { Линейка скроллинга и список файлов }

  R.Assign(3, 14, 34, 15);

  ScrollBar:= New(PScrollBar, Init(R));

  Insert(ScrollBar);

  R.Assign(3, 6, 34, 14);

  FileList:= New(PFileList, Init(R, ScrollBar));

  Insert(FileList);

  R.Assign(2, 5, 8, 6);

  Insert(New(PLabel, Init(R, 'Файлы', FileList))); 

  { Задание кнопок }

  R.Assign(35, 3, 46, 5);

  if AOptions and fdOpenButton <> 0 then

    begin

      Insert(New(PButton, Init(

                R, 'Открыть', cmFileOpen, bfDefault)));

      Inc(R.A.Y,3); Inc(R.B.Y,3);

    end;

  if AOptions and fdOkButton <> 0 then

    begin

      Insert(New(PButton, Init(

                R, 'Ага', cmFileOpen, bfNormal)));

      Inc(R.A.Y,3); Inc(R.B.Y,3);

    end;

  if AOptions and fdReplaceButton <> 0 then

    begin

      Insert(New(PButton, Init(

                R, 'Замена',cmFileReplace, bfNormal)));

      Inc(R.A.Y,3); Inc(R.B.Y,3);

    end;

  if AOptions and fdClearButton <> 0 then

    begin

      Insert(New(PButton, Init(

                R, 'Удал.',cmFileClear, bfNormal)));

      Inc(R.A.Y,3); Inc(R.B.Y,3);

    end;

  Insert(New(PButton, Init(

                R, 'Нека', cmCancel, bfNormal))); 

  { Информационная панель с параметрами файла }

  R.Assign(1, 16, 48, 18);

  Insert(New(PFileInfoPane, Init(R))); 

  SelectNext(False); 

  { Загрузка каталога }

  if AOptions and fdNoLoadDir = 0 then

    begin

      FileList^.ReadDirectory(WildCard);

      Directory:= NewStr(GetCurDir);

    end;

end; 

Var

  MyApp: TMyApp;  {Переменная основного объекта} 

Begin

  WriteLn('Система защиты данных от НСД. Версия 1.0 beta.'+

          +' 1996 МГВРК Еганов М. Ю., Юзефович А. Г.');

  GetIntVec($09,Int09_Save);

  MyApp.Init;

  MyApp.Run;

  MyApp.Done;

  SetIntVec($09, Int09_Save);

End. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Приложение 2

    Листинг библиотек 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

{***************************************************************************}

{***************************************************************************}

{**                                                              **}

{**                       КП "ЗАЩИТА ДАННЫХ ОТ НСД"                        **}

{**                Выполнил учащийся гр.46491 ЕГАНОВ МАКСИМ                **}

{**                               1996                                     **}

{**                                                                        **}

{**                      Программа инсталляции                             **}

{***************************************************************************}

{***************************************************************************} 

Program Install; 

Uses

  App, Dialogs, Drivers, Menus, MsgBox, Objects,

  Views, Memory, StdDlg, CRT, DOS, SetConf; 

Const {константы кодов команд}

  cmAboutBox  =  700;

  cmCode      = 1001;

  cmDeCode    = 1002;

  cmSetPass   = 1005;

  cmLockDisk  = 1006;

  cmOptions   = 1007;

  cmKeyDisk   = 1008;

  cmPasswords = 1009; 

  RMenuBar: TStreamRec = (  {Запись для работы с потоком, TV}

    ObjType: 2000;

    VmtLink: Ofs(TypeOf(TMenuBar)^);

    Load: @TMenuBar.Load;

    Store: @TMenuBar.Store); 

Var

  Save23hInt : Pointer; {Переменные сохранения векторов прерываний}

  Save1bhInt : Pointer;

  MyApp      : TApplication;

  MyRes      : TResourceFile;

  MyStream   : PBufStream; 

{Формирование подменю "Файлы"}

function MyStdFileMenuItems(Next: pMenuItem): pMenuItem;

begin

  MyStdFileMenuItems:=

    NewItem('Выбрать...', 'F3', kbF3, cmOpen, hcOpen,

    NewItem('Сменить каталог...', '',

                kbNoKey, cmChangeDir, hcChangeDir,

    NewLine(

    NewItem('Выход в ДОС', '', kbNoKey, cmDosShell, hcDosShell,

    NewItem('Завершение', 'Alt+X', kbAltX, cmQuit, hcExit,

    Next)))));

end; 

{Формирование основного меню}

procedure CreateMenuBar;

var

  MenuBar: PMenuBar;

  R      : TRect;

begin

  R.Assign(0, 0, 80, 1);

  MenuBar:= New(pMenuBar, Init(R, NewMenu(

    NewSubMenu('~Ф~айлы', hcNoContext, NewMenu(

      MyStdFileMenuItems(nil)),

    NewSubMenu('~З~ащита', hcNoContext, NewMenu(

       NewItem('~У~становить пароль', 'F5', kbF5, cmSetPass, 1005,

       NewItem('~Б~локировать винчестер', '', kbNoKey, cmLockDisk, 1006, nil))),

    NewSubMenu('~К~лючевая дискета', hcNoContext, NewMenu(

       NewItem('~Д~обавить проверку по ключу', '', kbNoKey, cmKeyDisk, 1008, nil)),

    NewSubMenu('~К~риптография', hcNoContext, NewMenu(

       NewItem('Зашифровать файл данных','', kbNoKey, cmCode, 1001,

       NewItem('Расшифровать файл данных','', kbNoKey, cmDeCode, 1002, nil))),

    NewSubMenu('~Н~астройки', hcNoContext, NewMenu(

      NewItem('Криптография...','F9', kbF9, cmOptions, 1007,

       NewItem('Пароли...','F8', kbF8, cmPasswords, 1008, nil))),

    NewItem('~О~ программе', '', kbAltJ, cmAboutBox, 700, nil)))))))));

  MyRes.Put(MenuBar, Config);

  Dispose(MenuBar, Done);

end; 

{Процедура управления формой курсора}

procedure SetCursorSize(c_start,c_end:byte);

var

   regs: registers;

begin

  with regs do

    begin

      ah:=$01;

      ch:=c_start;

      cl:=c_end;

    end;

  intr($10,regs);

end; 

{Процедура замены вектора преываний}

{$F+}

procedure My23hInt;Interrupt;

begin

end;

{$F-} 

{Процедура копирования файлов}

procedure CopyFyle(FromCopy: string);

const

  TempLength = 1125.28;

var

   ToCopy                       : string;

Информация о работе Защита данных от несанкционированного доступа