2011-07-13 5 views
4

私はRFIDの周りに構築された簡単な認証システムを構築しようとしています。基本的に私は古いコンピュータを持っており、USB RFIDスキャナを購入したいと考えています。しかし、私はこの分野での経験がないので、私は何を買おうとしているのか分かりません。RFIDスキャナ+ Javaプログラミング?

基本的には、RFIDカードを使用してユーザーをログインできるようにするAPIが付属しています。誰も私にこれを達成するための良いデバイス/リソースをお勧めできますか?

答えて

2

テストしていませんが、Java-RFID Programming libraryを確認してください。

ことになっている:

RFIDキットに依存しないAPI [...]テキサス・インスツルメンツおよびマイクロチップRFIDキットでテスト。

他に何もない場合、コードはSourceForgeで利用できるので、チェックアウトすることができます。

より良いアプローチは、特定のスキャナを用意して、利用可能なサポートがあるかどうかを確認することです(独自のライブラリ、マニュアルなどを提供する可能性があります)。 Google検索ではこの記事が見つかりました。例えば、RFID Reader for Samsung VLAC-G1/VLAC-Alpha readers(C++で書かれていますが、移植は問題ではありません)。

1

私はRFIDだけで手抜きしましたが、私が見たことから、ほとんどのRFIDシステムは非常に高価です(特に固定RFIDシステム)。おそらく、標準のMSRまたはBarcodeタイプのシステムの方が良いでしょう。 RFIDは、タッチレスであるという利点があります。しかし、あなたは "古いコンピュータ"を使って言いますから、これは趣味のプロジェクトとしてこれをやっているようです。そうであれば、ユーザーにRFIDへの投資を要求するのではなく、さまざまなタイプのデバイスをサポートできるように、デバイスのインターフェイスロジックを簡単に始めてカプセル化することが推奨されます。

RFIDを使用することに決めた場合、キーボード入力(HIDインターフェイス)としてデータを返すか、またはUnifiedPOS標準をサポートするRFIDリーダーを探してみるとよいでしょう。私の理解では、RFIDのUnifiedPOSサポートはかなり新しく、まだサポートしていないモデルがたくさんあるかもしれません。

+0

また、塩分のあるハードウェアであれば、オペレーティングシステム上の他の入力デバイスと同じように対話できる適切な抽象化を提供する必要があります。ハードウェアドライバのコンセプト全体は、複雑なハードウェア要件をそれを利用するソフトウェアから抽象化することです。 – Grambot

1

私の職場では、最近、RFIDハードウェアに関する調査を行ってきました。私たちは、ほとんどのデバイスが独自のAPIとSDKを持っていることを発見しました。ベンダーのサイトがプログラミング言語をサポートしているかどうかを確認する必要があります。 Javaでプログラミングしているので、すべてのデバイスメーカーがJavaをサポートしているわけではありません。私は修正インストールされた読者といくつかの仕事をしました。それらのほとんどはイーサネット上でベンダー固有のプロトコルを使用しているため、ソケット(直接接続)やベンダー製のSDK(これは簡単です)を介して通信できます。これらの修正されたインストールされたデバイスは、ログインカードよりはるかに大きいですが、家具の下に隠すことは可能です。

私たちはUSB RFIDリーダーではありません。私の仕事のパートナーの1人は、特にログインカード用に作られたRFIDリーダでいくつかの作業を行っています。私が覚えている限り、それはUSBを使用していたので、カード読み取りをキーボードストロークに変換する小さなソフトウェアを書かなければならなかったので、実際にRFIDを認識していないソフトウェアのバーコードリーダーのように機能します。

RFIDリーダーを搭載したポータブルモバイルコンピュータを購入するオプションもあります。これらのデバイスは、Windows Mobile/CEを削除して、独自のソフトウェアをインストールすることができます。残念ながら、これらのデバイスで直接Javaを使用することはできません。モバイルWindows版のサードパーティのJVM実装はありますが、無料ではありません。最も良いのは.NETとVisual C++です。

悲しいことに、私はRFIDデバイスが高価だと言うことができます。おそらくあなたは知らないかもしれませんが、競合する2つのRFID無線規格、HFとUHFが市場にあります。これらのRFID技術には、長所と短所があります。私もあなたもこれらをチェックすべきだと思います。

最近、一部のAndroid搭載端末に組み込まれているNFC技術もあります。私は、この技術は、彼らが今も携帯電話に組み込まれていることを考慮すると、より安価なデバイスを持っていると思います。彼らは私が知る限り、RFID互換ではありません。

1

RFID認証は複雑な分野であり、あなたの「シンプルな」RFIDシステムは、実際のまたは重要な資産/場所を保護するためには使用されないことを願っています。本当のことを知りたければ、MX5C-RFIDを試してみてください。それは$ 100未満のための良い選択と思われ、あなたはeBay(Mifare PlusまたはMifare DesFire)からカップルIDカードを購入することができます。

真剣に何かを保護したい場合、UHF RFIDカードは長距離から容易に読み取り可能であり、MiFareのようにデータ暗号化を提供しないため、使用しないでください。

Mifare plusのカードをお持ちの場合は、Mifareの古典的な互換性は使用しないでください。 Mifare classicは実装が簡単ですが、弱くて簡単に複製できます。

  1. 変更をあなた自身の秘密鍵
  2. ため、すべてのメーカーのデフォルト秘密鍵は、(それがメーカーによって書かれた読み出し専用メモリバンクだUIDをしてください:あなたは新しいカードを作成するときに、最大限のセキュリティを確保するため

    )をあなたのデータベースに入れて、あなたが届けたカードをホワイトリストに載せます。

  3. デクリメントカウンタの値を読み取って格納し、次の認証時にカウンタの期待値を比較できるようにします。

    1. カードのUIDを読み、カードがあなたによって配信されているかどうかを確認するために、データベースに対してそれを確認してください。認証する場合は、次の操作を行い

  4. デクリメント関数を呼び出して、デクリメントカウンタの値がデータベースの期待値と一致するかどうかを確認します。そうでない場合は、認証を拒否します。それ以外の場合は、将来の認証のためにデクリメントカウンタの値を保存してください。
  5. 認証あなたは可能な限りあなたの実装が同じくらい簡単にするために、これらのアドバイスのいずれかをバイパスすることができ、カードのID

を使用。ただし、重大な認証を行う場合は、前述のすべての機能を実装するための段階的な開発手順を実行する必要があります。ほとんどの現代のRFID識別システムは、開発者の怠惰のために週単位であり、簡単なプロトタイプをプロダクション用に使用しています。