发明内容
本发明的主要目的在于提供一种授权控制方法、系统、智能终端及计算机可读存储介质,旨在解决现有技术中通过数据权限表进行授权控制时,授权信息的格式复杂,且存储和修改方式都复杂,影响授权信息的存储和更新效率,不利于进行授权控制的问题。
为了实现上述目的,本发明第一方面提供一种授权控制方法,其中,上述授权控制方法包括:
获取授权请求命令,上述授权请求命令用于请求执行目标操作;
基于上述目标操作对上述授权请求命令进行合法性验证;
当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。
可选的,上述合法性验证包括命令格式合法性验证、操作对象合法性验证和用户身份合法性验证。
可选的,上述基于上述目标操作对上述授权请求命令进行合法性验证,包括:
基于上述目标操作获取合法命令的组成格式;
基于上述合法命令的组成格式对上述授权请求命令进行命令格式合法性验证;
当上述命令格式合法性验证通过时,对上述授权请求命令进行操作对象合法性验证和用户身份合法性验证。
可选的,上述目标操作是增加授权信息、删除授权信息和查询授权信息中的任意一种;
当上述目标操作是增加授权信息或删除授权信息时,上述合法命令的组成部分包括:待操作对象所有者的身份信息、待操作对象名称、被操作用户以及被操作对象名称,其中,待操作对象和被操作对象为数据或程序;
当上述目标操作是查询授权信息时,上述合法命令的组成部分包括:请求所有者的身份信息、待查询程序名以及待查询数据名列表。
可选的,上述对上述授权请求命令进行操作对象合法性验证和用户身份合法性验证,包括:
当上述目标操作是增加授权信息或删除授权信息时,验证上述待操作对象是否有效并与上述待操作对象所有者关联对应,验证上述被操作对象是否有效并与上述被操作用户关联对应,并验证上述身份信息的合法性;
当上述目标操作是查询授权信息时,验证待查询程序和各待查询数据是否都有效且都与上述请求所有者关联对应,并验证上述身份信息的合法性。
可选的,上述基于上述授权请求命令对授权信息集合执行上述目标操作,包括:
当上述目标操作是增加授权信息时,将目标增加二元数据对添加到上述授权信息集合中,上述目标增加二元数据对是基于上述待操作对象与上述被操作对象组合成的有序二元数据对;
当上述目标操作是删除授权信息时,从上述授权信息集合中删除目标删除二元数据对,上述目标删除二元数据对是基于上述待操作对象与上述被操作对象组合成的有序二元数据对;
当上述目标操作是查询授权信息时,在上述授权信息集合中查询所有目标查询二元数据对,其中,一个目标查询二元数据对是上述待查询程序名与一个待查询数据名组合成的有序二元数据对。
可选的,上述授权控制方法还包括:
当上述目标操作执行成功时,输出执行成功提示信息;
当上述合法性验证未通过或上述目标操作执行失败时,输出执行失败提示信息。
本发明第二方面提供一种授权控制系统,其中,上述授权控制系统包括:
授权请求命令获取模块,用于获取授权请求命令,上述授权请求命令用于请求执行目标操作;
合法性验证模块,用于基于上述目标操作对上述授权请求命令进行合法性验证;
控制模块,用于当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。
本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的授权控制程序,上述授权控制程序被上述处理器执行时实现任意一项上述授权控制方法的步骤。
本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有授权控制程序,上述授权控制程序被处理器执行时实现任意一项上述授权控制方法的步骤。
由上可见,本发明方案中,获取授权请求命令,上述授权请求命令用于请求执行目标操作;基于上述目标操作对上述授权请求命令进行合法性验证;当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。与现有技术中通过数据权限表进行授权控制的方案相比,本发明中,授权信息以二元数据对的形式进行存储,有利于降低授权信息的格式复杂度;通过授权信息集合中的所有二元数据对即可获知所有的授权信息;在进行授权信息更新时,只需要对各个二元数据对进行更新,例如删除二元数据对或增加二元数据对,无需考虑整个数据权限表的修改,修改方式简单;有利于提高授权信息的存储和更新效率,从而有利于提高授权控制效率。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的发展,尤其是计算机和网络的迅速发展,越来越多的数据需要进行管理。目前,互联网已完成了从IT(Information Technology)时代向DT(DataTechnology)时代的转变,数据已经成为DT时代企业的核心竞争力。在数据的使用和管理过程中,需要保护个人隐私和企业的数据资产安全,避免数据滥用和被窃取篡改。传统的防火墙、入侵检测和病毒防范等手段主要聚焦于被动防御,通常是“救治于后”,已无法完全有效解决目前的数据安全问题。因为数据一旦泄露,其机密性和完整性很可能遭到破坏,被动防御手段难以弥补其损失,因此需要对数据进行隐私计算,在提供隐私保护的前提下使用数据。
目前,通常通过授权的方式对数据进行保护,例如,某些数据并不是每一个用户都可以查看或使用,只有授权用户才可以查看或使用。现有技术中,进行授权控制时,授权信息通过数据权限表的形式进行存储,授权信息的格式复杂,存储方式复杂,且修改时需要对整个表格进行更新和修改,修改方式复杂。现有技术的问题在于,通过数据权限表进行授权控制时,授权信息的格式复杂,且存储和修改方式都复杂,影响授权信息的存储和更新效率,不利于进行授权控制。
目前,涉及数据应用的隐私保护技术仍在发展阶段,其中,基于硬件可信执行环境(TEE)实现数据计算保护的可信计算受到广泛关注。如Intel的SGX技术和ARM的TrustZone技术,他们都是扩展了CPU的架构,划分出了一个由CPU保证的“安全区域”(其他区域可以称为“正常区域”),该安全区域中的代码和数据不允许其他程序访问(即使是操作系统级别权限的软件也无法访问),从而保证了重要数据和代码的机密性和完整性。该方法需要进行硬件架构的改进,较为复杂,且控制不灵活。
另一方面,随着物联网和云计算的发展,数据的提供方越来越丰富,同时,由于数据应用过程中涉及不同的参与方,各参与方之间基于互不信任的前提,往往需要对数据应用过程中进行隐私保护。因此,基于互不信任的多个数据提供方和数据应用过程中的参与方之间的隐私保护计算越来越受到重视。现有的可信计算技术方案没有考虑多方可信计算的需求。以Intel SGX为例,它是基于CPU的硬件扩展,仅提供了底层的技术支持,而无法支持多方数据的注册、授权,任务访问权限的控制等功能。而部分多方可信合作计算过程中的授权控制方案则需要采用联邦学习等方法,需要使用复杂的数学方法和考虑复杂的交互需求,方案复杂,且计算效率较低,且学习和设计的难度较高。
为了解决上述多个问题中的至少一个问题,本发明方案中,获取授权请求命令,上述授权请求命令用于请求执行目标操作;基于上述目标操作对上述授权请求命令进行合法性验证;当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。与现有技术中通过数据权限表进行授权控制的方案相比,本发明实施例中,授权信息以二元数据对的形式进行存储,有利于降低授权信息的格式复杂度;通过授权信息集合中的所有二元数据对即可获知所有的授权信息;在进行授权信息更新时,只需要对各个二元数据对进行更新,例如删除二元数据对或增加二元数据对,无需考虑整个数据权限表的修改,修改方式简单;有利于提高授权信息的存储和更新效率,从而有利于提高授权控制效率。
示例性方法
如图1所示,本发明实施例提供一种授权控制方法,具体的,上述方法包括如下步骤:
步骤S100,获取授权请求命令,上述授权请求命令用于请求执行目标操作。
其中,授权请求命令是由用户(或其它请求方,例如某设备)发出的用于请求对授权信息进行修改或查询的命令。目标操作是该授权命令对应的用户想要执行的命令,例如,增加对某程序(或数据)的授权,删除对某程序(或数据)的授权,以及查询某程序(或数据)的授权情况等,在此不作具体限定。
需要说明的是,本实施例中提供的授权控制方法可以应用于多方合作的可信计算中,用于对每一方的每一个用户提供细粒度的授权信息控制,即面向对象,提供程序和数据级别的授权信息控制。优选的,可以利用每个用户记录的授权信息二元数据对,为多方合作可信计算提供授权的增加、删除和查询方案。
步骤S200,基于上述目标操作对上述授权请求命令进行合法性验证。
具体的,本实施例中,上述合法性验证包括命令格式合法性验证、操作对象合法性验证和用户身份合法性验证。
其中,合法性验证即验证授权请求命令是否符合要求(符合计算机的等设备的处理要求)。命令格式合法性验证是验证授权请求命令的格式是否符合预设要求,操作对象合法性验证是验证操作的数据和/或程序是否符合处理要求,用户身份合法性验证是验证用户身份是否正确。
本实施例中,如图2所示,上述步骤S200具体包括以下步骤:
步骤S201,基于上述目标操作获取合法命令的组成格式。
具体的,本实施例中,上述目标操作是增加授权信息、删除授权信息和查询授权信息中的任意一种,以便在多方合作可信计算中,为用户提供增加授权、删除授权和查询授权的功能。当然,上述方法还可以应用于其它可信计算中,为用户提供其它目标操作,在此不作具体限定。
需要说明的是,根据用户想要进行的目标操作的不同,对应的授权命令对应的格式也不同。本实施例中,当上述目标操作是增加授权信息或删除授权信息时,上述合法命令的组成部分包括:待操作对象所有者的身份信息、待操作对象名称、被操作用户以及被操作对象名称,其中,待操作对象和被操作对象为数据或程序;当上述目标操作是查询授权信息时,上述合法命令的组成部分包括:请求所有者的身份信息、待查询程序名以及待查询数据名列表。需要说明的是,上述合法命令的组成部分还可能根据应用的系统不同而有所不同,在此不作具体限定。本实施例中,待查询数据名以列表的形式体现(即待查询数据名列表),更方便进行格式判断,但实际使用过程中,合法的查询授权请求命令也可以包括一个或多个单独的待查询数据名,在此不作具体限定。
在一个实施例中,操作对象(包括待操作对象和被操作对象)可以是程序或数据,例如,为数据A增加数据B的授权,使得数据A在使用时可以调用数据B进行计算;为程序C增加数据D的授权,使得程序C的使用过程中可以调用数据D;为程序C增加程序E的授权,使得程序C的使用过程中可以调用程序E等。本实施例中,主要实现程序与数据之间的授权,当待操作对象是程序时,对应的被操作对象是数据;反之,当待操作对象是数据时,对应的被操作对象是程序。
步骤S202,基于上述合法命令的组成格式对上述授权请求命令进行命令格式合法性验证。
具体的,在获取到合法命令的格式组成部分后,检查授权请求命令是否包含所有的组成部分,当授权请求命令包含所有组成部分时认为命令格式合法性验证通过,进入下一步验证。否则,可以输出验证失败的提示信息,以提示用户命令格式有误,方便用户进行校对和重新输入。
优选的,本实施例中,当上述目标操作是增加授权信息时,上述合法命令的组成部分具体包括:待授权操作对象所有者的身份信息,待授权操作对象名称,被授权用户,以及被授权操作对象名称,其中,待授权操作对象为数据或程序,被授权操作对象为程序或数据。当上述目标操作是删除授权信息时,上述合法命令的组成部分具体包括:待删除授权操作对象所有者的身份信息,待删除授权操作对象名称,被删除授权用户,以及被删除授权操作对象名称,其中,待删除授权操作对象为数据或程序,被删除授权操作对象为程序或数据。
步骤S203,当上述命令格式合法性验证通过时,对上述授权请求命令进行操作对象合法性验证和用户身份合法性验证。
其中,上述对象合法性验证具体验证操作对象是否有效且存在于对应的用户名下,以保证后续目标操作的有效性。
具体的,本实施例中,如图3所示,上述步骤S203包括:
步骤S2031,当上述目标操作是增加授权信息或删除授权信息时,验证上述待操作对象是否有效并与上述待操作对象所有者关联对应,验证上述被操作对象是否有效并与上述被操作用户关联对应,并验证上述身份信息的合法性。
步骤S2032,当上述目标操作是查询授权信息时,验证待查询程序和各待查询数据是否都有效且都与上述请求所有者关联对应,并验证上述身份信息的合法性。
具体的,本实施例中,当上述目标操作是增加授权信息时,验证上述待授权操作对象是否有效,并验证其是否存在于上述待授权操作对象所有者的名下,验证上述被授权操作对象是否有效,并验证其是否存在于上述被授权用户名下。同样的,当上述目标操作是删除授权信息时,验证上述待删除授权操作对象是否有效,并验证其是否存在于上述待删除授权操作对象所有者的名下,验证上述被删除授权操作对象是否有效并验证其是否存在于上述被删除授权用户的名下。当上述目标操作是查询授权信息时,验证上述待查询程序名对应的待查询程序和上述待查询数据名列表中的各个待查询数据是否都有效且都存在于上述请求所有者名下。验证通过即代表操作对象合法性验证通过,此时可以进一步进行身份合法性验证。
其中,身份信息是对应的用户的身份信息,例如,对应的用户名和/或密码。在其它实施例中,身份信息还可以包括用户的面部特征信息、掌纹信息、瞳孔信息等,以通过其它方式验证用户身份。本实施例中优选为用户名和密码,方便进行比对,以提升授权信息管理效率。
步骤S300,当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。
其中,上述授权信息集合可以通过数据库的形式存储,但不作为具体限定。上述二元数据对是用于体现数据和程序之间的授权关系的数据对,可以由数据名和程序名组合构成。
具体的,本实施例中,如图4所示,上述步骤S300具体包括如下步骤:
步骤S301,当上述目标操作是增加授权信息时,将目标增加二元数据对添加到上述授权信息集合中,上述目标增加二元数据对是基于上述待操作对象与上述被操作对象组合成的有序二元数据对。
步骤S302,当上述目标操作是删除授权信息时,从上述授权信息集合中删除目标删除二元数据对,上述目标删除二元数据对是基于上述待操作对象与上述被操作对象组合成的有序二元数据对。
步骤S303,当上述目标操作是查询授权信息时,在上述授权信息集合中查询所有目标查询二元数据对,其中,一个目标查询二元数据对是上述待查询程序名与一个待查询数据名组合成的有序二元数据对。
其中,上述目标增加二元数据对和目标删除二元数据对是将待操作对象的名称与被操作对象的名称组合成的有序二元数据对。本实施例中,授权信息通过有序二元数据对的方式进行存储,且增加授权时,只需要增加对应的有序二元数据对,删除授权时,也只需要删除对应的有序二元数据对,对应的授权信息更新方便。同时,在查询授权信息时,也只需要查询对应的二元数据对并输出,即可获知授权情况。使用简单,有利于提高授权信息的存储和更新效率,有利于进行授权管理。需要说明的是,上述二元数据对中两个组成部分的顺序关系可以用体现授权关系,例如,二元数据可以是待授权数据-被授权程序组成的有序二元数据对,此时,被授权程序可以调用待授权数据。具体的授权关系和顺序关系可以根据实际需求进行设置和调整,在此不作具体限定。
需要说明的是,本实施例中,待授权数据-被授权程序组成的有序二元数据对实际上是指“待授权数据的名称-被授权程序的名称”,其它二元数据对的含义相同,下文不再赘述。
由上可见,本发明实施例提供的授权控制方法中,获取授权请求命令,上述授权请求命令用于请求执行目标操作;基于上述目标操作对上述授权请求命令进行合法性验证;当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。与现有技术中通过数据权限表进行授权控制的方案相比,本发明实施例中,授权信息以二元数据对的形式进行存储,有利于降低授权信息的格式复杂度;通过授权信息集合中的所有二元数据对即可获知所有的授权信息;在进行授权信息更新时,只需要对各个二元数据对进行更新,例如删除二元数据对或增加二元数据对,无需考虑整个数据权限表的修改,修改方式简单;有利于提高授权信息的存储和更新效率,从而有利于提高授权控制效率。
进一步的,本实施例提供的授权控制方法可以应用于多方合作的可信计算中,借助可信计算技术方案提供的可信环境作为可信第三方,利用对每个用户记录的“数据-程序”和“程序-数据”的有序二元对集合,实现多方合作可信计算中授权的增加、删除和查询流程。从而实现多方合作可信计算的通用授权管理方案,为每一位用户提供数据和程序级别的细粒度授权管理。
优选的,本实施例中,上述方法还包括:当上述目标操作执行成功时,输出执行成功提示信息;当上述合法性验证未通过或上述目标操作执行失败时,输出执行失败提示信息。从而方便用户实时获知请求执行情况,提升用户的使用体验。
示例性设备
如图5中所示,对应于上述授权控制方法,本发明实施例还提供一种授权控制系统,上述授权控制系统包括:
授权请求命令获取模块410,用于获取授权请求命令,上述授权请求命令用于请求执行目标操作。
其中,授权请求命令是由用户(或其它请求方,例如某设备)发出的用于请求对授权信息进行修改或查询的命令。目标操作是该授权命令对应的用户想要执行的命令,例如,增加对某程序(或数据)的授权,删除对某程序(或数据)的授权,以及查询某程序(或数据)的授权情况等,在此不作具体限定。
需要说明的是,本实施例中提供的授权控制系统可以用于实现多方合作的可信计算,用于对每一方的每一个用户提供细粒度(即面向对象,提供程序和数据级别的)的授权信息控制。优选的,可以利用每个用户记录的授权信息二元数据对,为多方合作可信计算提供授权的增加、删除和查询方案。
合法性验证模块420,用于基于上述目标操作对上述授权请求命令进行合法性验证。
具体的,本实施例中,上述合法性验证包括命令格式合法性验证、操作对象合法性验证和用户身份合法性验证。
其中,合法性验证即验证授权请求命令是否符合要求(符合计算机的等设备的处理要求)。命令格式合法性验证是验证授权请求命令的格式是否符合预设要求,操作对象合法性验证是验证操作的数据和/或程序是否符合处理要求,用户身份合法性验证是验证用户身份是否正确。
控制模块430,用于当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。
其中,上述授权信息集合可以通过数据库的形式存储,但不作为具体限定。上述二元数据对是用于体现数据和程序之间的授权关系的数据对,可以由数据名和程序名组合构成。
如此,上述授权控制系统中,授权信息以二元数据对的形式进行存储,有利于降低授权信息的格式复杂度;通过授权信息集合中的所有二元数据对即可获知所有的授权信息;在进行授权信息更新时,只需要对各个二元数据对进行更新,例如删除二元数据对或增加二元数据对,无需考虑整个数据权限表的修改,修改方式简单;有利于提高授权信息的存储和更新效率,从而有利于提高授权控制效率。
具体的,本实施例中,上述授权控制系统及其各模块的具体功能可以参照上述授权控制方法中的对应描述,在此不再赘述。
需要说明的是,上述授权控制系统的各个模块的划分方式并不唯一,在此也不作为具体限定。本实施例中,还基于一种具体应用场景对上述授权控制系统及其对应的授权控制流程进行具体描述。图6是本发明实施例提供的一种授权控制系统的具体模块示意图,如图6所示,上述授权控制系统具体包括I/O模块(即输入输出模块)、数据管理模块、程序管理模块和用户管理模块,其中,上述用户管理模块包括身份认证子模块和授权信息管理子模块。其中,I/O模块用于获取外部的授权请求命令(包括授权增加请求命令、授权删除请求命令和授权查询请求命令),返回成功信息(或失败信息),以及校验外部授权请求命令的合法性;数据管理模块和程序管理模块用于储存和管理所涉及的用户数据和用户程序;用户管理模块包含身份认证子模块和授权信息管理子模块,其中身份认证子模块用于存储和认证用户身份信息,授权信息管理子模块用于储存和验证授权信息。需要说明的是,每一个授权请求命令从I/O模块开始,途经数据管理模块和程序管理模块,在用户管理模块执行,每一个模块都可以向I/O模块返回成功或失败信息。上述授权控制系统还可以包括其它用于实现其它功能的模块或单元,例如用于数据计算的数据计算模块,在此不作具体限定。
图7是本发明实施例提供的一种增加授权的具体流程示意图,如图7所示,在I/O模块接收到增加授权请求命令时,通过检查其格式是否合法来判断该请求是否有效。具体的,合法的增加授权请求命令应该包括:待授权数据(或者程序)所有者用户名和密码,待授权数据(或者程序)名,被授权用户,被授权的程序(或者数据)名。如果格式不合法,则通过I/O模块向外返回失败信息,反之则可以进行下一步验证。本实施例中,通过数据管理模块和程序管理模块进一步检查增加授权请求命令的合法性,具体的,判断其涉及的数据和程序是否有效并存在于相应用户的名下。例如,判断待授权操作对象是否有效并存在于待授权操作对象所有者名下,判断被授权操作对象是否有效并存在于被授权用户名下。当满足对应的判断条件时,认为授权请求命令对应的操作对象合法,可以进行下一步验证,否则,通过I/O模块向外返回失败信息。进一步的,在上述用户管理模块中,通过身份认证子模块检测用户身份信息的合法性(有效性),例如,判断对应的用户名和用户密码是否正确,如果不正确,则通过I/O模块向外返回失败信息。如果正确,则说明授权请求命令的身份合法性验证也通过,此时通过授权信息管理子模块储存记录授权信息的有序二元数据对,具体的,将待授权的数据(或者程序)和被授权的程序(或者数据)组合成有序二元对储存至授权信息管理子模块中,实现对授权信息的更新(即增加新的授权),并通过I/O模块向外返回授权成功信息。
图8是本发明实施例提供的一种删除授权的具体流程示意图,如图8所示,在I/O模块接收到删除授权请求命令时,通过检查其格式是否合法来判断该请求是否有效。具体的,合法的删除授权请求命令应该包括:待删除授权数据(或者程序)所有者用户名和密码,待删除授权数据(或者程序)名,被删除授权用户,被删除授权的程序(或者数据)名。如果格式不合法,则通过I/O模块向外返回失败信息,反之则可以进行下一步验证。本实施例中,通过数据管理模块和程序管理模块进一步检查删除授权请求命令的合法性,具体的,判断其涉及的数据和程序是否有效并存在于相应用户的名下。例如,判断待删除授权的数据(或者程序)并存在于待删除授权操作对象所有者的名下,判断被删除授权的数据(或者程序)是否有效并存在于被删除授权用户的名下。当满足对应的判断条件时,认为授权请求命令对应的操作对象合法,可以进行下一步验证,否则,通过I/O模块向外返回失败信息。进一步的,在上述用户管理模块中,通过身份认证子模块检测用户身份信息的合法性(有效性),例如,判断对应的用户名和用户密码是否正确,如果不正确,则通过I/O模块向外返回失败信息。如果正确,则说明授权请求命令的身份合法性验证也通过,此时通过授权信息管理子模块进行授权信息的更新。具体的,将待删除授权的数据(或者程序)和被删除授权的程序(或者数据)组合有序二元对从授权信息管理子模块中删除,并由I/O模块向外返回成功信息。
图9是本发明实施例提供的一种查询授权的具体流程示意图,如图9所示,在I/O模块接收到查询授权请求命令时,通过检查其格式是否合法来判断该请求是否有效。具体的,合法的查询授权请求命令应该包括:进行任务请求的用户名和密码,待查询的程序名,待查询的数据名列表。本实施例中,通过数据管理模块和程序管理模块进一步检查查询授权请求命令的合法性,具体的,判断其涉及的数据和程序是否有效并存在于相应用户的名下。例如,判断待查询程序名对应的待查询程序和待查询数据名列表中的各个待查询数据是否都有效且都存在于上述请求所有者的名下。当满足对应的判断条件时,认为授权请求命令对应的操作对象合法,可以进行下一步验证,否则,通过I/O模块向外返回失败信息。进一步的,在上述用户管理模块中,通过身份认证子模块检测用户身份信息的合法性(有效性),例如,判断对应的用户名和用户密码是否正确,如果不正确,则通过I/O模块向外返回失败信息。如果正确,则说明授权请求命令的身份合法性验证也通过,此时通过授权信息管理子模块进行授权信息的查询。具体的,将待查询的数据名列表和待查询的程序名逐一配对,组成待查询的程序名-待查询的数据名的有序二元对的列表,以及组成待查询的数据名-待查询的程序名的有序二元对的列表。交由所述的授权信息管理子模块逐一依次查询,如有序二元对的第一项指涉的数据/程序不属于进行任务请求的用户,和/或授权信息管理子模块中未存储该有序二元对,则查询授权认证失败,交由I/O模块向外返回查询失败信息。如查询成功,交由I/O模块向外返回成功信息。在一种应用场景中,还可以分别输出所有查询成功的数据对和查询失败的数据对,供用户参考。
如此,基于上述方法,可以对多个数据提供方和程序提供方进行灵活的细粒度授权,解决多方合作下的隐私计算问题。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和授权控制程序。该内存储器为非易失性存储介质中的操作系统和授权控制程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该授权控制程序被处理器执行时实现上述任意一种授权控制方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的授权控制程序,上述授权控制程序被上述处理器执行时进行以下操作指令:
获取授权请求命令,上述授权请求命令用于请求执行目标操作;
基于上述目标操作对上述授权请求命令进行合法性验证;
当合法性验证通过时,基于上述授权请求命令对授权信息集合执行上述目标操作,其中,上述授权信息集合中各授权信息以二元数据对的形式进行存储。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有授权控制程序,上述授权控制程序被处理器执行时实现本发明实施例提供的任意一种授权控制方法的步骤。
综上所述,本发明可以带来如下有益效果:首先,本发明提供的授权控制方法中,基于获取的授权请求命令即可实现对授权信息的更新、查询等控制,方便用户操作且可以提高隐私计算的安全性。其次,本发明中各授权信息以二元数据对的形式进行存储,可以降低授权信息的格式复杂度、降低授权信息需要占用的存储空间,且采用二元数据对可以方便地进行查询和更新,有利于提高授权信息的存储、更新和查询效率,从而提高隐私计算过程中的授权控制效率。进一步的,本发明中,对授权请求命令进行命令格式合法性验证、操作对象合法性验证和用户身份合法性验证等验证,保证授权请求命令是符合要求且可以执行的,有利于提升授权控制的安全性和效率。需要说明的是,上述授权控制方法还可以应用到多方合作可信计算过程中,可以对多个数据提供方和程序提供方进行灵活的细粒度多方授权,为多方合作可信计算提供一种增加授权、删除授权和查询授权的方案,从而有利于提高多方合作可信计算的安全性。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。