Windowsプログラミングの質問です。最近USBメモリから一意な値を取り出して鍵とするソフトウエアが多くありますが、どのような方法で一意な値を取得しているのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/04/04 02:32:06
  • 終了:2006/04/11 02:35:02

回答(4件)

id:inokuni No.1

いのくに回答回数1343ベストアンサー獲得回数212006/04/04 02:59:31

ポイント23pt

http://www.vector.co.jp/soft/win95/util/se334890.html

「鍵」になる個々のUSB機器の識別はそのUSB機器の持つ「ベンダーID」・「プロダクトID」・「バージョン(リビジョン)」及び「シリアルナンバー」を使って行います。

だそうです。

http://www.microsoft.com/whdc/device/storage/usbfaq.mspx

Q: Must a USB storage device contain a unique serial number?

Yes. To comply with the USB Mass Storage Class Bulk-Only Transport Specification, all USB storage devices must contain a unique (12 digits or longer) serial number, represented as a UNICODE string. Refer to section 4.1.1 of the USB Mass Storage Class (Bulk-Only Transport) specification and note that serial number characters must be 0x0030-0x0039 or 0x0041-0x0046.

A unique serial number on a USB device maintains the same device devnode as a user moves the device from USB port to port. This unique devnode ensures that properties (icons, policies, driver letters, and so on) associated with the device are not reset when the device is moved to a new port or when a second device with the same VID/PID/REV is added to the system.

IHVs must ensure that a device’s serial number is unique in order for that device to comply with Windows operating systems (refer to Microsoft Windows Logo Program System and Device Requirements B2.6.3.1) and to pass WHQL certification. (HCT version 10.0, and later HCTs, will test the uniqueness of a serial number on any USB device if one is specified.)

ということなので、個々の Serial 番号は

http://gentoo-wiki.com/HOWTO_USB_Mass_Storage_Device

USB Mass Storage Class と関係があるみたいです。

id:saiso No.2

saiso回答回数39ベストアンサー獲得回数12006/04/04 09:15:59

ポイント23pt

http://forums.belution.com/ja/vc/000/316/71.shtml

USBメモリには通常シリアルナンバーがあります。これがそれぞれ違っていることでキーとして使用できるようです。しかし、このシリアルナンバーは通常のプログラムでは取得できないため、デバイスドライバー用のSDKを使用して取得するようになるため、そのあたりの知識がないと非常に難しいことになります。

(ちなみに私もこのSDKを使用しないで出来ないものか研究中で結構いいところまでは行っています)

id:disca

基本的にはDDKが必要なんですね。参考になります。

2006/04/04 17:22:24
id:ToMmY No.3

ToMmY回答回数656ベストアンサー獲得回数192006/04/04 10:14:41

ポイント22pt

http://www.forest.impress.co.jp/article/2004/05/27/blackburn...

これの場合シリアルです。

http://pcweb.mycom.co.jp/articles/2005/03/18/usbhl/002.html

>USB鍵として最も考えられる機器。ベンダーID、プロダクトID、シリアルナンバーの3つのIDある場合が多いので、管理者鍵のような高いセキュリティが必要なUSB鍵として使える。

このようにたくさんあるようです。あとは中の任意ファイルのハッシュなどでしょう。

id:disca

期待していた回答ではありませんが、参考になります。

(USBのシリアルキーを取得できるAPIを探しています。)

2006/04/04 17:24:59
id:kinneko No.4

kinneko回答回数36ベストアンサー獲得回数02006/04/05 10:44:32

ポイント22pt

シリアル番号は安いUSBメモリでは、ちゃんとしたメーカー品でも、同じ番号が書き込まれていたり、値がないものがありますので、そのままでは使えないことがあります。また、特殊なソフトウエアを使えば書き換えも可能です。

そのため、一意なキーとして使うには十分な情報ではないと思います。

一意なキーとして、スマートカード用のAPIに対応したコントローラーを積んだ製品もありますので、そういうものを使うのも手だと思います。

それでも情報がほしいのであれば、デバイスにIOCTL_STORAGE_QUERY_PROPERTYを使うと目的の情報にたどり着けると思います。

http://msdn.microsoft.com/library/default.asp?url=/library/e...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません