четверг, 21 июня 2007 г.

Число человеческое

Меня попросили, как технического специалиста, написать всё, что я знаю о числе 666 в современных компьютерных технологиях.
Я бы хотел затронуть тему используемой терминологии, штрих-кодов, используемых для маркировки товаров (EAN-13), операционных систем, сделанных по подобию Unix, и обозначению прав пользователя в них, а также рассказать об RFID-метках.

Терминология

Возможно понадобится ввести определения следующих (и не только этих) понятий:
  • идентификация
  • аутентификация
  • авторизация
  • операционная система

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

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

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

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


Unix-подобные операционные системы
Когда-то существовала одна операционная система UNIX, созданная двумя людьми... и получившая из-за своей уникальной переносимости (способности быть легко запущенной на любом компьютере, даже принципиально отличающемся) большую популярность, и являющаяся в настоящее время классикой построения операционных систем, её архитектура заложена в различные стандарты, например POSIX.
Вскоре после создания UNIX была коммерциализирована, права на её производство были распроданы, и в настоящий момент в мире существует множество систем-потомков UNIX, а также несколько свободных систем, созданных по её образцу: это FreeBSD и GNU/Linux.
Вкратце все эти системы обозначают словом Unix. На сегодняшний день системы на базе Linux получают стремительную популярность, и используются не только на серверах и в ЦОД (центрах обработки данных), но на домашних компьютерах.

Вообще Unix-системы обладают достаточно ярко выраженной окраской инфернальности: стоит упомянуть существующие в ней понятия, имеющие названия daemons, zomby, kill, killall, child, а также право вседозволенности 666.

Рассмотрим эти понятия подробнее:
  • daemon (демон) является программой, действующей сродни демону Максвелла, знакомому по школьному курсу физики. Эта программа невидимо для пользователя, не вступая с ним в диалог, автоматически выполняет определённые действия по заданию пользователя или согласно нуждам операционной системы;
  • child (дочерняя программа) - программа, запущенная (порождённая другой программой для выполнения определённых самостоятельных действий);
  • kill (убить) - команда операционной системы, указывающая прекратить выполнение конкретно указанной программы;
  • killall завершает все программы, имеющие указанное после этой команды название (имя);
  • zomby (зомби) - программа-призрак, в которую превращается дочерняя программа (child) после её завершения по каким-либо причинам. Они существуют для того, чтобы родитель (программа, породившая child) могут узнать точную причину завершения дочерней программы, и после получения родителем информации уничтожаются.
Все эти команды и понятия являются официальной терминологией Unix-систем и используются в документации к системе.

Права доступа

Как известно, в компьютерах используется двоичная система счисления, когда всё кодируется с помощью двух состояний: 1 или 0, истина или ложь, жизнь или смерть, присутствие или отсутствие.
В многопользовательских операционных системах применяются средства разграничения доступа к ресурсам компьютера и файлам (информации). Ограничение доступа в системе для каждого файла хранится в виде числа, и состоит из набора признаков: права читать, права писать, права запускать на исполнение. Наличие каждого права кодируется цифрой 1 в соответствующем разряде числа.
Таким образом, право только читать выглядит так: 100, право читать и писать так: 110 (в двоичной системе счисления). Если перевести в десятичную или восьмиричную систему счисления, то получим 4 и 6 соответственно.
Ограничение права на доступ к файлу задаётся отдельно для таких категорий как
  • владелец файла (его создатель),
  • определённая группа (пользователей) и
  • все остальные.
Для каждой из категорий необходимо назначить определённые права доступа. Например, если владелец файла имеет право на чтение и запись, группа - только на чтение, а остальные не имеют прав доступа к файлу, это будет записано как 640.
При совместной работе людей над файлом типичными являются права 660 или 664 (числа в восьмиричной системе, в десятичной 432 и 436 соответственно).
При небрежном администрировании системы часто устанавливают на файлы права 666, открывая их всем для любых изменений. Это не является корректным.
Таким образом, в системе контроля прав доступа Unix-подобных систем можно увидеть наличие трёх цифр 6, которое возникает при неправильном задании прав, при условии использования восьмиричной системы счисления для записи этих чисел.


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

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

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

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

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

Это неокончательный вариант статьи. Замечания и предложения принимаются.

4 комментария:

luch комментирует...

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

Unknown комментирует...

Как в свое время сказал Ёжик,
"знаешь, в библии любого издания ты найдешь слово номером 666, прикинь?"
не надо делать из мухи слона.

Анонимный комментирует...

Не много ли внимания этому бреду?

Анонимный комментирует...
Этот комментарий был удален администратором блога.