tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: USBメモリーのシリアル値取得
投稿日: 2016/05/19(Thu) 11:11
投稿者食う寝る走る
> > トングルのように使いたいのですが、
> Dongle(ドングル)ですね?
トングルではなく"ドングル"です。


> > USBシリアル(USBメモリー)値が差し込みポートごとに異なってしまいます。
> USB メモリーによって、シリアルを持っている製品と持っていない製品があります。
>
> また、現時点でシリアルをもっている製品であっても、製品ロットが変わることで
> 出荷時期によってはシリアルを持たなくなる可能性も無いとは言えません。
> そうなった場合の対処も考慮して設計する必要があるかと思います。
> (利用させる前に、USBメモリーの対応状況を事前に調べておくなど)
確かに、KEY発行前に、複数台にソフトを導入する予定ですので、市販のUSBメモリーを調べておく必要がありますね。
同じ時期に、同じメーカーのUSBメモリーを買ったらシリアルが無かったり、全部同じだったりしたら困りますしね。


> > 1〜3を文字列連結して文字列→16進数コード化(暗号化)したものをKEYとして、iniファイルへ記述。
> 復元する必要が無さそうなので、暗号化ではなくハッシュで十分な気もします。
> 暗号化でも良いですが、それだとキーと初期化ベクタが必要になりますし。
ハッシュについて調べてみました。一方方向で、元データの復元が出来ないものなので、直接パスワードを書くよりも安心ですし確かに用途的に使えそうです。
但し、キーの中に使用期限を入れたいので、これもハッシュにしてしまうと、復元が出来なくなってしまうような・・・。


> > USBのシリアル値を取得は出来て、
> > SerialNo.= USBSTOR\DISK&VEN_GENERAL&PROD_UDISK&REV_5.00\6&5A3F01E&0&_&0
> > SerialNo.= USBSTOR\DISK&VEN_GENERAL&PROD_UDISK&REV_5.00\6&D15C087&0&_&0
> それは USB のハードウェアシリアルではなく、Plug and Play のデバイスID ですね。
>
> 下記の USBDeview ツールでいうと、"Instance ID" の項にあたります。
> 一方、USB のシリアル値というのは "Serial Number" の項です。
> http://www.forest.impress.co.jp/docs/review/20150928_722897.html


提示した、SerialNo.は、
Win7の「デバイスマネージャー」→「ユニバーサルシリアルコントローラー」→「USB大容量記憶装置(右クリック)」→「プロパティ」→「詳細タブ」→「デバイスインスタンスパス あるいは 子」で表示できる値のようです。

ご紹介の
USBDeview ツール 試してみます。

http://supermab.com/mikan.html
の「みかん」でシリアル値を確認すると「6」が帰って来ます。
大学の行事でもらった、このメモリーのシリアル値が1文字とすれば、文字列を16進数化したKEYを使うには不安かもしれません。
※ハッシュを使えば1文字だけでも問題と思います。


ちなみに、
挿入したUSBメモリーを別のPCで確認すると、
SerialNo.= USBSTOR\DISK&VEN_GENERAL&PROD_UDISK&REV_5.00\6&3B89FEEE&0&_&0
SerialNo.= USBSTOR\DISK&VEN_GENERAL&PROD_UDISK&REV_5.00\6&28D04E49&0&_&0

このメモリーで変わらないのは「6」。「6」がシリアル値ということなのかもしれません。

手元に、確認で使えるUSBメモリーが無いので、もう少し何本かのUSBのシリアル値を確認してみたいと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。