安全序列号的制作方法

文档序号:6476375阅读:242来源:国知局
专利名称:安全序列号的制作方法
安全序列号北旦 冃豕现代商业盒装软件产品通常作为包含软件代码和字母数字的产品密钥的物理 介质来交付。软件供应商在对特定用户和/或计算机启用与该软件相关联的完全权 限之前要求其产品完成"激活"过程是常见的。激活过程通常涉及将产品密钥以及标识用户和/或计算机的某些信息传送给激 活交换所(通常是软件供应商,但其可以是第三方)。软件供应商使用允许访问与 该软件相关联的权限的授权码来响应。接着该软件得到许可。当软件价值很高时,生产假冒产品密钥的诱惑力很大。由于软件的特性,标 识并禁止假冒会是有挑战性的。在努力实现这个的过程中,近年来应用于产品密钥 的技术得到了进步,以包括试图证明序列号合法的短数字签名。然而,产品密钥的有效性仅可以按照用已知系统知识伪造假冒密钥所需的时间来测量。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可以是加密变量,诸如结合 密钥对序列号211使用RC4流密码算法所生成的值,其同样被截短成适当的长度。 在又一示例中,认证器值212可以仅仅是通过诸如远程数据库等分开的关联而仅与 序列号211相关联的完全随机的唯一数字。 一般而言,认证器值212是以只有远程 认证器知道的方式来与序列号211相关的唯一值。在一个具体示例中,认证器值 212是长度大约为48位的值,虽然其它长度值也同样适用。在大量的工作之后,发明人确定破解产品密钥202的时间长度依赖于认证是 在线还是离线执行的。例如,单次尝试在线确认产品密钥202可能仅花费一会儿的 时间,这将允许可能一天数万次尝试。相反,单次尝试诸如通过用电话进行人类对 话等离线认证产品密钥202可能花费若干分钟,从而在一天内允许少的多的尝试。有了这一确定,用于在线认证的可接受认证器值212可能比用于离线认证的 可接受认证器值212要复杂地多。而相反地,相比在线认证,离线认证可以使用简 单得多的认证器值212。但是为了避免创建多个认证器值,发明人确定可以在产品 密钥202中使用一个认证器值212,但是仅应该将其一部分(离线认证器217)用 于离线认证,而应该将整个认证器值212用于在线认证(在线认证器)219。在一 个具体示例中,离线认证器217是长度大约为15位的值,虽然其它长度值也同样 适用。该特征縮短了执行离线认证的用户在通话期间(诸如通过电话呼叫)必须陈 述的数字。这减少了可能导致无效认证的人为错误。此外,如上所述,用户通过电 话执行离线认证所必须花费的时间长度有效地防止了猜测有效产品密钥的蛮力尝试o在该具体实现中,认证器值212的初始的若干字符被用作离线认证器217。在 其它实现中,可以使用认证值212的任何其它部分,诸如认证值212的中间或结尾 处的部分。应该注意,只要用于生成认证器值212的技术导致平均分布在整个认证 器值212上的随机性,则从认证器值212选择一系列连续字符而非离散的字符选择 将没有不相称的随机性丢失。在该实现中,校验和值213被包括在产品密钥202中。校验和值213可以作 为序列号211和认证器值212的校验和来计算。这样,在执行实际认证之前,本地 进程可以计算校验和以检测用户是否错误地输入了产品密钥202。这将避免由于不 正确地输入产品密钥的认证失败,这对用户来说会是非常沮丧的。在一个具体示例 中,校验和值213是长度大约为32位的值,虽然其它长度值也同样适用。图3是创建安全产品密钥305的软件供应商301的图形描绘。图3示出了可 以具体化为驻留在软件供应商计算硬件上的计算机可执行指令的某些功能组件。应该理解,可以存在与该实施例无关的许多其它组件。可以实现附加组件以执行此处 所描述的功能以外的附加功能,而不背离本实施例的精神。在图3中示出的是包括散列函数305和校验和算法317的软件供应商301。散 列函数305表示用于以在不知道被编码的数据的至少一部分的情况下数据不能被 容易地解码或求值的方式来编码数据的许多不同的机制之一。在该具体实施例中, 散列函数305将序列号307与密钥309 —起编码以得到认证器值311。 一般而言, 密钥是控制密码算法的操作的信息片。在该具体实施例中,密钥309可以是只有软 件供应商301知道的任何唯一值。密钥309越长或越复杂,解码经编码的数据就变 得越困难。因此,密钥309的长度应被选择为向试图破解认证器值311的那些人提 供合理的难度。四千位(4096位)密钥309应该提供可接受的强度,虽然密钥309 的长度可能受到所使用的特定散列算法(诸如此类)和其它因素的影响。在其它情 况下,更短或更长的密钥可能是适当的。软件供应商301可以另外使用校验和算法317 (诸如此类)来生成序列号307 和认证器值311的循环冗余校验(CRC)值319。校验和算法317表示用于计算可 用于检测在另一值中是否存在错误的值的许多函数中的任何一个。虽然在技术上, 校验和算法317是散列函数,因为散列函数305被用于创建认证器值311,但是校 验和算法317对于创建不能被容易地破解的值还不足够复杂,并且因此对于用于保 护序列号307是无效的。然而,校验和算法317对于检测诸如错误地键入产品密钥 等简单的错误是非常有帮助的。最终的结果是是包括三个组成的产品密钥320:序列号307、认证器值311、 以及CRC值319。接着可以将产品密钥320与软件产品(未示出)的副本结合在 一起来交付。应该理解,产品密钥320不必和软件产品在物理上一起交付,而是可 以分开交付,诸如通过邮件、电子邮件、电话、其它电子通信等。还应该理解,可以为软件产品的每个唯一的认证副本使用不同的产品密钥320,或者不这样做。换而言之,软件供应商301可以选择向多至给定数目的软件产品分配特定序列号,诸如在其中消费者购买了用于软件产品的大量安装副本的大站点许可证的情况下。相似地,不同的产品密钥320可以与软件产品的不同版本相关联。图4是认证产品密钥402的本地计算机401和认证器430的图形描绘。在该 具体实施例中,本地计算机401表示其上安装软件产品的计算系统的各组件。在该 实施例中,本地计算机401包括足以执行判定在数据序列中是否存在错误的普通数 学运算的校验和算法407。校验和算法407是可选的,并且在其它实施例中可以被 省略。作为激活过程的一部分,请求用户输入(例如键入)产品密钥402。产品密钥 402包括序列号410、认证器值412、以及CRC值414。如以上详细描述的,序列 号410是与软件产品相关联的任何数字,认证器值412是以只有认证器430知道的 方式与序列号410相对应的唯一值,而CRC值414是用于错误检测的序列号410 和认证器值412的简单的校验和。在其它实施例中可以省略CRC值414。本地计算机401与认证器430通信。在一些实现中,本地计算机401和认证 器430进行在线电子通信,诸如通过如因特网等网络。在其它实现中,本地计算机 401和认证器430之间的通信通过诸如人等离线中介发生。在一个示例中,用户可 以通过电话与认证器430的代理(人或自动)通信。作为认证过程的一部分,本地计算机401将序列号410和认证器值412传递 给认证器430。应该理解,在某些情况下,诸如在离线认证期间,可以将少于整个 认证器值412传递给认证器430。整个认证器值412可用于在线认证。认证器430包括至少一个表示用于解码以在不知道被编码的数据的至少一部 分的情况下不能被容易地解码或求值的方式来编码的数据的许多不同的机制之一 的散列函数432。在该具体实现中,密钥434表示用于编码认证器值412的秘密数 据,而这是对认证器值412进行求值所必须的。散列函数432使用密钥434和序列号410来计算有效的认证器值,并将其输 出到比较器436,比较器436可以是用于比较两组数据的任何函数。来自本地计算 机401的认证器值412也被提供给比较器436,比较器436将其与散列函数432的 输出作比较。认证器430基于散列函数432输出与认证器值412的比较将适当的指 示返回给本地计算机401。例如,如果比较是肯定的,则认证器430可返回本地计 算机401用于指示软件产品是被许可的并被授权无限制使用的授权码(未示出)。如果比较是否定的,则认证器430可向本地计算机401返回失败,这将禁用软件产 品或允许其在执行限的时间,或者具有有限的功能,或两者。图5是可用于实现本发明的一个或多个实施例的示例性计算设备500的功能 框图。在一个基本配置中,计算设备500包括至少一个处理器502和存储器504。 根据计算设备的确切配置和类型,存储器504可以是易失性的(诸如RAM)、非 易失性的(诸如ROM、闪存等)或两者的组合。该基本配置在图5中用虚线506 示出。此外,设备500还可以具有其它特征和功能。例如,设备500还可以包括附 加存储(可移动和/或不可移动),包括但不限于磁盘或光盘或磁带。这些附加存 储在图5中由可移动存储508和不可移动存储510示出。计算机存储介质包括使用 用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法 和技术实现的易失性和非易失性、可移动和不可移动介质。存储器504、可移动存 储508和不可移动存储510都是计算机存储介质的示例。计算机存储介质包括但不 限于RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘 (DVD)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可用于存 储所需信并可由设备500访问的任何其它介质。任何这种计算机存储介质可以是设 备500的一部分。计算设备500包括允许计算设备500与一个或多个计算机和/或应用程序513 通信的一个或多个通信连接514。设备500也可以具有诸如键盘、鼠标、数字化仪 或其它触摸输入设备、语音输入设备等输入设备512。也可以包括诸如监视器、扬 声器、打印机、PDA、移动电话以及其它类型的数字显示设备等输出设备511。这 些设备在本领域中是公知的并且无需在此敖述。说明性过程现在将参考在某些实施例中可以用诸如图5中示出的计算设备等计算设备实 现的示例过程来描述本发明的原理和概念。这些过程可以用软件或固件中的计算机 可执行指令来实现,但也可以用诸如可编程逻辑、电子电路等其它方式来实现。在 一些替换实施例中,某些操作甚至可与有限的人工干预一起执行。此外,这些过程 不应被解释为排他实施例,而仅是说明性地提供的。图6是根据一个实施例的概括地示出用于创建产品密钥的过程600的操作流 程图。所创建的产品密钥可用于确认或授权软件产品。所创建的产品密钥可采用多 种物理形式中的任何一种或多种,诸如打印在卡片或纸张上的数字、存储在数据库中的值等。在框601处,为软件产品的唯一实例创建序列号。该唯一实例可以是软件产 品的一个特定副本,它可以是相关的实例组,它可以是软件产品的一系列标识的实 例等。序列号可以采用任何所需形式,诸如一系列数字中的一个数字、随机数字、 或可以与诸如软件产品等产品相关联的任何其它值。在框603处,基于序列号和秘密来创建认证器值。可以使用用于基于一个值来结合秘密生成另一个值的任何适当的技术来创建认证器值。在一个具体实现中, 可以使用散列函数结合密钥来生成认证器值。诸如加密算法等其它示例也是可能 的。在框605处,可任选地,可以对序列号和认证器值计算校验和值(例如CRC 值)。CRC值可用于标识认证器值和序列号中的错误。在框607处,将各组成部分(例如序列号、认证器值和校验和值)的每一个 组合成产品密钥。此时,可以组合或结合新软件产品来交付产品密钥。图7是根据一个实施例的概括地示出用于认证产品密钥的过程700的操作流 程图。可以在其上安装软件产品的本地计算机系统上实现过程700。过程700可以 作为软件产品的认证或确认过程的一部分来执行。在框701处,接收产品密钥。产品密钥可以响应于诸如激活过程呈现的对话 框等对产品密钥的提示来接收。在另一实现中,可以在程序上提供产品密钥,诸如 通过电子消息传送或通信手段。在框703处,可以将产品密钥解析成其组成部分。在一个实现中,组成部分 包括至少一个序列号和认证器值。序列号是与所安装的软件产品相关联的唯一值。 认证器值是以在不知道秘密的情况下不能被容易地求值的方式来编码的值。产品密 钥可以另外地或另选地包括CRC值,CRC值是序列号和认证器值的校验和。在框705处,如果产品密钥包括CRC值,则对序列号和认证器值求CTC值, 以判定在任一值的输入中是否有错误。例如,如果用户手动地将产品密钥键入到对 话框输入域,则人为错误的可能性是很大的。因此,如果存在,则CRC值将启用 简单校验以避免这些错误。如果产品密钥不包括这种CRC值,则可以省略该操作。在框707处,确定确认产品密钥要使用的认证技术。在该具体实施例中,可 以在线地或离线地执行认证。在线是指发生在通过网络耦合的两个计算系统之间的 使用电子通信的认证过程。离线是指非在线的任何认证过程。如果认证技术是在线 认证,则过程700前进到框709处。如果认证技术是离线认证,则过程700前进到框711处。在框709处,将序列号和认证器值发送给远程认证服务器。远程认证服务器是使用必要的元件来配置的,以便根据序列号来求认证器值。在一个示例中,远程 认证服务器可以包括适当的算法和密钥,以基于序列号来判定认证器值是否有效。 在该具体实现中,整个认证器值被发送给远程认证服务器。整个认证器值可以是即 使使用自动技术也极度难以破解的冗长的位流。在框711处,显示离线认证器值以供离线认证。在该实施例中,应该理解, 即使使用比用于在线认证的认证器值短得多的认证器值,破解认证器值的过程在时 间上仍然是极其长的。因此,在框711处显示的离线认证器值可以是整个认证器值 的縮短或截短的版本。离线认证器值的长度可以基于单次尝试使用离线认证技术来 认证该认证器值的估计时间长度来选择。将离线认证器值而非整个认证器值用于离 线认证减少了例如消费者试图向电话认证代理读冗长的密码数字时的受挫感。在框713处,接收认证器值(取决于情况,其是在线认证器或者是离线认证 器)是否有效的通知。通知可以采用许多形式中的任何一种,诸如所返回的结合软 件产品存储的验证有效性和激活的认证码。如果通知是肯定的,则在框705处,授 权对软件产品的适当的访问。另选地,如果通知是否定的,则在框717处,拒绝或 诸如在时间或功能上限制对软件产品的访问。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所 附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和 动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于激活软件产品的计算机实现的方法,包括接收包括序列号和认证器值的产品密钥;提示是否在线激活所述软件产品;响应于对所述提示的肯定指示,将所述序列号和所述认证器值发送给远程认证服务器以供认证;以及响应于对所述提示的否定指示,显示所述认证器值的缩短版本以供离线认证。
2. 如权利要求1所述的方法,其特征在于,所述序列号包括与所述软件产品 相关联的唯一值。
3. 如权利要求l所述的方法,其特征在于,所述认证器值包括基于所述序列 号的、以在不知道秘密的情况下不能被容易地求值的方式来编码的值。
4. 如权利要求3所述的方法,其特征在于,所述认证器值包括基于所述序列 号和密钥的散列值。
5. 如权利要求3所述的方法,其特征在于,所述认证器值包括从应用于所述 序列号和密钥的加密算法所导出的值。
6. 如权利要求l所述的方法,其特征在于,所述产品密钥还包括基于所述序 列号和所述认证器值的校验和值。
7. 如权利要求6所述的方法,其特征在于,所述方法还包括对所述校验和值 求值以判定在所述序列号和/或所述认证器值中是否存在错误。
8. 如权利要求l所述的方法,其特征在于,所述认证器值包括第一值,所述 第一值的长度足以使得在线破解所述认证器值的尝试将花费极其长的时间,并且其 中所述认证值的縮短版本包括所述认证器值的子集,所述子集包括第二值,所述第 二值的长度足以使得离线破解所述第二值的尝试将花费极其长的时间。
9. 一种使用用于激活软件产品的计算机可执行指令编码的计算机可读介质, 所述指令包括在本地计算机上接收产品密钥;将所述产品密钥解析成至少一序列号和一认证器值,所述序列号是唯一地标 识所述软件产品的值,所述认证器值是确认所述序列号的经编码的值,所述经编码 的值是基于密钥的;响应于在线激活所述软件产品的指示,将所述序列号和所述认证器值发送给远程认证服务器以供认证,而无需在所述本地计算机上认证所述认证器值。
10. 如权利要求9所述的计算机可读介质,其特征在于,还包括响应于离线 认证所述软件产品的指示,显示所述认证器值的縮短版本以供离线认证。
11. 如权利要求IO所述的计算机可读介质,其特征在于,所述认证器值的縮 短版本包括组成所述认证器值的数字的子集。
12. 如权利要求9所述的计算机可读介质,其特征在于,所述经编码的值是 以在不知道密钥的情况下不能被求值的方式来编码的。
13. 如权利要求12所述的计算机可读介质,其特征在于,所述经编码的值是 使用散列函数和所述密钥来编码的。
14. 如权利要求12所述的计算机可读介质,其特征在于,所述经编码的值是 使用应用于所述序列号和密钥的加密算法来编码的。
15. 如权利要求9所述的计算机可读介质,其特征在于,所述产品密钥还包 括用于测试在所述序列号和/或所述认证器值中是否存在错误的校验和值。
16. 如权利要求15所述的计算机可读介质,其特征在于,所述校验和值是使 用循环冗余校验算法来计算的。
17. —种使用用于激活软件产品的计算机可执行组件来编码的计算机可读介 质,所述组件包括包括激活例程的软件产品,所述激活例程包括校验和算法,所述激活例程被 配置成接收产品密钥并将所述产品密钥解析成至少一序列号、一认证器值和一校验 和值,所述序列号是唯一地标识所述软件产品的值,所述认证器值是确认所述序列 号的经编码的值,所述激活例程被进一步配置成将所述序列号和所述认证器值在线 发送给远程认证服务器,所述激活例程还被配置成响应于离线激活所述软件产品的 指示显示所述认证器值的縮短部分。
18. 如权利要求17所述的计算机可读介质,其特征在于,所述经编码的值是 基于密钥和所述序列号的。
19. 如权利要求17所述的计算机可读介质,其特征在于,所述激活例程被进 一步配置成使用所述校验和值和所述校验和算法来判定在所述序列号和/或所述认 证器值中是否存在错误。
20. 如权利要求17所述的计算机可读介质,其特征在于,所述激活例程可用 于将所述序列号和所述认证器值在线发送给所述远程认证服务器,而无需预先认证 所述序列号。
全文摘要
使用认证器值来保护软件产品的序列号。远程认证服务器整个地对认证器值和序列号求值,使得在其上安装该软件产品的本地计算机上不发生密码认证。对离线认证使用该认证器值的缩短部分。
文档编号G06F21/22GK101601045SQ200880003940
公开日2009年12月9日 申请日期2008年2月1日 优先权日2007年2月1日
发明者A·T·休斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1