「Tomu」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版差し替え)
(翻訳)
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 [https://tomu.im/tomu.html The original Tomu] – help to expand it.
 
   
== The original Tomu ==
+
== オリジナルの Tomu ==
   
=== Dependencies ===
+
=== 依存関係 ===
   
To build Tomu images, you will need to [[install]] {{Pkg|arm-none-eabi-gcc}} and {{Pkg|arm-none-eabi-newlib}}. To flash software on the Tomu, use {{Pkg|dfu-util}}.
+
Tomu イメージをビルドするには、{{Pkg|arm-none-eabi-gcc}} {{Pkg|arm-none-eabi-newlib}} [[インストール]] する必要があります。Tomu でソフトウェアをフラッシュするには、{{Pkg|dfu-util}} を使用します。
   
=== Verifying ===
+
=== 検証中 ===
   
  +
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 alternately. To check if your Tomu is running the boot loader ''toboot'', and which version, run:
 
   
 
{{hc|# dfu-util --list|2=
 
{{hc|# dfu-util --list|2=
23行目: 23行目:
 
}}
 
}}
   
{{Note|Some Tomu programs – including the U2F code – set the {{ic|TOBOOT_CONFIG_FLAG_AUTORUN}} flag, and start running immediately. They will then not (necessary) 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/blob/master/media/toboot-force.jpg].}}
+
{{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]}}
   
=== Update the boot loader (toboot) ===
+
=== ブートローダー (toboot) を更新します。 ===
   
If the boot loader of your Tomu is not the [https://github.com/im-tomu/toboot/tags newest version], you should update it. You can compile it yourself, or download a [https://github.com/im-tomu/toboot/blob/master/prebuilt/toboot-boosted.dfu prebuilt version]. Install the update like this:
+
Tomu のブートローダーが [https://github.com/im-tomu/toboot/tags 最新バージョン] でない場合は、更新する必要があります。自分でコンパイルすることも、[https://github.com/im-tomu/toboot/blob/master/prebuilt/toboot-boosted.dfu ビルド済みバージョン] をダウンロードすることもできます。次のようにアップデートをインストールします。
   
 
# 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 on GitHub]. 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 ポート) ===
   
The code for the U2F firmware for Tomu can be found [https://github.com/im-tomu/chopstx on GitHub]. Clone it with git and compile it:
+
Tomu U2F ファームウェアのコードは [https://github.com/im-tomu/chopstx on GitHub] にあります。git でクローンを作成し、コンパイルします。
   
 
{{bc|
 
{{bc|
47行目: 47行目:
 
}}
 
}}
   
  +
次の 2 つのオプションがあります。
You have two options:
 
   
  +
* ''キーなしでフラッシュする:'' キーなしでフラッシュすると、ファームウェアは最初の起動時に EC 秘密キーを生成し、ブートローダーに入るときにそれを消去します。バックアップを作成することはできません。ただし、これには、Tomu の外にはキーが決して存在しないという利点があります。代替の 2 番目の要素または回復の可能性を必ず用意してください。秘密キーを紛失しない限りソフトウェアを更新することはできません。
* '''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 boot loader! 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.
 
  +
* '''秘密キーを挿入する:''' コンピューター上でキーを生成し、それをファームウェアに挿入し、それらを一緒に Tomu にフラッシュします。
* '''Inject a private key:''' Generate a key on your computer, inject it into the firmware and flash them together to the Tomu.
 
   
==== Injecting a private key (optional) ====
+
==== 秘密キーの挿入 (オプション) ====
   
  +
秘密鍵を生成します。
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 is 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 and quickly.
 
   
==== Updating or restoring ====
+
==== 更新または復元中 ====
   
  +
秘密キーを注入した場合は、ソフトウェアを再度ビルドしてキーを注入できます。ただし、カウンターを Tomu の値より少なくとも 1 高い値に設定する必要があります。
If you have injected a private key, you can build the software again 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
   
  +
オリジナルの Tomu をまだ持っている場合 (つまり、更新したい場合)、Yubikey デモサイトでカウンターを見つけることができます。それ以外の場合は、"十分な大きさ" の値に設定します。
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".
 
   
== Usage ==
+
== 使用法 ==
   
You can use https://webauthn.io/ or the Yubikey demo site to test your U2F key or with ''pamu2fcfg'' on terminal:
+
https://webauthn.io/ または Yubikey デモサイトを使用して、U2F キーをテストするか、ターミナルで ''pamu2fcfg'' を使用してテストできます。
   
  +
Tomu を接続します。アプリケーション (ブラウザなど) がボタンを押すように要求すると、Tomu の赤い LED が点滅し始めます。"下のボタン" を押す必要があります。容量性ボタンは、Tomu の端にある 4 つの接触領域です。 "下" はチップを載せた状態で横から見たものです。指で押します。届くのが難しい場合があります。最悪の場合は、金属製のドライバーなどを使用してください。これを押すと、赤い LED が数秒間点灯したままになり、その後アプリケーションが応答を受け取ります。
Plug the Tomu 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日 (木) 00:51時点における版

関連記事

[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 が数秒間点灯したままになり、その後アプリケーションが応答を受け取ります。