monatrustの活用法 その1
はじめまして。じゅんじゅんです。monatrustって聞いたことありますか?
mona界隈の人であればちょっとはTwitterで目にしたことがあるかもしれませんね。でも、地味なサービスなので、登録しても何がいいことあるのかよくわからないと思います。そこで、今回から数回に渡って、monatrustの具体的な活用法を連載していきたいと思います。
その1 普通に使う
普通って何?って思うかもしれませんが、電子署名といったとき、これがいちばん最初に思いつく使い方ではないでしょうか。(ちがう?)
毎月取引しているTwitterのALICEさんから次のようなメールが届きました。
今月もお取引ありがとうございました。
今月の請求額は98,000円になります。
また、今月から代金は以下の口座にお振込みください。
モナ銀行 第一支店 普通 xxxxxxxx
よろしくお願いします。
このメールを読んで、あなたは言われた通り指定の口座に振り込みますか?メールアカウントが乗っ取られているかも、、と考えるとちょっと怖いですね。
そんな時、署名を使いましょう。
- ALICEから、上記メッセージと一緒にメッセージに対する署名、署名鍵に対応するアドレスを送ってもらいます。
-
monatrastで、送ってもらったアドレスで検索して、たしかにTwitterのALICEさんのアドレスであることを確かめます。
-
①メッセージ、②署名、③アドレスの3点セットを使って検証を行います。
検証に成功したら、それは確かにALICEさんが書いたメッセージであり改ざんもされていないといえます。安心して振込を行いましょう。
さて、最初なので少し詳細に解説します。
1.でALICEはどうやって署名を作成するか。
自前でMonacoin署名を計算するのがベストですが、monatrustをトラストしてくれるのであれば、monatrustのsign message機能を使って簡単に署名を作成できます。(copyボタンを押せば、↓の形式でクリップボードにコピーできます。)
--message begin--
今月もお取引ありがとうございました。
今月の請求額は98,000円になります。
また、今月から代金は以下の口座にお振込みください。
モナ銀行 第一支店 普通 xxxxxxxx
よろしくお願いします。
--message end--
--address--
MJehBJHrp8W46XFNpr2QZiy9vRqMVKNpPq
--signature--
IKfgU4EPkMUwLsukq9icVZeVCxEVK7HODiuuIBqsRN5oZOpYfdOr0Qq0JvyJvI+CnnnrGUd60Cm/Ex7HNq+jGtY=
2.の確認について。
送ってもらったアドレスで検索して、Twitter ALICEが出てきたからこれは正しいアドレスだと信じるのはけっこう危険です。なぜなら、悪いやつがALICEを騙って自分のアドレスと紐づけて登録しているかもしれないからです。
じゃあどうすれば良いかというと、証明書の右下のボタンを押して、この証明書にだれが署名してくれているのか確かめてみましょう。あなた自身のアドレスが出てきたなら、あなたは「このアドレスはTwitterのALICEさんのアドレスだ」と信じているということです。(そうですよね?)
あなた自身のアドレスが出てこなかったら、「信頼の輪 ~ Web Of Trust ~」の出番です。出てきたアドレスの右下のボタンを押すと、そのアドレスの証明書がいくつか表示されるはずです。その中にあなたが署名しているものがあり、かつ、"その人が信用に足る人物であると思う"のであれば、メールで送られてきたアドレスはTwitterのALICEのものであると考えて良いかもしれません。
1ステップの信頼の輪で、あなたにたどり着かなかったら、もう1ステップ行っても良いかもしれません。以後、その繰り返しです。どこまでやるかはあなた次第です。ステップ数(あなたとALICEの間の人数)が増えれば、だんだん信頼性が薄まっていくのは想像できますね。逆に、ALICEの証明書に対し、あなたが信頼する10人が署名していたら、信頼性は高まるのではないでしょうか。直列の増加は信頼性低下、並列の増加は信頼性向上と考えるとよいと思います。
次に、3.の検証方法です。
これも、monatrustをトラストしてくれることが大前提ですが、monatrustのverify signature機能を使うのがお手軽です。送られてきた3点セットをコピペして、verifyボタンを押して「verified」なら成功、「not verified」なら失敗です。pasteボタン(Firefox非対応)を使えばペーストもらくちんです。(メッセージの先頭、末尾の改行はカットされてしまうので、適宜補正してください。) Don't trustな方は、自前で署名検証してみてください。(helpの「署名方式」が参考になるかと思います。 )
最後に、monatrustはあくまで場を提供しているだけで、証明書の信頼性については一切保証していません。ですので、2.で書いたような、たしかに○○さんのアドレスだと確かめる、という工程が一番のキモになります。