Re: USB-Memorystick - serial number



Hi,

SK schrieb:
Hello,

a few months ago I asked the same question, but I got the answer, that
this is not possible, since the USB keys do not have unique serial
number.

It depends. Officially all USB devices which can be accessed as mass storage device (acting as mass storage USB class) have to have an unique id (see sub specs and window specs). This id is used to differentiate between otherwise identical devices (say you have two sticks from the same mfg, same product series) attached.


Now it may be that some manufacturers ignore this requirement. Which would do no harm as long only one of their devices is plugged in. But I don't care about those. I just select a mf who provides unique ids (just a matter of buying some and test them).

The reason why I was asking this is that I would like to protect my
software (basically a tool for the management of other programs) with
the serial number of users USB key - I would like to prevent copy
protection. I am not charging for this program, but this is a
dangerous tool if it falls into wrong hands. What is your reason?

I want to have a hardware token to which the software's registration is bound to. Everyone who has the token can register (anonymously) the software. No token, no registration. No registration, no running software. After registration the software runs without needing the token again.


On this behalf I am searching for either a client side user mode driver which communicates with the (windows standard) kernel mode usb mass storage class device driver (usbstor.sys I think) and gives me the serial id by just calling one function (hiding the complexity of calling the kernel mode driver by windows api). Or, if such user mode driver is not available, how to get the id using the windows user mode apis in direct.

Btw, there are plenty of other ways for getting a hardware token.

Readily available including client side user mode driver software are smart cards and their companion card readers (USB too). There are versions of smart cards which can be programmed in Basic and can do eg encryption inside the card. So one could add extra security when it comes to authenticate the card. Costs are about 1-2$ for the smart card and about 20-25$ for the reader.

Even the use of a ready made USB-serial converter (including its cable and plugs) could be used as long as the devices use a eg FTDI252R chip. Price is about 20$ or may be lower. For this chip the chip vendor gives away a client side user mode driver.

Or just use one of the commercially available so called dongles. Price is 20$ or lower.

Or build your own one. Basically a FTDI252R chip suffices. Make a small pcb (the chip does not need any extra elements) and solder the chip and a USB-plug on it. Chip costs ~3$, plug and pcb are about 1$. OK, add an other 1$ for the housing and you end up with 5$.

Or buy a U3 smart USB stick. From the U3 org there is a client side user mode driver available which allows to read the serial (U3 must have unique serials too and in this case mfs must do it as otherwise they do not get the U3 logo and could not sell their devices under this logo) and much more (as securely writing data to hidden device memory and reading it back). Principally those U3 variants of USB mem sticks are not much more expensive than their simple counterparts. But as U3 sticks are used to hold masses of big application software they usually have high mem caps (0.5 GB and more). So their cost is about 40$ and above. This will change in the near future (as flash chip prices will go down and perhaps U3 sticks with lower mem cap will come to the market). But as I do not need masses of mem (for me 1 MB or below would suffice), I would rather avoid buying high mem cap sticks.

For me and my purposes all above solutions have one or two drawbacks. For eg. building them myself the amount needed is to high. Also german laws impose complicated and expensive duties to the mfs of electronic devices.

Then there is the price. A simple USB stick of low mem cap (say 64 MB) at this time is the cheapest of all (10$ and less). So I will stick to the stick solution :-).

--
Ulrich Korndoerfer

VB tips, helpers, solutions -> http://www.proSource.de/Downloads/

-----------------------------------------------------------------------
Plea for a bright future for VB classic.
Sign the petition to Microsoft: -> http://classicvb.org/petition/
-----------------------------------------------------------------------
.



Relevant Pages

  • Re: Straight-Up Replacement For P4P800-E?
    ... there is a "hidden warranty" for ICH5/ICH5R failures. ... is that ICH5 is far and away the worst chip. ... is right over top of where the USB I/O pads get their power. ...
    (alt.comp.periphs.mainboard.asus)
  • Re: BAD Problems with Asus Mobos
    ... That's very discouraging to hear about these problems and I think that Intel ... I was going to install a separate PCI USB 2 card to get around the problem ... > using the ICH5R chip with dual Seagate drives. ... As for chip power levels, a portion of chip power depends on the ...
    (alt.comp.periphs.mainboard.asus)
  • Re: BAD Problems with Asus Mobos
    ... I had to RMA the board for the USB controller problem, ... > using the ICH5R chip with dual Seagate drives. ... As for chip power levels, a portion of chip power depends on the ... a regulator only provided about 15 amps. ...
    (alt.comp.periphs.mainboard.asus)
  • Re: Straight-Up Replacement For P4P800-E?
    ... there is a "hidden warranty" for ICH5/ICH5R failures. ... is that ICH5 is far and away the worst chip. ... is right over top of where the USB I/O pads get their power. ...
    (alt.comp.periphs.mainboard.asus)
  • Re: Trying to send RS232 with PIC sends incorrect data in TeraTerm
    ... Are you sure the converter you have is USB toRS232?. ... the chip that resides on the breakout board is the cp2102 which lists ... the signals being inverted, since each MAX232 inverts the signals, as well ... I will definitely check the voltages coming out of the Tx pin on the ...
    (sci.electronics.design)