「Tomu」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版より転載)
 
(→‎使用法: 翻訳を修正)
 
(同じ利用者による、間の2版が非表示)
6行目: 6行目:
 
{{Related articles end}}
 
{{Related articles end}}
   
  +
[https://tomu.im/Tomu] は、オープンソースの FIDO2 セキュリティキーのファミリーです。この記事では、その設定方法と使用方法について説明します。これまでのところ、このページは [https://tomu.im/tomu.html オリジナルの Tomu] に限定されています。このページの拡張にご協力ください。
The [https://tomu.im/ Tomu] is a family of open-source FIDO2 security keys. This article describes how to set up and use it. So far this page is limited to "the original tomu" – help to expand it.
 
   
== The original Tomu ==
+
== オリジナルの Tomu ==
   
=== Install necessary software ===
+
=== 依存関係 ===
   
To build tomu images you will need {{pkg|arm-none-eabi-gcc}} and {{pkg|arm-none-eabi-newlib}}. To flash software on the tomu you use {{pkg|dfu-util}}.
+
Tomu イメージをビルドするには、{{Pkg|arm-none-eabi-gcc}} {{Pkg|arm-none-eabi-newlib}} [[インストール]] する必要があります。Tomu でソフトウェアをフラッシュするには、{{Pkg|dfu-util}} を使用します。
   
=== Check Tomu with dfu-util ===
+
=== 検証中 ===
   
  +
Tomu は ''dfu-util'' がインストールされた状態で届くはずです。Tomu を USB ポートに挿入して ''toboot'' が開始すると、緑と赤の LED が交互に点滅します。Tomu がブートローダー ''toboot'' を実行しているかどうか、およびそのバージョンを確認するには、次のコマンドを実行します。
Your tomu should arrive with dfu-util installed. If you insert tomu into the usb port and toboot starts, the green and red led should flash alternating. To check if your tomu is running the bootloader toboot and which version run:
 
  +
{{hc|1=# dfu-util --list|2=[...]
 
  +
{{hc|# dfu-util --list|2=
  +
...
 
Found DFU: [1209:70b1] ver=0101, devnum=19, cfg=1, intf=0, path="1-1.2", alt=0, name="Tomu Bootloader (5) v2.0-rc7", serial="UNKNOWN"
 
Found DFU: [1209:70b1] ver=0101, devnum=19, cfg=1, intf=0, path="1-1.2", alt=0, name="Tomu Bootloader (5) v2.0-rc7", serial="UNKNOWN"
 
}}
 
}}
   
  +
{{Note|U2F コードを含む一部の Tomu プログラムは、{{ic|TOBOOT_CONFIG_FLAG_AUTORUN}} フラグを設定し、すぐに実行を開始します。そうすれば、このように (必要に応じて) 点滅することはなくなり、''dfu-util'' によって検出されなくなります。これらのデバイスで Toboot に入るには、Tomu を USB ポートに挿入しながら、外側の 2 つのピンをピンセットでショートさせます [https://github.com/im-tomu/toboot/blob/master/media/toboot-force.jpg]}}
{{Note|Some tomu programs – including the u2f code – set the {{ic|TOBOOT_CONFIG_FLAG_AUTORUN}} flag, and start running immediately. They will then not (nessecary) blink in this way and they will not be found by dfu-util! To enter Toboot on these devices, short out the two outer pins with tweezers while inserting Tomu into the usb-port ([https://github.com/im-tomu/toboot image]).}}
 
   
=== Update the bootloader (toboot) ===
+
=== ブートローダー (toboot) を更新します。 ===
  +
  +
Tomu のブートローダーが [https://github.com/im-tomu/toboot/tags 最新バージョン] でない場合は、更新する必要があります。自分でコンパイルすることも、[https://github.com/im-tomu/toboot/blob/master/prebuilt/toboot-boosted.dfu ビルド済みバージョン] をダウンロードすることもできます。次のようにアップデートをインストールします。
   
If the bootloader of your tomu is not the newest version (currently v2.0-rc7, june 2020), you should update it. You can compile it yourself, or download a prebuilt version from [https://github.com/im-tomu/toboot GitHub] ([https://github.com/im-tomu/toboot/blob/master/prebuilt/toboot-boosted.dfu direct link]). Install the update like this:
 
 
# dfu-util -d 1209:70b1 -D toboot-booster.dfu
 
# dfu-util -d 1209:70b1 -D toboot-booster.dfu
   
  +
=== 他のソフトウェアのインストール ===
=== Installing other software ===
 
  +
  +
Tomu を U2F トークンとして使用したくないが、別の目的に使用する場合は、[https://tomu.im/samples GitHub のサンプルアプリケーション] で見つけることができます。これらは ''df-util'' でインストールできます。
   
If you do '''not''' want to use tomu as U2F token but use it for different purposes, you can find example applications [https://tomu.im/samples here]. They can be installed with df-util:
 
 
# dfu-util -d 1209:70b1 -D application.dfu
 
# dfu-util -d 1209:70b1 -D application.dfu
   
=== Installing U2F firmware (chopstx port) ===
+
=== U2F ファームウェアのインストール (chopstx ポート) ===
  +
  +
Tomu の U2F ファームウェアのコードは [https://github.com/im-tomu/chopstx on GitHub] にあります。git でクローンを作成し、コンパイルします。
   
The code for the U2F firmware for tomu can be found [https://github.com/im-tomu/chopstx here]. Clone it from git and compile it:
 
 
{{bc|
 
{{bc|
 
$ git clone https://github.com/im-tomu/chopstx.git
 
$ git clone https://github.com/im-tomu/chopstx.git
42行目: 47行目:
 
}}
 
}}
   
  +
次の 2 つのオプションがあります。
You have two options:
 
* '''Flash it without a key.''' If flashed without a key, the firmware generates EC private key on its first boot and erases it when it enters the bootloader! You cannot create a backup. But this has the advantage that the key will never exist outside tomu. Make sure to have an alternative second factor or recovery possibility. You cannot update the software without losing the private key.
 
* '''Inject a private key.''' Generate a key on your computer, inject it into the firmware and flash them together to the tomu.
 
   
  +
* ''キーなしでフラッシュする:'' キーなしでフラッシュすると、ファームウェアは最初の起動時に EC 秘密キーを生成し、ブートローダーに入るときにそれを消去します。バックアップを作成することはできません。ただし、これには、Tomu の外にはキーが決して存在しないという利点があります。代替の 2 番目の要素または回復の可能性を必ず用意してください。秘密キーを紛失しない限りソフトウェアを更新することはできません。
==== Injecting a private key (optional, see above!) ====
 
  +
* '''秘密キーを挿入する:''' コンピューター上でキーを生成し、それをファームウェアに挿入し、それらを一緒に Tomu にフラッシュします。
   
  +
==== 秘密キーの挿入 (オプション) ====
Generate your private key:
 
  +
  +
秘密鍵を生成します。
   
 
$ openssl ecparam -name prime256v1 -genkey -noout -outform der -out key.der
 
$ openssl ecparam -name prime256v1 -genkey -noout -outform der -out key.der
   
  +
暗号化してバックアップしたり、オフラインでバックアップしたりすることもできます。それを含めてビルドします。
You may want to back it up encrypted and/or offline. Inject it to the build
 
   
 
$ ./inject_key.py --key key.der
 
$ ./inject_key.py --key key.der
   
==== Flashing ====
+
==== フラッシュ ====
  +
  +
ソフトウェアをデバイスにフラッシュします。
   
You can flash the software to the device:
 
 
# dfu-util -v -d 1209:70b1 -D build/u2f.bin
 
# dfu-util -v -d 1209:70b1 -D build/u2f.bin
   
  +
フラッシュが成功すると、LED の点滅が停止するはずです。それを取り外して、もう一度差し込みます。U2F ソフトウェアを使用すると、赤い LED が非常に短く素早く点滅するはずです。
When the flashing was successful the LEDs should have stopped flashing. Remove it and plug it in again – with the U2f software the red LED should flash only very shortly & quickly.
 
   
==== Updating/Restoring an u2f tomu ====
+
==== 更新または復元中 ====
  +
  +
秘密キーを注入した場合は、ソフトウェアを再度ビルドしてキーを注入できます。ただし、カウンターを Tomu の値より少なくとも 1 高い値に設定する必要があります。
   
If you have the injected a private key you can again build the software and inject the key. You must however set the counter to a value at least 1 higher than it was on the tomu:
 
 
$ ./inject_key.py --key key.der --ctr 1001
 
$ ./inject_key.py --key key.der --ctr 1001
If you still have the original tomu (i.e. you want to update) you can find out the counter in the Yubikey demo site. Otherwise, set it to a value "big enough".
 
   
  +
オリジナルの Tomu をまだ持っている場合 (つまり、更新したい場合)、Yubikey デモサイトでカウンターを見つけることができます。それ以外の場合は、"十分な大きさ" の値に設定します。
== Testing, Using ==
 
  +
  +
== 使用法 ==
   
You can use [https://webauthn.io/ webauthn.io] or the Yubikey demo site to test you u2f key or with pamu2fcfg on terminal (see below).
+
https://webauthn.io/ または Yubikey デモサイトを使用して、U2F キーをテストするか、ターミナルで ''pamu2fcfg'' を使用してテストできます。
   
  +
Tomu を接続します。アプリケーション (ブラウザなど) がボタンを押すように要求すると、Tomu の赤い LED が点滅し始めます。"下のボタン" を押す必要があります。容量性ボタンは、Tomu の端にある 4 つの接触領域です。"下" のボタンはチップを載せた状態で横から見たものです。指で押します。届くのが難しい場合があります。最悪の場合は、金属製のドライバーなどを使用してください。これを押すと、赤い LED が数秒間点灯したままになり、その後アプリケーションが応答を受け取ります。
'''To use the key''':<br>
 
Plug it in. When the application (for example your browser) asks you to press the button, the red LED on the tomu starts to blink. You have now to press the "lower button". The capacitive buttons are the four contact areas on the end of the tomu. The "lower" one is from watching at it from the side with the chip on it. Press it with your finger – it can be tricky to reach – in worst case use a metal screwdriver or similar. When you pressed it, the red LED stays on for a few seconds then the application receives the answer.
 

2023年11月2日 (木) 13:09時点における最新版

関連記事

[1] は、オープンソースの FIDO2 セキュリティキーのファミリーです。この記事では、その設定方法と使用方法について説明します。これまでのところ、このページは オリジナルの Tomu に限定されています。このページの拡張にご協力ください。

オリジナルの Tomu

依存関係

Tomu イメージをビルドするには、arm-none-eabi-gccarm-none-eabi-newlibインストール する必要があります。Tomu でソフトウェアをフラッシュするには、dfu-util を使用します。

検証中

Tomu は dfu-util がインストールされた状態で届くはずです。Tomu を USB ポートに挿入して toboot が開始すると、緑と赤の LED が交互に点滅します。Tomu がブートローダー toboot を実行しているかどうか、およびそのバージョンを確認するには、次のコマンドを実行します。

# dfu-util --list
...
Found DFU: [1209:70b1] ver=0101, devnum=19, cfg=1, intf=0, path="1-1.2", alt=0, name="Tomu Bootloader (5) v2.0-rc7", serial="UNKNOWN"
ノート: U2F コードを含む一部の Tomu プログラムは、TOBOOT_CONFIG_FLAG_AUTORUN フラグを設定し、すぐに実行を開始します。そうすれば、このように (必要に応じて) 点滅することはなくなり、dfu-util によって検出されなくなります。これらのデバイスで Toboot に入るには、Tomu を USB ポートに挿入しながら、外側の 2 つのピンをピンセットでショートさせます [2]

ブートローダー (toboot) を更新します。

Tomu のブートローダーが 最新バージョン でない場合は、更新する必要があります。自分でコンパイルすることも、ビルド済みバージョン をダウンロードすることもできます。次のようにアップデートをインストールします。

# dfu-util -d 1209:70b1 -D toboot-booster.dfu

他のソフトウェアのインストール

Tomu を U2F トークンとして使用したくないが、別の目的に使用する場合は、GitHub のサンプルアプリケーション で見つけることができます。これらは df-util でインストールできます。

# dfu-util -d 1209:70b1 -D application.dfu

U2F ファームウェアのインストール (chopstx ポート)

Tomu の U2F ファームウェアのコードは on GitHub にあります。git でクローンを作成し、コンパイルします。

$ git clone https://github.com/im-tomu/chopstx.git
$ cd chopstx/u2f
$ make

次の 2 つのオプションがあります。

  • キーなしでフラッシュする: キーなしでフラッシュすると、ファームウェアは最初の起動時に EC 秘密キーを生成し、ブートローダーに入るときにそれを消去します。バックアップを作成することはできません。ただし、これには、Tomu の外にはキーが決して存在しないという利点があります。代替の 2 番目の要素または回復の可能性を必ず用意してください。秘密キーを紛失しない限りソフトウェアを更新することはできません。
  • 秘密キーを挿入する: コンピューター上でキーを生成し、それをファームウェアに挿入し、それらを一緒に Tomu にフラッシュします。

秘密キーの挿入 (オプション)

秘密鍵を生成します。

$ openssl ecparam -name prime256v1 -genkey -noout -outform der -out key.der

暗号化してバックアップしたり、オフラインでバックアップしたりすることもできます。それを含めてビルドします。

$ ./inject_key.py --key key.der

フラッシュ

ソフトウェアをデバイスにフラッシュします。

# dfu-util -v -d 1209:70b1 -D build/u2f.bin

フラッシュが成功すると、LED の点滅が停止するはずです。それを取り外して、もう一度差し込みます。U2F ソフトウェアを使用すると、赤い LED が非常に短く素早く点滅するはずです。

更新または復元中

秘密キーを注入した場合は、ソフトウェアを再度ビルドしてキーを注入できます。ただし、カウンターを Tomu の値より少なくとも 1 高い値に設定する必要があります。

$ ./inject_key.py --key key.der --ctr 1001

オリジナルの Tomu をまだ持っている場合 (つまり、更新したい場合)、Yubikey デモサイトでカウンターを見つけることができます。それ以外の場合は、"十分な大きさ" の値に設定します。

使用法

https://webauthn.io/ または Yubikey デモサイトを使用して、U2F キーをテストするか、ターミナルで pamu2fcfg を使用してテストできます。

Tomu を接続します。アプリケーション (ブラウザなど) がボタンを押すように要求すると、Tomu の赤い LED が点滅し始めます。"下のボタン" を押す必要があります。容量性ボタンは、Tomu の端にある 4 つの接触領域です。"下" のボタンはチップを載せた状態で横から見たものです。指で押します。届くのが難しい場合があります。最悪の場合は、金属製のドライバーなどを使用してください。これを押すと、赤い LED が数秒間点灯したままになり、その後アプリケーションが応答を受け取ります。