2016.08.09

ハードウェアウォレット『Ledger Nano S』体験レポート


ledger-nano
こんにちは、次世代システム研究室のN.O.です。
TREZORLedger Nanoに続きまして、USBトークン型ビットコインウォレット
Ledger Nano S試用の機会を頂きましたので、レポートします。

目次



Ledger Nano Sとは?

Ledger Nano SはUSBトークン型のビットコインウォレットです。ハードウェアで秘密鍵を管理しますので、ウォレットを盗まれるリスクを抑えることができます。BitcoinのほかにEthereumのウォレットとして、またFIDO U2F準拠ハードウェアキーとしても使用する事ができます。また今話題のEthereum Classicにも対応しているようです。Ledgerについてはこちらに詳しい説明がありますので合わせてご覧下さい。

同梱品

本体とUSBケーブル、ストラップ、説明書とリカバリシートが入っています。
ledgernanos_同梱品

セットアップ

Ledger nano Sを利用するには以下のデバイスが必要です。
  • Windows (7+), Mac (10.8+), Linux or Chrome OS.
  • Google Chrome or Chromium
  • USB port

今回は MacBook Pro + El Capitan + Chromeでセットアップを行いました。またセットアップはこちらを参考に進めました。

本体の図
ledgernanos_本体図
Ledger Nano SをPCに接続します。最初に「Welcome」が画面に表示されます。
welcome
左右のボタンを同時に押すと次の画面に遷移します。数回同時押しして画面を進めると”Configure as a new device?”と表示されますので右ボタンを押します。
ledgernanos_newdevice
1. PINコード
4桁の数値を入力します。
PIN code
左右のボタンで0-9の数字を選択し、左右同時押しで右隣の桁に移動します。
PIN code
2. PINコードの確認
再度PINコードを入力し、確定させます。ちなみにPINコードを3回間違えると初期化されます。
Confirm your PIN code
3. Write down your recovery wallet
24個の英単語が表示されますのでリカバリシートに記入していきます。このことからHierarchical Deterministic Walletsの仕組みを利用していると思われます。

この単語は電子機器に保管していなくてもウォレットを復元できるのが最大の利点でもありますので、リカバリシートに地道に手書きしていきます。
以下はリカバリシートです。
Recovery Sheat
4. Confirm your recovery phrase
書き留めた単語が間違いないか確認されます。何番目の単語は何か?という質問が来ますので、順番も含めて正しくリカバリシートに記入する必要があります。
Confirm
これでセットアップは完了です。

Bitcoinウォレット”Ledger Wallet Bitcoin”の使用

ウォレットはChromeアプリとして提供されています。
使い方の流れはウォレットを起動後、Ledger Nano SをPCに接続し、PINコード入力、ウォレット選択、となります。

はじめにBitcoinのウォレットを起動します。
ledgernanos_bitcoin1
Ledger Nano Sを接続し、PINコードを入力します。
DSC_0128
Bitcoinを選択し、左右のボタンを同時押しします。
ledgernanos_bitcoin
「Use wallet to view account」と表示され、PC上のウォレットが開きます。
ledgernanos_bitcoin0.1
Ledger Nano Sを接続しウォレットが開いた画面です
ledgernanos_bitcoin2
送金画面です。
ledgernanos_bitcoin3
受け取りの画面です。QRコードで読み取ることができます。注:このアドレスには送金しないでください。
ledgernanos_bitcoin4
Ledger Nano SをPCから取り外すと最初の画面に戻ります。
ledgernanos_bitcoin1

Ethereumウォレット”Ledger Wallet Ethereum”の使用

EhtereumのウォレットもChromeアプリで提供されます。

Ethereumウォレットアプリを起動した画面です。ETHのほかにETCも選択できることが分かります。
ledgernanos_ethereum1
Ledger Nano Sを接続しPINコードを入力後、左右のボタンでEthereumを選択し、左右のボタンを同時押しします。
ledgernanos_ethereum
「Use wallet to view account」と表示され、PC上のウォレットが開きます。ロゴがEthereumのものになっています。
ledgernanos_ethereum0.1
Ledger nano Sを接続しウォレットが開いた画面です。
ledgernanos_ethereum3
送金画面です。
ledgernanos_ethereum4
実際に送金してみました。送金直前の確認もLedger nano Sで実施する形でした。
ledgernanos_ethereum_tx1
送金量、gas使用量、宛先が順番に表示されます。右ボタンを押すと送金されます。
ledgernanos_ethereum_tx2 ledgernanos_ethereum_tx3 ledgernanos_ethereum_tx4


受け取りの画面です。
ledgernanos_ethereum5
こちらもLedger Nano SをPCから取り外すと最初の画面に戻ります。
ledgernanos_ethereum1
またEthereum Classicのウォレットとしても利用できました。右上に「ETC」と表示されています。
ledgernanos_etc2

Googleの2段階認証プロセスでの使用


Ledger Nano SはGoogleの2段階認証プロセスでも利用可能です。2段階認証プロセスにセキュリティ キーを使用する – Google アカウント ヘルプを参考にセキュリティ キーとして追加します。
ledgernanos_google1

画面の指示に従い2段階認証にセキュリティ キーを追加します。
ledgernanos_google2
この時Ledger Nano SをUSB接続しPINコードを入力後、左右のボタンで”FIDO U2F”を選択し、左右同時押しをします。

ledgernanos_google5
“Service Google”と表示されるので右ボタンを押します。
ledgernanos_google6
“Ready to authenticate”と表示されます。これでセキュリティ キーが追加されます。
ledgernanos_google7
セキュリティキーが追加された画面です。
ledgernanos_google3

ログイン


実際のログインの場面ではメールアドレス、パスワードの入力後、セキュリティ キーの挿入を要求されます。
ledgernanos_google4
ログイン後はUSBからLedger nano Sを抜いてもそのまま使うことができました。

リカバリする

Ledger Nano Sでは3回PINコードを間違えると初期化されます。ここでどのくらいの所要時間でリカバリできるか試してみます。

3回間違えると初期化されます。
ledgernanos_recovery1
左右ボタンの同時押しで画面を進めると「Welcome」の画面に戻ります。
welcome
“Configure as a new device?”と表示されますのでここでは左ボタン(×)を押します。
ledgernanos_newdevice
すると次の画面で”Restore configration?”と表示されますので右ボタンを押します。
ledgernanos_recovery2
1. PINコードを入力します。更に試しで最初に入力したものと違うPINコードにしてみます。
PIN code
2. PINコードを確認します。
Confirm your PIN code
3. Enter your recovery phrase
ここからリカバリシートに記入した単語を入力していきます。
ledgernanos_recovery3
リストアの単語数を選択します。
ledgernanos_recovery4
24wordsを選択します。
ledgernanos_recovery5
緊張の1番目の単語です
ledgernanos_recovery6
なんということでしょう、単語をハードウェア側で入力する模様です。少し気が遠くなります。
ledgernanos_recovery7
1文字目入力すると文字が絞られました。入力支援があるようです。
ledgernanos_recovery8
さらに数文字入力すると単語を選択する画面になりました。単語が数個に絞られると左右ボタンで選択できるようになります。意外と早く入力できそうです。
ledgernanos_recovery9
24単語を入力し、Ledger Nano Sのリカバリが完了しました。PINコードは別のものに設定しても大丈夫なようです。
ledgernanos_recovery11
無事ウォレットも開くことができました。
ledgernanos_bitcoin2
ここまで所要時間15分ほどでリカバリすることができました。

所感

仮想通貨で使用する秘密鍵=ウォレットは盗難や紛失によって財産を失うことになりますので、ウォレットを安全に運用できるUSBトークン型のウォレットで仮想通貨を安心して扱うことができると良いと思います。
操作については2つのボタンの使い方、右・左で「選択」、同時押しで「OK」というのに慣れれば、あとは画面に説明が表示されますので簡単に扱う事ができます。
しかしながら多機能ゆえに認証先を選択するステップが発生するため、専用のUSBトークンに比べると操作が多少冗長になってしまいます。
ただこの点は一度ウォレットを開いてしまえば気になりませんので、ウォレット以外の用途にも使いたいと考えるなら、オールインワンで済みますので良い選択となります。

次世代システム研究室では、アプリケーション開発や設計を行うアーキテクトを募集しています。アプリケーション開発者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ募集職種一覧 からご応募をお願いします。

皆さんのご応募をお待ちしています。