A method and system authenticates a storage device or storage router for
use with driver software. The driver software may be permitted to be used
with particular storage devices including storage routers and may be
prohibited from being used with other storage devices or routers. In some
cases, this may allow a vendor to restrict the use of its driver
software, or at least certain functionality, to use with the vendor's
storage devices or storage routers. A proof of purchase request is sent
by a client device to a server over an IP network to authenticate the
storage device or router (e.g., a server). The request may include a
random number and one or more identifiers. The identifiers may include a
server identifier, a software driver identifier and/or a client device
identifier. The driver software may permit storage related communications
with the server when a hash received from the server matches a hash
internally generated by the software driver.