Программно аппаратные средства ускорения приложений. Аппаратные и программные методы ускорения работы программы. Средства хранения информации

Программно аппаратные средства ускорения приложений. Аппаратные и программные методы ускорения работы программы. Средства хранения информации
Программно аппаратные средства ускорения приложений. Аппаратные и программные методы ускорения работы программы. Средства хранения информации

С определением понятия «Аппаратное ускорение» можно ознакомиться, например, в данной же статье мы постараемся ответить на этот вопрос как можно более короче, и понятнее, простому пользователю ПК, а кроме того, рассмотрим, как его отключить, и в каких случаях это может потребоваться.

Аппаратное ускорение – это способ повышения быстродействия той или иной компьютерной программы и операционной системы (ОС) в целом, основанный на перераспределении нагрузки между процессором (ЦП) и видеокартой. Т.е. задачи по обработке видео и графики перекладываются с ЦП на видеокарту, что в конечном итоге позволяет не только несколько снизить нагрузку на процессор, но и добиться прироста производительности, как отдельно взятого приложения, так и всей системы, за счёт ресурсов видеокарты.

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

Рассмотрим способ отключения аппаратного ускорения на примере флеш плеера.

Откройте в вашем браузере любую веб-страницу с флеш-анимацией или видеороликом, использующим технологию Flash, кликните по флеш-объекту правой кнопкой мыши (ПКМ), и выберите в контекстном меню пункт «Параметры» (как на скриншоте).

На этом всё, так мы отключаем ускорение для приложений.

Отключение аппаратного ускорения на уровне операционной системы не всегда возможно (опционально зависит от драйвера видеокарты), да и редко, когда его наличие является причиной ошибок или сбоев в ОС Windows, например, в Windows 7.

Чтобы выключить аппаратное ускорение в Windows, кликните ПКМ по рабочему столу, и выберите «Разрешение экрана».

Архитектура процессоров Intel становится все более ориентированной на ГП, что открывает удивительные возможности для резкого повышения производительности просто за счет разгрузки обработки мультимедиа с ЦП на ГП. Существует немало инструментов, доступных разработчикам для повышения производительности мультимедиа приложений. В числе этих инструментов есть бесплатные и простые в использовании.
В этой публикации вы найдете:

  • Обзор вычислительных архитектур и текущие возможности ГП Intel
  • Реализацию аппаратного ускорения с помощью FFmpeg
  • Реализацию аппаратного ускорения с помощью Intel Media SDK или аналогичного компонента Intel Media Server Studio (в зависимости от целевой платформы)
Если вы испытываете потребность повысить производительность обработки мультимедиа, но не знаете, с чего начать, начните с FFmpeg. Измерьте производительность при программной обработке, затем просто включите аппаратное ускорение и проверьте, насколько изменилась производительность. Затем добавьте использование Intel Media SDK и снова сравнивайте при использовании разных кодеков и в разных конфигурациях.

Вычислительная архитектура: от суперскалярной до разнородной

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


Рисунок 1. Суперскалярная архитектура

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

  • Память: возрастал разрыв между скоростью процессора и скоростью памяти.
  • Параллельная обработка на уровне инструкций (ILP): становилось все труднее обнаруживать доступные для параллельной обработки инструкции в пределах одного потока, чтобы полностью занять ресурсы одного высокопроизводительного ядра.
  • Потребляемая мощность: при постепенном повышении тактовой частоты процессоров потребление электроэнергии росло в геометрической прогрессии.


Рисунок 2. Многоядерная архитектура

Современная разнородная архитектура

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

Другими словами, благодаря этой архитектуре мы получили ощутимые преимущества как в области производительности, так и в области потребления электроэнергии, недоступные ранее. На рис. 3 показано развитие ГП за пять последних поколений: графические процессоры приобретают все более важное значение. И при использовании h.264, и при переходе на самые современные кодеки h.265 графические процессоры предоставляют значительную вычислительную мощность, благодаря которой обработка видео с разрешением 4K и даже с более высоким разрешением не только становится возможной, но и выполняется достаточно быстро.


Рисунок 3. Развитие разнородной архитектуры

Поколения производительности ГП

На рис. 4 показано резкое повышение вычислительной мощности всего за несколько поколений, в которых графические процессоры конструктивно размещались на одном кристалле с ЦП. Если в вашем приложении используется обработка мультимедиа, необходимо задействовать разгрузку на ГП, чтобы добиться ускорения в 5 раз или более (в зависимости от возраста и конфигурации системы).


Рисунок 4. Усовершенствование обработки графики в каждом поколении процессоров Intel

Приступая к программированию ГП

На шаге 1 обычно измеряется производительность H.264, чтобы можно было в дальнейшем оценивать изменение производительности по мере доработки кода. FFmpeg часто используется для измерения производительности и для сравнения скорости при использовании аппаратного ускорения. FFmpeg - очень мощный, но при этом достаточно простой в использовании инструмент.

На шаге 2 проводится тестирование с разными кодеками и в разных конфигурациях. Можно включить аппаратное ускорение, просто заменив кодек (замените libx264 на h264_qsv) на использующий Intel Quick Sync Video .

На шаге 3 добавлено использование Intel Media SDK.

Примечание. В этой публикации рассматривается использование этих инструментов в операционной системе Windows*. Если вас интересует реализация для Linux*, см. Доступ к Intel Media Server Studio для кодеков Linux с помощью FFmpeg .

▍Кодирование и декодирование FFmpeg

Начните с H.264 (AVC), поскольку h264: libx264 является программной реализацией в FFmpeg по умолчанию и выдает высокое качество исключительно программными средствами. Создайте собственный тест, затем снова измерьте производительность, сменив кодек с libx264 на h264_qsv. Позднее мы поговорим о кодеках H.265.

Следует отметить, что при работе с видеопотоками приходится выбирать между качеством и скоростью. При более быстрой обработке практически всегда снижается качество и возрастает размер файлов. Вам придется найти собственный приемлемый уровень качества, основываясь на количестве времени, необходимого для кодирования. Существует 11 предустановок для выбора определенного сочетания качества и скорости - от «Самой быстрой» до «Самой медленной». Существует несколько алгоритмов управления скоростью данных:

  • кодирование за 1 проход с постоянной скоростью данных (set -b:v);
  • кодирование за 2 прохода с постоянной скоростью данных;
  • постоянный коэффициент скорости (CRF).
Intel Quick Sync Video поддерживает декодирование и кодирование с помощью ЦП Intel и интегрированного ГП1. Обратите внимание, что процессор Intel должен быть совместимым с Quick Sync Video и с OpenCL*. Дополнительные сведения см. в Заметках о выпуске Intel SDK для приложений OpenCL* . Поддержка декодирования и кодирования встроена в FFmpeg с помощью кодеков с суффиксом _qsv . В настоящее время Quick Sync Video поддерживается следующими кодеками: видео MPEG2, VC1 (только декодирование), H.264 и H.265.

Если вы хотите поэкспериментировать с Quick Sync Video в FFmpeg, необходимо добавить libmfx. Самый простой способ установить эту библиотеку - использовать версию libmfx , упакованную разработчиком lu_zero.
Пример кодирования с аппаратным ускорением Quick Sync Video:

Ffmpeg -I INPUT -c:v h264_qsv -preset:v faster out.qsv.mp4

FFmpeg также может использовать аппаратное ускорение при декодировании с помощью параметра -hwaccel .

Кодек h264_qsv работает очень быстро, но видно, что даже самый медленный режим работы с аппаратным ускорением значительно быстрее только программного кодирования при самом низком качестве и самой высокой скорости.
При тестировании с кодеками H.265 вам потребуется либо получить доступ к сборке с поддержкой libx265, либо собрать собственную версию согласно инструкциям в Руководстве по кодированию для FFmpeg и H.265 или в документации X265 .
Пример H.265:

Ffmpeg -I input -c:v libx265 - preset medium -x265-params crf=28 -c:a aac -strict experimental -b:a 128k output.mp4

Дополнительные сведения об использовании FFmpeg и Quick Sync Video см. в разделе Облачные вычисления Intel QuickSync Video и FFmpeg .

Использование Intel Media SDK (sample_multi_transcode)

Для дальнейшего повышения производительности при использовании FFmpeg необходимо оптимизировать приложение с помощью Intel Media SDK. Media SDK - это межплатформенный интерфейс API для разработки и оптимизации мультимедиа приложений таким образом, чтобы использовать аппаратное ускорение блоков Intel с фиксированными функциями.
  • Если ваши приложения и решения мультимедиа предназначены для клиентских устройств, используйте пакет Intel Media SDK . Его можно загрузить бесплатно .
  • Если же ваши решения предназначены для встроенных систем, серверов или облачных платформ, доступ к Intel Media SDK можно получить с помощью Intel Media Server Studio . У этого решения есть бесплатный выпуск Community Edition и два платных выпуска: Essentials и Professional (их также можно использовать для ускорения перехода на HEVC и 4K/UHD).
Чтобы начать работать с Intel Media SDK, достаточно выполнить несколько простых действий:
  1. Загрузите Intel Media SDK для целевого устройства.
  2. Загрузите учебные руководства и прочтите их, чтобы понять, как настраивать программное обеспечение с помощью SDK.
  3. Установите Intel Media SDK. Если вы используете Linux, см. руководство по установке для Linux .
  4. Загрузите образец кода SDK , чтобы поэкспериментировать с уже скомпилированными образцами приложений.
  5. Соберите и запустите приложение Video Transcoding: sample_multi_transcode
Команды аналогичны командам FFmpeg. Примеры:

VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h264 in.mpeg2 -o::h264 out.h264
VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h265 in.mpeg2 -o::h265 out.h265

Обратите внимание, что для использования аппаратного ускорения необходимо указать параметр -hw в списке аргументов.
Этот пример также работает с декодером и кодировщиком HEVC (h.265), но его необходимо устанавливать из выпуска Intel Media Server Studio Pro.
Существует множество параметров, которые можно указывать в командной строке. С помощью параметра -u можно задать целевое использование (TU), как при использовании предустановок FFmpeg. TU = 4 используется по умолчанию. На рис. 5 показаны показатели производительности при разных настройках TU.


Рисунок 5. Примеры характеристик производительности H264 по отношению к целевому использованию

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

В статье рассмотрены аппаратные и программные средства для разработки и отладки радиоэлектронных устройств, постороенных на основе микроконтроллеров Renesas Technology.

Широкий выбор аппаратных и программных инструментов мирового уровня делает написание и отладку программного кода устройств и систем эффективными и простыми.

В число этих инструментов входят (рис. 1) оценочные наборы, среда разработки и отладки ПО, комплект программных инструментов (компилятор, линкер, оптимизатор, ассемблер, конвертер форматов, стандартные библиотеки и др.), симулятор-отладчик, конфигуратор периферийных модулей, эмуляторы-отладчики различного уровня, в том числе реального времени, системные платформы, операционные системы реального времени, программаторы.

Рис. 1. Пример программно-аппаратного комплекса разработчика, включающего полноскоростной эмулятор

Программные средства

Главным звеном в разработке программного обеспечения микроконтроллеров является High$performance Embedded Workshop – HEW (рис. 2) – высокоэффективная среда разработки ПО, универсальная для всех микроконтроллеров компании Renesas Technology . Она представляет собой графическую среду для разработки программного обеспечения с пакетом компилятора С/С++, имеющую типичный для программ такого рода интерфейс. Все элементы интерфейса среды HEW, такие как различные оконные меню, панели инструментов, строки состояния, связанные окна и контекстные локальные меню, направлены на упрощение создания и управления проектами программного обеспечения конечной продукции.

Среда разработки ПО HEW обеспечивает следующие возможности:

  • создания и редактирования проекта
  • графического конфигурирования утилит компилятора
  • сборки проекта
  • отладки
  • управления версиями.

В среде HEW имеется интегрированный симулятор с расширенными возможностями, который позволяет отлаживать код приложения даже при отсутствии соответствующих аппаратных средств. Помимо этого сборка инструментальных средств компилятора С/С++, подключаемая к среде HEW, позволяет генерировать код, оптимизированный по скорости выполнения и/или по объему занимаемой памяти.

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


Рис. 2. Интерфейс среды разработки HEW

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

"Мастера" упрощают выполнение начальных этапов . Наличие "мастеров" генератора проекта (рис. 3), входящего в состав среды HEW, упрощает написание программы. Разработчик может прибегнуть к их помощи при задании конфигурации, выборе объектов отладки и создании стартового кода.


Рис. 3. Шаблоны и "мастера" проектов, упрощающие генерацию оптимального кода

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

  • окно профилирования кода (позволяет отображать статистическую информацию в текстовом и графическом виде)
  • возможность анализа производительности
  • окно анализатора использования исходного кода.

Вспомогательные инструментальные средства анализа, которые помогут разобраться в функционировании и структуре программы:

  • программа-анализатор стека
  • программа для просмотра файла распределения кода и данных (*.map), генерируемого компоновщиком.

Программные средства генерации оптимизированного кода C/C++ . Инструментальные средства Renesas (компилятор, ассемблер и компоновщик) полностью соответствуют спецификации языка C++ и обратно совместимы с языком C. В них реализованы расширения, позволяющие осуществлять полноценное управление встраиваемой системой средствами самого языка C без использования ассемблерных вставок. К этим расширениям относятся:

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

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

Бесплатная демонстрационная версия пакета HEW . Гибкая методика лицензирования, установленная компанией Renesas в отношении выпускаемой ею продукции, означает, что можно загрузить бесплатную демонстрационную версию пакета HEW с компилятором и использовать ее без ограничений в течение 60 дней. Такая возможность очень полезна для тестирования эффективности скомпилированного оптимизированного кода и производительности архитектуры. По истечении этого срока размер генерируемого кода ограничивается величиной 64 кбайт, что, тем не менее, не мешает исследовать архитектуру микроконтроллеров или экспериментировать с периферийными устройствами. Демонстрационная версия среды HEW отличается от полной версии только ограничением размера компилируемого кода. Поэтому возможна генерация полноценного кода для устройств, построенных на базе младших моделей микроконтроллеров (с меньшим, чем 64 кбайт объемом ПЗУ).

Интегрированные средства отладки пакета HEW . Поддержка отладки модульных объектов обеспечивается непосредственно самой средой HEW, благодаря чему можно создавать свое приложение и отлаживать его, не покидая эту среду. "Мастер" отладочной сессии позволяет добавлять следующие объекты отладки в рабочую среду:

  • симулятор
  • внутрисхемные эмуляторы (серия E6000)
  • JTAG$эмуляторы (E10A, E8)
  • оценочные платы с резидентным монитором.

Программа Flash Development Toolkit (FDT) компании Renesas является простой в использовании утилитой для программирования встроенной флэш-памяти микроконтроллеров семейства H8. Она позволяет создавать проекты, объединяющие несколько файлов, содержащих s$записи, в один загружаемый образ, а также сохранять параметры соединения для упрощения управления процессом программирования устройств.

FDT поддерживает:

  • непосредственное USB-подключение устройств, имеющих режим загрузки через USB$порт
  • последовательный обмен на скоростях до 115 200 бод
  • шестнадцатиричный редактор образа
  • выдачу разнообразных сообщений, помогающих при работе над проектом
  • аппаратные средства.

Аппаратные средства выпускаются в различных ценовых категориях, начиная с недорогих отладочных комплектов и стартовых наборов RSK (Renesas Starter Kit).

Отладочные комплекты . Отладочные комплекты и наборы RSK (рис. 4) представляют собой недорогой вариант аппаратных средств для оценки характеристик микроконтроллеров . В составе каждого комплекта имеется собранная макетная плата и компактдиск, который содержит:

  • ознакомительную версию пакета HEW, компиляторы языков C/C++, а также программу связи отладчика с резидентным монитором
  • утилиту Flash Development Toolkit (FDT).


Рис. 4. Набор начального уровня RSK

На компакт-диске также содержится руководство по быстрому старту, в котором подробно описан процесс инсталляции ПО, а также полный комплект документации с учебными проектами и учебным программным модулем "Project Generator" для среды HEW.

Внутрисхемные эмуляторы E8 и E10A-USB . Эмуляторы E8 и E10A$USB (рис. 5 и 6 соответственно) предназначены для подключения к отладочному интерфейсу JTAG. Эти недорогие устройства обеспечивают отладку в режиме реального времени с использованием специализированных ресурсов микроконтроллера, входящего в состав отлаживаемого устройства. Эмуляторы соединяются с пользовательской системой по интерфейсу, который может использоваться как для ее отладки, так и программирования расположенной на кристалле микроконтроллера флэш-памяти.


Рис. 5. Эмулятор-отладчик E8


Рис. 6. Эмулятор-отладчик E10A-USB

В эмуляторах E8 и E10A-USB используется интерфейс USB 2.0 с функцией plug-and-play, что позволяет легко подключать их к любому ПК или ноутбуку, имеющему интерфейс USB.

Основные возможности эмуляторов:

  • до 255 программных точек останова
  • одна аппаратная точка останова по значению адреса и данных
  • сохранение информации о 4 последних переходах
  • программирование внутренней флэш-памяти
  • интегрированная поддержка отладки в среде HEW.

Внутрисхемный эмулятор E6000 . Серия инструментов E6000 компании Renesas содержит множество развитых внутрисхемных эмуляторов реального времени, каждый из которых поддерживает одно из процессорных семейств. Эти эмуляторы можно использовать в полностью автономном режиме для разработки и отладки программного обеспечения или же, подключив их с помощью специального кабеля к разрабатываемому устройству, для отладки аппаратной части. Эти мощные отладочные средства обеспечивают:

  • эмуляцию микроконтроллера в режиме реального времени без циклов ожидания или изменения хода выполнения программы
  • память эмуляции объемом от 1 до 4 Мбайт, которая может быть сопоставлена с адресным пространством целевого процессора
  • 256 точек останова
  • наличие буфера трассировки размером до 32К машинных циклов, запись в который может быть остановлена, а его содержимое считано во время выполнения программы
  • фильтрацию событий, заносимых в буфер трассировки с использованием системы Complex Event System
  • фильтрацию событий, уже занесенных в буфер трассировки, с возможностью поиска
  • автоматическое отслеживание напряжения питания отлаживаемого устройства для исключения неправильной работы эмулятора при отклонении уровня напряжения питания устройства от допустимого значения
  • большой выбор источников тактового сигнала целевого устройства
  • интегрированную поддержку отладки в среде HEW.

Заключение

Архитектура SuperH не только востребована мировыми производителями электронной техники, но в некоторых областях она стала стандартом де-факто.

В частности, ИМС семейства SH-Mobile использованы в более чем 200 моделях мобильных телефонов, а на базе ИМС с ядром SH-4 и SH-4A построена большая часть автомобильных навигационных систем. Так же, как и старшие семейства, SH-2 и SH-2A активно используются в различных устройствах и системах, например, в бытовой технике, системах вентиляции и кондиционирования и т.п. С появлением недорогих микросхем семейства SH-Tiny повысился интерес к семейству SuperH в целом. Высокая производительность, оптимальный объем памяти, отличный набор периферии и развитые коммуникационные возможности делают эти микроконтроллеры незаменимыми не только в бытовых системах и офисном оборудовании, но и в промышленных системах для управления производственными процессами. Специализированный набор коммуникационной периферии позволяют использовать микросхемы с архитектурой SuperH в системах проводной связи, например, в телефонии и в локальных компьютерных сетях.

Литература

  1. High-performance Embedded Workshop User"s Manual. – Renesas, January 2004.
  2. Renesas Starter Kit User"s Manual. – Renesas, February 2006.

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

1) аппаратное устройство(аппаратная часть);

2) программный модуль(программная часть).

Поэтому обычно говорят о системах программно-аппаратной защиты.

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

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

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

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

Поэтому системы программно-аппаратной защиты от несанкционированного доступа могут служить в то же время и для защиты авторских прав разработчиков программ.

Системы программно-аппаратной защиты широко используются на практике и многими пользователями признаются надежным средством.

Идентификация пользователя может быть основана

· на знании некоторой секретной информации (пароль, код);

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

· на биометрических характеристиках (отпечатки пальцев, сетчатка глаза, спектральный состав голоса и т.п.).

Системы, основанные на знании некоторой секретной информации

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

Системы, основанные на владении некоторым специальным предметом или устройством

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

Уникальный код пользователя хранится и на так называемой Proximity -карте , снабженной радиопередатчиком. Специальный считыватель постоянно излучает электромагнитную энергию. При попадании карты в электромагнитное поле, карта посылает считывателю свой код, который затем система сравнивает с эталоном.

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

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

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

Системы, основанные на биометрических характеристиках

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

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

Устройства считывания отпечатков пальцев идентифицируют личность по форме и числу деталей - точек начала и конца линий на пальце.

Сканеры сетчатки глаза сканируют образцы сетчатки глаза пользователя, сосредоточиваясь на уникальных кровеносных сосудах. С помощью инфракрасного излучения с яркостью лампочки новогодней елки берутся данные по 300 точкам в области сетчатки глаза, и собранная информация преобразуется в число (стоимость такой системы защиты колеблется в пределах 6.000 долларов).

Устройства верификации голоса строят математическую модель вокального диапазона говорящего и используют ее для сравнения с образцом голоса (цена такого устройства колеблется от 1.000 до 1.500 долларов). Разработчики таких систем уделяют внимание решению проблеме обмана таких систем с помощью магнитофонов.

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

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

Аутентификация пользователя обычно реализуется по одной из двух схем: простая PIN -аутентификация или защищенная PIN -аутентификация. Обе схемы основаны на установлении подлинности пользователя посредством сравнения PIN -кода пользователя ( PIN - Personal identification number , персональный идентификационный номер) с эталоном.

При простой PIN -аутентификации PIN -код просто посылается в ключ (смарт-карту); ключ (смарт-карта) сравнивает его с эталоном, который хранится в его (ее) памяти, и принимает решение о дальнейшей работе.

Процесс защищенной PIN -аутентификации реализуется по следующей схеме:

· защищенное приложение посылает запрос ключу (смарт-карте) на PIN -аутентификацию;

· ключ (смарт-карта) возвращает случайное 64-разрядное число;

· приложение складывает это число по модулю 2 с PIN -кодом, который ввел владелец ключа (смарт-карты), зашифровывает его DES -алгоритмом на специальном ключе аутентификации и посылает результат ключу (смарт-карте);

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

В случае совпадения считается, что аутентификация прошла успешно и пользователь (приложение) может продолжать работу.

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

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

Новейшие стандарты и технологии (в частности, технология подключения устройств на основе USB -шины - Universal Serial Bus ) позволяют иметь дополнительные порты в удобных и легкодоступных местах компьютера и тем самым способствуют широкому применению аппаратных устройств для защиты.

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

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

n серийный номер программы;

n номер версии;

n дату выпуска (продажи) и др.

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

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

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

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

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

Электронные ключи обеспечивают также лицензирование в сетях.

Лицензия - это оговоренные при покупке программного продукта права на использование программы.

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

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

Для этого можно в памяти электронного ключа в отдельных, защищенных от записи полях, хранить счетчик лицензий, а также максимальное число пользователей лицензируемого приложения. Очевидно, что система, использующая такой электронный ключ, позволяет контролировать и ограничивать число станций, работающих (одновременно) с защищенной программой.

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

В январе 1999 года израильской компанией Aladdin Knowledge Systems была запатентована технология eToken USB (для нового поколения компьютеров с периферийной шиной USB ) на основе концептуально нового электронного ключа eToken . Электронный ключ eToken предназначен для безопасного хранения паролей, ключей шифрования, а также для защиты программного обеспечения и данных от несанкционированного использования. Устройство eToken USB представляет собой миниатюрный брелок (размер - 52 x 16 x 8 мм, вес 5 г.) с энергонезависимой (до 8 Кб) памятью, допускающей перезапись (не менее 100 тыс. раз). Ключ eToken является компромиссом между традиционным электронным ключом и смарт-картой. Для получения доступа к защищенному объекту пользователю достаточно вставить ключ eToken в USB -порт и набрать на клавиатуре личный код.

Электронный ключ eToken базируется на встроенной аппаратной системе аутентификации пользователей. Для аутентификации пользователей используется защищенная PIN -аутентификация.

Разработчику защиты предоставляется комплект разработчика - Developer ’ s Kit . В комплект разработчика входит программное обеспечение, которое позволяет организовать различные механизмы защиты.

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

Эмулирование электронного ключа - это способ взлома путем эмулирования программными или аппаратными средствами работы электронного ключа.

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

Программа-эмулятор реализована таким образом, что возвращает защищенному приложению «правильные» ответы на все обращения к электронному ключу. В результате получается электронный ключ, реализованный только на программном уровне.

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

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

Заметим, что реализация эмулятора электронного ключа достаточно сложна, поэтому доступна только высококвалифицированным специалистам.

Интересное решение для защиты от эмуляции электронного ключа и защиты программ от взлома предлагает компания Актив. Програм­мно-аппаратный комплекс защиты Guardant Stealth использует аппаратные алгоритмы преобразования данных, серьезно усложняющие разработку эмулятора ключа. Электронные ключи Guardant Stealth содержат микроконтроллеры (прозрачные для пользователя), производящие вычисления по одному из нескольких оригинальных высоко сложных алгоритмов (ключ может содержать до 18 таких алгоритмов). Микроконтроллер возвращает защищенному приложению преобразованную с помощью аппаратного алгоритма входную информацию.

___________________________________________________________

Подробнее

1. Электронные ключи Guardant Aptus - Internet -ресурс (www . novex . ru )

2. Аппаратные алгоритмы электронных ключей - Системы программно-аппаратной защиты компании Актив. Электронные ключи Guardant Stealth . Internet- ресурс (www.novex.ru)

3. Система лицензирования NetHASP - С. Груздев «Лицензирование программного обеспечения в сетях» Internet -ресурс (www . aladdin . ru )

HyperCard - первый продуманный и удобный авторский инструмент для работы с Multimedia, поскольку имеет аппарат ссылок на видео- и аудиоматериалы, цветную графику, текст с его озвучиванием

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

Появлению систем мультимедиа способствовал технический прогресс: возросла оперативная и внешняя память ЭВМ, появились широкие графические возможности ЭВМ, увеличилось качество аудио-видеотехники, появились лазерные компакт-диски и др.

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

Были разработаны звуковые платы (Sound Blaster), платы мультимедиа, которые аппаратно реализуют алгоритм перевода аналогового сигнала в дискретный. К компакт-дискам было подсоединено постоянное запоминающее устройство (CD-ROM).

Для хранения изображения неподвижной картинки на экране с разрешением 512 х 482 точек (пикселей) требуется 250 Кбайт. При этом качество изображения - низкое. Потребовалась разработка программных и аппаратных методов сжатия и развертки данных. Такие устройства и методы были разработаны с коэффициентом сжатия 100:1 и 160:1. Это позволило на одном компакт-диске разместить около часа полноценного озвученного видео. Наиболее прогрессивными методами сжатия и развертки считаются IPEG и MPEG.

Стив Джобс в 1988 г. создал принципиально новый тип персонального компьютера –NeХТ, у которого базовые средства систем мультимедиа заложены архитектуру, аппаратные и программные средства. Были применены новые мощные центральные процессоры 68030 и 68040, процессор обработки сигналов DSP, который обеспечивал обработку звуков, изображений, синтез и распознавание речи, сжатие изображения, работу с цветом. Объем оперативной памяти равнялся 32 Мбайтам, использовались стираемые оптические диски, стандартно встроенные сетевые контроллеры, которые позволяют подключаться в сеть, обеспечены методы сжатия, развертки и т.д. Объем памяти винчестера -105 Мбайт и 1,4 Гбайт.

Технология работы с NeXT - это новый шаг в общении человека с машиной. До сих пор работали с интерфейсом WIMP (окно, образ, меню, указатель). NeXT дает возможность работать с интерфейсом SILK (речь, образ, язык, знания). В состав NeXT входит система электронной мульти медиапочты, позволяющая обмениваться сообщениями типа речи, текста, графической информации и т.д.

Многие операционные системы поддерживают технологию мультимедиа: Windows, начиная с версии 3.1, DOS 7.0, OS/2 и др. Операционная система Windows-95 включила аппаратные средства поддержки мультимедиа, что позволяет пользователям воспроизводить оцифрованное видео, аудио, анимационную графику, подключать различные музыкальные синтезаторы и инструменты. В Windows-95 разработана специальная версия файловой системы для поддержки высококачественного воспроизведения звука, видео и анимации. Файлы мультимедийной информацией хранятся на CD-ROM, жестком диске или на сетевом сервере. Оцифрованное видео обычно хранится в файлах с расширением AVI, аудиоинформация - в файлах с расширением WAV, аудио в форме интерфейса MIDI - в файлах с расширением MID. Для их поддержки разработана файловая подсистема, обеспечивающая передачу информации с CD-ROM с оптимальной скоростью, что существенно при воспроизведении аудио- и видеоинформации.

Даже из такого краткого перечисления возможностей технологии мультимедиа видно, что идет сближение рынка компьютеров, программного обеспечения, потребительских товаров и средств производства того и другого. Наблюдается тенденция развития мультимедиа-акселераторов. Мультимедиа-акселератор - программно-аппаратные средства, которые объединяют базовые возможности графических акселераторов с одной или несколькими мультимедийными функциями, требующими обычно установки в компьютер дополнительных устройств. К мультимедийным функциям относятся цифровая фильтрация и масштабирование видео, аппаратная цифровая сжатие-развертка видео, ускорение графических операций, связанных с трехмерной графикой (3D), поддержка «живого» видео на мониторе, наличие композитного видеовыхода, вывод ТV-сигнала (телевизионного) на монитор. Графический акселератор также представляет собой программно-аппаратные средства ускорения графических операций: перенос блока данных, закраска объекта, поддержка аппаратного курсора. Происходит развитие микросхемотехники с целью увеличения производительности электронных устройств и минимизации их геометрических размеров. Микросхемы, выполняющие функции компонентов звуковой платы, объединяются на одной микросхеме размером со спичечный коробок. И предела этому нет.

К 90-м гг. было разработано более 60 пакетов программ с технологией мультимедиа. При этом стандарта не существовало, и в этом же году фирмы Microsoft и IBM одновременно предложили два стандарта. IBM предложила стандарт Ultimedia, a Microsoft - MPC. Остальные фирмы-производители стали разрабатывать пакеты программ на основе этих стандартов. В настоящее время используется стандарт МРС-2, кроме того, разработаны стандарты на приводы CD-RQM, Sound Blaster - звуковые карты, МIDI-интерфейс - стандарт для подключения различных музыкальных синтезаторов, DCI-интерфейс - интерфейс с дисплейными драйверами, позволяющими воспроизводить полноэкранную видеоинформацию, MCI-интерфейс - интерфейс для управления различными мультимедийными устройствами, стандарты на графические адаптеры. Фирма Apple совместно с FujiFilm разработали первый промышленный стандарт 1ЕЕЕР1394 для разработки набора микросхем Fire Wire, позволяющий оснастить цифровым интерфейсом многие потребительские товары, такие как видеокамера, для использования их в технологии мультимедиа.

Появление систем мультимедиа произвело революцию в таких областях, как образование, компьютерный тренинг, бизнес, и в других сферах профессиональной деятельности. Технология мультимедиа создала предпосылки для удовлетворения растущих потребностей общества. Позволила заменить техноцентрический подход (планирование индустрии зависит от прогноза возможных технологий) на антропоцентрический подход (индустрия управляется рынком). Дает возможность динамически отслеживать индивидуальные запросы мирового рынка, что отражается в тенденции перехода к мелкосерийному производству. Феномен мультимедиа демократизирует научное, художественное и производственное творчество. Именно авторские технологии совместно с сетевыми обеспечили процесс информатизации общества.

В настоящее время мультимедиа-технологии являются бурно развивающейся областью информационных технологий. В этом направлении активно работает значительное число крупных и мелких фирм, технических университетов и студий (в частности IBM, Apple, Motorola, Philips, Sony, Intel и др.). Области использования чрезвычайно многообразны: интерактивные обучающие и информационные системы, САПР, развлечения и др.

Основными характерными особенностями этих технологий являются:

Объединение многокомпонентной информационной среды (текста, звука, графики, фото, видео) в однородном цифровом представлении;

Обеспечение надежного (отсутствие искажений при копировании) и долговечного хранения (гарантийный срок хранения - десятки лет) больших объемов информации;

Простота переработки информации (от рутинных до творческих операций).

Достигнутый технологический базис основан на использовании нового стандарта оптического носителя DVD (Digital Versalite/Video Disk), имеющего емкость порядка единиц и десятков гигабайт и заменяющего все предыдущие: CD-ROM, Video-CD, CD-audio. Использование DVD позволило реализовать концепцию однородности цифровой информации. Одно устройство заменяет аудиоплейер, видеомагнитофон, CD-ROM, дисковод, слайдер и др. В плане представления информации оптический носитель DVD приближает ее к уровню виртуальной реальности.

Многокомпонентную мультимедиа-среду целесообразно разделить на три группы: аудиоряд, видеоряд, текстовая информация.

Аудиоряд может включать речь, музыку, эффекты (звуки типа шума, грома, скрипа и т.д., объединяемые обозначением WAVE (волна) . Главной проблемой при использовании этой группы мультисреды является информационная емкость. Для записи одной минуты WAVE-звука высшего качества необходима память порядка 10 Мбайт, поэтому стандартный объем CD (до 640 Мбайт) позволяет записать не более часа WAVE. Для решения этой проблемы используются методы компрессии звуковой информации.

Другим направлением является использование в мультисреде звуков (одноголосая и многоголосая музыка, вплоть до оркестра, звуковые эффекты) MIDI (Musical Instrument Digitale Interface). В данном случае звуки музыкальных инструментов, звуковые эффекты синтезируются программно-управляемыми электронными синтезаторами. Коррекция и цифровая запись MIDI-звуков осуществляется с помощью музыкальных редакторов (программ-секвенсоров). Главным преимуществом MIDI является малый объем требуемой памяти - 1 минута MIDI-звука занимает в среднем 10 кбайт.

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

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

Динамический видеоряд представляет собой последовательность статических элементов (кадров). Можно выделить три типовых группы:

Обычное видео (life video) - последовательность фотографий (около 24 кадров в секунду);

Квазивидео - разреженная последовательность фотографий (6-12 кадров в секунду);

Анимация - последовательность рисованных изображений. Первая проблема при реализации видеорядов - разрешающая

способность экрана и число цветов. Выделяют три направления:

Стандарт VGA дает разрешение 640 х 480 пикселей (точек) на экране при 16 цветах или 320 х 200 пикселей при 256 цветах;

Стандарт SVGA (видеопамять 512 кбайт, 8 бит/пиксель) дает разрешение 640 х 480 пикселей при 256 цветах;

24-битные видеоадаптеры (видеопамять 2 Мбайт, 24 бит/пиксель) позволяют использовать 16 млн цветов.

Вторая проблема - объем памяти. Для статических изображений один полный экран требует следующие объемы памяти:

В режиме 640 х 480, 16 цветов - 150 кбайт;

В режиме 320 х 200, 256 цветов - 62,5 кбайт;

В режиме 640 х 480, 256 цветов - 300 кбайт.

Такие значительные объемы при реализации аудио- и видеорядов определяют высокие требования к носителю информации, видеопамяти и скорости передачи информации. "

При размещении текстовой информации на CD-ROM нет никаких сложностей и ограничений ввиду большого информационного объема оптического диска.

Основные направления использования мультимедиа-технологий:

Электронные издания для целей образования, развлечения и др.;

В телекоммуникациях со спектром возможных применений от просмотра заказной телепередачи и выбора нужной книги до участия в мультимедиа-конференциях. Такие разработки получили название Information Highway;

Мультимедийные информационные системы («мультимедиа-киоски»), выдающие по запросу пользователя наглядную информацию.

С точки зрения технических средств на рынке представлены как полностью укомплектованные мультимедиа-компьютеры, так и отдельные комплектующие и подсистемы (Multimedia Upgrade Kit), включающие в себя звуковые карты, приводы компакт-дисков, джойстики, микрофоны, акустические системы.

Для персональных компьютеров класса IBM PC утвержден специальный стандарт МРС, определяющий минимальную конфигурацию аппаратных средств для воспроизведения мультимедиа-продуктов. Для оптических дисков CD-ROM разработан международный стандарт (ISO 9660).

Экономика – в конце документа