Дизайнер-технолог исследовательской студии лондонского университета Голдсмитс Мэттью Пламмер-Фернандес (Matthew Plummer-Fernandez) создал бесплатное программное обеспечение, выполняющее шифрование точных позиций вершин в файлах для 3D-печати.
Алгоритм Disarming Corruptor обратимо искажает геометрические формы, оставляя их (при желании) в целом узнаваемыми или полностью меняя фигуру. Такой подход позволяет ознакомиться с любыми чертежами и одновременно защищает их.
После обработки файлы формата STL (stereolithography) становятся непригодными для изготовления высокоточных деталей (в частности компонентов оружия) без предварительной дешифровки. В случае многократного повторения процедуры шифрования очертания детали теряются полностью, но владелец ключа по-прежнему может восстановить её исходный вид.
Работа Пламмер-Фернандеса стала особенно актуальной после того, как методами объёмной печати были созданы сначала отдельные детали огнестрельного оружия, а затем и полноценные экземпляры (в том числе — из металла).
В интервью изданию Wired специалист говорит, что на создание программы его вдохновил целый ряд причин:
«Многое способствовало появлению Disarming Corruptor. Споры в отношении авторских прав, разработка огнестрельного оружия, скандалы вокруг АНБ и другие события. Меня также вдохновил документальный фильм Away From Keyboard об истории The Pirate Bay. Он заставляет думать о технологиях, которые облегчают сохранение конфиденциальности и способствуют безопасному обмену по сети на благо других».
Как автор первой подобной программы Мэттью Пламмер-Фернандес акцентирует внимание на том, что это универсальный инструмент, а не ограничительная мера:
«У меня есть свое мнение об авторском праве и оружии, но я не хочу, чтобы программа стала идеологическим средством для донесения своего мнения. Она создана для всех файлов, а не только для тех, распространение которых сочтут незаконным. Я просто хотел придумать, как обойти часть проблем с объёмной печатью».
В незащищённый файл проекта посторонние лица могут внести случайные или преднамеренные модификации. Его авторство также легко изменить и трудно оспорить.
Сначала компании были готовы печатать всё подряд. Затем Thingiverse ввела запрет на чертежи деталей оружия, а дальше и вовсе стало доходить до абсурда. Создатель ПО упоминает, что однажды сервис онлайн-печати i.Materialize отказался принять заказ, поскольку счёл изображённую фигурку слишком похожей на Микки-Мауса и выразил сомнение в соблюдении авторских прав.
Программа Disarming Corruptor даёт возможность свободно демонстрировать огрублённые проекты любых деталей и обмениваться ими по открытым каналам, не опасаясь нелегального копирования и злонамеренного использования:
«Моя цель — дать людям средство защиты против патентных троллей, репрессивных правительств, АНБ и любых других сторон, способных ввести ограничения позже. Технологии должны служить интересам народа, а не только тех лиц, которые их контролируют».
В алгоритме используется семь ключевых параметров, подбирать которые практически бесполезно. При попытке взлома путём перебора их комбинаций программа примет любое предполагаемое изменение, но ничего не сообщит о правильности результата.
Сколько координат вершин решит проверить атакующий, столько разных деталей он и получит. Иными словами, по Шеннону это разновидность реализации совершенного шифра, в котором единственно верный вариант расшифровки теряется среди огромного числа других равновероятных. Создать пригодную для практического применения деталь сможет только тот, кто знает точные значения всех семи ключей.
Пламмер-Фернандес поясняет, что надёжность алгоритма обусловлена его простотой и отсутствием проверки правильности результата. Вы никогда не увидите сообщения «Введённый пароль неверен» и не получите повода попробовать другой:
«Внесённые алгоритмом искажения могут быть отменены только тем, кто знаете исходные параметры шифрования, использованные отправителем. Для повышения надёжности процедура изменения положения вершин может быть выполнена несколько раз».
Пока программа работает в среде ОS X, но в планах её автора написать дистрибутивы для Linux и Windows.