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

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

Однако, похоже, что основная-то вычислительная мощность тратится иначе. Она расходуется впустую. А точнее: на выработку тепла. Почему? Да потому, что пока пользователь читает веб-страницу, операционная система (ОС) его компьютера, в лучшем случае, гоняет какие-нибудь ненужные массивы из оперативной памяти – на диск; а потом – обратно. В чуть менее хорошем случае, ОС проверяет почту (которая не поступила ещё в ящик), пытается обмениваться мгновенными сообщениями, отрисовывает красивые “обои” и перекодирует файл с фильмом (не шифрование, нет). В худшем же случае, ОС, заражённая трояном, рассылает спам и DoS-ит какой-то сайт (не МЛМ, не гербалайф, не шифрование!).

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



Комментарии (6) »

Технократический юмор по выходным.

Следом за кем-то из популяризаторов новой версии IP, всё чаще повторяют, что (в отличие от IPv4) “число адресов в новом протоколе – IPv6 – практически бесконечно”. Конечно, 2128 – число большое. Но если сравнивать его с бесконечностью (даже потенциальной), то оказывается столь малым, что им можно просто пренебречь в расчётах. Другими словами, понятно, что новое адресное пространство не бесконечно. И можно придумать способы, приводящие к его исчерпанию за некое разумное время.

Хотя это будут непростые способы. Так, если задаться целью и выделить специальный класс адресов для геолокации, то ушедшие для обозначения каждого квадратного метра (а кому нужна точность выше?) земной поверхности IPv6-адреса практически никак не уменьшат пул свободных адресов. (Площадь Земли – примерно 5*1014 квадратных метров, а адресов доступно примерно 3*1038; то есть, можно примерно все планеты в наблюдаемой Вселенной покрыть адресами, в несколько сотен слоёв.) А кроме того, использование IP-адресов для геолокационной привязки – не самое правильное решение, если только речь не идёт о фантастической глобальной сети связи с очень высокой плотностью узлов.

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

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

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



Комментарии (2) »

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

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



Комментарии (7) »

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

На примере развития потребительских радиоприёмников видно, что все эти годы принципиально изменяется только степень вовлечённости конечного пользователя: следом за стационарными радиоприёмниками пришли портативные мобильные, появилось больше радиопрограмм/радиоканалов и так далее. То есть, исходное “коммуникационное поле” принципиально не изменилось, но вот люди стали всё больше и больше увеличивать свою связь с этим полем. Как один из эффектов – меняется степень зависимости от наличия непрерывной среды связи. Кто существенно зависел от устойчивого радиоприёма в 40-50-х годах прошлого века? Да разве что самолёты, находящиеся в воздухе. Да и то, с известными оговорками: так, ещё в конце 30-х бортовая радиостанция вовсе не являлась строго обязательным бортовым оборудованием истребителя. Сейчас от GPS, от радиосвязи с различными службами непосредственно зависит уйма направлений человеческой деятельности (про современную авиацию можно и не говорить – и так очевидно).

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

Что получается? Если взглянуть на историю стратегически, не вдаваясь в детали технологий, то получается, что уже около ста лет планомерно, в одном строго заданном направлении, развиваются средства подключения человека к “коммуникационному полю”. Не удивительно, что скорость прогресса в этой области сейчас столь велика: разгон начался давно. Киберпространство-то уже есть, оно вокруг нас и плотно привязано к реальности. Осталось реализовать возможность видеть киберпространство. Ну вот все и говорят про очки “с дополненной реальностью”. Реализация их – вопрос трёх-пяти лет. А интереснее, что будет потом: куда двигаться после очков? Видимо, киборги? Да, вполне себе получается логичное продолжение. А останутся ли они жить в мегаполисах?



Комментарии (2) »

На фоне скандалов с “внезапным” обнаружением того, что особенно продвинутые смартфоны от Apple записывают информацию о собственном передвижении в пространстве (и, следовательно, позволяют следить за передвижением хозяев смартфонов), интересно прикинуть, как может быть реализована некоторая глобальная система слежки за населением. На правах технологического юмора.

Понятно, что такая система должна иметь интерфейс вроде как у Google Earth и показывать своим пользователям некоторые точки, передвигающиеся по карте – то есть, пользователей. Начнём прикидки по потребным вычислительным ресурсам. Пока, очень грубые. Пусть эта мегасистема, достойная фантастического фильма, следит за 500 млн пользователей. Оценка реалистичная. Предположим, что сохраняются только две координаты (географические) для каждого пользователя. Каждая координата, с высокой точностью, влезает в 8 байтов (ну, пусть так – опять же, разумная оценка). Плюс для индексирования потребуется ещё байта четыре. Получаем: 12*2*500*10^6 = 12*10^9, то есть, примерно 12 Гб данных нужно для хранения одной выборки местоположений всех объектов наблюдения. Двенадцать гигабайт – это мало. Предположим, что мы с дискретностью в одну минуту сохраняем все положения (очевидно, что можно всё упростить, но пока найдём максимальную оценку). Тогда сутки (1440 минут) потребят где-то 17 терабайт памяти. Архив за месяц уложится в 510 терабайт. Опять же, не фантастический показатель по современным меркам.

Да, для того, чтобы хранить и ворочать этими терабайтами потребуется специальное хранилище данных. Но разве сейчас таким хранилищем удивишь? Нет. Не удивишь. Даже скорость приёма данных в 12 Гб/минуту – не выглядит фантастической для такого хранилища. Около 200 мегабайт в секунду – это разве скорость, в наш век оптических линий связи? А если раскидать приём на сотню входных “порталов”, то объёмы вообще смехотворные получаются, можно успевать с лёгкостью проносить поступающую информацию в базу и ещё останется машинное время на поиграть в продвинутый 3D-шутер.

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

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

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

И так далее. В распределённой модели можно придумать уйму всяких интересных запросов на извлечение данных о перемещении объектов. Тема занятная.



Комментарии (11) »

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

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

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



Комментарии (2) »

На фото ниже – автомобиль из 1914 года. Классический, то есть. На второй фотографии – обратите внимание на одно из колёс (выделено), там единственная шина “повышенной проходимости”, все другие шины как-то не блещут протекторами. Так вот, раньше были другие требования: “…по крайней мере на одном из колёс одной оси”:

(Фото: LOC, на шину внимание обратили в потоке Flickr.)



Комментарии (4) »

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

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

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



Комментарии (4) »

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

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

The US military is developing software that will let it secretly manipulate social media sites by using fake online personas to influence internet conversations and spread pro-American propaganda. (Военные США разрабатывают программное обеспечение, которое позволит скрытно манипулировать “социальными медиа”, используя поддельные персонажи для влияния на интернет-дискуссии и распространения про-американской пропаганды.)

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

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

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

Разведка, контрразведка, дезинформация – да, фундамент всё тот же. Поле применения изменилось.



Комментарии (42) »

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

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

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

Что получается? Получается, что детали замка представляют собой физическое воплощение сложной задачи (годится что-то из области графов, или, скажем, поиска разбиений множества элементов – вообще, в теории сложности есть класс NP-полных задач, там большой выбор). Основная идея в том, что наш замок будущего не содержит единого простого запирающего элемента, наличие которого позволяет, пойдя от обратной задачи, легко найти конфигурацию “открыто”. Напротив, здесь очень много механических элементов (предположим, тысячи), и даже получив полную информацию об этих элементах и их конфигурации в положении “заперто”, для определения открывающей комбинации придётся решать задачу, положенную в основу замка. А её решение требует времени. Ключ для такого замка содержит закодированное в его свойствах решение “замочной задачи”. Замок, как мы выяснили, может чисто механически “проверить” верность предъявленного решения и, если оно верное, попутно приходит в состояние “открыто”.

Как может быть устроен такой замок? Тысячи рычагов-перемычек с магнитными связками? Какие-нибудь вложенные сферы разного диаметра? Или трёхмерный пазл из множества кусочков со сложными поверхностями?

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

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

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

Может, есть уже такие замки?



Комментарии (11) »

Между прочим, в целом пассивный сенсор сложнее использовать в сложной системе наведения, чем активный. Потому что если вы сами излучаете зондирующий сигнал (например, в случае с электромагнитными волнами), то, по крайней мере, знаете все параметры этого сигнала. Это облегчает анализ принятого отражённого излучения. Более того, можно изменять параметры зондирующего сигнала для того чтобы измерить какие-то неоднозначности в наблюдаемой “отражённой” картине и удалить их. Это часто используется в РЛС.

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

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

Но вот активные системы себя выдают. Это недостаток.



Комментарии (1) »