Telegram documents что это
Telegram Passport поможет вам зарегистрироваться на сайтах и сервисах, требующих идентификации личности. Благодаря сквозному шифрованию end-to-end ваши персональные данные и документы, при этом будут надежны защищёны и никто не сможет получить к ним доступ, включая сам Telegram.
Процедура личной идентификации это всегда неприятный процесс. Сбор справок, сканирование документов, заполнение бланков, фотографирование с документами в руках, все это требует сил и времени. И как на зло каждый банк, биржа, ICO, да любой финансовый инструмент требует предоставить им кучу документов. Вот нам и приходится хранить фотографии паспортов, выписок из банка в своем фотоальбоме, в незашифрованном облаке, в папке на компьютере или на флешке, а это небезопасно и неудобно. Вот бы упростить этот процесс, чтобы один раз пройти идентификацию сразу для всех сервисов. Именно об этом подумал Павел Дуров и создал Telegram Passport. Конечно это не новая идея, многие пытаются реализовать подобное, но когда это останавливало Павла?
↑ Что такое Telegram Passport?
Команда, стоящая за приложением, говорит, что это второй этап проекта Telegram Login, который впервые был представлен еще в феврале. На данном этапе реализованы следующие функции:
- Хранение документов в облачном хранилище с помощью сквозного шифрования, что обеспечивает их полную конфиденциальность;
- Авторизация через мессенджер, избавляет вас от необходимости заполнять множество полей;
- Возможность выбрать документы, чтобы мгновенно и безопасно послать их на проверку;
- Хранить документы пользователей в децентрализованном облаке для лучшей защиты;
- Реализовать стороннюю проверку. Это означает, что вместо отправки фотографий вашего паспорта каждому сайту, Telegram сам проверит вашу учетную запись и если она окажется реальной, позволит авторизоваться.
↑ Как пользоваться
На данный момент использовать Паспорт от Телеграмма можно только в ePayments (электронный платежный сервис), но учитывая легкость интеграции и авторитет Павла Дурова, в недалеком будущем количество сервисов, где можно авторизоваться подобным образом, будет стремительно увеличиваться.
↑ Как добавить документы
Для начала нужен сервис, который запросит идентификацию, к примеру тестовый от Телеграм по этой ссылке: https://core.telegram.org/passport/example или любой другой. В любом случае на сайте этого сервиса должна быть кнопка "Log In With Telegram" или подобная, нажмите на нее и действуйте по инструкции:
-
Если у вас не установлен облачный пароль, начать нужно с его создания. Если пароль уже установлен, просто введите его.
- Удостоверение личности
- Адрес проживания
- Номер телефона
- Email
- Паспорт
- Водительские права
- Удостоверение личности
- Коммунального счета
- Справки из банка
- Договора аренда
↑ Как редактировать информацию
Если вы хотите изменить информацию или удалить документы на Android перейдите в Настройки > Конфиденциальность и безопасность > Боты и веб-сайты > Telegram Passport
Давайте посмотрим, как он шифрует ваши персональные данные и поговорим о настоящем End-To-End.
В двух словах, как работает Passport.
- Вы локально с помощью пароля шифруете свои персональные данные (имя, email, скан паспорта, другие документы).
- Зашифрованные данные + метаинформация загружаются в облако Telegram.
- Когда нужно авторизоваться на сервисе, клиент скачивает данные из облака, расшифровывает их паролем, перешифровывает на публичный ключ того сервиса, который запросил информацию, и отправляет.
End to End по мнению разработчиков заключается в том, что облако Telegram якобы не может расшифровать ваши персональные данные, а видит только «случайный шум».
Давайте подробнее глянем на код алгоритма шифрования персональных данных из десктоп клиента, который находится тут и посмотрим, удовлетворяет ли результат его работы критериям End-To-End.
Всё начинается с пароля. Вот место, где он превращается в промежуточный ключ шифрования.
Тут берётся случайная соль, дважды конкатенируется с паролем и прогоняется через хэш SHA-512. На первый взгляд ничего необычного. Но!
Давным давно существуют способы усложнить жизнь тем, кто перебирает пароли на GPU, но разработчики Telegram решили не утруждать себя их внедрением.
Дальше. Хэшем из пароля шифруется еще один почти случайный ключ, который генерируется так:
и используется для шифрования данных вместе с еще одной штукой, о которой ниже.
Случайный он «почти», потому что разработчики телеграма никогда не слышали о HMAC и AEAD и вместо того, чтобы использовать нормальные средства для проверки корректности расшифровки, они делают так, чтобы остаток от деления суммы байт ключа был равен 239, что при расшифровке и проверяют:
Во-первых, этот массив байт получается не такой уж и случайный. Во вторых, при переборе хоть и будет много ложноположительных срабатываний, но посчитать сумму байтов после расшифровки гораздо проще чем HMAC, так что эта гениальная со всех сторон конструкция служит скорее ускорению брутфорса чем приносит пользу.
Идём дальше. Непосредственно метод, шифрующий данные. Тут много букв, поэтому по кускам:
Тут к данным дописываются от 32 до 255 случайных байт. Делается это чтобы разнообразить
переменную dataHash. Это хэш от незашифрованных данных, смешанных со случайными байтами.
Тут формируется ключ шифрования персональных данных. Он получается с помощью еще одного вызова SHA-512 от сгенерированного выше почти случайного ключа, сконкатеннированного с dataHash.
В облако передаются:
- Хэш от персональных данных, смешанных со случайными байтами
- Зашифрованный паролем почти случайный ключ
- Соль
- Зашифрованные данные
Так же большому сомнению подвергаются такие изобретённые авторами Telegram механизмы как проверка ключа на валидность с помощью суммы байт, участие самих данных в формировании ключа их же шифрования и хэш от данных вместо HMAC.
Примерный алгоритм брутфорса:
- Берем пароль по порядку, генерируем хэш от него и соли (GPU)
- Пробуем расшифровать ключ (AES-NI)
- Смотрим на сумму байт и сразу отсеиваем почти все неверные пароли.
- Формируем ключ-кандидат на расшифровывание данных с помощью еще одного вызова SHA-512 (GPU)
- Пробуем расшифровать первый блок данных (AES-NI)
- Чтобы не тратить время на полное расшифровывание и еще один SHA-256, мы можем ускорить брутфорс, проверяя первый байт выравнивания так же как они сами это делают:
Итак, мы видим, что шифрование персональных данных критически зависит от сложности пароля. Все этапы перебора отлично ускоряются аппаратно. Либо с помощью GPU, либо с помощью инструкций AES-NI. Конечно, можно установить длинный, безопасный пароль и надеяться что прокатит. Но как вы сами думаете, какой процент из двухсот миллионов пользователей телеграма будет делать пароли длиннее восьми символов?
Добавьте к этому сомнительные техники генерации ключей и проверки валидности расшифровываемой информации, которые не используют стандартные проверенные механизмы, а прямо нарушают принцип Don't roll your own crypto и станет ясно, что это не End-to-End, а сколоченная на коленке поделка от которой неприятно пахнет.
Кстати, отсутствие цифровой подписи позволяет телеграму не только забрутфорсить личные данные пользователей, но и подменять их на любые другие, например террористов.
Настоящий End-to-End
E2E называется так, потому что позволяет показывать третьим лицам зашифрованные данные не опасаясь за их сохранность. Как мы увидели, это условие новым продуктом телеграма не выполняется.
Но, к примеру, если правильно зашифровать данные не на хэш от пароля, а на публичный ключ, то никакой даже миллиардный кластер не сможет к ним и близко подобраться. Взгляните на Signal, другие мессенджеры на его основе (WhatsApp, etc). Весь мир уже давно и успешно использует современную асимметричную криптографию, алгоритмы, мешающие перебору паролей, стойкие стандартные криптографические конструкции.
Не первый год существуют и гораздо более серьезные системы защиты данных с помощью паролей, которые даже начать брутфорс не позволяют. Потому что у атакующего не будет для этого достаточного набора данных.
Но Telegram пошел своим, особым путём переизобретения криптопримитивов и ослабления защиты. Ну а что, денег им отвалили, за последствия можно не беспокоиться.
Хоть и с большим запозданием, публикую шпаргалку по telegram bot api, может, будет полезна.
Прикладываю официальную документацию, и готовый набор методов для работы с telegram. Обработку тестировал на 8.3.15.1747.
В тексте я буду давать ссылки на вторую документацию т.к. для ее просмотра не нужны премудрости для обхода блокировок.
В клиенте telegram ищем бота BotFather
Далее отправляем ему команды
/start
/newbot
Представление имени моего бота
unikalnoe_imya_bot
После этого бот выдаст нам данные для подключения, а именно токен вида 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
Скринами
Соединение
В документации написано:
Код создания соединения :
Прокси
Есть огромное количество сайтов предоставляющий список таких бесплатных прокси, я использую getMe
Я специально буду повторять блоки кода, дабы Вы копировали сразу рабочий вариант, конечно это все нужно обернуть в функции и процедуры
Метод getMe вернет в теле ответа JSON структуру
"ok":true - Означает, что авторизация прошла успешно и Ваш токен валидный.
Short polling - это классическая схема, когда отправляя запрос мы сразу получаем результат его выполнения.
т.е. вы заводите РС с обработанными update_id и каждый раз анализируете - обработан полученный id или нет. Можно завести константу с последним обработанным update_id и сравнивать ее на < или > с полученным
Для работы в такой схеме необходимо договориться с сервером - какой таймаут считать допустимым, для этого у метода
Для переключения режима обмена на вебхуки существует метод InlineKeyboardMarkup
Загрузка полученных файлов
Для этого существует GET-метод
Ответ сервиса getFile
При этом запросе сервер ответит, что все Ок
Показ привью отправленной ссылки можно отключить с помощью параметра disable_web_page_preview
Для этого нужно к запросу добавить строку &disable_web_page_preview=true
Кнопки (клавиатуры)
У метода sendMessage есть еще один очень интересный параметр - reply_markup, который отвечает за быстрые ответы.
Кнопка - это объект InlineKeyboardButton, у которого только одно обязательное поле - text
Есть еще ряд полей, основное из которых - callback_data. Это данные, которые будут отправлены после нажатия кнопки пользователем. Сюда можно записывать идентификаторы из 1С (документа или справочника), числа и т.д. для последующей обработки.
Второй полезный параметр - url, в котором указывается ссылка, которая будет открыта при нажатии на кнопку
Пример JSON-описания клавиатуры
KeyboardButton с основным полем text, данный объект можно не использовать и сразу формировать массив строк.
Еще один важный параметр клавиатуры, но не обязательным, является resize_keyboard, который отвечает за "авто высоту" кнопок.
По умолчанию данный параметр установлен в false и клавиатура растягивается на высоту основной клавиатуры, что выглядит громоздко (см. скрин в примере).
Еще один опциональный параметр - one_time_keyboard, который при установке в true скрывает клавиатуру после нажатия кнопки.
ReplyKeyboardHide - Своего рода команда управления видимостью для клавиатуры
Отправка контактов
Метод похож на sendMessage за исключением нескольких обязательных полей:
phone_number - строковое представление телефонного номера
first_name - Имя контакта
Отправка документов (файлов)
За отправку файлов отвечает POST-метод
Со строковыми значениями вопросов не возникает - делаем СтрЗаменить и все, но есть еще и содержимое файла, которое нужно в итоговый запрос подсунуть.
Для решения этой проблемы у 1С есть метод ОбъединитьФайлы, который объединяет переданный в него массив файлов в один.
Разделим шаблон на части - певая это текст до %СодержимоеФайла%, а вторая это текст после %СодержимоеФайла%. Запишем эти 2 текста в файлы и используем ОбъединитьФайлы подсунув между текстовиками отправляемый файл.
Как создавать папки с чатами в Телеграм
Инструкция идентична для версий Telegram на iPhone, Android, macOS и Windows.
1. Откройте приложение Телеграм и перейдите в Настройки.
3. Для создания новой папки, нажмите на соответствующую кнопку.
4. Созданные папки появятся в самом верху вкладки «Чаты».
5. Создать новую папку или настроить существующие можно при помощи нажатия и удерживания вкладки «Чаты» до появления всплывающего меню.
или нажатием и удержанием самой папки.
В папки можно включить и исключить все чаты определенного типа, например, каналы, группы или непрочтенные. Папки становятся доступными в интерфейсе, когда список чатов окажется достаточно длинным и начинается нагромождение.
Сколько чатов можно закрепить в каждой папке?
В каждой из папок можно закрепить неограниченное число чатов.
Как удалить папку с чатами в Telegram?
Для удаления папки с чатами,
1. Перейдите по пути Настройки → Папки с чатами и нажмите кнопку Изменить.
2. Нажмите на значок «–» напротив папки, которую необходимо удалить и подтвердите действие.
Кроме того, папки можно удалять прямо из вкладки Чаты. Для этого необходимо нажать и удерживать палец на наименовании папки (в компьютерной версии Telegram используйте правую кнопку мыши). В появившемся меню выберите Убрать (Удалить).
При удалении папки с чатами сами чаты не удаляются.
Архив, или как скрывать выборочные чаты в Telegram?
Архив в Telegram представляет собой папку с чатами в общем списке чатов. Здесь можно хранить не самые важные для вас чаты, но которые могут оказаться вновь полезными в будущем.
Для того чтобы добавить чат в Архив на iPhone, проведите свайпом справа налево по чату и нажмите кнопку Архив (на Android используйте длительное нажатие, а в компьютерной версии – правую кнопку мыши).
Для того чтобы чат всегда оставался в Архиве необходимо отключить его уведомления. Для этого, откройте чат, коснитесь его наименования в самом верху и нажмите кнопку Звук.
В появившемся меню выберите вариант Выключить уведомления.
Для возврата чата в общий список чатов, проведите по беседе справа налево и нажмите Вернуть.
Телеграм для Windows, Mac и Linux
Как и все в Telegram (кроме секретных чатов), папки с чатами будут естественным образом синхронизироваться со всеми другими подключенными приложениями, в том числе и с настольными. Более того, наличие свободного места на экране компьютера позволило добавить боковую панель с папками и некоторые значки, для повышения узнаваемости этих элементов.
Мы рекомендуем использовать мультиплатформенное приложение Telegram Desktop для Windows, Mac и Linux. В противном случае вы будете использовать лишь половину функций сервиса.
Как смотреть подробную статистику канала в Telegram
Если у вас есть канал с более чем 1000 подписчиками, теперь вы можете просмотреть подробную статистику о его росте и эффекте его постов.
С помощью этой информации можно узнать, что работает, и что работает действительно хорошо.
Для доступа к статистике канала, нажмите на кнопку Еще и выберите пункт Статистика во всплывающем меню.
Как открыть меню скрытых настроек в Telegram
Любопытные пользователи обнаружили недокументированные возможности клиента, которые нетрудно при желании активировать. Чтобы попасть в скрытое меню с настройками, необходимо быстро 10 раз (5 раз в клиенте для компьютера) нажать на иконку с настройками. Перед вами появится меню для разработчиков.
Можно попробовать активировать и деактивировать другие функции, но делать это на свой страх и риск. Все же данные вещи не предназначены для релизов и в зависимости от версии клиента могут работать не всегда стабильно.
Анимация при записи голоса на Android
Дизайнеры Telegram добавили несколько причудливых анимаций в виде волны под пальцем при записи голосового или видеообращения.
Совет дня: Знаете ли вы, что можете двинуть пальцем вверх, чтобы зафиксировать запись и продолжать говорить, не удерживая кнопку?
Как подбросить игральный кубик в Telegram
Вы вынужденно ведете домашний образ жизни и вам не хватает ваших друзей и партнеров по играм? Отправьте смайлик эмодзи игровой кости в любой чат, чтобы увидеть анимацию с брошенным кубиком и выпавшим действительно случайным числом.
Помимо того, что вы попытались проверить свою удачу, вы можете использовать этот прием в качестве помощника, если групповой опрос или дружеские дебаты заканчиваются раздельным решением. Выберите номер – победит тот, кто ближе всего оказался к результату!
Читайте также: