USBメモリの中身を安全に保ちたいと思った時、ほとんどの人は暗号化させることを選びます。そうした普通の方法とは一線を画したアイデアとして、オーダーメイドの組み込みシステムなどを手がけるカナダの企業・Interrupt Labsの技術者が「ぬれた指で触らないといけないUSBメモリ」の設計に挑戦しました。

I'm Building a Self-Destructing USB Drive - Interrupt Labs Blog

https://interruptlabs.ca/2022/07/29/I-m-Building-a-Self-Destructing-USB-Drive/

I'm Building a Self-Destructing USB Drive Part 2 - Interrupt Labs Blog

https://interruptlabs.ca/2022/08/31/I-m-Building-a-Self-Destructing-USB-Drive-Part-2/

Interrupt Labsのライアン・ウォーカー氏が一風変わった自己破壊型USBメモリを作成しようと思ったきっかけは、ジャーナリストになることが危険な国で政治的腐敗に切り込むことを想像したことです。そうした地域ではデータの暗号化では決して安心できないことから、ウォーカー氏は「まともな人間ならまずやらないような手順が必要なフラッシュドライブを作りたい」と考えました。

そこでウォーカー氏が思いついたのが、「指をなめる」という行為でした。具体的には、USBドライブに電極を仕込んで差し込む際の指の抵抗値を測定し、指がぬれていない場合はドライブのデータを白紙にしたり、ドライブを破壊したりするというもの。ウォーカー氏によると、人間の指の抵抗は約1.5MΩですが、指がぬれている際は約500kΩまで低下するとのことで、この抵抗の差を利用するというのがウォーカー氏のアイデアのポイントです。

フラッシュドライブは一般的に、データを格納する赤枠のフラッシュチップと、データや接続の制御を担当する青枠のUSBコントローラーでできています。ウォーカー氏はこのUSBコントローラーと小型のマイクロコントローラーを使って、電極を読み取ったりフラッシュチップの制御をしたりしようと考えました。



さっそくUSBコントローラーの物色を始めたウォーカー氏は、きちんとしたデータシートがあることなどから「SM3257EN」を選択。電極の読み取りに使用するマイクロコントローラーには「ATTINY24」を使うことにしました。

以下は、SM3257ENのブロック図です。



ウォーカー氏は次に、中身がない状態で売られているフラッシュドライブのケースを参考にしつつ、USBメモリの外側のパーツをデザインしました。



見た目はこんな感じになる予定です。



ウォーカー氏は当初、指がぬれていない場合はデータが見えないフラッシュドライブを想定していましたが、ブログの読者による「それでは自己破壊とは言えない」との反響を受けて、データを白紙にするモードと物理的に自己破壊してしまうモードを切り替えられるようにしました。

物理的な自己破壊といっても爆発したり、溶解液や腐食性の物質を放出したりといろいろな方法がありますが、ウォーカー氏はフラッシュメモリに過剰な電圧がかかる方式を選択しました。USBメモリの無効化には4.6V以上必要とのことで、回路図は以下のようになります。



そして、指がぬれているかどうかを検知するデバイスの回路図はこんな感じ。



こうして自己破壊型のUSBメモリをデザインしたウォーカー氏は、ブレッドボードで回路を組み立ててテストしてみました。まず、指がぬれていない状態では何も起きません。



しかし、指をなめてから触るとうまく動作したことを示すLEDが点灯しました。テストの様子のGIFアニメーションはこのリンクから見ることができます。



ウォーカー氏は、次のブログ投稿で自己破壊型USBメモリを完全に文書化し、オープンソースのプロジェクトとして公開する予定です。また、デバイスを作るための小規模なクラウドファンディングも計画しているとのことでした。

GitHub - Machine-Hum/ovrdrive: The one and only, exploding USB drive

https://github.com/Machine-Hum/ovrdrive