Cybersecurity Engineer 🏴☠️
Walkthroughs, tutorials, guides, and tips. This story will teach you how to do something new or how to do something better.
The code in this story is for educational purposes. The readers are solely responsible for whatever they build with it.
The writer is smart, but don't just like, take their word for it. #DoYourOwnResearch before making any investment decisions or decisions regarding your health or security. (Do not regard any of this content as professional investment advice, or health advice)
最近、私はよく旅行するようになり、非接触テクノロジーだけでバスや地下鉄の乗車料金、コーヒーやビールの支払いができることに感謝するようになりました。 Apple/Google/Samsung Pay ベースのシステムでは、テクノロジー デバイスのロックを積極的に解除する必要があり、これにより支払いプロセスが多少遅くなります。
後ろに大勢の人が待っている列に並んでいて、何か問題が起こったら、あなたは大喜びです 🥪。
イタリア、ミラノの非接触型決済装置を備えた地下鉄改札口
重度のオタクとして、私は顔にニキビがまだあったときからCASIO F-91Wを着用してきました。この伝説的な時計は、洗練されたデザイン、頑丈な構造、そして驚異的なバッテリー寿命 (約 7 年間持続するといわれています) により、世界中のハイテク愛好家の手首を飾ります。クォーツの採用により80年代から始まるデジタル時計革命の象徴となった。
支払いの際に財布からクレジットカードやデビットカードを取り出したり、ポケットから携帯電話を取り出す必要がなく、代わりに時計をPoSに近づけて、ひとつまみだけで支払えたらいいのにと思いました。デイマジック✨。
そこで私は、純粋なハッキング スタイルで懐かしさと革新性を組み合わせることで、これに新しい命を吹き込み、次のレベルに引き上げることにしました。
NFC (近距離無線通信) テクノロジーを使用すると、関連する 2 つのデバイス間で直接物理的接触を行わずに情報を交換できます。非接触型決済カードの場合、 PoSスロットに挿入したりPINコードを入力したりすることなく使用できるため、金融取引がより迅速かつ便利になります。
私が所有するベンダー検閲済みの非接触型決済カード
プラスチック (または金属)の非接触型決済カードの内部には、いくつかのコンポーネントがあります。
マイクロチップ:安全な集積回路( IC )チップまたはスマート チップと呼ばれることが多く、カードの頭脳として機能し、 CPU (カードの動作を制御し、データ処理を管理する)、メモリなどのさまざまなサブコンポーネントが含まれています。 (アカウントの詳細、トランザクション履歴、セキュリティ キーなどのデータ情報を保存します) およびクリプト コア(真の乱数を生成でき、算術的課題の解決に役立ち、データの暗号化/復号化を実行でき、認証プロセスに役立ちます)カードと端末の)。
アンテナ: 通常は銅またはアルミニウムで作られ、非接触通信を可能にする無線周波数信号の送受信を担当します。効率的な信号伝送を確保するために、特定のパターンで設計されています。
アンテナを介して、情報を運ぶことによって空間または物質を通過できるエネルギーの一種である高周波を送受信することができます。 NFCプロトコルの周波数は13.56 MHzです (場合によっては異なる場合があり、決済システムや ATM の場合はわずかに高く、約14.5 ~ 15.5 MHz )。自由空間における波長(簡単に言えば、記号λ-lambdaで表され、単一の波のサイクルの長さの測定値です) は、光の速度定数(~ 300,000Km/s) をターゲットで割ることによって計算されます。周波数。
アンテナの波長計算式
したがって、理想的なアンテナは22.12 メートルの長さのワイヤで構成される必要がありますが、慣例により、λ-ラムダの一部(λ/2、λ/4、λ/8、λ/16 など) が適切に選択されます。もう 1 つの重要な要素はワイヤの電気インピーダンスです。これは主にワイヤの材質、抵抗率、ワイヤ自体の断面積によって決まります。
支払いカードは、独自の電源を必要としない受動的なデバイスです。代わりに、スマートフォンや非接触型決済端末などのアクティブなNFCデバイスに近づくと、電磁誘導によって電力が供給されます。アクティブなNFCデバイスは磁場を生成し、 NFCのターゲット デバイスのアンテナに電流を誘導します。この誘導電流は、アクティブデバイスの動作と通信を可能にし、アクティブ デバイスをアクティブにするのに十分な電力を提供します。
非接触型決済カードのさまざまなマイクロチップ + アンテナ設計
ほとんどの古いテクノロジーのスマート カードには、プラスチック (または樹脂) の筐体にアンテナが埋め込まれ、チップにはんだ付けされており、その結果、誘導電流から直接電力が供給されていました。
個別の誘導結合アンテナを備えたカードおよびチップ モジュール
新しいペイメント カードテクノロジーは、マイクロチップとアンテナモジュールの間に有線接続を必要としないデュアル インターフェイスで構成されています。カード本体のアンテナは、チップモジュールが埋め込まれている領域の周囲でさらに数回巻かれています。このカード本体のアンテナは、マイクロチップモジュールに直接組み込まれた小さなループ アンテナに誘導結合します。これにより、アンテナをチップモジュールに取り付ける(接着、溶接、はんだ付けなど)必要がなくなるため、カードの製造プロセスが簡素化されます。
カードのプラスチックの封筒の中のアンテナの形状が (現実的に言えば) どのように見えるか知りたいですか?
コイル オン モジュール (CoM) 非接触型決済カードに埋め込まれた可変コンデンサ アンテナ
直列に接続された「四角形」は可変コンデンサのように機能します。これにより、複数のレベルでグラフトされた巻線と合わせて、モジュールが異なる周波数で結合できるようになります。
全体として、コンポーネントは連携して安全で便利な非接触トランザクションを可能にします。アンテナは無線通信を可能にし、マイクロチップはデータ処理、セキュリティ、認証を管理し、カード所有者の情報のプライバシーと完全性を確保します。
複雑で目に見えない電波の世界を「見る」には、特定の機器に依存する必要がありました。
トップ: NanoVNA |左下: Proxmark3 |右下:RFID-RC522
この特定のシナリオでは、 PCB上のマイクロストリップ アンテナをNanoVNAのプローブとして利用するために、 RFID-RC522チップが共食いされました。
マイクロストリップ アンテナ プローブを拡大します。
C10とC11コンデンサのはんだを取り除き、その場所に 2 つのメスのジャンパー線コネクタをはんだ付けしていきました。
同軸コネクタ + ケーブルを備えた共食い RFID-RC522 回路
次に、 NanoVNAデバイスに付属の同軸コネクタ ケーブルを引きちぎりました。内側のコア ワイヤ (+) を外側のシールド メッシュ (-) から分離した後、取り外し可能なインターフェイスにするために、オスのジャンパ ワイヤ コネクタをそれぞれはんだ付けしました (理論によると、ジャンパ ワイヤが長いほど、接続時の「ノイズ」が高くなります)。 RF値を読み取るため、できるだけ短くしてください)。
この「フランケンシュタイン」アンテナ プローブをS11 → CH0入力を介してNanoVNAと結合することで、電波の中を泳ぐことができました。
まずはNanoVNA + RFID-RC522の組み合わせから始めました。
NanoVNA デバイスの電源が入ったばかりです
NanoVNAをオンにすると、多くの情報が表示されますが、ほとんどの情報はこの目的には無関係です。抵抗膜式タッチスクリーンとホイールベースのジョイスティックがあり、メニュー間の移動に役立ちます。
DISPLAY設定を目的としたNanoVNAメニュー
フォーカスはすべて黄色のトレースにあるので、 「DISPLAY」サブメニューに移動し、 TRACE 1 (シアン)、 TRACE 2 (緑)、およびTRACE 3 (マゼンタ) をダブルクリックして、不要なトレースをすべて無効にしました。それらが画面から消えるのを見ることができます。
NanoVNA DISPLAY -> TRACE サブメニュー
次に、 BACK → SCALE → SCALE/DIVをクリックし、「4」を設定しました (適切な比率が得られます)。
NanoVNA DISPLAY -> SCALE -> SCALE/DIV サブメニュー
ENTボタンをクリックして確認しました。
STIMULUS設定を目的としたNanoVNAメニュー
次に、メインメニューに戻り、 「STIMULUS」をクリックしました。
NanoVNA STIMULUS サブメニュー
[START]をクリックして12.5 MHzを設定します。
NanoVNA 刺激 -> 開始サブメニュー
「STOP」をクリックして、 16 MHzを設定します。
NanoVNA 刺激 -> 開始サブメニュー
このようにして、デバイスが12.5 ~ 16 MHz帯域の信号のみを表示できるようにすることで、すべての信号をフィルタリングすることができます。
設定が適切かどうかを確認するために、アンテナ表面に予備のNFCタグを置きました。
標準 NFC タグのテスト
単純なルール: 低いウェッジが深くなるほど、「共鳴」が高くなります。
言い換えれば、これは、テストに使用された NFC タグがアンテナと適切に結合されていることを意味します (接近するタグ/カードに応じて、 13.56MHzの周波数付近で範囲が変化するのはごく普通のことです)。
Proxmark3 デバイス
Proxmark3デバイスに移行するには、動作するためにコンピュータが必要です。元のGitHub リポジトリ内で、すべてのインストール手順 (非常に網羅的でよく説明されています) を見つけることができました。私はmacOS上で実行しているので、手早く行うためにbrew ベースのチュートリアルを使用しました。
初めて実行する前に、利用可能な最新バージョンでデバイスのファームウェアをアップグレードすることをお勧めします。そのためには、「半隠し」ボタンを押し、押したままMicro-USBケーブルを差し込む手順が必要です。このようにして、デバイスはDFU モードで起動します。
DFU用Proxmark3「BUTTON」
DFU モードになったら、次のコマンドを実行するだけです。
pm3-フラッシュ-オール
DFU モードの Proxmark3 はファームウェアのアップグレードを受け取ります
そしてすべてを「自動的に」実行する必要があります。
完了したら、 Micro-USBケーブルをProxmark3から取り外して再接続すると、シリアル ポート リストで検出できるようになります。次のコマンドを実行します。
>午後3時
NFCハッキング/監査の魔法の世界に入ることができるようになりました。
Proxmark3 ツールの対話型シェル
Proxmark3ツールにはインタラクティブなシェルがあります (この機械では、非常に興味深く複雑な処理 (違法な場合も含む) が可能になるため、ドキュメント内のすべての情報を研究することをお勧めします)。
これをテストするために、 NanoVNAに使用されているのと同じNFCタグを高周波アンテナの表面の上に置きました。
Proxmark3はNFCタグで接近
対話型シェルで次のコマンドを実行します。
> pm3 → hf検索
Proxmark3 が NFC タグを読み取る
NFCに関する情報を読み取ることができました。
注: NanoVNA デバイスとProxmark3デバイスは両方とも電気的に十分に「絶縁」されていますが、金属などの導電性の表面上に置かれると、ノイズの影響を受ける可能性があります。しっかりと動作するように、ゴム製のマウスパッドの上に置きました。読み取り中に「奇妙な」動作が発生した場合は、このことに留意してください。
非接触型決済カードが Proxmark3 にアプローチ
最後のコマンドを思い出して、支払いカードの読み取りに移りましょう。
> pm3 → hf検索
Proxmark3 による非接触型決済カードの読み取り
見てわかるように、カードにはより複雑で安全な操作のための「スマート チップ」が含まれているため、出力は前の出力よりもはるかに冗長になっています。この出力は、後で比較する場合に便利です。
大丈夫です。すべての機器が完全に動作し、セットアップが完了したので、最も興味深い部分に進むことができます。
支払いカードの種類を確認するには、カードを引き裂かなければなりませんでした。
ヒートガンでペイメントカードチップの前面を叩く
はんだ付けステーションの熱風ノズル ( 100 °C に設定)を使用して、前後に円を描いてカード チップの周囲の表面を加熱し始めました。
ヒートガンでペイメントカードのチップを叩き返す
取り返しのつかないダメージを避けるための本当のコツは、同じ場所に長時間留まらないことです(すべてが溶けるのを防ぐ)。
支払いカードチップの前面
約45 秒〜 1 分間加熱した後、ピンセットでチップの周りをそっとほぐし始め、何度か振りかぶるとプラスチックのハウジングからチップを取り外すことができました。
支払いカードのチップバック
接着剤の残留物でわずかに覆われていますが、統合アンテナの巻線を見ることができるため、内側のチップから外側のアンテナまでのはんだ接合はありません。
前の段落で説明したように、このタイプの支払いカードは、新しいテクノロジーのカテゴリに属していることがわかりました。これは、カードプレートの内側に隠された大きなアンテナと共振して結合する小さな埋め込みアンテナを備えたチップの組み合わせです。
CASIO F-91W 一部分解
CASIO F-91W時計の分解に移り、全力で取り組みました。邪魔にならないように作業するために、まずリストバンドを外しました。
CASIO F-91W 分解
次に、ピンセットと小さなドライバーを使って、骨まで分解することができました (内部回路をカスタマイズするつもりはなかったので、非接触型決済に加えて便利なので、中央ユニットはそのままにしました)時間はいつでも相談できます😂)。
CASIO F-91W フロントプレートとバックプレート
以前に使用したヒートガン (同じ温度を100 °Cに設定、離れた場所から同じハイローの円形パターン) でフロント プレートを加熱することにより、約1.5 分間、内側から外側にかなりの力を加えました。時計のケースを外すと、あまり力を入れなくても自然に外れました。
破壊されたカードの性質を確認した後、私は 1 つではなく2 つのアンテナを扱っていることに気づきました。はっきりと見たかったので、装備を思い出しました。
ペイメントカードハウジング単体の NanoVNA RF 検査
個別に考えると、それぞれに独自の動作周波数があります。カード ハウジングだけでも、約15.28 MHzで共振します。
ペイメントカードハウジング + チップの NanoVNA RF 検査
しかし、組み合わせると、個々の周波数とはまったく異なる新しい周波数が生成されます。カードハウジング+チップは約14.85 MHz で共振します。
次のステップに向けて、この実験により、整合アンテナを最初から再現する加算/減算合成アプローチを利用するには、インピーダンス以外の、厚さや透磁率などの他の要素も考慮する必要があることに気づきました。材料の。
アンテナを扱うのは簡単な仕事ではありません。それには、おそらく、どこかの研究室で散逸された、長年のテストと挫折を経て得られた多くの理論的および実践的な経験が必要です。
NFC アンテナの設計、パラメータ化、効率解析
全体として、アンテナ調整は、アンテナシステムのパフォーマンスを最適化することを目的とした非常に重要な設計プロセスです。これには、アンテナの長さ、表面寸法、インピーダンス整合、 SWR (定在波比) の最小化を数学的に調整して、目的の共振、効率的な電力伝送、および動作特性を達成することが含まれます。
わかりました、でも…
私たちハッカーは極度の怠け者であり、常に最小限の努力で最大の結果を達成する最短の道を探します。
上記の声明を承知した上で、私の目標は、アンテナ設計プロセスを可能な限り迅速に反復する方法を提供するために、電磁的退屈への特定の掘り下げを回避することでした。このため、私はいわゆる「フィッシング チューニング」を発明しました (この素晴らしい名前を提案してくれた私の真の友人でありサポーターであるダニエレ Gに感謝します)。これは自作のNFCアンテナを盲目的に調整するゲットー (しかし賢い) 方法です。
「フィッシングチューニング」の動作プレビュー
簡単に言えば、その背後にあるプロセスには、基本的なコンセプトとマテリアルが含まれます。ペイメント カードの新しい技術の仕様から、チップを非常にしっかりとコイル状に巻く必要があり、 NFCリーダーと十分な共振を得るために、外側にいくつかのコイルが必要であることが理解できました。
NFC読み取り手順 (アクティブ デバイスからの) は、特定の固定周波数ではなく、周波数間隔にわたって分散されます。境界条件を考慮すると、デバイスの結合の本質的な変動性は比較的高いため、多少の誤差は同様に許容されます。
!【ペイメントカードチップのサイズ測定(横幅)】
](https://cdn.hackernoon.com/images/vSoRcyvb6dP2JiCy2a0lFEycpoa2-ow1k35vy.png)
ペイメントカードチップのサイズ測定(高さ)
私は精密なキャリバーを使用し、チップの寸法を取得しました。
ペイメントカードチップホルダー付きフィッシュチューニングスプール
広く使用されているオンライン3D CADツールを使用して、チップホルダー (中心に配置) を備えたシンプルなスプールを設計し、 3D プリンターを使用して押し出すことができる内側と外側の両方のワイヤ巻線用のスペースを残すことができました。
電磁用途向け0.10mmエナメル銅線
私は0.10 mmのエナメル銅線 (非常に安価で、価格は数ドル) を使用し、それを最も内側のチップハウジングの周りに巻き始め、次に最も外側のスプールでコイルを生成し続けました。
フィッシングチューニングスプール
すべてを順調に進めるために、 Proxmark3ツールに付属の機能が非常に便利であることがわかりました。次のコマンドをトリガーします。
> pm3 → 高周波チューン
高周波アンテナ表面に近づくNFC対応タグの電圧降下をmV (ミリボルト) 単位でリアルタイムに監視できます。
Proxmark3 高周波アンテナ電圧降下測定
単純なルール:電圧降下が大きいほど、アンテナの共振も大きくなります(したがって結合の効率も高くなります)。
(フィッシングチューニングテクニック実演)
上のデモビデオでわかるように、左手はスプールをProxmark3 のアンテナ面と一致させています (下の写真)。
釣りチューニングの視点
右手は、 pm3 → hf チューンの連続読み取り値に注意しながら、ゆっくりとスプールからワイヤーを引き出します。 3mV / 14mVで最高の電圧降下 (最大到達最大値は約11mV ) に達しながら続行しました。
次に、余分なワイヤをスプールから切断し、後でエラーが発生した場合やよりきめの細かい周波数トリミングのために少し余分に残しておきます。これで、 0.10 mm電磁ワイヤの任意の長さのアンテナワイヤ (私のものは長さ約1.6 メートル) が手に入り、これを再びコイル状に巻いて、非常にかわいい筐体に収めることができます。
CASIO F-91Wデジタル時計は、フロント プレートからバックプレートまで、金属カバー、電池ホルダー、コイン型電池、PCB、ディスプレイ、プラスチック ケースなど、いくつかの層のコンポーネントで構成されています。スクリーンプロテクター。背面にアンテナを設置しても機能しません(信じてください、私はこの結論に至るまでに無限の試行とトラブルシューティングを行いました)。これは、「シールド」コンポーネントが多すぎるため、干渉し、背面に配置された潜在的なNFCアンテナがNFCリーダーと適切にペアリングできなくなるためです。
ペイメントカードチップとNFCアンテナホルダーを備えたCASIO F-91Wカスタムフロントプレート — 上面図
ペイメントカードチップとNFCアンテナホルダーを備えたCASIO F-91Wカスタムフロントプレート — 斜視図
(時計本来の美しさを損なうことなく) 適切なアンテナ設計を実現するために、 3D CADソフトウェアで元のフロント プレートを複製し、チップを保持する領域を切り取り、周囲全体に空洞を彫り込みました。アンテナ線を巻き付けます。
非接触決済を可能にするカスタム CASIO F-91W デジタル時計フロント プレート — 内部ビュー
非接触決済が可能なカスタムCASIO F-91Wデジタル時計フロントプレート(外観)
バックプレートに関しては、元の金属製のものをPLAベースの3D プリント製のものに置き換えることにしました。
CASIO F-91W カスタムバックプレート
これにより、純粋に美的な均一性を維持しながら、金属プレートの存在によって発生する電磁ノイズを構造全体で確実に低減することができました。
カスタム CASIO F-91W デジタル時計バックプレート — 外観
カスタム CASIO F-91W デジタル時計バックプレート — 内部ビュー
必要なワイヤの適切な量を理解するために、 NanoVNA + RFID-RC522デバイスの組み合わせで共振ピークを頻繁にテストし、一度に 1 つの小さな塊ごとにワイヤを巻き戻して切断しました。
CASIO F-91Wアンテナの共振ピークをNanoVNA + RFID-RC522で発見
さらに、 Proxmark3デバイスを使用して、新しい形状に縮小された非接触型決済カードが依然として十分に読み取れるかどうかを確認しました。
Proxmark3 が NFC インターフェイス経由で改造された CASIO F-91W フロント プレートを読み取る
フロントプレートの3D プリントによって残された穴 (時計ディスプレイ用) を超透明エポキシ樹脂で埋めて、ガラス仕上げを実現しました。
前面板の液晶窓用UVレジンを固定する紫外線ランプ
十分に強力な ( 48W ) UV ランプに片面あたり約1 ~ 2 分間曝露すると、 UVレジンの重合(硬化) が促進されます。
すべてのピースを組み立てる時が来ました。
再組み立て段階にあるCASIO F-91W
ハサミ、ピンセット、電子部品用の大量の両面修復テープを使って、フロント プレートの接着面をなんとか再構築しました。
カスタムCASIO F-91Wデジタルウォッチの正面図
最後に、残りのコンポーネントを再組み立てし、バックプレートと元のネジですべてを閉じました。
カスタム CASIO F-91W デジタル時計の 360° ビュー
見た目とフィット感を完璧にするクールなストラップも見逃せません。
完全に機能する NFC 非接触型決済カードが埋め込まれたハッキングされた CASIO F-91W を着用
CASIO F-91Wに組み込まれた非接触型決済システムが完璧に動作することをライブで証明するために、さまざまな店舗や自動販売機でいくつかの商品を購入しました。
いくつかの動画は多くの言葉よりも価値があります。
彼らは皆、スマートウォッチで支払うのが上手ですが、ビンテージのCASIOではどうでしょうか?
すべての努力が報われる純粋な喜びは、人々のショックを受けた顔を見ることです → 😯 レジで私が支払った金額に気づいたとき 🤣。
私の頭の中にいくつかの考えが浮かんでいます。
さらに楽しいこともいくつかあります。
ハッキングされたCASIO F-91Wデジタル時計で行われた最初の非接触取引の受領
CASIO F-91W デジタル時計の夜景 — クリプトナイトグリーンの LED バックライト
さらに、 GitHubリポジトリを作成し、役立つと思った大量のドキュメントと、自分でダウンロードして3D プリントできるフロントプレートとバックプレートの*.STLファイルをホストしました →こちら。
NFCテクノロジー、非接触型決済、電波の領域へのこの旅はスリリングなものでした。ハッカーとして、私は、ツール、ソフトウェア、デジタルエコシステムの急速な進化により、物事を見通すことができるようになり、絶えず変化する状況を受け入れることができるように、新しい可能性の領域が開かれた時代に生きていることを非常に幸運に感じています。テクノロジーの。技術オタクであることは、エレクトロニクスやコーディングに対する単なる情熱を超えています。それは、好奇心、問題解決、そして学びたいという飽くなき欲求によって動かされる考え方を包含します。それは発見への生涯にわたるダイビングであり、新たな進歩がそれぞれさらに大きな進歩への足がかりとして機能します。それは、イノベーションの最前線に立ち、限界を押し広げ、想像力と技術力によって推進される未来に貢献することです。
しかし、テクノロジーのあらゆる興奮と驚異の一方で、倫理的配慮、プライバシー、責任ある使用の重要性も忘れてはなりません。大きな力には大きな責任が伴います。
引き続き探索し、いじくり回して、知識を世界と共有しましょう。
特別な友人たちに特別な感謝を捧げます:
みなさん、これは最高でした 🤙
この記事で提供される情報は教育のみを目的としています。このチュートリアルから得た情報に基づいて個人または団体が行った違法行為については、私は責任を負いません。コンテンツは一般的なガイダンスを提供することを目的としており、提供された情報を適用する際には、適用されるすべての法律、規制、および倫理基準を確実に遵守するのはお客様の責任です。チュートリアルに基づいて行うアクションはすべて、ご自身の責任と裁量で行われます。私は、チュートリアルに示されている情報の使用または誤用から生じるいかなる損害、損失、または法的結果についても一切の責任を負いません。法律を確実に遵守するために、専門家のアドバイスを求めるか、関連当局に相談することを強くお勧めします。このチュートリアルにアクセスして使用することにより、提供された情報を適用した結果として下流で発生する可能性のある違法行為またはその結果について、私が一切の責任を負わないことに同意したものとみなされます。この情報は責任を持って使用し、実際の状況に適用する場合は注意してください。
ここでも公開されています。