Vba – create a valid digital self-signed certificate selfcert.exe | vba tutorial
To run macros and maintain the security Office applications provide against malicious code, it is necessary to digitally sign the VBAProject.OTM from the VBA editor > Tools > Digital Signature.
Office comes with a utility to create a self-signed digital certificate that you can employ on the PC to sign your projects.
This utility SELFCERT.EXE is in the Office program folder,
Click on Digital Certificate for VBA Projects to open the certificate wizard.
In the dialog enter a suitable name for the certificate and click OK.
If all goes well you will see a confirmation:
You can now close the SELFCERT wizard and turn your attention to the certificate you have created.
If you try to employ the certificate you have just created and you check its properties
You will see that the certificate is not trusted and the reason is indicated in the dialog.
The certificate has been created in the Current User > Personal > Certificates store. It needs to go in Local Computer > Trusted Root Certificate Authorities > Certificates store, so you need to export from the former and import to the latter.
Pressing the Windows Key R which will open the ‘Run’ Window. then Enter ‘mmc’ in the window as shown below and click ‘OK ‘.
The Microsoft Management Console will open and look like the following.
From the File menu, select Add/Remove Snap-in… Then from the ensuing dialog, double click Certificates and then click OK
Expand the dropdown in the left window for Certificates – Current User‘ and select certificates as shown below. The center panel will then show the certificates in that location, which will include the certificate you created earlier:
Right click the certificate and select All Tasks > Export:
Export Wizard
Click Next
the Only one pre-selected option will be available, so click ‘Next’ again:
The top item will already be pre-selected. Click Next again and choose a name and location to save the exported certificate.
Click Next again to save the certificate
Once focus is returned to the Management Console.
Expand the Certificates menu and from the Trusted Root Certification Authorities menu, select Certificates.
Right click. Select All Tasks and Import
Click next and Save to the Trusted Root Certification Authorities store:
Then Next > Finish, now close the Console.
If you now use the certificate and check its properties, you will see that it is a trusted certificate and you can use it to sign your project:
Добавление цифровой
подписи к файлу или проекту макроса
Для цифрового подписания файла
или проекта макроса используется цифровой сертификат.
Если цифровой сертификат
отсутствует, его необходимо получить.Инструкции
Выполните одну из следующих
процедур.Подписание файла
Подписание проекта макроса
Просмотр цифровых
сертификатов для файла или проекта макроса
Просматривая сведения о цифровом
сертификате определите по значениям полей
Кому выдан и Кем выдан,
является ли его источник надежным. По значению поля Действителен с
определите, является ли сертификат текущим.
Выполните одну из следующих
процедур.
Просмотр сертификатов для файла
Просмотр сертификатов для
проекта макроса
Создание цифрового сертификата
Если вы не хотите приобретать цифровой сертификат у стороннего центра сертификации или вам требуется срочно подписать документ, вы можете создать собственный цифровой сертификат.
- Какую версию Windows вы используете?
- Windows 10
- Windows 8
- Windows 7, Windows Vista или Windows XP
Перейдите в папку C:Program Files (x86) Microsoft оффицерут (или C:Program FilesMicrosoft OfficerootOffice16 , если используется 64-разрядная версия Office).
Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.
В поле Имя вашего сертификата введите описательное имя сертификата.
Нажмите кнопку ОК.
Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.
Перейдите в папку C:Program FilesMicrosoft Office .
Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.
В поле Имя вашего сертификата введите описательное имя сертификата.
Нажмите кнопку ОК.
Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.
Нажмите кнопку Пуск и выберите по очереди пункты Все программы, Microsoft Office, Средства Microsoft Office и Средство создания цифровых сертификатов для проектов VBA. Откроется диалоговое окно Создание цифрового сертификата.
В поле Имя вашего сертификата введите описательное имя сертификата.
Нажмите кнопку ОК.
Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.
Чтобы просмотреть хранилище личных сертификатов, выполните указанные ниже действия.
Откройте Internet Explorer.
В меню Сервис выберите пункт Свойства обозревателя, а затем откройте вкладку Содержание.
Нажмите кнопку Сертификаты и откройте вкладку Личные.
Важно: Если подписать документ с применением собственного цифрового сертификата и поделиться им, то другие пользователи не смогут проверить достоверность вашей цифровой подписи. Им придется вручную указать, что они доверяют вашему самозаверяющему сертификату.
Создание цифровых сертификатов и подпись макросов в книгах ms excel
12. Создать собственный цифровой сертификат:
· Создать цифровой сертификат с помощью средства Цифровой сертификат для проектов VBA(Digital Certificate for VBA Projects), находящегося в группе Средства Microsoft Office (Microsoft Office Tools) в меню Microsoft Office, или использовать свой сертификат, созданный в одной из предыдущих лабораторных работ.
· Создать еще один цифровой сертификат с фиктивным именем Михайла Ломоносов.
13. Открыть в MS Excel книгу Книга с макросом1.
14. Добавить к проекту VBA, содержащему код макроса Граница_и_заливка, цифровую подпись:
· На панели инструментов Разработчик в группе Код выполнить команду Visual Basic .
· Выполнить команду Tools/Digital Signature. В окне Цифровая подпись нажать кнопку Выбрать, выделить мышью сертификат, названный своим именем и нажать ОК. Проверить, что имя сертификата высветилось в группе Текущая подпись проекта VBA окна Цифровая подпись.
· Щелкнуть на кнопке Подробности, перейти на вкладку Состав окна Сертификат и просмотреть параметры сертификата. Перейти на вкладку Путь сертификации и удостовериться, что источник, выдавший сертификат не считается надежным – помечен красным крестиком. Закрыть окно Сертификат, нажав ОК.
· Подтвердить подпись проекта, нажав ОК в окне Цифровая подпись.
· Сохранить изменения и закрыть окно редактора VBA.
· Установить уровень безопасности для макросов Отключить все макросы, кроме макросов с цифровой подписью.
· Сохранить изменения и закрыть книгу Книга с макросом1.
15. Занести цифровую подпись со своим именем в список надежных источников:
· Открыть книгу Книга с макросом1. Удостовериться, что строка предупреждения выдается, так как нет доверия к сертификату.
· Перейти на вкладку Файл/Сведения или щелкнуть на ссылке Запуск макросов отключен строки предупреждения. Выбрать пункт Дополнительные параметры из выпадающего списка Включить содержимое.
· Просмотреть данные о текущем цифровом сертификате, затем установить переключатель в позицию Доверять всем документам от этого издателя и нажать ОК.
16. Закрыть и вновь открыть книгу. Проверить, что уведомление системы безопасности не выдается, макросы при этом активны (выполняются).
17. Удостовериться, что сертификат занесен в список надежных источников, открыв вкладку Надежные издатели в окне команды Разработчик/Безопасность макросов.
18. Заверить макрос из книги Книга с макросом2 цифровой подписью Михайла Ломоносов.
19. Установить уровень безопасности для макросов Отключить все макросы, кроме макросов с цифровой подписью (Разработчик, Безопасность макросов, вкладка Параметры макросов).
20. Проверить, что при открытии книги с подписью из ненадежного источника Книга с макросом2 по-прежнему выдается уведомление системы безопасности.
Задание 3. С помощью оснастки для управления цифровыми сертификатами осуществить экспорт своего сертификата для проверки подписи на другом компьютере.
§
21. Открыть оснастку Сертификаты, для этого:
· Открыть командную строку Windows командой Пуск/Выполнить. Ввести в командной строке mmc и нажать ОК. Будет создана новая консоль Windows.
· В окне консоли выполнить команду Консоль/Добавить или удалить оснастку, в окне добавления оснастки щелкнуть кнопку Добавить и выбрать тип оснастки – Сертификаты. Нажать кнопку Добавить, (если вы работаете в сеансе пользователя-администратора будет открыто окно Оснастка диспетчера сертификатов, в этом окне следует установить переключатель с позицию моей учетной записи пользователя и нажать кнопку Готово). Затем нажать Закрыть. Выйти из окна добавления оснастки, нажав ОК.
· Сохранить параметры консоли, выполнив команду Консоль/Сохранить. В окне команды должна быть выбрана папка Администрирование, в строку Имя файла ввести имя Сертификаты и нажать кнопку Сохранить.
· Закрыть окно консоли.
22. Отобразить группу Администрирование в главном меню Windows:
· Щелкнуть правой кнопкой мыши на кнопке Пуск главного меню или в любом месте панели задач Windows и выбрать команду Свойства.
· В окне свойств перейти на вкладку Меню «Пуск» и нажать кнопку Настроить. Если было выбрано Классическое меню «Пуск», то установить флажок Отображать меню «Администрирование» и нажать ОК. Если было выбрано Меню «Пуск», то перейти на вкладку Дополнительно, в группе Администрирование установить переключатель в позицию Отображать в меню «Все программы» и нажать ОК. Для выхода из окна настройки меню нажать ОК.
23. В группе Программы главного меню Windows выбрать группу Администрирование и открыть созданную ранее оснастку Сертификаты.
24. Просмотреть с помощью оснастки список доверенных издателей: в окне оснастки Сертификаты раскрыть группу Сертификаты – текущий пользователь, выбрать группу Доверенные издатели, а затем Сертификаты. Проверить, что в этой группе имеется ваш сертификат.
25. Экспортировать цифровой сертификат:
· В окне оснастки Сертификаты раскрыть группу Сертификаты – текущий пользователь, выбрать группу Личные, а затем Сертификаты.
· Выбрать сертификат Михайла Ломоносов, щелкнуть на нем правой кнопкой мыши и выбрать команду Все задачи/Экспорт – будет открыт мастер экспорта.
· В мастере экспорта сертификата нажимать кнопку Далее, не меняя настроек, на этапе задания файла экспорта с помощью кнопки Обзор выбрать свою рабочую папку, задать имя файла сертификат и нажать ОК, затем нажать Далее и Готово.
· Закрыть оснастку Сертификаты, проверить, что в рабочей папке появился файл сертификат .
26. Скопировать рабочую папку на другой компьютер (либо создать нового локального пользователя Windows и зайти в Windows под именем нового пользователя).
27. На другом компьютере (в сеансе нового пользователя) открыть приложение MS Excel, установить уровень безопасности для макросов Отключить все макросы кроме макросов с цифровой подписью.
28. Открыть книгу Книга с макросом2, проанализировать уведомление системы безопасности; удостовериться, что подпись считается недействительной, невозможно включить макрос, невозможно добавить сертификат в список доверенных источников.
29. Импортировать сохраненный в файле цифровой сертификат для обеспечения возможности проверки подписи:
· Запустить мастер установки сертификата, для этого открыть свойства браузера MS Internet Explorer (Сервис/Свойства обозревателя), перейти на вкладку Содержание, нажать кнопку Сертификаты, затем в окне Сертификаты нажать кнопку Импорт. Запустить мастер установки сертификата можно также двойным щелчком мыши на файле сертификата.
· В окне мастера нажать Далее, с помощью кнопки Обзор выбрать рабочую папку, в которой сохранен файл с сертификатом, выбрать файл сертификат и нажать Открыть. Нажать кнопку Далее.
· В следующем окне мастера установить переключатель в положение Автоматически выбрать хранилище на основе типа сертификата, нажать кнопку Далее, а затем кнопку Готово.
· Изучить предупреждение системы о том, что готовится установка корневого сертификата и нажать Да.
· Закрыть окно свойств обозревателя.
30. Открыть книгу Книга с макросом2, проанализировать уведомление системы безопасности; удостовериться, что после установки сертификата подпись считается действительной, можно включить макрос и добавить сертификат в список доверенных источников.
31. Проверить, что при внесении изменений в код макроса, цифровая подпись снимается:
· Создать копию книги Книга с макросом2 (сохранить ее под новым именем Книга с макросом3). Открыть книгу Книга с макросом3 в MS Excel.
· Перейти в редактор VBA, открыть код макроса.
· Изменить значение какого-либо свойства форматирования, устанавливаемого макросом. Например, найти в коде макроса текст With Selection.Font, а затем – строку .Size = 12 и заменить размер шрифта (12) на больший (14).
· В редакторе VBA нажать значок сохранения, проверить, что будет выдано уведомление об удалении подписи, нажать кнопку Сохранить изменения и удалить подпись.
· Проверить, что невозможно подписать макрос заново с помощью сертификата Михайла Ломоносов (сертификат недоступен в списке Выбрать команды Tools/Digital Signature).
32. Ответить на контрольные вопросы.
33. Показать результаты выполнения лабораторной работы преподавателю, затем отключить отображение группы Администрирование в меню Windows.
Контрольные вопросы:
1. Почему не на всех компьютерах с ОС Windows XP в главном меню имеется пункт Администрирование?
(Для отображения пункта Администрирование требуется задать соответствующие настройки главного меню Windows).
2. Какие средства ОС и офисных приложений Windows позволяют работать с цифровыми сертификатами?
(Работу с сертификатами можно осуществлять с помощью встроенных команд приложений MS Office – команда Файл/Сведения/Защитить документ/Добавить цифровую подпись, в настройках браузера MS Internet Explorer (Сервис/ Свойства обозревателя/Содержание/Сертификаты), а также через оснастку ОС Windows Сертификаты.
3. Почему при переносе подписанного документа (проекта VBA – макроса) на другой компьютер невозможно проверить подлинность подписи?
(Проверка подлинности подписи осуществляется с помощью открытого ключа соответствующего сертификата. Поскольку сертификаты были выданы локально, открытый ключ не доступен другим пользователям и на других компьютерах. Однако сертификат можно экспортировать во внешний файл, тогда после импорта сертификата на другом компьютере станет возможной проверка подлинности подписи).
4. Почему даже после импорта сертификата на другом компьютере невозможно заново подписать той же подписью измененный документ (либо проект VBA – макрос)?
(Для подписания требуется наличие закрытого ключа сертификата, однако закрытый ключ не может быть экспортирован/импортирован для сертификатов проектов VBA. Для сертификатов данного вида доступен только экспорт/импорт открытого ключа, использующегося для проверки подлинности подписей).
ТЕМА 4. ЭЛЕМЕНТЫ СТЕГАНОГРАФИИ
Задача защиты конфиденциальной информации от несанкционированного доступа решалась во все времена на протяжении истории человечества. Уже в древнем мире выделилось два основных направления решения этой задачи, существующие и по сегодняшний день: криптография и стеганография. Целью криптографии является скрытие содержимого сообщений за счет их шифрования. В отличие от этого, при стеганографии скрывается сам факт существования тайного сообщения. При этом оба способа могут быть объединены и использованы для повышения эффективности защиты информации.
Методы стеганографии позволяют скрывать секретные сообщения путем их встраивания в безобидные послания так, чтобы невозможно было заподозрить существование встроенного тайного послания. Примером классической стеганографии является использование симпатических («невидимых») чернил, которые проявляются при нагревании или других манипуляциях с письмом.
Слово «стеганография» происходит от греческих слов steganos (секрет, тайна) и graphy (запись) и означает буквально «тайнопись». Исторически это направление защиты секретных сообщений появилось первым, но затем во многом было вытеснено криптографией.
Скрываемая информация называется стеганограммой или просто стего. Данные, среди которых она прячется, играют роль информационного контейнера.
Большинство текущих исследований в области стеганографии так или иначе связаны с цифровой обработкой сигналов. Это позволяет говорить о цифровой стеганографии. Контейнером могут служить любые данные (файлы) достаточно большого объема, например графические или звуковые. Их структура проста и, как правило, обладает большой избыточностью, позволяющей вместить значительный объем дополнительной информации.
Стеганография, использующая текстовые контейнеры, называется текстовой. Методы текстовой стеганографии, как правило, не отвечают современным требованиям надежности, однако хорошо иллюстрируют идеи стеганографии.
Примером является выбор определенных позиций букв (нулевой шифр). Частный случай этого метода – акростих, когда начальные буквы каждой строки образуют сообщение. Определенные символы открытого текста могут выделяться, например, за счет незначительных различий в написании рукописных символов, либо незаметных пометок (например, булавочных проколов) печатных символов.
Компьютерным аналогом этого метода является выделение нужного слова предваряющим его двойным пробелом.
Кроме того, при сокрытии двоичных последовательностей одинарный пробел может соответствовать значению 0, а двойной – 1.
Другим вариантом является кодирование двоичного сообщения с помощью добавления (1) или отсутствия (0) дополнительного пробела в конце строки/абзаца (метод хвостовых пробелов), либо замена (1) или отсутствие замены (0) символа русского текста латинской буквой, одинаковой с ним по написанию (метод знаков одинакового начертания). При распечатке скрытая информация будет потеряна.
Обеспечение секретности информации перечисленными методами текстовой стеганографии возможно лишь благодаря тому, что противнику неизвестен сам метод скрытия, то есть такие методы не являются стойкими.
Лабораторная работа № 6. Сокрытие сообщения методом знаков одинакового начертания
Стеганографический метод знаков одинакового начертания позволяет скрыть произвольное сообщение в электронном тексте. Метод основан на том, что ряд символов кириллицы и латиницы имеют одинаковое экранное представление, в то время как их кодировка различается, поскольку для латинского и национального алфавитов используются разные части кодовых таблиц.
К таким символам относятся: «а», «А», «В», «е», «Е», «К», «М», «Н», «о», «О», «р», «Р», «с», «С», «Т», «у», «х», «Х». Так, например, буква «А» в русском написании имеет ASCII-код 192, а в латинском – 65.
Пусть скрываемое сообщение содержит только символы, которые могут быть закодированы таблицей ASCII (русский/ латинский текст, цифры, знаки препинания). Таблицу ASCII (правда не для русской, а для западноевропейской раскладки клавиатуры можно посмотреть в окне команды MS Word Вставка/Символ/Обычный текст). Каждый символ в этом случае кодируется числом от 0 до 255 или в двоичном виде – одним байтом (8 двоичных знаков).
Пусть в качестве контейнера используется русский текст, не содержащий отдельных символов латиницы. Если текст содержит отдельные латинские слова, при стеганографическом кодировании/декодировании они игнорируются (пропускаются). Далее следует просматривать подряд символы одинакового начертания в тексте, и если требуется закодировать значение 0, то символ не менять, а если следует закодировать 1 – изменить символ на символ того же начертания латинского алфавита.
Пример: Пусть следует скрытно передать число 7, используя в качестве контейнера текст «Хорошо в деревне летом!».
Числу 7 соответствует ASCII-код 55 и двоичная последовательность 00110111.
Выделим в тексте знаки одинакового начертания (жирным шрифтом):
Хорошо в деревне летом!
В тексте длиной 20 символов получили 11 знаков, с помощью которых можно кодировать стеганограмму. Таким образом, данный метод отличается высокой производительностью.
В примере для кодирования сообщения потребуется всего 8 знаков одинакового начертания, будем перебирать эти знаки один за другим подряд с начала сообщения, заменяя латиницей те из них, которые соответствуют единицам двоичной последовательности (рис.27). На рис.27 замененные символы выделены подчеркиванием.
Контейнер | Х | о | р | о | ш | о | в | д | е | р | е | в | н | е | л | е | т | о | м | ! | |||
Стеганограмма | |||||||||||||||||||||||
Контейнер со стего | Х | о | p | o | ш | о | в | д | e | p | e | в | н | е | л | е | т | о | м | ! |
Рис.27. Пример применения метода символов одинакового начертания
Данный метод не лишен недостатков, так, факт передачи секретного сообщения невозможно скрыть при просмотре текста контейнера в редакторе MS Word.
Если заполненный контейнер открыть в приложении MS Word с включенной проверкой правописания, слова со вставленными латинскими символами будут помечены как орфографические ошибки.
Кроме того, замененные символы могут быть выделены при изменении форматирования. Например, если выделить в MS Word весь текст заполненного стего-контейнера шрифтом, не поддерживающим русский алфавит, будут переформатированы только замененные символы (латиница), например:
· шрифт Algerian: Хоpoшо в дepeвне летом!
· шрифт Blackadder ITC: Хоpoшо в дepeвне летом!
· шрифт Brush Script MT: Хоpoшо в дepeвне летом!
Таким образом, метод не отличается стойкостью.
Задание
Скрыть стеганограмму в текстовом контейнере, используя метод знаков одинакового начертания. Извлечь стеганограмму из текста.