16.4 Криптография как инструмент безопасности
Существует много способов защиты от компьютерных атак, охватывающих весь спектр от методологии до технологии. Самый широкий инструмент, доступный для разработчиков систем и пользователей - это криптография. В этом разделе мы обсудим криптографию и ее использование в компьютерной безопасности. Обратите внимание, что криптография, обсуждаемая здесь, была упрощена для образовательных целей; Читателям не рекомендуется использовать какие-либо схемы, описанные здесь, в реальном мире. Хорошие библиотеки криптографии доступны повсеместно и могут быть полезны для приложений. В изолированном компьютере операционная система может надежно определять отправителя и получателя всей межпроцессной связи, поскольку она контролирует все каналы связи в компьютере. В сети компьютеров ситуация совершенно иная. Сетевой компьютер получает биты «по проводам», не имея непосредственного и надежного способа определения того, какой компьютер или приложение отправляет эти биты. Аналогично, компьютер находит биты в сети, не имея возможности узнать, кто в итоге может их получить. Кроме того, при отправке или получении система не может узнать, подслушал ли перехватчик сообщения.
Обычно сетевые адреса используются для определения потенциальных отправителей и получателей сетевых сообщений. Сетевые пакеты поступают с адресом источника, таким как IP-адрес. И когда компьютер отправляет сообщение, он называет получателя, указав адрес назначения. Однако для приложений, где важна безопасность, мы напрашиваемся на неприятности, если предположим, что адрес источника или назначения пакета надежно определяет, кто отправил или получил этот пакет. Мошеннический компьютер может отправить сообщение с фальсифицированным адресом источника, и множество компьютеров, отличных от того, который указан адресом назначения, могут (и обычно это делают) принимать пакеты. Например, все маршрутизаторы на пути к пункту назначения также получат пакет. Как тогда операционная система решает, следует ли предоставлять запрос, если она не может доверять названному источнику запроса? И как он должен обеспечивать защиту запроса или данных, когда он не может определить, кто получит ответ или содержимое сообщения, которое он отправляет по сети? Обычно считается невозможным построить сеть любого масштаба, в которой адресам пакетов источника и назначения можно доверять в этом смысле. Поэтому единственной альтернативой является как-то устранить необходимость доверять сети. Это работа криптографии. Абстрактно, криптография используется, чтобы ограничить потенциальных злоумышленников и / или получателей сообщения. Современная криптография основана на секретах, называемых ключами, которые избирательно распределяются по компьютерам в сети и используются в процессе обработки сообщений. Точно так же отправитель может закодировать свое сообщение так, что только компьютер с определенным ключом может декодировать сообщение. Однако, в отличие от сетевых адресов, ключи предназначены для того, чтобы не допустить вычислительного воздействия на них из сообщений, которые использовались для получения другой общедоступной информации. Таким образом, они предоставляют гораздо более надежные средства ограничения отправителей и получателей сообщений. Криптография является мощным инструментом, и использование криптографии может вызвать конфликт. Некоторые страны запрещают его использование в определенных формах или ограничивают срок действия ключей. Другие ведут постоянные дебаты о том, должны ли поставщики технологий (например, поставщики смартфонов) предоставлять защиту от включенной криптографии, позволяя правоохранительным органам обойти конфиденциальность, которую она обеспечивает. Однако многие наблюдатели утверждают, что задние двери - это преднамеренная слабость безопасности, которая может быть использована злоумышленниками или даже использована правительствами ненадлежащим образом. Наконец, обратите внимание на то, что криптография представляет собой самообучение с большими и небольшими сложностями и тонкостями. Вот, мы исследуем некоторые важные аспекты криптографии, которые относятся к операционным системам.
Достарыңызбен бөлісу: |