Monacoinのハードウェアウォレットを作ってみた

科学・IT ハードウェアウォレット

19 Res. 11.61596456 MONA 7 Fav.

1 :ねずみ五段:2017/07/19 17:41:02  11.61254114MONA/3人

Arduinoで、Monacoinのハードウェアウォレットを作ってみました。
https://github.com/nezumi-tech/mona_hardware_wallet

機能はアドレスと秘密鍵の保存(パスワード付き)のみ。

スケッチをArduinoに書き込んだあと、9600bpsの改行コードなしでCOM接続
初期アドレス「InitialAddressXXXXXXXXXXXXXXXXXXXX」
初期秘密鍵「InitialPrivateKeyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX」
初期パスワード「000000」

Monaのアドレスと秘密鍵はこれで作ればいいはず。
http://neoblog.itniti.net/monacoin-paper-wallet-1/
https://github.com/monax775/monaaddress.org_2

なお、使用は自己責任でお願いします。

2 :ねずみ五段:2017/07/19 17:42:58  0MONA/0人

盛り蕎麦コードかつバグだらけなので、プルリク歓迎です。

3 :ねずみ五段:2017/07/19 20:47:51  0MONA/0人

Arduino互換機はこれとかが安いと思います。
https://www.amazon.co.jp/dp/B00E5WJSHK/

4 :人畜無害二段:2017/07/19 21:07:36  0MONA/0人

>>3
中華製のやつなら(運次第で)クソ安いやつがゴロゴロあるぞ(信頼性なんぞ無いぞ)
届くまでが2週間掛かるのがざらだが

ボソ(ATmega16u2を積んでるやつは当たりかな)

5 :人畜無害二段:2017/07/19 23:28:09  0.00114114MONA/1人

プルリク送った

https://github.com/nezumi-tech/mona_hardware_wallet/pull/1

6 :ねずみ五段:2017/07/19 23:57:32  0MONA/0人

>>5
プルリクありがとうございます。
マージしました。

7 :ねずみ五段:2017/07/20 00:33:12  0MONA/0人

アドレス34文字と秘密鍵51文字を保存するだけなので、他のコインにも使えそう。
パスワード総当たり攻撃の対策をせねば…

8 :人畜無害二段:2017/07/20 07:04:28  0MONA/0人

>>7
LANシールド必須だけど変更時にワンタイムパスワードみたいなのを発行するとかも良いかも

9 :人畜無害二段:2017/07/20 18:51:06  0MONA/0人

今朝、俺のプルリクが結構間違えてることに気づいた
久しぶりにやったけど全然覚えてないや

10 :ねずみ五段:2017/07/20 20:24:29  0MONA/0人

>>9
コンパイル通ったので大丈夫…(分かってない

11 :人畜無害二段:2017/07/20 20:49:18  0MONA/0人

>>10
まぁソース的には問題はないですからね(不安ではある)

Flashの記憶領域ってどのような構造になっていますか?
0-33がAddressって感じで教えてもらえるとありがたいです

12 :人畜無害二段:2017/07/20 21:48:13  0MONA/0人

ソースを眺めてて

1.アドレス
2.プライベートキー
3.パスワード
4.初期化したかのキー?

な感じかな

13 :人畜無害二段:2017/07/20 21:55:44  0.00114114MONA/1人

プルリク送りました

アドレス表示時の一文字足りなかったので修正がてら一部を除いたFlashのアドレスとサイズをマクロを使ったものに変更しました(typo防止)

https://github.com/nezumi-tech/mona_hardware_wallet/pull/2

14 :人畜無害二段:2017/07/20 21:57:25  0.00114114MONA/1人

forの記法だけど

パスワードのあたり
for(int i=0; i<= 5; i++) {
}

から

for(int i=0; i<6; i++) {
}

で良いならすべて楽に直せる...(やってることは同じ)

15 :ねずみ五段:2017/07/20 21:59:23  0MONA/0人

>>13
ありごとうございます。マージしました。
もう読めない(へっぽこ

16 :ねずみ五段:2017/07/20 22:01:46  0MONA/0人

>>12
その通りです。

17 :人畜無害二段:2017/07/20 22:55:09  0MONA/0人

>>15
ちょっと見やすさとかあまり考えてないのでスイマセン

18 :Monaparty名無し八段:2017/07/21 07:05:52  0MONA/0人

>>14 更に重箱の隅へ行くと
スコープ内での char 配列の操作なので

for (size_t i = 0; i < sizeof(配列変数名); i++) {

に書き直せるっぽい
即値は論外だけれども
マクロも少ないに越したことはない
(Sketch にも stddef.h はあったよね?)

19 :ねずみ五段:2017/07/22 12:48:03  0MONA/0人

ある程度マトモなプログラムができたら、基板起こして専用arduino互換機作るかも。

お気に入り

新規登録してMONAをもらおう

登録すると、投稿したり、MONAをもらったりすることができます。質問したり、答えたりしてMONAを手に入れてください。

新規登録ログイン