您的位置: 首页 > 营销管理 > 营销大讲堂

Internet上销售软件的用户身份认证

2007-12-28 来源:《职业时空》 2007年第13期 作者:张 竞


  Internet日益普及,电子货币逐渐流行,在网上销售软件产品,给软件开发商和销售商带来了新的利润空间,这也为软件盗版者提供了方便之门。利用计算机指纹信息实现用户身份认证就是一种可以保护软件、防止盗版、成本低廉的有效方法。
  
  一、用户身份认证方法简介
  
  用户身份认证的目的是证实用户的真正身份,防止入侵者伪装,是一种主动安全防御策略。用户身份认证通常所采用的技术是密码技术,因为密码技术可以保证信息的机密性、认证性、完整性、不可抵赖性等。
  密码技术是以研究数据保密为目的,对存储或者传输的信息采取秘密的交换以防止第三者对信息的窃取的技术。密码技术通常分为软加密法和硬加密法。其中,硬加密法就是将加密信息固化在硬件上,如软件狗,软件在每次启动时,先检测硬件上的相应信息,如果通过检测,则启动软件,否则不能正常启动软件。硬加密法的特点是成本高,但安全性高,适用于开发费用较高,而且难以依靠扩大发行量来获取利润的大型专用软件。而软加密法就是用软件方法而不依靠特殊硬件来实现对用户信息的加密,软加密的最大优势在于极低的加密成本。大部分价格低廉的通用软件采用的是软加密法,如常用的序列号法。序列号是软件开发者根据用户提交的信息(如用户名),通过某一种加密算法生成的一组数据,用此序列号可以完成用户合法身份认证和应用软件的安装。序列号的弱点是:如果知道一个序列号就可以不受限制地在任意一台计算机上安装使用此软件,从而难以防止正版用户将软件分发给他人使用,甚至给盗版者留下了可乘之机。
  
  二、基于计算机指纹信息的用户身份认证
  
  计算机指纹信息是一种计算机本身所固有的,能唯一标识一台计算机的标志信息。例如,计算机的CPU ID是全球唯一的,计算机硬盘的序列号是全球惟一的,计算机网卡的物理地址是全球惟一的。
  利用计算机指纹信息进行用户身份认证的方法综合了软加密法和硬加密法二者的优点,即成本较低,安全性教高;其特点是软件用计算机指纹信息进行用户身份认证,而计算机指纹信息确保了软件只能合法地安装在唯一的一台相应的计算机上,这是利用了计算机指纹信息与计算机一一对应的特征,从而防止了正版用户将软件分发给他人使用,也防止了盗版软件的产生。
  1.获取计算机指纹信息
  计算机指纹信息的获得方法有多种。例如,硬盘序列号的计算机指纹信息的获取方法就有:⑴用VB获取法;⑵用Power Build获取法;⑶用VC++获取法等。为了表述方便,下面列出了读取硬盘序列号的C程序代码:
  //读取硬盘序列号的C语言程序,结果保存在数组DiskData中
  void GetHardDiskData(unsigned int DiskData[])
  {unsigned int Temp[];
  unsigned int dd—off;while (inp (0x1F7) ! = 0x50) ;/*如果硬盘控制器忙,则等待*/outp (0x1F6, 0xA0); /*读取驱动器信息*/outp (0x1F7, 0xEC);while (inp (0x1F7) ! = 0x58); /*等待成功读取数据*/for (dd—off = 0; dd—off ! = 256; dd—off ++)Temp [dd—off] = inpw (0x1F0);int loop, loop1;for (loop = 10, loop1 = 0; loop <= 19; loop ++)/*Temp[10-19]中的数据就是硬盘序列号*/DiskData [loop1 ++] = Temp [loop];Return;}
  用户将获取的硬盘序列号这个计算机指纹信息发送给软件商,从而完成获取计算机指纹信息的第一步工作。例如,在笔者的计算机上,C盘的序列号是009F-BE96,将其转换成十制就是10469014。
  2.对计算机指纹信息进行加密
  对计算机指纹信息进行加密就必须采用一种加密模型。密码技术的加密模型通常有两种:一种是对称密钥加密模型,即加密和解密采用的是同一密钥,传统加密方法常采用此加密模型,对称密钥加密模型的常用算法有DES,IDEA等。另一种是非对称密钥加密模型,即加密和解密采用的是不同密钥,现代加密方法常采用此加密模型,非对称密钥加密模型的常用算法有RSA,DSS等。在这里采用RSA公钥算法。
  基于数论中大数分解问题的RSA公钥算法曾被ISO/TC97的数据加密技术委员会SC20推荐为公开密钥数据加密标准,是一种比较安全的加密算法。下面以C盘的十进制序列号10469014为例,选取简单公钥e和私钥d,说明使用RSA公钥算法进行计算机指纹信息加密的过程。
  (1)选择两个密钥,即公钥e和私钥d
  选择公钥e和私钥d应满足下列条件:
  Select p, qp and q both prime,p != q
  Calculate n n = pq
  Calculate f(n)f(n)=(p–1)(q–1)
  Select integer e gcd(f(n),e)=1;e∈(1,f(n))
  Calculate dd=e-1 mod f(n)等价于de=1 mod f(n)
  例如,选择素数p=5,q=11,则n=pq=5×11=55,f(n)=(p-1)(q-1)=(5-1)(11-1)=40;选择e=3,则满足:gcd(f(n),e)=gcd(40,......

相关文章:
- 可爱淘新作再冲销售记录  2006-12-28
- 站在销售神话的肩上看《七侠  2007-07-28
- 巧妙策划同时销售同名小说  2007-12-28
- 《哈利·波特和死圣》首日销售创记录  2007-12-28
- 教辅销售旺季的营销方案  2007-12-28
- 法国报刊数字销售网逐步发展  2007-12-28
- 应收账款信用销售管理初探  2007-07-28
- 火车上卖鸡腿从小处看销售艺术  2006-03-28
- 日本销售女神的成功之路  2006-04-28
 本月热点
本周热点
 
发布商链接