Один плохой подпись сможет вывести все средства с вашего счета на Ethereum после EIP-3074.
Да, это правда. 3074 соавтор здесь! Позвольте мне немного успокоить эту озабоченность, прежде чем она выйдет из-под контроля.
Для начала: я не знаю ни одного кошелька, который поддерживает подписание данных без префикса сегодня. Это означает, что в настоящее время ни один кошелек не поддерживает 3074. Не важно, сколько панелей управления вы просматриваете или насколько продвинутые функции вы включаете. Сегодня невозможно подписать сообщение 3074.
Сообщения, которые вы подписываете, чтобы «войти» в dapps, используют совершенно другой стандарт, основанный на EIP-191. Это добавляет следующие данные к сообщению, которое вы подписываете:
“””
0x19 <0x45 (E)> <сообщение с подписью Ethereum:\n” + len(message)> <данные для подписи>
“””
Вот что делает невозможным обмануть кого-то, входящего в dapp, чтобы действительно подписать действительную транзакцию Ethereum.
Транзакции предваряются однобайтовыми значениями:
0x01 - 2930 tx
0x02 - 1559 tx
0x03 - 4844 транзакции
дополнительная информация здесь:https://github.com/ethereum/execution-specs/tree/master/lists/signature-types
3074 планирует использовать префикс 0x04. Это позволит однозначно отличить его от всех других типов данных, подлежащих подписанию, в Ethereum.
Кошельки должны будут активно соглашаться на разрешение пользователям подписывать эти сообщения.
В зависимости от того, как кошельки интегрируют 3074, они могут создать ситуацию, в которой их пользователей можно легче эксплуатировать. Чтобы понять это, нам нужно убедиться, что мы понимаем, как работают подписи 3074.
Сообщение об авторизации, над которым построена подпись, содержит следующие поля. Важно, что в него входит адрес вызывающего. Это единственный адрес, при котором подпись будет считаться действительной для AUTH.
Для того, чтобы счет был обнулен, 1) кошелек должен позволять пользователям подписываться на любой адрес вызывающего и 2) пользователям необходимо не проверять, доверяют ли они вызывающему. Если выполнить хотя бы одно из этих условий, проблем не будет.
Для 1) мы надеемся, что кошельки поймут, что 3074 инвокеры больше похожи на расширения их кода, чем на контракты. Кошельки не дают пользователям свободу запускать произвольный код с доступом к их pk; аналогично, они не должны позволять пользователям произвольно делегировать свои счета.
Итак, если кошельки интегрируют 3074 небезопасно ипользователи не проверяют вызывающего лица, с которым они взаимодействуют, поэтому возможно делегировать зловредному вызывающему лицу.
Однако это можно отменить, отправив один tx с EOA. Это отменяет все "в процессе" подписи AUTH.
Как минимум, кошельки должны делать подписание сообщения 3074 большим событием. Это как уровень экспорта вашего частного ключа.
Предполагая, что кошелек безопасно интегрирует 3074, все еще возможно, что счет будет сброшен. Это фундаментальное свойство пакетных транзакций. Он также позволяет вам легко отправлять несколько операций, как и злоумышленнику, обманывать вас и отправлять пакет активов на адрес, который они контролируют.
Кошельки должны четко отображать каждую операцию, которую вы подписываете. Таким образом, легко заметить: "Я планировал совершить только одну сделку, но эта просьба о подписании заставляет меня совершить также дюжину трансферов".
Будет невозможно обнаружить это, если пакетная обработка доступна через слепую подпись.
Да, 3074 полностью доверяет кошелькам. Но подумайте, мы уже доверяем им безопасно хранить наш закрытый ключ! Высшего уровня доверия не бывает.
Возможно безопасно интегрировать и использовать 3074. Если у каких-либо кошельков есть вопросы о том, как они могут это сделать, пожалуйста, не стесняйтесь обращаться. Как авторы 3074, мы в настоящее время разрабатываем, как мы можем лучше помочь этому стандарту на следующем этапе его жизни.
За последние несколько лет мы провели много времени, разрабатывая гипотетические сценарии использования и злоупотребления. Мы с нетерпением ждем, когда эти идеи начнут воплощаться в жизнь. Но мы также осознаем, что это сложная часть.
Эта статья, первоначально озаглавленная «Одна плохая подпись сможет слить ваш аккаунт в Ethereum после EIP-3074», воспроизводится из [легкие клиентыВсе авторские права принадлежат оригинальному авторулегкие клиенты]. Если у вас есть возражения против перепечатки, пожалуйста, свяжитесь с Gate Learnкоманда, команда обработает это как можно скорее.
Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не составляют инвестиционных советов.
Перевод статьи на другие языки выполняется командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
分享
目录
Один плохой подпись сможет вывести все средства с вашего счета на Ethereum после EIP-3074.
Да, это правда. 3074 соавтор здесь! Позвольте мне немного успокоить эту озабоченность, прежде чем она выйдет из-под контроля.
Для начала: я не знаю ни одного кошелька, который поддерживает подписание данных без префикса сегодня. Это означает, что в настоящее время ни один кошелек не поддерживает 3074. Не важно, сколько панелей управления вы просматриваете или насколько продвинутые функции вы включаете. Сегодня невозможно подписать сообщение 3074.
Сообщения, которые вы подписываете, чтобы «войти» в dapps, используют совершенно другой стандарт, основанный на EIP-191. Это добавляет следующие данные к сообщению, которое вы подписываете:
“””
0x19 <0x45 (E)> <сообщение с подписью Ethereum:\n” + len(message)> <данные для подписи>
“””
Вот что делает невозможным обмануть кого-то, входящего в dapp, чтобы действительно подписать действительную транзакцию Ethereum.
Транзакции предваряются однобайтовыми значениями:
0x01 - 2930 tx
0x02 - 1559 tx
0x03 - 4844 транзакции
дополнительная информация здесь:https://github.com/ethereum/execution-specs/tree/master/lists/signature-types
3074 планирует использовать префикс 0x04. Это позволит однозначно отличить его от всех других типов данных, подлежащих подписанию, в Ethereum.
Кошельки должны будут активно соглашаться на разрешение пользователям подписывать эти сообщения.
В зависимости от того, как кошельки интегрируют 3074, они могут создать ситуацию, в которой их пользователей можно легче эксплуатировать. Чтобы понять это, нам нужно убедиться, что мы понимаем, как работают подписи 3074.
Сообщение об авторизации, над которым построена подпись, содержит следующие поля. Важно, что в него входит адрес вызывающего. Это единственный адрес, при котором подпись будет считаться действительной для AUTH.
Для того, чтобы счет был обнулен, 1) кошелек должен позволять пользователям подписываться на любой адрес вызывающего и 2) пользователям необходимо не проверять, доверяют ли они вызывающему. Если выполнить хотя бы одно из этих условий, проблем не будет.
Для 1) мы надеемся, что кошельки поймут, что 3074 инвокеры больше похожи на расширения их кода, чем на контракты. Кошельки не дают пользователям свободу запускать произвольный код с доступом к их pk; аналогично, они не должны позволять пользователям произвольно делегировать свои счета.
Итак, если кошельки интегрируют 3074 небезопасно ипользователи не проверяют вызывающего лица, с которым они взаимодействуют, поэтому возможно делегировать зловредному вызывающему лицу.
Однако это можно отменить, отправив один tx с EOA. Это отменяет все "в процессе" подписи AUTH.
Как минимум, кошельки должны делать подписание сообщения 3074 большим событием. Это как уровень экспорта вашего частного ключа.
Предполагая, что кошелек безопасно интегрирует 3074, все еще возможно, что счет будет сброшен. Это фундаментальное свойство пакетных транзакций. Он также позволяет вам легко отправлять несколько операций, как и злоумышленнику, обманывать вас и отправлять пакет активов на адрес, который они контролируют.
Кошельки должны четко отображать каждую операцию, которую вы подписываете. Таким образом, легко заметить: "Я планировал совершить только одну сделку, но эта просьба о подписании заставляет меня совершить также дюжину трансферов".
Будет невозможно обнаружить это, если пакетная обработка доступна через слепую подпись.
Да, 3074 полностью доверяет кошелькам. Но подумайте, мы уже доверяем им безопасно хранить наш закрытый ключ! Высшего уровня доверия не бывает.
Возможно безопасно интегрировать и использовать 3074. Если у каких-либо кошельков есть вопросы о том, как они могут это сделать, пожалуйста, не стесняйтесь обращаться. Как авторы 3074, мы в настоящее время разрабатываем, как мы можем лучше помочь этому стандарту на следующем этапе его жизни.
За последние несколько лет мы провели много времени, разрабатывая гипотетические сценарии использования и злоупотребления. Мы с нетерпением ждем, когда эти идеи начнут воплощаться в жизнь. Но мы также осознаем, что это сложная часть.
Эта статья, первоначально озаглавленная «Одна плохая подпись сможет слить ваш аккаунт в Ethereum после EIP-3074», воспроизводится из [легкие клиентыВсе авторские права принадлежат оригинальному авторулегкие клиенты]. Если у вас есть возражения против перепечатки, пожалуйста, свяжитесь с Gate Learnкоманда, команда обработает это как можно скорее.
Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не составляют инвестиционных советов.
Перевод статьи на другие языки выполняется командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.