Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Разбираем TLS по байтам. Кто такой этот HTTPS?

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров23K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает.

Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов и ответов. Затем узнал о схеме HTTPS, с которой всё не так наглядно. В ней используется то ли SSL, то ли TLS, и что-то где-то шифруется, и зачем-то нужны какие-то сертификаты. Короче, всё расплывалось в тумане: где пример ответа, запроса, сертификата, как его создать, зачем он нужен и почему гайд по созданию http-сервера уже написал каждый школьник, а https-сервер — недоступная для начинающих разработчиков роскошь?

В связи с этим, предлагаю обсудить протокол TLS и его роль в вебе. Статья состоит из двух частей. В первой поговорим о защите соединения: от чего и как защищаемся, почему именно так, а не иначе, сколько и каких ключей для этого нужно, и разберёмся с системой сертификатов; а в конце создадим свой сертификат и посмотрим, как его использовать для разработки.

Во второй обсудим, как это дело реализуется в протоколе TLS и разберём формат TLS-пакетов по байтам. Статьи рассчитаны в первую очередь на изучающих веб-разработку, знакомых с HTTP и жаждущих осознать, кто такое https. Но материал актуален для любых применений TLS, будь то веб или не веб.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии21

Разбираем TLS по байтам. Где собаки зарыты?

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров12K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только не все дети знают, что это значит и как работает. Кажется я это уже писал? Ах да, это же вторая часть статьи с разбором TLS.

В первой мы увидели, что такое «защищённое соединение», сколько и каких ключей для него нужно, кто кого шифрует и подписывает, и что такое «сертификат». Сейчас разберёмся, как всё это дело реализуется в протоколе TLS: как выглядит рукопожатие, как сделать ключ шифрования своими руками, в каком виде данные передаются по сети.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии1

Разбираем HTTP/2 по байтам

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров27K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →
Всего голосов 115: ↑115 и ↓0+115
Комментарии45

Почему 25 лет гарантии на солнечные панели — миф

Время на прочтение6 мин
Количество просмотров49K

Слово гарантия, у нас всегда вызывает четкие ассоциации, и мы знаем, что стоит за 5-ти летней гарантией на телевизор, автомобиль или другую вещь. Покупая солнечные панели, вы неоднократно слышали, что гарантия на солнечные панели составляет 25 лет. Но гарантия на солнечные панели, довольно уникальная вещь, и за этими словами скрывается множество нюансов, о которых продавцы солнечных панелей просто умалчивают. Хоть я и сторонник "Зелёной энергетики", но про некоторые вещи нужно знать до, а не после..

Читать далее
Всего голосов 85: ↑78 и ↓7+71
Комментарии105

Постоянный ток в доме. Риски, которые никто не замечает

Время на прочтение5 мин
Количество просмотров96K

Постоянный ток с каждым днём завоёвывает всё новые рубежи в каждом доме. К кому то он приходит со светодиодными лентами, кому то с DIY и Arduino. Время идёт, и вот уже вчерашние любители без страха и упрёка начинают делать мощные аккумуляторные сборки и запитывать бытовую технику напрямую от солнечных панелей. За кадром остаётся главный нюанс - безопасности. Ведь токи и напряжения выросли вместе с игрушками, а о последствиях почти никто не задумывается.

Читать далее
Всего голосов 195: ↑187 и ↓8+179
Комментарии545

Чтобы током не убило. Всё про УЗО

Время на прочтение12 мин
Количество просмотров137K

Попробуем снова объять необъятное одним постом? На этот раз рассказ будет про УЗО.

Читать далее
Всего голосов 193: ↑192 и ↓1+191
Комментарии169

Расчет прибыльности от «Зелёного тарифа» в 2020 г., Украина

Время на прочтение4 мин
Количество просмотров25K
Законодательные изменения в 2020 году для рынка домашней «Зелёной» энергетики, обзор выработки моих станций и расчёт, что получится, у желающих построить свою станцию в 2020 г.


КДВП — отражает положение дел в «Зелёной энергетике»
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии119

Так ли туманно «зелёное» будущее?

Время на прочтение4 мин
Количество просмотров14K


Альтернативный взгляд на заявленные «актуальные факты», представленные в посте Почему у «зелёной» энергетики сложное будущее?, от toshiba_ru.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии305

Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт. Часть 2

Время на прочтение15 мин
Количество просмотров28K

КДВП © Diana, made by Siuzanna

Часть 2. Практическая


Вы твёрдо решили построить свою домашнюю солнечную станцию? Взвесили все риски, нашли финансирование, прикинули взором, где она будет стоять и какие деревья придется спилить? Ну что, если ещё не передумали — прошу далее.
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии39

Солнечная станция. Тепловизионное и электролюминесцентное тестирование своими руками

Время на прочтение7 мин
Количество просмотров11K

Обзор типичных проблем, возникающих с солнечными станциями, и на что стоит обратить внимание, пока не стало слишком поздно. Основано на анализе 50+ домашних солнечных станций различного возраста.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии50

Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт. Часть 1

Время на прочтение7 мин
Количество просмотров68K

КДВП © Diana, made by Siuzanna

Постараюсь поделиться полученным опытом (почти) самостоятельной постройки и эксплуатации ряда своих домашних солнечных станций (дСЭС) под Зеленый тариф (ЗТ) в Украине и что из этого вышло.

Видеоверсия

Написание статьи планировалось весной 2019, но в связи с рядом законодательных инициатив, она неоднократно была отложена. Теперь все законы (очень надеюсь) окончательно приняты, и можно продолжать, ну или начинать. Для постройки и получения высокого тарифа в этом году у Вас почти не осталось времени. И Вы уже должны стоять с заявлением на поднятие мощности до 30кВт. Все остальное вы успеете. Конечно, если хотите на этом заработать, о чем далее.
Читать дальше →
Всего голосов 92: ↑83 и ↓9+74
Комментарии316

Операционные системы с нуля; Уровень 0

Время на прочтение11 мин
Количество просмотров132K

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


Тут есть про диски, файловые системы, операции ввода-вывода, потоки /процессы, планирование, виртуальную память, защиту и безопасность, прерывания, параллелизм и синхронизацию. Как и в любом другом, уважающем себя курсе. Разница в актуальности материала и в количестве практики. Коддить придётся много.

Читать дальше →
Всего голосов 80: ↑78 и ↓2+76
Комментарии55

Корректирующие коды «на пальцах»

Время на прочтение11 мин
Количество просмотров70K

Корректирующие (или помехоустойчивые) коды — это коды, которые могут обнаружить и, если повезёт, исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок. Конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам.


Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.


Давайте же разберёмся, что это такое.


Для понимания статьи не нужны никакие специальные знания. Достаточно лишь понимать, что такое вектор и матрица, как они перемножаются и как с их помощью записать систему линейных уравнений.


Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным.

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии21

Собираем VirtualBox под Windows

Время на прочтение40 мин
Количество просмотров37K

 Введение


Как известно большинству пользователей Windows-версии VirtualBox (далее — VB, не путать с Visual Basic), в релизе 4.3.14 разработчики этой программы добавили дополнительный механизм защиты, называемый «hardening» (что можно перевести как «упрочнение»), который привёл к многочисленным проблемам совместимости VB с антивирусами, драйверами крипто-модулей и даже отдельными обновлениями самой Windows, в результате чего виртуальные машины попросту отказываются запускаться. В лучшем случае пользователю приходится ждать около месяца, пока проблемная программа, о которой он сообщит разработчикам, окажется учтена в следующем релизе VB. В худшем случае придётся либо удалять конфликтующую программу (или системное обновление), либо откатывать VB до версии 4.3.12 — последней, в которой не было этой защиты. Многочисленные предложения к разработчикам о добавлении пользовательского списка исключений или опции, отключающей защиту целиком, остаются без внимания. Единственный внятный ответ с их стороны звучит так: «не хотите защиту — компилируйте из исходников сами». Что ж, придётся этим заняться.

Несмотря на то, что процедура сборки описана на официальной вики, она неполна и кое в чём устарела, а сама сборка так и норовит выдать странные ошибки. Поэтому когда я всё-таки пробился до конца сей процедуры, я решил, что её описание заслуживает отдельной статьи. Инструкция время от времени обновляется и на текущий момент адаптирована для VB версии 6.1.18, но если кого-то заинтересует сборка более ранних версий VB или библиотек, информацию можно выцарапать из истории правок.

Я заинтересован
Всего голосов 23: ↑23 и ↓0+23
Комментарии32

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность