当前位置: 首页 > 专利查询>微软公司专利>正文

安全序列号制造技术

技术编号:4467305 阅读:440 留言:0更新日期:2012-04-11 18:40
使用认证器值来保护软件产品的序列号。远程认证服务器整个地对认证器值和序列号求值,使得在其上安装该软件产品的本地计算机上不发生密码认证。对离线认证使用该认证器值的缩短部分。

【技术实现步骤摘要】
【国外来华专利技术】安全序列号北旦 冃豕现代商业盒装软件产品通常作为包含软件代码和字母数字的产品密钥的物理 介质来交付。软件供应商在对特定用户和/或计算机启用与该软件相关联的完全权 限之前要求其产品完成"激活"过程是常见的。激活过程通常涉及将产品密钥以及标识用户和/或计算机的某些信息传送给激 活交换所(通常是软件供应商,但其可以是第三方)。软件供应商使用允许访问与 该软件相关联的权限的授权码来响应。接着该软件得到许可。当软件价值很高时,生产假冒产品密钥的诱惑力很大。由于软件的特性,标 识并禁止假冒会是有挑战性的。在努力实现这个的过程中,近年来应用于产品密钥 的技术得到了进步,以包括试图证明序列号合法的短数字签名。然而,产品密钥的有效性仅可以按照用已知系统知识伪造假冒密钥所需的时间来测量。CPU处理能力的进步越来越呈现出当前技术的无效性,因为存在能够基于现有技术在几小时或甚至几分钟内创建假冒密钥的"密钥生成"工具。 直到现在,对该问题的适当的解决方案仍然难倒了本领域技术人员。概述本专利技术一般针对用于确认软件产品的安全序列号。在一个实施例中,安全序 列号将认证功能从本地计算机(其上安装软件产品)移走,并移动到远程认证服务 器。在另一实施例中,安全序列号包括基于单次试图确认过程所需的时间来确定大小的认证值。附图简述在结合此处简要描述的附图参考以下详细描述时,将更容易领会并更好地理 解本专利技术的许多附加优点。附图说明图1是其中可以实现本专利技术的各实施例的计算环境的图示。图2是根据一个实施例的包括安全序列号的产品密钥的图形表示。图3是创建安全产品密钥的软件供应商的图形描绘。图4是认证产品密钥的本地计算机和认证器的图形描绘。图5是可用于实现本专利技术的一个或多个实施例的示例性计算设备的功能框图。图6是根据一个实施例的概括地示出用于创建产品密钥的过程的操作流程图。 图7是根据一个实施例的概括地示出用于认证产品密钥的过程的操作流程图。 现在将参考这些附图详细地描述本专利技术的各实施例,全部附图中相同的标号 指示相同的元素。附图详细描述以下将参考形成本专利技术的一部分并示出了用于实施各实施例的具体示例性实 现的附图来更全面地描述各实施例。然而,其它实施例可以用许多不同形式来实现, 并且不应被解释为限于此处所述的实施例;相反,提供这些实施例以使本公开内容 彻底且完整。各实施例可被实施为方法、系统或设备。因此,各实施例可以采用硬 件实现、完全软件实现或组合了软件和硬件方面的实现的形式。因此,以下详细描 述不在限制的意义上考虑。各实施例的逻辑操作被实现为(1)在计算系统上运行的计算机实现的步骤的 序列,和/或(2)计算系统内的互连机器模块。实现是取决于实现该实施例的计算 系统的性能要求的选择问题。因此,构成此处所描述的实施例的逻辑操作被替换地 称为操作、步骤或模块。说明性系统首先将参考实现本专利技术的某些实施例的示例系统来描述原理和概念。可以使 用根据本专利技术的教导编程的常规或专用计算设备来实现该示例系统。图1是在其中实现本专利技术的各实施例的计算环境100的图示。计算环境100 可以使用根据本专利技术的教导配置的诸如图5中示出和以下描述的计算设备等任何 常规计算设备来实现。图1中示出的每个组件所执行的特定操作将结合附图2-5来 详细地描述。然而,作为概述,这些组件所执行的一般操作将结合图1来描述。计算环境100包括开发并销售或许可软件的软件供应商101。此外,软件供应 商101包括根据一个实施例的创建安全产品密钥的组件。更具体地,软件供应商 101被配置成为软件产品的每一实例生成序列号。此外,软件供应商101被配置成 基于序列号生成认证值。序列号和认证值作为产品密钥102与软件产品103的副本 一起交付。产品密钥102无需在物理上结合软件产品103 —起交付。例如,产品密 钥102可以通过电子消息等来交付。产品密钥102的一个具体示例在图2中示出并 在下文中描述。包括了认证器110来执行认证产品密钥102的任务。认证器102包括足以认 证由软件供应商102创建的认证值的信息。此外,认证器110被配置成为成功认证激活码。激活码(未示出)允许在没有限制的情况下执行软件 产品103。仅为了方便起见,认证器110被示为分开的实体。另选地,认证器110 可以被实现为软件供应商101的一部分或其组件。本地计算机105可以是任何常规计算系统,诸如图5中示出并下文中描述的 计算系统。本地计算机105可以能够或不能够在线访问诸如认证器110等其它计算 系统。在本地计算机105不能在线访问时,用户113可以通过与离线认证器115 进行通信来执行离线认证。离线认证器115可以是在线认证器110的代理(例如人 或自动电话操作员)。在操作中,软件供应商101将软件产品103和产品密钥102交付给用户113, 该用户接着将软件产品103安装在本地计算机105上。作为激活过程的一部分,软 件产品103提示用户113输入产品密钥102。如果本地计算机105能够在线访问, 则软件产品103将产品密钥的至少一部分发送给在线认证器110以供认证。如果本 地计算机105不能在线访问,则软件产品103可以提示用户113调用离线认证器 115并提供产品密钥102的至少另一部分提供给离线认证器115。出处讨论的目的, 术语"离线"意指除在其上输入产品密钥的计算机(例如,本地计算机105)和执 行认证的计算机(例如,认证器110)之间的在线电子交互之外的任何形式的认证。安全产品密钥102是花费极其长的时间来"破解"的产品密钥,其中术语"破 解"是指猜测与有效产品密钥相关联的一连串数字的系统或蛮力方法。进行产品密 钥激活的常规技术在安装过程期间在本地计算机105上执行认证。然而,计算技术 如此进步以至于在本地计算机105上破解产品密钥102可以在相对短的时间内实 现。专利技术人确定,从本地计算机105移除认证功能使得认证器110能够控制认证过 程并且相应地控制需要多久来猜测一个有效的产品密钥。因此,在该实施例中,产 品密钥认证功能从本地计算机105移除,并且被移动到认证器110。这样,可以更 紧密地控制整个认证过程,这避免了认证过程受到发生在本地计算机105上的蛮力 密钥生成攻击的阻挠的可能性。现在参考图2,示出了根据一个实施例的示例产品密钥202。在该具体实现中, 产品密钥202包括三个部分序列号211、认证器值212、以及校验和213。应该 注意,此处所描述的产品密钥202仅仅是可能的许多实现中的一个实现,并且本发 明的教导将同样适用于各种体现和构造的其它产品密钥。序列号211可以是用于标识软件产品的各个实例的任何唯一数字。因此,序 列号211可以是一系列线性递增的值中的一个数字。另选地,序列号211可以是从一组可能的值中随机选择的数字。简而言之,序列号可以是使用用于选号的任何可 接受的准则来选择的任何数字。在一个具体示例中,序列号211是长度大约为40 位的值,虽然其它长度值也同样适用。认证器值212是基于序列号211和诸如密钥等秘密的值。在一个示例中,认 证器值212可以是散列变量,诸如基于SHA1散列算法的散列值等。所得散列值可 以被截短成适当的长度。在另一示例中,认证器值212可以是加密变量,诸如结本文档来自技高网...

【技术保护点】
一种用于激活软件产品的计算机实现的方法,包括: 接收包括序列号和认证器值的产品密钥; 提示是否在线激活所述软件产品; 响应于对所述提示的肯定指示,将所述序列号和所述认证器值发送给远程认证服务器以供认证;以及 响应于对 所述提示的否定指示,显示所述认证器值的缩短版本以供离线认证。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:AT休斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1