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


Трукрипт - это маленькая утилита, которая после установки находится в трэе и имеет вид ключа на фоне синего или коричневого квадрата. Цвет квадрата зависит от того активна в данный момент программа или находится в режиме ожидания. Почему именно остановить выбор и скачать , а не аналогичный шифратор / запороливатель?
Компьютер может использоваться в роли простого калькулятора, а может быть почти искусственным интеллектом для решения глобальных вопросов в корпоративных масштабах. Но какие бы функции не выполнял компьютер, за ним работает человек и не обязательно один. Ситуации могут быть разные: дети хотят спрятать от родителей программу или игру; родители хотят спрятать фотографии или видео для взрослых от детей; сотрудники компании - скрыть секретные документы от конкурентов или от других недоброжелательных сотрудников; разработчики - уберечь свои программные коды и скрипты продукта... У каждого из них цель одна - закрыть доступ к папке на пароль.
Существует много программ для установки пароля на папку, но у них много проблем, нюансов и недостатков. У одних простое переименовывание защищенной папки ведет к потере всего ее содержимого. У других при сбое системы или самой программы пропадает доступ к папке, вернуть доступ не получается даже при переустановке программы или системы. Третьи не позволяют перемещать папку на другой компьютер. У четвертых ограничение на размер папки или файла. Это далеко не весь перечень проблем и недостатков. Не стоит забывать, что ограничивает доступ не только к папке, но и на целый том диска.

Основные возможности :

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

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

    При помощи ТруКрипт вы можете создать виртуальный да еще и зашифрованный логический диск. Храниться он будет в виде файла. Либо отважьтесь на полную шифровку одного из разделов жесткого диска или любого другого носителя важной для вас информации. Все данные сохраняются в том TrueCrypt и полностью шифруются (имена файлов и каталогов также). В качестве вышеупомянутого зашифрованного диска используйте как часть свободного места на одном из дисков либо же полностью «оккупируйте» любой из разделов жесткого диска, флеш-накопителя или другого съемного устройства для хранения и переноса данных.

    Еще одна хорошая «фишка» программы TrueCrypt - в заголовке созданного «диска» отсутствует специфическая сигнатура (имеется в аналогичным программах), с которой невозможно идентифицировать/заметить такой ТруКрипт-диск.

    Программа TrueCrypt поддерживает такие алгоритмы шифрования как Serpent, AES-256, Twofish. Все они используют более безопасный режим XTS, который легко дает фору в безопасности таким режимам шифрования как CBC и LRW. Последние применялись в предыдущих версиях и шифровали «на лету».

    Основные характеристики «шифровальщика» TrueCrypt:

    • возможность создавать зашифрованный диск-виртуал в файловом контейнере как зашифрованный раздел диска или же полным шифрованием содержимого устройства;
    • без потери зашифрованных данных изменяйте пароли и ключевые файлы тома;
    • поддержка «тройки» алгоритмов шифрования - AES, Twofish и Serpent. С ТруКрипт Вы также можете использовать каскадное шифрование разнообразными шифрами. Например, AES+Serpent+Twofish;
    • режим XTS для всех алгоритмов шифрования;
    • с ТруКрипт вы можете выбрать одну из трех хеш-функций для генерации шифр-ключей, соли и ключа заголовка: HMAC-Whirlpool, HMAC-RIPEMD-160, HMAC-SHA-512;
    • возможность применить пароль для доступа к зашифрованным данным (то бишь, ключевую фразу), один или несколько ключевых файлов или комбинации из них;
    • два уровня правдоподобного отрицания присутствия зашифрованных данных - необходимо в случае «экстренного» открытия пароля юзером;
    • создание зашифрованного динамического файла на дисках файловой системы NTFS. Созданные тома ТруКрипт увеличиваются в объеме - по мере накопление новых данных вплоть до фиксированного максимального объема;
    • смонтированный виртуальный TrueCrypt-том походит на обычный логический диск, поэтому с ним можно работать при помощи стандартных утилит проверки и дефрагментации файловой системы.

    Для работы программы на русском языке не забудьте скачать русификатор по этой ссылке:

    В качестве основного средства для разработки программного обеспечения была выбрана среда визуального программирования C++ BUILDER 6.

    C++ BUILDER 6 - это комбинация нескольких важнейших технологий:

    Высокопроизводительный компилятор в машинный код;

    Объектно-ориентированная модель компонент;

    Визуальное (а, следовательно, и скоростное) построение приложений.

    Компилятор, встроенный в C++ BUILDER 6, обеспечивает высокую производительность, необходимую для построения приложений. Этот компилятор в настоящее время является самым быстрым в мире. Он предлагает легкость разработки и быстрое время проверки готового программного блока, и в то же время обеспечивает качество кода. Кроме того, C++ BUILDER 6 обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно). В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в C++ BUILDER 6 мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10 - 20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь. В C++ BUILDER 6 компиляция производится непосредственно в родной машинный код. В то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения. Объектно-ориентированная модель программных компонент заключается в максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды C++ BUILDER 6. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в C++ BUILDER 6 написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми BORLAND или третьими фирмами, и объектами, которые вы можете создать. В стандартную поставку C++ BUILDER 6 входят основные объекты, которые образуют удачно подобранную иерархию.

    Требования к разрабатываемой программе:

    1. Удобный графический пользовательский интерфейс (GUI)

    2. Простота в обращении

    3. Обеспечение шифрования всех типов файлов

    4. Надежность функционирования

    5. Невысокая стоимость

    6. Способность к изменению и дополнению

    7. Наличие справочной системы

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

    Contents

    Оновные задачи криптографии

    В настоящее время криптогарфические функции применяются для решения следующих задач защиты информации:
    1. Обеспечение конфиденциальности информации .
    2. Обеспечение целостности информации .
    3. Аутентификация информации .
    4. Удостоверение авторства по отношению к сообщению или документу.
    5. Обеспечение неотслеживаемости информации .

    Основные понятия криптографии.

    Криптография – самостоятельная наука с особым предметом исследований и специфическими методами исследования, и, несомненно, эта наука имеет математическую природу. Наиболее отчётливо многообразие связей криптологии с математикой проявилось в двадцатом веке. Большое влияние на это имел выход в свет фундаментальный труд К. Шеннона «Теория связи в секретных системах». Впрочем и до этого события история криптологии была отмечена замечателльными научными трудами и практическим вкладом в криптоаналитические разработки многих математиков, таких, как Л. Б. Альберти(XVв.), Б. Виженер, Ф. Виета(XVI-XVII вв.), Л. Эйлер(XVIII в.) и др.

    Современная криптология

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

    Криптографическая система

    Криптографическая система применяется для решения различных задач защиты информации соответствующими действующими лицами или сторонами, при этом устанавливается определённый порядок взаимодействия сторон, называемый криптографическим протоколом . Семейство криптографических функций в совокупности с используемыми криптографическими протоколами образуют криптосистему (криптографическую систему). Функции криптосистемы зависят от параметра k, называемого ключом криптосистемы. Ключ криптосистемы принадлежит конечному множеству допустимых значений ключа, которое именуется ключевым множеством криптосистемы. Выбранный ключ k однозначно определяет криптографическую функцию криптосистемы.

    Ключ криптосистемы

    Практическое использование ключа криптосистемы подразумевает реализацию так называемого жизненного цикла ключа, т.е. выполнение таких действий с ключом, как генерация, распределение (рассылка) между пользователями, хранение, установка (с целью реализации при данном ключе криптографической функции для защиты информации), смена и уничтожение ключей. Протоколы, управляющие жизненным циклом ключей, называются ключевыми протоколами. Ключевое множество и ключевые протоколы образуют ключевую подсистему криптографической системы. В зависимости от задач защиты информации различают и выполняющие эти задачи криптографические системы. Для обеспечения конфиденциальности информации используется система шифрования, реализующая семейство E биективных функций множества сообщений, называемое шифром: E = {}, kK.

    Аутентификация сторон

    Для аутентификации сторон протокола используется система идентификации, для аутентификации сообщений – система имитозащиты, для обеспечения неотказуемости от авторства – система электронной цифровой подписи (ЭЦП).
    Сообщение, к которому применяется криптографическая функция шифра, называют открытым текстом, а само применение функции шифра к открытому тексту называется шифрованием или зашифрованием. Результат шифрования открытого текста называется шифрованным текстом или криптограммой.
    Шифр E можно рассматривать как семейство отображений , биективных по первой переменной, где X* и Y* - соответственно множество открытых и шифрованных текстов. Биективность функций шифра обеспечивает возможность восстановления открытого текста по шифрованному тексту. Применение к криптограмме обратного отображения с использованием известного ключа называется расшифрованием.
    Раскрытие криптоаналитиком информации, защищаемой шифром, называют дешифрованием (ключ расшифрования криптоаналитику неизвестен, т.е. неизвестно, какое именно отображение из семейства E использовано для шифрования). Разработанный криптоаналитиком метод раскрытия шифра или информации , защищаемой шифром, называют криптоаналитической атакой.

    Стойкость

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

    Классификация криптосистем .

    По принципам использования ключей криптосистемы разделены на системы с секретным и открытым ключом.

    Симметричные криптосистемы

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

    В настоящее время симметричные шифры - это:

    Блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

    Поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

    Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

    Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K) , где D - порция данных, размером вдвое меньше блока шифрования, а K - «ключ прохода» для данного прохода. От функции не требуется обратимость - обратная ей функция может быть неизвестна. Достоинства сети Фейстеля - почти полное совпадение дешифровки с шифрованием (единственное отличие - обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию. Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины».

    Операция перестановки линейна -

    f(a) xor f(b) == f(a xor b)

    Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.

    Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S -блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x , а также отсутствие влияния какого-то бита входного байта на какой-то бит результата - то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

    Криптосистема с открытым ключом

    Системы с открытым ключом (основная статья "Асимметричная криптосистема") были предложены американскими криптографами Диффи и Хеллманом в 1975году, в настоящее время они активно применяются для защиты информации. Другое их название – асимметричные системы , так как в них ключи шифрования и расшифрования не связаны явным отношением симметрии или равенства. Ключ шифрования может быть открытым, известным для всех, но расшифровать сообщение может только пользователь, обладающий секретным ключом расшифрования, который, во избежание путаницы с ключом симметричной системы, обычно называют закрытым ключом. Вычисление ключа расшифрования по ключу шифрования, т.е. раскрытие шифра, увязано с решением математических задач, характеризуемых высокой сложностью решения. К таким задачам относятся, например, задача поиска делителей большого натурального числа и задача логарифмирования в конечных полях большого порядка. Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x) , что по известному x довольно просто найти значение f(x) , тогда как определение x из f(x) невозможно за разумный срок.

    Пусть K - пространство ключей, а e и d - ключи шифрования и расшифрования соответственно. E - функция шифрования для произвольного ключа eϵK , такая что:

    E(m)=c

    Здесь cϵC , где C - пространство шифротекстов, а mϵM , где M - пространство сообщений. D - функция расшифрования, с помощью которой можно найти исходное сообщение m , зная шифротекст c:

    D(c)=m

    {E: eϵK} - набор шифрования, а {D: dϵK} - соответствующий набор для расшифрования. Каждая пара (E, D) имеет свойство: зная E , невозможно решить уравнение E(m)=c , то есть для данного произвольного шифротекста cϵC , невозможно найти сообщение mϵM . Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d . E является односторонней функцией, а d - лазейкой. Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемыми Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.

    "Защита информации" – более широкое понятие по сравнению с понятием "криптографической защиты". Защита информации может обеспечиваться различными методами (физическими, методами стеганографии, др.), в том числе и криптографическими. Под криптографическими методами защиты информации понимаются такие, которые используют математические способы преобразования защищаемой информации (см. «Словарь криптографических терминов», под ред. Б.А. Погорелова, В.Н. Сачкова, МЦНМО, М., 2006.).

  • Определения шифра Вы можете посмотреть в словаре. Однако очень часто в рунете, да и в литературе тоже, путают эти понятия. Выделим основное отличие на понятийном уровне. Код это преобразование информации, в котором НЕ участвует секретная составляющая в виде ключа, примером кода является base64 - схема, по которой произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Шифр – это преобразование, в котором участвует в каком-либо виде секретная составляющая (ключ). Примерами шифров являются алгоритмы AES или ГОСТ 28147-89.

  • Вы знаете из словаря, что аутентификация - это доказательство пользователя что он - это он. Обычно пользователь это доказывает обладанием некоторого знания (пароль, ключ и т.п.) Протокол аутентификации - это процедура этого доказательства. Протоколы аутентификации различаются числом шагов: 2-проходные, 4-проходные. Также бывает односторонняя и взаимная аутентификация. Например, если Вы заходите на почтовый сайт, и сайт просит Вас ввести пароль это будет 2-проходная односторонняя аутентификация, т.е. Вы аутентифицировались перед сервером и протокол состоял из двух шагов: запрос, ответ. Более сложные протоколы работают, например, в рамках протокола TLS, там может использоваться 5-ти проходная взаимная аутентификация, которая совмещается с протоколом открытого распределения ключей.

  • Как всегда, за формальными определениями отсылаем Вас к словарю. Основное отличие данных протоколов в следующем. В случае идентификации вы представляетесь перед кем-либо (идентифицируете себя). Например, заходите на сайт с почтой и пишете свой почтовый адрес в соответствующее поле, или, пример более жизненный, к Вам подходит милиционер и спрашивает, кто Вы такой, и Вы называете свою фамилию. Это и есть идентификация. А вот аутентификация - это процедура доказательства Вами того, что вы тот, за кого себя выдаете. В нашем первом примере почтовый сервер попросит Вас ввести свой пароль и тем самым аутентифицировать себя. Во втором примере милиционер попросит предъявить паспорт и, тем самым, Вы пройдете аутентификацию перед ним.

  • Определения данных понятий Вы можете найти в словаре, а здесь поясним в чем их различие. Для нормальной работы инфраструктуры открытых ключей (PKI) необходимо наличие центра доверия, обычно это удостоверяющий центр (УЦ). Сертификат - это подписанный удостоверяющим центром открытый ключ пользователя. Сертификат может содержать еще много информации, они выстраиваются в цепочки сертификатов, но главная задача сертификата - удостоверить что открытый ключ именно ВАШ.

  • В первую очередь Вам следует запастись терпением. Криптография – наука сложная. Для изучения криптографии также является необходимым знание математики на высоком уровне (студент 3го курса математических/технических специальностей – уровень необходимый, но не достаточный). Для начала можно воспользоваться книгой А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин, «Основы криптографии», Гелиос АРВ, М., 2001. Также неплохой вариант: Б. Шнайер «Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Си», Триумф, М., 2002, - более популярный, но, на мой взгляд, более слабый вариант. На следующем этапе нужно уже определиться со специализацией, и… Удачи!

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

  • Под “совершенными” понимают такие шифры, при анализе которых криптоаналитик не может получить никакой информации об открытом тексте, имея в распоряжении шифртекст. Казалось бы, все шифры, которые стоит использовать на практике должны обладать свойством “совершенности”. Однако это не так, причем практически всегда. Дело в том, что свойство “совершенности” требует использования огромного количества ключевой информации (объем которой равен совокупному объему всех открытых текстов). Данное условие является крайне непрактичным, поэтому, как правило, используют шифры, совершенные в неклассическом смысле: оптимальные по скорости/цене реализации и криптографической стойкости. Шифры, совершенные относительно этих свойств в определенный момент времени, часто стандартизируются государственными и/или международными организациями.

  • В подавляющем большинстве случаев ответ отрицательный. При этом целостность данных может быть нарушена таким образом, что при расшифровании модифицированного сообщения будет получен осмысленный текст. Способы нарушения целостности зашифрованных данных существенно зависят от используемого алгоритма шифрования и режима его работы. Например: если используется блочный шифр в режиме простой замены, то может быть осуществлена перестановка блоков шифртекста; если используется шифр гаммирования и известен открытый текст, то можно вычислить значение гаммы и получить шифртекст, соответствующий любому выбранному открытому тексту; и т.д. Чтобы обеспечить целостность зашифрованных данных при передаче необходимо использовать либо функции хэширования (в частности ключевые), либо специальные режимы шифрования, обеспечивающие аутентификацию.

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

  • Алгоритмы шифрования

    • Шифры разделяются на блочные и поточные по следующему признаку. Первые оперируют сразу с большим блоком информации (64, 128, 256 бит), вторые вырабатывают знаки шифрующей последовательности меньшей длины (1, 4, 16, 32 бита). В некотором приближении данное различие можно считать условным. Как правило, блочные шифры отличаются от поточных принципами строения. Также, обычно поточные шифры работают в режиме гаммирования, т.е. вырабатывают шифрующую последовательность, которая затем накладывается (суммируется) с последовательностью основного текста. Для блочных же шифров отдельно разрабатываются различные режимы использования (в том числе, режим гаммирования). Исторически поточные шифры использовались на платформах с ограниченными ресурсами (вычислительными, малым объемом памяти), или для обеспечения высокой скорости шифрования. Однако в настоящее время на подавляющем большинстве платформ использование блочных шифров является приемлемым. Поточные шифры продолжают использоваться (Э. Бихам) в случае необходимости иметь сверхскоростной программный шифр, а также в случае аппаратной реализации шифра в массовых дешевых изделиях.

    • Понятие режимов шифрования, как правило, используется применительно к блочным шифрам. Блочный шифр при фиксированном ключе задает некоторую подстановку на блоках открытого текста и является, таким образом, шифром простой замены. Непосредственное использование шифров простой замены может быть опасным: имея достаточно материала, противник может дешифровать открытый текст. В связи с этим, для блочных шифров разрабатываются режимы шифрования, то есть специальные алгоритмы использования блочного шифра (см. статью Режимы шифрования блочных шифров). Использование различных режимов шифрования обусловлено разнообразными практическими потребностями. В качестве примера можно привести необходимость ограничения распространения искажений, организацию синхронизации и т.д.

    • Чисто теоритически почти для любого шифра можно определить ключ шифрования (или дешифровать шифртекст). Другой вопрос: за сколько времени? Пусть длина ключа равна n бит. Если Вы используете «хороший» алгоритм шифрования, то для него не существует методов нахождения ключа с трудоемкостью меньше чем 2^n (операций опробования одного ключа). В этом случае длины ключа, равной 128 битам, более чем достаточно. Можно также порекомендовать НЕ использовать ключи длиной меньше 64 бит. В то же время, если у Вас не возникает неудобств с хранением, передачей ключей, со скоростью шифрования, то всегда нужно использовать ключ максимальной длины из возможных для Вашего алгоритма шифрования.

    • Чтобы ответить на этот вопрос, нужно в первую очередь определить, по каким критериям следует сравнивать шифры. В первую очередь, это, конечно же, криптографическая стойкость. Во вторую – скорость программной (аппаратной) реализации. Шифры можно также сравнивать по следующему критерию: количество различных платформ, на которых они могут быть реализованы. (Следует учитывать, что платформы, на которых возникает необходимость реализации шифрования, могут быть весьма различными: от высокопроизводительных ЭВМ до смарт-карт.). Что касается криптографической стойкости, то на данный момент и американский стандарт AES и отечественный ГОСТ 28147-89 можно считать стойкими. В плане быстродействия отечественный стандарт уступает американскому (не стоит забывать, что отечественный стандарт старше американского на 10 лет!), однако скорость его работы достаточна для подавляющего большинства практических целей. Оба стандарта шифрования позволяют создавать реализации на самых различных платформах, в том числе с ограниченными ресурсами. В то же время, следует отметить, что для реализации шифра ГОСТ 28147-89, требуется меньше памяти. Таким образом, нельзя однозначно заключить, какой шифр «лучше». Если добавить в критерии оценки шифров такое свойство, как «патриотизм», то однозначно побеждает отечественный стандарт ГОСТ 28147-89.

    • В первую очередь, алгоритм шифрования должен быть стойким. Во вторую – с достаточно высокой скоростью шифрования. Наибольшее число вопросов у пользователя может вызывать первое условие. Определить, что шифр является стойким может лишь большая группа профессиональных криптографов в течение длительного периода времени (для этого и проводятся в Европе и США конкурсы на различные криптографические алгоритмы). Обычному пользователю, а иногда даже крупной компании, такие трудоемкие исследования, как правило, оказываются неподсилу. Специально для вас существуют стандартизированные решения. В нашей стране это алгоритм шифрования ГОСТ 28147-89. Стандартизированные решения подходят практически в любой ситуации. Однако бывают исключительные случаи (см. ответ на вопрос из ФАКа «Существует ГОСТ на шифрование, зачем нам еще какие-то шифры и алгоритмы?»). Какой шифр использовать в таких ситуациях – зависит уже от множества различных условий, и общего рецепта здесь дать нельзя.

    • Основная цель использования алгоритма шифрования – обеспечение конфиденциальности информации. Следует отметить, что существует огромное количество шифров, удовлетворяющих этой цели. Однако при практическом использовании алгоритма шифрования к нему могут предъявляться дополнительные требования. Приведем некоторые из них: а. Высокая скорость программной реализации шифрования на определенной платформе. При этом конкретная платформа может варьироваться от обычных ПК до процессоров на смарт-картах. б. Высокая скорость аппаратной реализации и низкая стоимость конечного изделия. При аппаратной реализации каждая операция, используемая при шифровании вносит определенный вклад в стоимость конечного изделия. в. Определенные особенности ключевой структуры. Например, шифрование большого (небольшого) объема информации на одном ключе, частая смена ключей. г. Необходимость наличия дополнительных свойств, например, синхронизации. д. Особые сферы применения. В качестве примера можно привести алгоритмы шифрования для устройств RFID. В последнем случае идут даже на снижение стойкости шифра с целью его максимального упрощения. Для подавляющего большинства практических задач вполне подходят стандартизированные решения. Их можно и нужно использовать. Гарантией криптографической стойкости таких алгоритмов, как ГОСТ 28147-89 и AES, служит повышенный интерес к ним всего мирового криптографического сообщества.

    • Смотря для каких целей. Если хотите поиграть в шпионов – используйте на здоровье! Если же от стойкости Вашего шифра зависит конфиденциальность Ваших данных, финансовое состояние Вашей фирмы или Вас лично, то ответ – НЕТ. Человеку свойственно ошибаться, даже если он профессионал. Поэтому, перед тем, как начать практическое использование криптографического алгоритма, он проходит множество проверок различными экспертами. И процесс этот не быстрый: конкурс NESSIE (https://www.cosic.esat.kuleuven.be/nessie/) проводился в течение 3,5 лет; конкурс AES (http://csrc.nist.gov/groups/ST/toolkit/block_ciphers.html/) – почти 4 года; предполагаемые сроки проведения конкурса SHA-3 (http://csrc.nist.gov/groups/ST/hash/sha-3/index.html/) – 4 года. В общем, если Вам нужно шифровать более серьезные сообщения, чем «Сережка любит Светку из 8 “Б”», то используйте либо стандартизированные решения, либо криптоалгоритмы, прошедшие экспертизу высокого уровня.

    • На этот вопрос однозначно ответить нельзя. Дело в том, что для разных шифров наиболее эффективными могут являться совершенно различные атаки. Существуют, конечно, универсальные атаки, как, например, метод полного перебора ключей. В то же время, целый ряд атак (например, слайд-атака) применимы только к очень ограниченному кругу шифров. В последнее время, в связи с увеличением длин ключей и развитием методов синтеза шифров, наиболее эффективными (по крайней мере с точки зрения практики) являются атаки не на сами шифры, а на их реализацию: кэш-атаки (cache attacks), методы на основе связанных ключей, и др.

    • Радужные таблицы (rainbow table) это особый вариант таблиц, который используется при алгоритмах поиска или перебора, основанных на принципе time-memory tradeoff (компромисс между временем поиска и размером таблиц). Существует несколько способов построения таких таблиц. Все они основаны на построении цепочек последовательного применения исследуемой функции и хранении только первой и последней точек данных цепочек. Известны классический метод, предложенный Хеллманом, метод основанный на выделенных точках и метод радужных таблиц. Все эти методы различаются так называемой функцией редукции. Для метода радужных таблиц эта функция состоит из последовательности различных функций. Это позволяет уменьшить число таблиц и увеличить их размер, т.к. уменьшается вероятность склеивания генерируемых цепочек. Самые известные атаки подобного вида: обращение хэш-функции MD5, атаки на A5/1 и DES.

    Криптография с открытым ключом, ЭЦП

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

    • У криптографии с открытым ключом есть свои плюсы и минусы. К плюсам можно отнести удобство в управлении ключами и возможность организовать процедуры подписи и ключевого обмена. Однако есть и минусы. Это сложность реализации, как правило, невысокая скорость реализации. Так же некоторые относят к минусам и то, что принципы, которые лежат в основе криптографии с открытым ключом, основаны на трудно решаемых математических задачах, которые однажды, кто-нибудь, может и решить. В общем случае, они, конечно, решены, но вот с практической точки зрения требуются БОЛЬШИЕ И ДОРОГИЕ компьютеры для их решения, которые не могут быть доступны простым гражданам или фирмам.

    • Один из самых распространенных протоколов открытого распределения ключей - это протокол Диффи-Хеллмана. Все остальные, в принципе, построены на его основе. К сожалению, протокол не стойкий относительно активной атаки «человек посередине». Однако если расширить протокол средствами аутентификации, то данное решение будет вполне безопасно. Существуют десятки модификаций протокола Диффи-Хеллмана и протоколов, использующих схожие математические идеи. Кроме того, существуют протоколы, использующие симметричные криптографические алгоритмы.

    • Используйте стандартизированные решения, например ГОСТ Р 34.10-2001. Очень хорошая стойкая схема.

    Функции хэширования

    • Долгое время самой распространенной функцией хэширования являлась MD5. В настоящее время эта функция хэширования продолжает использоваться во многих протоколах и приложениях. Однако в августе 2004 года для MD5 впервые предъявлены коллизии. Методы совершенствовались и теперь коллизии MD5 строятся уже за сотые доли секунды. Более того, имеются примеры так называемых мультиколлизий. Например, здесь (http://www.win.tue.nl/hashclash/Nostradamus/) можно найти 12 pdf файлов с различным и занимательным содержанием, но одинаковыми значения хэш-функции MD5 от них.

    • Для произвольного значения хэш-функции, на данный момент, нет. Хэш-функцию MD5 сломали относительно задачи построения коллизии. Но пока не разработано универсального метода построения прообраза для этой хэш-функции. Однако методы анализа MD5 развиваются очень стремительно и появление метода построения прообраза в ближайшее время весьма реально. Следует отметить, что при определенных предположениях задача построения прообраза решена уже на данный момент. Например, здесь (http://eprint.iacr.org/2011/248.pdf) решается задача восстановления пароля по значению хэш-кода MD5 от строки, состоящей из этого пароля и значения соли.

    • Криптографические функции хэширования используются для доказательства авторства, обеспечения целостности сообщений, идентификации и аутентификации сообщений или участников протокола. Наиболее распространено использование функций хэширования при вычислении электронной цифровой подписи (ЭЦП). В данном случае использование хэш-функций обусловлено необходимостью обеспечения криптографической стойкости и высокой скорости реализации вычисления ЭЦП. Хэш-функции также часто используются при идентификации пользователя с помощью пароля. Как правило, на сервере хранятся не сами пароли (по понятным причинам), а результат применения к ним функции хэширования (хэш-коды). При введении пользователем пароля, к нему применяется хэш-функция и полученный результат сравнивается с хранимым на сервере. Хэш-функции иногда используют для построения блочных (SHACAL) и поточных (SEAL) шифров, генераторов случайных чисел.

    • Ключевые функции хэширования (коды аутентификации сообщений, message authentication code, MAC), в отличие от бесключевых функций хэширования, при вычислении хэш-кода используют некоторую секретную информацию – ключ. Ключевые функции хэширования используются для обеспечения целостности информации и идентификации сообщений или пользователей. Один из наиболее распространенных вариантов построения MAC на основе бесключевой функции хэширования носит название HMAC. При вычислении хэш-кода с помощью HMAC используется двукратное вычисление бесключевой функции хэширования.

    • При криптографическом анализе хэш-функций, одной из основных рассматриваемых задач является задача построения коллизии. Другими словами, требуется найти два различных сообщения x и y, такие что значения их хэш-кодов совпадают. На первый взгляд может показаться, что если длина хэш-кода равна n бит, то найти коллизию для “идеальной” хэш-функции можно только с помощью перебора 2n различных сообщений. Но это не так, и в теории вероятностей это называется парадоксом задачи о днях рождениях. Задача о днях рождениях формулируется следующим образом:: какова вероятность того, что среди N учеников одного класса существуют двое, имеющие одинаковую дату рождения? Оказывается, что данная вероятность больше 0,5 уже при N=23. Задача о днях рождениях схожа с задачей поиска коллизии функции хэширования и для построения коллизии достаточно перебрать гораздо меньше, чем 2^n сообщений, а именно - порядка 2^(n/2).

    • При криптографическом анализе функций хэширования рассматриваются три основные задачи: 1. Построение прообраза. 2. Построение второго прообраза. 3. Построение коллизии. (см. основную статью о хэш-функциях). Существуют общие методы решения каждой из этих задач, применимые к любой функции хэширования. Некоторые считают хэш-функцию «сломанной», если для нее предложены методы решения какой-либо из задач 1-3 с трудоемкостью меньше трудоемкости общего метода. В 2008 году появился ряд работ австрийских и польских криптографов по анализу отечественного стандарта на хэш-функцию. Их усилиями трудоемкость решения основных задач криптоанализа для хэш-функции ГОСТ Р 30.11-94 существенно снижена по сравнению с общими методами анализа. В то же время, трудоемкость решения данных задач (как и требования на необходимый объем памяти) остается настолько большой, что не стоит опасаться продолжать использовать в дальнейшем отечественный стандарт на хэш-функцию (см. также статью о хэш-функции ГОСТ Р 30.11-94). При этом с 2013 года в России действует новый стандарт на функцию хэширования (http://www.standards.ru/document/5293367.aspx). Если кртако, то в новом алгоритме полностью поменяли структуру и увеличили размер хэш-кода.

    • «Сломали» - термин неформальный и его можно трактовать различными способами. В последнее время действительно появился целый ряд работ, показавших серьезные слабости алгоритмов хэширования MD5 и SHA-1. Этим результатам и выводам из них посвящена отдельная статья. Здесь отметим только основное. От использования данных хэш-функций нужно отказаться! Следует однозначно избегать их использовать в разрабатываемых системах защиты информации. В то же время, на данный момент существует лишь несколько практических примеров использования теоретических результатов по анализу хэш-функций SHA-1. В связи с этим, в тех случаях, когда переход на использование других алгоритмов хэширования связан с высокими затратами (прежде всего, финансовыми), продолжение использования SHA-1 возможно. При этом, однако, следует проводить дополнительные экспертизы системы защиты информации. От использования MD5 нужно отказаться КАТЕГОРИЧЕСКИ!

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

    Использование криптографии на практике

    • Что такое целостность данных Вы посмотрите в словаре, а мы рассмотрим методы ее обеспечения. Сначала теория. Обеспечение целостности данных это одна из задач, которую успешно решают с помощью функций хэширования. Если вычислить хэш-код от блока данных, то при практически любом, даже самом незначительном изменении блока данных хэш-код поменяется. И если Вы сохраняете хэш-код в безопасности, то это гарантирует Вам неизменность данных при передаче. Однако, если Вы передаете хэш-код вместе с данными, то использование обычных хэш-функций уже опасно, Вам необходимо применить ключевые хэш-функции, например HMAC. Задачу обеспечения целостности можно также решать с помощью шифрования или кодирования (например, процедурой архивации данных). Теперь о практике. Если вы хотите передать файл по сети и хотите быть уверены, что он дойдет в точности такой, какой был послан, Вы можете: - воспользоваться программой вычисления функции хэширования (самая популярная программа md5sum) и вычислить хэш-код от файла. Однако, во первых, вам надо убедиться что само значение хэш-кода никто не изменил, и, во вторых, репутация функции MD5 существенно подорвана, и лучше пользоваться другими функциями; - архивировать файл и передать архив. От случайных изменений это предохраняет, а если Вы боитесь намеренного изменения – архивируйте с паролем; - зашифровать файл, только при этом ключ шифрования не передавайте вместе с файлом; - и, наконец, подписать ваш файл с помощью ЭЦП (о том как это сделать, смотрите ФАК)

    • Для обмена зашифрованными или подписанными ЭЦП электронными письмами можно использовать стандартное решение PGP. Реализаций данного решения много, например http://www.gnupg.org/ . Для использования PGP Вам необходимо сгенерировать пару ключей: открытый и секретный. Затем необходимо передать по безопасному или доверенному каналу Ваш открытый ключ абоненту. Далее в любой почтовой программе типа The Bat или Outlook (в Bat проще!) создать письмо и подписать и/или зашифровать его, используя соответствующие пункты меню программы. Вашему абоненту останется просто проверить подпись или расшифровать письмо.

    • Как подписать письмо цифровой подписью смотрите в отдельном вопросе. Если Вы хотите подписать файл то Вам понадобиться развернуть у себя небольшую инфраструктуру открытых ключей, а именно сгенерировать себе открытый и закрытый ключ. Проще всего это сделать с помощью библиотеки openssl (http://www.openssl.org/). Утилитами genrsa можно получить открытый и секретный ключи необходимого размера, а утилитой rsautl подписать файл.

    • Существует множество утилит и программ для решения данной задачи. Например, программа TrueCrypt (www.truecrypt.org) позволяет создавать целые зашифрованные разделы. Для шифрования одного файла можно воспользоваться утилитой EncryptFiles http://www.encryptfiles.net . Данная программа позволяет шифровать файлы с использованием более 10 алгоритмов в том числе и AES. В самом крайнем случае можно воспользоваться архиватором с паролем, однако нужно помнить, что не все архиваторы обладают стойкой системой шифрования. Нельзя также забывать, что сложность восстановления Ваших данных в этом случае определяется не только алгоритмом шифрования, но и сложностью Вашего пароля.

    • О преимуществах и недостатках этих двух ОС можно спорить часами и днями, для этого есть отдельные ресурсы. Статистика утверждает, что большинство публичных серверов в интернете работают на юникс-подобных ОС, а большинство вирусов и червей работают именно под Windows. Однако при неграмотной настройке и юникс-системы будут дырявые и небезопасные. Ответим так: при правильной и грамотной настройке и использованию обе ОС вполне безопасны. Просто будьте бдительны!

    • Вопрос для отдельной статьи, ответим кратко. Самое простое - это создать свой самоподписанный сертификат. Это может легко сделать библиотека openssl. После чего заходите в конфиги своего любимого apache и прописываете пути к ключам и сертификату для организации TLS/SSL соединения. Если Вы хотите сделать это под Windows, то Вам понадобиться установленный CSP (Cryptographic Service Provider), можно установить и отечественный CSP (КриптоПро, Lissi csp и др.) с поддержкой отечественных стандартов на хэш-функцию, шифрование и ЭЦП. Далее Вам останется воспользоваться средствами этого самого CSP, ну или просто зайти на сайт, например, http://www.cryptopro.ru/certsrv/ и запросить там тестовый сертификат. Если Вы хотите прикрутить не самописный сертификат к своему сервису, можно заказать на http://www.startssl.com - там бесплатно можно получить сертификат для своего домена.

    • Получение качественных случайных чисел является сложной криптографической задачей. Для ее решения существуют как аппаратные так и программные средства. На практике можно воспользоваться как самыми простыми так и более сложными алгоритмами. Можно выписывать случайное число “из головы”, либо с помощью механических средств (монетка, кубики, домино т.д.). Затем, для повышения его “качества” желательно применить к нему хэш-функцию, добавив в качестве аргумента еще каких-либо псевдослучайных параметров (текущее время, дата, номер машины соседа и т.п.). Однако этот метод хорош для разового использования. Для получения большого числа случайных чисел желательно использовать программные средства. Почти в любом языке программирования есть функция rand(), которая генерирует псевдослучайное число. Однако следует помнить, что период данной функции обычно небольшой (216 или 232) и до ее использования необходимо задать первоначальное псевдослучайное заполнение (время, дата и тп). Существуют генераторы ключевой информации в программных криптографических пакетах (например, truecrypt). Многие открытые операционные системы собирают псевдослучайную информацию (движение мышки, нажатие клавиш и т.п.) в определенный файл (/dev/random). Можно воспользоваться онлайн-генераторами (http://random.org), однако алгоритмы их работы, как правило, не опубликованы.

    • Одноразовые пароли (One-Time Password, OTP) - это одно из средств решения задачи аутентификации пользователей. Ключевым свойством OTP является то, что пароль действует только для одного процесса аутентификации и в ограниченном промежутке времени. Данное свойство позволяет эффективно противостоять возможной компрометации пароля во время использования. Современные реализации таких систем строятся на основе электронных брелков (http://www.aladdin-rd.ru/catalog/etoken/otp/ , http://www.rsa.com/node.aspx?id=1215). Существуют различные схемы работы системы OTP, в самой простой из них сервер и клиентское устройство ведут счет уже полученных паролей и для новой аутентификации на обоих сторонах генерируется одинаковое случайное значение - пароль.

    • Для решения задачи соединения компьютеров в безопасную сеть в рамках общедоступной сети существует стандартный способ – организовать VPN с закрытым трафиком с помощью протокола IPSec. Способ хороший, но для частного использования, например двух компьютеров, может быть слишком громоздким. Можно использовать более простое решение – туннелирование. Организовать его не сложно: ставится сервер ssh. Для linux систем это не проблема, для Windows можно использовать freeSSHd (www.freesshd.com). Далее настраиваем туннель. Для linux способов много, для Windows можно использовать бесплатный клиент Putty, у которого существует возможность настройки туннеля. После успешной настройки трафик между двумя компьютерами (ftp, http, icq, и т.д.) можно направлять через зашифрованный канал ssh.

    • C паролями на архивы ситуация существенно зависит от программы архивации. Как правило, ни один архиватор пароль для архива в самом архиве не хранит. Шифруется, в основном, уже архивированный файл. Основная атака на архиваторы с паролем - это атака с известным открытым текстом, т.е. одним из файлов архива. Для наиболее известных архиваторов положение следующее: ARJ – не стойкий, любая длинна пароля вскрывается; ZIP – не стойкий, если только не используется AES; RAR – ранние версии уязвимы, версия 3.0 и старше использует в качестве шифра AES и достаточно стойки при хорошем пароле. Что касается Word и MS Office, то здесь ситуация схожая. Ранние версии офиса уязвимы и пароли легко вскрываются. Версии программы, начиная с Office XP/2003, содержат возможность установки более-менее стойкого пароля на открытие файлов, однако по умолчанию стоит пароль 40 бит, что очень опасно.

    • Вопрос о грамотной политике своих паролей не прост. Следует сказать, что скорость и возможность перебора паролей сильно зависит от того, кто и какой пароль подбирает. Например, если злоумышленник хорошо знает автора пароля, то, попробовав около 20 вариантов (например номер машины, имя жены, дни рождения или номер телефона) злоумышленник может добиться успеха. Следует так же заметить, что большое количество программ получают пароли в открытом виде, что облегчает задачу перехвата. Скорость перебора паролей сильно зависит от самого приложения, для которого он осуществляется. Приложение может содержать защиту от перебора, что очень осложнит сам перебор, однако нельзя забывать, что злоумышленник может украсть базу паролей и спокойно перебирать ее дома на своем компьютере. Тем не менее, скорость перебора иногда может достигать десятков миллионов вариантов в секунду. А значит, пароль из 5 символов очень слаб. Несложно посчитать, что для такой скорости и латинского алфавита из больших и малых букв (52 символа) время полного перебора 10 символьного пароля составит (52^10)/10000000/3600/24/365 = 458 лет. Для 6 символов время составит 33 минуты! Как выбирать хороший пароль смотрите в отдельной статье.

    • Если грамотно подходить к вопросу обеспечения безопасности своей точки доступа или WiFi канала, то проблем можно избежать. Дело в том, что протокол WEP (Wired Equivalent Privacy) - устаревший протокол обеспечения безопасности беспроводной IEEE 802.11 сети, имеет существенные уязвимости и использовать его на практике категорически не рекомендуется. В качестве замены протокола WEP был разработан сначала протокол WPA, а затем и протокол WPA2. Для обеспечения достаточного уровня безопасности беспроводной сети рекомендуется использовать протокол WPA2, режим шифрования AES и режим аутентификация либо PSK (предварительно распределенный ключ) для личного использования либо аутентификацию EAP. Более подробно о протоколах обеспечения безопасности сетей Wi-Fi смотрите в статье Wi-Fi - защита беспроводных сетей. В любом случае, когда используете общественную точку доступа даже с применением WPA - будте бдительны, не передовайте конфиденциальную информацию в открытом виде.

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

    • Это опасно! В этой ситуации возможны два случая. Первый, самый распространенный и менее опасный. Поддавшись российской привычке к халяве, или просто по неспособности, владельцы сайта не удосужились изготовить верный сертификат и продлевать его должным образом. Вместо этого они изготовили самоподписной сертификат и установили его на сайт (обычно он еще и просроченный). Это связано с тем, что для изготовления верного (валидного) сертификата необходимо его подписать в некотором Удостоверяющем Центре, а это, как правило, стоит денег. И второй, более опасный случай. Существует атака на протокол TLS методом «человек посередине» (Man-in-the-middle attack). Атака сводиться к тому, что злоумышленник подменяет собой сервер назначения (например gmail.com), использует свой самоподписной или просто «не верный» сертификат и предлагает его Вам в качестве сертификата сервера. Если вы игнорируете предупреждение браузера об опасности и соглашаетесь на начало сессии TLS, вы начинаете общение с компьютером злоумышленника по как бы защищенному каналу и рассказываете ему все свои «пароли и явки»