Как происходит безопасное соединение между моей ID-картой и сервером?

Каким образом происходит создание безопасного соединения между ID-картой и сервером и что делает его безопасным в части посреднических (man-in-the-middle attack) атак?

Прежде всего - что такое посредническая атака?

И в эстонском разговорном языке для описания посреднической атаки отдается предпочтение англоязычному man-in-the-middle термину, очевидно, благодаря иллюстративности этого выражения: при движении информации из пункта А в пункт Б в путь передвижения вмешивается кто-то третий, то есть нападающий, и таким образом получает контроль над движущейся информацией. Атакой считаются как такие вмешательства, в ходе которых информация изменяется, так и ситуации, в ходе которых неавторизованная сторона получает возможность видеть информацию, для использования которых у нее нет прав.

Каким образом происходит создание соединения?

При создании соединения первым шагом является обмен сертификатами.

У клиента, то есть его ID-карты и у сервера есть свой секретный ключ, также известен сертификат противоположной стороны. Для обмена сертфикатами выбирается одно случайное сообщение, которое одна из сторон подписывает своим секретным ключом и отправляет второй стороне (например, клиент пересылает сообщение посредством браузера).

Затем противоположная стороны проверяет подпись, используя для этого известный сертификат отправителя.

  • Если используется аутентификация сервера, таким образом сообщение подписывает только сервер и отправляет его на проверку клиенту (то есть, его браузеру).
  • При двусторонней аутентификации клиента и сервера процесс является двунаправленным, и обе стороны «независимо» проверяют подлинность друг друга.

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

Говоря о веб-сервере, возможность атаки man-in-the-middle настолько мала, что ее можно считать практически исключительной. Во-первых, нападающий должен уметь подделывать подписи как клиента, так и сервера. Во-вторых, он должен уметь создавать поддельные сертификаты, которые были бы равноценными подписанным Сертификационным центром. С учетом мощности современных компьютеров это неосуществимо.