Вернуться   Биткоин Форум > Торговля - Обсуждение
22 декабря 2011, 11:43:39 PM   # 1
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
TL; DR: хотя все три обменов технически "использовать аутентификацию HmacSHA512", Есть существенные различия, и вы не можете использовать точно такой же код для всех трех из них.

API-интерфейсы из MtGox, Bitfloor и CryptoXChange все проверки подлинности запросов при наличии вызывающему включают HmacSHA512-подписи сообщени HTTP POST в качестве дополнительного заголовка. Однако, есть некоторые различия, которые я хочу, чтобы люди знали:

MtGox и Bitfloor использовать ключи, один блок (64 байт) длиной когда Base64-декодированию, в то время как CryptoXChange использует смешные ключи 43-байтовые. Но смотри ниже относительно Bitfloor.

Все три биржи поставить ключ к вам в Base64-закодированной форме. Однако - и это действительно странно часть:

- Bitfloor хочет, чтобы вы использовать буквальный ASCII байты ключа в кодировке base64 в качестве ключа подписи, давая ключ 88 байт.

- CryptoXChange хочет, чтобы вы Base64-декодирование ключа в 43 байт и использовать эти байты.

- MtGox позволит вам сделать или вышеперечисленное, если вы включите свой пароль в POST, как &передать = XXX.  На самом деле, вы можете включать в себя полностью поддельном Rest-Sign подпись. Смелее, попробуйте!

Ни одно из этого не упомянуто ни в одном из API ДОКУМЕНТОВ.  Я подтвердил все вышесказанное (и то, что работает а также то, что не на каждый обмен) путем натурных испытаний против трех API.

На мой взгляд, то, что Bitfloor делает сломана, то, что CryptoXChange делает правильно, и MtGox это быть хорошим, поддерживая звонки с битым кодом.

Вот некоторые Java-код, который иллюстрирует разницу в точных терминах:

    общественности статической строки computeSignature (алгоритм String, String baseString, байт [] ключ)
        бросает GeneralSecurityException, UnsupportedEncodingException {
        SecretKey SecretKey = NULL;
        SecretKey = новый SecretKeySpec (ключ, алгоритм);
        Mac Mac = Mac.getInstance (алгоритм);
        mac.init (SecretKey);
        mac.update (baseString.getBytes ());
        вернуть новую строку (Base64.encodeBase64 (mac.doFinal ())) подрезать ().
   }

Так CryptoXChange вы

    computeSignature ("HmacSHA512", PostBody, Base64.decode (SecretKey))

для Bitfloor вы делаете

    computeSignature ("HmacSHA512", PostBody, secretKey.getBytes ())

И MtGox вы можете сделать что-либо до тех пор, как ваш пароль в теле POST.

eldentyrell сейчас офлайн Пожаловаться на eldentyrell   Ответить с цитированием Мультицитирование сообщения от eldentyrell Быстрый ответ на сообщение eldentyrell


Как заработать Биткоины?
Без вложений. Не майнинг.


23 декабря 2011, 5:29:58 AM   # 2
 
 
Сообщения: 305
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Получил 1806 Биткоинов
Реальная история.





Привет Элден,

Очень высокую оценку, это будет очень полезно для людей и Арбитража, как мы все уже BitInstant на конец этой недели.

Большое спасибо за то, кто знает, поскольку большинство трейдеров хотят торговать между этими биржами.

С уважением

Crypto X Изменить
cryptoxchange сейчас офлайн Пожаловаться на cryptoxchange   Ответить с цитированием Мультицитирование сообщения от cryptoxchange Быстрый ответ на сообщение cryptoxchange

24 декабря 2011, 1:02:59 AM   # 3
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

это будет очень полезно для людей и Арбитража, как мы все уже BitInstant на конец этой недели.

BitInstant может избавиться от арбитражных возможностей, которые сидят открыты в течение нескольких часов (или дней) на конце, но я не думаю, что он собирается изменить те, которые длятся в течение получаса. BitInstant быстро, но не так быстро.

Если вы хотите обмены стать более интегрированными (что является преимуществом небольших обменов) самое главное, что вы можете сделать, это убедиться, что можно вывести БТД через API.  Это позволит сделать арбитражеры охотнее оставить большие остатки на вашей бирже (так как они могут быть перемещены в другом месте по tradebot в середине ночи, если это необходимо), который увеличит ликвидность.

MtGox и CampBX являются только два обмена, которые позволяют вывод-через-API. Tradehill утверждает, что предложить, но это на самом деле не работает (обменял несколько писем с их технической поддержкой, и мы пришли к такому выводу).

Это не такая большая проблема для меня лично, так как я в основном шахтера и мое присутствие на биржах в основном только способ убедиться, что я получаю лучшие цены для своих минных монет. Но теперь, когда я выполнил все API, я мог бы также работать немного арбитража.
eldentyrell сейчас офлайн Пожаловаться на eldentyrell   Ответить с цитированием Мультицитирование сообщения от eldentyrell Быстрый ответ на сообщение eldentyrell

24 декабря 2011, 8:50:57 PM   # 4
 
 
Сообщения: 305
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Здравствуй,

Да, мы не добавили вывести VIA API только пока, как безопасность для наших клиентов, мы можем определенно включить его, мы просто хотим, чтобы убедиться, что первое, что нет никаких бедствий, у нас есть отзывать Pincode и т.д., которые должны быть добавлены для каждого лица бота и т.д. для этой функции, которая может помочь безопасности дополнительно.

Благодаря!

С уважением

Crypto X Изменить
cryptoxchange сейчас офлайн Пожаловаться на cryptoxchange   Ответить с цитированием Мультицитирование сообщения от cryptoxchange Быстрый ответ на сообщение cryptoxchange

24 декабря 2011, 9:12:10 PM   # 5
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Поведение Mtgox здесь неприемлемо. Она полностью аннулирует Yubikey. Любой человек может вывести свои средства только с моим непредставленным / военнопленным Исправьте это сейчас, заставить людей обновлять свой код вместо того, чтобы бессмысленно все усилия, которые вы вложили в создание безопасной API. Я уже обновил рубин привязки, так что я знаю, что это не так сложно, чтобы перейти на новый механизм аутентификации. Люди будут скулить, но вы не можете позволить себе еще один облом безопасности.
notme сейчас офлайн Пожаловаться на notme   Ответить с цитированием Мультицитирование сообщения от notme Быстрый ответ на сообщение notme

27 декабря 2011, 2:59:53 AM   # 6
 
 
Сообщения: 243
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Почему вы думаете, что bitfloor делает сломана? Я был бы рад предложить альтернативные способы отправки байт, однако, мне кажется, совершенно ясно, что посылая строку ASCII, мы предоставляем вам с сайта очень прямо вперед. Я постараюсь сделать документацию более ясно по этому вопросу в любом случае.
shtylman сейчас офлайн Пожаловаться на shtylman   Ответить с цитированием Мультицитирование сообщения от shtylman Быстрый ответ на сообщение shtylman

27 декабря 2011, 11:08:01 PM   # 7
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Почему вы думаете, что bitfloor делает сломана? Я был бы рад предложить альтернативные способы отправки байт, однако, мне кажется, совершенно ясно, что посылая строку ASCII, мы предоставляем вам с сайта очень прямо вперед.

Shtylman, я думаю, вы перепутали, что вы называете "апи-ключ" и "втор-ключ" (Кажется, что каждый обмен делает свои собственные слова для "имя пользователя" а также "пароль" - Argh).

То, что вы называете "апи-ключ" это как имя пользователя. Вы правы, это должно быть отправлено в виде ASCII байтов в "bitfloor ключ" заголовок.

Однако, Ваше обращение "втор-ключ" сломан.  Вы обеспечиваете его пользователям как строка Base64; что они должны сделать, это Base64-декодировать его в 64 байт и использовать их, чтобы подписать запрос. Вместо этого вы заставляете пользователь использовать 88 ASCII байт второв-ключ, чтобы сделать подписание. Это глупо! Зачем беспокоиться о Base64-кодировке, если пользователь не собирается когда-либо Base64-декодировать? Вы можете также использовать некоторые случайные строки символов.
eldentyrell сейчас офлайн Пожаловаться на eldentyrell   Ответить с цитированием Мультицитирование сообщения от eldentyrell Быстрый ответ на сообщение eldentyrell

29 декабря 2011, 2:24:39 PM   # 8
 
 
Сообщения: 243
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Вы правы в том, что пользователь должен base64-декодировать строку и использовать эти байты подписать (в конечном итоге с 64 байтами они могут использовать для входа). Это была оплошность с моей стороны при выполнении начальной обработки подписи. Я сделаю эти изменения.

Поэтому мы base64 кодирование байтов, в первую очередь потому, что мы должны предоставить пользователю 64 байт случайных данных. Для того, чтобы сделать это, мы генерируем эти случайные байты, а затем нужно закодировать их для отображения в Интернете. В противном случае символы были бы бред. Если бы мы использовали только случайную строку длиной 64, что не будет 64 случайных байтов (и пространство поиска будет гораздо меньше). Точно так же, просто случайная строка из 88 символов, все равно не 88 случайных байт (если сделаны в ASCII для отображения легко).

Я не знаю, почему CryptoXChange только использует 44 байт, как не достаточно для SHA512. А поведение MtGox с обходя поле знака вообще, кажется, совершенно неправильно и не попадает в точку, не используя пароль в запросах (я не подтвердил ваше заявление по этому вопросу). Сказать, что MtGox позволит вам либо, если вы укажете пароль кажется неправильным. Похоже, что только минует подписание в целом.
shtylman сейчас офлайн Пожаловаться на shtylman   Ответить с цитированием Мультицитирование сообщения от shtylman Быстрый ответ на сообщение shtylman

30 декабря 2011, 6:10:41 PM   # 9
 
 
Сообщения: 243
Цитировать по имени
цитировать ответ
по умолчанию Re: API маразм: вариации HmacSHA512 на MtGox против Bitfloor против CryptoXChange

Я толкнул новую версию REST шлюзу как testnet, а также в производственной среде. Эта новая версия поддерживает оба варианта (используя строку ASCII непосредственно, и используя 64 декодированного байт).

Пользователи АФИ должны переключиться на декодированный вариант в ближайших неделях. Я буду протестующим предыдущее использование только исходных символов ASCII в течение месяца (после отправки по электронной почте для всех пользователей и давая им время, чтобы перенести).

Пожалуйста, дайте мне знать, если у вас возникли какие-либо проблемы или проблемы с новой схемой и поблагодарить Вас за отчет об итогах выпуска.
shtylman сейчас офлайн Пожаловаться на shtylman   Ответить с цитированием Мультицитирование сообщения от shtylman Быстрый ответ на сообщение shtylman



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW