Nano Hash - криптовалюты, майнинг, программирование

Использование SSL, когда соединение с сервером не сохраняется

У меня простой вопрос - очевидно, что SSL - это дополнительные накладные расходы и время обработки, поскольку за кулисами происходит куча вещей при подключении, рукопожатии и т. Д.

Когда соединение установлено и оно безопасно, все готово, НО как насчет архитектур, когда вы не можете (не хотите) просто сохранить соединение?

Представьте, что клиент подключается к серверу, отправляет запрос, получает ответ и сразу же отключается.

В этом типе архитектуры SSL может добавить очень значительные накладные расходы при подключении/отключении с каждым клиентским запросом.

Пожалуйста, объясните, что мне не хватает и какая может быть альтернатива здесь?

Обновление из комментариев, чтобы было ясно: я надеюсь, что для этого есть умное решение, например, сеанс может быть «запомнен», и при следующем запросе не все первоначальные вещи должны будут происходить с нуля. Поэтому я надеюсь найти оптимизацию использования SSL, чтобы не сохранять соединения.

Спасибо всем заранее!

11.11.2013

  • Вы, кажется, ничего не упускаете. Я не совсем уверен, в чем заключается ваш вопрос - вы ожидаете получить что-то вроде уровня безопасности SSL бесплатно? 11.11.2013
  • +1 за хороший комментарий. Я ожидаю, что здесь будет сделано что-то умное. Очевидно, что при сегодняшнем масштабе мобильной связи разумно использовать не сохраняющую архитектуру соединения. Я надеюсь, что для этого есть умное решение, например, сессия может быть запомнена, и при следующем запросе не все первоначальные вещи должны будут происходить с нуля. Поэтому я надеюсь найти оптимизацию использования SSL, чтобы не сохранять соединения — короче. 11.11.2013

Ответы:


1

RFC5077 (а до этого RFC4507) предоставляют расширение для "билетов" TLS, которое позволяет повторное согласование ярлыков между клиентом и сервером. При первоначальном подключении сервер может вернуть билет, который можно использовать для последующих подключений.

Возможно, клиент и/или сервер не поддерживают это, поэтому в этом случае вы каждый раз возвращаетесь к полному согласованию.

11.11.2013
  • Спасибо за ответ, кажется, это то, что я надеялся увидеть с реализациями SSL. Мы можем предположить, что и сервер, и клиент находятся под моим контролем, поэтому я должен иметь возможность добавить поддержку билетов для обоих. Знаете ли вы, как это сделать правильно? Я надеюсь, что OpenSSL сделает всю работу. Также есть ли какие-либо измерения производительности, о которых вы знаете? Например, продажа билетов или полные переговоры. Я отмечу это как ответ после некоторых дополнительных исследований. Еще раз спасибо за хороший ответ! 11.11.2013
  • Проверьте SSL_OP_NO_TICKET для OpenSSL, который, как мне кажется, включен по умолчанию, но некоторые библиотеки (например, libCURL) отключены в своем наборе параметров по умолчанию. Мы провели некоторые измерения, и улучшение пропускной способности было довольно заметным. 11.11.2013
  • Приятно знать, ответил полностью. Я постараюсь поиграть с ним и обновить это, если есть чем поделиться. Спасибо еще раз. 11.11.2013

  • 2

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

    12.11.2013
  • Спасибо за ответ. Посмотрите здесь: vincent.bernat.im/en /blog/2011-ssl-session-reuse-rfc5077.html Билеты предпочтительнее, чем идентификаторы сеансов, поскольку с сервером билетов не нужно поддерживать кэш на стороне сервера. 12.11.2013
  • Я знаю об этом. Вы должны знать, что идентификаторы сеансов встроены в TLS и поддерживаются большинством реализаций. RFC 5077 — это расширение, не поддерживаемое несколькими основными реализациями. 13.11.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..