Шифруем сообщения до заданного времени


    Представляю на ваш суд сей небольшой сервис — TellYouLater.com. Сервису всего несколько месяцев, но он уже умеет так зашифровать сообщение, что никто не сможет его прочитать до заданного момента времени. Собственно, только это сервис и умеет.
    Вот пример саморасшифровывающегося сообщения: http://goo.gl/YdIzI (QR рядом это оно же).


    Алгоритмы


    Эта область криптографии на английском называется Time-Lapse Cryptography и настолько современна, что еще даже не обзавелась страницей в Википедии.
    Сервис использует простейшую схему Time-Lapse Cryptography: на каждый час в ближайшие несколько лет создана пара ключей — открытый и секретный. Все открытые ключи доступны, а секретные ключи публикуются только в соответствующий момент времени.
    Обязанность сервера только публиковать секретные и открытые ключи, а шифрование/дешифрование выполняется на стороне клиента (конечно это JavaScript). То есть в сеть сообщение без ведома пользователя не попадет.
    Реализация 1024-битного RSA и 128-битного AES на JavaScript неплохо оптимизирована (в том числе спасибо и Google Closure Compiler) и на большинстве устройств выполняется мгновенно. Пришлось, правда, повозиться с IE, который предлагал пользователю прервать скрипт (хотя работал скрипт меньше секунды).

    Инфраструктура


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

    Заключение


    Область применения этого сервиса обширна — от… ну я не знаю, до… надо подумать.
    В общем, пользуйтесь на здоровье.

    P.S. Уточняю — исходные и зашифрованные сообщения на сервер не передаются, не хранятся и не распространяются. Что делать с зашифрованным сообщением решает сам пользователь. Сервер обрабатывает только запросы «Дай секретный/открытый ключ на такой-то час». Остальное — JavaScript на клиенте.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 109

      +10
      пару лет назад приходил в голову схожая идея, но не смог придумать, кому и для чего это необходимо в таких масштабах, чтоб для этого целый сервис запускать.
        +21
        «В Интернете должно быть ВСЁ, а если чего-то нет, то мы это сейчас быстренько сделаем» — примерно таков наш девиз
          +3
          Например, если сообщения с ключами можно удалять до времени Ч, можно складывать туда какую-нибудь информацию, компрометирующую человека, от которого зависит удалишь ты ее или нет.
            +3
            Или глупости типа ответов на загадки, когда есть сомнения в честности загадывающего.
            • UFO just landed and posted this here
                +1
                Если доживут =)
                  +5
                  А вообще, деньги надо тратить, а не копить. Наследники пусть сами зарабатывают!
                    0
                    Деньги надо не тратить, а обращать в пассивные источники дохода. Пусть прибыль появляется сама!
                    +9
                    Автор проекта перестанет платить за хостинг и наследники вместо дядюшкиного миллиона будут уныло смотреть на загадочный шифр.
                      +18
                      Вот тогда-то проект и окупится!
                      0
                      Эмм, наследникам, знающие что такое закрытый и открытый ключ я бы помог с жильем не помирая.
                      А остальным ка том анекдоте: «будучи в трезвом уме и твердой памяти все деньги потратил при жизни».
                        +3
                        Где записываться в ваши наследники? :D
                    +4
                    Игры с выигрышными комбинациями позволяющие пользователю заранее выбрать свою комбинацию, а потом свериться с результатами (аля «6 из 36).? Подтасовать результаты будет проблематично.
                      0
                      Что-то такое уже n лет как в Eve-online используют, для проведения лотерей…
                      eve-files.com/tools/dice/
                      • UFO just landed and posted this here
                          +4
                          Ну не скажите, параноики утверждают, что нужные шарики специально утяжеляют, чтоб выпали именно они, передача идет в записи и снимается в несколько дублей:)
                            +1
                            А что если уже записаны все возможные варианты выпавших шариков и в эфир просто пускают нужную запись.
                              0
                              Слишком много записей надо.
                          +2
                          С учетом того, что ключ не меняется для каждой конкретной даты несложно подобрать комбинацию цифр простым перебором этих комбинаций.
                            +3
                            В шифровании, как положено, используется рандомное подсаливание, так что не получится
                        +2
                        То есть взломать базу с секретными ключами очень сложно?
                          +1
                          Мне хочется в это верить. Я принял ряд мер, чтобы даже проследить путь от вебсервера до места хранения секретных ключей было очень непросто. Терморектальный анализ, понятно, остается. Вот, думаю, стереть ли пароли от серверов хранения данных…
                          • UFO just landed and posted this here
                          +1
                          О! Надо вас скооперироваться! habrahabr.ru/post/139096/
                            +1
                            Сделайте еще удаление записей — тогда можно будет оставлять сообщения типа:
                            «Когда вы будете читать это, меня, скорее всего, уже не будет в живых. К известным вам действиям меня побудило следующее:...»
                              +3
                              Уже второй комментарий про удаление. Я, видимо, не раскрыл тему — исходные и зашифрованные сообщения на сервер не передаются, распространяет их сам пользователь. Сервер обрабатывает только запросы «Дай секретный/открытый ключ на такой-то час». Что можно удалить?
                                0
                                Да, точно. Просто если не всматриваться, страница goo.gl/YdIzI выглядит как, например, сообщение в твиттере или пост какой-нибудь.
                                  0
                                  такова и была идея. не просить же пользователей вводить вручную циферки
                                  +1
                                  Т.е. все сообщения на одно и то же время шифруются одним ключом?
                                    0
                                    да!
                                      +2
                                      Пожалуй это сокращает круг возможных способов применения. Для каждого сообщения генерить ключи накладно?
                                        +2
                                        Во-первых накладно. Во-вторых если вебсервер имеет связь с тем, кто генерирует ключи, то это сильно понижает стойкость к атакам на хранилище секретных ключей.
                                0
                                >> работающий меньше секунды.
                                s/меньше/больше/?
                                  +1
                                  не, в том-то и дело, что IE зависание скриптов отслеживает не по времени, а по кол-ву операций. и за секунду работы он успевал дважды выкинуть окошко с предложением убить скрипт
                                    –3
                                    тогда причем тут время?
                                      0
                                      вы правы, упоминание про время сбивает
                                • UFO just landed and posted this here
                                    0
                                    сервер-то не государственный. владелец сервера может подделать результат
                                      +6
                                      я бы сказал так: сервер-то не государственный, поэтому владелец сервера возможно честный человек)
                                        0
                                        ну, зато в любом патентном споре такое сообщение будет слабым доказательством
                                        • UFO just landed and posted this here
                                            +4
                                            Насчет отсутствия закона. Можно твитить объявления «давайте прогуляемся по городу сегодня вечером, место сбора — kjh78623jcljcwecc». Если место встречи будет расшифровано только за 30 минут до времени сбора, то космонавты не успеют встретить гуляющих…
                                            • UFO just landed and posted this here
                                                0
                                                Достаточно заблокировать того кто должен был твиттнуть)
                                      • UFO just landed and posted this here
                                          0
                                          а я и не говорил про сообщение.
                                          • UFO just landed and posted this here
                                              0
                                              а время?
                                              • UFO just landed and posted this here
                                                  0
                                                  логично.правда требуется внешний элемент — газета.
                                                    0
                                                    Ну тогда и этот сервис не обязателен. Достаточно зашифровать асимметричным алгоритмом и опубликовать в газете. Когда нужно будет подтвердить авторство — выложить публичный ключ.
                                                    • UFO just landed and posted this here
                                          +2
                                          Пожалуй единственный из реальных «дешевых» способов что бы хоть как-то обезопаситься — отправляете письмо самому себе через БУМАЖНУЮ почту, или посылку с дисками/флешками. И храните это нераспакованным, с ярлыками/печатями почтовой службы.

                                          До того момента, пока не придется доказывать что именно вы автор чего-либо.
                                          +3
                                          Идея хорошая, но есть один криптографический ньюанс ;) Суть в том что private-key на будущее сгенерированы и существуют уже сейчас. Т.е. получив доступ к серверам, хранящим части ключей (не ахти как сложно для соотв служб или людей с соотв квалификацией), данные можно будет расшифровать не дожидаясь срока публикации ключа. Не криптографично! ;)

                                          Замечу, что существует и криптографическое решение поставленной задачи, которое, хотя и не позволяет полностью исключить возможность преждевременной расшифровки, но существенно ограничивает такую возможность. Условно говоря, на очень специальном оборудовании можно взломать ключ максимум всего лишь в пару раз быстрее чем ждать без взлома (используется ограниченная производительность системы памяти, где не помогает ни наращивание её обьема, ни использование многопроцессорности)
                                            0
                                            Все верно, я это прекрасно понимаю. Но:
                                            1. Доступ к базе СК могут получить определенные силы, но едва ли частные лица и даже российские/белорусские спецслужбы ;)
                                            2. Сами понимаете, что вариант без доверенной третьей стороны едва ли можно реализовать как публичный бесплатный сервис.
                                            3. Согласен, что это не криптографично, но в гугле по «Time-Lapse Cryptography» находятся замечательные глубоконаучные статьи, где описывается все то же самое, что я сделал, но с помощью буковок и умных терминов)
                                              0
                                              А подробнее можно?

                                              Хотелось бы знать про такие решения :)
                                            0
                                            Нужно физически перенести закрытые ключи на баражирующий БПЛА в международнов воздушном пространстве или на радиобуй в нейтральных водах, который будет выдавать в эфир ключи по мере наступления времени.

                                            А если серьезно, то вероятность дискредитации прямо пропорциональна количеству зашифрованных данных в системе и растет экспоненциально от срока конфиденциальности.
                                              0
                                              Можно закрытые ключи с БПЛА на парашютиках каждый час сбрасывать)
                                                0
                                                Ага, закрытые на амбарный замок. :) А потом егерь Семен будет открывать их своим ключом и телеграфировать на большую землю.
                                            • UFO just landed and posted this here
                                                +1
                                                Добавлю, что вероятность похищения секретных ключей пропорциональна дублированию и обратна вероятности утраты. Компромисс придется искать в любом случае.
                                                Если «до тех пор, пока есть хотя бы один заинтересованный в хранении секретов человек, данные бы не пропали», то значит один человек имеет доступ ко всем секретным ключам. Так?
                                                • UFO just landed and posted this here
                                                    0
                                                    Есть метод, о котором упоминал выше zuborg — мы шифруем сообщение и начинаем процесс вычисления ключа, который займет как раз столько времени, сколько осталось до часа Ч. Все это очень далеко от широкого применения
                                                    Сервиса со страховкой не будет, т. к. практически невозможно доказать страховой случай. Сервис с репутацией, типа Гугля — это вариант.
                                                0
                                                Объясните мне, какой смысл, в данном случае, в QR-коде?
                                                  0
                                                  Простой перенос ссылки-сообщения с компьютера на мобильное устройство. СМСнуть там или еще что
                                                    +1
                                                    Я всё равно не понимаю.
                                                    Вот есть ссылка. Есть QR-код. Рядом.
                                                    Я так понимаю, что qr-код надо сфотографировать. Мне это напоминает ксерокопирование монитора.
                                                    Возможно, имеет смысл в браузере показывать qr-код текущей страницы, например в хромовом extension.
                                                    Но зачем ставить код в статье рядом с сылкой? На тот случай, если человек читает на компе, а ссылку хочет открыть на мобильном устройстве? ИМХО, странное желаение. Особенно если учесть, что это единственная иллюстрация в статье.
                                                    Есть ведь приблуда, чтобы наводишь курсор на ссылку, а она тебе показывает QR-код.
                                                      0
                                                      1. В данной статье QR-код — это просто КДПВ. Смысла — ноль.
                                                      2. На TellYouLater.com QR-код дает возможность перенести ссылку на мобильный девайс, не трогая клавиатуру. Имхо полезно.
                                                        +1
                                                        Я именно про данную статью. А что такое КДПВ?
                                                          +1
                                                          Яндекс утверждает, что это Картинка Для Привлечения Внимания.
                                                    0
                                                    Я бы многое отдал чтобы разработчики понатыкали QR-кодов в прикладные приложения, например в GMail/Outlook для переноса контактов.
                                                  • UFO just landed and posted this here
                                                      0
                                                      На самом деле очень хорошая идея в контексте систем электронных голосований.
                                                        0
                                                        Так, давайте решим следующую задачку: сделать тоже самое, но без центрального сервака. Вдруг его завтра отключат\украдут\разбомбят?
                                                          +1
                                                          Идея №0
                                                          Всем известно, что на Луне есть отражатели (ну их туда какая-то экспедиция американская поставила). Т.е. если оправить сигнал на отражатель — через пару секунд он вернется. В этом сигнале может быть зашифрован приватный ключ. Осталось поцепить отражатель куда-то на Плутон — и вот уже приличная задержка. Можно придумать сделать на цепочке сигналов какой-то цикл.
                                                          • UFO just landed and posted this here
                                                            0
                                                            time-lock encryption
                                                            0
                                                            прям шпионский сервис. помнится, в фильмах военных тема была: спецслужбы вручали конверт с инструкциями кому-то, который надо открыть в определённое время.
                                                              0
                                                              Это не только в фильмах. В реальности так действуют и сейчас: отправляют запечатанные конверты куда-то, а в этих конвертах приказ который надо хранить в секрете даже от исполнителя.
                                                              На конверте надпись — «Вскрыть в 23:00 по московскому времени 14 мая 2012 года». А внутри листок бумаги — «Приказ командиру такому-то, в 23:15 нажать на Большую Красную Кнопку». Или — «Выдвинуть л/с и технику в расположение такое-то». Или — «Поднять в воздух пилотов дальней авиации, и пусть ждут приказа».
                                                                0
                                                                Вроде обычно всё же нет привязки к конкретному времени, а привязывается к наступлению какого-то события, время которого заранее неизвестно (по крайней мере для исполнителя): «Вскрыть при поступлении сигнала »..."", «Вскрыть в случае потери связи с ЦКП РВСН» и т. п.
                                                              0
                                                              маленький оффтоп: есть такой сайт future.me который в заданное время отправляет вам письмо из прошлого…
                                                              вспомнился фильм «PS: I love you». парень умирает, и оставляет целую сеть посланий для своей возлюбленной…
                                                              вобщем смотрите сами )))
                                                                0
                                                                Идею отдаленно похожую тоже как-то писал на хабр: habrahabr.ru/post/24259/ :)
                                                                  0
                                                                  Вот если бы был обратный сервис — по истечении некоторого времени информация бы исчезала… типа «я хочу это развидеть».
                                                                    0
                                                                    Причем, информация должна исчезать из мозга пользователя.
                                                                    +3
                                                                    31 декабря 2015 г., 23:00:00 Московское стандартное время

                                                                    Тут текст альманаха американского футбола с результатами всех матчей 2012-2015 гг.
                                                                      +5
                                                                      Да ничего подобного, там просто… Упс, кажется я палюсь
                                                                        0
                                                                        Кстати,
                                                                        1. Что-то сглючило. Шифровал на первом айпаде, прошивка 5.1.1, сафари. Ссылку сократил. Как видно, сейчас ссылка не работает.
                                                                        2. Тоже хотел спросить: у вас же реально есть возможность получить доступ ко всем ключам? Паника?)
                                                                          +1
                                                                          1. Уже фиксю, сорри.
                                                                          2. Даже для меня это геморрой. Думаю отдать контроль на серверами ключей третьим лицам — сервера достаточно автономны, а мне спокойнее будет.
                                                                      0
                                                                      Я уж думал там что-то на слабых ключах
                                                                        0
                                                                        Отлично, теперь есть способ секретно передавать ключи для FireTalks. Спасибо! :)
                                                                          +2
                                                                          А почему все так на целились на сервера с ключами?
                                                                          По моему в этом алгоритме самое уязвимое место… время… Чисто гипотетически, ведь можно подменить, например ntp.ubuntu.com, pool.ntp.org и выдать будущее время…
                                                                            +1
                                                                            Кому выдать? Клиенту? это не поможет ни чем, ключи с сервера выдаются. Серверу? Ну во-первых если вы уже можете найти этот сервер и каким-то образом повлиять или взломать провайдера то тут с вашими возможностями лучше уж сам сервер взломать. Причём не факт что сервер сверяет время с таймсерверами часто. Может он раз в год смотрит, ведь на текущем оборудовании часы и так сами по себе довольно точно идут.
                                                                              0
                                                                              Да, такая атака возможна. Думаю нанять мужика с винтовкой, чтобы сторожил датацентр pool.ntp.org.
                                                                                0
                                                                                А еще можно не палить свой ntp.
                                                                                  0
                                                                                  Пока мужик будет сторожить pool.ntp.org, умный получит доступ к ДНС серверу и просто подменит pool.ntp.org на свой, сервер с ключами попытается синхронизироваться и бах уже 2100г. Это конечно юмор, но в каждой шутке есть доля шутки… )
                                                                                –1
                                                                                Самое уязвимое место — ключ один для всех. Зашифровав несколько известных сообщений, и увидев результат, можно получить много дополнительной информации о закрытом ключе, что уменьшает стойкость ко взлому
                                                                                  +2
                                                                                  Зачем шифровать несколько сообщений? У вас уже есть открытый ключ, если вы можете по нему определить закрытый ключ — вперед к мировой славе и неслабым гонорарам.
                                                                                    0
                                                                                    Да, вы правы
                                                                                • UFO just landed and posted this here
                                                                                    0
                                                                                    Имхо при теперешнем разнообразии твиттеров и соц. сетей, можно переложить распростанение на пользователя, тем более это делается одной кнопкой с помощью тулбара addthis.
                                                                                    0
                                                                                    Идея очень клевая(особенно ее реализация), но я так и не придумал, зачем я могу это применить :-)
                                                                                      0
                                                                                      Можно поздравления с днем рождения заранее посылать.
                                                                                      0
                                                                                      Прикольно использовать такой сервис для всяких квестов и квизов на время.
                                                                                        0
                                                                                        Штука может быть полезна студентам и школьникам: заархивировать любимые игры или сохранялки к ним с паролем, пароль зашифровать, выставив время на окончание сессии/экзаменов, и забыть. :)
                                                                                          0
                                                                                          Отличная идея. Надо ее как-то красиво презентовать пользователям.
                                                                                        • UFO just landed and posted this here
                                                                                            0
                                                                                            Планируется ли доработка интерфейса? Сейчас это выглядит как сервис для гиков. Хотелось бы выдеть красивый обратный отсчет и все такое. И да, сделайте как-то выбор языка, а то я так и не смог добиться русского на странице сообщения.
                                                                                              0
                                                                                              Идеи доработки приветствуются. Сейчас, на мой вкус, все довольно несложно
                                                                                              Обратный отсчет на странице расшифровки? Можно подумать
                                                                                              Язык буду проверять, мне такие проблемы не встречались
                                                                                                0
                                                                                                Это не проблемы, просто у вас сейчас язык определяется по настройкам браузера, как я понял. А сами эти настройки кешируются как-то, я пока не почистил куки все видел на английском (первый раз зашел с английским языком в настройках). Я после работы набросаю скриншотик с таймером.

                                                                                            Only users with full accounts can post comments. Log in, please.