U2F USBトークンを使用したブラウザーでの2段階認証

画像



U2Fは、 FIDO Allianceによって開発されたオープンな汎用2要素認証プロトコルです。

この提携には、Google、PayPal、Lenovo、MasterCard、Microsoft、NXP、Visaなどが含まれます。



このプロトコルは、バージョン38以降のChromeブラウザーでサポートされています。Windows/ MacOS / Linuxでは、ドライバーなしでそのまま使用できます。



現在、 Google、LastPass、Wordpressでサポートされています



この記事では、NFCおよびOpenPGPカードをサポートするYubikey NEOトークンを使用した経験、SMSを介した2要素認証の欠点について説明します。





2段階SMS認証が危険な理由





SMSまたは通話による2段階認証は、現在非常に人気があります。

もちろん、これは便利であり、ほとんどの場合、このような追加のチェックは効果的です。 自動化された攻撃、フィッシング、パスワード選択、ウイルスから保護し、失われたアクセスを復元します。



しかし、あなたの人がプロの詐欺師の標的になった場合、接続された電話は致命的な役割を果たす可能性があります。 ほとんどの場合、アカウントが関連付けられている電話番号は秘密ではありません。通常、これはメインの連絡先番号です。 アカウントへのアクセスを取り戻そうとすると、ほとんどすべてのサービスが希望する人に最初または最後の数字を報告します。 したがって、アカウントに関連付けられている番号を簡単に見つけることができます。



ロシアで誰が番号を発行したかを知ることは難しくありません。 Roem.ru 男性の実験を読むのに十分です。

番号の所有者の個人データを受け取った詐欺師は、偽の委任状、運転免許証またはパスポートを引き、携帯電話会社の最寄りの支店に送られます。

SIMカードを再発行する権限には、最も怪しい携帯電話サロンの普通の従業員がいます。

面白いのは、加入者のプロフィールのほとんどのオペレーターが番号の所有者の写真さえ持っていないことですが、何らかの理由で彼らはパスポートをコピーしています。 つまり、パスポートに一致する詳細を描き、適切な写真を貼り付けるだけで十分です。



オペレーターは、プロキシによるSIMカードの再発行を禁止するオプションがありますが、偽の運転免許証とパスポートによって番号が正常に再発行されるため、これは架空の防御です。



Megafon、Beeline、MTSのプロキシによるアクションを禁止する方法
メガホン:

moscow.megafon.ru/help/servic...sti.html#21123

サービスを有効にするには、電話で* 105 * 508#をダイヤルします。

身分証明書を持ってMegaFonサロンを個人的に訪問している間は、部屋の所有者のみがサービスを無効にできます。



ビーライン

moskva.beeline.ru/customers/help/safe-beeline/ugrozy-mobilnykh-moshennikov/zapret-deystvyi-po-doverenosti

禁止を確立するには、ビーラインオフィスの1つにパスポートで連絡するか、0611に電話する必要があります。



MTS

オフィスへの個人的な訪問については、番号に関するコメントに、パスポートを持つ所有者のみがすべてのアクションを実行する権利があることを示すように依頼してください。





ウクライナでは、ほとんどの数字が匿名であるため、状況はさらに悪化しています。

SIMカードを再発行するには、Kyivstarオペレーターは最後のアカウント補充のチェックを表示し、呼び出しが行われた3つの番号に名前を付ける必要があります。



多くの銀行などの優れたサービスは、電話番号とともにIMSI (International Mobile Subscriber Identity)-一意のSIMカード識別子も保存します。 IMSIが変更された場合、番号バインディングはキャンセルされたと見なされ、バインディング手順を繰り返す必要があります。

残念ながら、そのようなサービスは多くありません。



HLRリクエストsmsc.ru/testhlrを使用して、任意の番号のIMSIを確認できます



パラノイアのレシピ:smsc.ruには、Python、PHP、Perl、Ruby、Java、C#、Delphi、C ++の便利なライブラリがあり、特にHLRリクエストを送信できます。 たとえば、1日に2回、番号のIMSIを確認し、変更された場合はアラームを鳴らすことができます。 最も高価な関税では、1リクエストにつき0.2ルーブル、1つの番号につき年間約150ルーブルが出ます。 同じライブラリを介して、アラーム付きのSMSを送信できます。 私はお勧めします;)



コール転送のセットアップ、ボイスメールのインターセプトなど、携帯電話経由で確認をバイパスする他の方法があります。 しかし、それらの説明はこの記事の範囲外です。

SIMカードの再発行の被害者の怖い話
www.banki.ru/forum/?PAGE_NAME=message&FID=61&TID=188210

www.banki.ru/forum/?PAGE_NAME=read&FID=61&TID=204319

www.banki.ru/forum/?PAGE_NAME=message&FID=61&TID=195752

searchengines.guru/showthread.php?t=856465&page=3





U2F-FIDOユニバーサル2ファクター





U2Fで計画されているように、オーセンティケーターはハードウェアモジュールです。USBトークン、SIMカード、またはキーを格納し、暗号化操作を独立して実行するNFCキーフォブです。 同時に、キーは実稼働中に事前にインストールされ、トークンから離れることはありません。



動作原理は次のとおりです。

  1. ユーザーはログインパスワードを使用してウェブサイト/アプリケーションにログインします
  2. サーバーは資格情報を確認し、正しい場合はトークンのチャレンジを生成し、ユーザープログラム(この場合はブラウザー)に送信します。
  3. ブラウザはチャレンジをトークンに渡します。トークンは、ユーザーの裁量でアクションを要求できます。 私の場合、これは接触パッド上の指のタッチです。 ただし、これには、たとえば、PINコードの入力、生体認証、またはその不在が含まれる場合があります
  4. トークンはプログラムに応答を返し、それがサーバーに送信されます
  5. 認証完了


FIDO U2Fスキームアニメーション



現在、バージョン38以降のU2FサポートはGoogle Chromeで利用可能です。 おそらくまもなくFireFoxに追加されるでしょう。



GoogleアカウントとLastpassアカウントでの認証は既にサポートされており、Wordpress、Django、および異なる言語のライブラリ用のプラグインがあります。

Linux PAM、OpenSSHなどのモジュール。



OTP / U2F認証をサポートするサービスの表-www.dongleauth.info



便利なリンク
Googleの例github.com/google/u2f-ref-code

PHPのライブラリgithub.com/Yubico/php-u2flib-server

Rubyのライブラリgithub.com/castle/ruby-u2f

Pythonデモgithub.com/Yubico/python-u2flib-server

PAMモジュールgithub.com/Yubico/pam-u2f





Yubikey NEOトークンを使用した個人的な経験





最も高度なU2FデバイスはYubicoによって製造されています。

ロシアの販売代理店-yubico.ru

私は現時点で最も洗練されたキーチェーン-Yubikey NEOを購入しました。



画像



U2Fに加えて、彼は次のことができます。

  1. OpenPGPスマートカード -OpenPGPカードバージョン2.0が挿入されたICCIDリーダーとして定義
  2. NFC-スマートフォンで使用でき、アクセス制御のキーとして使用できます。 エミュレーションモードでMifare Classicカードとして機能できます
  3. OTPおよびTimeOTP-これは非表示キーボードとして定義され、押すとワンタイムパスワードが入力されます。 ソフトウェアアプレットを介した時間ベースのOTP(Google認証システムの置き換え)
  4. PIVスマートカード -( 個人識別検証 )アメリカの州のスマートカード標準




デフォルトでは、デバイスはYubico OTPモード(独自のワンタイムパスワードプロトコル)で動作し、HIDキーボードとしてのみ定義され、ボタンを押すと、デバイスIDに基づいてワンタイムパスワードを印刷します。

Windows / Mac / Linuxで利用可能な独自のユーティリティを使用してU2Fモードを有効にする必要があります。



画像



U2FおよびICCIDモードがOpenPGPカードとして機能するようにしたかったのです。



画像



以上です。 U2Fはすぐに動作し、ドライバーは不要です。

デモアプリケーションdemo.yubico.com/u2fで作業を確認できます



トークンをGoogleアカウントにリンクするのは非常に簡単です。



画像



トークンをバインドすると、デフォルトで2番目の要素になりますが、代替方法であるSMSまたはTOTPを無効にすることはできません。



画像



別の2番目の要因として、TOTPを選択しました。 1Passwordを介してTOTPソフトウェア実装を使用します (デスクトップ上でのみ、Google認証システムと同じです)。 Yubikey NEOはTOTPにも対応していますが、パスワードを生成するためのキーはトークンに格納されており、抽出できません。 しかし、パスワードは時間に基づいて生成されるため、トークンに時間を転送するためにソフトウェアアプレットを実行し続ける必要があります。



また、他のデバイス機能についても簡単に調べました。



OpenPGPカードは、gpgtools.orgパッケージのGnuPG 2.0.27ですぐに機能しました。

gpg --card-status
Application ID ...: F3427001240104000006010230340000 Version ..........: 2.0 Manufacturer .....: Yubico Serial number ....: 1023034 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
      
      









カードバージョン2.0、キーはRSAのみで、2048ビット以下。

カードの操作は、たとえばAndroidでhttp://www.openkeychain.org/を使用してNFCを介して行うこともできます 。 この接続の利点は、秘密キーを使用したすべての操作がカードで実行され、キーがカードから離れることがなく、カードから削除できないことです。



残念ながら、先日、Yubikey NEOでのOpenPGPの実装に脆弱性見つかりました。これにより、PINコードの入力をバイパスし、秘密鍵で操作を実行できます。 また、デバイス上のファームウェアの更新はセキュリティ上の理由から禁止されているため、バグを修正する方法はありません。 Yubico社は、湾曲した腺をすべての人と交換することを約束しています。

ファームウェア1.0.8の脆弱なバージョンがありました



Mifare Classicエミュレーションは、私にとって最もわかりにくい機能です。 通常のMifare Classicと同様に、彼女と通信しようとすると、カードは奇妙な動作をします。

ログイン試行のあるlibnfc出力
 $ LIBNFC_LOG_LEVEL=3 ./readmifare1k.py -s 115200 -l /dev/tty.SLAB_USBtoUART debug libnfc.config key: [allow_autoscan], value: [false] debug libnfc.config key: [allow_intrusive_scan], value: [false] debug libnfc.config key: [log_level], value: [1] debug libnfc.config key: [device.name], value: [microBuilder.eu] debug libnfc.config key: [device.connstring], value: [pn532_uart:/dev/tty.SLAB_USBtoUART] debug libnfc.config Unable to open directory: /usr/local/etc/nfc/devices.d debug libnfc.general log_level is set to 3 debug libnfc.general allow_autoscan is set to false debug libnfc.general allow_intrusive_scan is set to false debug libnfc.general 1 device(s) defined by user debug libnfc.general #0 name: "microBuilder.eu", connstring: "pn532_uart:/dev/tty.SLAB_USBtoUART" debug libnfc.driver.pn532_uart Attempt to open: /dev/tty.SLAB_USBtoUART at 115200 baud. debug libnfc.bus.uart Serial port speed requested to be set to 115200 baud. debug libnfc.chip.pn53x Diagnose debug libnfc.chip.pn53x Timeout value: 500 debug libnfc.bus.uart TX: 55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 debug libnfc.chip.pn53x SAMConfiguration debug libnfc.chip.pn53x Timeout value: 1000 debug libnfc.bus.uart TX: 00 00 ff 03 fd d4 14 01 17 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 15 debug libnfc.bus.uart RX: 16 00 debug libnfc.bus.uart TX: 00 00 ff 09 f7 d4 00 00 6c 69 62 6e 66 63 be 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 09 f7 debug libnfc.bus.uart RX: d5 01 debug libnfc.bus.uart RX: 00 6c 69 62 6e 66 63 debug libnfc.bus.uart RX: bc 00 debug libnfc.chip.pn53x GetFirmwareVersion debug libnfc.bus.uart TX: 00 00 ff 02 fe d4 02 2a 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 06 fa debug libnfc.bus.uart RX: d5 03 debug libnfc.bus.uart RX: 32 01 06 07 debug libnfc.bus.uart RX: e8 00 debug libnfc.chip.pn53x SetParameters debug libnfc.bus.uart TX: 00 00 ff 03 fd d4 12 14 06 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 13 debug libnfc.bus.uart RX: 18 00 debug libnfc.general "pn532_uart:/dev/tty.SLAB_USBtoUART" (pn532_uart:/dev/tty.SLAB_USBtoUART) has been claimed. debug libnfc.chip.pn53x ReadRegister debug libnfc.bus.uart TX: 00 00 ff 0c f4 d4 06 63 02 63 03 63 0d 63 38 63 3d b0 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 07 f9 debug libnfc.bus.uart RX: d5 07 debug libnfc.bus.uart RX: 00 00 00 00 00 debug libnfc.bus.uart RX: 24 00 debug libnfc.chip.pn53x PN53X_REG_CIU_TxMode (Defines the transmission data rate and framing during transmission) debug libnfc.chip.pn53x PN53X_REG_CIU_RxMode (Defines the transmission data rate and framing during receiving) debug libnfc.chip.pn53x WriteRegister debug libnfc.bus.uart TX: 00 00 ff 08 f8 d4 08 63 02 80 63 03 80 59 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 09 debug libnfc.bus.uart RX: 22 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 06 fa d4 32 05 ff ff ff f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x ReadRegister debug libnfc.bus.uart TX: 00 00 ff 0e f2 d4 06 63 02 63 03 63 05 63 38 63 3c 63 3d 19 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 08 f8 debug libnfc.bus.uart RX: d5 07 debug libnfc.bus.uart RX: 80 80 00 00 00 00 debug libnfc.bus.uart RX: 24 00 debug libnfc.chip.pn53x PN53X_REG_CIU_TxAuto (Controls the settings of the antenna driver) debug libnfc.chip.pn53x PN53X_REG_CIU_Control (Contains miscellaneous control bits) debug libnfc.chip.pn53x WriteRegister debug libnfc.bus.uart TX: 00 00 ff 08 f8 d4 08 63 05 40 63 3c 10 cd 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 09 debug libnfc.bus.uart RX: 22 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 06 fa d4 32 05 00 01 02 f2 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x ReadRegister debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 06 63 03 c0 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 03 fd debug libnfc.bus.uart RX: d5 07 debug libnfc.bus.uart RX: 80 debug libnfc.bus.uart RX: a4 00 debug libnfc.chip.pn53x PN53X_REG_CIU_RxMode (Defines the transmission data rate and framing during receiving) debug libnfc.chip.pn53x WriteRegister debug libnfc.bus.uart TX: 00 00 ff 05 fb d4 08 63 03 88 36 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 09 debug libnfc.bus.uart RX: 22 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 06 fa d4 32 05 00 01 02 f2 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x InListPassiveTarget debug libnfc.chip.pn53x No timeout debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 4a 01 00 e1 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 20 e0 debug libnfc.bus.uart RX: d5 4b debug libnfc.bus.uart RX: 01 01 00 44 28 07 04 1b 15 4a 0e 35 80 11 78 f7 b1 02 59 75 62 69 6b 65 79 4e 45 4f 72 33 debug libnfc.bus.uart RX: 8e 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 06 fa d4 32 05 00 01 02 f2 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x InListPassiveTarget debug libnfc.chip.pn53x No timeout debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 4a 01 00 e1 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 20 e0 debug libnfc.bus.uart RX: d5 4b debug libnfc.bus.uart RX: 01 01 00 44 28 07 04 1b 15 4a 0e 35 80 11 78 f7 b1 02 59 75 62 69 6b 65 79 4e 45 4f 72 33 debug libnfc.bus.uart RX: 8e 00 debug libnfc.chip.pn53x SetParameters debug libnfc.bus.uart TX: 00 00 ff 03 fd d4 12 04 16 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 13 debug libnfc.bus.uart RX: 18 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 00 f9 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 32 01 01 f8 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x RFConfiguration debug libnfc.bus.uart TX: 00 00 ff 06 fa d4 32 05 00 01 02 f2 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 02 fe debug libnfc.bus.uart RX: d5 33 debug libnfc.bus.uart RX: f8 00 debug libnfc.chip.pn53x InListPassiveTarget debug libnfc.chip.pn53x No timeout debug libnfc.bus.uart TX: 00 00 ff 04 fc d4 4a 01 00 e1 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 0f f1 debug libnfc.bus.uart RX: d5 4b debug libnfc.bus.uart RX: 01 01 00 44 28 07 04 1b 15 4a 0e 35 80 debug libnfc.bus.uart RX: 2a 00 debug libnfc.chip.pn53x InDataExchange debug libnfc.bus.uart TX: 00 00 ff 12 ee d4 40 01 60 00 a0 a1 a2 a3 a4 a5 04 1b 15 4a 0e 35 80 7b 00 debug libnfc.bus.uart RX: 00 00 ff 00 ff 00 debug libnfc.chip.pn53x PN53x ACKed debug libnfc.bus.uart RX: 00 00 ff 01 ff debug libnfc.bus.uart RX: 7f 81 00 error libnfc.driver.pn532_uart Application level error detected
      
      







カードには7バイトのUIDがあります

  ATQA (SENS_RES): 00 44 UID (NFCID1): 04 1b b1 4e f7 00 f1 SAK (SEL_RES): 28 ATS: 78 f7 b1 02 59 75 62 69 6b 65 79 4e 45 4f 72 33
      
      





物理的には、RFIDタグは非常に良好に機能します。小さなアンテナにもかかわらず、地下鉄のリーダーは3センチメートルから「つかみます」。



おわりに





私が使用していたすべてのハードウェアトークンと比較して、U2Fテクノロジーは非常に便利です。 証明書のインポート、ドライバーのインストール、Javaアプレットの使用などに煩わされる必要はありません。

Windows 7、Mac OS 10.10、Ubuntu 14.0.4での実行をテストしました。 すべてのシステムで、Chromeはドライバーをインストールせずにすぐにトークンを取得しました。 一般に、展開は非常に単純で理解しやすいため、子供でも処理できます。

また、完全にオープンな仕様、プラグイン、ライブラリの存在により、U2Fをあらゆるアプリケーションに固定できます。



All Articles