<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Insight IT &#187; Криптография</title>
	<atom:link href="http://www.insight-it.ru/category/programmirovanie/kriptografiya/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.insight-it.ru</link>
	<description>Информационные технологии</description>
	<lastBuildDate>Tue, 31 Jan 2012 09:34:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>3 мифа об эффективности SSL</title>
		<link>http://www.insight-it.ru/programmirovanie/kriptografiya/3-mifa-ob-effektivnosti-ssl/</link>
		<comments>http://www.insight-it.ru/programmirovanie/kriptografiya/3-mifa-ob-effektivnosti-ssl/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 16:52:11 +0000</pubDate>
		<dc:creator>Иван Блинков</dc:creator>
				<category><![CDATA[Криптография]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[шифрование]]></category>

		<guid isPermaLink="false">http://www.insight-it.ru/?p=868</guid>
		<description><![CDATA[К использованию SSL для защиты передаваемых через Интернет данных все относятся по-разному: кто-то пренебрегает и гоняет даже пароли пользователей в незашиврованном виде, а у кого-то паранойя и он готов пройти через все круги ада для получения Extended Validation сертификата от крупного вендора. В результате в народе рождаются различные мифы по этой тематике, которые я и [...]]]></description>
			<content:encoded><![CDATA[<p>К использованию SSL для защиты передаваемых через Интернет данных все относятся по-разному: кто-то пренебрегает и гоняет даже пароли пользователей в незашиврованном виде, а у кого-то паранойя и он готов пройти через все круги ада для получения Extended Validation сертификата от крупного вендора. В результате в народе рождаются различные мифы по этой тематике, которые я и предлагаю сегодня обсудить.<span id="more-868"></span></p>
<h2>МИФ №1: Использование HTTPS &#8212; гарантия безопасности сайта</h2>
<p>Вроде бы все просто: все данные передаются между сервером и браузером в зашифрованном виде и украсть их &#171;по пути&#187; невозможно. На практике же запросто могут возникать нюансы&#8230;</p>
<p>Во-первых сам ключ: в большинстве компаний он просто лежит на жестком диске веб-сервера и доступен если не каждому сотруднику, то каждому системному администратору точно (причем вместе с паролем &#8212; перезапускать HTTP-сервера начальству же не положено). Про потенциальный ущерб от попавшего не в те руки SSL-сертификата более-менее серьезной интернет-компании, наверное, рассказывать не стоит &#8212; у всех и так хватит воображения.</p>
<p>Решением чаще всего становится использование аппаратных решений (так называемых <a href="http://en.wikipedia.org/wiki/Hardware_security_module" target="_blank">HSM</a>), соответствующих стандарту <a href="http://en.wikipedia.org/wiki/FIPS_140-2" target="_blank">FIPS 140-2</a>. Они предотвращают как несанкционированный доступ к ключам, так и любые формы его экспорта в незашифрованном виде (даже при резервном копировании и смене аппаратных модулей).</p>
<p>Вторым моментом, на который стоит обратить внимание, является тот факт, что шифрования трафика защищает только от перехвата данных: вирусы, фишинг и опасный для пользователей код остаются таковыми даже в зашифрованном виде. Если сайт генерирует вредоносные ответы через HTTPS они попадут в браузеры пользователей-жертв еще более безопасно для себя <img src='http://www.insight-it.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  В такой ситуации маршрутизаторы с защитой от вторжения (IDS/IPS) и прочие системы безопасности, основанные на &#171;глубоком анализе пакетов&#187;, становятся бессильными, если не настроить дешифрование и повторное шифрование.</p>
<p>Для избежания подобных казусов максимальное внимание стоит уделять работе отдела QA, грамотной настройке всех компонентов инфраструктуры и регулярным проверкам на предмет возможных эксплойтов на сайте.</p>
<h2>МИФ №2: SSL сегодня не является значительной статьей расходов серверных вычислительных ресурсов</h2>
<p>Если бы это было так, то F5, Juniper, Cisco и прочие не ставили бы такие ценники на свои решения. Да, вычислительные мощности среднестатистического сервера растут не по дням, а по часам, но эти же самые вычислительные ресурсы используются и для взлома сертификатов. Не смотря на то, что на взлом  1024-битного ключа по-прежнему требуются многие годы и неплохие финансовые вложения, <a href="http://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology" target="_blank">NIST</a> рекомендует переходить на более криптостойким решениям (от 2048 бит), так как теоретически подбор 1024-битного ключа сейчас вполне возможен.</p>
<p>Для разгрузки центрального процессора веб-серверов существует два основных пути:</p>
<ul>
<li>SSL-акселерация на уровне маршрутизатора (чаще всего от вышеупомянутых вендоров)</li>
<li>Использование HSM с встроенным криптографическим процессором</li>
</ul>
<p>Вопрос вычислительных мощностей сегодня решается очень лекго, были бы деньги.</p>
<h2>МИФ №3: Расходы на управление сертификатами не растут с увеличением количества веб-серверов</h2>
<p>Вполне очевидно, что чем больше веб-серверов используется, тем больше SSL-сертификатов должно быть установлено. Еще дополнительные SSL-сертификаты возникают и когда используется несколько виртуальных хостов на одном сервере. До до сих пор часто встречаются люди, которые не знают, что веб-сервер не может определить каким ключом расшифровывать запрос, если на одном IP-адресе расположены несколько доменов, использующих SSL.</p>
<p>Чтобы позволить спокойно масштабировать HTTP-уровень веб-приложения, необходимо рано прерывать HTTPS-соединение для определения сервера, где запрос будет собственно обработан. Такую архитектуру намного легче поддерживать, так как нет необходимости конфигурировать абсолютно каждый HTTP-сервер с отдельными IP-адресами для каждого шифруемого поддомена.</p>
<p>Особенно это актуально для виртуализированных окружений: облачные решения подразумевают наличие образа операционной системы, полностью готового к работе после автоматического старта, настройка SSL в таком случае достаточно проблематична даже в обычном режиме, не говоря уже об использование аппаратных модулей.</p>
<h2>Заключение</h2>
<p>Полностью технический подход к архитектурным решениям, касающихся использования как SSL, так и других технологий, чаще всего абсолютное неприемлем для ИТ-организаций, пытающихся соответствовать требованиям бизнеса. Подобные решения могут сильно влиять на возможность компании разрабатывать, развертывать и контролировать бизнес приложения и решения. Они не могут приниматься чисто из технических или бизнес соображений, только полностью понимая все аспекты можно сделать верный шаг.</p>
<p>Вообще мифы получились достаточно спорные, но на эту тему недавно прошла довольно горячая волна дискуссии в западной блогосфере, даже с участием довольно крупных игроков в этой сфере (<a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/01/31/dispelling-the-new-ssl-myth.aspx" target="_blank">в частности F5</a>). Может быть у читателей Insight IT тоже найдется что добавить, жду в комментариях <img src='http://www.insight-it.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>По традиции напоминаю про <a href="/feed" target="_blank">подписку на обновления</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.insight-it.ru/programmirovanie/kriptografiya/3-mifa-ob-effektivnosti-ssl/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Обратного пути нет</title>
		<link>http://www.insight-it.ru/programmirovanie/kriptografiya/obratnogo-puti-net/</link>
		<comments>http://www.insight-it.ru/programmirovanie/kriptografiya/obratnogo-puti-net/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 12:43:17 +0000</pubDate>
		<dc:creator>Иван Блинков</dc:creator>
				<category><![CDATA[Криптография]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[защита интернет-ресурсов]]></category>
		<category><![CDATA[информационные технологии]]></category>
		<category><![CDATA[коллизия]]></category>
		<category><![CDATA[хэш]]></category>
		<category><![CDATA[хэширование]]></category>
		<category><![CDATA[шифрование]]></category>

		<guid isPermaLink="false">http://www.insight-it.ru/science/kriptografiya/obratnogo-puti-net/</guid>
		<description><![CDATA[&#8230;или введение в хэширование Под таким неоднозначным заголовком я решил разместить всеголишь повествование о такой неотъемлимой части криптографии как hash-функции и алгоритмы. Не думаю, что многим из читателей будет интересен этот вопрос с математической точки зрения, а также сомневаюсь что смогу достаточно качественно осветить его в этой перспективе, так что позволю сделать более &#34;приземленный&#34; обзор [...]]]></description>
			<content:encoded><![CDATA[<h3 style="text-align: right;">&hellip;или введение в хэширование</h3>
<p>Под таким неоднозначным заголовком я решил разместить всеголишь повествование о такой неотъемлимой части криптографии как hash-функции и алгоритмы.</p>
<p>Не думаю, что многим из читателей будет интересен этот вопрос с математической точки зрения, а также сомневаюсь что смогу достаточно качественно осветить его в этой перспективе, так что позволю сделать более &quot;приземленный&quot; обзор возможных технологии хэширования.</p>
<p><span id="more-34"></span></p>
<h3>Введение</h3>
<p>Под словом <em>хэширование</em> обычно понимают процесс преобразования данных произвольной длины в двоичную строку фиксированной длины. Происходит он с помощью  хэш-функций, которые, в свою очередь, реализуют соответствующие им алгоритмы. Таких алгоритмов и, соответственно, функций существует достаточно много, каждый из них обладает своими свойствами, преимуществами и недостатками.</p>
<p>Общим фактом для всех хэш-функций является отсутствие <em>обратной</em> функции, то есть функции, однозначно преобразующей полученное значение (которое как раз принято называть словом <em>хэш</em> или <em>hash</em>) обратно в исходное. Факт этот достаточно очевиден &#8212; если бы любой объем информации можно было бы преобразовать в достаточно небольшого фиксированного размера, не зависящего от исходного объема данных, двоичную строку и при этом иметь возможность восстановить по ней исходную информацию, то это, как минимум, стало бы революцией в сфере хранения и архивирования данных.</p>
<h3>Свойства</h3>
<p>Далеко не все хэш-функции применимы в криптографии, именно из-за того, что, как Вы возможно уже знаете из <a href="/science/kriptografiya/bezopasnoe-obshhenie">предыдущей записи о криптографии</a>, основной целью криптографии изначально являлось сокрытие информации, а для ее обеспечения необходимо обладание алгоритмом хэширования рядом свойств, обеспечивающих защиту от потенциальных атак, то есть попыток раскрыть с тои или иной степенью точности исходные данные по имеющемуся хэшу.</p>
<h4>Устойчивость к коллизиям</h4>
<dl>
<dt><strong>Коллизия</strong></dt>
<dd>&ndash; пара различных прообразов, для которых значение хэша совпадает.</dd>
</dl>
<p>Устойчивость к возникновению коллизий заключается в том, что <strong>никто</strong> не может найти такую пару исходных строк, которая имела бы один и тот же хэш.</p>
<p>Если  взглянуть на это свойство с точки зрения обычного образованного человека, то нетрудно заметить, что возможных вариантов исходных данных практически бесконечное количество, а возможных хэшей &#8212; лишь 2 в степени фиксированной длины хэша. Из чего было бы логичным сделать вывод о том, что такие пары существуют. Но, как ни странно для всех криптографических алгоритмов, такие пары все еще кем-либо не найдены.</p>
<p>Единственный возможный способ найти такие пары &#8212; вычислить с помощью компьютера, сложно дать какое-либо четкое доказательство почему <em>человек</em> не в состоянии самостоятельно обнаружить коллизию, но тем не менее это так. Если не верите на слово &#8212; можете попробовать заняться этим сами в отношении хотябы самых простых и распространенных алгоритмов, например <strong>md5</strong>.</p>
<p>Обнаружение коллизий с помощью специализированных программ в большинстве случаев не является сложной задачей и ограниченно лишь вычислительной мощностью используемых компьютеров или кластеров. Так как рост производительность современных вычислительных систем растет семимильными шагами, требования к устойчивости хэширующим алгоритмам растут ничуть не меньшими темпами.</p>
<p>В научной литературе принята своеобразная классификация алгоритмов хэширования по устойчивости к обнаружению коллизий типов:</p>
<dl>
<dt><em>Первый тип</em></dt>
<dd>заключается в том, что при фиксированном первой двоичной строке &#8212; невозможно подобрать к ней вторую с таким же хэшем.</dd>
<dt><em>Второй тип</em></dt>
<dd>отличается от первого тем, что обнаружение коллизии невозможно и для произвольной пары сообщений.</dd>
</dl>
<h4>Однонаправленность</h4>
<p>Это свойство заключается в отсутствии возможности <em>эффективно</em> вычислить прообраз по хэшу и прямо вытекает из предыдущего свойства, для подтверждения этого факта существует вполне конкретное математическое доказательство, но приводить его здесь я, с Вашего позволения, не буду. Одного факта устойчивости к коллизиям недостаточно для утверждения, что алгоритм обладает свойством однонаправленности, но, как известно, большинство криптографических алгоритмов хэширования им обладают. Упомянутое выше доказательство базируется как раз на попытке воспроизведения действий потенциального злоумышленника, пытающегося опровергнуть однонаправленность алгоритма с помощью нахождения &quot;обратного пути&quot; от хэша к прообразу, и доказательства обреченности его попыток на провал.</p>
<h4>Кардинальное изменение хэша при незначительном изменении оригинала</h4>
<p>Еще одно не совсем очевидное свойств, связанное с предыдущими. Если бы хэши от отличающихся на допустим один бит прообразов практически полностью совпадали, то этот факт сильно упрощал бы вычисление возможных коллизий и, как следствие (или причина?), нарушало бы устойчивость к ним.</p>
<h3>Применение</h3>
<p>На практике криптографические хэширующие функции имеет несколько вариантов применения, вот основные из них:</p>
<ul>
<li><strong>Хранение аутентификационных данных пользователей сайтов или программных продуктов.</strong> В случае чисто теоретически возможной ошибки программистов или каких-либо других людей или просто имея доступ к базе данных на том или ином основании, потенциальный злоумышленник может получить доступ к закрытым компонентам того или иного проекта, в том числе и к базе данных пользователей. Если такого рода данные хранились бы в открытом виде, он получил бы полный доступ ко всем учетным записям пользователей. Для избежания возможности возникновения подобной ситуации принято хранить не сами логин и пароль пользователей, а их хэши. В этом случае для аутентификации введенные пользователем данные пропускаются через тот же алгоритм хэширования и полученный хэш сравнивается с хранящимся в БД.</li>
<li><strong>Проверка целостности копии данных.</strong> Чаще всего этот способ проверки соответствия копии оригиналу используется в отсутствии доступа к оригиналу. В качестве примера можно привести передачу больших объемов информации через ненадежное пространство (чаще всего Интернет), многие файловые серверы хранят рядом с большими файлами вычисленные от них хэши с использованием популярных алгоритмов, посетитель, скачав файл, может убедиться в его соответствии оригиналу, просто вычислив такой же хэш от копии и сравнив с доступным хэшем от оригинала. Но такой же принцип может использоваться и при доступном оригинале, например, многие программы для прожига образов на компакт-диски используют схожий принцип для проверки соответствия полученного диска образу.</li>
</ul>
<p>Если же слегка отвлечься от криптографии, то можно найти еще достаточно большое количество вариантов применения хэш-функций, таких как хэш-таблицы, генерация псевдо-случайных чисел, поиск текста и многие другие.</p>
<h4>Заключение</h4>
<p>Надеюсь сегодня мне успешно удалось осветить еще один компонент науки под названием криптография, в обозримом будущем я планирую написать несколько записей на эту же тему, но более практического характера, не пропустить момент их публикации вам поможет <a target="_blank" href="/feed">подписка на RSS-ленту моего блога</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.insight-it.ru/programmirovanie/kriptografiya/obratnogo-puti-net/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Безопасное общение</title>
		<link>http://www.insight-it.ru/programmirovanie/kriptografiya/bezopasnoe-obshhenie/</link>
		<comments>http://www.insight-it.ru/programmirovanie/kriptografiya/bezopasnoe-obshhenie/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 14:34:33 +0000</pubDate>
		<dc:creator>Иван Блинков</dc:creator>
				<category><![CDATA[Криптография]]></category>
		<category><![CDATA[decrypt]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[дешифрование]]></category>
		<category><![CDATA[ключ]]></category>
		<category><![CDATA[общение]]></category>
		<category><![CDATA[протокол]]></category>
		<category><![CDATA[процесс передачи сообщения]]></category>
		<category><![CDATA[Сеть]]></category>
		<category><![CDATA[технология]]></category>
		<category><![CDATA[цифровая подпись]]></category>
		<category><![CDATA[шифр]]></category>
		<category><![CDATA[шифрование]]></category>

		<guid isPermaLink="false">http://www.insight-it.ru/science/kriptografiya/bezopasnoe-obshhenie/</guid>
		<description><![CDATA[&#8230;или введение в криптографию Представим, что два человека хотят общаться, но при этом хотят сохранить свой разговор в секрете. Для этого у них есть идеальный канал связи, который представляет собой цельную, непроницаемую для внешних воздействий трубу, что приводит к тому, что когда один из них шепчет что-либо в нее то только второй человек сможет получить [...]]]></description>
			<content:encoded><![CDATA[<h3 style="text-align: right;">&#8230;или введение в криптографию</h3>
<p>Представим, что два человека хотят общаться, но при этом хотят сохранить свой разговор в  секрете. Для этого у них есть идеальный канал связи, который представляет собой цельную, непроницаемую для внешних воздействий трубу, что приводит к тому, что когда один из них шепчет что-либо в нее то только второй человек сможет получить сообщение, приложив ухо к противоположному концу трубы. Общение по такому каналу связи сравнимо с ситуацией, когда помимо них во всем мире не существовало бы других людей.</p>
<p>Но, к сожалению, таких каналов связи не существует, но это не мешает стремиться снабжать существующие каналы связи свойствами, приближающими их к идеальному, об этом мы сегодня и поговорим.</p>
<p><span id="more-21"></span></p>
<p>Как известно, наукой, посвященной теории и практике сокрытия данных, является криптография (из греческого: &kappa;&rho;&upsilon;&pi;&tau;ό&sigmaf; &#8212; скрытый и &gamma;&rho;ά&phi;&omega; &#8212; писать). Несмотря на свою историю, насчитывающую не одну тысячу лет, эта наука и в современном мире нашла множество применений.&nbsp; С применением этой науки возможно решение самых разнообразных проблем, но основной задачей, с которой призвана справляться современная криптография является как раз относительно безопасная передача данных через ненадежное пространство.</p>
<p>Для максимального приближения реальных каналов связи к идеальному, необходимо выделить основные цели, к которым необходимо стремиться, в нашем случае их две:</p>
<ul>
<li><b>приватность</b> &#8212; сокрытие содержимого передаваемых данных от возможных злоумышленников, с целью предотвращения возможности их получения или изменения</li>
<li><b>аутентификация</b> &#8212; возможность получателя данных убедиться, что принятые им данные действительно были переданы отправителем и не претерпели в процессе никаких изменений</li>
</ul>
<p>Для реализации этих целей криптография предоставляет отправителю и получателю <i>протокол</i>, в общем случае он представляет собой совокупность программ и алгоритмов. Протокол должен предоставлять как минимум по одному алгоритму (реализованному в программе) каждому участнику процесса передачи данных, в нашем случае получателю и отправителю. Отправителю должна быть предоставлена возможность упаковать данные, предназначенные для отправки, именно таким образом, чтобы получатель с помощью своей программы мог не только распаковать данные в первоначальную форму, но и убедиться, что они были отправлены именно в таком виде.</p>
<p>Залогом уверенности в том, что передача данных безопасна, является наличие чего-либо что знает или может сделать получатель, но не знает или не может сделать. Использование этой формы <i>асимметрии</i> и является основой для большинства современных методов шифрования информации. Этот объект, обуславливающий возникновение асимметрии, принято называть словом <i>ключ</i>. Формально говоря ключ является одним из параметров шифрования, определяющим каким именно образом были преобразованы данные заранее известным алгоритмом. Основная классификация алгоритмов шифрования основывается на том, кто изначально владеет ключом, принято разделять их на алгоритмы с симметричным (т.е. секретным) и асимметричным (т.е. публичным) ключами.</p>
<h3 style="text-align: right;">Алгоритмы с симметричным ключом</h3>
<p>В самом простом случае получатель и отправитель являются владельцами одного и того же ключа, представляющего собой случайно выбранную строку, то есть последовательность бит заданной длины. С помощью этого ключа они получают возможность исключить вмешательство посторонних лиц в передачу данных <span style="font-size: smaller;">(будем считать что ключи хранятся на компьютерах отправителя и получателя, и какая-либо возможность получения их оттуда третьими лицами отсутствует).</span> Логичным было бы возникновение вопроса о том как же изначально ключ попал в их распоряжение, не попав в руки злоумышленников, но ответ на него выходит за рамки этого повествования, для нас намного важнее сам процесс использования ключа<span style="font-size: smaller;">.</span></p>
<p>Сам процесс передачи достаточно прост: с помощью первого предоставленного протоколом алгоритма и имеющегося ключа, отправитель <i>шифрует (<a href="/tag/encrypt" target="_blank">encrypt</a>)</i> сообщение, и получает на выходе зашифрованное сообщение, которое и будет отправлено получателю через ненадежный канал. Получатель же в свою очередь, применив второй алгоритм и все тот же ключ, <i>расшифровывает (<a href="/tag/decrypt" target="_blank">decrypt</a>)</i> полученное сообщение и в идеале получает исходное сообщение.</p>
<p>Приватность в этом случае достигается за счет того, что даже зная алгоритм и перехватив передаваемое сообщение восстановление исходного текста без ключа невозможно. Но в некоторых случаях даже не имея возможности точно расшифровать сообщения, злоумышленник может с некоторой ненулевой вероятностью предположить содержимое исходного сообщения, основываясь на длине передаваемого сообщения (вполне очевидно, что в большинстве случаев длина сообщения и длина исходного текста &#8212; величины зависимые). Но такая вероятность чаще всего ничтожно мала, но если злоумышленник знает что-либо о структуре исходного сообщения и о том что оно собой представляет, этот факт может позволить ему предполагать с более высоким шансом на успех.</p>
<p>Аутентификация реализуется несколько более сложным образом: для того чтобы предоставить гарантию что сообщение было передано именно отправителем, протокол предоставляет еще два алгоритма (которые правда могут совпадать) алгоритма. Помимо самого сообщения отправитель вычисляет &quot;метку&quot; &#8212; результат выполнения некой функции, аргументами которой являются ключ и исходное сообщение. Метка отправляется вместе с зашифрованным сообщением, и когда&nbsp; получатель применяет свой второй алгоритм на полученной метке и сообщении, он может точно определить обладал ли составитель этого сообщения ключом и, как следствие, не являлся ли он &quot;злоумышленником&quot;.</p>
<h3 style="text-align: right;">Алгоритмы с асимметричным ключом</h3>
<p>Главной особенностью этого класса алгоритмов является использование <b>пары</b> ключей: <i>публичного</i> и <i>секретного</i>. Их названия говорят сами за себя: публичный ключ участника передачи данных предоставляется им в свободный доступ и привязывается к его личности, а секретный так и остается известен только его владельцу.</p>
<p>Передача сообщения происходит следующим образом: отправитель получает копию публичного ключа <i>получателя</i> из какого-либо общедоступного источника, с его помощью зашифровывает по заранее известному алгоритму сообщение и отправляет получателю. Получатель же, обладая <i>секретным</i> ключом, предназначенным для расшифровывания сообщений, которые были составлены с помощью <i>его же</i> публичного ключа, получает исходное сообщение.</p>
<p>В отличии от алгоритмов с симметричным ключом получатель и отправитель могут даже быть незнакомы, но это все равно позволяет отправителю передавать сообщения получателю и быть точно уверенным, что <i>только</i> получатель сможет получить из переданного сообщения исходное, другими словами этот механизм реализует <i>приватность</i> передачи данных.</p>
<p>Передача сообщений по тому же принципу может быть организована и с помощью пары ключей отправителя, в этом случае идет речь о так называемой <b>цифровой подписи</b>. Отправитель прикрепляет к сообщению последовательность бит, которая является результатом функции от его секретного ключа и исходного сообщения, получатель же имеет возможность с помощью публичного ключа отправителя проверить действительно ли сообщение было составлено именно им и не притерпело никаких изменений в процессе передачи, что говорит о наличии <i>аутентификации</i> в этом методе.</p>
<p>В отличии от алгоритмов с симметричным ключом, цифровая подпись может быть при необходимости использована в суде как доказательство того, что сообщение было отправлено именно им, ведь возможность подделать ее отсутствует как у получателя так и у всех остальных лиц не обладающих секретным ключом (если секретный ключ был бы известен получателю, как в ситуации с симметричным ключом, то была бы возможность подделки со стороны получателя). Даже если отправитель заявит что секретный ключ был украден, этот факт расценивается как проблема отправителя и ответственности за документы подписанные этим ключом с него не снимает.</p>
<h3>В качестве заключения&#8230;</h3>
<p>&#8230;хотелось бы сказать, что каждый упомянутый подход к обеспечению безопасности передачи информации имеет свое право на существование, что легко подтверждается тем, что каждый из них нашел свое применение в жизни. Надеюсь этот теоритический обзор дал Вам возможность получить общее представление о принципах современного обеспечения безопасности передачи данных через ненадежное пространство, которым в большинстве случаев является международная сеть Интернет.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.insight-it.ru/programmirovanie/kriptografiya/bezopasnoe-obshhenie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

