Какая часть шифра ОС взаимодействует напрямую с аппаратным обеспечением компьютера

Обновлено: 21.11.2024

Информационная система — это сочетание аппаратного и программного обеспечения, а также телекоммуникационных сетей, которые люди создают для сбора, создания и распространения полезных данных, как правило, в организации. Он определяет поток информации внутри системы. Цель информационной системы — предоставить соответствующую информацию пользователю, собрать данные, обработать данные и передать информацию пользователю системы.

Компоненты информационной системы следующие:

  1. Системное ПО
  2. Прикладное программное обеспечение
  3. Процедуры
<р>3. Базы данных:
данные — это необработанные факты и цифры, которые неорганизованы, а затем обрабатываются для получения информации. Программное обеспечение используется для организации и предоставления данных пользователю, управления физическим хранилищем медиа и виртуальными ресурсами. Как аппаратное обеспечение не может работать без программного обеспечения, так и программное обеспечение нуждается в данных для обработки. Данные управляются с помощью системы управления базами данных.
Программное обеспечение базы данных используется для эффективного доступа к необходимым данным и для управления базами знаний.

  • Сетевые ресурсы относятся к телекоммуникационным сетям, таким как интранет, экстранет и Интернет.
  • Эти ресурсы облегчают поток информации в организации.
  • Сети состоят как из физических устройств, таких как сетевые карты, маршрутизаторы, концентраторы и кабели, так и из программного обеспечения, такого как операционные системы, веб-серверы, серверы данных и серверы приложений.
  • Телекоммуникационные сети состоят из компьютеров, коммуникационных процессоров и других устройств, соединенных средствами связи и управляемых программным обеспечением.
  • Сети включают средства связи и сетевую поддержку.
<р>5. Человеческие ресурсы:
Это связано с рабочей силой, необходимой для запуска и управления системой. Люди являются конечным пользователем информационной системы, конечный пользователь использует информацию, полученную для своих собственных целей, основная цель информационной системы - принести пользу конечному пользователю. Конечным пользователем могут быть бухгалтеры, инженеры, продавцы, клиенты, клерки, менеджеры и т. д. Люди также несут ответственность за разработку и эксплуатацию информационных систем. К ним относятся системные аналитики, компьютерные операторы, программисты и другой канцелярский персонал ИС, а также методы управления.

Трудно дать одно точное определение термина драйвер. В самом фундаментальном смысле драйвер — это программный компонент, который позволяет операционной системе и устройству взаимодействовать друг с другом.

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

Расширение определения

Наше объяснение упрощено по нескольким причинам:

Не все драйверы должны быть написаны компанией, разработавшей устройство.

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

Не все драйверы напрямую взаимодействуют с устройством.

Для заданного запроса ввода-вывода (например, чтения данных с устройства) часто используется несколько драйверов, расположенных в стеке драйверов, которые участвуют в запросе. Обычный способ визуализации стека — первый участник вверху, а последний участник внизу, как показано на этой диаграмме. Некоторые из драйверов в стеке могут участвовать в преобразовании запроса из одного формата в другой. Эти драйверы не взаимодействуют напрямую с устройством; они просто манипулируют запросом и передают его драйверам, расположенным ниже в стеке.

Драйвер функции. Один из драйверов в стеке, напрямую взаимодействующий с устройством, называется драйвер функции.

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

Дополнительную информацию о стеках см. в разделе Стеки драйверов.

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

Мы могли бы расширить наше определение драйвера, сказав, что драйвер – это любой программный компонент, который наблюдает или участвует в обмене данными между операционной системой и устройством.

Драйверы программного обеспечения

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

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

На этой диаграмме показано взаимодействие приложения пользовательского режима с программным драйвером режима ядра.

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

Дополнительную информацию о режимах процессора см. в разделах Режим пользователя и Режим ядра.

Водители автобусов

Есть еще не упомянутая категория водителей, водитель автобуса. Чтобы понимать драйверы шины, необходимо понимать узлы устройств и дерево устройств.

Информацию о деревьях устройств, узлах устройств и драйверах шин см. в разделе Узлы устройств и стеки устройств.

Подробнее о функциональных драйверах

Наше объяснение до сих пор слишком упрощает определение драйвера функции. Мы сказали, что функциональный драйвер для устройства — это единственный драйвер в стеке, напрямую взаимодействующий с устройством. Это верно для устройства, которое подключается непосредственно к шине периферийных компонентов (PCI). Драйвер функции для устройства PCI получает адреса, сопоставленные с портами и ресурсами памяти на устройстве. Драйвер функции взаимодействует напрямую с устройством, записывая данные по этим адресам.

Однако во многих случаях устройство не подключается напрямую к шине PCI. Вместо этого устройство подключается к адаптеру главной шины, который подключен к шине PCI. Например, тостер USB подключается к адаптеру главной шины (называемому хост-контроллером USB), который подключается к шине PCI. USB-тостер имеет функциональный драйвер, а хост-контроллер USB также имеет функциональный драйвер. Функциональный драйвер для тостера косвенно связывается с тостером, отправляя запрос функциональному драйверу для хост-контроллера USB. После этого функциональный драйвер хост-контроллера USB связывается напрямую с аппаратным обеспечением хост-контроллера USB, которое взаимодействует с тостером.

Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.

Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .

План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.

Стандарт безопасности данных платежных приложений (PA-DSS) – это набор требований, призванных помочь поставщикам программного обеспечения в разработке безопасных .

Взаимная аутентификация, также называемая двусторонней аутентификацией, представляет собой процесс или технологию, в которой оба объекта обмениваются данными .

Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .

Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.

Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.

Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .

Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.

Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.

Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .

Коэффициент усиления записи (WAF) – это числовое значение, представляющее объем данных, передаваемых контроллером твердотельного накопителя (SSD) .

API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.

Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.

Безопасность практически любого интернет-соединения зависит от шифрования SSL/TLS. Что определяет уровень защиты для этих соединений, так это выбор набора шифров. Итак, что такое набор шифров?

Что такое набор шифров?

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

Зачем нужны комплекты шифров?

  • Алгоритм обмена ключами, определяющий способ обмена симметричными ключами.
  • Алгоритм аутентификации или цифровой подписи, который определяет, как будет реализована аутентификация сервера и аутентификация клиента (если требуется).
  • Шифр массового шифрования, используемый для шифрования данных.
  • Функция хеширования/MAC, которая определяет, как будут выполняться проверки целостности данных.

Эти шифры требуются в различных точках соединения для аутентификации, генерации и обмена ключами, а также контрольной суммы для обеспечения целостности. Чтобы определить, какие конкретные алгоритмы использовать, клиент и веб-сервер начинают с взаимного выбора набора шифров, который будет использоваться.

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

Как это работает?

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

Решение о том, какой набор шифров будет использоваться, зависит от веб-сервера. Согласованный набор шифров представляет собой комбинацию:

  • Алгоритмы обмена ключами, такие как RSA, DH, ECDH, DHE, ECDHE или PSK.
  • Алгоритм аутентификации/цифровой подписи, такой как RSA, ECDSA или DSA
  • Алгоритмы массового шифрования, такие как AES, CHACHA20, Camellia или ARIA.
  • Алгоритмы кода аутентификации сообщения, такие как SHA-256 и POLY1305

Возвращаясь к нашей парадигме набора шифров, давайте посмотрим, какую информацию предоставляет набор шифров.

Почему наборы шифров важны?

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

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

Поддерживаемые наборы шифров в TLS 1.2

Прежде чем обсуждать, сколько существует различных наборов шифров, давайте вспомним, что все протоколы TLS до TLS 1.2 (т. е. TLS 1.0 и TLS 1.1) устарели по различным причинам безопасности. В настоящее время единственными приемлемыми протоколами TLS являются TLS 1.2 и TLS 1.3.

Начиная с TLS 1.2, протокол поддерживает 37 различных наборов шифров. И если это число кажется большим, просто представьте, что TLS 1.2 существует уже почти десять лет, в течение которых появилось много разных систем. Добавьте к этому, что каждый набор шифров состоит из четырех разных алгоритмов, и вы получите до 40 различных комбинаций шифров.

Из всех наборов шифров, поддерживаемых в TLS 1.2, рекомендуется использовать те, которые используют эфемерный алгоритм Диффи-Хеллмана. Итак, рекомендуемые наборы шифров сводятся к следующему:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

Выявление слабых шифров

С введением TLS 1.3 многое изменилось для повышения безопасности протокола. Начнем с того, что старые небезопасные шифры устарели, в том числе:

  • RC4
  • ДПО
  • MD5
  • ША-1
  • Слабые эллиптические кривые
  • Обмен ключами RSA
  • Статический алгоритм Диффи-Хеллмана (DH, ECDH)
  • Блочные шифры (CBC)
  • Шифры, отличные от AEAD

Поддержка наборов шифров в TLS 1.3

Кроме того, наборы шифров TLS 1.3 теперь намного короче, чем соответствующие наборы шифров TLS 1.2. В комплектах шифров не указан тип сертификата — RSA или ECDSA — и механизм обмена ключами — DHE или ECDHE. Таким образом, количество переговоров, необходимых для определения параметров шифрования, было сокращено с четырех до двух. Наборы шифров в TLS 1.3 выглядят следующим образом:

Клиент инициирует рукопожатие, зная, что для процесса обмена ключами будет использоваться эфемерный алгоритм Диффи-Хеллмана, и может отправить свою часть общего ключа во время сообщения Client Hello. Преимущество этого заключается в том, что рукопожатие TLS 1.3 сокращается до одного кругового обхода, когда сервер отвечает всей необходимой информацией для двух сторон, чтобы получить ключ сеанса и начать безопасное общение.

Поддерживаемые наборы шифров в TLS 1.3 сократились до пяти и включают следующие:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_8_SHA256
  • TLS_AES_128_CCM_SHA256

Выбор наборов шифров

Наборы шифров TLS 1.3 несовместимы со старыми версиями TLS, поскольку их структура отличается. Это означает, что администраторам сайтов необходимо настроить свои веб-серверы таким образом, чтобы обеспечить совместимость с обеими версиями поддерживаемых наборов шифров, TLS 1.2 и TLS 1.3. Выбор поддержки только TLS 1.3 не является разумным решением, поскольку многие компании по-прежнему используют TLS 1.2.

Mozilla рекомендует три различных конфигурации наборов шифров для веб-серверов, использующих протокол TLS.

  • Современная. Эта конфигурация предназначена для современных клиентов, поддерживающих TLS 1.3, без обратной совместимости. Конфигурация Modern обеспечивает чрезвычайно высокий уровень безопасности.
  • Промежуточный: это рекомендуемая конфигурация для сервера общего назначения, которому не требуется совместимость с устаревшими клиентами, такими как Windows XP или старые версии OpenSSL. Он очень безопасен и совместим практически со всеми клиентами, выпущенными за последние пять (или более) лет.
  • Старые: к службам обращались очень старые клиенты или библиотеки, такие как Internet Explorer 8 (Windows XP), Java 6 или OpenSSL 0.9.8, и их следует использовать в крайнем случае.

Заключение

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

Узнайте, как Keyfactor Command обеспечивает сквозную видимость и автоматизацию всех ключей и цифровых сертификатов в вашей среде. Ознакомьтесь с демонстрацией продукта, доступного по запросу.

Читайте также: