“Один поганий підпис зможе висушити ваш обліковий запис на Ethereum після EIP-3074.”
Так; це правда. 3074 співавтор тут! Дозвольте мені трохи заспокоїти це занепокоєння, перш ніж воно вийде з-під контролю.
На початку: я не знаю жодного гаманця, який підтримує підписування даних без префіксів сьогодні. Це означає, що наразі жоден гаманець не підтримує 3074. Не має значення, скільки панелей керування ви проходите або які розширені функції ви активуєте. Сьогодні неможливо підписати повідомлення 3074.
Повідомлення, які ви підписуєте для «входу» в додатки, використовують зовсім інший стандарт, заснований на EIP-191. Це додає наступні дані до повідомлення, яке ви підписуєте:
“””
0x19 <0x45 (E)> <підписане повідомлення Ethereum:\n” + len(message)> <дані для підпису>
“””
Ось що робить неможливим спробу обдурити когось, хто входить в додаток, щоб фактично підписати дійсну транзакцію Ethereum.
Транзакції починаються з однобайтових значень:
0x01 - 2930 tx
0x02 - 1559 tx
0x03 - 4844 tx
додаткова інформація тут: 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, все ще можливо, щоб рахунок був розчищений. Це є фундаментальною властивістю пакетних txs. Це так само легко дозволяє вам надсилати кілька операцій, як і дозволяє нападнику зманити вас надіслати пакет активів на адресу, яку вони контролюють.
Гаманці повинні чітко відображати кожну операцію, яку ви підписуєте. Таким чином, легко помітити «Я планував здійснити лише одну угоду, але цей запит на підпису змушує мене також здійснити дюжину переказів».
Це буде неможливо виявити, якщо пакування доступне за допомогою сліпого підпису.
Так, 3074 дуже довіряє гаманцям. Але подивіться, ми вже довіряємо їм безпечно наш приватний ключ! Немає вищого рівня довіри.
Можливо безпечно інтегрувати та використовувати 3074. Якщо у якихось гаманцях є питання, як вони можуть це зробити, будь ласка, не соромтеся звертатися. Як автори 3074, ми зараз вирішуємо, як ми можемо найкращим чином допомогти цьому стандарту в його наступній фазі життя.
Протягом останніх кількох років ми витратили багато часу на розробку гіпотетичних сценаріїв того, як це може бути використано та зловжито. Ми з нетерпінням чекаємо, коли ці ідеї почнуть бути впроваджені в життя. Але ми також усвідомлюємо, що це важка частина.
Ця стаття з оригінальною назвою «Один поганий підпис зможе спустошити ваш обліковий запис на Ethereum після EIP-3074» відтворено з [легкі клієнти]. Усі авторські права належать оригінальному автору [легкі клієнти]. Якщо у вас є які-небудь заперечення стосовно репринту, будь ласка, зв'яжіться з Gate Learnкоманда, команда якнайшвидше займеться цим.
Попередження: Погляди та думки, висловлені в цій статті, відображають лише особисті погляди автора і не становлять жодних інвестиційних порад.
Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.
Share
Content
“Один поганий підпис зможе висушити ваш обліковий запис на Ethereum після EIP-3074.”
Так; це правда. 3074 співавтор тут! Дозвольте мені трохи заспокоїти це занепокоєння, перш ніж воно вийде з-під контролю.
На початку: я не знаю жодного гаманця, який підтримує підписування даних без префіксів сьогодні. Це означає, що наразі жоден гаманець не підтримує 3074. Не має значення, скільки панелей керування ви проходите або які розширені функції ви активуєте. Сьогодні неможливо підписати повідомлення 3074.
Повідомлення, які ви підписуєте для «входу» в додатки, використовують зовсім інший стандарт, заснований на EIP-191. Це додає наступні дані до повідомлення, яке ви підписуєте:
“””
0x19 <0x45 (E)> <підписане повідомлення Ethereum:\n” + len(message)> <дані для підпису>
“””
Ось що робить неможливим спробу обдурити когось, хто входить в додаток, щоб фактично підписати дійсну транзакцію Ethereum.
Транзакції починаються з однобайтових значень:
0x01 - 2930 tx
0x02 - 1559 tx
0x03 - 4844 tx
додаткова інформація тут: 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, все ще можливо, щоб рахунок був розчищений. Це є фундаментальною властивістю пакетних txs. Це так само легко дозволяє вам надсилати кілька операцій, як і дозволяє нападнику зманити вас надіслати пакет активів на адресу, яку вони контролюють.
Гаманці повинні чітко відображати кожну операцію, яку ви підписуєте. Таким чином, легко помітити «Я планував здійснити лише одну угоду, але цей запит на підпису змушує мене також здійснити дюжину переказів».
Це буде неможливо виявити, якщо пакування доступне за допомогою сліпого підпису.
Так, 3074 дуже довіряє гаманцям. Але подивіться, ми вже довіряємо їм безпечно наш приватний ключ! Немає вищого рівня довіри.
Можливо безпечно інтегрувати та використовувати 3074. Якщо у якихось гаманцях є питання, як вони можуть це зробити, будь ласка, не соромтеся звертатися. Як автори 3074, ми зараз вирішуємо, як ми можемо найкращим чином допомогти цьому стандарту в його наступній фазі життя.
Протягом останніх кількох років ми витратили багато часу на розробку гіпотетичних сценаріїв того, як це може бути використано та зловжито. Ми з нетерпінням чекаємо, коли ці ідеї почнуть бути впроваджені в життя. Але ми також усвідомлюємо, що це важка частина.
Ця стаття з оригінальною назвою «Один поганий підпис зможе спустошити ваш обліковий запис на Ethereum після EIP-3074» відтворено з [легкі клієнти]. Усі авторські права належать оригінальному автору [легкі клієнти]. Якщо у вас є які-небудь заперечення стосовно репринту, будь ласка, зв'яжіться з Gate Learnкоманда, команда якнайшвидше займеться цим.
Попередження: Погляди та думки, висловлені в цій статті, відображають лише особисті погляди автора і не становлять жодних інвестиційних порад.
Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.