CN102184362B - 固定许可证和浮动许可证融合校验授权方法 - Google Patents
固定许可证和浮动许可证融合校验授权方法 Download PDFInfo
- Publication number
- CN102184362B CN102184362B CN201110130305.0A CN201110130305A CN102184362B CN 102184362 B CN102184362 B CN 102184362B CN 201110130305 A CN201110130305 A CN 201110130305A CN 102184362 B CN102184362 B CN 102184362B
- Authority
- CN
- China
- Prior art keywords
- application
- server
- string
- client computer
- license file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了一种固定许可证和浮动许可证融合校验授权方法,包括:客户机连接服务器并启动应用;服务器根据当前应用的配置文件来确定应用的许可证校验授权类型;当是固定许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中以及客户机的系统时间是否晚于授权的时间期限,如果记录在许可证文件中且不晚于授权的时间期限,则应用正常运行;当是浮动许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中、客户机的系统时间是否晚于授权的时间期限以及当前连接的客户机的数量是否小于最大并发数,如果记录在许可证文件中、不晚于授权的时间期限且小于最大并发数,则应用正常运行。
Description
技术领域
本发明涉及应用的许可证(license)授权技术,更具体地,本发明涉及一种固定许可证和浮动许可证融合校验授权方法。
背景技术
石油地震处理应用处于高性能科学计算的应用前沿领域,其技术含量高、开发难度大。国外专业的地球物理公司所提供的地震处理应用在向客户提供相应应用、服务和咨询后,通常会采用许可证的方式收取相应的扩展费用,这种方式能够较好地维护应用提供商的利益。
基于许可证的管理和校验授权方法总体上可以分为两类:一种是固定许可证,常应用于单机系统;另一种是浮动许可证,应用于基于网络的系统。在固定许可证校验授权方式中,每台机器下存储相应机器的固定许可证,在浮动许可证校验授权方式中,将许可证文件存放在服务器的目录下。而将固定许可证与浮动许可证相融合进行应用授权的方式在现今的所有地震处理应用许可证管理系统中均没有采用。
发明内容
本发明的目的在于提供一种固定许可证和浮动许可证融合校验授权方法,该方法能够实现固定许可证和浮动许可证校验授权的融合。
本发明提供了一种固定许可证和浮动许可证融合校验授权方法,可包括:客户机连接服务器并启动应用;服务器根据当前应用的配置文件来确定应用的许可证校验授权类型;当是固定许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中以及客户机的系统时间是否晚于授权的时间期限,如果记录在许可证文件中且不晚于授权的时间期限,则应用正常运行;当是浮动许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中、客户机的系统时间是否晚于授权的时间期限以及当前连接的客户机的数量是否小于最大并发数,如果记录在许可证文件中、不晚于授权的时间期限且小于最大并发数,则应用正常运行。
在服务器确定当前应用的许可证校验授权类型之前,服务器可读取客户机的系统时间和应用初次运行的时间,并可确定系统时间是否早于初次运行时间。
在服务器确定客户机和应用是否记录在服务器存储的许可证文件中之前,服务器可验证许可证文件的有效性。
确定客户机和应用是否记录在服务器存储的许可证文件中的步骤可进一步包括:确定客户机的机器指纹信息和应用的名称是否记录在许可证文件中,并确定客户机的系统时间是否晚于许可证文件中记录的授权的时间期限。
机器指纹信息可包括CPU序列号、硬盘驱动器序列号和MAC(介质访问控制)地址。
许可证文件可以是加密文件。
可通过以下步骤对许可证文件进行加密:对MAC地址进行MD5(消息摘要算法第五版)加密,并将加密所得的字符串进行反转得到第一串,对MAC地址和CPU序列号进行MD5加密,并将加密所得的字符串进行反转得到第二串,并对MAC地址和硬盘驱动器序列号进行MD5加密,并将加密所得的字符串进行反转得到第三串;以第一串加第二串加第三串的格式写入种子文件,并将种子文件记录在许可证文件中;对许可证文件的相关内容分别进行MD5和SHA(安全散列算法)加密应用,以得到第四串和第五串,对第四串和第五串分别进行MD5和SHA加密,以得到第六串和第七串;以第四串加第五串以及第六串加第七串的格式写入许可证文件的最后两行中,其中,所述相关内容包括授权客户机的机器指纹信息、许可证校验授权类型、授权的用户单位及名称、授权应用的名称、授权的时间期限以及授权客户机的最大并发数。
服务器可通过检测客户机每隔预定时间发送的在线信号来确定当前连接的客户机的数量。
所述应用可以是石油地震处理应用。
有益效果
本实施例中使用固定许可证和浮动许可证融合校验授权方法,用于校验许可证文件中记录的取得合法授权的客户机信息是否与拟申请应用运行的客户机信息相匹配,并整合客户机固定校验和客户机并发校验。因此,本发明可以为应用的许可证校验授权和用户使用提供更高的灵活性,用户既可以采用固定许可证校验授权又可采用浮动许可证校验授权,并且只需更改配置文件的许可证类型就可以实现自动识别切换。此外,本发明还可使应用版本统一,实现对石油地震处理应用的许可证的有效管理,并实现对地震处理应用的知识产权保护,使商业收益得到最大化。
将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。
附图说明
通过下面结合附图进行的详细描述,本发明的上述和其它目的和特点将会变得更加清楚,其中:
图1是示出根据本发明示例性实施例的固定许可证和浮动许可证融合校验授权方法的流程图;
图2是示出根据本发明示例性实施例的将授权客户机的机器指纹信息加密并写入许可证文件的方法的流程图;
图3是示出根据本发明示例性实施例的对许可证文件加密的方法的流程图。
具体实施方式
现在,详细描述本发明的实施例,其示例在附图中表示,其中,相同的标号始终表示相同的部件。以下通过参考附图描述实施例以解释本发明。
图1是示出根据本发明示例性实施例的固定许可证和浮动许可证融合校验授权的方法的流程图。
参照图1,在步骤S101,客户机连接服务器并启动应用。
在步骤S102,服务器读取客户机的系统时间和应用初次运行的时间,并确定系统时间是否早于初次运行时间。
如果系统时间早于初次运行时间,则进行步骤S112,当前应用的校验授权失败并且当前应用退出。具体来说,如果系统时间早于初次运行时间,则服务器可确定客户机的系统时间被篡改,从而使当前应用退出。
如果系统时间不早于(即,晚于或等于)初次运行时间,则在步骤S103,服务器根据存储的当前应用安装目录下的配置文件(即,LicenseConfig.ini)来确定当前应用的许可证校验授权类型是固定许可证校验授权还是浮动许可证校验授权。
具体来说,所述配置文件中可记录服务器IP(互联网协议)地址、服务器端口号和许可证校验授权类型,并可通过修改配置文件中的许可证校验授权类型来实现固定许可证校验授权和浮动许可证校验授权的切换。所述配置文件设置如下所示:
[server]
serverIP=192.168.1.145
serverPort=1129
[licType]
licType=FIXED_LICENSE或FLOATED_LICENSE
其中,serverIP和serverPort字段分别指定服务器IP地址和端口号,licType字段指定许可证校验授权类型。这里,serverIP和serverPort字段用于当服务器地址改变时客户机可以重新连接;在licType字段中,FIXED_LICENSE表示使用固定许可证校验授权,FLOATED_LICENSE表示使用浮动许可证校验授权。应该理解,上述配置文件仅是示例,该配置文件还可以有其它字段。
如果当前应用的许可证校验授权类型是固定许可证校验授权,则在步骤S104,服务器验证当前应用安装目录下的许可证文件是否有效。具体来说,服务器可通过判断许可证文件是否被篡改来验证其有效性,但本发明不限于此。
如果许可证文件无效,则进行步骤S112,当前应用的校验授权失败并且当前应用退出。
如果许可证文件有效,则进行步骤S105,服务器对许可证文件进行解析,获得许可证文件中记录的授权应用的名称、授权客户机的机器指纹信息以及授权的时间期限。应该了解,如果许可证文件是加密文件,则对许可证文件进行解析的步骤还包括对许可证文件进行解密。后面将参照图2和图3对许可证文件的加密方法进行描述。
在步骤S106,服务器获取当前应用的名称、客户机的机器指纹信息。
在步骤S107,服务器确定许可证文件中记录的授权客户机的机器指纹信息是否包括当前客户机的机器指纹信息。
如果不包括当前客户机的机器指纹信息,则当前客户机未被授权,进行步骤S112,当前应用的校验授权失败并且当前应用退出。
如果包括当前客户机的机器指纹信息,则进行步骤S108,服务器确定许可证文件中记录的授权应用的名称是否包括当前应用的名称。
如果不包括当前应用的名称,则当前应用未被授权,进行步骤S112,当前应用的校验授权失败并且当前应用退出。
如果包括当前应用的名称,则进行步骤S109,服务器确定客户机的系统时间是否晚于许可证文件中记录的授权的时间期限。
如果客户机的系统时间晚于授权的时间期限,则授权的时间期限已经过期,进行步骤S112,当前应用的校验授权失败并且当前应用退出。
如果客户机的系统时间不晚于(即,早于或等于)授权的时间期限,则在步骤S110,校验授权成功,当前应用正常运行。
应该了解,上述步骤S107、S108和S109之间是并列关系,可以任意排列它们的执行顺序。
另一方面,在步骤S103如果确定当前应用的许可证校验授权类型是浮动许可证校验授权,则同样执行步骤104至步骤109,在此不再累述。下面对浮动许可证校验授权区别于固定许可证校验授权的步骤进行详细描述。
在步骤S109,如果客户机的系统时间不晚于(即,早于或等于)授权的时间期限,则进行步骤S111,服务器确定当前连接的客户机的数量是否小于许可证文件中记录的授权客户机的最大并发数。具体来说,连接的客户机每隔预定时间(例如,五秒,但本发明不限于此)向服务器发送在线信息,表明该客户机处于连接状态。服务器检测客户机发送的在线信号来确定当前连接的客户机数。
如果不小于(即,大于或等于)最大并发数,则进行步骤S112,当前应用的校验授权失败并且当前应用退出。
如果小于最大并发数,则进行步骤S110,校验授权成功,当前应用正常运行。
应该理解,根据本示例性实施例的固定许可证和浮动许可证融合校验授权方法应用于基于网络的系统,而对于本身存储许可证文件的单机系统,可采用基于现有技术的方法,在此不再累述。
图2是示出根据本发明示例性实施例的将授权客户机的机器指纹信息加密并写入许可证文件的方法的流程图,图3是示出根据本发明示例性实施例的对许可证文件加密的方法的流程图。
参照图2,在步骤S201,获取客户机的机器指纹信息。具体来说,机器指纹信息可包括客户机的CPU序列号、硬盘驱动器序列号和MAC地址。CPU序列号中采用CPUID(中央处理器标识符)汇编指令,CPUID使用eax作为输入参数,eax、ebx、ecx和edx作为输出参数。获取CPU序列号时,使用1作为eax的输入参数,CPUID的信息输出在eax和edx中,在读取eax和edx的信息时,先读取低32位,然后通过移位读取高32位的信息。硬盘驱动器序列号的获取采用读取配置文件的方法,在Linux环境中与硬盘驱动器序列号相关的信息存放在/dev/硬盘驱动器/by-id目录下,通过Linux系统中的管道通信方式来读取配置文件。MAC地址的获取采用ioctl函数,其第二个参数SIOCGIFHWADDR就能获取MAC地址。
在步骤S202,使用MD5算法对获取的机器指纹信息进行加密。具体来说,可首先对MAC地址进行MD5加密,并将加密所得的字符串进行反转得到第一串,然后对MAC地址和CPU序列号进行MD5加密,并将加密所得的字符串进行反转得到第二串,最后对MAC地址和硬盘驱动器序列号进行MD5加密,并将加密所得的字符串进行反转得到第三串。
在步骤S203,将通过加密得到的字符串写入种子文件,并将种子文件写入许可证文件。具体来说,可以以第一串加第二串加第三串的格式将字符串写入种子文件,并将该种子文件作为所述客户机的唯一身份识别码记录在许可证文件中。
参照图3,根据本发明示例性实施例对许可证文件进行加密可以避免合法授权的许可证文件遭受非法篡改,从而保证许可证文件的合法性。许可证文件是一种制定了固定内容格式的文件,按照预先设置的格式,将授权的信息写入许可证文件当中,该授权的信息可包括授权客户机的机器指纹信息、许可证校验授权类型、授权的用户单位及名称、授权应用的名称、授权的时间期限以及授权客户机的最大并发数。然而,应该了解,授权的信息中包括的内容不限于此。
在步骤S301,使用MD5和SHA算法对许可证文件的相关内容(即,授权客户机的机器指纹信息(即,通过图2的操作得到的种子文件)、许可证校验授权类型、授权的用户单位及名称、授权应用的名称、授权的时间期限以及授权客户机的最大并发数)进行加密。具体来说,可对许可证文件的相关内容分别进行MD5和SHA加密应用,以得到第一串和第二串,然后再对第一串进行MD5加密以得到第三串,并对第二串进行SHA加密以得到第四串。
在步骤S302,将通过加密得到的字符串写入许可证文件。具体来说,可以以第一串加第二串以及第三串加第四串的格式将字符串写入许可证文件的最后两行中,完成对整个许可证文件的加密。
此外,对浮动许可证的授权中的客户端和服务器进程间的通信数据可采用DES(数据加密标准)对称加密,并可对以下三种信息进行DES对称加密:MD5加密后的机器指纹信息和申请客户机的信息、客户机的注销信息、客户机定时发送的在线信息。
应该理解,上述示例性实施例中的客户机和服务器仅是相对概念,也就是说,客户机也可以作为服务器,服务器也可以作为客户机。此外,上述示例性实施例不限于应用在石油地震处理应用及相应的系统中,还可应用于任何需要进行许可证校验授权的应用及相应的系统中。
虽然已经参照特定示例性实施例示出和描述了本发明,但是本领域的技术人员将理解,在不脱离范围由权利要求及其等同物限定的本发明的精神和范围的情况下可作出形式和细节上的各种改变。
Claims (8)
1.一种固定许可证和浮动许可证融合校验授权方法,包括:
客户机连接服务器并启动应用;
服务器根据当前应用的配置文件来确定应用的许可证校验授权类型;
当是固定许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中以及客户机的系统时间是否晚于授权的时间期限,如果记录在许可证文件中且不晚于授权的时间期限,则应用正常运行;
当是浮动许可证校验授权时,服务器确定客户机和应用是否记录在服务器存储的许可证文件中、客户机的系统时间是否晚于授权的时间期限以及当前连接的客户机的数量是否小于最大并发数,如果记录在许可证文件中、不晚于授权的时间期限且小于最大并发数,则应用正常运行,
其中,通过以下步骤对许可证文件进行加密:
对MAC地址进行MD5加密,并将加密所得的字符串进行反转得到第一串,对MAC地址和CPU序列号进行MD5加密,并将加密所得的字符串进行反转得到第二串,并对MAC地址和硬盘驱动器序列号进行MD5加密,并将加密所得的字符串进行反转得到第三串;
以第一串加第二串加第三串的格式写入种子文件,并将种子文件记录在许可证文件中;
对许可证文件的相关内容分别进行MD5和SHA加密应用,以得到第四串和第五串,对第四串进行MD5加密以得到第六串,并对第五串进行SHA加密以得到第七串;
以第四串加第五串以及第六串加第七串的格式写入许可证文件的最后两行中,
其中,所述相关内容包括授权客户机的机器指纹信息、许可证校验授权类型、授权的用户单位及名称、授权应用的名称、授权的时间期限以及授权客户机的最大并发数。
2.如权利要求1所述的固定许可证和浮动许可证融合校验授权方法,还包括:在服务器确定当前应用的许可证校验授权类型之前,服务器读取客户机的系统时间和应用初次运行的时间,并确定系统时间是否早于初次运行时间。
3.如权利要求1所述的固定许可证和浮动许可证融合校验授权方法,还包括:在服务器确定客户机和应用是否记录在服务器存储的许可证文件中之前,服务器验证许可证文件的有效性。
4.如权利要求1所述的固定许可证和浮动许可证融合校验授权方法,其中,确定客户机和应用是否记录在服务器存储的许可证文件中的步骤进一步包括:确定客户机的机器指纹信息和应用的名称是否记录在许可证文件中。
5.如权利要求4所述的固定许可证和浮动许可证融合校验授权方法,其中,机器指纹信息包括CPU序列号、硬盘驱动器序列号和MAC地址。
6.如权利要求5所述的固定许可证和浮动许可证融合校验授权方法,其中,许可证文件是加密文件。
7.如权利要求1所述的固定许可证和浮动许可证融合校验授权方法,其中,服务器通过检测客户机每隔预定时间发送的在线信号来确定当前连接的客户机的数量。
8.如权利要求1~7之一所述的固定许可证和浮动许可证融合校验授权方法,其中,所述应用是石油地震处理应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110130305.0A CN102184362B (zh) | 2011-05-19 | 2011-05-19 | 固定许可证和浮动许可证融合校验授权方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110130305.0A CN102184362B (zh) | 2011-05-19 | 2011-05-19 | 固定许可证和浮动许可证融合校验授权方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184362A CN102184362A (zh) | 2011-09-14 |
CN102184362B true CN102184362B (zh) | 2014-11-26 |
Family
ID=44570537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110130305.0A Expired - Fee Related CN102184362B (zh) | 2011-05-19 | 2011-05-19 | 固定许可证和浮动许可证融合校验授权方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184362B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838987A (zh) * | 2013-06-24 | 2014-06-04 | 电子科技大学 | 一种基于局域网的软件许可证动态授权管理方法 |
DE102015209714A1 (de) * | 2015-05-27 | 2016-12-01 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Anpassen einer Nutzung eines Geräts |
CN108614959A (zh) * | 2018-05-02 | 2018-10-02 | 山东浪潮通软信息科技有限公司 | 一种可配置的软件系统授权控制的方法 |
CN109862030A (zh) * | 2019-03-05 | 2019-06-07 | 浙江邦盛科技有限公司 | 一种校验传输数据安全性的方法 |
CN110213276B (zh) * | 2019-06-05 | 2021-08-27 | 宁波深擎信息科技有限公司 | 一种微服务架构下的授权验证方法、服务器、终端及介质 |
CN110659457B (zh) * | 2019-09-20 | 2022-06-07 | 安徽听见科技有限公司 | 一种应用授权的验证方法、装置及客户端 |
CN113656101A (zh) * | 2021-08-17 | 2021-11-16 | 成都长城开发科技有限公司 | 一种授权管理方法、系统、服务器、用户端 |
CN113742706A (zh) * | 2021-09-08 | 2021-12-03 | 杭州涂鸦信息技术有限公司 | 一种应用程序的授权认证方法、装置以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1780218A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 一种用户跟踪控制方法 |
CN1795452A (zh) * | 2003-06-25 | 2006-06-28 | 索尼株式会社 | 信息服务器、信息设备、信息处理系统、信息处理方法和信息处理程序 |
CN101061451A (zh) * | 2004-11-18 | 2007-10-24 | 西门子公司 | 用于管理能在网络部件上执行的计算机应用的时间受限的许可证的方法 |
-
2011
- 2011-05-19 CN CN201110130305.0A patent/CN102184362B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1795452A (zh) * | 2003-06-25 | 2006-06-28 | 索尼株式会社 | 信息服务器、信息设备、信息处理系统、信息处理方法和信息处理程序 |
CN1780218A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 一种用户跟踪控制方法 |
CN101061451A (zh) * | 2004-11-18 | 2007-10-24 | 西门子公司 | 用于管理能在网络部件上执行的计算机应用的时间受限的许可证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102184362A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184362B (zh) | 固定许可证和浮动许可证融合校验授权方法 | |
EP3387782B1 (en) | Device using secure storage and retrieval of data | |
US20190050598A1 (en) | Secure data storage | |
CN108076057A (zh) | 一种基于区块链的数据保全系统及方法 | |
CN101361076B (zh) | 用于媒体内容的安全存储和传递的移动存储器系统 | |
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
US20120117380A1 (en) | Method for Granting Authorization to Access a Computer-Based Object in an Automation System, Computer Program, and Automation System | |
CN107295002A (zh) | 一种云端存储数据的方法及服务器 | |
CN103095847B (zh) | 一种云存储系统安全保障方法及其系统 | |
CN102171652A (zh) | 为电子装置提供可信软件的方法 | |
CN106936588B (zh) | 一种硬件控制锁的托管方法、装置及系统 | |
CN111193597B (zh) | 一种可验证声明的传输方法、装置、设备及系统 | |
CN1478223A (zh) | 验证方法和数据传输系统 | |
US8972732B2 (en) | Offline data access using trusted hardware | |
CN102685122B (zh) | 基于云端服务器的软件保护的方法 | |
WO2021030545A1 (en) | Securing browser cookies | |
CN104104650A (zh) | 数据文件访问方法及终端设备 | |
Kang et al. | A strengthening plan for enterprise information security based on cloud computing | |
CN102819695B (zh) | 基于Jar文件的授权方法及应用服务器 | |
CN108809651B (zh) | 密钥对管理方法和终端 | |
CN103955652A (zh) | 一种基于Andriod设备认证的文件加密方法及装置 | |
KR102666287B1 (ko) | Nft 이용권 기반 서비스 제공 방법 및 시스템 | |
Recabarren et al. | Toward uncensorable, anonymous and private access over Satoshi blockchains | |
CN115150123A (zh) | 一种基于区块链提供数据访存服务的方法和相关产品 | |
CN117978454A (zh) | 一种车辆soa服务鉴权机制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141126 Termination date: 20180519 |