专利名称:一种导航软件用户授权方法及系统的制作方法
技术领域:
本发明属于车载导航技术领域,尤其涉及一种导航软件用户授权方法及其系统。
背景技术:
车载导航软件包括程序和地图数据,为了保护程序和地图数据的版权,用户需在一定的授权许可下方能使用软件。这种授权许可一般限定在指定数量的设备上安装指定版权批次的软件(程序+地图),用户或经销商通过在网站或激活工具使用预先获得的用户授权号对软件进行激活后,方可使用软件和服务。这样才能保护地图数据提供商和软件服务提供商的商业利益。在面向不同业务模式和不同客户时,可能会有不同的授权模式,例如车载预装模式下,每一次用户授权一般只允许在一台设备安装一个版权批次的软件,但有时候某些客户则会要求一次用户授权可以在多台设备上安装,也有可能会要求一次用户授权可以包含多个版权批次(例如送给用户两次免费升级机会,即共3个版权批次),因此需要一种灵活的授权机制可以适应不同的应用需求。
发明内容
鉴于现有技术存在的问题,本发明提供一种导航软件用户授权的方法,其特征在于包括如下步骤步骤一、根据合同号在数据库中的合同表中创建合同信息;步骤二、根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次;步骤三、为用户指定合同号、要生成的授权号数量、以及每个授权号可安装的设备数量,然后系统自动根据合同号、数据库内部序号、随机码经过编码生成授权序列号;步骤四、通过指定合同号所对应的版权批次号,对指定的程序和数据片段进行加密,同时将版权签名打包进程序和数据包;步骤五、启动终端读取本机的设备号,从由服务器接收的程序和数据包中读取版权签名,接收授权序列号,共同混合编码生成设备安装号;步骤六、用户通过注册服务网站输入授权序列号、设备安装号,开始用户认证并获取激活号;步骤七、用户认证后获得激活码并输入给激活模块,激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程。进一步,本发明所述的导航软件用户授权的方法的步骤二中为指定合同添加版权批次的同时生成一对签名和解密密钥,并存储在数据表中。进一步,本发明所述的导航软件用户授权的方法从数据表中获取指定批次的签名和密钥,生成加密关键字,并用加密关键字对程序和数据的核心片段进行加密。进一步,本发明所述的导航软件用户授权的方法的步骤三中所生成的授权序列号同时存放在数据库中,并记录其设备授权次数,供用户认证时校验。
进一步,本发明所述的导航软件用户授权的方法中所述授权序列号的编码形式采用24进制字母和数字的混合组合,编码长度为25字符;所述设备安装号的编码形式采用24进制字母和数字的混合组合,编码长度为20字符;所述激活码的编码形式采用24进制字母和数字的混合组合,编码长度为16字符。进一步,本发明所述的导航软件用户授权的方法的步骤六中获取激活码的过程具体为对授权序列号和设备安装号进行自校验,判断授权序列号是否在数据库中有记录,判断此用户可用的设备注册次数是否已用完,判断此合同号是否与版权批次特征匹配,根据版权批次从数据库中获取对应的解密密钥,将解密密钥和授权序列号、安装安装号进行混合编码,生成激活码。此外,本发明还提供一种导航软件用户授权的系统,其特征在于包括用于根据合同号在数据库中的合同表中创建合同信息的装置;用于根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次的装置;用于为用户指定合同号、要生成的授权号数量、以及每个授权号可安装的设备数量,然后系统自动根据合司号、数据库内部序号、随机码经过编码生成授权序列号的装置;用于通过指定合同号所对应的版权批次号,对指定的程序和数据片段进行加密,同时将版权签名打包进程序和数据包的装置;用于启动终端读取本机的设备号,从由服务器接收的程序和数据包中读取版权签名,接收授权序列 号,共同混合编码生成设备安装号的装置;用于使得用户通过注册服务网站输入授权序列号、设备安装号,开始用户认证并获取激活号的装置;用于在用户认证后获得激活码并输入给激活模块,使得激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程的装置。本发明的导航软件用户授权的方法和系统通过将合同号和版权批次引入到用户认证,注册,激活流程中,解决了在不同项目中独立灵活的配置版权发布与授权的问题,可以针对不同的客户,不同的业务模式定制不同的授权和升级策略。服务端可以配置各种设备特征+用户特征+合同特征+版权特征的约束组合,来满足不同业务类型的需要。
图I是根据本发明方法对导航软件进行用户授权过程的示意图;图2是本发明导航软件用户授权方法的流程图。
具体实施例方式为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。现有技术在认证中没有包含版权批次这一概念。这使得软件升级以及向多个客户销售软件时,如何管理成为一个问题。例如A合同的用户允许免费升级数据两次,而B合同的允许免费升级数据3次,这样的功能无法使用现有技术直接实现。为此,本发明通过引入版权批次,不同合同对内容本质相同的程序或数据可以按照不同的版权批次发布,如A合同发布批次A2011,A2012, B合同发布批次B2011,B2012,B2013,再通过服务数据库的设定即可以设定A合同的用户授权号只能激活版权批次A2011,A2012,B合同用户授权号只能激活批次B2011,B2012, B2013,因此,A合同用户将暂时无权免费获得2013版本的数据。本发明通过引入了版权批次和合同号(包含在用户授权号中),可以为每一个项目合同都配置独立的版权授权策略,大大增强了灵活性。图I是根据本发明方法对导航软件进行用户授权过程的示意图。图中实现导航软件用户授权的过程主要包括如下几个步骤步骤I、创建合同,创建版权批次。创建合同的过程根据操作员指定的合同号在数据库中合同表中创建合同信息,创建合同后即可以使用用户授权发放与管理模块创建这个合同的用户授权号。创建版权批次的过程根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次。创建批次的同时使用算法模块生成一对签名和解密密钥,并存储在数据表中。添加批次后可以使用版权批次发布工具对程序或数据进行版权发布。 例如需要创建一个新的合同,编号为2,并为这个合同创建一个新的版权批次21 系统在接受请求后,在数据库表中建立相应的合同编号为2的合同记录和批次编号为21的版权批次记录,并建立两者之间的关系批次21授权给合同2,同时为新的版权批次21,使用基于MD5/SHA1的编码算法,生成一对签名和解密密钥,并存储在数据表中步骤2、用户授权发放。生成某个合同的用户授权号,生成过程为用户指定合同号,要生成的授权号数量,以及每个授权号可安装的设备数量,然后系统自动根据合同号,数据库内部序号,随机码经过编码生成授权序列号(包含了合同特征+用户特征),并以XML文件形式返回。授权序列号的编码形式采用24进制字母和数字的混合组合,编码长度为25字符。每一个发放的用户授权号同时都存放在数据库中,并记录其设备授权次数等信息,供用户认证时校验。例如,需要为新创建的合同2,申请可销售的用户授权号,例如需申请1000个,每个授权号允许安装在3台设备上,那么系统会按顺序连续使用授权号生成算法1000次,每个授权号都通过将合同编号(本例为2),和一个数据库内部序列号(每生成一次都累加),通过基于Md5/SHA1的编码算法合成为一个25字符长的授权序列号,例如-W6VBC-QWQ8X-DHTBH-4V9C6-83RHK,并在数据库做记录,这个序列号只能允许注册3台设备。步骤3、发布指定版权批次的软件(程序或数据)。通过指定的版权批次号,版权批次发布工具对指定的程序和数据片段进行加密。加密的具体过程为,从数据表中获取指定批次的签名和密钥,生成加密关键字,并用加密关键字对程序和数据的核心片段进行加密,同时将签名打包进程序和数据包。例如需要发布版权批次为21的软件,则发布工具从数据库中提取批次21的签名和密钥,生成加密关键字,并使用加密关键字对软件的核心片段使用诸如异或之类的方法进行加密,同时将批次21的签名放入软件包,供终端激活注册时使用。步骤4、在终端运行软件,开启注册,输入授权号,获取安装号。软件启动终端激活模块,读取本机的设备号(设备唯一标识),从程序和数据包中读取版权签名,从用户输入中读取用户授权号,共同混合编码生成设备安装号。设备安装号的编码形式采用24进制字母和数字的混合组合,编码长度为20字符。例如,销售人员将授权号W6VBC-QWQ8X-DHTBH-4V9C6-83RHK发放给用户A,用户A在设备B安装版权批次为21的软件,软件在启动时会读取设备B的唯一标识号,并读取软件的版权签名(批次21),软件将设备标识,版权签名,和用户授权号通过基于MD5/SHA1的编码生成长度为20的设备安装号,如WV72CQ26FYWC42HBDRPY)
步骤5、用户通过注册服务网站输入授权号,设备安装号,开始用户认证并获取激活号。
将设备安装号提示给用户,用户通过网页输入授权号和设备安装号(包含了合同特征+用户特征+设备特征+版权批次特征),认证服务根据授权号和安装号中的各种特征和数据库中的约束配置表(某个序列号允许几次设备注册,某个合同允许哪几个批次等)进行认证,认证主要完成下列步骤对授权号和安装号进行自校验,判断授权号是否在数据库中有记录,判断此用户可用的设备注册次数是否已用完,判断此合同号是否与版权批次特征匹配,根据版权批次从数据库中获取对应的解密密钥,将解密密钥和授权号、安装号进行混合编码,生成激活码。将激活码返回。激活码的编码形式采用24进制字母和数字的混合组合,编码长度为16字符。每一次认证成功,服务都将自动修改授权号的数据库记录,以确保可用授权次数正确。例如,用户获得安装号后,可以通过注册服务网站申请激活号,用户需先提交授权号,和安装号,用户认证服务从安装号中解析出设备号,合同编号-2,版权批次编号-21,并根据数据库记录校验授权号是否为数据库中有记录的授权号,然后认证服务检查批次21是否授权给了合同2,授权号W6VBC-QWQ8X-DHTBH-4V9C6-83RHK是否还有剩余的设备注册次数-总共为3次,如果各项认证通过,则从数据库中提取批次21的解密密钥,将解密密钥和授权号,安装号信息进行基于MD5/SHA1的混合编码,生成长度为16的激活码,如T49P-G6VR-33CW-VXCK。将激活码返回给用户。步骤6、用户认证后获得激活码并输入给激活模块,激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程。例如,用户获得激活号后,在终端软件上输入激活号,终端激活模块将激活号解析,与该设备上先前生成的安装号信息校验比对后,从中提取认证服务返回的解密密钥,并使用这个解密密钥和软件包中的批次21的签名,生成加密关键字,完成对软件的解密,用户可以使用软件了。为了实现灵活的授权机制,本授权方法设计了服务认证过程首先针对一个特定的版权批次生成一对签名和解密钥匙,用签名和密钥生成的加密关键字对版权载体(程序或数据)进行加密并发布,同时发布的还有签名,而将密钥放在服务器端保存,而用户要使用软件,就必须先提交自己的信息(用户授权号(包含合同特征)+设备号-版权批次号),在服务器认证通过后,服务器才发放解密用的钥匙,而为了确保钥匙不被复制,在返回钥匙时也对钥匙进行了加密和编码。这样就将认证过程完成放在服务器端,利用服务器容易配置,容易更新的特性,可以为不同的业务模式和客户需求配置出多种认证方案。同时,由于用户授权号设计中包含了合同号信息,通过服务认证过程,服务器就可以积累每一个合同的细分数据(升级了多少次版权,安装了多少用户,安装了多少设备),可以与公司的销售财务管理直接对接。另外,通过签名和加密关键字技术(不需要对版权载体做大范围的改动),可以根据业务需要对不同的版权载体进行加密。图2是本发明导航软件用户授权方法的流程图。如图2所示,本发明的方法包括如下步骤步骤一、根据合同号在数据库中的合同表中创建合同信息;步骤二、根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次;步骤三、为用户指定合同号、要生成的授权号数量、以及每个授权号可安装的设备数量,然后系统自动根据合同号、数据库内部序号、随机码经过编码生成授权序列号;步骤四、通过指定合同号所对应的版权批次号,对指定的程序和数据片段进行加密,同时将版权签名打包进程序和数据包;步骤五、启动终端读取本机的设备号,从由服务器接收的程序和数据包中读取版权签名,接收授权序列号,共同混合编码生成设备安装号;步骤六、用户通过注册服务网站输入授权序列号、设备安装号,开始用户认证并获取激活号;步骤七、用户认证后获得激活码并输入给激活模块,激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程。本发明通过将合同号和版权批次引入到用户认证,注册,激活流程中,解决了在不同项目中独立灵活的配置版权发布与授权的问题,可以针对不同的客户,不同的业务模式定制不同的授权和升级策略。服务端可以配置各种设备特征+用户特征+合同特征+版权特征的约束组合,来满足不同业务类型的需要。在不同的业务模式(商业模式)下,版权的主体(需要保护的主要对象)可以是地图数据,也可以是程序。例如在车载预装中,地图是主要的版权载体,而在导航服务应用中,软件是版权的主要载体。这种情况下,则需要授权方法和系统是可以通用于不同的版权载体。为此,本发明通过将认证/发布流程独立于具体的版权载体类型(程序或数据),实现了在不同的业务模式下可以有选择的对称程序或地图数据进行加密。 最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种导航软件用户授权的方法,其特征在于包括如下步骤 步骤一、根据合同号在数据库中的合同表中创建合同信息; 步骤二、根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次; 步骤三、为用户指定合同号、要生成的授权号数量、以及每个授权号可安装的设备数量,然后系统自动根据合同号、数据库内部序号、随机码经过编码生成授权序列号; 步骤四、通过指定合同号所对应的版权批次号,对指定的程序和数据片段进行加密,同时将版权签名打包进程序和数据包; 步骤五、启动终端读取本机的设备号,从由服务器接收的程序和数据包中读取版权签名,接收授权序列号,共同混合编码生成设备安装号; 步骤六、用户通过注册服务网站输入授权序列号、设备安装号,开始用户认证并获取激活号; 步骤七、用户认证后获得激活码并输入给激活模块,激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程。
2.根据权利要求I所述的导航软件用户授权的方法,其特征在于步骤二中为指定合同添加版权批次的同时生成一对签名和解密密钥,并存储在数据表中。
3.根据权利要求2所述的导航软件用户授权的方法,其特征在于从数据表中获取指定批次的签名和密钥,生成加密关键字,并用加密关键字对程序和数据的核心片段进行加密。
4.根据权利要求I所述的导航软件用户授权的方法,其特征在于步骤三中所生成的授权序列号同时存放在数据库中,并记录其设备授权次数,供用户认证时校验。
5.根据权利要求I所述的导航软件用户授权的方法,其特征在于所述授权序列号的编码形式采用24进制字母和数字的混合组合,编码长度为25字符;所述设备安装号的编码形式采用24进制字母和数字的混合组合,编码长度为20字符;所述激活码的编码形式采用24进制字母和数字的混合组合,编码长度为16字符。
6.根据权利要求I所述的导航软件用户授权的方法,其特征在于步骤六中获取激活码的过程具体为对授权序列号和设备安装号进行自校验,判断授权序列号是否在数据库中有记录,判断此用户可用的设备注册次数是否已用完,判断此合同号是否与版权批次特征匹配,根据版权批次从数据库中获取对应的解密密钥,将解密密钥和授权序列号、安装安装号进行混合编码,生成激活码。
7.一种导航软件用户授权的系统,其特征在于包括 用于根据合同号在数据库中的合同表中创建合同信息的装置; 用于根据操作员指定的合同号和批次号在数据库中创建记录,为指定合同添加版权批次的装置; 用于为用户指定合同号、要生成的授权号数量、以及每个授权号可安装的设备数量,然后系统自动根据合同号、数据库内部序号、随机码经过编码生成授权序列号的装置; 用于通过指定合同号所对应的版权批次号,对指定的程序和数据片段进行加密,同时将版权签名打包进程序和数据包的装置; 用于启动终端读取本机的设备号,从由服务器接收的程序和数据包中读取版权签名,接收授权序列号,共同混合编码生成设备安装号的装置; 用于使得用户通过注册服务网站输入授权序列号、设备安装号,开始用户认证并获取激活号的装置; 用于在用户认证后获得激活码并输入给激活模块,使得激活模块将激活码解码后获得解密密钥,并用密钥和版权签名生成加密关键字,完成对版权载体的解密,完成全部激活过程的装置。
8.根据权利要求7所述的导航软件用户授权的系统,其特征在于为指定合同添加版权批次的同时生成一对签名和解密密钥,并存储在数据表中。
9.根据权利要求8所述的导航软件用户授权的系统,其特征在于从数据表中获取指定批次的签名和密钥,生成加密关键字,并用加密关键字对程序和数据的核心片段进行加密。
10.根据权利要求7所述的导航软件用户授权的系统,其特征在于所生成的授权序列号同时存放在数据库中,并记录其设备授权次数,供用户认证时校验。
11.根据权利要求7所述的导航软件用户授权的系统,其特征在于所述授权序列号的编码形式采用24进制字母和数字的混合组合,编码长度为25字符;所述设备安装号的编码形式采用24进制字母和数字的混合组合,编码长度为20字符;所述激活码的编码形式采用24进制字母和数字的混合组合,编码长度为16字符。
12.根据权利要求7所述的导航软件用户授权的系统,其特征在于获取激活码的过程具体为对授权序列号和设备安装号进行自校验,判断授权序列号是否在数据库中有记录,判断此用户可用的设备注册次数是否已用完,判断此合同号是否与版权批次特征匹配,根据版权批次从数据库中获取对应的解密密钥,将解密密钥和授权序列号、安装安装号进行混合编码,生成激活码。
全文摘要
一种导航软件用户授权的方法和系统,通过将合同号和版权批次引入到用户认证,注册,激活流程中,解决了在不同项目中独立灵活的配置版权发布与授权的问题,可以针对不同的客户,不同的业务模式定制不同的授权和升级策略。
文档编号G01C21/26GK102622559SQ20121009384
公开日2012年8月1日 申请日期2012年4月1日 优先权日2012年4月1日
发明者张希 申请人:北京乾图方园软件技术有限公司