一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种授权方法和终端设备与流程

2022-03-19 18:31:21 来源:中国专利 TAG:

一种授权方法和终端设备
1.本技术为申请日为2018年03月27日,申请号为“201810256498.6”,发明名称为“一种授权方法、加密方法和终端设备”的发明专利的分案申请。
技术领域
2.本技术属于互联网技术领域,尤其涉及一种授权方法和终端设备。


背景技术:

3.目前,为了实现数据的签名和加解密等,一般采用的方式是,每个参与方都持有自己的私钥,私钥和参与方是一一对应的关系。通过所有参与方都信任的认证中心(ca)发放证书,每个参与方都持有对应公钥的证书。
4.因为私钥与参与方是一一对应的关系,因此,在签名、对签名进行校验,对数据进行加密,对数据进行加密的过程中,如果有n个参与方参与签名,或者n个参与方参与加密,那么就需要有n个参与方参与校验,n个参与方参与解密,没有什么策略可言,也使得签名、校验、加密、解密等情况无法适应于一些特殊的情况下。
5.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术目的在于提供一种授权方法和终端设备,可以满足更多场景的授权需求。
7.一方面提供了一种授权方法,包括:
8.向参与方群组发送访问请求;
9.接收所述群组中的参与方通过持有的私钥生成的签名;
10.在确定收到的签名符合全量签名集合的情况下,确定已获取访问权限,其中,所述群组中n个参与方持有的私钥集合等于私钥全集,其中,n小于所述群组中参与方的数量。
11.一种终端设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法。
12.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
13.本技术提供的授权方法和终端设备,通过采用参与方与私钥一对多的方式来设置私钥分布,从而解决了现有的私钥与参与方一一对应方式所存在使用场景限制过大,无法适应多场景需求的问题,达到了可以满足多场景需求的效果。
附图说明
14.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1是本技术实施例的私钥分布方式示意图;
16.图2是本技术实施例的私钥分布方式的另一示意图;
17.图3是本技术实施例的私钥分布方式的又一示意图;
18.图4是本技术实施例的私钥分布方式的又一示意图;
19.图5是本技术实施例的授权方法的方法流程图;
20.图6是本技术实施例的加密方法的方法流程图;
21.图7是本技术实施例的终端设备的架构示意图;
22.图8是本技术实施例的授权装置的结构框图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
24.考虑到现有的签名授权、加密方式之所以存在适应范围不广的问题,主要是因为参与方与私钥是一一对应的关系,如果想完成解密或者是签名校验,就需要参与加密和签名的都参与进来才能进行说明的解密和授权。
25.为此,考虑到如果不按照这种一个参与方仅对应于一个私钥,一个私钥仅对应于一个参与方的方式分配私钥,而采用一个参与方可以对应一个或多个私钥,或者是没有私钥,一个私钥可以被一个或多个参与方所拥有,那么就不需要限定为有n个人进行签名,那么就需要这n个人一起才能进行签名校验,以完成授权。
26.举例而言,a有私钥1、2和3,b有私钥1和2,c有私钥2和3,d有私钥3。那么b和d通过私钥1、私钥2和私钥3进行签名的情况下,a自己就可以实现签名校验,b和c也可以实现签名的校验,只要凑出私钥1、私钥2和私钥3这样的集合,就可以实现对该签名的校验,而不需要限定成仅签名的人聚齐才能进行签名校验。
27.基于以上思路,在本例中提供了一种基于签名的授权方式,具体说明如下:
28.在本例的基于签名的授权方式中,一组私钥kn(其中,n表示私钥的总数)在所有参与方pm(其中,m表示参与方的总数)中可以按照如下方式分配:一个参与方可能持有其中多枚私钥,也可能没有任何私钥,一枚私钥可能只有一个参与方持有,也可能由多个参与方持有。每个参与方持有所有私钥对应的公钥cn。
29.其中,对于参与方而言,授权的过程就是用自己持有的所有私钥对数据进行签名的过程,校验权限的过程就是校验所有签名的过程,并且获得和私钥数量一样并且不重复的签名sn。
30.基于上述的私钥分配方式,对授权、校验、加密、解密等过程进行说明如下:
31.1)授权(签名)、校验(签名校验)
32.某个资源r由p(其中,p可以是资源管理参与方,也可以是第三方)持有,且存在多个资源管理的参与方(p1
……
pn),其中,p1
……
pn已经通过协商持有了规定好的私钥(即,按照一个参与方可能持有其中多枚私钥,也可能没有任何私钥,一枚私钥可能只有一个参
与方持有,也可能由多个参与方持有的方式设置私钥分配策略)。
33.当资源的访问者u(可以是资源管理的参与方,也可以是第三方)需要访问资源r时,访问者u可以先构建访问请求g,并将访问请求g发送给尽量多的资源管理的参与方(p1
……
pn)。
34.对于资源管理的参与方(p1
……
pn)而言,可以使用自己持有的所有私钥,对访问请求g进行签名,以产生签名(s1
……
sn),并将签名(s1
……
sn)发送回访问者u。
35.由于公私钥的总数是公开的,并且所有的公钥(证书)也是公开的,因此,当访问者u收集到足够数量的签名(s1
……
sn,去掉重复签名后的)的情况下,对签名进行验证,从而确定自身已获取访问资源r的权限。
36.访问者u将访问请求和足够数量的签名(s1
……
sn)发送给p,p通过公开的公私钥的总数和公开的公钥,对访问请求的签名(s1
……
sn)进行验证,例如,可以是验证数量是否足够,是否通过验证,从而确定访问者u是否有权限访问资源r。
37.2)加密、解密
38.某个资源池p,由多个参与方(p1
……
pn)管理,其中,多个参与方(p1
……
pn)已经通过协商持有了规定好的私钥,且所有的私钥有一个规定好的顺序。
39.当资源发布方u(可以是资源管理的参与方,也可以是第三方)需要发布一个数据d时,资源发布方u可以先对数据d执行一个摘要算法z,产生摘要h(即,请求h)。资源发布方u可以将请求h发送给尽量多的参与方(p1
……
pn)。参与方(p1
……
pn)使用自己持有的所有私钥,对请求h进行签名,产生签名(s1
……
sn),并将签名(s1
……
sn)发送回资源发布方u。
40.由于公私钥的总数是公开的,并且所有的公钥(证书)也是公开的。因此,当资源发布方u收集到足够数量的签名(s1
……
sn,去掉重复签名后的)后,可以对签名进行验证,以确定自身已获取到发布数据的权限。
41.资源发布方u将所有签名(s1
……
sn)按照预先规定的私钥的顺序,顺序进行排列,从而得到一个唯一的序列,可以将该唯一的序列通过某个预习定义的算法f,生成一个对称加密密钥s。通过该对称加密密钥s对数据d进行加密,生成加密后的数据e。将请求h和加密后的数据e发布到资源池p,从而完成加密的数据发布。
42.对于数据的查看方c而言,如果需要解密数据,那么就需要从资源池p中取出请求h和加密后的数据e。并把请求h发送给尽量多的参与方(p1
……
pn)。参与方(p1
……
pn)使用自己持有的所有私钥,对请求h进行签名,产生签名(s1
……
sn),并将签名(s1
……
sn)发送回数据查看方c。由于公私钥的总数是公开的,并且所有的公钥(证书)也是公开的。当数据查看方c收集到足够数量的签名(s1
……
sn,去掉重复签名后的),并且对签名进行验证,就知道自己已经获得解密数据的能力。
43.数据查看方c将所有签名(s1
……
sn)按照预设的私钥的顺序排列,可以得到一个唯一的序列。对于这个唯一的序列,可以通过某个预习定义的算法f,生成一个对称加密密钥s,数据查看方c使用该对称加密密钥对数据e解密得到数据d,且可以用数据d由算法z产生新的摘要h',确定摘要h和h'是否一致,以验证数据是否合法。
44.即,考虑到有效性校验和加解密不能使用同一组私钥,为了实现加解密,可以生成对称加密密钥,在加解密的情况下,可以控制这一组私钥是有序的,这样产生的签名也是有序的,每次得到的去重签名的序列也是一致的,这样就可以基于这个序列得到对称加密密
钥sk,从而可以完成加解密。
45.举例而言,预先定密钥的固定序列为:私钥1、私钥2、私钥5、私钥3、私钥7、私钥4、私钥6,那么生成的对称加密密钥的序列就是基于私钥1、私钥2、私钥5、私钥3、私钥7、私钥4、私钥6这样一个私钥序列生成的,基于此进行数据加密,相应的,在解密的时候,也按照这个规则,就可以得到密钥进行解密。
46.在实现的时候,私钥可以通过任意的策略规定持有者,并发送给其他持有者。公钥可以由公私钥对的产生方产生,以防止歧义。且在实现的时候,可以让所有参与者都信任的ca背书,并发布包含公钥的证书。
47.下面结合几个具体场景对上述方法进行说明,然而值得注意的是,该具体场景仅是为了更好地说明本技术,并不构成对本技术的不当限定。
48.如图1所示,应用场景为:参与方有x和y,x持有私钥k1和所有证书c1和c2,y持有私钥k2和证书c1和c2。
49.那么,sx就是私钥k1产生的签名,那么sy就是私钥k2产生的签名,x和y一起可以组成私钥和证书全集:k1、k2、c1和c2,这样就可以实现签名的校验。
50.如图2所示,应用场景为:参与方有x和y:x持有私钥k1和证书c1,y也持有k1和证书c1,sx和sy是相同的,都是k1产生的签名。
51.那么通过x和y任意一方,都可以组成全集:k1。因此,x和y任意一方都可以实现签名的校验。
52.如图3所示,应用场景为:x持有私钥k1和k2,y持有私钥k2和k3,z持有私钥k1和k3。所有参与方都持有证书c1、c2和c3。
53.相应的,签名sx包含k1和k2产生的签名s1和s2,签名sy包含k2和k3产生的签名s2和s3,签名sz包含k1和k3产生的签名s1和s3。
54.那么,sx和sy包含的签名集合为:s1、s2和s3,sy和sz包含的签名集合为s1、s2和s3,sx和sz包含的签名集合为s1、s2和s3。
55.因此,x也y可以完成签名校验,x和z可以完成签名校验,y和z可以完成签名校验,因为任意两方都可以组成全集。
56.如图4所示,为一个示意性场景,一共m个参与方,其中n个参与方可以组成一个私钥全集。即,只需要通过设置规则,找到私钥在这个m个参与方之间的合理分布,保证有且只有任意n个或者n个以上的参与方持有的私钥的集合等于私钥的全集,那么通过任意n个参与方就可以实现校验。
57.在本技术提供了一种授权方法,如图5所示,可以包括如下步骤:
58.步骤501:向参与方群组发送访问请求;
59.步骤502:接收所述群组中的参与方通过持有的私钥生成的签名;
60.步骤503:在确定收到的签名符合全量签名集合的情况下,确定已获取访问权限,其中,所述群组中n个参与方持有的私钥集合等于私钥全集,其中,n小于所述群组中参与方的数量。
61.即,对于授权请求方而言,向参与方群组发送访问请求,从而触发参与方基于自身持有的私钥生成签名,只要授权请求方获取了足够多的签名,即,全量的签名集合就证明已经得到访问授权。
62.在确定已获取访问权限之后,授权请求方可以将所述访问请求和所述全量签名集合发送所述参与方请求,以请求访问。
63.上述的群组中的参与方可以包括但不限于:资源管理参与方,上述的访问请求可以包括但不限于:资源访问请求。
64.在本技术中还提供了一种加密方法,如图6所示,可以包括如下步骤:
65.步骤601:向参与方群组发送资源发布请求;
66.步骤602:接收所述群组中的参与方通过持有的私钥生成的签名;
67.步骤603:在确认收到的签名符合全量签名集合的情况下,确定已获取资源发布权限,其中,所述群组中n个参与方持有的私钥集合等于私钥全集,其中,n小于所述群组中参与方的数量;
68.步骤604:通过所述全量签名集合生成加密密钥,对待发布的资源进行加密。
69.即,有资源进行发布的时候,需要对资源进行加密,这时可以向参与方群组发送资源发布请求,从而触发得到参与方根据自身私钥生成的签名,在得到足够多的签名,即,签名全集的情况下,确定已获取资源发布权限,就可以基于全量的签名对资源进行加密和发布。
70.在一个实施方式中,通过所述全量签名集合生成加密密钥,对待发布的资源进行加密,可以包括:
71.s1:按照预设的私钥顺序对所述全量签名集合中的签名进行排序;
72.s2:按照预设的算法,将排序结果生成对称加密密钥;
73.s3:通过所述对称加密密钥对所述待发布的资源进行加密。
74.在向参与方群组发送资源发布请求的时候,可以是包括:对所述待发布的数据执行摘要算法,产生摘要;将摘要作为资源发布请求,发送至所述参与方群组。
75.在通过全量签名集合生成加密密钥,对待发布的资源进行加密之后,所述方法还包括:将所述摘要和加密后的数据发布到资源池中。
76.本技术提供的方法实施例可以在终端设备中执行。图7是本发明实施例的一种授权方法/加密方法的终端设备的硬件结构框图。如图7所示,终端设备10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,终端设备10还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
77.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的授权方法/加密方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的授权方法/加密方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
78.传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括
计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
79.请参考图8,在软件实施方式中,该授权装置应用于请求方设备中,可以包括:第一发送模块801、接收模块802、确定模块803。其中:
80.第一发送模块801,用于向参与方群组发送访问请求;
81.接收模块802,用于接收所述群组中的参与方通过持有的私钥生成的签名;
82.确定模块803,用于在确定收到的签名符合全量签名集合的情况下,确定已获取访问权限,其中,所述群组中n个参与方持有的私钥集合等于私钥全集,其中,n小于所述群组中参与方的数量。
83.在一个实施方式中,上述授权装置还可以包括:第二发送模块,用于在确定已获取访问权限之后,将所述访问请求和所述全量签名集合发送所述参与方请求,以请求访问。
84.在一个实施方式中,上述群组中的参与方可以包括:资源管理参与方。
85.在一个实施方式中,上述访问请求可以包括:资源访问请求。
86.在软件实施方式中,该加密装置应用于请求方设备中,可以包括:发送模块、接收模块、确定模块和加密模块。其中:
87.发送模块,用于向参与方群组发送资源发布请求;
88.接收模块,用于接收所述群组中的参与方通过持有的私钥生成的签名;
89.确定模块,用于在确认收到的签名符合全量签名集合的情况下,确定已获取资源发布权限,其中,所述群组中n个参与方持有的私钥集合等于私钥全集,其中,n小于所述群组中参与方的数量;
90.加密模块,用于通过所述全量签名集合生成加密密钥,对待发布的资源进行加密。
91.在一个实施方式中,通过所述全量签名集合生成加密密钥,对待发布的资源进行加密可以包括:按照预设的私钥顺序对所述全量签名集合中的签名进行排序;按照预设的算法,将排序结果生成对称加密密钥;通过所述对称加密密钥对所述待发布的资源进行加密。
92.在一个实施方式中,向参与方群组发送资源发布请求,可以包括:对所述待发布的数据执行摘要算法,产生摘要;将所述摘要作为资源发布请求,发送至所述参与方群组。
93.在一个实施方式中,在通过所述全量签名集合生成加密密钥,对待发布的资源进行加密之后,所述方法还可以包括:将所述摘要和加密后的数据发布到资源池中。
94.本技术提供的授权方法和加密方法,通过采用参与方与私钥一对多的方式来设置私钥分布,从而解决了现有的私钥与参与方一一对应方式所存在使用场景限制过大,无法适应多场景需求的问题,达到了可以满足多场景需求的效果。
95.虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
96.上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
97.本技术中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
98.本技术所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
99.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的硬件的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
100.本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本技术的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
101.虽然通过实施例描绘了本技术,本领域普通技术人员知道,本技术有许多变形和变化而不脱离本技术的精神,希望所附的权利要求包括这些变形和变化而不脱离本技术的精神。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献