Как устанавливается SSL соединение - Программное обеспечение для пропускной системы на основе технологии NFC
Коммуникация между клиентом и сервером начинается прежде всего с "рукопожатия" (SSL Handshake). Цели данного рукопожатия, следующие [10]:
- 1. клиент убеждается, что общается с нужным сервером (опционально, происходит и обратное); 2. стороны согласовывают набор шифров, который будет использоваться для коммуникации; 3. обмен ключами для шифрования.
Фаза рукопожатия может быть разделена на 3 части:
1. Приветствие
Клиент отправляет клиентское приветствие (ClientHello) на сервер. Данное приветствие содержит поддерживаемые алгоритмы шифрования и максимальную версию SSL, которую поддерживает клиент. Сервер отвечает своим приветствием (ServerHello), которое содержит похожую информацию, включая решение какой шифр и какую версию SSL использовать из набора, используемого клиентом [10].
2. Обмен сертификатами
Когда соединение установлено, серверу необходимо доказать свою подлинность клиенту. Это достигается с помощью SSL сертификата, который выступает в роли документа, удостоверяющего личность. Данный сертификат содержит различную информацию, включающую имя владельца, домен, к которому прикреплен сертификат, публичный ключ сертификата, цифровую подпись и информацию о сроке действия сертификата. Клиент безоговорочно доверяет сертификату или же проверяет его с помощью одного из центров валидации (Certificate Authorities), которым он безоговорочно доверяет. Чуть более подробно об этом будет позже. Сервер также может запросить сертификат клиента, но обычно это происходит только в очень требовательных к безопасности приложениях [10].
3. Обмен ключами
Шифрование сообщений в протоколе SSL происходит с помощью симметричного алгоритма. Какой именно алгоритм будет использован было выяснено на фазе "рукопожатия". Обычно, это AES с размером ключа 128 бит (например, https://passport. yandex. ru использует данный алгоритм). Общий секретный ключ генерируется заново для каждого сеанса связи. Ключ представляет собой, обычно число длиной более 100 знаков [22]. Чтобы безопасно получить общий ключ для симметричного алгоритма, существует два самых популярных способа: первый способ - использование RSA. Клиент шифрует ключ публичным ключом сервера и передает его на сервер, где с помощью приватного ключа сервера сервер получает отправленный ключ. Второй способ - это использование алгоритма Диффи-Хеллмана, описание которого было представлено ранее [10].
Похожие статьи
-
Для того, чтобы использовать симметричные алгоритмы шифрования, необходимо безопасно обменяться ключами. Протокол Диффи - Хеллмана позволяет двум и более...
-
Анализ безопасности - Программное обеспечение для пропускной системы на основе технологии NFC
Для обеспечения безопасности системы было решено использовать протокол HTTPS для связи клиента и сервера. Использование протокола HTTPS для коммуникации...
-
SSL сертификат представляет собой простой текстовый файл, который может быть редактирован и создан кем угодно. Чтобы убедиться в том, что сертификат...
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
-
Устройство на операционной системе Android с поддержкой технологии NFC поддерживает три способа взаимодействия. Первый способ - режим чтения/записи. Этот...
-
Заключение - Программное обеспечение для пропускной системы на основе технологии NFC
Обеспечение удобной пропускной системы - важная и актуальная задача. Появление новых технологий, таких как NFC и HCE, позволяет решить эту проблему. В...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Эмуляция карт в Android основана на сервисах (класс Service). Преимуществом использования сервисов является отсутствие необходимости запускать...
-
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко...
-
Введение - Программное обеспечение для пропускной системы на основе технологии NFC
Массовые мероприятия стали неотъемлемой частью современного мира. Для таких мероприятий требуется быстрая организация временного разделенного доступа для...
-
Особенностью архитектуры REST является отсутствия хранения состояния на сервере. Для того, чтобы не передавать пользовательские логин и пароль каждый...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
Data Encryption Standard - созданный в 1975 году и стандартизированный в 1977 году блочный алгоритм симметричного шифрования. Алгоритм Triple DES (3DES)...
-
Для того, чтобы избежать копирования карты доступа злоумышленниками был введен защитный механизм. Механизм основан на использовании алгоритма RSA....
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Advanced Encryption System - алгоритм шифрования, разработанный в 1998 году, который пришел на замену алгоритму DES. Данный алгоритм базируется на шифре...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Общая характеристика технологии создания программного обеспечения К программно-инструментальным средствам в первую очередь относятся алгоритмические...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Необходимо отметить специальный класс приложений - систем поддержки принятия решений, позволяющие моделировать правила и стратегии бизнеса и иметь...
-
Геоинформационные системы и технологии - Теоретические основы информационных технологий
Геоинформационные системы (ГИС) и ГИС - технологии объединяют компьютерную картографию и системы управления базами данных. Концепция технологии ГИС...
-
Тестируемый программный продукт является высокопроизводительным приложением, которое предоставляет возможность создания и настройки сетей беспроводного...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Важнейший элемент АИС--информационное обеспечение. Информационное обеспечение предназначено для отражения информации, характеризующей состояние...
-
Описание API сервера - Программное обеспечение для пропускной системы на основе технологии NFC
Таблица 8 Описание API URL Метод Параметры Возвращает Вариант /login POST Phone - form-data JSON {'token', 'id'} - ID пользователя и токен Успех Password...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Анализ современных систем безопасности. Правовые аспекты применения видеонаблюдения Установка системы видеонаблюдения и ее использование являются весьма...
-
Цель Работы - изучить одну из базовых концепций ООП, наследование классов в С++, заключающуюся в построении цепочек классов, связанных иерархически,...
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
По результатам обследования необходимо выбрать архитектуру системы. Для корпоративных систем рекомендуется архитектура клиент/сервер. Архитектура...
-
Технологии распределенных вычислений (РВ) Современное производство требует высоких скоростей обработки информации, удобных форм ее хранения и передачи....
-
Информационно - измерительные системы: структура и состав Постоянное совершенствование и развитие средств измерений необходимо для промышленного...
-
Типы экспертных систем - Теоретические основы информационных технологий
Можно назвать несколько Типов современных экспертных систем . 1) Экспертные системы первого поколения. Предназначены для решения хорошо структурированных...
-
В организации ООО "Дружба" имеется различное оборудование. Оно подразделяется на офисную оргтехнику и профессиональное оборудование в цехе. Офис оснащен...
-
Российская система здравоохранения: текущее состояние, основные проблемы и барьеры для дальнейшего развития Российское здравоохранение на сегодняшний...
Как устанавливается SSL соединение - Программное обеспечение для пропускной системы на основе технологии NFC