7 699
Подписчики
-724 часа
-217 дней
-6830 дней
Архив постов
7 700
Асимметричные алгоритмы
• RSA — алгоритм, в основе которого лежит вычислительная сложность факторизации (разложения на множители) больших чисел. Применяется в защищенных протоколах SSL и TLS, стандартах шифрования, например в PGP и S/MIME, и так далее. Используется и для шифрования данных, и для создания цифровых подписей.
• DSA — алгоритм, основанный на сложности вычисления дискретных логарифмов. Используется для генерации цифровых подписей. Является частью стандарта DSS.
• Схема Эль-Гамаля — алгоритм, основанный на сложности вычисления дискретных логарифмов. Лежит в основе DSA и устаревшего российского стандарта ГОСТ 34.10–94. Применяется как для шифрования, так и для создания цифровых подписей.
• ECDSA — алгоритм, основанный на сложности вычисления дискретного логарифма в группе точек эллиптической кривой. Применяется для генерации цифровых подписей, в частности для подтверждения транзакций в криптовалюте Ripple.7 700
Применение асимметричных алгоритмов
Асимметричное шифрование решает главную проблему симметричного метода, при котором для кодирования и восстановления данных используется один и тот же ключ.
С другой стороны, асимметричные алгоритмы гораздо медленнее симметричных, поэтому во многих криптосистемах применяются и те и другие.
Например, стандарты SSL и TLS используют асимметричный алгоритм на стадии установки соединения: с его помощью кодируют и передают ключ от симметричного шифра, которым и пользуются в ходе дальнейшей передачи данных.
Также они применяются для создания электронных подписей, которые генерируется с помощью закрытого ключа, а проверяются с помощью открытого.
7 700
Асимметричное шифрование
Используется для защиты информации при ее передаче и предполагает использование двух ключей — открытого и закрытого.
Схема передачи данных между двумя субъектами (А и Б) с использованием открытого ключа выглядит следующим образом:
1. Субъект А генерирует открытый и закрытый ключи.
2. Субъект А передает открытый ключ субъекту Б.
3. Субъект Б шифрует пакет данных при помощи полученного открытого ключа и передает его А.
4. Субъект А расшифровывает полученную от Б информацию при помощи секретного, закрытого ключа.
В такой схеме перехват любых данных не имеет смысла, поскольку восстановить исходную информацию возможно только при помощи закрытого ключа, известного лишь получателю и не требующего передачи.
7 700
Номера портов
Как рассматривалось ранее, каждый протокол связан с определенным номером порта TCP или UDP.
IANA — это организация, которая решает, какой номер порта является стандартным для каждого из протоколов.
Когда создается новый протокол, его разработчики отправляют в IANA запрос на резервирование номера порта. Вместо того чтобы разрабатывать новый протокол и подавать заявку на номер порта, многие разработчики интернет-приложений используют для связи через интернет общие протоколы.
Например, многие приложения становятся доступными через интернет благодаря интеграции с веб-сервером. В таких случаях HTTP используется для передачи необработанных данных в приложения и из них.
7 700
URL-адрес
URL (Uniform Resource Locator) — специальная форма обозначения индивидуального адреса ресурса в интернете.
URL-адрес есть не только у сайтов, но и у различных файлов (документов, изображений, видео и так далее), загруженных в Интернет. Поэтому введя определенный URL в адресную строку браузера, пользователь может отыскать требуемый документ или сайт.
У адреса URL имеется вполне конкретная структура, которая включает:
• Метод доступа к ресурсу, он же именуется сетевым протоколом;
• Авторизация для доступа;
• Хост – DNS адрес, прописываемый как IP адрес;
• Порт – обязательный атрибут при указании IP адреса (по умолчанию - 80 порт);
• Путь – информация о методе получения доступа;
• Параметр (якорь) – данные о файле внутри ресурса (ссылка на абзац внутри страницы сайта).7 700
Типы SSL-сертификатов
1. Сертификаты с расширенной проверкой (EV SSL)
Самый высокорейтинговый и наиболее дорогой тип SSL-сертификатов. Используется для популярных веб-сайтов, которые собирают данные и используют онлайн-платежи.
2. Сертификаты, подтверждающие организацию (OV SSL)
Этот тип SSL-сертификатов имеет такой же уровень доверия, что и сертификаты с расширенной проверкой
3. Сертификаты, подтверждающие домен (DV SSL)
Процесс проверки для получения SSL-сертификата этого типа минимален. Используются для блогов или информационных веб-сайтов
4. Wildcard-сертификаты
сертификаты с подстановочными символами позволяют защитить базовый домен и неограниченное количество поддоменов с помощью одного сертификата.
5. Мультидоменные сертификаты (MDC)
Можно использовать для защиты нескольких доменных и поддоменных имен, включая сочетания полностью уникальных доменов и поддоменов с разными доменами верхнего уровня (TLD), за исключением локальных / внутренних доменов.
6. Сертификаты унифицированных коммуникаций (UCC)
Считаются мультидоменными SSL-сертификатами. Изначально были разработаны для защиты серверов Microsoft Exchange и Live Communications.
7 700
Как работают SSL-сертификаты?
Использование SSL гарантирует, что данные, передаваемые между пользователями и веб-сайтами или между двумя системами, невозможно прочитать сторонним лицам или системам.
Процесс работает следующим образом:
1. Браузер или сервер пытается подключиться к веб-сайту (веб-серверу), защищенному с помощью SSL.
2. Браузер или сервер запрашивает идентификацию у веб-сервера.
3. В ответ веб-сервер отправляет браузеру или серверу копию своего SSL-сертификата.
4. Браузер или сервер проверяет, является ли этот SSL-сертификат доверенным. Если это так, он сообщает об этом веб-серверу.
5. Затем веб-сервер возвращает подтверждение с цифровой подписью и начинает сеанс, зашифрованный с использованием SSL.
6. Зашифрованные данные используются совместно браузером или сервером и веб-сервером.
7 700
SSL-сертификат
SSL-сертификат (Secure Sockets Layer) – это цифровой сертификат, удостоверяющий подлинность веб-сайта и позволяющий использовать зашифрованное соединение.
Компаниям и организациям необходимо добавлять SSL-сертификаты на веб-сайты для защиты онлайн-транзакций и обеспечения конфиденциальности и безопасности клиентских данных.
SSL обеспечивает безопасность интернет-соединений и не позволяет злоумышленникам считывать или изменять информацию, передаваемую между двумя системами.
Если в адресной строке рядом с веб-адресом отображается значок замка, значит этот веб-сайт защищен с помощью SSL.
7 700
Зачем нужно полное доменное имя?
Полные доменные имена указывают уникальные адреса в Интернете, что делает их важными для работы в Интернете. Говоря простым языком: если у вас нет полного доменного имени, у вас нет веб-сайта, к которому люди могут получить доступ.
Они также необходимы для установки сертификатов SSL, что является еще одной функцией, ожидаемой от большинства веб-сайтов.
Помимо веб-сайтов, полные доменные имена полезны, когда вы хотите получить удаленный доступ к компьютеру. Это распространено в офисной среде, поскольку упрощает отслеживание активности на компьютере.
Также они помогают получить доступ к службам домена, таким как протокол передачи файлов (FTP) и электронная почта.
7 700
Partially Qualified Domain Name (PQDN)
Частично определенное доменное имя (PQDN) очень похоже на полное доменное имя в том смысле, что оно используется для указания адреса веб-сайта. Разница в том, что PQDN относятся к одной или двум меткам из FQDN, включая либо имя хоста, либо имя домена. Пример того, как выглядит частичное доменное имя:
google.com.
Можно заметить, что и полное доменное имя, и частичное доменное имя ведут на одну и ту же целевую страницу. Это связано с тем, что разработчики сайта настроили DNS для перенаправления посетителей с любого адреса на унифицированный указатель ресурса (URL) для домашней страницы веб-сайта
Создание таких перенаправлений является обычной практикой среди разработчиков веб-сайтов и автоматически настраивается в большинстве современных конструкторов веб-сайтов.7 700
Fully qualified domain name (FQDN)
Полностью определённое имя домена — это полный адрес веб-сайта, компьютера, сервера или аналогичного объекта, существующего в Интернете.
Полное доменное имя состоит из трех меток: имя хоста, доменное имя второго уровня и доменное имя верхнего уровня (TLD). Пример того, как выглядит полное доменное имя:
www.google.com.
В этом примере «www» — это имя хоста, «networksolutions» — это домен второго уровня, а «com» — это TLD.
Единственный элемент, который может выглядеть неуместно — это конечная точка. Завершающие точки требуются протоколом системы доменных имен (DNS), поскольку они указывают на конец адреса.7 700
Делегирование домена
Делегированием домена — передача корневым сервером зоны права размещения домена на определенном
NS-сервере.
Для примера, корневые сервера делегируют зону .COM на серверы, которые будут за нее отвечать, а серверы зоны .COM делегируют домен MYDOMAIN.COM на NS-сервера хостинг-провайдера или на какие-либо другие.
Само делегирование означает, что на корневом сервере для домена присутствуют записи IN NS, указывающие на NS-сервер, на котором размещена информация по домену.
Делегирование предполагает наличие только записей IN NS и никаких других. Поэтому домену второго уровня нельзя прописать, к примеру, запись CNAME.7 700
Какие бывают записи для домена
NS-запись - указывает, на каких NS-серверах находится домен. Эта запись должна повторять значения для домена, находящиеся на корневых серверах зоны.
A-запись - указывает IPv4 адрес сервера, к которому нужно обратиться по доменному имени. A-записей у домена может быть несколько. В этом случае выбирается случайный.
AAAA-запись - указывает на IPv6 адрес сервера. Также, эта запись иногда упоминается как Квадра-А (четыре А)
MX-запись - указывает на ip-адрес или доменное имя сервера, отвечающего за прием почты на этот домен (MX-сервер)
TXT-запись - Сюда записывают различную служебную информацию, для которой нет выделенных полей. Можно записать контактные данные администратора, или что угодно.
CNAME-запись - служит для указания, что домен является синонимом другого домена.
SOA-запись - генерируется автоматически NS-сервером и содержит служебную информацию: адрес электронной почты ответственного за NS-сервер, дату и время последнего обновления домена, предельное время кеширования зоны (TTL) и т.д.
SRV-запись - служит для хранения адресов различных серверов, обслуживающих домен.
7 700
Серверы имен
Записи DNS связывают данные с доменами, все такие записи должны храниться на серверах имен.
Это специальные хосты, которые призваны делиться своими записями с кем угодно в интернете в любое время. Владелец домена должен предоставить как минимум двум серверам имен право хранить свои записи DNS. Владельцы доменов могут предоставить эти серверы сами или нанять для этого третьих лиц.
Существуют также корневые серверы — специальные серверы имен, которым ICANN дает право хранить записи DNS касательно TLD. Новые TLD создаются‚ когда ICANN запрашивает‚ чтобы на этих серверах была добавлена запись NS (запись, указывающая на каких NS-серверах находится домен). Существует 13 корневых серверов — ICANN следит‚ чтобы их IP-адреса были хорошо известны.
7 700
Форма Бэкуса — Наура
БНФ (Бэкуса — Наура форма) — формальная система описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории.
БНФ используется для описания контекстно-свободных формальных грамматик. Если точнее, то для описания синтаксиса языков программирования, данных, протоколов.
БНФ-конструкция определяет конечное число символов. Также она определяет правила замены символа на какую-то последовательность букв и символов.
Процесс получения цепочки букв, можно определить поэтапно:
⁃ изначально имеется один символ (символы обычно заключаются в угловые скобки, а их название не несёт никакой информации).
⁃ этот символ заменяется на некоторую последовательность букв и символов, согласно одному из правил.
⁃ процесс повторяется (на каждом шаге один из символов заменяется на последовательность, согласно правилу).
⁃ в конце концов, получается цепочка, состоящая из букв (и не содержащая символов). Это означает, что полученная цепочка может быть выведена из начального символа.
7 700
Web scraping — что это?
Скрапинг — стандартная процедура для сбора необходимой информации. Для этих целей применяется специализированное программное обеспечение.
С помощью веб-скрейпинга информация собирается в автоматическом режиме по заданным параметрам, структурируется и записывается в файл для дальнейшего анализа.
Такой метод подходит для сбора статистики, стоимости различных офферов, получения данных о товарах в каталогах.
Законно ли это? Если боитесь собирать данные с сайтов, то лучше не стоит, но все, что находится в открытом доступе, можно собирать.
7 700
Компьютерная шина
Шина — соединение, служащее для передачи данных между функциональными блоками компьютера.
В устройстве шины можно различить механический, электрический и логический уровни.
В отличие от соединения точка-точка, к шине обычно можно подключить несколько устройств по одному набору проводников. Каждая шина определяет свой набор разъёмов для физического подключения устройств, карт и кабелей.
Современные компьютерные шины используют как параллельные, так и последовательные соединения и могут иметь параллельные и цепные топологии. В случае USB и некоторых других шин могут также использоваться хабы.
Некоторые виды скоростных шин (Fibre Channel, InfiniBand, скоростной Ethernet, SDH) для передачи сигналов используют не электрические соединения, а оптические.
7 700
Соглашения о вызовах
Соглашение о вызовах определяют как функция вызывается, как функция управляет стеком и стековым кадром, как аргументы передаются в функцию, как функция возвращает значения.
⁃ stdcall
стандартное соглашение для Win32 API. В данном соглашение, аргументы передаются справа налево и очистка стека ложится на вызываемую функцию. Для передачи аргументов используется стек, т.е. перед вызовом нужно положить аргументы на стек. Возвращаемое значение записывается в регистр eax.
⁃ cdecl
Стандартное соглашение о вызовах для программ на C/C++. В данном соглашение аргументы передаются справа налево и кладутся на стек, как и в stdcall, но вот стек уже очищается функцией, которая вызывает.
⁃ fastcall
Главным отличием от двух соглашениях выше является то, что аргументы кладутся в регистры, если это возможно, что позволяет увеличить скорость вызова функции, потому что обратиться к регистру быстрее, чем к стеку.
⁃ thiscall
Это соглашение о вызовах используется для вызова нестатических функций-членов C++. Так как используется только для нестатических функций-членов, то у нас есть указатель this, который передается в ECX, стек очищается вызываемой функцией, аргументы передаются справа налево на стек, возвращаемое значение помещается в регистр EAX.
7 700
Материнская плата
Материнская плата — печатная плата, являющаяся основой построения модульного электронного устройства.
Системная плата содержит основную часть устройства. В случае компьютера — процессор, системную шину или шины, оперативную память, «встроенные» контроллеры периферийных устройств, сервисную логику — и разъёмы для подключения дополнительных взаимозаменяемых плат, называемых платами расширений, как правило подключённые к общей шине или шинам.
В отличие от объединительной панели/платы, просто соединяющей между собой разъёмы карт расширения, материнская плата всегда несёт на себе активные компоненты или разъёмы для их установки. В англоязычной литературе также принято разделять системные платы на собственно материнские («motherboards»), обладающие возможностями расширения и модификации, и «основные платы» («mainboards»), таких возможностей не имеющие и представляющие собой законченную неизменяемую систему.
7 700
DLL файлы, и для чего они нужны?
Аббревиатура DLL – обозначает «Динамически Подключаемую Библиотеку». Она установлена, во всех операционных системах Windows, и практически каждая программа или игра на компьютере пользуется данной библиотекой. В ней содержится информация о конфигурации системы, совместимости устройств, наборе команд для правильной работы и многое другое.
DLL файлы – это компоненты библиотеки, а нужна она для запуска программ, приложений и игр. Компьютер включился, и система работает исправно. Вы еще ничего не запускали и не открывали, а уже десятки DLL файлов используются. Простые часы, информация о конфигурации системы, порядок запуска программ, оформление и многое другое используют библиотеку.
Для того чтобы в текстовом документе начали появляться символы, соответствующие вашему вводу, нужна библиотека. По умолчанию система не знает, что означает нажатая вами клавиша,─ в этом его помогают компоненты DLL.
Аналогичная ситуация со всеми подключаемыми устройствами: принтером, мышью, клавиатурой, флеш-картой. Именно библиотека DLL файлов «рассказывает» им, как работать с параметрами вашей системы.
