html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Об одной ошибке

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

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

Эта история произошла в середине 90-х годов. Я учился на 4-ом курсе КАИ, попутно подрабатывая на кафедре ПМ. Помню, что я писал что-то на FoxBase для одного из местных «свечных заводиков», совместно с несколькими сотрудниками института. Сама работа на кафедре способствовала тому, что я постоянно был на виду и, в один прекрасный момент, мне предложили поучаствовать в новом проекте, связанным с разработкой «железа», занимающегося криптографией. Разумеется, я согласился.

Конечно, все было не так просто
Мне дали задание. Подробно рассказали о разработанном Устройстве и попросили подготовить его описание для надвигающейся выставки. За одну ночь работы в институте (дома у меня тогда никакого компьютера, конечно, не было), на Turbo Pascal-е с ассемблерными вставками я подготовил «презентацию» с EGA-видеоэффектами, кучей текста и картинками, нарисованными Line-ами и Fill-ами. Потенциальный Работодатель слегка офигел от проявленного мной трудолюбия и вопрос о моем трудоустройстве был решен положительно.

Наша группа состояла из пары вполне квалифицированных криптологов, электронщиков и программистов. Я, как молодой специалист, занимался HAL-ом. Ничего особенного, C++ и немного x86-го ассемблера. В последующем, мы, всей группой, весьма удачно трудоустроились в РЦИ НБ РТ.

Вот как выглядело одно из наших изделий (ISA-карта со съемным ключем):




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

Соединялось все следующим образом:




Внутри ключа располагалась обычная ПЗУ-шка:




При выполнении шифрования, из ПЗУ, по заданному адресу в Устройство считывались 16 байт ключа (подряд), после чего, на основании этого ключа и случайной синхропосылки, генерировалась гамма, используемая для шифрования. Сам ключ на ПК никогда не передавался.

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

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

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

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

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

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

материал с habrahabr.ru

1

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции