Искусство программирования на Си (984073), страница 81
Текст из файла (страница 81)
Одно решение состоит в создании официальных снижс»ие безопасности, вызываемое применением ис- к их реализации. Кос-кто, может быгь, будет разочаро- Зачем используется "соль"'? Если нс добавлять органов Каждый пользователь пол чает отк ьпыс кзкзу 'Р— которых других способов, может быть нс так очсвилно ван тем, что без понимания сильных алгор~тм~в шиф "соль", то ланныс могуг поддаваться атакам, использу Ши«)««««авие до«а«««тел««ие те««ти«ес«ие разде«м — 1 ° Час«ъ и! Глава 26 при запуске программы, может вполне использоваться анализа болыиого объема зашифрованноготекста. Даже в качестве источника случайных данных небольшого после взлома сообщения пехот!срого объема взломщик . т-олсс ыс к - б п чи с Взломщики нсдолжны имст возможное ь р у— объема.
Сбор большего объема случаиных данных, осу- предпочитает взломать сше большее сообщение. "соль". дать ключи шифрования. Безопасность шифрования щсствлясмыи таким путем, может заня~ь много време- Нсобходимо часто менять ключи, чтобы объел! данзависвт от случайности его ключей. Единственный путь ни и вызвать раздражение у пользователя. Но такой вид ных, зашифрованных с помощью одного уникального Постоянство памяти сделать так, чтобы взломщики не смо~ли угадать клк>- источника случаиных данных нс подхолит, когда сеть ключа, был небольшим.
Нс генерируйте и не храните чи, — это выбирать ключи совершенно случайным об- всроятность, что взломщик может угадать врсл«я, в ко- несколько ключей одновременно для последую>пего С такими широко используемыми сРслствами, как кэш, разом. С уменьшением степени случайности выбора торос произошло то или иное собьпие. Например, нс использования. Чем дольше хранится ключ, тел! боль- виртуальная память и автоматическое создание РезеРв клкзчсй снижается их эффективность и они легче под- смысла определять время нажатий на клавиши, сели шс вероятность того, что его найдут.
При необходимоных копий по копиям секретных данных в нсзашишсн- даются взлому даже при исполщовании простого псре- взломщнк может перехватить эти собьпия. сти использования нового ключа сгенерируйте его с ных местах. взломщики более легко могут найти кон- бора вариантов. Вероятность того, что ключ булет иметь Очень плохое решение, которос часто используют, использованием новых случайных данных.
При отсутфидснпиач,ные данные. опрслсленное значение, лолжна быть не более всроят- — это просьба ввести случайные данные самому пользо- стяни необходимости в старом ключе всегда полностью ДлЯ зашиты ланных от взлома таким путем нсобхо- ности того, что ключ будет иметь любое другое возмож- вателю.
Пользователи — очень плохие генераторы слу- удаляйтс его, приравнивая его значение к константе. лино принять спепиальные меры. Нужно представить нос значение !Некоторые алгоритмы ил«сют несколько чайных чисел. Онн. как правило, считают, что всс, по Поскольку шифрование с двумя ключами, как прассбс наихудший вариант работы программы.
Прсдполо очень слабых ключей, которые должны исключаться в придет им в голову, является случайным и нс подлежит пило, выполняется медлсннсс и для обеспечения уров- жите, что ланныс времени выполнения вашей програм процессе генерирования ключей.) Хотя в настоящее угадыванию, а затем используют придуманныс данные ня безопасности, равно!о уровню безопасности шифромы копиРУютсЯ в незащищенный файл подкачки и что время широко используются генераторы пссвлослучай- повторно. Хотя некоторым пользователям нравится воз- вания с одних! ключом, требуются большие ключи, при мсжпропссснол! взаилюлействии может осушеств н>лх чисел 1наприл«ер, стандартная функпия гапйо), можность выбора своего пароля, они почти все!да нс- предпочтение следует отдать совместному пспользоваляться обл>сн открытыми данными через 1пгсгпе!.
Кро- тем нс л«енсе, действительно случайныс числа нс так правильно использ>ют эту возможность, выбирая для нию этих двух видов шифрования. Метод шифрования ме того, пРепсгавьте, что системные вызовы и их аРгУ- п о н и „ь болсслсгкогозапоминаниа паРолей с>щсствУюшис ело- с дв>иЯ ключах«и может использоватьсЯ только дла дппоыипа вные тсчютичггсиеркыж|ы ИИ ! ° ° Шнфргмаиие Часть!и — ! ° Глава 26 важное сообшснис лолгкно быть получсно нс более чсм Рсжс используется хранение данных повсрх других чсрсз одну минуту после сто отправки, отсылайтс каж- данных, когда оба сообщения занимают одно и то жс ств юшин исходный код, побы они могли видеть, как раскрытис повышает всроятность !ого, что проблсмы аботаст и о! амма.
люжно будет обнаружить гораздо раньше и что опытные дую минуту ложныс сообщения, и, таким образом, нс пространство Многие форматы настолько гибки, что будет возможности выявить срсди ложных сообщений нсбольшис измене!!ия в файлс не приводят к измснс- Затем после устранен Затем после ст ансния всех недостатков, котопыс пользователи будут ловсрять вашему продукту. В таком будут обнаружсны после неоднократного въюма вашей случас они посовстуют неопытным пользоватслям исдсйствитсльнос.
Созлавайтс ложныс сообшсния таким нию интсрпрстации этого файла. Например, компиляобразом, чтобы их нсльзя было отличить от дсйстви- торы языка С игнорируют пустые мсста в исходном п о! аммы, понг айтс в игру под названием "а что, пользовать эту ппограмму, и,таким образом, всспользотельного, дслайтс всс сообщения близкимн по размсру кодс, поэтому ввод сообшсния в исходный файл на С соли...".
Спросите ссбя, ч о м ! р д соли...". Сп оситс ссбя, что именно произойдст, осли ватсли будуч имсть доверие к вашей программс. и по содержанию. Если длину и содсржанис сообщения нс будет замечен компилятором. Добавляя асс~о по 0— п ог ал!ма б дст каким-либо об азоы дискредитированельзя опрсдслить зарансс, то просто с полюошью слу- 3 позиции к концу калглой строки исходного кода, мож- вас ссть злонамспснныс и глччайных значении придайте им случаиныи характср.
но спрятать 2 бита на строку, что, возможно, булст нс пыс пользователи. Представы с, что — о пыс пользователи. П едставщс, что кто-то возьмет вац! исходный код и асп острашп сто троянскую всрсию. Итак, основным языком программирования для шифроКажзый получатель должен принять и, возможно, по замсчсно самим программистом, который тгцатсльно Оп слслитс, каким об азом один серьезный нсдостаток ванна является язык С. Другис языки про!раммированндсксу или по подписи отчичить дсиствитсльнос со- просматривает фаил. Даже взломщики, которыс пыта- сможет повлиять на всю и ог амм Нс смог ите на это ния кажутся либо слишком высокоуровнсвыми, либо общснис от ложных. Это предотвратит возможность ются абнаружить зашифрованные сообщсния, вряд ли свысока и нс исключайте все возможности.
Если вы слишком низкоуровнсвыми лля создания программ замсны взломщиком ложных сообшсний. будут тщательно просматривать открьпый файл нсход- польз етссь системой ши ования, значит, вы готовы шифрования Друтой вариант — время псредачи можно скрыть, ного кола. Скрывая одно сообщение в другом, вы по- Почти кажлос соврсмсннос приложение должно кассли передать сообгценис с достаточно длинной, случай- лучастс сщс олно прсимущсство: можстс зашифровать взлом б дст спешным.
Необходимо принять соотвст- ким-либо образом быть связано с обеспсчснисм безопасной задсржкой по врсмсни. Консчно, это замслляст само нссущсс сообщение. В этом случае даже можно ств ющис мс ы — такие, чтобы один успсшныи взлом носыь Люли всс более ориснтируются на зарабатыванис получснис сообшсния получателсм. пать взломщику дсзинформацию, если он сумеет взло- дснсг с использованисм программного обсспечсния и Анонимность таюкс можно обеспечить за счет псри- мать нссущсс сообшснис. Послс взлома сложного за- псрсдачи очень важной информации программному одичсского обмсна большими ложныл!и или бессмыс- шифропанного сообщения взломщики будут так рады В ЭТОЙ ГЛАВЕ ° Программирование встроенных систем на языке С ° С-программирование встроенных систем и стандарт А1ЧБ! С ° КТОЯ вЂ” операционные системы реального времени ° Система КТЕМБ как типичный пример КТОЯ Всмраеинаесиоаемм Глава 27 В строенные системы КАМ ют читабельность и модифицирусмость программного кода.
° контроллеры прерываний В настоящее время язык С стал стандартным языком ° устройства отображения памяти программирования встроенных систем. Компиляторы С ° последоватсльнглс и параллельные порты лоступны для каждого микропроцессора н кюкдого полу- фабрикатного модуля встроенной системы, где они фор° системная шина для подсоединения более сложной мируют интегральную часть пакета разработки программпсриферии. ного обеспечения для модуля. Если вы разрабатывастс В зависимости от задач, для решения которых прел- свою собственную систему, то можете либо получить Стефам 3 йлмс назначается микропроцессор, производитель может рс- компилятор С для микропроцессора от производителя шить либо разрабатывать и изготовлять свонз собствен- этого процессора, либо использовать компилятор ОЬЛlную компьютерную систему из упомянутых ванде С, если ваш процессор полдерживаст сто. Бесплатный компонентов, либо обратиться к полуфабрикатным ком- ОХ13-проект поддерживает широкий спектр рассматрипьютерным модулям, которые он может использовать.