Тема 11. Уровень представления OSI

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 
Тема 11. Уровень представления OSI

 

Понятие уровня представления OSI. Трансляция: битовой организации, байтовой структуры, кода символов, синтаксиса. Шифрование данных: транспозиция, подстановка, алгебраическая трансляция.

Введение

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

Следующая таблица отражает темы, изучаемые на уровне представления OSI.

Уровень OSI Темы Методы

Presentation Трансляция (Translation) Bit order (порядка следования битов)

Byte order (порядка следования байтов)

Character code (кодов символов)

File syntax (синтаксиса файлов)

Шифрование (Encryption) Открытым ключом (Public keys)

Закрытым ключом (Private keys)

Трансляция

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

- порядка следования битов (bit order)

- порядка следования байтов (byte order)

- кода символов (character code)

- синтаксиса файлов (file syntax).

Трансляция порядка следования битов

Как вы знаете, в цифровых компьютерах (какие еще бывают – аналоговые), вся информация представляется в виде «0» и «1». Трансляция порядка следования битов оговаривает количество бит в байтах и символах. Например, на одном компьютере один символ кодируется семью битами (всего 128 символов), а на другом – восемью (всего 256 символов). Также такая трансляция (как следует из названия) согласовывает порядок следования битов – справа-налево или слева-направо.

Например, для обмена информацией компьютеры договариваются что буква A будет кодироваться 0001, а буква Z – 1000. Предположим, передается буква «А» или код 0001. Другой компьютер принимает этот код, и определяет порядок отсчета битов. Если не определять порядок отсчета, то последовательность символов можно принять и как 0001 и как 1000.

Трансляция порядка следования байтов

Как называется единица данных, объемом в два байта? Правильно, слово. Слово данных состоит из двух байтов. Один из этих байтов называется старшим, другой – младшим. Уровень представления определяет последовательность байтов в слове. По стандартам микропроцессора Intel младший байт должен идти первым. Такая последовательность называется «маленьким индейцем» (little Indian). По стандартам микропроцессоров Motorola старший бит должен идти первым. Такая последовательность называется «большой индеец» (big Indian). Соответственно без использования трансляции связь между компьютерами с процессором Motorola и процессором Intel была бы невозможной.

Трансляция кода символов

При трансляции порядка следования битов определялось, какое количество битов определяют символ в том или ином стандарте. При трансляции кодов символов уже используется сопоставление конкретного значения битового кода и символа. Существует несколько кодов, соотносящих значения битового кода и символа. Например, код ASCII (American Standart Code for Information Interchange) определяет английские буквы, цифры и некоторые символы. Существует стандартная 7-битная версия ASCII и 8-битная расширенная версия (IBM extended). Другой код, например Shift-JIC, определяет японские символы.

Для представления одного алфавита может существовать более одного кода. Например, кроме ASCII, существует еще один код, кодирующий английские буквы, цифры и некоторые знаки препинания – код EBCDIC (Extended Binary Coded Decimal Interchange Code). Одна и та же последовательность бит переводится в различные символы в каждом коде, хотя алфавиты кодов одинаковы. (См. рисунок).

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

Сейчас разработан 16-битный универсальный код Unicode, который может содержать в себе 65536 различных символов. Для каждого языка в таком коде выделена кодовая страница (code page).

Трансляция синтаксиса файлов

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

Например, на ОС Apple Macintosh System 7 каждый файл представляет из себя два объекта, которые называются data fork (ветвь данных) и resource fork (ветвь ресурса). В ветви данных находятся собственно данные, а в ветви ресурсов находится список ресурсов, используемых этим файлом – окна, приложения, драйверы и т.д. Содержащаяся в этой ветви информация привязана к конкретной операционной системе и не может быть использована в других системах. В DOS и Windows используется только ветвь данных. Также в различных операционных системах могут различаться схемы обозначения начала и конца файла, дескрипторы безопасности, стандарты наименования файлов и другие характеристики. Все эти параметры должны быть учтены при трансляции синтаксиса файлов.

Шифрование

В операционные системы обычно включается функция шифрования (encryption) для защиты данных от несанкционированного использования. Шифрование данных осуществляется тремя способами:

- транспозиция (transposition)

- подстановка (substitution)

- алгебраическая трансляция (algebraic) (STUDENT + ABILITY = JOB)

Эти способы кодируют данные. Любой человек, владеющий алгоритмом шифрования, может получить исходные данные. В более сложных алгоритмах для расшифровки данных используются ключи (keys). Ключ – это массив данных, позволяющий зашифровывать и расшифровывать информацию. Шифрование может быть как программным, так и аппаратным. Шифрование при передаче данных от одного приложения к другому производится программно на уровне представления OSI.

Любой алгоритм шифрования может быть вскрыт а ключ – найден. Сейчас ведется разработка все более мощных и надежных средств защиты информации. Различают два метода реализации шифрования – с использованием открытого ключа (public key) и закрытого ключа (private key).

Шифрование закрытым ключом

Для зашифровки и расшифровки информации используется один и тот же ключ. Любой, кто владеет ключом может как зашифровывать так и расшифровывать информацию. Поэтому доступ к закрытому ключу должен быть ограничен. Такой ключ может встраиваться аппаратно в микросхемы или назначаться администратором сети. Однако при смене ключа возникает проблема передачи ключа. При передаче ключ необходимо защитить от перехвата. (Вопрос – для чего ключи необходимо регулярно менять?) Пример – алгоритм DES (Data encryption standart, 64-битный ключ).

Шифрование открытым ключом

Здесь используется два ключа – открытый ключ для зашифровки информации и закрытый – для расшифровки. Открытый ключ создается из закрытого ключа через специальный алгоритм. Отправитель не владеет закрытым ключом и зашифровывает информацию с помощью открытого ключа. Адресат расшифровывает информацию с помощью комбинации открытого и закрытого ключей. Владение только открытым ключом не позволяет расшифровывать информацию за приемлемое время. В настоящее время алгоритмы шифрования открытым ключом настолько эффективны, что для их расшифровки потребуется несколько десятков лет вычислительного времени суперкомпьютера. Однако, стремительное развитие вычислительной техники приводит к постоянному поиску все более криптостойких алгоритмов. Пример – алгоритм RSA (Rivesi, Shamir, Adleman). (Рассказать о командном соревновании по расшифровке ключа RSA, запрете использования программы Pretty Good Privacy – PGP).

Заключение

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

Контрольные вопросы

1. What functions do OSI Presentation layer implementations perform?

2. Which two Presentation layer methods resolve data bit and byte counting schemes? (Choose two.)

a. Bit order

b. Byte order

c. File syntax

d. Character code

3. What is the purpose of encrypting data?

Ответы

1. Presentation layer implementations transform data into a mutually agreed-upon format. It may also compress or expand, and encrypt or decrypt data.

2. A and B.

3. To protect it from unauthorized use.