БЛОГ

ГЕНЕРАТОРЫ СЛУЧАЙНЫХ ЧИСЕЛ, ПРИНЦИПЫ И ОСНОВЫ
МИНИМИЗАЦИЯ РИСКОВ
Санкт-Петербургский региональный центр защиты информации
Опубликовано в журнале "ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ПОДГОТОВКЕ ВОЕННОГО СПЕЦИАЛИСТА", Материалы IV Всероссийской научно-практической конференции с международным участием от 22 мая 2025 года
ГЕНЕРАТОРЫ СЛУЧАЙНЫХ ЧИСЕЛ, ПРИНЦИПЫ И ОСНОВЫ
В статье дано краткое введение в тему генераторов случайных чисел, включая основные понятия полезные для практической реализации и анализа таких систем со ссылками на актуальные международные стандарты и практики.
St. Petersburg Regional Information Protection Center
RANDOM NUMBER GENERATORS, PRINCIPLES AND FOUNDATIONS
The article presents a concise introduction to the topic of random number generators, introducing key concepts useful for practical applications and analysis of these systems with reference to contemporary practice and international standards.

Случайные числа и методы их генерации играют важную роль во многих областях науки и техники, в том числе в методах Монте-Карло и криптографии. Из-за разных сценариев применения “случайных” чисел к ним и их генераторам возникают различные требования. Для чисел это могут быть: качество многомерного равнораспределения, непредсказуемость, независимость и равнораспределение (IID) и отсутствие смещения (bias). Для генераторов случайных чисел (ГСЧ) такие требования могут включать скорость генерации, период повторения, физические размеры устройств и совместимость с технологическими процессами. Эти разные, часто конфликтующие, требования делают процесс разработки и тестирования генераторов, а также производимых ими чисел, нетривиальным. Особенно в автоматических режимах и на физических реализациях, находящихся под воздействием внешних пассивных и активных факторов.

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

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

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

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

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

Описание рисунка

Рис. 1 Типы генераторов случайных чисел

Детерминированные генераторы случайных чисел (ДГСЧ), синонимы: генератор псевдослучайных чисел, ГПСЧ, deterministic random number(/bit) generator DRNG(/DRBG)

Первый тип генераторов – “детерминированные” ГСЧ (ДГЧС), работающие по заданному алгоритму по принципу эпистемической неопределенности. Сам по себе генератор не имеет случайности и неопределенности – она закладывается через “инициализирующее значение” (seed) при запуске. Такие генераторы часто используются для методов Mонте-Kарло, где важна равномерность распределения и скорость генерации. В криптографических версиях ДГСЧ добавляются требования к непредсказуемости вывода генератора при наблюдении последовательности на выходе. Это ограничивает максимальное количество информации о состоянии генератора и его начальном значении, содержащейся в его выводе. Здесь случайность приравнивается к непредсказуемости. A непредсказуемость в свою очередь разбивается на два типа: прямая секретность (forward secrecy) - невозможность предсказать будущие выводы, и обратная секретность (backward secrecy) – невозможность предсказать прошлые значения, и тем самым, инициализирующее значение.

Недетерминированные генераторы случайных чисел (НГСЧ), синонимы: генератор истинно случайных чисел, ГИСЧ true random number generator, TRNG

Второй тип – это “недетерминированный” генератор случайных чисел (НГСЧ) или генератор “истинно” случайных чисел, который включает в себя два подкласса: «физические» и «нефизические» генераторы.

Физические генераторы случайных чисел (ФГСЧ), синонимы: физический датчик случайных чисел, ФДСЧ, physical random number generator, PTRNG.

Физические ГСЧ (ФГСЧ) получают случайность, измеряя физический процесс, и могут использоваться как трудно предсказуемые эпистемические, так и алеаторические физические системы. Ключевое свойство ФГСЧ состоит в том, что они предоставляют возможность контролировать параметры физического процесса и делать оценку качества генерируемой «случайности» ФГЧС.

Первый подтип ФГЧС часто называют «шумовики». В их основе стоят классические стохастические процессы из окружающей среды, такие как шумы в диодах Зенера [1], или фазовое дрожание в работе кольцевых генераторов [2, 3, 4]. Такие источники случайности могут иметь преимущество в малых габаритах и возможности их реализации на интегральных микросхемах, процессорах [5] или ПЛИС [6]. Однако из-за использования ими эпистемической неопределенности, характеристики таких ФГСЧ могут зависеть от внешних факторов, не находящихся под контролем разработчика, таких как дисперсия параметров физических реализаций и внешнее воздействие на них [7].

Второй подтип ФГЧС основан на алеаторической неопределенности, что часто приравнивается к использованию квантовых процессов, тем самым получая название «квантовые» ГСЧ [8]. Это играет важнейшую роль, так как позволяет в большей мере разделить реализацию и вариацию в параметрах измеряемой системы от свойств генерируемых последовательностей [3,9], подавляя неидеальные эффекты в процессе генерации случайных чисел. Часто такие ФГСЧ основаны на оптических системах [10,11,12] из-за удобства оптических технологий с точки зрения подавления внешних эффектов, детектирования и масштабируемости.

Компоненты случайного генератора

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

Описание рисунка

Рис 2. Компоненты ГЧС

Энтропия – это мера неопределенности случайной величины. Если ГСЧ создает последовательности символов из конечного алфавита (при оцифровке аналогового сигнала или с использованием НФГСЧ), то к нему применимо определение энтропии для дискретных величин:

Энтропия Шеннона (Shannon Entropy)

Для дискретной случайной переменной $X$ с вероятностью $P(X=x_i)=p_i$ энтропия Шеннона $H(X)$ определяется как:

$$ H(X) = \sum_i p_i \cdot \log_2 \frac{1}{p_i} = - \sum_i p_i \cdot \log_2 p_i \tag{1} $$

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

Минимальная энтропия (мин-энтропия, min-entropy)

Для дискретной случайной переменной $X$ с вероятностью $P(X=x_i)=p_i$ и максимальным значением вероятности $p_{\max}=\max(p_1,p_2,p_3,\ldots)$ минимальная энтропия $H_{\min}$ определена через логарифм максимальной вероятности:

$$ H_{\min}(X) = \log_2 \frac{1}{p_{\max}} = \log_2 p_{\max} \tag{2} $$

Мин-энтропия — это нижняя граница для энтропии Шеннона, а значит, она даёт более строгую оценку информации в случайной величине. Из-за этого свойства её чаще применяют при анализе ГСЧ.

$$ H_{\min}(X) \le H(X) \tag{3} $$

При работе генератора мы рассматриваем выходные биты как реализацию случайной величины. При использовании идеального источника, $n$ сгенерированных бит (независимых и равновероятных, с $p=0.5$) дают $n$ бит энтропии. Однако реальные источники энтропии неидеальны: у них есть смещения $(p \ne 0.5)$ и корреляции между битами. Из-за этого распределение $n$-битной последовательности отклоняется от равномерного (каждый вариант имеет вероятность $2^{-n}$), и фактическая энтропия становится меньше $n$. Определение характеристик источника, количества генерируемой энтропии и влияния параметров источника на производимую энтропию происходит в процессе валидации и тестирования, примеры которого описаны в NIST SP800-90B [13] и AIS 20/31 [14, 15]. Основной целью в таком процессе является определение наименьшего значения энтропии, производимой источником на один бит генерируемой последовательности в нормальных условиях работы генератора.

Оцифровка и пост-обработка

Для получения потока дискретных символов из физического датчика нужно сначала провести оцифровку сигнала, переводя непрерывную случайную величину в дискретную. Для разных типов физических систем существуют разные методы оцифровки, размер и сложность которых тесно связаны с типом измерения и его параметрами, включая скорость, точность и объем генерируемых данных. Математически, процесс представляет собой создание из непрерывного случайного процесса - дискретного, где процесс измерения определяет используемые трансформации. Тем самым для правильной оценки свойств источника энтропии важно учитывать не только саму физическую систему, но и процесс ее измерения. Вывод такого процесса, назовем – «сырыми» случайными числами (raw random numbers), которые могут, из-за корреляций и смещений, содержать низкое количество энтропии на один бит последовательности. Такой источник называется «слабым».

Для создания высококачественных случайных чисел из слабого источника, нужно повысить количество энтропии на один бит. Это достигается с использованием процедуры постобработки, часто называемой «экстрактом» [7, 16, 17]. Цель сконцентрировать энтропию из большого количества низко энтропийных битов в более малое количество высокоэнтропийных, минимизируя потери энтропии в процессе.

Примеры практических реализаций экстракторов даны в стандартах NIST SP800-90B [13], где приведен список рекомендаций по так называемым “vetted conditioning components” – экстракторам, использующим криптографические хэш функции и алгоритмы. Такие преобразования делают сложным обратную задачу получение оценки состояния источника энтропии, дают равномерное распределение в пространстве вывода, а также позволяют предотвратить манипуляцию вывода экстрактора через влияние на сам источник энтропии [2], используя лавинный эффект хэш функции. Экстракторы на основе resilient functions [18, 19] также могут обладать стойкостью к внешнему воздействию на источник

Также существует подход к созданию экстракторов на основе ДГСЧ и конструкции Тревисана [20, 21], где малое количество высококачественных битов используется для инициализации ДГСЧ, которая далее извлекает энтропию из низкоэнтропийного источника. Обобщение этой идеи позволяет создавать экстракторы, способные комбинировать несколько независимых низко-энтропийных источников в один высокоэнтропийный [13, 14]. Это имеет применения как в классических, так и в квантовых [22, 23] системах, а также для процесса “privacy amplification” [24] квантовых ключей при доступности некой информации о них внешнему наблюдателю.

Внутренние и внешние случайные числа

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

Если генератор не физический или смешивает несколько источников энтропии, то возможен вариант добавления обработанных битов в промежуточную структуру данных - пул энтропии (entropy pool), из которой уже создаются внутренние биты через процесс хэширования, либо через инициализацию ДГСЧ [25, 26]. Одна из систематик по возможным структурам ГЧС, их компонентам и категориям дана в немецком стандарте AIS 20/31 [27,15].

Верификация и тестирование генераторов

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

Одним из самых известных, но не достаточным, из подходов к тестированию генераторов являются батареи тестов на случайность. Наиболее известный набор тестов - NIST STS [28]. Эти тесты проверяют случайность чисел с помощью статистических критериев: они вычисляют pvalue, которое показывает вероятность получить столь же или более крайнее значение тестовой статистики при условии, что числа действительно случайны и равномерно распределены. Другие часто используемые тесты это Diehard [29], TestU01 [30], Dieharder [31] последний из которых доступен на системах Linux через стандартные системы управления пакетами, к примеру apt. Важно учесть, что статистические тесты не гарантируют случайность. Они могут быть пройдены уязвимым генератором [32] и, с определенной вероятностью, могут отбраковать идеальный генератор. Поэтому тестирование необходимо, но недостаточно для проверки и валидации ГСЧ.

Для физических генераторов частым требованием является обоснование принципа действия источника энтропии - самой физической системы, как до оцифровки, так и после. Такой процесс часто формализуется через определения “стохастической модели” для случайных чисел [27] с целью вычисления теоретического нижнего лимита на энтропию/минэнтропию. Часто из-за сложности физической системы генерирующей энтропию, создание полного описания статистической модели процесса невозможно, и допускается, что стохастическая модель описывает ключевые свойства системы с учетом возможной вариации в параметрах. Тем самым цель - определить класс вероятностных распределений, в которые будут входить истинное распределение случайных чисел в течение работы генератора, с учетом вариации в параметрах компонентов и при их старении. В лучшем случае, стохастическая модель должна описать “внутренние” случайные числа, но такое требование может быть слишком трудным к реализации, если процесс пост-обработки имеет сложные трансформации, например, функцию хэширования. Из-за этого, например в AIS 20/31 [27], требование для стохастической модели применяется только для сырых чисел, из которых формируется первичная оценка содержания энтропии.

В [13] оценка производимой энтропии в сырых числах зависит от типа источника с разделением на один из двух треков: iid track и non-iid track. А дальнейшее вычисление энтропии внутренних чисел зависит от типа постобработки и ее параметров - ширины вывода и минимальной внутренней ширины обрабатывающего блока

Тестирование в процессе работы

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

Важную роль также играет тестирование генератора в процессе его работы, так как здесь могут происходить ошибки, приводящие к частичной деградации или полному выходу из строя источника. Такие тесты можно разбить на три основных класса — стартовые, непрерывные и самотестирование. Стартовые тесты запускаются при начале работы или перезапуске генератора, их цель — детектировать «период разогрева» источника энтропии, не допуская выдачи случайных чисел перед тем, как источник будет готов к работе. Непрерывные тесты работают параллельно с процессом генерации. Их цель состоит в детектировании ошибок в производимых последовательностях чисел с малой вероятностью ложноположительных случаев (оценивается как $1$ на $2^{20}$ в [13]) и детектировании деградации качества производимой энтропии. Одним из таких тестов является тест на полный отказ (total failure test/TOT), определяющий критические отказы в источнике энтропии. Тесты самотестирования запускаются по внешнему запросу. Они также могут быть интегрированы в процесс запуска как часть стартовых тестов либо вызываться отдельно, возможно с другими параметрами.

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

Список литературы

  • Graf, Rudolf, and William Sheets. Encyclopedia of Electronic Circuits, Vol. 3. McGraw-Hill, Inc., 1990.
  • McNeill, John Arthur. "Jitter in ring oscillators." IEEE Journal of Solid-State Circuits 32.6 (1997): 870–879.
  • Stipčević, Mario, and Çetin Kaya Koç. "True random number generators." Open Problems in Mathematics and Computational Science. Cham: Springer International Publishing, 2014. 275–315.
  • Stephan Mueller, “Chronix Jitter Entropy Library”, Online: https://www.chronox.de/jent/
  • Hamburg, Mike, Paul Kocher, and Mark E. Marson. "Analysis of Intel’s Ivy Bridge digital random number generator." Online (2012).
  • Kohlbrenner, Paul, and Kris Gaj. "An embedded true random number generator for FPGAs." Proceedings of the 2004 ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays. 2004.
  • Markettos, A. Theodore, and Simon W. Moore. "The frequency injection attack on ring-oscillator-based true random number generators." International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 2009.
  • Herrero-Collantes, Miguel, and Juan Carlos Garcia-Escartin. "Quantum random number generators." Reviews of Modern Physics 89.1 (2017): 015004.
  • Arnon-Friedman, Rotem, et al. "Practical device-independent quantum cryptography via entropy accumulation." Nature Communications 9.1 (2018): 459.
  • Wayne, Michael A., and Paul G. Kwiat. "Low-bias high-speed quantum random number generator via shaped optical pulses." Optics Express 18.9 (2010): 9351–9357.
  • IDQ Quantis, “QRNG USB Product Brochure”, Online: www.idquantique.com/random-number-generation/products/quantis-random-number-generator/
  • Quintessence Labs, “qStream Product Brochure”, Online: www.info.quintessencelabs.com/hubfs/PDFs/QuintessenceLabs-qStream-Product-Sheet.pdf
  • Turan, Meltem Sonmez, et al. "NIST SP 800–90B: Recommendation for the entropy sources used for random bit generation." Technical Report, 2018.
  • Peter, M., and W. Schindler. "AIS20-31: A proposal for functionality classes for random number generators." 2022.
  • ТК26, “Перевод АИС 31”, Online: https://tc26.ru/standarts/perevody/perevod-ais31.html
  • Shaltiel, Ronen. "Recent developments in explicit constructions of extractors." Current Trends in Theoretical Computer Science (2004): 189–228.
  • Shaltiel, Ronen. "An introduction to randomness extractors." ICALP. Springer, 2011.
  • Sunar, Berk, William J. Martin, and Douglas R. Stinson. "A provably secure true random number generator with built-in tolerance to active attacks." IEEE Transactions on Computers 56.1 (2006): 109–119.
  • Kamp, Jesse, and David Zuckerman. "Deterministic extractors for bit-fixing sources and exposure-resilient cryptography." SIAM Journal on Computing 36.5 (2007): 1231–1247.
  • Trevisan, Luca. "Construction of extractors using pseudo-random generators." Proceedings of the 31st Annual ACM Symposium on Theory of Computing. 1999.
  • Mauerer, Wolfgang, Christopher Portmann, and Volkher B. Scholz. "A modular framework for randomness extraction based on Trevisan's construction." arXiv:1212.0520 (2012).
  • Foreman, Cameron, et al. "Cryptomite: A versatile and user-friendly library of randomness extractors." Quantum 9 (2025): 1584.
  • De, Anindya, et al. "Trevisan's extractor in the presence of quantum side information." SIAM Journal on Computing 41.4 (2012): 915–940.
  • Chung, Kai-Min, Xin Li, and Xiaodi Wu. "Multi-source randomness extractors against quantum side information, and their applications." arXiv:1411.2315 (2014).
  • Gutterman, Zvi, Benny Pinkas, and Tzachy Reinman. "Analysis of the Linux random number generator." IEEE Symposium on Security and Privacy. 2006.
  • Müller, Stephan. Documentation and Analysis of the Linux Random Number Generator. Federal Office for Information Security, 2020.
  • Killmann, Wolfgang, and Werner Schindler. "A proposal for functionality classes for random number generators." BDI, Bonn, 2011.
  • NIST SP 800-22. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications.
  • Marsaglia, George. "DIEHARD: a battery of tests of randomness." 1996.
  • L'Ecuyer, Pierre, and Richard Simard. "TestU01: A C library for empirical testing of random number generators." ACM Transactions on Mathematical Software 33.4 (2007).
  • Brown, Robert G., Dirk Eddelbuettel, and David Bauer. "Dieharder." Duke University Physics Department, 2018.
  • Saarinen, Markku-Juhani O. "SP800–22 and GM/T 0005–2012 tests: Clearly obsolete, possibly harmful." IEEE European Symposium on Security and Privacy Workshops, 2022.
Санкт-Петербургский региональный центр защиты информации
Опубликовано в журнале "ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ПОДГОТОВКЕ ВОЕННОГО СПЕЦИАЛИСТА", Материалы IV Всероссийской научно-практической конференции с международным участием от 22 мая 2025 года
МИНИМИЗАЦИЯ РИСКОВ РАСКРЫТИЯ ИНФОРМАЦИИ ОГРАНИЧЕННОГО ДОСТУПА ПРИ ИСПОЛЬЗОВАНИИ ФЛЭШ-НАКОПИТЕЛЕЙ
В статье рассмотрена возможность разработки программного обеспечения для флэш-накопителей, способствующая нераскрытию переносимых сведений не доверенному кругу лиц. Переносимые на флэш-накопителе, рассмотренном в данном контексте, сведения не должны содержать государственную тайну, но могут иметь ограниченный круг доступа.
St. Petersburg Regional Information Protection Center
MINIMIZING THE RISKS OF DISCLOSURE OF RESTRICTED ACCESS INFORMATION WHEN USING FLASH DRIVES
The article considers the possibility of developing software for flash drives, which contributes to the non-disclosure of portable information to an untrusted circle of people. The information carried on the flash drive considered in this context should not contain a state secret, but may have a limited range of access.

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

Рассмотрим угрозы и потенциальных нарушителей

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

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

Рассмотрим имеющиеся решения

В данный момент на рынке имеется множество программных, аппаратных и аппаратно-программных решений, которые полностью или частично обеспечивают нераскрытие информации ограниченного доступа, в том числе методами шифрования, установкой pin-кода на доступ к данным в USB, методами многократной перезаписи области памяти при удалении информации и др. Но одновременно с этим, имеющиеся решения не удовлетворяют критериям повседневного использования, а именно: не применять сложные действия и методы, требующие дополнительных затрат времени и средств. К примеру, программные (True Crypt, Vera Crypt) средства защиты данных на USB, помимо предварительной настройки комплекса системным администратором, требуют проводить достаточно много манипуляций перед каждым использованием, включая запоминание пароля. Аппаратные (DataLock, Kingston IronKey) средства защиты информации, помимо запоминания pin-кода, не требуют сложных действий от пользователя, но являются достаточно дорогостоящим решением, выбор в пользу которого не всегда является обоснованным.

Вариант решения проблемы

Изучив имеющиеся предложения, была предпринята попытка реализации собственного решения. Мотивом послужила необходимость создания некого контура доверенных персональных компьютеров (ПК), в пределах которого используются несколько USB. Основной задачей можно назвать – нераскрытие информации, записанной на USB, вне доверенного контура. Соответственно необходимо устранить ту самую “универсальность” используемых USB, способных взаимодействовать с любыми ПК. К слову, обратная задача – ограничить определенный-(е) ПК на взаимодействие с определенными USB, локально, не является проблемой. В то же время задача – ограничить все ПК на работу с определенным USB – не является выполнимой.

В силу трудоемкости аппаратного вмешательства в конструкцию USB был выбран метод программной реализации защитных механизмов.

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

Вторым этапом было создание, образно говоря, прошивки (в данной статье уточнения не приводятся) самого USB. Две утилиты располагаются в отдельной области памяти накопителя и не пересекаются с “полезными” данными. Утилиты работают с любыми марками и объемами флеш-накопителей, делая их универсальными в использовании.

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

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