The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Первый выпуск новой SSL/TLS-библиотеки BearSSL

06.11.2016 10:58

Доступен первый выпуск библиотеки BearSSL, предлагающей компактную реализацию протоколов SSL и TLS (RFC 5246). Автором разработки является канадский эксперт по криптографии (Thomas Pornin), автор RFC 6979, разработчик библиотеки sphlib, создатель функции хэширования паролей Makwa, соавтор хэша Shabal, блочного шифра DFC и потокового шифра SOSEMANUK. Код проекта написан на языке Си и распространяется под лицензией MIT. Выпуск 0.1 позиционируется как ознакомительный, а разработка пока находится в состоянии альфа-тестирования.

Ключевые цели проекта:

  • Надёжность и безопасность. Поддерживаются только проверенные версии протоколов и алгоритмы, в которых не зафиксировано уязвимостей. Реализации алгоритмов по умолчанию защищены от timing-атак;
  • Небольшое потребление ресурсов и небольшой размер кода. Минимальная сборка занимает всего 20 Кб и требует для своей работы 25 Кб ОЗУ;
  • Высокая переносимость, возможность сборки не только для стационарных систем, но и для контроллеров, загрузчиков и встраиваемых решений;
  • Поддержка различных расширений и наборов шифров для SSL/TLS. Расширяемость через систему дополнений, позволяющая сторонним разработчикам создавать собственные реализации алгоритмов для BearSSL.


Реализованные возможности:

  • Применение модели статической компоновки для включения в итоговые бинарные файлы только используемых алгоритмов без необходимости пересборки BearSSL со специальными опциями препроцессора;
  • Несколько вариантов API: основной state-machine API без callback-вызовов для ввода/вывода (удобен для обработки сообщений и программах с мультиплексированием на основе модели poll/select) и упрощённый потоковый API с callback-вызовами для низкоуровневой обработки ввода/вывода;
  • Полный отказ от динамического выделения памяти и предсказуемое потребление памяти, что обеспечивает неподверженность проблемам с утечками памяти и DoS-атаками, направленными на излишнее потребление ОЗУ. В библиотеке нет ни одного вызова malloc(), а из библиотечных функций используются только memcpy(), memmove(), memcmp() и strlen(), что упрощает перенос на различные специфичные системы и позволяет применять BearSSL в загрузочных окружениях без ОС. На стационарных системах для обращения к таймеру и генератору случайных чисел используются предоставляемые ОС системные вызовы;
  • Реализация клиентских и серверных компонентов;
  • Поддержка TLS 1.0, TLS 1.1 и TLS 1.2. SSL 2.0 и SSL 3.0 не поддерживаются из-за подверженности уязвимостям;
  • Поддержка алгоритмов обмена ключами RSA, ECDH и ECDHE. В ECDHE реализовано свойство "Forward Secrecy", не позволяющее расшифровать перехваченный сеанс при компрометации одного из долговременных ключей. DHE принципиально не поддерживается;
  • Реализованы минимально необходимые средства для проверки сертификатов X.509: сопоставление subject/issuer DN, оценка времени notBefore/notAfter, применение основных условий и расширения для обмена ключами. Код проверки выдаёт отрицательный результат при задействовании в сертификатах неподдерживаемых возможностей важных TLS-расширений. Существенным ограничением является отсутствие проверки отзыва сертификата;
  • Поддержка цифровых подписей RSA и ECDSA, а также всех классических хэш функций (SHA-1, SHA-2 от SHA-224 до SHA-512), кроме MD5;
  • Поддержка алгоритмов шифрования AES/GCM, AES/CBC и 3DES/CBC;
  • Поддержка эллиптических кривых secp256r1 (P-256), secp384r1 (P-384) и secp521r1 (P-521);
  • Обеспечена защита от проведения атак по сторонним каналам для AES/GCM, AES/CBC, 3DES/CBC, RSA и реализаций эллиптических кривых. BearSSL затрачивает постоянное время на обработку заполнения и зашифрованных данных, а также однородно обрабатывает некорректные входные данные;
  • Поддержка возобновления прерванных сеансов для клиента и сервера. Для обработки повторных запросов согласования соединений предоставляется простой кэш сеансов (при включении расход памяти около 100 байт на сеанс);
  • Поддержка безопасного метода повторного согласования соединения (Secure Renegotiation, RFC 5746), прерывающего операцию если другая сторона не поддерживает запрошенное расширение;
  • На стороне клиента для согласования меньшего максимального размера записей используется расширение для ограничения максимальной длины фрагмента (Maximum Fragment Length);

Из планов на будущее отмечается поддержка алгоритмов ChaCha20+Poly1305 (RFC 7905), задействование инструкций AES-NI для ускорения AES на современных x86 CPU, оптимизация для процессоров ARM, ускорение работы RSA, поддержка Curve25519 и EdDSA, расширенные средства для работы с клиентскими сертификатами, высокоуровневые функции (генерация пар ключей, самоподписанные сертификаты), поддержка DTLS, поддержка расширения ALPN (RFC 7301) для HTTP/2, поддержка TLS 1.3 после утверждения RFC.

  1. Главная ссылка к новости (https://bearssl.org/#status...)
  2. OpenNews: Представлен релиз легковесной криптографической библиотеки PolarSSL 1.0.0
  3. OpenNews: Компания Google представила BoringSSL, форк OpenSSL
  4. OpenNews: Выпуск LibreSSL 2.5.0
  5. OpenNews: Увидела свет библиотека GnuTLS 3.5.0
  6. OpenNews: Первый стабильный выпуск криптографической библиотеки Sodium
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45438-bearssl
Ключевые слова: bearssl, ssl, tls, cryp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (91) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:15, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +36 +/
    Сайт немодный, даже без js, есть надежда что взлетит
     
     
  • 2.4, аноном (?), 13:01, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ага, и не хватает фотки котэ или еще какой фотохрени.
     
  • 2.10, Меломан1 (?), 13:24, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Сайт просто мечта. Все были бы такие.
     
     
  • 3.30, angra (ok), 20:56, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –16 +/
    Какие такие? Чистая статика и перезагрузка всей страницы на каждый клик по ссылке? Спасибо, я это помню на заре www, не надо туда возврата. Годится такое, только для очень ограниченного множества сайтов.
     
     
  • 4.33, Mihail Zenkov (ok), 21:18, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > Какие такие? Чистая статика и перезагрузка всей страницы на каждый клик по
    > ссылке? Спасибо, я это помню на заре www, не надо туда
    > возврата.

    Сейчас несомненно лучше - грузится несколько мегабайт с десятка (а то и больше) серверов, для рендеринга одной страницы нужны десятки-сотни мегабайт, а затем js ест проц даже если нечего не делаешь ... На заре www браузер работал на машине с 32-64 MB RAM и интернет грузился через dial-up - каждая страница и все картинки тщательно оптимизировались, а js использовали только при реальной необходимости. Да и фреймы появились достаточно давно.


     
     
  • 5.40, Аноним (-), 00:27, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Они бесполезны Отапдейтить состояние одного контрола ими нельзя, да и сам фрейм... большой текст свёрнут, показать
     
     
  • 6.41, Mihail Zenkov (ok), 02:35, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >> Да и фреймы появились достаточно давно.
    > Они бесполезны. Отапдейтить состояние одного контрола ими нельзя,

    Естественно - они ведь не для этого. Но они могут помочь отделить неизменные части (меню/шапка/etc) от изменяемых при клике (контента).

    > да и сам фрейм
    > жестоко мельтешит и создает дефекты рендеринга. Правда жизни такова что пользователи
    > проголосовали ногами. То что там грузится с 10 серверов - оно
    > грузится только в первый раз.

    Ну да, сходите на aliexpress - вот уж апофеоз современных технологий. Один логин чего стоит.

    > Это
    > неудобно тем кто активно ходит по разным сайтам, но большинство юзерей
    > ходят на 5-6 постоянных сайтов и им удобно - cache hit
    > в почти 100% случаев.

    Жирным сайтам это мало помогает - они все равно тормозят, в то время как сайты типа opennet грузятся за доли секунды.

    > Поэтому они не понимают ваших страданий.

    Угу, просто тихо матерятся, особенно на телефонах/планшетах. Если сигнал ослабел и модем перешел в 2g - проще плюнуть и отключиться - нервы дороже.

    > Ну и с чисто практической точки зрения - если хочется апдейтить что-нибудь
    > без мельканий, мельтешений и бесилова пользователей от ожидания с пустым экраном,
    > JS таки придется использовать.

    Да, но не сувать его всюду, да так, что браузер умудряется тормозить на современной машине, а без js сайт использовать не реально.

    > Сейчас другие требования к UX и UX уровня опеннета -
    > годится только для полутора сайтов с фриками. В остальных случаях -
    > продукт не купят, с сайта уйдут пользователи, etc. И единственное что
    > останется это закрыть проект, если сайт был сколь-нибудь важной частью оного.

    Открываем wikipedia.org, отключаем js. О чудо, сайт практически не изменился (только раскрылись скрытые области)! UX у wikipedia.org мало отличается от opennet и скорость загрузки отличная. Сколько там у них посещений?

     
     
  • 7.42, Аноним (-), 04:58, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Боюсь что это годится только для сильно некоторых случаев да и работает хреново ... большой текст свёрнут, показать
     
     
  • 8.54, кверти (ok), 07:52, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что за бред На Али пользователи ходят из-за дешевого китайского барахла, интерф... текст свёрнут, показать
     
     
  • 9.88, Аноним (-), 06:17, 10/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Али - это прежде всего площадка Для продаванов и покупателей Если бы интерфейс... большой текст свёрнут, показать
     
  • 8.60, Mihail Zenkov (ok), 13:45, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что за мигание А какое оно должно быть Вроде все нормальные сайты имеют блочну... большой текст свёрнут, показать
     
     
  • 9.79, cmp (ok), 08:20, 08/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    На счет али абсолютно согласен, хотя нет, думаю всетаки за такой интерфейс стоит... большой текст свёрнут, показать
     
     
  • 10.81, Mihail Zenkov (ok), 13:02, 08/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Так оно и тогда в любом случае станет недоступно - что прямыми запросами, что че... текст свёрнут, показать
     
  • 9.89, Аноним (-), 07:23, 10/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    При загрузке перезагрузке фреймов, вестимо Из JS а то можно очень гранулярно ад... большой текст свёрнут, показать
     
     
  • 10.90, Mihail Zenkov (ok), 13:36, 10/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понимаю, что это зависит от сайта браузера - если он отображает загружаему... большой текст свёрнут, показать
     
  • 6.61, Аноним84701 (?), 13:46, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Даже не смешно Чтобы голосовать ногами, нужно разбираться в вопросе Все оста... большой текст свёрнут, показать
     
     
  • 7.91, Аноним (-), 01:25, 11/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А посетители таки немного продаются - попробуй адблокер выключить Ну вот либе... большой текст свёрнут, показать
     
  • 5.55, angra (ok), 08:44, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А ms-dos работал на 64КБ памяти и 8088 процессоре и никаких терабайтных винчесте... большой текст свёрнут, показать
     
     
  • 6.62, Mihail Zenkov (ok), 14:06, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я хочу, что бы железо использовалось рационально Я посещаю сайты ради контента,... большой текст свёрнут, показать
     
     
  • 7.68, angra (ok), 15:44, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Используй REST напрямую, получишь контент в виде json или xml Расскажешь о вп... большой текст свёрнут, показать
     
     
  • 8.71, Mihail Zenkov (ok), 16:21, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я и использую на 3g модемах роутерах etc, ибо удобно получать статистику или отс... большой текст свёрнут, показать
     
     
  • 9.74, angra (ok), 20:19, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Впечатление, что ты не осознаешь, что именно предлагаешь Напоминает желание пол... текст свёрнут, показать
     
     
  • 10.75, Mihail Zenkov (ok), 21:31, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я не говорил, что это будет легко Но в конечном итоге это себя окупит многократ... большой текст свёрнут, показать
     
     
  • 11.80, angra (ok), 11:12, 08/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А вот я вижу фатальный недостаток во всех форумных движках и твоей схеме Наприм... большой текст свёрнут, показать
     
     
  • 12.82, Mihail Zenkov (ok), 13:13, 08/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Посмотрим как это решается в СПО Я вижу фатальный недостаток в mesa - сложный... большой текст свёрнут, показать
     
  • 5.66, Stax (ok), 14:35, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага, только сайты в 90 ые выглядели соответственно Вы посмотрите внимательно, п... большой текст свёрнут, показать
     
     
  • 6.69, Mihail Zenkov (ok), 15:57, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Меня лично вполне устраивает дизайн типа wikipedia И ради чего все это При про... большой текст свёрнут, показать
     
  • 4.52, Аноним (-), 05:32, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Какие такие? Чистая статика и перезагрузка всей страницы на каждый клик по
    > ссылке? Спасибо, я это помню на заре www,

    А на опеннете всегда зори :). Тут и верстка офигенно адаптивная заодно.

     
  • 4.83, Алексей (??), 13:42, 08/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    AJAX, web2.0 и http 2.0 сделаны для экономии ресурсов на серверах гугл и прочих. Ресурсы пользователей интересуют уже потом, когда вопрос с нагрузкой на сервер более менее решен. Инструменты для тестирования скорости загрузки сайта делают тоже самое. Старые простые сайты грузятся быстро и легко, но гугло-яховские упорно ставят им 60-70%, мол картинки с одного хоста не эффективно, хотя этот же opennet со всей рекламой грузит быстрее гуглоплюсов и прочей хрени. они утащили веб в сторону, в которую им надо и поэтому браузеры сравнимают с ОС по сложности. Весь софт может крутиться легко, стоит запустить браузер, причем любой, все останавливается...
     

  • 1.2, Аноним (-), 12:38, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Может будет сонкурент у бывш. polar ssl - нынешней mbed TLS https://tls.mbed.org/
     
     
  • 2.35, barmaglot (??), 21:32, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>На заре www браузер работал на машине с 32-64 MB RAM и интернет грузился через dial-up

    Позвольте Вас поправить. На заре www, это когда были такие браузеры как NCSA Mosaic, и Netscape 1, хватало и 2х МБ ОЗУ.

     
     
  • 3.37, Mihail Zenkov (ok), 21:54, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно. Просто в моем городе тогда интернет не был доступен простым смертным.
     

  • 1.3, Алконим (?), 12:49, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    #define memcpy memmove
     
     
  • 2.5, Аноним (-), 13:02, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    memmove умеет работать с пересекающимися dst и src, тогда как memcpy не умеет.
    поэтому memmove в принципе может заменить memcpy.
    поэтому проблемы нет.
     
     
  • 3.31, Олег (??), 21:02, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    memmove() медленее memcpy(), поэтому особенно в embedded смысла использовать нет
     
     
  • 4.58, Фкук (?), 13:27, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> memmove() медленее memcpy()

    Откуда этот вывод?
    Поделитесь аргументами.

     
     
  • 5.78, Ivan_83 (ok), 23:17, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очевидно же: дополнительные проверки на пересечения - доп время, если нужно копировать много мелких кусков то оно становится ощутимо.
     
     
  • 6.84, Аноним (-), 10:29, 09/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, ну. Земля плоская! Очевидно же.

    Ну давай померяйся скоростью с memmove.
    Или ты думешь что при использовании memcpy проверки делать не нужно?

     

  • 1.6, Аноним (-), 13:07, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    После Heartbleed кто-то до сих пор пытается всерьёз писать новые библиотеки на сишечке? Есть же уже вполне готовый Rust.
     
     
  • 2.8, Аноним (-), 13:11, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты ещё предложи ядро на С переписать. А Ржавчина анально ограничена.
     
     
  • 3.9, Аноним (-), 13:12, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ты ещё предложи ядро на Rust переписать. А Ржавчина анально ограничена.

    quick fix

     
     
  • 4.12, Аноним (-), 13:28, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >quick fix

    Вся суть сишников.

     
     
  • 5.18, Аноним (-), 15:25, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    создаётся впечатление, что не осилившие ранее PHP попытались изучить C.
     
  • 3.14, Аноним (-), 13:36, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ты ещё предложи ядро на С переписать. А Ржавчина анально ограничена.

    Приколись, в качестве PoC народ наваял таки ОСь на ржавчине:
    https://www.redox-os.org/
    Причем, она еще и с гуем и прочими библиотекаршами, да и вполне себе на разных железяках запускается, а не только привет миру в виртуалочку выплевывает:
    https://www.redox-os.org/screens/

     
     
  • 4.16, Mihail Zenkov (ok), 14:22, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Написать ОС можно почти на любом языке. Вопрос в том, будет ли она от этого лучше?

     
  • 4.20, Crazy Alex (ok), 16:37, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Даже на хаскеле ваяли что-то. Тоже с гуем. А толку...

    Не то чтобы я был против раста (как по мне, его модель - это извращение, но это, в конце концов, дело субъективное). Но какой смысл сейчас на нём пытаться писать что-то серьёзное? Пусть хипстеры поскачут, побьются обо все подводные камни, пусть появится ещё пара реализаций - тогда можно и глянуть на предмет реального использования.

     
     
  • 5.28, Аноним (-), 18:24, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да ладно вам, хаскел все таки никогда не позиционировался, как системный А так,... большой текст свёрнут, показать
     
     
  • 6.48, Аноним (-), 05:17, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > давно не тыкал) пары тройки расширений как у гцц для си
    > в _стабильной_ ветке раста не хватает для "полного" счастья.

    У gcc за годы развития накопилось мягко говоря поболее чем пары тройки расширений. Им можно прецизионно разложить код и данные по конкретным адресам памяти, что актуально для МК например. Он может генерить код не привязанный ни к каким стандартным либам и рантаймам. И вообще - это не компилятор и не линкер. Это тулчейн. Набор тулзов, достаточный для bring-up системы от и до. Rust на это не очень то похож.

     
     
  • 7.59, Led (ok), 13:29, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У gcc за годы развития накопилось мягко говоря поболее чем пары тройки
    > расширений. Им можно прецизионно разложить код и данные по конкретным адресам
    > памяти, что актуально для МК например. Он может генерить код не
    > привязанный ни к каким стандартным либам и рантаймам. И вообще -
    > это не компилятор и не линкер. Это тулчейн. Набор тулзов, достаточный
    > для bring-up системы от и до. Rust на это не очень
    > то похож.

    Справедливости ради: у Rust - llvm-"тулчейн". Не бог-весть-что, но и не так-чтоб-ничего.

     
  • 4.36, barmaglot (??), 21:34, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Ты ещё предложи ядро на С переписать. А Ржавчина анально ограничена.
    > Приколись, в качестве PoC народ наваял таки ОСь на ржавчине:
    > https://www.redox-os.org/
    > Причем, она еще и с гуем и прочими библиотекаршами, да и вполне
    > себе на разных железяках запускается, а не только привет миру в
    > виртуалочку выплевывает:
    > https://www.redox-os.org/screens/

    Most features are implemented in Rust ...

     
     
  • 5.47, Аноним (-), 05:14, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Most features are implemented in Rust ...

    ^^^^^ Вот это словечко звучит подозрительно. Что, без сишечки то смогли обойтись? Или как обычно всю ломовую работу си выполняет, пока утята крякают про свои концепции?

     
     
  • 6.65, Ан (??), 14:26, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько помню там был ASM местами.
     
  • 6.72, Аноним (-), 19:54, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Most features are implemented in Rust ...
    > ^^^^^ Вот это словечко звучит подозрительно. Что, без сишечки то смогли обойтись?

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

    > Или как обычно всю ломовую работу си выполняет, пока утята крякают
    > про свои концепции?

    https://github.com/antoinealb/rust-demo-cortex-m4
    https://github.com/avr-rust
    А теперь покажи аналог на  го/жабе/питоне или что там у вас.


     
     
  • 7.76, Mihail Zenkov (ok), 21:58, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А теперь покажи аналог на  го/жабе/питоне или что там у вас.

    Не знаю как в упомянутых языках, но помню кто-то компилировал под AVR на D - естественно стандартную библиотеку переписывали ибо стандартная использует GC. Был в компиляторе даже спец режим betterC - библиотеки от C, синтаксис D, но его вроде забросили.

     
  • 7.92, Аноним (-), 01:32, 11/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Посмотри в код что ли.

    А оно мне надо? У меня более интересные и практичные проекты на очереди.

    > пингвина, там, внезапно, тоже не все на си.

    В свежих ядрах как раз немало старого cruft'а на ассемблере почистили. А в случае ARM - Cortex M вообще сделали так чтобы можно было писать на C без ассемблера.

    > А теперь покажи аналог на  го/жабе/питоне или что там у вас.

    А у нас сишечка внезапно 8). Мы читеры.

     
  • 4.49, Аноним (-), 05:21, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Приколись, в качестве PoC народ наваял таки ОСь на ржавчине:

    Я приколюсь, если ты этим еще и пользоваться будешь. А то рекламировать ржавчину сидючи на операционке с сишным ядром и либами как-то не того. Да и громкие заявления про Rust здорово. Но вот "most" в описании выглядит подозрительно.

     
     
  • 5.73, Аноним (-), 20:05, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Приколись, в качестве PoC народ наваял таки ОСь на ржавчине:
    > Я приколюсь, если ты этим еще и пользоваться будешь.

    Я приколюсь, если ты загуглишь и запомнишь значение "PoC"
    Даю подсказку, P=Proof

    > ржавчину сидючи на операционке с сишным ядром и либами как-то не того.

    Еще один поклонник исконно-посконного? Луддитов тоже долго все устраивало "осваивать новые инструменты -- да ну его!" :)

    > Но вот "most" в описании выглядит подозрительно.

    А ты глянь хотя бы на гитхабе.
    >  Rust 88.6%   Assembly 4.8%   Makefile 3.1%   Shell 2.7%   Other 0.8%
    >  C 95.7%   C++ 2.0%   Assembly 1.8%   Makefile 0.3%   Perl 0.1%   Objective-C 0.1%

    Одно из них статистика redox. Другое -- классическое ядро на си (угадай, какое). Да, грубо и с плюсами/object-C  например мимо кассы, но ...

     
     
  • 6.93, Аноним (-), 01:35, 11/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Даю подсказку, P=Proof

    Так и скажи - действующий макет.

    > Еще один поклонник исконно-посконного? Луддитов тоже долго все устраивало

    Ггг почему-то не все меня склонны записывать в луддиты.

    > Одно из них статистика redox. Другое -- классическое ядро на си (угадай,
    > какое). Да, грубо и с плюсами/object-C  например мимо кассы, но ...

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

     
  • 2.26, KonstantinB (ok), 17:37, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так напиши.
     
  • 2.38, Аноним (-), 22:11, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Днём было +3, сейчас -4, забавно
     
     
  • 3.63, Аноним (-), 14:15, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Днём было +3, сейчас -4, забавно

    Ну, через месяц-другой и -20 может быть, а у кого и -40. Зима, все-таки ;)

     
  • 3.64, Ilya Indigo (ok), 14:23, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Днём было +3, сейчас -4, забавно

    Winter is coming!

     
  • 2.39, Аноним (-), 23:12, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Скоро будете в каждый дом приходить и листовки разносить?
     
  • 2.50, Аноним (-), 05:22, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > После Heartbleed кто-то до сих пор пытается всерьёз писать новые библиотеки на
    > сишечке? Есть же уже вполне готовый Rust.

    Синдром утенка как есть. А почему бы тебе не упхнуться и не написать либу на чем там тебе удобно? Хоть на брейнфаке.

     
     
  • 3.56, Аноним (-), 10:43, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Хоть на брейнфаке.

    Который один фиг транслируется в С.

     
     
  • 4.94, Аноним (-), 01:37, 11/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Хоть на брейнфаке.
    > Который один фиг транслируется в С.

    Не обязательно. Есть и чистые интерпретаторы и не обязательно на си. Теоретически можно даже компилятор брейнфака на брейнфаке написать. Пракчтиески - не знаю, долбанулся ли кто-нибудь настолько. Бутстрапнуть брейнфак - это был бы номер. Если пациент раньше не спятит.

     

  • 1.7, rm_ (ok), 13:10, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Потому что конечно же, "канадский эксперт по криптографии" одновременно обязательно является экспертом по тому как безопасно писать на Си.
     
     
  • 2.17, Аноним (-), 15:24, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Форуму срочно нужны эксперты по русскому языку - для коррекции экспертов по комментированию.
     
  • 2.22, Crazy Alex (ok), 16:42, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да кто ж его знает, может и эксперт.Но да, тоже смутило - регалии в криптографии это хорошо, а что там у него с писанием кода - вопрос отдельный.
     
     
  • 3.24, Аноним (-), 17:05, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    И кто ж решает этот вопрос? Теперь для написания на сях надо одобрение комментаторов всяко-разных форумов получать?
     
     
  • 4.27, Crazy Alex (ok), 17:43, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вас куда-то занесло. Причём здесь "кто решает"? Человек обратил внимание на важный аспект, который не стоит упускать.
     
     
  • 5.53, Аноним (-), 05:40, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Вас куда-то занесло. Причём здесь "кто решает"? Человек обратил внимание на важный
    > аспект, который не стоит упускать.

    Если кто ссыкует - пусть собирает себе весь софт с asan. Правда скорость работы будет слегка жабообразной, зато при левых поползновениях программа будет пристрелена с отчетом о проблеме.

     
  • 2.34, Аноним (-), 21:19, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Одно другому не мешает :)
     
  • 2.51, Аноним (-), 05:28, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что конечно же, "канадский эксперт по криптографии" одновременно обязательно является
    > экспертом по тому как безопасно писать на Си.

    Криптографы в этом обычно очень неплохи. У них паранойя - профессиональное заболевание, поэтому безопасно писать на си для них - просто крейсерский режим. Это же не раздолбайские вебмакаки. Иди вон раскрякай проги от djb. Там даже штуку зелени за это предлагается получить. Хотя там дело даже не в штуке а в том кто ее выдаст. Один такой факт в биографии весит больше чем 20 резюме вебмакак и скрипткидей вместе взятых.

     
  • 2.85, Аноним (-), 12:14, 09/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Дело в том, что данный эксперт действительно известныэксперт. И по криптографии, и по тому, как писать криптографические вещи.
     
  • 2.86, Аноним (-), 12:15, 09/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Автор bearsll настолько известный человек в кругах криптографии, что одного только его имя заставляет людей серьёзно относиться к данном разработке.
     

  • 1.11, Аноним (-), 13:24, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    МедведьSSL? Чем он лучше OpenSSL? LibreSSL?
     
     
  • 2.15, Mihail Zenkov (ok), 14:06, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Небольшое потребление ресурсов и небольшой размер кода. Минимальная сборка занимает всего 20 Кб и требует для своей работы 25 Кб ОЗУ"

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

    для сравнения libressl:
        libssl.so     383.1K
        libcrypto.so  2.0M

     
  • 2.25, Аноним (-), 17:10, 06/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не "медведьSSL", а "носитьSSL" -- наверно потому что типа легковесный (to bear - носить, выносить, переносить).
     
  • 2.43, Аноним (-), 05:07, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > МедведьSSL? Чем он лучше OpenSSL? LibreSSL?

    Попробуй новость почитать, чудак :)

     
  • 2.57, Аноним (-), 11:00, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Он маленький и не пытается быть обратно совместимым с УЖАСНЫМ API OpenSSL.
     

  • 1.21, Crazy Alex (ok), 16:41, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Хм, на вид - интересный вариант для эмбеда. Что до остального - поглядим, каких объёмов оно будет, когда будет реализовано то, что в планах. И как "радикальная безопасность" будет работать в о взаимодействии с реальными существующими системами где, как водится, на один стандартный и правильный случай - девять нестандартных и неправильных - которые, тем не менее, надо поддерживать.

    Ну и отказ от выделения памяти - для эмбеда - хорошо, для всего остального - просто перенос "рискованного" кода наружу, где, кстати, больше шансов, что он будет реализован неверно.

     
     
  • 2.45, Аноним (-), 05:11, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > всего остального - просто перенос "рискованного" кода наружу, где, кстати, больше
    > шансов, что он будет реализован неверно.

    Какой еще рискованный код в static memory allocation? :) Там вообще кода управления памятью нет. Ну и облажаться этот код не может, соответственно, что логично.

    А что до отлова всяких переполнений - так народец подосвоил AFL + asan и прочие *san. И ща безопасность сишного кода подтянут очень даже.

     
     
  • 3.67, Crazy Alex (ok), 15:04, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Именно. Но памятью-то всё равно кто-то управляет. Товарищ обошёлся без динамики за счёт того, что функции принимают готовые буферы, в которых и размещают свои данные. А буферы всё равно кто-то должен выделять. Вот и выходит - проблема никуда не делась, просто из библиотеки её отдали клиенту.

    Насчёт же безопасности сей - я и не спорю.

     

  • 1.29, Аноним (-), 19:11, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ждём в OpenWrt и Lede
     
  • 1.32, Ilya Indigo (ok), 21:04, 06/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Без Chacha20/Poly1305, AES-256-CTR и TLS 1.3 не нужно!
     
     
  • 2.44, Аноним (-), 05:08, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Без Chacha20/Poly1305, AES-256-CTR и TLS 1.3 не нужно!

    Еще пожалуйста из эллиптики - 25519 нормальный, а не NIST'овский стандартно-бэкдорнутый креатив.

     
     
  • 3.46, Ilya Indigo (ok), 05:13, 07/11/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Без Chacha20/Poly1305, AES-256-CTR и TLS 1.3 не нужно!
    > Еще пожалуйста из эллиптики - 25519 нормальный, а не NIST'овский стандартно-бэкдорнутый
    > креатив.

    Согласен!

     

  • 1.70, Kaffeine (?), 15:57, 07/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >BearSSL
    >Поддержка TLS 1.0, TLS 1.1 и TLS 1.2. SSL 2.0 и SSL 3.0 не поддерживаются

    Библиотека SSL без поддержки SSL. :)

     
  • 1.77, Ivan_83 (ok), 23:15, 07/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Сильно сомнительно что ECDSA и без тайминг проблемы, да ещё и ввсё в 20-30кб влезает.
     
  • 1.87, Аноним (-), 19:05, 09/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    только дырявые/уязвимые мехаинзмы обмена ключами поддерживатся. увы. в корнзину-с.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру