Pull to refresh

One Time Secret – после прочтения сжечь

Information SecurityPython

Если Вы когда-либо беспокоились, что данные, которые вы пересылаете по Сети (пароли, адреса, места встречи), могут быть перехвачены и сохранены злоумышленником, или просто не любите оставлять следы в Сети, то https://onetimesecret.com может вам помочь.

Данный сервис позволяет создавать одноразовые «секреты» — отправив секрет, вы получаете одноразовую ссылку на него, после перехода по которой секрет удаляется.



Сервис, кроме простого хранения секретов, может так же защитить секрет вашим паролем и автоматически отправить ссылку на него по указанному e-mail адресу.
Вы можете настроить срок самоуничтожения секрета, в пределах от 5 минут до 30 дней.

После создания «секрета», вы получаете сразу две ссылки, одну, вида onetimesecret.com/secret/SECRET_KEY, по которой доступен сам секрет, и другую, вида onetimesecret.com/private/META_KEY, перейдя по которой вы узнаете, был ли уже «вскрыт» Ваш «секрет» и сколько времени осталось до самоуничтожения.

До вскрытия:

И после:


И, наконец, обещанный бонус для Хабра:)

One Time Secret выгодно отличается от аналогичных сервисов существованием собственного API.
Уже существуют его обёртки для Perl, PHP, Ruby.
Я же представляю вам небольшую обёртку для Python:
git: github.com/utter-step/py_onetimesecret

Пример использования:
from onetimesecret import OneTimeSecret

o = OneTimeSecret("YOUR_EMAIL", "YOUR_OTS_APIKEY")
secret = o.share(u"Привет, Хабр")
# {u'updated': 1340611352,
# u'created': 1340611352,
# u'recipient': [],
# u'metadata_key': u'653lzljgwgj74ys6hvrpta2wmhaamrg', ### Ключ метаданных (просмотренно/нет, когда, запаролено ли и т.д.).
# Доступ к метаданным по ссылке вида https://onetimesecret.com/private/META_KEY
# u'metadata_ttl': 86400,
# u'secret_ttl': 86400,
# u'state': u'new',
# u'passphrase_required': False,
# u'ttl': 86400,
# u'secret_key': u'3ery270erhtk1gjsti90d70z5h8aqgd', ### Ключ секрета, доступ к самому
# по ссылке вида https://onetimesecret.com/secret/SECRET_KEY
#
# u'custid': u'anon'}

print o.retrieve_secret(secret[u"secret_key"])
# {u'secret_key': u'dtr7ixukiolpx1i4i87kahmhyoy2q65',
# u'value': u'Привет, Хабр'}

print o.retrieve_meta(secret["metadata_key"])
# {u'received': 1340731164,
# u'updated': 1340731164,
# u'created': 1340731159,
# u'recipient': [],
# u'metadata_key': u'qvu20axsugif3fo4zjas5ujvp1q9k75',
# u'metadata_ttl': 86398,
# u'state': u'received', ### Сообщение было прочитано
# u'ttl': 86400,
# u'custid': u'anon'}


Спасибо за внимание!

UPD: так как всё чаще задаются вопросы вида «как можно доверять этому сервису», привожу ответ самих его авторов:

Why should I trust you?
In addition to being really cool guys, we can't really do anything with your information. If it's a password for example, we don't know the username or even the application that the credentials are for.

If you include a passphrase (available under «Privacy Options»), we use it to encrypt the secret. We don't store the passphrase (only a bcrypted hash) so we can never know what the secret is because we can't decrypt it.


Почему я могу вам доверять?
Кроме того, что мы классные ребята, мы ещё и не можем ничего сделать с вашей информацией. Например, если это пароль, мы не знаем ни имени пользователя, даже сайта/приложения, к которому он относится.

Вы так же можете предоставить пароль, которым мы зашифруем ваш секрет. Мы не храним у себя ваши пароли (только bcrypt-хэши от них), так что мы никогда не узнаем ваш секрет, так как просто его не расшифруем.
Tags:onetimesecretone time secretхранение секретовдовериеAPIpython
Hubs: Information Security Python
Total votes 49: ↑41 and ↓8 +33
Views10.4K

Popular right now

Факультет Python-разработки
July 15, 2021180,000 ₽GeekBrains
Основы языка Python
June 29, 202120,800 ₽Luxoft Training
Мидл python-разработчик
July 8, 202185,000 ₽Яндекс.Практикум
Python-разработчик
July 13, 202190,000 ₽Яндекс.Практикум

Top of the last 24 hours