повторное использование соединения

Discussion in 'WASM.CRYPTO' started by bi0s269, Feb 19, 2008.

  1. bi0s269

    bi0s269 New Member

    Blog Posts:
    0
    Joined:
    Nov 2, 2007
    Messages:
    68
    есть 2 приложения которые часто связываються по протоколу TCP.
    для установки связи используется трехшаговая x509 аутентификация т.е.
    используется RSA, приложения устанавливают сеансовый ключ, инициализируют HMAC.
    поскольку соединения происходят часто и не на долго то повторение процедуры аутентификации
    нагружает сервера.

    вопрос заключается в следующем: безопасна ли такая схема
    1) при первом соединении проходит аутентификация
    2) после разрыва соединения оба сервера не уничтожают контексты используемых алгоритмов
    3) при повторном соединении используються сохраненные контексты
     
  2. Joes

    Joes New Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2008
    Messages:
    98
    Как ты определишь второй раз, что оригинальный клиент пересоединился? Разве что по шифрованному каналу какой то секрет передашь.
     
  3. bi0s269

    bi0s269 New Member

    Blog Posts:
    0
    Joined:
    Nov 2, 2007
    Messages:
    68
    по IP адресу определяю клиента. посылаю тестовое сообщение. учитывая что трафик шифруется симетричным алгоритом + проверяется HMAC каждого пакета, то из успешного обмена тестовыми сообщениями можно сделать вывод что клиент тот что надо! или я не прав?
     
  4. bi0s269

    bi0s269 New Member

    Blog Posts:
    0
    Joined:
    Nov 2, 2007
    Messages:
    68
    может ктото выскажет еще мнения??
    хочу реализовать такую схему в своей программе
    но боюсь что я не учел какойто момент...
     
  5. Joes

    Joes New Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2008
    Messages:
    98
    Угу, можно сделать вывод что клиент тот, если смог "опознать" тестовое сообщение.
     
  6. bi0s269

    bi0s269 New Member

    Blog Posts:
    0
    Joined:
    Nov 2, 2007
    Messages:
    68
    дело в том что для каждого сообщения вычисляется HMAC значение которого зависит от всех предидущих сообщений + от сеансового ключа который устанавливается при процедуре аутентификации. поэтому "левый" клиент не может знать текущий HMAC и ключ из этого делается вывод что этот клиент проходил ранее процедуру аутентификации... хотя может в чемто я и не прав...