Surveillance
Self-Defense

Безопасность в интернете – ваш конёк?

  • Безопасность в интернете – ваш конёк?

    Советы для продвинутых помогут повысить ваш уровень.

    Поздравляем! Вы уже предприняли меры, чтобы повысить безопасность своих онлайновых коммуникаций. Хотите перейти на новый уровень? Этот урок вам поможет. Вы научитесь оценивать риски, проверять личности тех, с кем поддерживаете связь в интернете, и сможете добавить что-то новенькое в свою коллекцию инструментов.

  • Оценка рисков

    В постоянных попытках защитить все свои данные сразу от всех людей в мире, вы рискуете потратить свои силы и время впустую. Однако, не стоит расстраиваться! Обеспечение безопасности данных – это процесс, в котором вы, тщательно обдумав план действий, непременно найдёте подходящее решение. Безопасность зависит не столько от количества используемых вами инструментов или скачанных программ, сколько от понимания с какими именно угрозами вы сталкиваетесь и что конкретно может вам помочь в борьбе с этими угрозами.

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

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

    Так как же производится моделирование угроз? Например, если вам необходимо организовать защиту своего дома и имущества, то вам придется задать самому себе несколько вопросов:

    Что в моем доме нуждается в защите?

    • Это могут быть драгоценности, электроника, финансовые документы, паспорта или фотографии.

    От кого я хочу это все защитить?

    • Злоумышленниками могут быть воры, соседи по комнате или гости.

    Какова вероятность того, что мне придется защищать свое имущество?

    • Соседей обворовывали в недавнем прошлом? Могу ли я доверять своим соседям и гостям? Каковы возможности потенциальных злоумышленников? Какие риски я должен принять во внимание?

    Насколько серьёзны будут последствия неудачи при защите имущества?

    • Найдутся ли у меня время и деньги на замену утраченного имущества? Какое имущество я не смогу заменить вовсе? Имеется ли страховка на случай если моё имущество будет украдено?

    На что я готов пойти для того чтобы избежать подобных последствий?

    • Хочу ли я купить сейф для важных документов? Могу ли я позволить себе покупку высококачественного замка? Найду ли время арендовать ячейку в банке для хранения ценностей??

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

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

    Что такое моделирование угроз и с чего мне начать?

    Моделирование угроз поможет вам выявить угрозу ценным для вас вещам и определить, от кого именно эта угроза исходит. При построении модели угроз, ответьте на следующие вопросы:

    1. Что я хочу защитить?
    2. От кого мне нужно это защитить?
    3. Что случиться плохого если мне не удастся это защитить?
    4. Какова вероятность того, что мне придется это защищать?
    5. На что я готов пойти, чтобы предотвратить потенциальные последствия

    Давайте подробно разберем каждый из этих вопросов.

    Что я хочу защитить?

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

    Составьте список ваших ресурсов: данных, которые вы храните; мест, где они находятся; людей, имеющих к ним доступ; и того, что предотвращает несанкционированный доступ к этим данным.

    От кого мне нужно это защитить?

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

    Составьте список злоумышленников, или тех, кто хотел бы заполучить ваши ресурсы. В вашем списке могут оказаться как частные лица, так и правительственные организации или корпорации.

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

    Что случится плохого если мне не удастся это защитить?

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

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

    Моделирование угроз включает в себя также и осознание последствий в случае, если злоумышленник всё-таки получит доступ к вашим данным или ресурсам. Для определения последствий вам необходимо принять во внимание потенциал злоумышленников. Оператор сотовой связи, например, имеет доступ ко всем вашим телефонным разговорам. Таким образом, он сможет использовать эти данные против вас. Хакер в открытой сети Wi-Fi сможет получить доступ к данным, передающимся в открытом виде. В то же время, правительственные службы имеют гораздо большие возможности.

    Запишите, что по-вашему злоумышленник может сделать, получив доступ к вашим конфиденциальным данным.

    Какова вероятность того что мне придется это защищать?

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

    Важно делать различие между угрозой и риском. Угроза – это прискорбное событие, которое может случиться, а риск – это вероятность наступления подобного события. Например, если существует угроза обрушения вашего здания, риск этого события будет гораздо выше если здание находится в Токио (там землетрясения – это обычное дело), а не в Москве (где они крайне редки).

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

    Запишите какие угрозы вы воспринимаете всерьёз. Также составьте список угроз, о которых можно не думать, потому что вероятность их появления достаточно низка, или с ними будет слишком тяжело и опасно бороться.

    На что я готов пойти, чтобы предотвратить потенциальные последствия?

    Ответ на этот вопрос требует проведения анализа рисков. У разных людей различные приоритеты и разные взгляды на существующие угрозы.

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

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

    Моделирование угроз на регулярной основе

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

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

    Последнее обновление: 
    10-01-2019
  • Выбор средств цифровой защиты

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

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

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

    Безопасность – процесс, её нельзя просто купить

    Подумываете сменить программу или купить новую?

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

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

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

    Насколько прозрачен данный инструмент?

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

    Те, кто заботится о своей цифровой безопасности, обычно используют сами (и рекомендуют использовать другим) бесплатные программы с открытым исходным кодом. Иными словами, код, на котором написана программа, является общедоступным. Любой желающий может его изучать, изменять и распространять. Обеспечивая прозрачность, разработчики говорят пользователям: «Давайте вместе искать недостатки и работать над улучшением программы!»

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

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

    Насколько чётко разработчики изложили преимущества и недостатки своего продукта?

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

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

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

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

    Что произойдёт если разработчики окажутся скомпрометированы?

    Когда разработчик создаёт продукт, то он, как и вы, должен иметь чёткую модель угроз. Лучшие разработчики подробно рассказывают в документации, от каких угроз они способны вас защитить.

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

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

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

    Был ли данный продукт отозван разработчиком, подвергался ли он критике в сети интернет?

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

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

    Телефон какой марки мне стоит купить? Какой компьютер?

    Специалисты по безопасности нередко слышат вопросы вроде «Что выбрать – телефон на Android или iPhone?», «Какой компьютер купить – PC или Mac?», «Какая операционная система лучше?». Простых ответов нет. Пользователи обнаруживают ошибки, эти ошибки исправляются, безопасность программ и устройств относительна и всё время меняется. Компании могут конкурировать за услуги в области безопасности или быть под давлением властей, которые стремятся её ослабить.

    Некоторые общие рекомендации почти всегда верны. При покупке устройства или операционной системы необходимо скачивать актуальные обновления. Они зачастую исправляют в старом программном коде связанные с безопасностью ошибки, которые используют злоумышленники. Обратите внимание на то, что обновления (даже связанные с безопасностью) для некоторых старых телефонов или операционных систем могут уже не выпускаться производителем. В частности, компания Microsoft объявила о прекращении всяческой поддержки Windows (включая исправления серьёзных проблем с безопасностью) для версий Vista, XP и более ранних. Это означает, что при использовании одной из этих версий Windows вы не сможете рассчитывать на защиту от атак злоумышленников. Аналогично компания Apple поступила и с версиями OS X младше 10.11 (El Capitan).

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

    Инструменты, упомянутые в этом руководстве

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

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

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

    Последнее обновление: 
    29-10-2018
  • Верификация ключей

    При правильной организации шифрования письмо могут прочитать только отправитель и получатель. Сквозное шифрование защищает данные от перехвата третьим лицом, но что насчёт адресата? Вы уверены, что общаетесь с нужным человеком? Узнать это поможет верификация открытых ключей. Она добавляет ещё один уровень защиты: вы и ваш собеседник можете подтвердить друг другу свои личности.

    Верификация ключей – одно из обычных свойств протоколов сквозного шифрования, таких как PGP и OTR. По сигналу, они называются "safety numbers." Чтобы без помех верифицировать ключи, рекомендуем использовать альтернативный канал связи (не тот, по которому вы передаёте шифрованную информацию). Например, для верификации отпечатков OTR в качестве такого канала можно использовать электронную почту.

    Верификация по альтернативному каналу

    Есть несколько способов. Идеальный вариант – личная встреча, если она удобна всем участникам и не создаёт угрозы безопасности. Такая верификация часто происходит на вечеринках подписания ключей или среди коллег.

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

    Какая бы программа у вас ни была, вы всегда сможете определить свой ключ и найти ключ собеседника.

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

    Совет: попробуйте верифицировать ключи с одним из ваших друзей. О том, как это сделать в конкретной программе, обратитесь к руководству по её использованию.

    Последнее обновление: 
    13-01-2017
  • Ключевые понятия в шифровании

    Иногда процесс шифрования является достаточно простым и автоматическим. Но иногда в нём случаются сбои. Чем больше вы знаете о шифровании, тем в большей безопасности вы будете при возникновении подобных ситуаций. Для начала, если вы этого ещё не сделали, рекомендуем ознакомиться с руководством «Что я должен знать о шифровании?»

    В настоящем руководстве мы рассмотрим пять основных идей. Это важные понятия о процессе шифрования:

    Шифр и ключ

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

    Каковы отличия чего-то зашифрованного от непонятного?

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

    Шифр — это набор правил (алгоритм), используемый при шифровании и расшифровывании. Это чётко определённые, выраженные в виде формулы правила, которым необходимо следовать.

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

    Один ключ или несколько?

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

    Старые способы шифрования были симметричными. В «шифре Цезаря», использованном Юлием Цезарем, ключом для шифрования и для расшифровывания сообщений был сдвиг по алфавиту на три символа. Например, символ «A» будет изменён на «Г». Сообщение «ШИФРОВАНИЕ — ЭТО КРУТО» превратится с помощью этого ключа («три») в «ЫЛЧУСЕГРЛЗ АХС НУЦХС». Тот же самый ключ используется и для расшифровывания сообщения обратно в исходный вид.

    Симметричное шифрование все ещё применяется сегодня. Оно часто существует в форме «потоковых» и «блочных шифров», которые используют сложные математические процессы для усложнения взлома. В настоящее время процесс шифрования данных проходит в несколько этапов, максимально усложняя извлечение исходных данных при отсутствии подходящего ключа. Современные алгоритмы симметричного шифрования, такие как алгоритм Advanced Encryption Standard (AES), являются надёжными и быстрыми. Симметричное шифрование широко используется компьютерами для таких задач, как шифрование файлов, разделов жёстких дисков на компьютере, полного шифрования дисков и устройств, а также шифрования баз данных, например в менеджерах паролей. При расшифровывании информации, зашифрованной с помощью симметричного шифрования, у вас будут запрашивать пароль. Именно поэтому мы рекомендуем использовать надёжные пароли и предоставляем пособие по созданию надёжных паролей для защиты зашифрованной информации.

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

    Асимметричное шифрование, также называемое шифрованием с открытым ключом, решает эти проблемы. Асимметричное шифрование использует два ключа: закрытый ключ (для расшифровывания) и открытый ключ (для шифрования).

    Симметричное шифрование

    Асимметричное шифрование

    • Быстрое
    • Медленное
    • Не требует больших вычислительных мощностей
    • Требует больших вычислительных мощностей
    • Используется для шифрования как больших, так и маленьких сообщений
    • Используется для шифрования небольших сообщений
    • Необходим обмен ключами как для шифрования, так и для расшифровывания
    • Ключом для расшифровывания делиться нельзя, необходимо передать лишь открытый ключ, используемый для шифрования
    • Не может использоваться для проверки личности (аутентификации)
    • Может использоваться для проверки личности (аутентификации)

    Симметричное и асимметричное шифрование часто используются совместно для шифрования при передаче данных.

    Асимметричное шифрование: закрытые и открытые ключи

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

    Несмотря на своё название, открытый ключ не используется для открытия чего-либо (в отличии от реального ключа). Его предназначение заключается в другом. Более подробную информацию о работе открытых и закрытых ключей вы можете найти в нашем руководстве «Глубокое погружение в мир сквозного шифрования».

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

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

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

    Открытый ключ

    Закрытый ключ

    • Файл, который можно свободно распространять, в том числе и через интернет
    • Файл, который должен надёжно храниться в безопасном месте
    • Отправителю необходим открытый ключ получателя для того, чтобы зашифровать отправляемую информацию
    • Используется для расшифровывания сообщений, зашифрованных с помощью соответствующего открытого ключа
    • Представлен так называемым «отпечатком» открытого ключа, который можно использовать для подтверждения личности (аутентификации)
    • Используется для цифровых подписей, позволяя проверить личность отправителя (аутентификация)
    • При желании может быть размещён в постоянных общедоступных базах данных - «серверах ключей», доступных при использовании программного обеспечения PGP (зашифрованной электронной почты)
     

    Можно сказать, что, отправляя информацию по каналам связи, вы будто отправляете обычную почтовую открытку. На открытке отправитель напишет «Привет!» и отправит её получателю. Сообщение не зашифровано, и поэтому сотрудники почты и вообще все, кому в руки попадёт открытка, смогут прочитать это сообщение.

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

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

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

    Для кого вы шифруете? Является ли он тем, кем представился?

    Теперь у вас может возникнуть вполне резонный вопрос: «Понятно, что мой открытый ключ позволяет кому-то отправлять мне зашифрованное сообщение, а мой закрытый ключ позволяет прочитать это зашифрованное сообщение. Но что, если кто-то притворяется мной? Что, если кто-то создаст новые открытый и закрытый ключи и станет выдавать себя за меня?»

    Именно здесь и раскрывается польза шифрования с открытым ключом. Вы можете подтвердить свою личность и проверить личность собеседника. Давайте подробно рассмотрим возможности использования закрытого ключа.

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

    Получатель увидит вашу цифровую подпись вместе с сообщением и сравнит её с данными, указанными в вашем открытом ключе.

    Давайте посмотрим, как это работает на практике.

    Проверка личности для людей (отпечаток открытого ключа)

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

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

    Открытый ключ — это файл с огромным количеством символов. Но существует и удобный для чтения «отпечаток ключа», соответствующий данному ключу.

    В области компьютерной безопасности слово «отпечаток» имеет множество значений.

    Одним из вариантов употребления этого слова является «отпечаток ключа» — строка с символами вида «65834 02604 86283 29728 37069 98932 73120 14774 81777 73663 16574 23234». Эта строка позволяет с абсолютной уверенностью утверждать, что ваш собеседник использует правильный закрытый ключ.

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

    С помощью так называемой «проверки отпечатков» вы можете убедиться в том, что человек, представляющийся кем-то в сети, действительно им и является.

    Лучше всего подобную проверку проводить при личной встрече. Вашему собеседнику необходимо посимвольно сравнить отпечаток вашего открытого ключа, находящегося на вашем устройстве, с отпечатком вашего же ключа, но находящегося у него. Несмотря на утомительность проверки такой длинной строки символов («342e 2309 bd20 0912 ff10 6c63 2192 1928»), её необходимо провести. Если вы не можете встретиться лично, можно передать свой отпечаток через другой защищённый канал связи, например через другой использующий сквозное шифрование мессенджер или чат, или разместить отпечаток на сайте HTTPS.

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

    Итог: возможности шифрования с открытым ключом

    Использование шифрования с открытым ключом может предоставить пользователям:

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

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

    Целостность: сообщение, зашифрованное или подписанное с помощью шифрования с открытым ключом, как правило, не может быть подделано; иначе оно не будет расшифровано, либо авторство сообщения не будет подтверждено. Это означает, что даже непреднамеренное искажение сообщения (например, из-за проблем со связью) будет обнаружено.

    Проверка личности для веб-сайтов и сервисов (сертификаты безопасности)

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

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

    Ниже вы можете увидеть пример сертификата безопасности нашего сайта, открытого в стандартном браузере. Информацию о сертификате безопасности можно просмотреть, нажав на значок замка в строке адреса HTTPS браузера и затем выбрав «сведения о сертификате».

    Браузер на компьютере может шифровать подключение к сайту, используя HTTPS. Сайты часто используют сертификаты безопасности, чтобы показать браузеру свою подлинность и обеспечение безопасного подключения. Благодаря этому можно быть уверенным в том, что никто не сможет изменить передающиеся данные. Браузеры проверяют эти сертификаты на соответствие открытым ключам доменных имён (например www.google.com, www.amazon.com или ssd.eff.org). Сертификаты являются одним из способов определения безопасности общения с человеком или сайтом – соответствует ли данный открытый ключ этому сайту или человеку. А каким образом компьютер узнает, какой именно открытый ключ является подходящим для посещаемых сайтов?

    Современные браузеры и операционные системы используют список доверенных центров сертификации (Certification authority, CA). Открытые ключи из этих центров сертификации уже будут у вас при установке браузера или покупке компьютера. Центры сертификации подписывают открытый ключ сайта лишь после того, как они удостоверились в том, что этот сайт на законных основаниях владеет доменом (например, www.example.com). Открывая HTTPS-сайт, браузер проверяет предоставленный этим сайтом сертификат на наличие подписи надёжного центра сертификации. Это значит, что сторонняя организация, которой можно доверять, подтверждает подлинность данного сайта.

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

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

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

    Итог: симметричные и асимметричные ключи, отпечатки открытых ключей.

    Пример рукопожатия безопасности транспортного уровня (TLS handshake)

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

    Рассмотрим конкретный пример совместной работы этих способов шифрования при подключении к данному сайту (https://ssd.eff.org/), использующему протокол HTTPS.

    Открывая HTTPS-сайт, браузер и сервер сайта совершают очень быстрый обмен некоторыми данными. Этот процесс называется «рукопожатием» (handshake). Браузер (Google Chrome, Mozilla Firefox, Tor Browser и т.д.) общается с сервером (компьютером), на котором расположен наш сайт - https://ssd.eff.org.

    При осуществлении рукопожатия браузер и сервер отправляют друг другу запросы для определения общих настроек алгоритмов шифрования (наборов шифров). Вы можете представить себе это как оживлённую беседу между вашим браузером и нашим сервером ssd.eff.org об известных им методах шифрования, об их предпочтениях в выборе метода и о том, какой метод шифрования им обоим следует применить при общении. «Знакомо ли нам обоим совместное использование асимметричного алгоритма (RSA) с симметричным алгоритмом (AES)? Да, хорошо. Если же с этой комбинацией алгоритмов шифрования мы не знакомы, какие другие алгоритмы шифрования мы знаем?»

    Затем ваш браузер, используя асимметричное шифрование, отправляет сертификат открытого ключа на ssd.eff.org в доказательство того, что вы действительно являетесь тем, за кого себя выдаёте. Сервер сайта проверяет этот сертификат открытого ключа на соответствие вашему открытому ключу. Это происходит в целях предотвращения перехвата соединения злоумышленником.

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

    Если этот симметричный ключ работает, то браузер и сервер веб-сайта используют его для дальнейшего шифрования данных. Этот обмен данными является рукопожатием TLS. Таким образом, если рукопожатие прошло корректно, то ваше подключение обозначается как безопасное соответствующим значком в адресной строке браузера рядом с названием HTTPS-сайта ssd.eff.org.

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

    Последнее обновление: 
    26-11-2018
  • Глубокое погружение в мир сквозного шифрования: принципы работы систем криптографии с открытым ключом

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

    За последние несколько лет популярность инструментов сквозного шифрования значительно возросла. Инструменты для безопасного обмена сообщениями, такие как Signal (для iOS или Android), используемые для голосовых и видеозвонков, чатов и обмена файлами, являются отличными примерами приложений, использующих сквозное шифрование для кодирования сообщений. Эти инструменты превращают сообщения в нечитаемую форму как для шпионов в сети, так и для самих поставщиков услуг.

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

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

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

    Что делает шифрование?

    Схема работы шифрования при отправлении тайного послания:

    1. Ясно читаемое сообщение («Привет, мама») зашифровано и превращено в сообщение, которое никому не будет понятно («OhsieW5ge+osh1aehah6»).
    2. Зашифрованное сообщение отправлено через интернет, где посторонние смогут увидеть лишь «OhsieW5ge+osh1aehah6».
    3. По прибытию к предполагаемому получателю только он будет обладает способом превращения послания обратно в исходное сообщение («Привет, мама»).

    Симметричное шифрование: история передачи тайного послания с помощью одного ключа

    Юлия хочет отправить своему другу Сезару записку с текстом: «Встретимся в саду» (meet me in the garden). Но она бы не хотела, чтобы её одноклассники увидели это послание.

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

    Юлия решает зашифровать своё сообщение с помощью ключа 3, сдвигая буквы алфавита по порядку на 3. Таким образом буква «А» стала буквой «Г», буква «Б» стала «Д» и т.д. Если Юлия и Сезар просто будут использовать этот ключ для шифрования и расшифровывания сообщений, этот код будет легко взломать. Кто-либо сможет путём перебора возможных комбинаций установить подходящий ключ. Другими словами, можно настойчиво пытаться угадать ключ до тех пор, пока сообщение не будет расшифровано.

    Способ сдвига букв алфавита на три символа является историческим примером шифрования, использовавшегося Юлием Цезарем. Этот способ называется «Шифр Цезаря». Когда один и тот же ключ используется для шифрования и расшифровывания (как в указанном примере, где ключом является цифра 3), то шифрование называется симметричным.

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

    Тем не менее симметричное шифрование не поможет, если кто-то украдёт ключ для расшифровывания сообщений Юлии и Сезара (можно просто подслушать его, когда кто-либо из них скажет другому, что ключ для расшифровывания это «3»). А что, если Юлия и Сезар находятся в разных странах и не могут лично встретиться?

    Как Сезар и Юлия могут решить эту проблему?

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

    Шифрование с открытым ключом: сказание о двух ключах

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

    Криптография с открытым ключом (именуемая также асимметричной криптографией) имеет изящное решение этой проблемы. Шифрование с открытым ключом предполагает создание каждым собеседником пары ключей – открытого ключа (public key) и закрытого ключа (private key). Эти два ключа связаны друг с другом и являются очень большими числами с определёнными математическими свойствами. Если вы зашифруете сообщение, используя открытый ключ собеседника, расшифровать это сообщение можно лишь с помощью соответствующего закрытого ключа.

    Сейчас вместо передачи записок Юлия и Сезар обмениваются зашифрованными сообщениями через компьютеры, используя при этом открытые ключи шифрования. Их одноклассники, передающие записки с парты на парту, заменены компьютерами. Однако между Юлией и Сезаром есть такие же посредники – их точки доступа Wi-Fi, интернет провайдеры, почтовые сервера. В реальности между Юлией и Сезаром могут находиться сотни компьютеров, обслуживающих их общение. Эти посредники каждый раз делают копии сообщений Юлии и Сезара и хранят их.

    Юлия и Сезар не против того, чтобы посредники знали, что они общаются, но хотели бы оставить содержание своего общения в тайне.

    Для начала Юлии необходимо получить открытый ключ Сезара. Он отправляет свой открытый ключ (в виде файла) по незащищённому каналу связи, например в незашифрованном сообщении электронной почты. Он не против того, чтобы посредники получили доступ к его открытому ключу, потому что открытый ключ может свободно распространяться. Имейте в виду, что здесь метафора с ключом перестаёт быть подходящей – не нужно отождествлять открытый ключ с реальным ключом от замка. Сезар отправляет свой открытый ключ по множеству каналов связи, поэтому посредник не сможет подменить его на свой открытый ключ, отправив его Юлии вместо подлинного.

    Юлия получает файл, содержащий открытый ключ Сезара. И теперь она может зашифровать своё сообщение Сезару этим ключом! Она пишет в сообщении: «Встретимся в саду».

    Она отправляет зашифрованное сообщение. И оно зашифровано лишь для Сезара.

    И Юлия и Сезар смогут прочесть сообщение, но для всех остальных оно будет выглядеть как бред. Посредники смогут видеть метаданные письма, например строку «тема», дату и время отправки, адреса отправителя и получателя сообщения.

    Так как сообщение зашифровано с помощью открытого ключа Сезара, прочитать сообщение смогут лишь сам Сезар и отправитель (Юлия).

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

    Подведём итог:

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

    Другая проблема: если злоумышленник захочет выдать себя за вашего собеседника?

    В нашем примере с Юлией и Сезаром посредники постоянно способны получать метаданные.

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

    Допустим, этот злоумышленник смог обмануть Юлию, и она получила подложный файл открытого ключа «Сезара». Юлия не заметила, что это на самом деле не открытый ключ Сезара. Злоумышленник получает сообщение Юлии, просматривает его и передает дальше Сезару.

    Злоумышленник может даже изменить содержимое сообщения (файла) перед тем, как передать его Сезару.

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

    Это называется «атакой посредника», где посредником может оказаться человек либо компьютер.

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

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

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

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

    В данном примере Сезар отправляет отпечаток своего открытого ключа Юлии с помощью смартфона, используя при этом другое приложение со сквозным шифрованием.

    Напомним:

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

    Не забудьте подписаться!

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

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

    Какова польза от этого? На первый взгляд кажется, что преимуществ в шифровании сообщений своим закрытым ключом нет никаких, ведь их сможет расшифровать любой, у кого окажется открытый ключ. Но представьте, что вы напишите в сообщении: «Я должен заплатить Борису 100 долларов», а затем зашифруете его своим закрытым ключом. Расшифровать это сообщение сможет любой, у кого окажется ваш открытый ключ. Однако написать данное сообщение могли только вы – обладатель закрытого ключа, при условии, что вы надёжно храните свой закрытый ключ. В результате, подписав сообщение своим закрытым ключом, вы подтверждаете, что данное сообщение могло быть отправлено только вами. Другими словами, с цифровым сообщением вы делаете то же самое, что и с обычным письмом на бумаге, когда подписываете его.

    Подписывая письмо, вы также защищаете его от внесения в него изменений со стороны злоумышленника. Если кто-либо изменит содержимое сообщения с «Я должен заплатить Борису 100 долларов» на «Я должен заплатить Владимиру 100 долларов», то он не сможет снова подписать это сообщение вашим закрытым ключом. Таким образом, подписывая письмо закрытым ключом, вы гарантируете, что сообщение действительно пришло от вас и что в пути следования в него не было внесено никаких изменений.

    Повторим: использование шифрования с открытым ключом

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

    Если другим людям известен ваш открытый ключ:

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

    Если вы знаете чей-то открытый ключ:

    • Вы сможете расшифровать сообщение, подписанное этим человеком, и быть уверенным в том, что это сообщение могло прийти лишь от него.

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

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

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

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

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

    Обзор шифрования (криптографии) с открытым ключом и конкретный пример: PGP.

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

    PGP является протоколом, использующим как симметричную криптографию, так и криптографию с открытым ключом (асимметричную). Использование сквозного шифрования, реализованного в PGP, позволит вам подробно изучить методы применения шифрования с открытым ключом.

    Чем являются эти ключи? И как они связаны друг с другом?

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

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

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

    Мы собираемся изучить процесс создания ключей в широко используемом алгоритме шифрования с открытым ключом, который называется RSA (Rivest-Shamir-Adleman). Алгоритм RSA часто используется для создания пар ключей для PGP-шифрования электронной почты.

    Открытый и закрытый ключи генерируются одновременно и связываются вместе. Оба ключа основаны на одних и тех же громадных простых числах, держащихся в секрете. Закрытый ключ — это представление двух таких чисел, вычисленное посредством определённого алгоритма. А открытый ключ – это произведение тех же двух чисел, которые использовались для создания закрытого ключа. Что удивительно, так это то, что очень трудно выяснить, какие именно два больших простых числа создали конкретный открытый ключ.

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

    А преимущество всего этого состоит в том, что люди могут делиться друг с другом своими открытыми ключами по незащищённым каналам! Но при этом свой закрытый ключ (алгоритмическое представление первоначальных простых чисел), используемый для расшифровывания сообщений, нельзя никому и никогда раскрывать.

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

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

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

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

    Как работает PGP

    Давайте ознакомимся с работой шифрования с открытым ключом на примере PGP. Допустим, вы хотите отправить Артёму секретное сообщение:

    1. У Артёма есть закрытый ключ и, как опытный пользователь шифрования с открытым ключом, он разместил соответствующий открытый ключ на своём (HTTPS) сайте.
    2. Вы скачиваете его открытый ключ.
    3. Вы зашифровываете сообщение для Артёма, используя его открытый ключ, и отправляете ему.
    4. Лишь Артём сможет расшифровать ваше сообщение, потому что только у него есть соответствующий закрытый ключ.

    PGP (Pretty Good Privacy) в основном занимается рутиной создания и использования открытых и закрытых ключей. С помощью PGP вы можете создать пару ключей (открытый и закрытый ключи), защитить закрытый ключ паролем и использовать его вместе с вашим открытым ключом для подписи и шифрования сообщений.

    Если из всего сказанного в данном руководстве нужно было бы выделить что-то одно, то это была бы фраза: храните свой закрытый ключ в надёжном месте и защитите его длинной парольной фразой.

    Метаданные. На что неспособно шифрование с открытым ключом

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

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

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

    Теперь, когда вы узнали о шифровании с открытым ключом, попробуйте использовать один из инструментов сквозного шифрования, например Signal для iOS или Android.

    Последнее обновление: 
    29-11-2018
  • Руководство по OTR для Mac

    Adium – программа для обмена мгновенными сообщениями. Adium бесплатный, с открытым кодом и работает в OS X. Он позволяет переписываться с пользователями различных протоколов обмена сообщениями в режиме реального времени, включая Google Hangouts, Yahoo! Messenger, Windows Live Messenger, AIM, ICQ и XMPP.

    OTR (от англ. Off-the-record) – протокол, который позволяет людям вести конфиденциальные беседы с помощью уже знакомых им инструментов. Не путайте OTR с функцией Google под названием «Off the record», которая просто выключает запись чата, ничего не шифрует и не позволяет проверять личность собеседника. Для Mac программное обеспечение OTR поставляется в комплекте с Adium.

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

    Зачем нужно использовать Adium вместе с OTR?

    Когда вы общаетесь с помощью Google Hangouts на сайтах Google ваш чат по умолчанию уже шифруется с помощью HTTPS. Иными словами, содержание чата защищено от злоумышленников и любых третьих лиц, пока информация находится в пути. Но чат не защищён от самой компании Google. Эта компания имеет шифровальные ключи для вашего чата и может передать их властям или использовать своих маркетинговых целях.

    После установки Adium вы сможете войти в программу, используя несколько учётных записей одновременно (например, Google Hangouts и XMPP). Adium позволяет общаться с помощью этих мессенджеров и без OTR. Защита OTR работает, только если оба собеседника используют эту технологию. Таким образом, даже если ваш собеседник не установил OTR, вы всё равно можете общаться с ним с помощью Adium.

    Adium также позволяет осуществлять проверку личности собеседника и по альтернативным каналам - во избежание атаки посредника. Для каждого сеанса можно увидеть отпечатки ключей – как вашего, так и собеседника. Отпечаток ключа – это строка символов, которая выглядит примерно так: 342e 2309 bd20 0912 ff10 6c63 2192 1928. Отпечаток используется для проверки более длинного открытого ключа. Обменяйтесь вашими отпечатками по другому каналу связи (например, через личные сообщения Twitter или по электронной почте) и удостоверьтесь, что никто не вмешивается в ваше общение. Если ключи не совпадают, вы не сможете быть уверены, что общаетесь с нужным человеком. На практике, люди часто используют несколько ключей, а также теряют их и им нужно создать новые, так что не удивляйтесь, если вам придется время от времени снова проводить верификацию для подтверждения ключа.

    Когда нет смысла использовать Adium + OTR?

    У специалистов есть термин для случая, когда программа или технология может быть уязвима для внешней атаки: «поверхность атаки». Adium имеет большую поверхность атаки. При написании этой сложной программы безопасность не ставили во главу угла. В программе почти наверняка есть ошибки. Некоторые из них могут быть использованы правительствами или даже крупными компаниями, чтобы проникнуть в компьютеры пользователей. Шифрование данных в Adium обеспечивает хороший уровень защиты от нецелевой слежки, то есть от попыток шпионить за всеми подряд. Если вы полагаете, что атака может быть направлена конкретно на вас и что злоумышленник обладает серьёзными ресурсами (например, на государственном уровне), следует рассмотреть более глубокие средства защиты, такие как PGP-шифрование электронной почты.

    Установка Adium + OTR на Mac

    Шаг 1. Установка программы

    Откройте в браузере https://adium.im/. Выберите «Download Adium 1.5.9». Файл .dmg будет скачан на ваш компьютер, скорее всего, в папку «Downloads».

    Запустите файл двойным щелчком мыши. Откроется примерно такое окошко:

    Перетащите значок «Adium» в папку «Applications», чтобы установить приложение. После установки найдите Adium в вашей папке программ и запустите его двойным щелчком мыши.

    Шаг 2. Настройка учётной записи

    Сперва нужно определиться какие сервисы или протоколы для обмена мгновенными сообщениями вы хотите использовать при помощи Adium? Для разных протоколов настройки похожи, но не идентичны. В любом случае понадобятся имя пользователя и пароль от выбранного сервиса.

    Чтобы настроить учётную запись, перейдите в меню Adium в верхней части экрана. Нажмите «Adium», затем «Preferences». Откроется окно с другим меню вверху. Выберите «Accounts», затем нажмите на значок «+» в нижней части окна. Вы увидите примерно такое меню:

    Выберите желаемый мессенджер. Вам будет предложено либо ввести имя пользователя и пароль, либо использовать инструмент авторизации программы Adium. Следуйте внимательно инструкциям программы.

    Защищённый OTR чат

    После активации в Adium одной или нескольких учётных записей можно пользоваться OTR.

    Чтобы вести беседу под защитой OTR, оба собеседника должны использовать программы с поддержкой этого протокола.

    Шаг 1. Начало чата

    Выясните, кто из ваших собеседников использует OTR, нажмите на его имя дважды и начните с этим человеком беседу в Adium. Перед началом беседы обратите внимание на маленькое изображение открытого замочка в левом верхнем углу. Нажмите на эту картинку и выберите «Initiate Encrypted OTR Chat».

    Шаг 2. Проверка соединения

    После запуска чата и получения согласия от другого пользователя вы увидите, что замочек на картинке закрылся. Поздравляем, теперь ваш чат зашифрован. Впрочем, остался ещё один шаг.

    Хотя чат и зашифрован, собеседникам следует подтвердить личности друг друга (если только вы не сидите в одной комнате). О том, почему это важно, рассказывается в главе о верификации ключей.

    Итак, нажмите в Adium на изображение замочка и выберите «Verify». Появится окно с ключами обоих собеседников (ваш и вашего друга). Некоторые версии Adium поддерживают только ручное подтверждение. Тогда вам обоим придётся найти способ сверить отображённые на ваших экранах ключи и убедиться, что они полностью совпадают.

    Простейший способ – прочитать отпечатки ключей друг другу вслух, но это не всегда возможно. Есть несколько способов решить эту задачу (разной надёжности). Например, можно прочитать ключи вслух по телефону. Способ подходит, если вы способны узнать голоса друг друга. Другой вариант – передать ключи по иному каналу связи, например, по электронной почте (с PGP-шифрованием). Некоторые публикуют свои ключи на веб-сайтах, в сообщениях Twitter и даже на визитных карточках.

    Очень важно внимательно проверить ключи на полное соответствие. Все символы должны совпадать.

    Шаг 3. Отключение журнала

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

    Чтобы отключить эту функцию , выберите пункт «Adium» в верхней части экрана, затем «Preferences». В открывшемся окне выберите «General» и деактивируйте функции «Log messages» и «Log OTR-secured chats». Помните, однако, что вы не имеете контроля над собеседником. Вполне возможно, что он будет сохранять вашу беседу в виде текста или снимков экрана.

    Теперь ваши настройки должны выглядеть примерно так:

    Когда Adium уведомляет о новых сообщениях, их содержимое может сохраняться в Центре уведомлений операционной системы OS X. Получается, Adium не оставляет следов о переписке на вашем компьютере и компьютере вашего собеседника, зато операционная система может вести запись. Стоит подумать об отключении уведомлений.

    Чтобы сделать это, выберите «Events» в окне «Preferences» и найдите записи «Display a notification». Для каждой записи откройте ниспадающее меню, нажав на серый треугольник, затем выберите недавно обнаруженную запись «Display a notification» и нажмите на значок минус («-») в нижней левой части окна, чтобы удалить строку. Если вы переживаете по поводу записей, которые были сохранены ранее на вашем компьютере, советуем использовать шифрование всего диска. Это защитит данные от третьих лиц, при условии, что у них не будет пароля.

    Последнее обновление: 
    19-01-2017
Next:
JavaScript license information