Шифрование данных в Интернете

шифрование данных в интернетеСтатья нарисовалась с простого вопроса, на что решил собрать информацию в Интернете о теме шифрования данных, что получилось, возможно где-то что-то не понял и вообще на то и он и форум добрые люди подскажут как должно быть правильно…

Содержание статьи о шифровании данных в Интернете

  1. Зачем вообще что-то шифровать в Интернете?
  2. Глоссарий криптографии.
  3. Коротко о шифровании.
  4. Знакомство с HTTPS.
  5. Что значит HTTPS?
  6. Принцип работы безопасного соединения.
  7. Цифровой сертификат.
  8. Что такое MitM-атака?
  9. Вывод. Что же я узнал?

Понятие «Безопасности данных в Интернете» звучит серьезно :). Цель статьи кажется простой, если же рассматривать в контексте применения Баз Данных, — то, кое-где, но сразу появляется мысль: «- А что если данные похитят?», Уместнее даже: «- А если пароли похитят? ».

Лично я вообще не специалист по веб-безопасности, но интересно, же что по поводу безопасности данных говорит мистер Интернет.

Глоссарий криптографии и шифрования данных

Как и каждая область человеческой деятельности криптография имеет свои термины и определения, считаю, стоит сначала ознакомиться с некоторыми понятиями перед тем как рассматривать тему шифрования данных в Интернете.

Цифровой сертификат — цифровой документ, подтверждающий соответствие между открытым (публичным) ключом и информацией, идентифицирующей владельца ключа. Чаще всего сопровождает определенное электронное сообщение и используется, чтобы показать, что открытый ключ принадлежит именно тому владельцу, чьи данные указаны в нем.

Открытый ключ — асимметричные системы шифрования, шифрование в криптографической системе, когда открытый ключ передается по открытому (незащищенном) канала связи и используется для проверки электронных подписей или шифрования сообщений. Для расшифровки сообщений используется закрытый ключ.

Закрытый (секретный, частный) ключ — асимметричные системы шифрования, секретный ключ для расшифровки сообщений.

HTTPS — схема URI, синтаксически идентична http:, обычно использущейся для доступа к ресурсам Интернет.

Схема URI — Унифицированный идентификатор ресурсов — компактный строку букв, который однозначно идентифицирует отдельный абстрактный или физический ресурс. Основное назначение таких идентификаторов — сделать возможной взаимодействие с представлениями ресурсов через сеть, преимущественно Всемирная паутина, используя специальные протоколы. URI определяется схемами, которые определяют синтаксис и соответствующие протоколы. Наиболее распространенной формой URI является унифицированный локатор ресурсов (URL), который неофициально называют веб-адресом.

Что значит HTTPS?

На сегодняшний день (2016) достаточно распространенным является HTTP-протокол обмена данными между браузером юзера и сервером. Недостатком такого протокола является то, что данные передаются открыто и никак не защищены от злоумышленников.

И в некоторых системах, например, платежные системы, данные передаются по HTTPS. Все современные браузеры автоматически поддерживают HTTPS-протокол.

Как работает соединение HTTPS?

Если нам необходимо передать ценную информацию собеседнику, необходимо:

Закрываем ящик с ценной информацией на замок (ключ остается у Вас) и отправляем собеседнику,
Собеседник получает ящик, однако не имеет возможности его открыть (отсутствует ключ на Ваш замок), собеседник также дополнительно устанавливает замок на ящик (ключ оставляет себе) и возвращает ящик,
Получив закрытый ящик назад, Вы снимаете собственный замок -> отправляете собеседнику,
Собеседник открывает собственный замок и получает ценные данные.
То есть для обмена информацией Ваш компьютер и сервер устанавливают общий секретный ключ, затем шифруют информацию с помощью этого ключа. Секретный ключ генерируется для каждого сеанса, его невозможно перехватить и невозможно подобрать — в общем его длина более 100 знаков. Почти идеально, однако еще осталось решить один вопрос — знать, что Ваш собеседник тот, за кого себя выдает.

Для чего нужен цифровой сертификат?

В вопросах доступа к секретной информации злоумышленники могут подделать сообщение таким образом, чтобы корреспонденты даже не догадывались о присутствии третьей стороны (MitM-атака).

HTTPS гарантирует умеренную защиту от нападения «человек посередине» (man-in-the-middle). Однако что такое «человек посередине»?

Для того чтобы подтвердить правдивость того, что Вы именно тот, за кого себя выдаете, созданные Цифровые сертификаты (SSL-сертификат).

SSL сертификат — это цифровая подпись домена, обеспечивает безопасное соединение и передачу данных между сервером и клиентом. Сертификат устанавливается на сервер и гарантирует, что обмен данными между сайтом и клиентом происходит по защищенной линии связи с применением htpps-протоколу.

Сертификаты выдает «паспортный стол :)» — Центр Сертификации, правдивость которого не подлежит, например, ресурс — Ukrnames.

Любой сервер, который хочет установить безопасное соединение с Вами, должен иметь сертификат.

Сертификат устанавливает:

  1. Что лицо, которому он выдан существует.
  2. Что лицо владеет сервером (сайтом), который указан в сертификате.

Сертификаты выдают Центры Сертификации. Задача Центра Сертификации — подтверждать подлинность ключей с помощью сертификатов электронной подписи.

В сертификате указаны данные, удостоверяющие личность и подпись, свидетельствует правдивость данного сертификата.

Проверка подлинности сертификата, это первое, что выполняет браузер при установлении безопасного HTTPS-связи.

Пользователю для HTTPS-соединения сертификат не нужен.

Вывод. Что же я узнал?

Коротко:

  • https-протокол безопасный протокол передачи секретных данных.
  • Передача данных шифруется открытым ключом SSL-сертификата, что владелец сайта.
  • Достоверность Сертификата подтверждает Центр Сертификации.
  • Современные браузеры перед тем как отправлять данные автоматически проверяют
  • достоверность Сертификата и устанавливают https-протокол соединения.

P.S. Между прочим. TCP портом по умолчанию для HTTPS является 443 (для HTTP — 80).

P.S.S. Согласно заявлению Google рейтинг сайтов по https-протоколу будет выше.



Запись опубликована в рубрике IT. Добавьте в закладки постоянную ссылку.

6 комментариев: Шифрование данных в Интернете

  1. admin говорит:

    По представленному выше материала, возможно у будут существенные предложения замечания, так как я то почитал информацию, но на собственном сайте безопасную передачу данных не устанавливал, поэтому тут было бы уместно рассмотреть дополнительно вопрос «Как установить на своем сайте https-протокол соединения? «

  2. специалист говорит:

    Где-то я вам там на сайте оставил сообщение: функция md5 () касается хеширования, но не шифрования.
    Отличие между ними: функции для дехеширования (обратный процесс до хеширования) не существует, один и тот же хэш можно получить передавая функции хеширования различные параметры.

  3. admin говорит:

    Между прочим, я еще раньше видел что у тебя ресурс на протоколе https, тебе не сложно было бы в пять предложений уложиться рассказав как перевести сайт с http на https, а то я был нашел где-то инфу, но сейчас не осилил что они хотели сказать.

  4. специалист говорит:

    Особой сложности нет, но надо иметь хотя бы небольшой опыт использования Linux + Git.
    Есть открытый проект letsencrypt.org/ целью которого — сделать интернет безопасным с помощью раз раздачи бесплатных сертификатов для https.
    Относительно твоей статьи на сайте, то лучше дождаться обновления сайта. Я уже его начал переписывать на вторую версию Angular. Нынешнее состояние сайта по сути находится в «глубокой альфе», на нем даже метку нужную трудно сейчас найти. Но процесс переписывания затянется, к сожалению еще не на один месяц …
    Кстати, кажется я где-то краем уха слышал, что для пользователей cPanel есть возможность получить сертификаты от letsencrypt по упрощенной схеме. Погугли, должно быть…

  5. Ольга говорит:

    Кажется вы еще пропустили момент что сертификаты могут быть различными по так называемому «классу защиты» и чем они отличаются — то есть b, a, a + и тд

    Для разработки на локалке или просто в локальной сети можно использовать самоподписанный сертификат — просто сгенерировать — digitalocean.com/community/ … untu-14-04
    при заходе на сайт с таким сертификатом шифрование будет работать, однако при первом входе на сайт нужно будет обозначить сайт как доверенный / добавить в исключения как надежный

    Купленный или полученный бесплатно у одного из центров сертификации подписан сертификат будет без этого «небольшого недостатка».

  6. Хакер говорит:

    Применительно к теме шифрования, то еще вопрос для чего его лучше использовать.
    Если цель — это сохранение чужих паролей в таком виде, чтобы их можно было проверить, но нельзя было расшифровать, то для этого подходит хэш (md5, hash …).
    Если же вам нужно хранить, например, собственные пароли, то тогда действительно — лучше шифровать.
    Итак, если вы хотите хранить зашифрованный пароль в MySQL или MariaDB, то тип данных нужно выбирать BLOB (допустимые и некоторые другие типы, но я точно знаю про BLOB).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *