Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Определение свопинга и виртуальной памяти. Достоинства и недостатки.

Поиск

В отличие от памяти жёсткого диска, которую называют внешней памятью, оперативной памяти для сохранения требуется постоянное электропитание.

Необходимым условием для того, чтобы программа могла выполняться, являет­ся ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их. Объем оперативной памяти, который имеется в компьютере, существенно сказывается на характере протекания вычислительного процесса. Он ограничи­вает число одновременно выполняющихся программ и размеры их виртуальных адресных пространств. Подмена (виртуализация) оперативной памяти дисковой памятью позво­ляет повысить уровень мультипрограммирования - объем оперативной памяти компьютера теперь не столь жестко ограничивает количество одновременно вы­полняемых процессов, поскольку суммарный объем памяти, занимаемой образами этих процессов, может существенно превосходить имеющийся объем опера­тивной памяти. По­нятно, однако, что работа такой «оперативной памяти» происходит значительно медленнее.

Виртуализация оперативной памяти осуществляется совокупностью программ­ных модулей ОС и аппаратных схем процессора и включает решение следующих задач:

· размещение данных в запоминающих устройствах разного типа, например часть кодов программы - в оперативной памяти, а часть - на диске;

· выбор образов процессов или их частей для перемещения из оперативной па­мяти на диск и обратно;

· перемещение по мере необходимости данных между памятью и диском;

· преобразование виртуальных адресов в физические.

Виртуализация памяти может быть осуществлена на основе двух различных подходов:

· свопинг (swapping) - образы процессов выгружаются на диск и возвращаются в оперативную память целиком;

· виртуальная память (virtual memory) - между оперативной памятью и диском перемещаются части (сегменты, страницы и т. п.) образов процессов.

Свопинг представляет собой частный случай виртуальной памяти и, следователь­но, более простой в реализации способ совместного использования оператив­ной памяти и диска. Однако подкачке свойственна избыточность. А перемещение избыточной информации замедляет работу системы, и также при­водит к неэффективному использованию памяти. Кроме того, системы, поддер­живающие свопинг не способны загрузить для выполнения процесс, виртуальное адресное пространст­во которого превышает имеющуюся в наличии свободную память. Из-за указанных недостатков свопинг как основной механизм управле­ния памятью почти не используется в современных OC.

На смену ему пришел более совершенный механизм виртуальной памяти, который заключается в том, что при нехватке места в оперативной памяти на диск выгружаются только части образов процессов.

Ключевой проблемой виртуальной памяти является преобразование виртуальных адресов в физические. Ре­шение этой проблемы, зависит от того, какой способ структури­зации виртуального адресного пространства принят в данной ОС. В настоящее время все множество реализаций виртуальной памяти может быть представлено тремя классами.

Страничная виртуальная память организует перемещение данных между памятью и диском страницами - частями виртуального адресного пространст­ва, фиксированного и сравнительно небольшого размера.

Сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.

Сегментная-страничная виртуальная память использует двухуровневое деле­ние: виртуальное адресное пространство делится на сегменты, а затем сегмен­ты делятся на страницы. Единицей перемещения данных здесь является стра­ница.

Для временного хранения сегментов и страниц на диске отводится либо специальная область, либо специальный страничный файл (page file, или paging file). Текущий размер страничного файла является важным параметром, оказывающим влияние на возможности операционной системы: чем больше страничный файл, тем боль­ше приложений может одновременно выполнять ОС, однако увеличение числа одновременно работающих приложений за счет увеличения размера страничного файла замедляет их работу, так как значительная часть времени в этом случае тратится на перекачку кодов и данных из оперативной памяти на диск и обратно.

Понятия конфиденциальности, целостности и доступности данных.

Безопасная информационная система - это система, которая, во-первых, защищает данные от несанкционированного доступа, во-вторых, всегда готова предоставить их своим пользователям, а в-третьих, надежно хранит информацию и гарантирует неизменность данных. Таким образом, безопасная система по опре­делению обладает свойствами конфиденциальности, доступности и целостности.

· Конфиденциальность - гарантия того, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен (такие пользователи называются авторизованными);

· Доступность - гарантия того, что авторизованные пользователи всегда получат доступ к данным;

· Целостность - гарантия сохранности данных, которая обеспечивается запретом для неавторизованных пользователей каким-либо образом изменять, модифицировать, разрушать или создавать данные.

Требования безопасности могут меняться в зависимости от назначения системы, характера используемых данных и типа возможных угроз.

Например, если вы публикуете информацию в Интернете на Web-сервере и вашей целью является сделать её доступной для самого широкого круга людей, то конфиден­циальность в данном случае не требуется. Однако требования целостности и до­ступности остаются актуальными.

Не менее важным в данном примере является и обеспечение доступности дан­ных. Т.к. существует вероятность того, что злоумышленник предпримет атаку, в результате которой помещенные на сервер данные станут недоступными для тех, кому они предназначались.

Понятие конфиденциальности, доступности и целостности могут быть определенны не только по отношению к информации, но и к другим ресурсам вычислительной сети, например внешним устройствам или приложениям.

Любое действие, которое направлено на нарушение конфиденциальности, целостности и/или доступности информации, а также на нелегальное использование других ресурсов сети, называется угрозой. Реализованная угроза называется атакой. Риск-это вероятностная оценка величины возможного ущерба, который может понести владелец информационного ресурса в результате успешно проведенной атаки. Значение риска тем выше, чем более уязвимой является существующая система безопасности, и чем выше вероятность реализации атаки.

 

 

Основы симметричного алгоритма шифрования. Пример.

Любая процедура шифрования, превращающая информацию из обычного «по­нятного» вида в «нечитабельный» зашифрованный вид должна быть дополнена процедурой дешифрирования. Пара процедур - шифрование и дешифрирование - называется криптосистемой.

Алгоритм шифрования считается раскрытым, если найдена процедура, позволяю­щая подобрать ключ за реальное время. Сложность алгоритма раскрытия явля­ется одной из важных характеристик криптосистемы и называется криптостой­костью.

Существуют два класса криптосистем - симметричные и асимметричные. В сим­метричных схемах шифрования (классическая криптография) секретный ключ зашифровки совпадает с секретным ключом расшифровки. В асимметричных схе­мах шифрования (криптография с открытым ключом) открытый ключ зашиф­ровки не совпадает с секретным ключом расшифровки.

 
 

Тео­ретические основы симметричного алгоритма шифрования впервые были изложены в 1949 году в работе Клода Шеннона. В данной модели три участника: отправитель, получатель, злоумышленник. Задача отправителя заключается в том, чтобы по открытому каналу пе­редать некоторое сообщение в защищенном виде. Для этого он на ключе k за­шифровывает открытый текст Х и передает шифрованный текст У. Задача получателя заключается в том, чтобы расшифровать Y и прочитать сообщение Х. Предполагается, что отправитель имеет свой источник ключа. Сгенерированный ключ заранее по надежному каналу передается получателю. Задача злоумышлен­ника заключается в перехвате и чтении передаваемых сообщений, а также в имитации ложных сообщений.

Модель симметричного шифрования

Модель является универсальной - если зашифрованные данные хранятся в ком­пьютере и никуда не передаются, отправитель и получатель совмещаются в од­ном лице, а в роли злоумышленника выступает некто, имеющий доступ к компь­ютеру в ваше отсутствие.

Наиболее популярным стандартом симметричным алгоритмом шифрования данных является DES (Data Enctyption Standart). Суть этого алгоритма заключается в следующем: Данные шифруются поблочно. Перед шифрованием любая форма представления данных преобразуется в числовую. Эти числа получают путем любой открытой процедуры преобразования блока текста в число. На вход шифрующей функции посту­пает блок данных размером 64 бита, он делится пополам на левую (L) и правую (R) части. На первом этапе на место левой части результирующего блока поме­щается правая часть исходного блока. Правая часть результирующего блока вы­числяется как сумма по модулю 2 (операция XOR) левой, и правой частей исход­ного блока. Затем на основе случайной двоичной последовательности по опреде­ленной схеме в полученном результате выполняются побитные замены и перестановки. Используемая двоичная последовательность, представляющая собой ключ данного алгоритма, имеет длину 64 бита, из которых 56 действительно слу­чайны, а 8 предназначены для контроля ключа.


Схема шифрования по алгоритму DES

Алгоритм DES широко используется в различных технологиях и продуктах безопасности информацион­ных систем. Для того чтобы повысить криптостойкость алгоритмы DES, иногда применяют его усиленный вариант, называемый «тройным DES», который включает троекратное шифрование с использованием двух разных ключей. При этом длина ключа увеличивается с 56 бит до 112 бит, а значит, криптостойкость алгоритма существенно повышается. Но за это приходится пла­тить производительностью – «тройной DES» требует в три раза больше време­ни, чем «обычный» DES.

В симметричных алгоритмах главную проблему представляют ключи. Во-первых, криптостойкость многих симметричных алгоритмов зависит от качества ключей, это предъявляет повышенные требования к службе генерации ключей. Во-вто­рых, принципиальной является надежность канала передачи ключа.

Основы несимметричного шифрования. Пример.

Любая процедура шифрования, превращающая информацию из обычного «по­нятного» вида в «нечитабельный» зашифрованный вид должна быть дополнена процедурой дешифрирования. Пара процедур - шифрование и дешифрирование - называется криптосистемой.

Алгоритм шифрования считается раскрытым, если найдена процедура, позволяю­щая подобрать ключ за реальное время. Сложность алгоритма раскрытия явля­ется одной из важных характеристик криптосистемы и называется криптостой­костью.

Существуют два класса криптосистем - симметричные и асимметричные. В сим­метричных схемах шифрования (классическая криптография) секретный ключ зашифровки совпадает с секретным ключом расшифровки. В асимметричных схе­мах шифрования (криптография с открытым ключом) открытый ключ зашиф­ровки не совпадает с секретным ключом расшифровки.

В середине 70-х двое ученых - Винфилд Диффи и Мартин Хеллман - описали принципы шифрования с открытыми ключами.

Особенность шифрования на основе открытых ключей состоит в том, что одно­временно генерируется уникальная пара ключей, таких, что текст, зашифрован­ный одним ключом, может быть расшифрован только с использованием второго ключа и наоборот.

В модели криптосхемы с открытым ключом также три участника: отправитель, получатель, злоумышленник. Задача отправителя заключается в том, чтобы по открытому каналу связи передать некоторое сообщение в защищенном виде. Получатель генерирует на своей стороне два ключа: открытый Е и закрытый D. Закрытый ключ D (часто называемый также личным ключом) абонент должен сохранять в защищенном месте, а открытый ключ Е он может передать всем, с кем он хочет поддерживать защищенные отношения. Открытый ключ ис­пользуется для шифрования текста, но расшифровать текст можно только с по­мощью закрытого ключа. Поэтому открытый ключ передается отправителю в незащищенном виде. Отправитель, используя открытый ключ получателя, шиф­рует сообщение Х и передает его получателю. Получатель расшифровывает со­общение своим закрытым ключом D.

Очевидно, что числа, одно из которых используется для шифрования текста, а другое - для дешифрирования, не могут быть независимыми друг от друга, а значит, есть теоретическая возможность вычисления закрытого ключа по от­крытому, но это связано с огромным количеством вычислений, которые требуют соответственно огромного времени.

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


Для того чтобы в сети все n абонентов имели возможность не только принимать зашифрованные сообщения, но и сами посылать таковые, каждый абонент должен обладать своей собственной парой ключей Е и D. Всего в сети будет 2n клю­чей: n открытых ключей для шифрования и n секретных ключей для дешифри­рования.

Хотя информация об открытом ключе не является секретной, ее нужно защищать от подлогов, чтобы злоумышленник под именем легального пользователя не навязал свой открытый ключ, после чего с помощью своего закрытого ключа он может расшифровать все сообщения, посылаемые легальному пользователю.

В 1978 году трое ученых разработали систему шиф­рования с открытыми ключами RSA. полностью отве­чающую всем принципам Диффи-Хеллмана. Этот метод состоит в следующем:

1) Случайно выбираются два очень больших простых числа р и q.

2) Вычисляются два произведения n=р*q и m=(p-l)*(q-l).

3) Выбирается случайное целое число Е, не имеющее общих сомножителей с m.

4) Находится D, такое, что DE= 1 по модулю m.

5) Исходный текст, Х, разбивается на блоки таким образом, чтобы О<Х <n.

6) Для шифрования сообщения необходимо вычислить C= X^e по модулю n.

7) Для дешифрирования вычисляется x=с^d по модулю n.

Таким образом, чтобы зашифровать сообщение, необходимо знать пару чисел (Е, n), а чтобы дешифрировать - пару чисел (D, n). Первая пара - это открытый ключ, а вторая - закрытый.

Зная открытый ключ (Е, n), можно вычислить значение закрытого ключа D. Не­обходимым промежуточным действием в этом преобразовании является нахож­дение чисел р и q, для чего нужно разложить на простые множители очень боль­шое число n, а на это требуется очень много времени.

Вследствие сложности реализации операций модульной арифметики крип­тоалгоритм RSA Часто используют только для шифрования небольших объемов информации, например для рассылки классических секретных ключей или в алгоритмах цифровой подписи, а основную часть пересылаемой информации шифруют с помощью симметричных алгоритмов.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 1164; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.71.175 (0.011 с.)