今回はQubes OSの中の Whonixテンプレートを日本語化するやり方を解説します。日本語化するとプライバシーに一定の悪影響があることも説明します。
- 日本語化とプライバシーへの影響
- この記事でのWhonixテンプレート日本語化の方針
- whonix-workstation-17テンプレートの日本語化
- プライバシー強化のために英語専用のWhonixテンプレートを作成
- 英語環境Appキューブの作成・変更など
- Qubes OSの環境を英語環境にする
日本語化とプライバシーへの影響
Whonixはプライバシーの漏洩を防ぐためのOSです。Whonixテンプレートを日本語化しようとする場合、日本語化すること自体がプライバシーにどのような影響を及ぼすのか十分考慮しないといけません。
情報漏洩で一番心配なのはWebを閲覧するときでしょう。しかしTorブラウザにはさまざなフィンガープリント対策がされており1、デフォルトでは日本人ユーザーであることはできる限り隠せるようになっています。たとえば時刻設定はUTCになり、言語設定はアメリカ英語を返し、フォントはTorブラウザにバンドルされたものだけを用いることにより、Webサイト側には国籍がわからないようになっています。また、Torブラウザを用いていればWebサイト側にはOSはLinuxであることまでしか分からずWhonixであることは隠せるようになっています。
ただしTorブラウザを用いていても、Webフォームに日本語で入力すれば日本語話者であることは当然伝わります。またJavaScriptのAPIにKeyboardEventというのものがあって、これが使用されているとユーザーがどのキーを押したのかWebサイト側に分かってしまいます2。キーボードで「カタカナ・ひらがな・ローマ字」、「変換」、「無変換」の刻印のあるキーをうっかり押すとその事実がWebサイトに伝わってしまい日本語キーボードを利用している事実が漏洩します。(なおアットマークなど英語キーボードにも存在するキーは、押しても日本語キーボードである事実は隠せるようにTorブラウザ側で細工されています。)このような問題は存在しますが、それでも英語キーボードを使用すれば情報漏えいは防げます。 またJavaScriptをオフにすればこういった日本語使用者であることの情報はWebサイト管理者に一切伝わらなくなります。 そもそもLinux版Torブラウザの日本語使用者はそれなりの数いるので、ユーザーが日本人であることがバレることをそこまで心配する必要はないのかもしれません。
しかし特に深刻な問題はマルウェアに攻撃されてキューブ内部に侵入された場合に起こります。ゲートウェイとワークステーションを分離させているWhonixの特性上、ユーザーのIPアドレスは侵入者には漏洩しません。でもOSがWhonixであることはもちろんQubes Whonixであることまで侵入者には分かってしまいます。たとえば/etc/apt/以下のレポジトリを見るか、インストールされたQubes特有のパッケージの存在をチェックすればQubes - Whonixユーザーであることは明白です。
Qubesチームの統計データによると 2024年3月時点において世界全体のQubesユーザーは5万数千人います。Whonixを日本語化せず英語キーボードを使用している場合は数万人の1人であることしか侵入者にはわかりません。日本語化した場合あるいはキーボードを日本語設定にした場合、Qubesユーザーの中の日本語使用者という非常に小さなグループの1人であることまで分かってしまい匿名性は大幅に低下します。ちなみに2020年のアンケート調査によれば日本のQubes OSユーザー数は 20〜50人程度と推計されています。
キューブに侵入してきた攻撃者は日本語入力システムがインストールされていることは当然把握できます。また執筆時点(2024年4月)でWhonixキューブからも以下のコマンドを打つとQubes OS全体で設定されたキーボードとタイムゾーンが報告されてしまう脆弱性があります。次は anon-whonix のターミナルからコマンドを打っています。
[workstation user ~]% qubesdb-read /keyboard-layout jp++ [workstation user ~]% qubesdb-read /qubes-timezone Asia/Tokyo
WhonixやQubes OSのユーザーは普段から Whonixや Qubes OSに関心をもって、それらを検索サイトで調べたり、あるいは、Whonixの公式サイトを訪問することも多いでしょう。そういう作業を Torを使わずに行っていると、あなたがWhonixに強い関心を持っていることが外部に漏れているのです。グーグルなどのIT巨大企業や諜報機関はあなたがWhonix関係者であることを把握している可能性は高いです。Qubes - Whonixユーザーの日本人であることがわかるだけで匿名性はほとんど消え去ってしまうことは覚悟してください。
以上をまとめると使用中のWhonix系のキューブに敵が侵入した場合
Qubes Whonixユーザーであること
キューブが日本語化していること
は容易に攻撃者に漏洩します。
仮に日本語を用いない英語専用のWhonixワークステーションキューブを作ったとしても、日本語入力システムはテンプレートにインストールするものなのでテンプレートが日本語化していると英語専用キューブに侵入された場合でも日本人ユーザーであることは発覚します。
この記事でのWhonixテンプレート日本語化の方針
上記のような攻撃者に侵入されるケースまで想定すべきかどうか、あるいは侵入されたケースに備えて何をすべきかは、ユーザーのみなさんが Qubes OSを何のために用いるのか、どこまでプライバシーを守りたいのか次第でしょう。ユーザーによってプライバシーに対する価値観は異なるので一概に対処方針は決められません。
今回のブログ記事では最初に、細かいことはそんなに気にしない方も含めてWhonixワークステーションのテンプレート whonix-workstation-17 を日本語化するやり方を解説します。そのあとプライバシーを重視する方向けに、2個目のWhonixワークステーションのテンプレートを新たにインストールして日本人ユーザーであることが漏洩しない英語専用のキューブを作る方法を解説していきます。 なお sys-whonix では普通日本語入力は使わないので、そのテンプレートの whonix-gateway-17 は日本語化しないことにしました。
whonix-workstation-17テンプレートの日本語化
この節ではWhonixワークステーションを日本語化する解説を書きます。プライバシーに関してうるさく言わない方もプライバシーを重視する方もどらちも対象に書いています。 WhonixはDebianの派生ディストリビューションですから、基本的にはDebianテンプレートの日本語化と同じようなことをすればOKです。
whonix-workstation-17テンプレートのXfce Terminalを開いてください。
ロケールをja_JP.UTF-8にする
まずはロケールを変更します。
[template workstation user ~]% sudo dpkg-reconfigure locales
以下の画面で矢印キーを押して左側の一覧から ja_JP.UTF-8 UTF-8 をスペースキーを押して選択し、タブキーを押してOKをハイライトさせてエンターキーを押します。
次の画面で ja_JP.UTF-8 を選択してからOKを押します。
これで以下のように出力されます。
[template workstation user ~]% sudo dpkg-reconfigure locales Generating locales (this might take a while)... en_US.UTF-8... done ja_JP.UTF-8... done Generation complete.
localectl statusで変更内容を確認します。
[template workstation user ~]% localectl status System Locale: LANG=ja_JP.UTF-8 VC Keymap: (unset) X11 Layout: us X11 Model: pc105
日本語フォントのインストール
日本語フォントを何にするのかでそれなりに個性が出てしまいます。インストールされたフォントの情報で個人が特定されるリスクもありフォントの選定も慎重に行わないといけません。インストールされるフォントが少ないほうが情報量も少ないと考え、私は一つだけ fonts-vlgothicを入れることにしました。
[template workstation user ~]% sudo apt install fonts-vlgothic
なおここでインストールしたフォントはTorブラウザには使用されません。Torブラウザはブラウザ・フィンガープリンティングに対抗するためにバンドルされたフォントしか使えないようにしているからです。
日本語入力システムのインストール
つぎは日本語入力のシステムをインストールします。日本語入力システムの選択によっては個性が出てしまい匿名性が低下するリスクがあります。WhonixはDeibanの派生ディストリビューションですから、Debianで多くの人が使っているものを選ぶのがよさそうです。
無難そうな選択肢として task-japanese-desktop というDebianの日本語化チームが作成したおまかせのパッケージがあるのですが、これだと Whonix内では使うべきでない Firefoxがインストールされてしまうことや、一緒にインストールされる言語入力アプリの uim が執筆時点ではTorブラウザ内で使えないバグがあったので task-japanese-desktop はインストール候補から外しました。
もう一つ task-japanese-gnome-desktopというパッケージがあり、これだと ibus 及び ibus-mozc が入りますが、Qubes OS 4.2 と Whonix 17になってから ibus のアイコンがうまく表示できない不具合があったので ibus のインストールは見送ることにしました。
最終的には以下のように Debianテンプレートと同じやりかたで fcitx5-mozc を入れることにしました。
[template workstation user ~]% sudo apt install --install-recommends fcitx5 fcitx5-mozc
インストールが終わったら whonix-workstation-17 テンプレートを再起動します。ターミナルを再び開いてメニュー表示が日本語化していて、日本語も入力できることを確認します。半角/全角キー または CTRL-スペース で入力を切り替えます。
fedoraテンプレートやdebianテンプレートではテンプレートの日本語入力の自動起動をオフにしました。Whonixのテンプレートでは匿名性を確保するために余計な設定はしないほうがよいので、whonix-workstation-17 では自動起動はオンのままにしておきます。同様の理由で/etc/skel/ に fcitx5 や mozcの設定をコピーすることもやめます。
fcitx5の設定もデフォルトから変えないことが望ましいです。例えばインプット方法を変更するCTRL + スペース等のキーバインドは変更しないでください。同様に mozcの設定も極力デフォルトのまま使用しましょう。人と随分違う設定で、かつ、fedoraやdebianテンプレートと同じ設定にしてしまうと日本語入力の仕方を見るだけで誰なのか分かってしまう恐れがあります。例えば一般的には「ローマ字入力」により日本語入力をする人が大多数ですが、これを「かな入力」でやってしまうと悪目立ちします。Mozcの「キー設定」で一番人気なのは 「MS-IME」だと思いますが、これを例えば ATOKにすると匿名性は相当低下します。
やっかいなことには Torブラウザ利用時でもJavaScriptをオンにしているとWebサイト側にまで"かな"入力やATOK方式などを使用している情報が漏洩します。JavaScriptのKeyboardEventというツールを使われるとユーザーがどの物理キーを押したのかWebサイト側に分かってしまいます。例えば 3の刻印があるキーを押して「あ」と入力されれば「かな入力」であることが発覚します。Webフォーム上で日本語入力をするとき、矢印キーなどを使って日本語変換をしていく様はほとんどWebサイト側に筒抜けです。このようなプライバシー漏洩が心配な場合は、日本語入力はテキストエディタで済ませてからTorブラウザにコピーアンドペーストするか、またTorブラウザのセキュリティレベルを SafestにしてJavaScriptをオフにしましょう。
anon-whonix など各キューブのfcitx5設定を修正
あとは anon-whonixなどの既存キューブで日本語入力が成功するか確認します。 以下は anon-whonix キューブの Torブラウザで日本語入力をしているところです。
英語キーボードの設定になってしまうことがあるので、fcitx5 の設定を開いて以下のようにして fcitx5内部のキーボードを日本語に直しておきます。スクリーン右上の通知領域にあるanon-whonix の赤いfcitx5のアイコンを右クリックして"設定"を開くとfcitx5の設定にアクセスできます。
次がもともとの設定です。
これを以下のように日本語キーボードに直してください。
Whonixワークステーションのディスポーザブル上でも英語キーボードから日本語キーボードの設定に直しておきます。 以下のようにして whonix-workstation-17-dvm のテンプレートの方のターミナルを開きます。 TEMPLATES タブの方を選んでください。
つぎのコマンドを打って fcitx5 の設定ウィンドウを開きます。コマンドのかわりに 画面右上通知領域の fcitx5 アイコンからも設定ウィンドウを開くことができます。
[workstation user ~]% fcitx5-configtool
上と同様にしてWhonixワークステーションのディスポーザブルテンプレートも日本語キーボード設定に修正しておきます。
作業終了後 whonix-workstation-17-dvm のテンプレートをシャットダウンしてください。
ディスポーザブルの Torブラウザを起動して日本語設定がうまくいったかどうか確認します。以下のようにして今度はAPPSタブにある whonix-workstation-17-dvm の Torブラウザを起動させます。disp#### のような名称のキューブが起動します。
以下はディスポーザブルのTorブラウザで日本語入力している様子です。
Whonixワークステーションのキューブが他にもある場合は、それらも日本語キーボードの設定に修正しておきましょう。
プライバシー強化のために英語専用のWhonixテンプレートを作成
ここから先はプライバシーにこだわる上級者向けの解説です。前述のようにテンプレートが日本語化していると、キューブ内に攻撃者が侵入してきた場合どうやっても日本人であることは隠せません。日本語化せず、キーボード設定も英語仕様、時刻設定もUTCであるような環境にすれば匿名性は大幅に改善します。このセクション以降そのような英語環境を作成するために、以下の作業を行います。
日本語化した既存の whonix-workstation-17 テンプレートの名前を ja-whonix-workstation-17 に変更
whonix-workstation-17 テンプレートを再インストールして英語キューブ用のテンプレートとする
再インストールしたテンプレートに基づく新しいキューブをいくつか作成する
Qubes OS全体のキーボード設定と時刻設定を英語にする
whonix-workstation-17 テンプレートの名前を変更
最初に whonix-workstation-17 テンプレートの名前を変更します。これはwhonix-workstation-17 テンプレートを再インストールするとき同名のテンプレートがあると失敗するからです。 anon-whonixなどのwhonix-workstation-17ベースのキューブが起動していたらそれらは一旦シャットダウンしてください。whonix-workstation-17テンプレートのSettingsを開きます。
Basicタブの一番上に Name & label 欄がありますが、そこの Rename ボタンを押します。
テンプレートの名前を "ja-whonix-workstation-17" に変更します。
whonix-workstation-17テンプレートを再インストール
CTRL+F3 と打ってから global と入れてエンターを押すなどして Qubes Global Config を開きます。
Qubes Global Config の左側の欄から Updates タブをクリックします。ウィンドウを下にスクロールして一番下のあたりの Templates repositories の中から Community templates にチェックを入れます。Whonixは Community templatesのレポジトリに入っています。OKボタンを押します。
この解説記事ではテンプレートのインストールには Qubes Template Manager を使います。Dom0のターミナルから qvm-template
というコマンドを使うやり方もあります。コマンド版の詳細な使い方は qvm-template --help
や qvm-template install --help
などのコマンドで調べてください。どんなテンプレートが利用可能なのかリストアップするには qvm-template list
を使います。
画面左上Q 経由で、あるいは、CTRL+F3と打ってから template manager (エンターキー)と打ってもよいですが、 Qubes Template Manager を起動します。 上側ペインの欄の下方にある whonix-workstation-17 の行にある statusの列のところをクリックすると ドロップダウンメニューが開くのでそこの Install をクリックします。そのあと ウィンドウ上部の Apply を押してください。
インストールしてよいか聞かれるので OKをクリックします。
以下はインストール中の画面です。whonix-workstation-17テンプレートは800M程度のサイズでした。ダウンロードしたあともしばらく時間がかかります。
テンプレートの再インストールが終わったら OK ボタンを押して終了させます。
Qube Manager を開くと whonix-workstation-17 の項目が復活しているのが確認できます。また画面左上Qから TEMPLATESタブをクリックしても同様に確認できます。
このあと Qubes Update ツールを用いて今インストールした whonix-workstation-17 をアップデートさせておいてください。
英語環境Appキューブの作成・変更など
ディスポーザブル・テンプレート関係の処理
もともとあった whonix-workstation-17-dvm というディスポーザブルテンプレートは日本語が利用可能な ja-whonix-workstation-17 テンプレートベースです。名前がまぎらわしいので、この名前を ja-whonix-workstation-17-dvm に変更します。名前の変更は
whonix-workstation-17-dvm から ja-whonix-workstation-17-dvm という名前のクローンを作成
whonix-workstation-17-dvm を削除
という手順で進めていきます。
Qube Manager を起動し、whonix-workstation-17-dvm の行をハイライトさせます。ウィンドウ左上のメニューの "Qube" をクリックし、ドロップダウンから "Clone qube" を選びます。
クローンしてできる新キューブの名前は ja-whonix-workstation-17-dvm にします。
今度は whonix-workstation-17-dvm を削除したいのですが、"デフォルトのディスポーザブル・テンプレート"という設定項目に whonix-workstation-17-dvm が指定されているキューブが一つでも残っていると whonix-workstation-17-dvm は削除できないので、そのようなキューブの "デフォルトのディスポーザブル・テンプレート" の設定を変更します。
Qube Manager を開いて "Default DispVM" の列をチェックしてください。Default DispVM とはデフォルトのディスポーザブル・テンプレートのことです。この列の中で whonix-workstation-17-dvm が設定されているキューブ(anon-whonixなど)を探します。
それらのキューブの Settings を開いて Advancedタブをクリックし、ウィンドウ左下あたりの Default disposable template のドロップダウンメニューから ja-whonix-workstation-17-dvm を選択し、OKボタンを押します。
Qube Manager の Default DispVM の列をよく見て、他のキューブも同様に処理します。
最後に whonix-workstation-17-dvm を削除します。Qube Manager から whonix-workstation-17-dvm の行をクリックしてハイライトさせます。ウィンドウ左上の Delete qube ボタンを押します。
キューブを削除するときはキューブの名前を入力する必要があります。whonix-workstation-17-dvm とタイプしてから OK ボタンを押すと削除されます。
Qube Manager から whonix-workstation-17-dvm の行が消えたのを確認してください。
英語専用のWhonixワークステーション・ディスポーザブルの作成
今度は日本語化していない whonix-workstation-17 に基づくディスポーザブルのテンプレートを作成します。このようなディスポーザブルは特に機密を求められるオンライン活動を行うのに向いています。
Create New Qube を起動させます。
左サイドの一覧から Applicationタブを選びます。Basic Properties の Name 欄には先程消去したものと同名の whonix-workstation-17-dvm を入力しました。何か他の名前でもかまいません。ディスポーザブルですから色は red を選びましょう。Launch Qube Settings after creation (作成後にQube セッティングを起動) のチェックボックスをオンにします。Template のドロップダウンメニューの中から whonix-workstation-17 を指定します。Network は Tor/Whonix: sys-whonix のラジオボタンを選んでください。一番下にある Create ボタンを押します。
whonix-workstation-17-dvm の Settings の Advanced タブをクリックして 左側にある Disposable template のチェックボックスをオンにしてください。OKボタンを押します。
これで whonix-workstation-17-dvm というディスポーザブル・テンプレートが作成されました。
作成直後に画面左上 Q から APPSタブの whonix-workstation-17-dvm を選ぶとアプリケーション・メニューが空になる不具合があるようです。whonix-workstation-17-dvm の Settings の Applications タブを選んで Refresh Applications ボタンをクリックすると直るようです。
ディスポーザブル・テンプレート whonix-workstation-17-dvm が適切に機能しているか確認するため、このテンプレートに基づくディスポーザブルの Torブラウザを起動してみましょう。
以下のように無事Torブラウザが起動しました。
英語専用Whonixワークステーション・キューブを作成
ここでは英語専用の whonix-workstation-17テンプレートに基づく(ディスポーザブルではない)通常のキューブを作成します。
Create New Qube ツールなどのGUIのかわりに、たまにはdom0のターミナルからコマンドラインを使ってキューブを作成してみます。新しく作るキューブの名前は myanon に、テーマ色は紫(purple) にしました。テンプレートは whonix-workstation-17 です。キューブ作成のコマンドは qvm-create です。詳細はdom0のターミナルから qvm-create --help を実行してください。
Dom0 のターミナルを開いて以下のコマンドを打ってください。
[ft7777@dom0 ~]$ qvm-create --template whonix-workstation-17 --label purple myanon
新たに作成されたキューブ myanon の性質を表示するには qvm-ls コマンドを使います。
[ft7777@dom0 ~]$ qvm-ls myanon NAME STATE CLASS LABEL TEMPLATE NETVM myanon Halted AppVM purple whonix-workstation-17 sys-whonix
この myanon キューブのターミナルを起動して localectl status を実行したのが下記の画像です。
たしかに英語環境になっています。しかし以下のコマンドで Asia/Tokyo のタイムゾーンが報告されます。
[workstation user ~]% qubesdb-read /qubes-timezone Asia/Tokyo
日本語キーボードに関する情報も取得可能です。
[workstation user ~]% qubesdb-read /keyboard-layout jp++ [workstation user ~]% qubesdb-read /qubes-keyboard xkb_keymap {\x0a\x09xkb_keycodes { include "evdev+aliases(qwerty)"\x09};\x0a\x09xkb_types { include "complete"\x09};\x0a\x09xkb_compat { include "complete+japan"\x09};\x0a\x09xkb_symbols { include "pc+jp+inet(evdev)"\x09};\x0a\x09xkb_geometry { include "pc(pc105)"\x09};\x0a};
Qubes OSの環境を英語環境にする
前述のように、日本人ユーザーであることを完全に隠蔽するにはWhonixだけではなく Qubes OS全体で設定を変えざるを得ないようです。 このセクションでは時刻設定をUTCにするとともに、キーボードを英語仕様に変更するやり方を解説します。
時刻設定の変更
Dom0ターミナルから次のとおりタイムゾーンを UTC に設定します。
[ft7777@dom0 ~]$ sudo timedatectl set-timezone UTC
英語キーボード設定への変更の仕方
CTRL+F3 を打ってから keyboard エンターキーの順に入力すると Qubes OSのキーボード設定画面が起動します。Layout タブをクリックしてください。
Use system defaults のスイッチをオフにします。下の方にある + Addボタンを押します。
英語キーボードである English(US) を選んで OKを押します。
日本語キーボードを一旦削除します。Japanese の行をクリックしてから - Removeボタンを押してください。
気になる人は Keyboard model も PC101 タイプに変えておきます。
英語環境になったことの確認
これらの設定が myanon にうまく伝わるように、myanonキューブを再起動させます。
myanon キューブのターミナルから以下のコマンドを実行します。
[workstation user ~]% qubesdb-read /qubes-timezone UTC [workstation user ~]% qubesdb-read /keyboard-layout us++ [workstation user ~]% qubesdb-read /qubes-keyboard xkb_keymap {\x0a\x09xkb_keycodes { include "evdev+aliases(qwerty)"\x09};\x0a\x09xkb_types { include "complete"\x09};\x0a\x09xkb_compat { include "complete"\x09};\x0a\x09xkb_symbols { include "pc+us+inet(evdev)"\x09};\x0a\x09xkb_geometry { include "pc(pc101)"\x09};\x0a};
これで何とか日本語キーボードとタイムゾーンの情報が秘匿できたようです。もちろん日本語キーボードを英語設定で打とうとするのは面倒ですが...
日本語キーボード情報の漏洩
myanon のTorブラウザを起動してください。
TorブラウザからW3CのKeyboard Event Viewerを開いて、日本語キーボードを英語キーボード設定にした場合Torブラウザであっても 「カタカナひらがな」や「変換」キーが押されたことがKeyboard Eventとして情報漏えいすることなどを確かめてみましょう。
キューブ内でキー入力の情報がどのように流れているのか調べるには xev コマンドを用います。anon-whonixのターミナルから "xev" をそのまま入力するとマウスの動きなども含めた大量の情報がターミナル上に表示されます。Arch Linuxの解説にキーを押したときの情報だけを表示する便利なコマンドが載っていたのでそれを使ってみます。
[workstation user ~]% xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' 34 bracketleft 35 bracketright 97 NoSymbol 132 NoSymbol 100 Henkan_Mode 102 Muhenkan 101 Hiragana_Katakana 49 grave
上記の xev | awk
で始まるコマンドを入力してから、ポップアップして現れたウィンドウの上でキーを入力していくと、そのキーに関する情報が出力されます。xev を終了させるにはポップアップウィンドウの☒を押すか、ターミナル側のウィンドウにフォーカスしてからCtrl + Cを押してください。
上の出力は以下の日本語キーボードのキーを押したときのものです。
- (34) Pの右隣の@
- (35) さらにその右隣の[
- (97) 「ろ」の刻印のあるキー
- (132) バックスペースキーの左隣の¥の刻印のあるキー
- (100) 「変換」キー
- (102) 「無変換」キー
- (101) 「カタカナひらがなローマ字」の刻印のあるキー
- (49) 数字の1及び「ぬ」の刻印のあるキーの左隣の半角/全角キー
日本語キーボードの@マークを押すと左角括弧 [ が、また、半角・全角キーを押すとグレーブ ` が出力されるので英語キーボード設定にはなっていることが分かります。しかし英語キーボードには無いタイプのキー、例えばYenキー(¥)、「ろ」キー、ひらがなカタカナキーなどを押した情報が漏れています。
ちなみに (97), (132) などの数字はLinuxのXorgで内部的に使われているキーコードです。上で示したArch Linuxの解説サイトによれば、このXorgのキーコードはLinuxのC言語レベルのキーコードよりも整数8の分だけ大きいそうです。
たとえば Xorg の132が何を意味するのかは次のコマンドを打つと分かります。
[workstation user ~]% less /usr/include/linux/input-event-codes.h | grep "\s$((132 - 8))" #define KEY_YEN 124
Xorgの132キーとは Yenキーであることがこれで分かります。
[workstation user ~]% less /usr/include/linux/input-event-codes.h | grep "\s$((97 - 8))" #define KEY_RO 89
97キーはその名も KEY_ROです。「ろ」の刻印のあるキーを打ったことなどはキューブ内の Xイベントを観察していればバレてしまうのです。
以上の観察を踏まえるとmyanonなど whonix-workstation-17系の英語環境のキューブを利用するときに日本人であることを確実に隠したいときは、英語キーボードをUSB接続して、dom0から英語キーボード設定にして使わないといけないようです。
ちなみにキーボードのハードウェア情報はdom0またはsys-usbに保存されていて、Whonixキューブからはアクセスできないのでその点は心配ないようです。
日本語環境に戻す
Dom0ターミナルから
[ft7777@dom0 ~]$ sudo timedatectl set-timezone Asia/Tokyo
を実行してタイムゾーンを元通りにします。
CTRL+F3 のつぎにkeyboard エンターキーを打ちます。Use system defaults のスイッチをオンにします。
Qubes OSからログアウト・ログインします。そうするともとの日本語キーボード設定に戻ります。
- Torブラウザのフィンガープリント対策については、Torブラウザの設計方針を解説しているサイトの"Specific Fingerprinting Defenses in the Tor Browser"を見てください。↩
- Webサイトに伝わるKeyboardEventの内容を実際に確認したい場合、w3cのKeyboard Event ViewerというWebツールが便利です。特に日本語変換されていく様子が相手に克明に伝わるところなどは必見です。↩