Лагоша О.Н. - Сертификация информационных систем (2021). Курс лекций по дисциплине Сертификация информационных систем. Предназначено для студентов специальности Информационные системы и программирование
Скачать 5.4 Mb.
|
Заключение по результатам сертификационных испытаний разраба- тывается сертификаторами и содержит обобщенные сведения о результатах ис- пытаний и обоснование целесообразности выдачи сертификата. В случае полу- чения отрицательных результатов сертификационных испытаний принимается решение об отказе в выдаче сертификата соответствия. После доработки серти- фицируемой продукции или системы качества испытания могут быть повторе- ны. Результаты анализа состояния технологии или качества продукции оформ- ляются актом, в котором даются оценки по всем позициям программы испы- таний и содержатся выводы, включающие общую оценку состояния производ- ства и продукции, необходимость корректирующих мероприятий. Акт исполь- зуется органом по сертификации наряду с протоколами испытаний, заявкой для выдачи и определения срока действия сертификата на программный продукт, периодичности инспекционного контроля, а также для составления корректи- рующих мероприятий. По результатам сертификационных испытаний и экспертизы документа- ции принимается решение о выдаче сертификата. В случае получения отри- цательных результатов сертификационных испытаний принимается решение об отказе в выдаче сертификата соответствия. Кроме того, предприятию- заявителю могут быть направлены предложения по устранению предполагае- мых причин отрицательных результатов испытаний, после доработки сертифи- цируемой продукции испытания могут быть повторены. Орган по сертификации после анализа протоколов испытаний, оценки производства, сертификации системы качества, анализа документации, указан- ной в решении по заявке, осуществляет оценку соответствия продукции уста- новленным требованиям, оформляет сертификат на основании заключения экспертов и регистрирует его. При внесении изменений в конструкторскую или эксплуатационную документацию, которые могут повлиять на качество системы или программный продукт, удостоверяемые при сертификации, заяви- тель должен известить об этом орган по сертификации для принятия решения о 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 сертификата; – дата окончания сертификата; – полное (уникальное) имя центра сертификации; – цифровая подпись издателя. |