Главная страница
Навигация по странице:

  • ЛЕКЦИЯ 11. СЕРТИФИКАТ РАЗРАБОТЧИКА. ПРОЦЕСС ПОДПИСИ И ПРОВЕРКИ КОДА 1. Сертификаты разработчика Сертификаты разработчика (Code Signing сертификаты)

  • Рис. 19 Сообщение о программе Рис. 20 Сообщение о программе 2. Виды сертификатов разработчика

  • Сертификаты по центрам сертификации Платформа / центр сертифи- кации Syman- tec Thawte Comodo Digicert Global

  • Code Signing for Apple.

  • Adobe Air Signing

  • 3. Принцип работы сертификата разработчика (Code Signing) Процесс подписи кода представлен на рисунке 21. Рис. 21

  • 4. Центр сертификации (CA) Центр сертификации

  • Timestamp

  • ЛЕКЦИЯ 12. SSL-СЕРТИФИКАТ: СОДЕРЖАНИЕ, ФОРМИРОВАНИЕ ЗАПРОСА, ПРОВЕРКА ДАННЫХ С ПОМОЩЬЮ СЕРВИСОВ 1. SSL-сертификат Цифровые SSL-сертификаты

  • 2. Принцип работы SSL-сертификата

  • Лагоша О.Н. - Сертификация информационных систем (2021). Курс лекций по дисциплине Сертификация информационных систем. Предназначено для студентов специальности Информационные системы и программирование


    Скачать 5.4 Mb.
    НазваниеКурс лекций по дисциплине Сертификация информационных систем. Предназначено для студентов специальности Информационные системы и программирование
    Дата09.02.2023
    Размер5.4 Mb.
    Формат файлаpdf
    Имя файлаЛагоша О.Н. - Сертификация информационных систем (2021).pdf
    ТипКурс лекций
    #927444
    страница10 из 12
    1   ...   4   5   6   7   8   9   10   11   12
    Заключение по результатам сертификационных испытаний разраба- тывается сертификаторами и содержит обобщенные сведения о результатах ис- пытаний и обоснование целесообразности выдачи сертификата. В случае полу- чения отрицательных результатов сертификационных испытаний принимается решение об отказе в выдаче сертификата соответствия. После доработки серти- фицируемой продукции или системы качества испытания могут быть повторе- ны. Результаты анализа состояния технологии или качества продукции оформ-
    ляются актом, в котором даются оценки по всем позициям программы испы- таний и содержатся выводы, включающие общую оценку состояния производ- ства и продукции, необходимость корректирующих мероприятий. Акт исполь- зуется органом по сертификации наряду с протоколами испытаний, заявкой для выдачи и определения срока действия сертификата на программный продукт, периодичности инспекционного контроля, а также для составления корректи- рующих мероприятий.
    По результатам сертификационных испытаний и экспертизы документа- ции принимается решение о выдаче сертификата. В случае получения отри- цательных результатов сертификационных испытаний принимается решение об
    отказе в выдаче сертификата соответствия. Кроме того, предприятию- заявителю могут быть направлены предложения по устранению предполагае- мых причин отрицательных результатов испытаний, после доработки сертифи- цируемой продукции испытания могут быть повторены.
    Орган по сертификации после анализа протоколов испытаний, оценки производства, сертификации системы качества, анализа документации, указан- ной в решении по заявке, осуществляет оценку соответствия продукции уста- новленным требованиям, оформляет сертификат на основании заключения экспертов и регистрирует его. При внесении изменений в конструкторскую или эксплуатационную документацию, которые могут повлиять на качество системы или программный продукт, удостоверяемые при сертификации, заяви- тель должен известить об этом орган по сертификации для принятия решения о
    8 / 10

    89
    необходимости проведения дополнительных испытаний. После регистрации сертификат вступает в силу и направляется предприятию-заявителю. Одновре- менно с выдачей сертификата предприятию-заявителю может выдаваться ли-
    цензия на право применения знака соответствия.
    За сертифицированными программными продуктами в процессе их экс- плуатации в течение всего срока действия сертификата соответствия должен осуществляться инспекционный контроль. Инспекционный контроль прово- дится в форме периодических и внеплановых проверок соблюдения требований к качеству технологии и сертифицированной продукции. Объектами контроля, в зависимости от схемы сертификации, является сертифицированная продук- ция, система качества или стабильность производства предприятия-разработчи- ка. При определении периодичности и объема инспекционной проверки учиты- ваются следующие факторы: степень потенциальной опасности программного продукта, стабильность производства, объем выпуска, наличие и применение системы качества при разработке, информация о результатах испытаний про- дукта и его производства, проведенных изготовителем, органами государствен- ного контроля и надзора.
    Результаты инспекционного контроля оформляются актом, в котором дается оценка результатов испытаний образцов и других проверок, делается общее заключение о состоянии производства сертифицированной продукции и возможности сохранения действия выданного сертификата. Акт хранится в ор- гане по сертификации, а его копии направляются разработчику и в организа- ции, принимавшие участие в инспекционном контроле. По результатам ин- спекционного контроля орган по сертификации может приостановить или
    отменить действие сертификата и аннулировать лицензию на право при- менения знака соответствия в случае несоответствия продукции требованиям нормативных документов, контролируемых при сертификации, а также в слу- чаях:
    принципиальных изменений модели зрелости, профиля стандартов, нормативных документов на продукцию или метода испытаний;
    – изменения конструкции (состава), комплектности продукции;
    – изменения организации или технологии разработки и производства;
    – невыполнения требований технологии, методов контроля и испытаний, системы качества, если перечисленные изменения могут вызвать несоответст- вие продукции требованиям, контролируемым при сертификации.
    Решение о приостановлении действия сертификата и лицензии на право применения знака соответствия не принимается в том случае, если путем кор- ректирующих мероприятий, согласованных с органом по сертификации, его выдавшим, заявитель может устранить обнаруженные причины несоответствия и подтвердить без повторных испытаний в аккредитованной лаборатории соот- ветствие продукта или процессов нормативным документам. Если этого сде- лать нельзя, то действие сертификата отменяется и лицензия на право примене- ния знака соответствия аннулируется. Информация о приостановлении или от- мене действия сертификата доводится органом по сертификации, его выдав- шим, до сведения заявителя, потребителей и других заинтересованных органи-
    9 / 10

    90
    заций. Действие сертификата и право маркирования продукции знаком соответ- ствия могут быть возобновлены при выполнении предприятием-разработчиком следующих условий:
    – выявления причин несоответствия и их устранения;
    – представления в орган по сертификации отчета о проделанной работе по улучшению и обеспечения качества продукции;
    – проведения по методикам и под контролем органа по сертификации до- полнительных испытаний продукции и получения положительных результатов.
    10 / 10

    91
    ЛЕКЦИЯ 11. СЕРТИФИКАТ РАЗРАБОТЧИКА.
    ПРОЦЕСС ПОДПИСИ И ПРОВЕРКИ КОДА
    1. Сертификаты разработчика
    Сертификаты разработчика (Code Signing сертификаты) — это сер- тификат, которым подписывается программное обеспечение или скрипты, ко- торый подтверждает автора программы и гарантирует, что код не был изменен после того, как была наложена цифровая подпись.
    Сертификат разработчика Code Signing гарантирует:
    подлинность источника, подтверждая посредством цифровой подпи- си, что ПО на самом деле выпущено указанной в сертификате компанией или физическим лицом;
    целостность кода, подтверждая, что с момента подписания код про- граммы не был изменен, поврежден или дополнен.
    Во всех современных версиях Windows, начиная с Windows XP SP2, при установке программного обеспечения без такой цифровой подписи вы получите предупреждение. То же самое, кстати, касается и установки драйверов, которые не имеют соответствующей цифровой подписи.
    В случае если цифровая подпись не найдена, Windows выдаст предупре- ждение, что у этой программы «Неизвестный издатель» и запускать ее не реко- мендуется (рис. 19).
    В случае если программа имеет цифровую подпись, то окошко будет вы- глядеть иначе и вы также сможете посмотреть информацию о сертификате
    (рис. 20).
    Рис. 19
    Сообщение о программе
    Рис. 20
    Сообщение о программе
    2. Виды сертификатов разработчика
    Сертификаты по центрам сертификации, которые их выпускают, пред- ставлены в таблице 9. В колонках указаны названия центров сертификации, а в строках — тип сертификата или технология/платформа, для которой он исполь- зуется.
    1 / 10

    92
    Таблица 9
    Сертификаты по центрам сертификации
    Платформа /
    центр сертифи-
    кации
    Syman-
    tec
    Thawte Comodo Digicert
    Global-
    sign
    Trust-
    wave
    Startcom
    Microsoft Authen- ticode Signing
    + + + + + + +
    Code Signing for
    Apple
    + + + + + +
    Microsoft Vba
    Signing
    + + + + + + +
    Java
    Code
    Signing
    + + + + + + +
    Adobe
    Air
    Signing
    + + + + + + +
    Kernel Mode
    Signing
    + + + +
    Android
    +
    Windows
    Phone
    +
    Qualcomm
    BREW
    +
    Стоимость, от 500$ 250$ 90$ 220$ 220$ 330$ 200$
    Не все центры сертификации дают полную информацию о платформах, на которых работают их сертификаты, поэтому плюсом отмечены только те платформы, поддержка которых в явном виде заявлена центром сертификации.
    Microsoft Authenticode. Для подписи 32- и 64-битных файлов (.exe, .cab,
    .dll, .ocx, .msi, .xpi и .xap файлы). Также позволяет подписывать код для Micro- soft® Office, Microsoft VBA, Netscape Object Signing и Marimba Channel Signing.
    Поддерживает приложения на Silverlight 4.
    Code Signing for Apple. Позволяет разработчикам подписывать програм- мы для Mac OS, а также обновления для программного обеспечения.
    Microsoft Office Vba Signing. Подписывает VBA-объекты, скрипты и макросы для файлов Microsoft Office .doc, .xls, и .ppt. Для Microsoft Office и до- полнений, которые используют VBA.
    Java Code Signing. Для подписи Java-апплетов. Позволяет подписывать
    .jar-файлы и Java-приложения для настольных и мобильных устройств. Распо- знается Java Runtime Environment (JRE).
    Adobe Air Signing. Для подписи файлов .air. Требуется для всех приложе- ний, основанных на AIR.
    Kernel Mode Signing. Сертификаты разработчика Kernel-Mode позволяют подписывать так называемые kernel-mode приложения и драйверы устройств.
    64-битная версия Windows Vista и Windows 7 требует, чтобы все kernel-mode приложения были подписаны сертификатом и доверенного центра сертифика- ции.
    Android. Для подписи и оптимизации .apk-файлов для платформы Android
    Microsoft Windows Phone. Для цифровой подписи приложений для Windows
    Phone и Xbox 360. Требуется для сервиса Microsoft App Hub.
    Qualcomm BREW. Для тех, кто разрабатывает приложения под платфор- му BREW (Binary Runtime Environment for Wireless).
    2 / 10

    93
    3. Принцип работы сертификата разработчика
    (Code Signing)
    Процесс подписи кодапредставлен на рисунке 21.
    Рис. 21
    Подпись кода
    1. Издатель (разработчик) запрашивает Code Signing сертификат у центра сертификации.
    2. Используя SIGNCODE.EXE или другую утилиту для подписи кода, из- датель создает хеш кода, используя алгоритмы MD5 или SHA.
    3. Кодирует хеш с помощью приватного ключа.
    4. Создает пакет, который включает в себя: код, зашифрованный хеш и сертификат издателя.
    Процесс проверки подписанного кодапредставлен на рисунке 22.
    Рис. 22
    Проверка кода
    1. Пользователь скачивает или устанавливает подписанное ПО и плат- форма или система пользователя проверяет сертификат издателя, который под- писан корневым приватным ключом центра сертификации.
    2. Система запускает код, используя тот же самый алгоритм создания хе- ша, как издатель и создает новый хеш.
    3 / 10

    94 3. Используя публичный ключ издателя, который содержится в сертифи- кате, система расшифровывает зашифрованный хеш.
    4. И сравнивает между собой два хеша.
    4. Центр сертификации (CA)
    Центр сертификации это организация, которая обладает правом вы- дачи цифровых сертификатов. Она производит проверку данных, содержащих- ся в CSR, перед выдачей сертификата. В самых простых сертификатах проверя- ется только соответствие доменного имени, в самых дорогих производится це- лый ряд проверок самой организации, которая запрашивает сертификат.
    Когда разработчик запрашивает цифровой сертификат, центр сертифика- ции идентифицирует его и выпускает сертификат, связанный с корневым сер- тификатом центра сертификации. Платформы и устройства содержат в себе корневой сертификат соответствующего центра сертификации. То есть если платформа или устройство доверяет какому-либо центру сертификации, то оно доверят и вашему сертификату, подписанному этим центром сертификации.
    В случае, если хеши не совпадают, вы получите ошибку при запуске та- кого ПО — это может означать, что ПО было модифицировано вирусом или злоумышленником.
    Когда ПО расшифровывает цифровую подпись, оно проверяет также кор- невой сертификат в системе, источник проверенной информации. В случае ис- пользования самоподписного сертификата вы получите ошибку: «издатель не может быть проверен». Поэтому важно использовать сертификаты того центра сертификации, чьи корневые сертификаты уже установлены в системе у пред- полагаемого пользователя программы.
    Timestamp или временная метка используется для указания времени, ко- гда цифровая подпись была сделана. Если такая метка присутствует, то прило- жение, которое проверяет подпись, проверит, был ли сертификат, связанный с подписью, валидным на момент подписи. Если же такой метки нет и срок сер- тификата уже закончился, то подпись будет считаться недействительной.
    Пример:
    Сертификат действителен с: 01.01.2008
    Сертификат действителен до: 31.12.2010
    Подпись сделана: 04.07.2009
    Подпись проверена: 30.04.2012
    C временной меткой (timestamp) подпись пройдет проверку, поскольку на момент подписи сертификат был действителен. Без такой метки сертификат не пройдет проверку, поскольку на момент проверки у сертификата уже закончил- ся срок. То есть такая метка позволяет использовать подписанный код даже по- сле срока окончания сертификата.
    Итак, для выбора сертификата сначала нужно выбрать центр сертифика- ции, который выпускает сертификаты под нужную вам платформу.
    4 / 10

    95
    ЛЕКЦИЯ 12. SSL-СЕРТИФИКАТ: СОДЕРЖАНИЕ,
    ФОРМИРОВАНИЕ ЗАПРОСА, ПРОВЕРКА ДАННЫХ
    С ПОМОЩЬЮ СЕРВИСОВ
    1. SSL-сертификат
    Цифровые SSL-сертификаты(сокращение от Secure Socket Layer) — это стандартная интернет-технология безопасности, которая используется, что- бы обеспечить зашифрованное соединение между веб-сервером (сайтом) и браузером. SSL-сертификат позволяет нам использовать https-протокол. Это безопасное соединение, которое гарантирует, что информация, которая пере- дается от вашего браузера на сервер, остается приватной, т. е. защищенной от хакеров или любого, кто хочет украсть информацию. Один из самых распро- страненных примеров использования SSL — это защита клиента во время он- лайн-транзакции (покупки товара, оплаты).
    SSL-сертификаты — самый распространенный на данный момент тип сертификатов в Интернете. Чаще всего они используются в интернет-магази- нах, т. е. на сайтах, где есть функция заказа и где клиент вводит свои персо- нальные данные. Для того чтобы эти данные в момент передачи из браузера на сервер невозможно было перехватить, используется специальный протокол
    HTTPS, который шифрует все передаваемые данные.
    Для того чтобы активировать возможность работы протокола HTTPS, как раз и нужны цифровые SSL-сертификаты.
    Получение SSL-сертификата:
    бесплатный способ — это так называемый самоподписной сертифи-
    кат (self-signed), который можно сгенерировать прямо на веб-сервере. Однако на такой сертификат все браузеры будут выдавать ошибку с предупреждением, что сайт не проверен. То есть для служебных целей и для внутреннего исполь- зования такие сертификаты подходят, а вот для публичных сайтов, а тем более для сайтов, которые продают услуги, такие сертификаты противопоказаны;
    платные сертификаты, выдаваемые центром сертификации. Данные в сертификате проверены центром сертификации, и при использовании такого сертификата на сайте ваш посетитель никогда не увидит огромную ошибку на весь экран.
    Говоря в общем, SSL-сертификаты содержат и отображают (как минимум одно из) ваше доменное имя, ваше название организации, ваш адрес, город и страницу. Также сертификат всегда имеет дату окончания и данные о центре сертификации, ответственного за выпуск сертификата. Браузер подключается к защищенному сайту, получает от него SSL-сертификат и делает ряд проверок: не просрочен ли сертификат, потом он проверяет, выпущен ли сертификат из- вестным ему центром сертификации (CA), используется ли сертификат на сай- те, для которого он был выпущен.
    Если один из этих параметров не проходит проверку, браузер отображает предупреждение посетителю, чтобы уведомить, что этот сайт не использует
    5 / 10

    96
    безопасное соединение SSL. Он предлагает покинуть сайт или продолжить про- смотр, но с большой осторожностью.
    2. Принцип работы SSL-сертификата
    Для того чтобы получить SSL-сертификат первое, что нужно сделать, это
    сформировать специальный запрос на выпуск сертификата, так называемый
    Certificate Signing Request. При формировании этого запроса вам будет задан ряд вопросов для уточнения деталей о вашем домене и вашей компании. После завершения ваш веб сервер создаст два типа криптографических ключей — приватный ключ и публичный ключ.
    Публичный ключ не является секретным, и он помещается в запрос CSR.
    Вот пример такого запроса:
    -----BEGIN CERTIFICATE REQUEST-----
    MIIC3zCCAccCAQAwgZkxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIEw
    RLaWV2MQ0wCwYDVQQHEwRLaWV2MRQwEgYDVQQKEwtIb3N0QXV0b2 1hdDEQMA4GA1UECxMHaG9zdGluZzEmMCQGCSqGSIb3DQEJARYXc3Vwc
    G9ydEBob3N0YXV0b21hdC5jb20xHDAaBgNVBAMTE3d3dy5ob3N0YXV0b21h dC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTg7iUv/i
    X+SyZl74GcUVFHjFC5IqlTNEzWgLWrsSmxGxlGzXkUKidNyXWa0O3ayJHOiv1
    BSX1l672tTqeHxhGuM6F7l5FTRWUyFHUxSU2Kmci6vR6fw5ccgWOMMNdMg7
    V5bMOD8tfI74oBkVE7hV95Ds3c594u7kMLvHR+xui2S3z2JJQEwChmflIojGnSC
    O/iv64RL9vjZ5B4jAWJwrruIXO5ILTdis41Z1nNIx3bBqkif0H/G4eO5WF6fFb7etm
    8M+d8ebkqEztRAVdhXvTGBZ4Mt2DOV/bV4e/ffmQJxffTYEqWg8wb465GdAJc
    LhhiSaHgqRzrprKns7QSGjdAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQE
    AuCfJKehyjt7N1IDv44dd+V61MIqlDhna0LCXH1uT7R9H8mdlnuk8yevEcCRIkrn
    WAlA9GT3VkOY3Il4WTGg3wmtq6WAgLkVXQnhIpGDdYAflpAVeMKil8Z46B
    GIhKQGngL2PjWdhMVLlRTB/01nVSKSEk2jhO8+7yLOY1MoGIvwAEF4CL1lAj ov8U4XGNfQldSWT1o8z9sDeGsGSf5DAXpcccx0gCyk90HFJxhbm/vTxjJgchUFro
    /0goVpBcredpKxtkwBMuCzeSyDnkQft0eLtZ9b9Q4+ZNDWsPPKxo/zWHm6Pa/4F
    4o2QKvPCPx9x4fm+/xHqkhkR79LxJ+EHzQ==
    -----END CERTIFICATE REQUEST-----
    Данные, которые содержатся в этом ключе, можно легко проверить с по- мощью сервисов CSR Decoder. Как пример: CSR Decoder 1 или CSR Decoder 2.
    Второй сервис выдает больше информации о CSR и проверяет ее на валид- ность, поле Signature в результатах проверки.
    Если мы вставим такой запрос в форму для его расшифровки, то увидим, какие данные содержатся в публичном ключе.
    CSR Information:
    Common Name: tuthost.ua — доменное имя, которое мы защищаем таким сертификатом.
    Organization: TutHost — название организации, которой принадлежит до- мен.
    Organization Unit: Hosting department — подразделение организации.
    Locality: Kiev — город, где находится офис организации.
    6 / 10

    97
    State: Kiev — область или штат.
    Country: UA — двухбуквенный код страны офиса.
    Email: support@tuthost.com — контактный email технического админист- ратора или службы поддержки.
    После того как CSR сгенерирован, можно приступать к оформлению за- явки на выпуск сертификата. Во время этого процесса центр сертификации
    (CA — Certification Authority) произведет проверку введенных вами данных и в случае успешной проверки выпустит SSL-сертификат с вашими данными и даст возможность вам использовать HTTPS. Ваш сервер автоматически сопоставит выпущенный сертификат со сгенерированным приватным ключом. Это означа- ет, что вы готовы предоставлять зашифрованное и безопасное соединение меж- ду вашим сайтом и браузером клиентов.
    В SSL-сертификате хранится следующая информация:
    – полное (уникальное) имя владельца сертификата;
    – открытый ключ владельца;
    – дата выдачи SSL сертификата;
    – дата окончания сертификата;
    – полное (уникальное) имя центра сертификации;
    – цифровая подпись издателя.
    1   ...   4   5   6   7   8   9   10   11   12


    написать администратору сайта