- Специалист по 3ds max 2022 (3ds max 2022. основы материалы моделирование)
- Nginx и получаем класс а
- Как получить сертификат autodesk. события дизайна
- Международная индустриальная сертификация – инструмент развития карьеры
- На протяжении последних лет edi сообщество демонстрирует постоянно растущий интерес к as2. чем же в действительности является as2? перед вами третья статья из серии, посвященной изучению as2 и значению as2 применительно к edi рынку.
- Собственно разработка модуля
- Создание ключа и сертификата
Специалист по 3ds max 2022 (3ds max 2022. основы материалы моделирование)
Код курса: Т-3ДМСПЕЦ-И
07.02.01 Архитектура
Autodesk 3ds Max 2022 (часто его называют просто 3d Max) — основной инструмент разработчиков компьютерных игр, фильмов и видеопрограмм, а также инженеров-проектировщиков и дизайнеров.
Хотите овладеть этим удивительным инструментом? — Центр «Специалист» предлагает Вам комплексную программу обучения «Специалист по 3ds Max 2022»!
На первом курсе программы закладываются основы Вашей успешной работы и дальнейшего обучения 3ds Max 2022. Если Вы новичок в 3D–графике или уже имеете базовые, но не систематизированные знания — это курс для Вас!
Затем Вы перейдете к изучению визуализации — установке света, созданию пользовательских материалов и получению фотореалистичного финального изображения. Вам станут доступны новые возможности визуализации: Autodesk materials, физически точное освещение, новый интерфейс редактора материалов, система визуализации Mental Ray и др.
В третьей части программы Вы изучите технологии продвинутого моделирования трёхмерных объектов, что позволит Вам создавать практически любые объекты высокой сложности.
Уникальной особенностью изучения 3ds Max 2022 в Центре «Специалист» является расширенный обзор актуальных подключаемых модулей (плагинов), предназначенных для облегчения моделирования сложных объектов. Реалистичные эффекты огня, дыма, взрывов, воды, волн и водопадов, неотличимые от профессиональных фотографий ландшафты, растительность, атмосферные явления и многие-многие другие «изюминки» — весь этот арсенал компьютерного волшебства станет доступным для Вас!
Комплексная программа обучения «Специалист по 3ds Max 2022» предназначена для архитекторов, дизайнеров интерьеров и художников, работающих в архитектурных фирмах, рекламных агентствах, мебельных салонах, строительных организациях, на телевидении, а также для тех, кто хочет работать в указанных областях.
В комплексную программу обучения входят три курса:
Уровень требуемой и рекомендуемой подготовки к обучению по комплексной программе соответствует уровню, требуемому и рекомендуемому для первого курса.
По окончании каждого из трех курсов комплексной программы обучения «Специалист по 3ds Max 2022» Вы получите свидетельство Центра «Специалист» и международный сертификат Autodesk.
Заказ добавлен в Корзину.
Для завершения оформления, пожалуйста, перейдите в Корзину!
В зависимости от программы обучения выдаются следующие документы:
*Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.
По окончании каждого отдельного курса, входящего в Программу повышения квалификации, в вашем личном кабинете формируются электронные сертификаты об обучении по каждому отдельному курсу. По окончании обучения по Программе повышения квалификации вы получаете Удостоверение о повышении квалификации по этой программе. Если вы проходили курсы, входящие в Программу повышения квалификации, по отдельности, то вы получите Удостоверения за каждый пройденный курс.
Обязательно уточняйте перед заключением договора, какой документ Вам будет выдан после окончания обучения!
Все документы Центра
§
§
§
Nginx и получаем класс а

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А и обезопасить себя от последних багов с помощью выпиливания SSL.
Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Вот что у меня получилось:
server {
server_name dsmirnov.pro www.dsmirnov.pro;
listen 80;
return 301 https://dsmirnov.pro$request_uri;
}
server {
listen 443 ssl spdy;
server_name dsmirnov.pro;
resolver 127.0.0.1;
ssl_stapling on;
ssl on;
ssl_certificate /etc/pki/nginx/dsmirnov.pro.pem;
ssl_certificate_key /etc/pki/nginx/dsmirnov.pro.clean.key;
ssl_dhparam /etc/pki/nginx/dhparam.pem;
ssl_session_timeout 24h;
ssl_session_cache shared:SSL:2m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers kEECDH AES128:kEECDH:kEDH:-3DES:kRSA AES128:kEDH 3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000;";
add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report";
}
В первой секции всё вроде понятно, любой вход по http с любым URI редиректит с этим-же URI в схему https.
Начнём разбор секции server для https. Директивой listen 443 ssl spdy; сразу включаем spdy. Вот на картинке разница:

Следущим шагом включаем ssl_stapling on; — позволяем серверу прикреплять OCSP-ответы, тем самым уменьшая время загрузки страниц у пользователей. Цепочка сертификатов (доменный — промежуточный центр авторизации — корневой центр авторизации) может содержать 3-4 уровня. И на каждый уровень браузер должен устанавливать соединение и получать сертификат. Можно отправить все сертификаты (включая промежуточный: именно за этим была настройка TCP-окон отправки, чтобы цепочка сертификатов гарантированно поместилась в в одну пересылку пакетов) разом, тогда браузер проверит всю цепочку локально, а запросит только корневой (который в большинстве случаев уже находится на клиенте). Для работы этой функции обязательно описать resolver — у меня поднят свой собственный DNS сервер, поэтому в качестве значения указан 127.0.0.1, Вы можете указать 8.8.8.8, но многие в последнее время на него ругаются. Что такое ssl on; я думаю нет смысла рассказывать.
Далее директивами ssl_certificate и ssl_certificate_key указываем пути к полученным через StartSsl сертификатам. У вас уже есть 3 файла: domain.ru.key, domain.ru.crt и sub.class1.server.ca.pem. Копируем ключи в ( моём случае ) /etc/pki/nginx.
Не забываем, что pem файл для nginx должен быть смержен с сертификатом CA ( Должно получиться из 3х — 2 файла. ):
cp domain.ru.key /etc/pki/nginx
cat domain.ru.crt sub.class1.server.ca.pem > /etc/pki/nginx/domain.ru.pem
Теперь о
ssl_dhparam /etc/pki/nginx/dhparam.pem;
— это нужно, чтобы у нас заработал Forward Secrecy. Прямая секретность означает, что если третья сторона узнает какой-либо сеансовый ключ, то она сможет получить лишь доступ к данным, защищенным лишь этим ключом. Для сохранения совершенной прямой секретности ключ, используемый для шифрования передаваемых данных, не должен использоваться для получения каких-либо дополнительных ключей. Также, если ключ, используемый для шифрования передаваемых данных, был получен (derived) на базе какого-то еще ключевого материала, этот материал не должен использоваться для получения каких-либо других ключей.
Сгенерировать ключ можно так:
openssl dhparam -out /etc/pki/nginx/dhparam.pem 4096
Далее несложные настройки ssl_session_timeout 24h; и ssl_session_cache shared:SSL:2m;, которые не требуют особенных описаний — срок истечения сессии и размер памяти, выделяемой для хранения кеша — у меня бложик маленький, поэтому 2 Мб вполне достаточно.
Дальше — важные параметы: ssl_protocols TLSv1 TLSv1.1 TLSv1.2; и ssl_ciphers kEECDH AES128:kEECDH:kEDH:-3DES:kRSA AES128:kEDH 3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2; — тут мы указываем, что мы желаем только TLS и второй строкой выжигаем калёным железом все SSL. В свете последних фейлов с SSL — очень актуально, что и Вам советую. Ну и директивой ssl_prefer_server_ciphers on; принуждаем nginx это всё строго соблюдать.
Директива add_header Strict-Transport-Security «max-age=31536000;»; указывает браузерам сколько они должны помнить данные требования безопасности для моего домена. В данном случае — 1 год. Кстати, если директиву написать вот так: add_header Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»;, то данные условия будут применимы ко всем доменам третьего и выше уровня вашего домена. Тут будте осторожны! Я изначально описал именно так, но так, как StartSsl выдаёт сертификаты на ограниченное количество поддоменов, я наткнулся на невозможность даже попасть на свои поддомены, которые обслуживают разнообразные админки, работали только те, на которые были выписаны trusted сертификаты. Поэтому я для себя выбрал первый вариант.
Далее — add_header Content-Security-Policy-Report-Only «default-src https:; script-src https: ‘unsafe-eval’ ‘unsafe-inline’; style-src https: ‘unsafe-inline’; img-src https: data:; font-src https: data:; report-uri /csp-report»; — я толком глубоко ещё не изучил свойства данного заголовка. Content Security Policy (CSP) — новый стандарт, определяющий HTTP-заголовки Content-Security-Policy и Content-Security-Policy-Report-Only, которые сообщают браузеру белый список хостов, с которых он может загружать различные ресурсы.

Временно я взял данную строку из статьи Яндекса про применение у них CSP, почитать подробно можно тут: http://www.html5rocks.com/en/tutorials/security/content-security-policy/.
Вот вроде-бы и всё. Несколько ссылкок, где можно проверить результаты своих и чужих трудов:
1. SPDY Check — это результат моего труда.
2. SSL Labs — проверка качества защиты вашего сервера.
Удачной защиты, коллеги!
Как получить сертификат autodesk. события дизайна

Вчера в ЦМТ в Москве прошла конференция АЙТИ-КАДРЫ, посвященная воспитанию правильных айтишников и прочих компьютерных гениев. Поскольку я человек, интересующийся вопросом, то с интересом послушал выступление Алексея Андреева на пленарной сессии. Как руководитель направления «Авторизованные учебные и сертификационные центры» Autodesk он рассказывал об изменениях в обучении и сертификации специалистов, которые вступят силу в начале следующего года.
Чтобы было понятно, о чем идет речь, попробую вкратце рассказать о порядке сертификации, который применяется в Autodesk в настоящее время. Изначально, в качестве основных причин стать одним из сертифицированных специалистов называются примерно такие:
- Подтверждение вашего профессионального уровня (в собственных глазах и пред лицом начальства).
- Право использовать логотип Autodesk Certified.
- Возможность показа сертификата работодателям и лицам другого пола.
- Внесение в списки специалистов в базе данных.
Что делать дизайнеру осознавшему необходимость получения сертификата? Русскоязычная версия официального сайта компании предлагает обратиться в авторизованный учебный центр, но владеющему английским доступны другие интересные подробности. В частности раскрывается пошаговая схема действий на пути к признанию:
- Выбрать подходящий для вас тип сертификации: по программе, уровню сложности и профессиональной направленности. Отдельно идут экзамены для инструкторов.
- Пройти оценочный тест (Assessment Test) в ближайшем авторизованном центре.
- По результатам теста выбрать учебный курс и подготовиться как следует.
- Сдать экзамен в авторизованном учебном центре.
Применительно к родному нашему 3ds Max варианты экзаменов и тестов будут такие:
Assessment Test | Экзамен Certified Associate | Экзамен Certified Professional | |
Models to Motion | Surface and Look Development | ||
90 мин | 60 мин | 90 мин | 90 мин |
35 вопросов | 30 вопросов | 20 вопросов | 20 вопросов |
— | 70% ответов | 70% ответов | 70% ответов |
Понятно, что сдача Certified Associate свидетельствует о наличии базовых навыков, а Certified Professional — о профессиональном владении программой. Интересно, что на моем сертификате с Autodesk форума название курса указано только как CERTIFIED USER EXAMINATION.

Теперь приведу таблицу из презентации Алексея Андреева о новой схемы сертификации Autodesk. Выглядит она примерно так:
Assessment Test | Certified Associate | Certified Professional |
Определяет потребность в обучении | Основные навыки по пользованию продуктом | Основные навыки в реальном процессе работы |
50-70 многовариантных вопросов | 30 многовариантных вопросов | 20 заданий, которые необходимо практически реализовать |
Подробный отчет | 90 минут | 120 минут |
Он-лайн = без выдачи сертификата | Краткий отчет Associate сертификат | Краткий отчет Professional сертификат |
Теперь, если провести глубокое научное сравнение двух таблиц, становится очевидна разница выделяемого на выполнение заданий времени в сторону увеличения. Значит ли это, что тесты станут сложнее? Пока нет более полной информации, понаблюдаемся…
Куда податься тем, кто жаждет получить документ сегодня? Список авторизованных учебных центров, уполномоченных сертифицировать специалистов легко найти на официальном сайте Autodesk.
Международная индустриальная сертификация – инструмент развития карьеры
Настоящий документ (далее – Политика) устанавливает принципы, цели, условия и способы обработки персональных данных Лицензиата Лицензиаром и является неотъемлемой частью Оферты, размещенной по адресу: my-sertif.ru
В целях защиты персональных данных в рамках Политики Лицензиатом признается любое дееспособное физическое лицо, индивидуальный предприниматель или представитель юридического лица, посетивший Сайт и (или) использующий Платформу.
В остальных случаях термины и определения, закрепленные в Оферте, должны соответствующим образом толковаться в рамках Политики. В случае наличия противоречий между Политикой и иными официальными документами Лицензиара применению подлежит настоящая Политика.
1.Общие положения
1.1.Политика разработана в соответствии с действующим законодательством Российской Федерации о персональных данных.
1.2.Действие Политики распространяется на все осуществляемые Лицензиаром и связанные с обработкой персональных данных процессы, как с использованием средств автоматизации, в том числе в сети Интернет, так и без использования таких средств. К таким процессам в том числе могут относятся сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (распространение, предоставление, доступ), обезличивание, блокирование, удаление и уничтожение персональных данных.
1.3.Присоединяясь к Оферте, Лицензиат дает согласие на
1.3.1.Обработку своих персональных данных в целях и способами, предусмотренными Политикой.
1.3.2.Передачу персональных данных платежным системам и организациям при оплате Тарифа с использованием Сайта.
1.3.3.Получение от Лицензиара информационных сообщений о вебинарах, обновлениях Платформы, обучающей информации.
1.4.Лицензиар не проверяет достоверность предоставленных Лицензиатом персональных данных, рассчитывая на добросовестность и разумность Лицензиата.
2.Состав обрабатываемой информации
2.1.В состав обрабатываемой информации входит:
2.1.1.Персональная информация, предоставляемая Лицензиатом самостоятельно, включая фамилию, имя, отчество, электронную почту, телефон, адрес, номер банковской карты и другие данные.
2.1.2.Техническая и статистическая информация:
2.1.2.1.IP-адрес компьютера Лицензиата и время доступа.
2.1.2.2.Сведения о посещенных разделах Сайта.
2.1.2.3.Информация, предоставляемая браузером Лицензиата, в том числе тип устройства, версия браузера, операционная система и пр.
2.1.2.4.Номер телефона при осуществлении Лицензиатом звонка на телефонные номера, указанные на Сайте.
2.1.2.5.Адрес электронной почты, при направлении Лицензиатом электронных писем Лицензиару.
2.1.3.Информация о действиях Лицензиата, к которой относятся:
2.1.3.1.Сведения о направленных запросах, вопросах.
3.Цели обработки персональных данных
3.1.Главной целью Политики является обеспечение защиты информации о Лицензиате, в том числе персональных данных, от несанкционированного доступа и разглашения. Также целью Политики является надлежащее выполнение обязательств Лицензиара перед Лицензиатом в рамках Оферты и иных договоров, которые могут быть заключены между Лицензиатом и Лицензиаром.
3.2.Лицензиат соглашается с тем, что Лицензиар также может использовать его персональные данные в целях:
3.2.1.Обработки писем от Лицензиата.
3.2.2.Связи с Лицензиатом, в том числе для направления ответов, уведомлений, решений, запросов и иной информации, связанной с исполнением Оферты.
3.2.3.Улучшения качества Платформы, удобства ее использования и разработки новых продуктов.
3.2.4.Разрешения споров, сбора отзывов и выявления неисправностей.
3.2.5.Сравнения персональных данных для подтверждения их точности и проверки их третьими лицами в случаях, предусмотренных законодательством.
3.2.6.Предотвращения случаев мошенничества и других злоупотреблений, а также для расследования таких случаев.
3.2.7.Проведения статистических и иных исследований, на основе обезличенных данных.
4.Принципы обработки персональных данных
Обработка персональных данных осуществляется основываясь на следующих принципах:
4.1.Законность и справедливая основа обработки персональных данных.
4.2.Обработка персональных данных в соответствии с конкретными, заранее определенными и законными целями.
4.3.Не допущение объединения баз данных, содержащих персональные данные, обработка которых осуществляется в целях, несовместимых между собой.
4.4.Соответствие содержания и объема персональных данных заявленным целям обработки.
4.5.Точность, достаточность, актуальность и достоверность персональных данных.
4.6.Законность технических мер, направленных на обработку персональных данных.
4.7.Разумность и целесообразность обработки персональных данных.
4.8.Законный и разумный срок хранения персональных данных.
5.Обработка персональных данных
5.1.Лицензиар производит обработку персональных данных своими силами и средствами с согласия Лицензиата. Обработка персональных данных Лицензиата начинается с момента их получения.
5.2.Сбор персональных данных осуществляется следующими способами:
5.2.1.Предоставление персональных данных их субъектами при заполнении соответствующих форм на Платформе и направлении электронных писем Лицензиару.
5.2.2.Автоматический сбор информации о Лицензиате:
5.2.2.1.При совершении звонков по номерам телефонов, указанным на Платформе, или направлении электронных писем и обратной связи по электронным письмам Лицензиара.
5.2.2.2.С помощью технологий и сервисов: веб-протоколы, куки, веб-отметки, которые запускаются только при вводе Лицензиатом своих данных.
5.3.Хранение и использование персональных данных.
5.3.1.Хранение персональных данных осуществляется в форме, позволяющей определить субъекта персональных данных не дольше, чем этого требуют соответствующие цели обработки. Обрабатываемые персональные данные подлежат уничтожению либо обезличиванию по достижении целей обработки, или в случае утраты необходимости в достижении этих целей.
5.3.2.Персональные данные Лицензиата хранятся исключительно должным образом на защищенных электронных носителях и обрабатываются с использованием автоматизированных систем, за исключением случаев, когда неавтоматизированная обработка персональных данных необходима в соответствии с законодательством Российской Федерации. Лицензиар при обработке персональных данных Лицензиата применяет базы данных на территории Российской Федерации.
5.4.Передача персональных данных.
5.4.1.Данные банковской карты передаются только в зашифрованном виде и не сохраняются на Сайте. Все операции с платежными картами происходят в соответствии с требованиями VISA International, MasterCard, American Express и других платежных систем. При передаче информации используются специальные технологии безопасности карточных онлайн-платежей, обработка данных ведется на безопасном высокотехнологичном сервере процессинговой компании. В случаи использования регулярных платежей, при совершении первой операции номер банковской карты и срок действия будут сохранены на стороне банка.
5.4.2.Лицензиар не передает персональные данные третьим лицам без согласия Лицензиата, за исключением случаев, когда:
5.4.2.1.Передача информации необходима для обеспечения соблюдения требований законодательства Российской Федерации, предупреждения, пресечения незаконных действий Лицензиата и защиты законных интересов Лицензиара и третьих лиц.
5.4.2.2.Передача информации осуществляется по запросу государственных органов при соблюдении законодательства РФ.
5.4.2.3.Передача информации производится в рамках продажи или иной передачи Платформы в собственность третьим лицам. При этом к приобретателю переходят все обязательства по соблюдению условий настоящей Политики в отношении персональных данных, полученных от Лицензиата.
5.5.Блокирование персональных данных. Лицензиар оставляет за собой право временно прекратить обработку персональных данных (за исключением случаев, если обработка необходима для уточнения персональных данных).
5.6.Уничтожение персональных данных. Персональные данные Лицензиата могут быть уничтожены Лицензиаром в случае наличия угрозы безопасности Платформы и нарушении Лицензиатом условий Оферты или по просьбе самого Лицензиата.
6.Защита информации
6.1.Лицензиар принимает технические и организационно-правовые меры, частью которых является Политика для защиты персональных данных Лицензиатов от незаконного или случайного доступа, сбора, хранения, использования, передачи, блокирования или уничтожения, а также от иных подобных действий.
7.Права Лицензиата
7.1.Лицензиат всегда имеет право на получение информации об обработке персональных данных о нем, в том числе содержащей:
7.1.1. Подтверждение факта обработки персональных данных.
7.1.2. Правовые основания обработки персональных данных.
7.1.3. Цели и применяемые Лицензиаром способы обработки персональных данных.
7.1.4. Наименование и место нахождения Лицензиара, сведения о лицах (за исключением работников Лицензиара), которые имеют доступ к персональным данным или которым могут быть раскрыты персональные данные на основании договора с Лицензиаром или в соответствии с законодательством Российской Федерации.
7.1.5. Обрабатываемые персональные данные, относящиеся к соответствующему Лицензиату, источник их получения, если иной порядок представления таких данных не предусмотрен законодательством Российской Федерации.
7.1.6. Сроки обработки персональных данных, в том числе сроки их хранения.
7.1.7. Порядок осуществления Лицензиатом прав, предусмотренных законодательством Российской Федерации.
7.1.8. Информацию об осуществленной или о предполагаемой трансграничной передаче данных.
7.1.9. Наименование или фамилию, имя, отчество и адрес лица, осуществляющего обработку персональных данных по поручению Лицензиара, если обработка поручена или будет поручена такому лицу.
7.1.10. Иные сведения, предусмотренные законодательством Российской Федерации.
7.2.Лицензиат вправе получать сведения, указанные в п. 7.1. Политики, неограниченное количество раз.
7.3.Лицензиат может отозвать согласие на обработку персональных данных, направив письменное уведомление по адресу Лицензиара 127576, г. Москва, ул. Новгородская д.3 к.1 кв.64.
8.Обязанности Лицензиара
В соответствии с требованиями Федерального закона «О персональных данных» Лицензиар обязан:
8.1. Предоставлять Лицензиату по его просьбе информацию, касающуюся обработки его персональных данных и указанную в п. 7.1. Политики, либо предоставить Лицензиату обоснованный отказ.
8.2.Принимать меры, необходимые и достаточные для обеспечения выполнения обязанностей, предусмотренных Политикой и Федеральным законом «О персональных данных».
8.3.При обработке персональных данных принимать необходимые правовые, организационные и технические меры или обеспечивать их принятие для защиты персональных данных от неправомерного или случайного доступа к ним, уничтожения, изменения, блокирования, копирования, предоставления, распространения, а также от иных неправомерных действий в отношении персональных данных.
8.4.По требованию Лицензиата уточнять обрабатываемые персональные данные, блокировать или удалять, если персональные данные являются неполными, устаревшими, неточными, незаконно полученными или не являются необходимыми для заявленной цели обработки.
8.5.Вести Реестр учета обращений Лицензиатов, в котором должны фиксироваться запросы Лицензиатов на получение персональных данных, а также факты предоставления персональных данных по этим запросам.
8.6.Обеспечить правомерность обработки персональных данных. В случае, если обеспечить правомерность обработки персональных данных невозможно, Лицензиар в срок, не превышающий десяти рабочих дней с даты выявления неправомерной обработки персональных данных, обязан уничтожить такие персональные данные или обеспечить их уничтожение.
8.7.В случае отзыва Лицензиатом согласия на обработку персональных данных прекратить их обработку и уничтожить персональные данные в срок, не превышающий тридцати дней с даты поступления указанного отзыва, за исключением случаев, когда обработка может быть продолжена в соответствии с законодательством.
9.Ограничение действия Политики
9.1.Действия Политики распространяются исключительно на Сайт Лицензиара, и не применяются к другим сайтам.
9.2.Лицензиат обязан разумно и ответственно подходить к выбору уровня конфиденциальности и к размещению собственных персональных данных на Платформе. Лицензиар не несет ответственности за действия третьих лиц, получивших доступ к персональным данным Лицензиата по вине последнего.
9.3.Лицензиар гарантирует, что не собирает, не использует и не передает третьим лицам информацию, касающуюся детей младше 14 лет.
10.Заключительные положения
10.1. Политика является локальным нормативным актом Лицензиара.
10.2. Общедоступность Политики обеспечивается публикацией на Сайте.
10.3. Лицензиар имеет право вносить изменения в Политику. При внесении изменений в актуальной редакции указывается дата последнего обновления. Новая редакция Политики вступает в силу с момента ее размещения.’;
На протяжении последних лет edi сообщество демонстрирует постоянно растущий интерес к as2. чем же в действительности является as2? перед вами третья статья из серии, посвященной изучению as2 и значению as2 применительно к edi рынку.
Если требуется полная историческая и техническая информация, то предлагаю обратиться к Google c запросом: “AS2”. Данная серия посвящена практическим аспектам использования и не будет докучать избыточной детализацией. (См. AS2: Часть 1 – Что это? AS2: Часть 2 – Лучшие практики)
В соединиениях по протоколу AS2 сертификаты применяются как для шифрования, так и для подписи сообщений. Это и огромное приемущество AS2, и, одновременно, его недостаток. В данной статье я исследую причины этого, покажу как сертификаты работают и предложу пути улучшения работы. Не будем погружаться в технические детали, рассматривайте статью как руководство пользователя AS2 по сертификатам.
Основные понятия
Термены “сертификаты и “ключи” часто путают и применяют один вместо другого. В кратце, различия в следующем:
- В действительности ключи являются цепочкой байтов, применяемых в процессе шифрования/подписи. Ключи состоят из двух частей: публичный (открытый) ключ и частный (закрытый) ключ. Частные ключи держат в секрете и никогда не распространяют. Доступ к публичным ключам открыт. Так образуется уникальная частно/публичная пара, применеямая для шифрования/дешифрования и подписи/верификации.
- Серитификаты – это контейнеры, которые содержат ключи (X.509 – наиболее распространенный стандарт, определяющий форматы данных и процедуры распределения открытых ключей с помощью сертификатов). В сертификате содержится информация о том, как ключ может использоваться (например, шифрование, подпись, шифрование и подпись и т.д.) и до какой даты ключи остаются действительными. Публичные ключи всегда высылаются в сертификатах.
Для использования сертификата генерируется ключевая пара — частный/публичный ключи. Пользователь хранит частный ключ зашифрованным и закрытым паролем и никогда никому его не дает. В то время как, публичный ключ свободно распространяется среди партнеров.
Применяя эту пару сертификатов/ключей, пользователь может быть уверен, что зашифрованные данные будут отркрыты только определенным получателем. Дополнительно, отправитель может подписать данные и получатель удостоверит отправителя и то, что данные не были изменены.
Способность шифровать и подписывать — это краеугольный камень AS2 и делает его великим. Практически каждый пакет AS2 позволяет посылать данные без подписи или шифрования, но, на протяжении всей своей жизни, я не могу понять, для чего они это делают. Также существует возможность использовать разные пары публичных/частных ключей для шифрования и подписи данных.
Шифрование
Предположим, у нас есть два пользователя: Арон и Боб. Арон хочет зашифровать данные и отправить их Бобу. До того как это сделать, пользователь Боб обязан прислать Арону копию своего публичного сертификата. Затем Арон формирует данные, которые хочет отправить Бобу, и шифрует их с помощью публичного сертификата Боба. Когда Боб получит данные, он расшифрует их с помощью своего частного (закрытого) ключа..
Арон: Исходный документ Публичный сертификат Боба = Зашифрованный документ
Боб: Зашифрованный документ Частный ключ = Исходный документ
AS2 управляет этим процессом, помещая публичные сертификаты Ваших партнеров в специальное хранилище. В процессе отправки партнеру, AS2 программа извлекает соответствующий публичный сертификат и шифрует исходящие даные. Этот блок данных может быть расшифрован только при помощи частного ключа партнера.
Подпись
Вернемся к нашим пользователям Арону и Бобу. Теперь Арон хочет подписать данные, чтобы Боб мог удостовериться, что данные отправлены именно Ароном и что они не изменены в процессе передачи. В этом процессе ключи примеяются в обратной последовательности.
Изначально Боб должен иметь копию публичного сертификата Арона. Арон берет данные к отправке и выполняет алгоритм подписи, используя свой частный (закрытый) ключ. Таким образом, генерируется уникальная цифровая подпись (набор символов, известный как хэш), основавнная на данных и частном ключе.
Арон: Исходный документ Частный ключ Арона = Цифровая подпись
Боб: Исходный документ Цифровая подпись Публичный ключ Арона = Подтверждено
Повторюсь, AS2 делает это для Вас, создавая цифровую подпись для Ваших данных и Вашего частного ключа и отправляет и оправляя ее всместе с зашифрованными данными. Для каждого набора данных формируется уникальная подпись, но она может быть верифицированна любым, у кого имеется Ваш публичный ключ. Поэтому мы употребляем термин “подпись”, а не “шифрование.
Собрав вместе Подпись и Шифрование получим:
Арон: Исходный документ Частный ключ Арона = Цифровая подписьАрон: Исходный документ Публичный ключ Боба = Зашифрованный документ
Боб: Зашифрованный документ Частный ключ Боба = Исходный документБоб: Исходный документ Цифровая подпись Публичный ключ Арона = Подверждено.
Органы сертификации/Удостоверяющие центры
Нам всем знакомы Органы сертификации – по посещениям защищенных веб-сайтов (особенно тех, у которых проблемы с сертификатами). Сертификаты на этих сайтах выполняют две функции:
- Сертификаты обеспечивают шифрование входящих/исходящих с сервера данных (SSL)
- Орган сертификаци подтверждает аутентичность владельца сайта (я не буду обсуждать насколько обоснованно это предположение… Оставлю тему для других..).
Тут мы имеем отличную от AS2 модель. Посещая защищенный веб-сайт, Вы не получаете публичный ключ владельца сайта, наоборт, Орган сертифкации обеспечивает доверие если Ваш компьютер уже имеет публичный ключ Органа сертификации в своем репозитории. Ваше доверие к сайту основано на доверии к Органу сетрификации (“цепочка” доверия).
В случае с AS2 нам не требуется Орган сертификации для удостоверения надежности другой стороны, т.к. мы уже получили публичный сертификат по другому каналу. Это означает, что получение публичного сертификата, завереного Органом сертификации, является тратой времени и денег.
Если деловой партнер присылает Вам подписанный сертификат, а вместе с ним цепочку сертификатов Органов сертификации, то будтьте готовы не обращать внимания на эти сертификаты и просто установите полученный публичный сертификат партнера как если бы он был “самоподписанный”.
Самоподписанные сертификаты
Вместо использования услуг Органов сертификации, практически каждый AS2 пакет позволяет генерировать и подписывать Ваш собственный сертификат. В процессе будут сгенерированы публичный и частный ключи, действительные заданное Вами время (о том, как определять этот срок, см. ниже).
Одно замечание по поводу самоподписанных сертификатов. Вы должны быть уверены, что используете уникальное последовательное число каждый раз, когда генерируете новый сертификат. Некоторые пакеты AS2 делают это автоматически, другие каждый раз требуют от Вас ввода уникального числа. Если Вам требуется ввести уникальное число, не усложняйте и просто используйте текущую дату, например, 20210803.
Обмен сертификатами
Публичные сертификаты в основном хранятся в файлах, оканчивающихся на .cer, .crt или .der. В любом случае, они могут быть в двоичном или PEM формате. format. Лично я предпочитаю PEM, т.к. он декодирован BASE64 и даже может быть скопирован и вставлен в текст сообщения электронной почты. Вот пример нашего публичного сертификата в формате PEM:
——BEGIN CERTIFICATE—— MIIBtjCCAR gAwIBAgIBAzANBgkqhkiG9w0BAQUFADAhMR8wHQYDVQQDExZFQ0dyaWQgQVMyIENl cnRpZmljYXRlMB4XDTA3MTAwMTIxMTcxNloXDTE3MTAwMTIxMTcxNlowITEfMB0GA1UEAxMWRUNH cmlkIEFTMiBDZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAziLTH4urrO8s LBCIz6vKWunuIeEpRuVQz6B 7UYzmhckB18VDjYBI5Bp4IFIRJxwsqJx8hoLNJivX26T9zDtcmO X58FeyIyea1ecp/cwi3ebdWpiLaxQPCV3nLQx/3mas8LHWSDlg5NT3VgPzFJHQoY1ukdPDVgnApn n877ygMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQDOGQc4UfQj0p7AEUAd 8Ue /hRomyI4/RvaRv9 fjw2a1BhZfmzrUXTReIKzuhIKfXoX22YyTP5MVTWzKeIh2qIc/488rAh5yOsoHsHRVGoTDibLWvN /wiMRYhw6TY6Vnz 3IyXyNtktspAg7wprno1pkmAw63sONAR 996og43UQ== ——END CERTIFICATE——
Вы можете Вырезать / Вставить этот пример при помощи текстового редактора (например, Блокнот), сохранить файл с расширением .cer, затем открыть его и ознакомиться со всеми внутренними значениями.
Вне зависимости от формата, многоие почтовые программы будут блокировать вложенные файлы с расширением .cer, .crt и .der (очень опасные файлы…). Можно просто добавить .txt к концу файла (например, ecgrid.cer.txt), чтобы отправить его как вложение. Вы можете также сжать его в ZIP файл.
Имена файлов…Пожалуйста, не называйте Ваши файлы as2.cer, myas2certificate.der или подобным образом (да, я постоянно сталкиваюсь с этим). Присваивайте значимые имена. Ваши партнеры наверняка работают не только с Вами, и Ваши данные должны быть уникальными и удобными.
Устаревшие сертификаты
До сих пор все было хорошо, но сейчас мы подошли к недостаткам использования сертификатов в AS2. Какой срок действия назначить сертификату и как это повлияет на моих партнеров?
Это одина из наименее продуманных частей пакетов ПО AS2. Так как каждый сеанс связи требует точного соответсвия частных и публичных ключей, то если один пользователь AS2 меняет свой частный ключ (прим редакции: а вместе с ним и публичный ключ, то есть ключевую пару), то все партнеры должны одновременно поменять в своих записях публичные сертификаты этого пользователя.
Только представьте, сколько людей в Wal-Mart ежедневно обновляют сертификаты своих партнеров! Интересно отметить, что Wal-Mart решил проблему мгновенной замены своего собственного сертификата путем установки уникального частного ключа на своей стороне для каждого партнера (прим. редакции: сколько партнеров, столько и ключевых пар и сертификатов к ним выпускает и поддерживает Wal-Mart).
Я долго и много обдумывал определение срока действия сертификата. Одни говорят, что нельзя устанавливать его слишком большим, т.к. сертификат может быть скомпрометирован. Но чем чаще приходится менять сертификаты, тем в большую проблему это выливается для Вас и Ваших партнеров.
Я должен признать, что мы выпустили свой первый сертификат сроком на один год. Живи и учись. Я убежден, что тысячи компаний, трафик которых проходит через наш AS2 хаб, счастливы, что им не приходится регулярно менять сертификаты. Wal-Mart сознательно не позволяет принять сертификаты, действительные более 5 лет, поэтому для них у нас есть специальный сертификат.
Когда подходит время менять сертификаты, оповестите своего партнера о дате смены как минимум за месяц и меняйте сертификат за 2-4 недели до окончания его срока действия. Пожалуйста, не назначайте смену на субботу в 3 утра. Также, когда рассылаете уведомления об обновлении своего сертификата, учитывайте часовые пояса.
Если Вы добавляете партнера накануне смены сертификата, то ему не удастся избежать этой процедуры. Сообщите ему сразу, что Вы планируете вскоре сменить сертификаты. Это будет просто вежливо..
Лично я считаю, что обмен и обновление сертификатов – это крупнейший недостаток AS2. В Loren Data, мы сосредоточены на этом вопросе, как на ключевом моменте, ограничивающем более широкое использование AS2. Пакеты ПО AS2 должны знать, как обмениваться и публичными сертификатами автоматически, в защищенном и надежном режиме.
Если все правильно установить и настроить, то можно будет менять сертификаты еженедельно или ежедневно, не задействуя своих партнеров! Однако сейчас, каждая замена сертификата – это головная боль, поэтому всегда думайте о своих партнерах, когда приходит время менять сертификаты.
Примечание: Сохраняйте свои устаревшие частные ключи и публичные сертификаты партнеров. Они Вам потребуются, если по какой-то причине возникнет необходимость переподтвердить или расшифровать старое сообщение. (прим. редакции: без этого может оказаться невозможен доступ к архиву документов, сформированных несколько лет назад)
Собственно разработка модуля
В зависимости от функционала модуля, PAM может требовать от него наличия следующих функций:
Для того чтобы модуль мог выполнять аутентификацию, нам необходимо реализовать в нем функции pam_sm_authenticate и pam_sm_setcred. В остальных функциях достаточно просто добавить заглушки, чтобы наш модуль нельзя было использовать для других операций.
Для работы с PAM необходимо определить специальные константы, а только затем подключить заголовочные файлы:
#define PAM_SM_AUTH
#define PAM_SM_ACCOUNT
#define PAM_SM_SESSION
#define PAM_SM_PASSWORD
#include <security/pam_appl.h>
#include <security/pam_modules.h>
Эти константы необходимы, чтобы PAM знал, что наш модуль может выполнять все функции, описанные выше. Конечно, если мы реализуем только аутентификацию, то остальные функции можно отбросить, но разработчики pam_p11 решили, что надежнее будет поставить заглушки вместо неиспользуемых функций.
Приступим к написанию функции pam_sm_authenticate. Она имеет следующую сигнатуру:
PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv);
Из важных параметров тут стоит отметить:
Функция должна вернуть одно из следующих значений:
Внутри нашего модуля мы будем пользоваться библиотекой libp11 для работы с API PKCS#11 и OpenSSL для работы с сертификатами.
Первым делом определим переменные, которые нам потребуются:
Создание ключа и сертификата
Для начала создаем ключевую пару RSA длины 2048 бит c ID «45» (id стоит запомнить, он понадобится при создании сертификата).
$ pkcs15-init --generate-key rsa/2048 --auth-id 02 --id 45
<вводим PIN пользователя>
Проверим сгенерированный ключ:
$ pkcs15-tool --list-keys
Using reader with a card: Aktiv Rutoken ECP 00 00
Private RSA Key [Private Key]
Object Flags : [0x3], private, modifiable
Usage : [0x4], sign Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local
ModLength : 2048
Key ref : 1 (0x1)
Native : yes
Path : 3f001000100060020001
Auth ID : 02
ID : 45
Теперь с помощью OpenSSL создадим самоподписанный сертификат. Запускаем openssl и подгружаем модуль поддержки pkcs11:
$ openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:opensc-pkcs11.so
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/engines/engine_pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
Loaded: (pkcs11) pkcs11 engine
Создаем сертификат в PEM-формате:
OpenSSL> req -engine pkcs11 -new -key 1:45 -keyform engine -x509 -out cert.pem –text
В последней команде 1:45 — это пара :. Таким образом, мы создали сертификат на базе ключевой пары, хранящейся на токене. При этом в текущем каталоге должен создаться файл сертификата с именем cert.pem.
Теперь сохраним сертификат на токен:
$ pkcs15-init --store-certificate cert.pem --auth-id 02 --id 45 --format pem
<Вводим PIN пользователя>
