CN109359478B - 基于加密许可文件的授权方法及系统 - Google Patents
基于加密许可文件的授权方法及系统 Download PDFInfo
- Publication number
- CN109359478B CN109359478B CN201811464480.1A CN201811464480A CN109359478B CN 109359478 B CN109359478 B CN 109359478B CN 201811464480 A CN201811464480 A CN 201811464480A CN 109359478 B CN109359478 B CN 109359478B
- Authority
- CN
- China
- Prior art keywords
- authorization
- product
- information
- authorized
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种生成授权文件的方法,包括:1)针对第n个授权产品,对授权信息mn执行加密计算获得An,n≥1;其中,所述授权信息mn包括其所针对授权产品的授权编号n;2)将mn、An、Bn组合在一起作为针对第n个待授权产品的加密许可信息Mn,其中Bn为基于第i个授权产品的信息获得,i≠n,i≥1;其中,在n=1时,Bn为一设定值;3)根据Mn与所述第i个授权产品的所述信息生成第n个授权产品的授权文件,其中,在n=1时,所述第i个授权产品的所述信息为空。本发明提供了一种基于加密许可文件实现授权的方案,使得待授权产品在获得授权文件后,无需向服务器验证即可实现授权,不需要中央服务器进行集中控制,且可以防止他人伪造授权文件。
Description
技术领域
本发明涉及基于数字信息技术的身份验证,尤其涉及基于加密许可文件来实现对软件或硬件产品的授权许可。
背景技术
随着科技的发展,市场中出现了许多需要基于数字信息技术进行授权验证的产品,这些产品可以是软件产品、也可以是硬件产品。例如,许多应用程序、游戏的官网提供在线下载的功能,用户付费后可获得授权,在运行这些软件时通过验证来判断用户是否获得了授权。又例如,在物联网、智能家居领域中,装置之间通过通信实现彼此之间的协作或完成相应的任务,在获得授权的硬件集合中可以实现资源共享,这同样需要授权验证来实现。
传统的对软硬件产品的授权方式包括:基于激活码、加密的许可文件或者绑定用户账号的方式来实现针对功能的授权。在这些授权方式中,激活码容易在离线的情况下通过反复测试而破解从而失去针对特定使用者的授权效果。而绑定账号的方式则依赖于中央服务器实时提供授权校验,在无法连接到互连网,例如网络状况不佳的情况下,难以实现授权目的。对于采用加密许可文件而言,其可以通过选择加密手段的方式来防止破译,由于该技术的解密可以在待授权产品端完成,因而实现该技术并不需要中央服务器进行集中控制,此外该技术还可以防止许可文件被篡改。然而,现有的加密许可文件无法防止他人伪造许可文件。
因而需要一种能够防止他人伪造许可文件的方案。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种生成授权文件的方法,包括:
1)针对第n个授权产品,对授权信息mn执行加密计算获得An,n≥1;
其中,所述授权信息mn包括其所针对授权产品的授权编号n;
2)将mn、An、Bn组合在一起作为针对第n个待授权产品的加密许可信息Mn,其中Bn为基于第i个授权产品的信息获得,i≠n,i≥1;其中,在n=1时,Bn为一设定值;
3)根据Mn与所述第i个授权产品的所述信息生成第n个授权产品的授权文件,其中,在n=1时,所述第i个授权产品的所述信息为空。
优选地,根据所述方法,所述Bn为基于对第i个授权产品的授权信息mi或其部分而获得。
优选地,根据所述方法,所述Bn为基于对第i个授权产品的授权信息mi执行加密计算所得到的An或其部分而获得。
优选地,根据所述方法,其中步骤3)包括:
根据Mn与所述第i个授权产品的加密许可信息Mi生成第n个授权产品的授权文件。
优选地,根据所述方法,其中步骤2)所述i等于n-1。
优选地,根据所述方法,其中步骤2)以区块链数据文件的方式生成所述授权文件,所述授权文件中包含所有N个授权产品中每一个的加密许可信息{Mp},1≤p≤N。
优选地,根据所述方法,其中所述区块链数据文件的最低区块高度被设置为固定值。
优选地,根据所述方法,其中步骤1)采用各类哈希算法的组合来对授权信息mn执行加密计算。
优选地,根据所述方法,其中所述授权信息还包括:与授权有效期相关的信息和/或与所授予权限相关的信息。
一种基于上述任意一项方法所生成授权文件对产品进行授权的方法,包括:
1)根据授权文件确定针对当前待授权产品的授权编号n;
2)在授权编号n大于1时,提取授权文件中的Mn与第i个授权产品的相应信息,判断能否通过Mn中的Bn推测出与所述第i个授权产品的相应信息完全一致的字符串,以确定授权信息是否合法;或者
在授权编号n等于1时,提取授权文件中的Mn,并判断Mn中的Bn是否为所述设定值,以确定授权信息是否合法。
优选地,根据所述方法,对于采用区块链数据文件形式且i等于n-1的授权文件,在步骤2)中包括:
2-1)从授权文件中获得授权编号小于等于n的全部加密许可信息{Mk},k≤n;
2-2)在n大于1时,按照k从大至小的顺序依次判断能否从Mk中的Bk推测出Mk-1中的Ak-1,并判断M1中的B1是否为所述设定值,若均满足则认为授权信息合法,否则认为授权信息不合法;或者
在n等于1时,判断M1中的B1是否为所述设定值,若是则认为授权信息合法,若否则认为授权信息不合法。
优选地,根据所述方法,还包括:
3)对于授权信息合法的授权编号为n的产品,从加密许可信息Mn中提取授权信息mn,以确定授权有效期与所授予权限。
优选地,根据所述方法,还包括:
4)在授权时,判断能否获取当前的互联网时间;
5)在能够获取当前的互联网时间时,若当前的互联网时间处于授权有效期内,则为当前待授权产品授权,否则不授权;或者
在无法获取当前的互联网时间时,判断当前待授权产品的系统时间是否处于授权有效期、和/或判断当前待授权产品中定时更新在注册表、特殊文件中的最新时间是否处于授权有效期,若均满足则为当前待授权产品授权,否则不授权。
一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序在被执行时用于实现上述任意一项所述的方法。
与现有技术相比,本发明的优点在于:
提供了一种基于加密许可文件实现授权的方案。基于该方案,待授权产品在获得授权文件后,无需向服务器验证即可实现授权,不需要中央服务器进行集中控制,且可以防止他人伪造授权文件。根据本发明所生成的针对授权编号为n的产品的授权文件中不仅包含针对其自身授权信息的加密许可信息,还包含用于对其进行验证的其它产品的加密许可信息,由此可以利用不同产品的加密许可信息实现交叉验证,以确定授权文件是否为伪造。本发明还可以以区块链数据文件的形式生成授权文件,区块链中的每个待授权产品都持有针对全部授权产品的许可信息。此种情况下,用于交叉验证的选择变得更多样化,因而具备能够提供更加安全可靠的授权方案的能力。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是根据本发明的实施例1生成授权文件的方法流程图;
图2是根据本发明的实施例2基于通过实施例1所生成授权文件而对产品授权的方法流程图;
图3a是根据本发明的实施例3采用区块链数据文件形式的授权文件的一个示例;
图3b是根据本发明的实施例3针对图3a的区块链数据文件中的授权数据块的一个示例。
具体实施方式
在授权文件中通常会包含加密许可信息,以确定授权有效期以及所授予权限。发明人提出,在生成授权文件时可以利用不同授权产品的加密许可信息进行交叉验证。例如,可以基于产品一的加密许可信息生成产品二的加密许可信息的一部分,在进行授权时,若是可以从产品二的加密许可信息中获得产品一的加密许可信息,那么产品二的授权文件系伪造的概率则相对较低。因而,可以利用这一点来生成授权文件并实施授权验证。
下面结合附图和具体实施方式对本发明作详细说明。
<实施例1>
参考图1,提供一种生成授权文件的方法,包括:
步骤1.针对当前授权产品,确定其授权编号n、授权起始时间、授权截至时间、用于标识所授予功能的识别码,以作为授权信息mn。根据本发明的一个实施例,根据具体应用场景的需要,还可以在授权信息中增加其他内容,例如被授予权限的软件版本、被授予权限的硬件设备、执行生成授权文件的方法的软件版本和硬件设备、执行生成授权文件的方法的人员信息、被授权账户信息等。
步骤2.对当前授权产品的授权信息mn执行哈希计算,获得An。
这里的哈希计算可以是直接将mn的哈希值作为An,也可以是将对mn执行一系列哈希算法(例如MD5,SHA1等)后得到的字符串作为An。并且,考虑隐去加密方式可以提高授权验证的可靠性,优选地在实施此方法时,不对外公开此步骤中所执行的具体哈希计算。
步骤3.确定用于当前授权产品进行交叉验证的信息Bn。
在此步骤中,将对授权编号为i的产品的授权信息mi进行加密的结果Ai作为信息Bn,i≠n。考虑到授权文件的创建可能随着需要而增加,因此在选择针对当前授权产品进行交叉验证的产品时,优先考虑选择授权编号早于n的产品,即i<n。为了使得全部产品的授权信息都能得到利用,从而增加授权文件中加密的不确定性,优先考虑选择授权编号临近于n的产品,例如授权编号i为n+1或n-1的产品。
对于n=1,此时没有其他产品获得授权,属于特殊情况。对此可以直接设置一个固定值作为B1,例如0或其他随机字符串。
步骤4.将mn、An、Bn合并,以作为针对当前授权产品的加密许可信息Mn。根据本发明的一个实施例,并不限制上述三个字段的排列组合方式,只要能够区分出这三者即可。
步骤5.基于上述字段生成针对当前授权产品的授权文件。
该授权文件至少包括Mn以及Mi,其中Mi是指第i个产品的加密许可信息。对于n=1,可以直接基于M1生成针对第1个产品的授权文件,该第一个授权产品采用B1来验证其真伪。
根据本发明的一个实施例,授权文件中包含加密部分和非加密部分。通过将授权编号写入到非加密部分,可以方便产品获得用于验证文件真伪的另一件产品的信息,然而应当理解,在本发明的另一些实施例中,也可以不将授权编号写入非加密部分。
并且,根据本发明的一个实施例,Bn=Ai,Ai为对mi加密获得,由此可以确保不泄露授权编号为i的产品的隐私。可以理解,在本发明的一些其他实施例中,也可以将Bn设置为第i个产品的授权信息mi,或者设置为与第i个产品相关的信息。此外,在本发明的另一些实施例中,还可以将Bn设置为对上述Ai、mi、或与第i个产品相关的信息执行加盐加密或哈希运算后所产生的新的字符串。
在本实施例中,授权文件中包括Mn以及Mi,然而可以理解,在本发明的另一些实施例中,也可以仅将第i个产品与Bn相关的信息内容(例如Ai、mi等)与Mn一并写入授权文件。
<实施例2>
参考图2,提供一种基于通过实施例1所生成授权文件而对产品授权的方法,包括:
步骤1.确定当前待授权产品的授权编号n。根据本发明的一个实施例,授权文件的加密许可信息中包含被授权文件的未被加密的授权编号,因此可以直接提取和识别。相应地,根据本发明的其他实施例,对于被加密的授权编号,可以按照约定的解密方法进行解密而获得。
步骤2.判断当前待授权产品的授权编号n是否等于1:
若是,则提取授权文件中的M1,如果M1中的B1与生成授权文件时所设置的固定值相等,则认为授权信息合法;
若否,则提取授权文件中的加密许可信息Mn加密许可信息Mi,比较Mn中Bn与Mi中的Ai是否一致,若交叉验证的结果为一致,则认为授权信息合法。
步骤3.在授权信息合法的情况下,基于从授权文件中提取的授权起始时间、授权截至时间、用于标识所授予功能的识别码,对当前待授权产品进行授权。例如,在时间上确定为永久授权、限时授权或授权过期,在权限等级上确定为拥有添加授权数据的最高权限、拥有除添加授权数据以外的全部完整功能的权限、普通功能权限或未授权等。
步骤4.在授权时,可以通过比较互联网时间、当前待授权产品的系统时间、以及当前待授权产品中定时更新在注册表和/或特殊文件中的最新时间是否处于授权有效期内,来确定是否授权。
根据本发明的一个实施例,由于互联网能够提供最准确的时间,因此在能够连接到互连网的情况下,优先考虑基于互联网时间判断是否授权。在无法获取互联网时间的情况下,还可以结合当前待授权产品的系统时间和/或当前待授权产品中定时更新在注册表、特殊文件中的最新时间进行判断。
根据本发明的又一个实施例,也可以判断能否同时满足互联网时间、当前待授权产品的系统时间以及当前待授权产品中定时更新在注册表和/或特殊文件中的最新时间均处于授权有效期内,以确定是否授权。
<实施例3>
发明人经过研究发现,基于上述交叉验证思路的方法非常适合于应用到区块链中。这是由于,基于区块链技术,信息以分布的方式进行存储,每个节点上都存储有针对全部节点的信息。若是以区块链数据文件的形式生成授权文件,则不必像实施例1和2一样选择需要分别提供给每个授权产品的加密许可信息(例如,选择将Mn和Mi一并传输给授权编号为n的待授权产品)。这是由于,区块链中的每个待授权产品都持有针对全部授权产品的许可信息。此种情况下,用于交叉验证的选择变得更多样化,因而具备能够提供更加安全可靠的授权方案的能力。
另一方面,基于区块链技术还可以防止由于生成授权文件的服务器宕机、产品离线而导致的数据丢失问题,例如在一个待授权产品没有收到授权文件时,其还可以从其他产品处获得用于其本身的授权文件。
基于区块链技术生成授权文件的方法,与实施例1相类似,区别在于在为第N个产品生成授权文件时,以区块链数据文件的方式生成所述授权文件,在授权文件中包含所有N个授权产品中每一个的许可信息。
例如,图3a示出了采用区块链数据文件作为授权文件的一个示例。参考图3a,通过具有最高权限的产品实施生成授权文件的操作,以获得作为授权文件的区块链数据文件。在区块链数据文件中,包括:原始块、授权数据块A、授权数据块B、其他授权数据块。
其中,原始块为第一个被授权产品的信息。一般情况下会为与该原始块对应的第一个产品授予最高权限,即具备生成新的授权数据块能力的权限。这里的原始块相当于前述实施例中授权编号等于1的产品的加密许可信息M1。原始块的信息是固定的,而其它授权数据块则可以通过具备最高权限的产品执行添加操作而被加入到区块链数据文件中。
这里的授权数据块A对应于授权编号为n的产品,其相当于前述实施例中的加密许可信息Mn。授权数据块B可用于与授权编号为n的产品进行交叉验证,其对应于授权编号为i的产品,相当于前述实施例中的加密许可信息Mi。其他授权数据块指的是除上述原始块、授权数据块A、授权数据块B以外的全部其他产品所对应的加密许可信息。
尽管图3a中将原始块与授权数据块B做了区分,然而应当理解,原始块所针对的产品也可以用作实施对授权数据块A的交叉验证产品。
此外,在本实施例中,原始块、授权数据块A、授权数据块B、其他授权数据块所采用的加密方式以及所包含的授权信息可以参考实施例1。
图3b示出了根据本发明的一个实施例的一个授权数据块的示例。该授权数据块包含了许多字段,其中:
“ID”表示序号,即区块高度,其可以被设置为根据授权产品的总数而按照顺序增长,基于该序号可以确定授权编号n,ID为0表示此授权数据块为针对第一个授权产品的原始块;
“AT”表示授权目标,在该示例中“ZCY”为一种综测仪;
“TS”是授权起始时间,“2008/5/15”表示该产品自2008年5月15日获得授权;
“ET”是授权截止时间,这里“9999/12/31”表示不限制该产品的授权截止期限;
“MC”是Machine Code的缩写,表示机器码;
“AN”是授予的权限标识,这里“FFFFFFFFF”表示授予最高权限;
“AO”是为与该ID对应的产品提供授权的设备的机器码,可以看到此示例针对的是ID为0的原始块,其为其自身设置授权权限;
“H”表示当前授权信息的哈希值,即前述实施例中对授权信息m1执行哈希计算而得到的A1;
“PH”为前述实施例中所述的B1,可以将B1设置为0或其他任何固定值,对于除原始块以外的其他授权数据块而言,该字段应当为Bn=Ai。
基于上述方式,可以生成区块链数据文件形式的授权文件。在本发明中,可以采用任意数据格式的区块链数据文件,例如JSON、XML、PPROF等。在实施上述方法时可以根据需要进行选择。
<实施例4>
在本发明中可以基于上述实施例3生成的区块链数据文件形式的授权文件中的交叉验证策略,来实施具体的授权方法。该方法与实施例2相类似,区别在于需要从区块链数据文件中提取针对当前待授权产品的授权数据块(例如图3a中的授权数据块A)以及用于该待授权产品进行交叉验证的另一件产品的授权数据块(例如图3a中的授权数据块B)。
针对采用区块链技术的方案,在对每一个授权产品(例如授权编号为n)均选择授权编号与其相邻的产品(授权编号为n+1或n-1)作为用于交叉验证、即授权编号为i的产品时,可以针对当前授权产品进行一系列的验证,例如按照授权编号从大到小的顺序进行交叉验证,直到确定可以解析出原始块中预先设置的固定值,才认为授权文件合法。通过这样的方式,可以尽可能地避免伪造产生的授权文件能够获得授权的情况,增加授权的安全可靠性。
根据本发明的一个实施例,在基于采用区块链数据文件形式且i等于n-1的授权文件对产品实施授权方法时,可以首先从区块链数据文件中解析出授权编号小于等于n的全部授权数据块的集合{Mk},k≤n,k表示符合上述标准的任意一个授权数据块的授权编号。在n大于1时,按照授权编号k从大到小的顺序依次判断能否从Mk中的Bk推测出Mk-1中的Ak-1,直到推测到M1,判断M1中的B1是否与生成该加密许可信息时设置的固定值保持一致。若是均满足,则认为授权信息合法,否则认为授权信息是伪造的。对授权编号n等于1的产品,可以解析出区块链数据文件中的原始块{M1},判断M1中的B1是否与生成该加密许可信息时设置的固定值保持一致,若是则认为授权信息合法,若否则认为授权信息是伪造的。
根据本发明的其他实施例,也可以按照授权编号k从大到小得到顺序进行多次推测,在每次推测均符合交叉验证标准的情况下认为授权信息合法,而不必推测到针对第一个产品的加密许可信息M1。
本实施例进行多次交叉验证的方式,非常有利于避免在他人伪造许可文件时由于偶然因素而生成了形式上合法的文件的情况。
<特殊情况>
在采用根据本发明所提供的授权方案时,在实际实施时可能发生如下两种特殊情况:
情况一,存在多个具有最高权限的产品同时执行生成授权文件的操作的情况。若是所述多个产品处于彼此独立的网络内,或者对于基于区块链技术的方案中执行授权操作的产品彼此间所使用的区块链数据文件版本不同(例如,某一个执行授权操作的产品所使用的区块链数据文件不是最新的,即授权数据块数量与最新版本中的数量不一致),则有可能由它们分别产生多个具有相同序号、然而内容不同的授权文件。此时会产生冲突,例如导致该区块链数据文件中的授权数据块的链式结构出现分叉。
因而,在确定了已被授予最高权限的各个产品后,需要控制在同一时刻,有且仅有一个拥有最高权限的软件执行生成授权文件的操作。
情况二,在针对同一个产品执行了不止一次授权操作的情况下,一般情况是以最后一次授权操作所提供的权限和授权期限为准。然而,对于基于区块链技术的方案而言,由于每个产品都持有区块链数据文件,若是其对区块链数据文件中的授权记录进行修改则可能出现违背上述原则的情况。例如,假设在一个区块链数据文件中的各个授权数据块可以反应出以下信息:
1,授权信息,截止时间为2018年11月20日,授权给A;
2,授权信息,截止时间为2019年3月6日,授权给B;
3,......
4,......
5,授权信息,截止时间为2018年11月15日,授权给A;
6,......
这里针对A做了两次授权,其中第一次授权截止到11月20日,第二次截止到11月15日。授权方的主观意图是由原来给到20日变成给到15日,但是用户可以通过删除区块链数据文件中的第5条及后续记录使得被授权的产品认为授权截止日期为20日,这样显然违背了授权方意图。
解决上述问题的方案之一是将区块链数据文件的最低区块高度设置为统一值,例如5。区块链高度可以理解为上述表单的序号1,2,3,4,5,6;当前有多少条授权记录就表示区块链高度是多少,统一最低区块高度为5就是要求数据文件中至少有5条授权记录。在此情况下,若是删除了第5条记录,则那该区块链数据文件作废,由此达到保护授权的合理目的。
通过上述实施例,本发明提供的方案可以防止他人伪造授权文件。根据本发明所生成的针对授权编号为n的产品的授权文件中不仅包含针对其自身授权信息的加密许可信息,还包含用于对其进行验证的其它产品的加密许可信息,由此可以利用不同产品的加密许可信息实现交叉验证,以确定授权文件是否为伪造。本发明还可以以区块链数据文件的形式生成授权文件,区块链中的每个待授权产品都持有针对全部授权产品的许可信息。此种情况下,用于交叉验证的选择变得更多样化,因而具备能够提供更加安全可靠的授权方案的能力。
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (13)
1.一种生成授权文件的方法,包括:
1)针对第n个授权产品,对授权信息mn执行加密计算获得An,n≥1;
其中,所述授权信息mn包括其所针对授权产品的授权编号n;
2)将mn、An、Bn组合在一起作为针对第n个待授权产品的加密许可信息Mn,其中Bn为基于第i个授权产品的信息获得,i≠n,i≥1;其中,在n=1时,Bn为一设定值;
3)根据Mn与所述第i个授权产品的加密许可信息Mi生成第n个授权产品的授权文件,所述授权文件至少包括Mn以及Mi;其中,在n=1时,基于M1生成针对第1个产品的授权文件。
2.根据权利要求1所述的方法,所述Bn为基于第i个授权产品的授权信息mi或其部分而获得。
3.根据权利要求1所述的方法,所述Bn为基于对第i个授权产品的授权信息mi执行加密计算所得到的An或其部分而获得。
4.根据权利要求1所述的方法,其中步骤2)所述i等于n-1。
5.根据权利要求1~4中任意一项所述的方法,其中步骤2)以区块链数据文件的方式生成所述授权文件,所述授权文件中包含所有N个授权产品中每一个的加密许可信息{Mp},1≤p≤N。
6.根据权利要求5所述的方法,其中所述区块链数据文件的最低区块高度被设置为固定值。
7.根据权利要求1~4中任意一项所述的方法,其中步骤1)采用各类哈希算法的组合来对授权信息mn执行加密计算。
8.根据权利要求1~4中任意一项所述的方法,其中所述授权信息还包括:与授权有效期相关的信息和/或与所授予权限相关的信息。
9.一种基于权利要求1~8中任意一项方法所生成授权文件对产品进行授权的方法,包括:
1)根据授权文件确定针对当前待授权产品的授权编号n;
2)在授权编号n大于1时,提取授权文件中的Mn与第i个授权产品的相应信息,判断能否通过Mn中的Bn推测出与所述第i个授权产品的相应信息完全一致的字符串,以确定授权信息是否合法;或者
在授权编号n等于1时,提取授权文件中的Mn,并判断Mn中的Bn是否为所述设定值,以确定授权信息是否合法。
10.根据权利要求9所述的方法,对于采用区块链数据文件形式且i等于n-1的授权文件,在步骤2)中包括:
2-1)从授权文件中获得授权编号小于等于n的全部加密许可信息{Mk},k≤n;
2-2)在n大于1时,按照k从大至小的顺序依次判断能否从Mk中的Bk推测出Mk-1中的Ak-1,并判断M1中的B1是否为所述设定值,若均满足则认为授权信息合法,否则认为授权信息不合法;或者
在n等于1时,判断M1中的B1是否为所述设定值,若是则认为授权信息合法,若否则认为授权信息不合法。
11.根据权利要求9所述的方法,还包括:
3)对于授权信息合法的授权编号为n的产品,从加密许可信息Mn中提取授权信息mn,以确定授权有效期与所授予权限。
12.根据权利要求11所述的方法,还包括:
4)在授权时,判断能否获取当前的互联网时间;
5)在能够获取当前的互联网时间时,若当前的互联网时间处于授权有效期内,则为当前待授权产品授权,否则不授权;或者
在无法获取当前的互联网时间时,判断当前待授权产品的系统时间是否处于授权有效期、和/或判断当前待授权产品中定时更新在注册表、特殊文件中的最新时间是否处于授权有效期,若均满足则为当前待授权产品授权,否则不授权。
13.一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序在被执行时用于实现如权利要求1~12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811464480.1A CN109359478B (zh) | 2018-12-03 | 2018-12-03 | 基于加密许可文件的授权方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811464480.1A CN109359478B (zh) | 2018-12-03 | 2018-12-03 | 基于加密许可文件的授权方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359478A CN109359478A (zh) | 2019-02-19 |
CN109359478B true CN109359478B (zh) | 2020-11-10 |
Family
ID=65330803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811464480.1A Active CN109359478B (zh) | 2018-12-03 | 2018-12-03 | 基于加密许可文件的授权方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359478B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995523B (zh) * | 2019-03-13 | 2021-07-09 | 网易(杭州)网络有限公司 | 激活码管理方法及装置、激活码生成方法及装置 |
CN110233828B (zh) * | 2019-05-14 | 2022-01-04 | 深圳市科迈爱康科技有限公司 | 基于区块链的移动办公方法和装置 |
TWI722431B (zh) * | 2019-05-15 | 2021-03-21 | 振鋒企業股份有限公司 | 產品項目的資料編輯權限之授權方法 |
CN111159656A (zh) * | 2019-11-18 | 2020-05-15 | 核芯互联科技(青岛)有限公司 | 一种防止软件非授权使用的方法、装置、设备和存储介质 |
CN111191212B (zh) * | 2019-12-31 | 2020-12-15 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的数字凭证处理方法、装置、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100343775C (zh) * | 2004-05-25 | 2007-10-17 | 华为技术有限公司 | 一种许可证文件生成方法及软件产品保护方法和系统 |
CN1874218A (zh) * | 2006-01-05 | 2006-12-06 | 华为技术有限公司 | 一种许可证管理方法、系统及装置 |
CN107145768B (zh) * | 2016-03-01 | 2021-02-12 | 华为技术有限公司 | 版权管理方法和系统 |
CN108923908B (zh) * | 2018-06-25 | 2022-05-31 | 百度在线网络技术(北京)有限公司 | 授权处理方法、装置、设备及存储介质 |
-
2018
- 2018-12-03 CN CN201811464480.1A patent/CN109359478B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109359478A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359478B (zh) | 基于加密许可文件的授权方法及系统 | |
US11799637B2 (en) | Methods and systems for blockchain-implemented event-lock encryption | |
EP1168141B1 (en) | A secure and open computer platform | |
CN105491062B (zh) | 一种客户端软件保护方法、装置及客户端 | |
CN112231647A (zh) | 一种软件授权验证方法 | |
CN112257095B (zh) | 一种联盟链共识节点的选择方法 | |
US8881308B2 (en) | Method to enable development mode of a secure electronic control unit | |
US7634816B2 (en) | Revocation information management | |
CN111428211B (zh) | 面向联盟区块链的视频作品多因子确权溯源的存证方法 | |
KR20070046982A (ko) | 하드웨어 식별에 기초한 디지털권 관리 시스템 | |
CN114186199B (zh) | 许可授权方法及装置 | |
JP2006311529A (ja) | 認証システムおよびその認証方法、認証サーバおよびその認証方法、記録媒体、プログラム | |
CN109274650A (zh) | 一种电子影像调阅的管理系统及方法 | |
CN109614768B (zh) | 基于区块链数据文件实施产品授权的方法及系统 | |
TW201251413A (en) | Authentication agent apparatus, and method and system for authenticating online service | |
CN112000933B (zh) | 应用软件的激活方法、装置、电子设备及存储介质 | |
WO2019234850A1 (ja) | セキュリティシステムおよびデータ処理装置 | |
CN108259490B (zh) | 一种客户端校验方法及装置 | |
CN112699411A (zh) | 操作审计信息的存储方法、装置和计算机可读存储介质 | |
US20240086905A1 (en) | Mitigation of cryptographic asset attacks | |
CN112699360B (zh) | 硬件的防伪方法及装置、可读存储介质、电子设备 | |
JP6338540B2 (ja) | 認証システム、認証結果利用サーバ及び認証方法 | |
CN114357385A (zh) | 一种软件防护和授权方法、系统及装置 | |
CN116233141A (zh) | 一种基于主从多链的穿透式确权与监管方法及系统 | |
CN116360986A (zh) | 基于分布式系统的授权文件生成方法、分布式系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |