首页> 中国专利> Flask安全模块、构建方法及移动Web系统

Flask安全模块、构建方法及移动Web系统

摘要

本发明提供一种Flask安全模块、构建方法及移动Web系统,其中Flask安全模块包括:安全服务器,用于提供安全策略决策,保持安全标识符和安全上下文之间的映射,为新建的客体分配安全标识符,控制访问向量缓存的内容正确一致;客体管理器,分别与安全服务器、访问向量缓存器和移动Web系统中的钩子通信连接,用于提供从一个安全服务器重新访问、标记和多实例决策的接口,提供一个访问向量缓存器允许客体管理器缓存访问决策结果,及提供客体管理器接收和处理安全策略变动通知,其中多实例决策规定多实例资源集的哪个成员被特定的请求所访问;访问向量缓存器用于缓存预设的安全策略。能解决当前移动Web系统采用自主访问控制带来安全性不足的问题。

著录项

  • 公开/公告号CN107547520A

    专利类型发明专利

  • 公开/公告日2018-01-05

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN201710642192.X

  • 发明设计人 朱大立;杨莹;金昊;马宇晨;

    申请日2017-07-31

  • 分类号

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人王莹

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-06-19 04:10:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-15

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL201710642192X 申请日:20170731 授权公告日:20200707

    专利权的终止

  • 2020-07-07

    授权

    授权

  • 2018-01-30

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170731

    实质审查的生效

  • 2018-01-05

    公开

    公开

说明书

技术领域

本发明涉及移动设备信息安全技术领域,尤其涉及一种Flask安全模块、构建方法及移动Web系统。

背景技术

目前,操作系统的安全体系结构中引入了权能(capability)体系,权能体系的主要目标是解决超级用户问题。权能的组成部分包括:用于标识客体的标识符、定义客体类型的域及定义访问权的域。权能可以看成是对象的保护名,不同的系统使用权能的方法可能差异极大,但是权能都是具有如下的性质:(1)权能是客体在系统范围内使用的名字,在整个系统中都有效,而且在整个系统内唯一。(2)权能必须包含一部分用以决定该权能允许的对以它命名的客体的访问权;(3)权能只能由系统的底层部分创建,拥有某个权能的主体有权把它作为参数移动、拷贝或传递。实现对权能的控制一般由两种方法,第一种是一直让权能存储在特殊的位置上,如权能段和权能寄存器,第二种方法是在每个存储字后加上一个额外的标签字段。能力的两个基本属性是:它们可以从一个访问主体传递给另一个主体;且未经操作系统TCB的允许,拥有某些能力的访问主体不能修改或者伪造任何能力。但是,权能机制虽然流行,却不能很好地适合提供策略的可变通性,因为它们允许权能的持有者控制这种权能的直接遗传,然而支持安全策略的重要要求时控制协调于策略的访问权遗传的能力。

目前,操作系统的安全体系结构中还引用监控器负责控制系统中程序对资源访问,它保证程序对资源的所有引用都得到授权机制的仲裁。在Web API(系统硬件资源的访问接口),采用引用监控器的思想,根据ACL中的访问规则来进行访问控制。这种方法的优点是能够将系统的权限划分到比较细的粒度,即每一个文件给予一个ACL作为扩展属性,来描述所有主体的权限配置,这使得任何给定的权限都可以被分配给任何用户和文件。虽然当前Web OS所采用的在系统资源调用接口Web API利用该思想基于访问控制列表来控制系统敏感资源的访问,这在一定程度上能够起到一定的安全作用,但是这种方式:1)效率低,随着系统资源和用户数的递增,ACL过大必将导致巨大的性能损耗。2)仍属于DAC的访问控制,不能有效抵御木马,非授权访问等问题。

鉴于此,如何解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题成为目前需要解决的技术问题。

发明内容

为解决上述的技术问题,本发明实施例提供一种Flask安全模块、构建方法及移动Web系统,能够解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题。

第一方面,本发明实施例提供一种移动Web系统的Flask安全模块,包括:客体管理器、安全服务器和访问向量缓存器;

所述安全服务器,用于提供安全策略决策,保持安全标识符和安全上下文之间的映射,为新创建的客体分配安全标识符,控制所述访问向量缓存的内容正确一致;

所述客体管理器,分别与所述安全服务器、所述访问向量缓存器和所述移动Web系统中的钩子通信连接,用于提供从一个安全服务器重新访问、标记和多实例决策的接口,提供一个所述访问向量缓存器允许所述客体管理器缓存访问决策结果,以及提供所述客体管理器接收和处理安全策略变动通知,其中,所述多实例决策规定了多实例资源集的哪个成员被特定的请求所访问;

所述访问向量缓存器,用于缓存预设的安全策略。

第二方面,本发明实施例提供一种构建上述移动Web系统的Flask安全模块的方法,包括:

为内核数据结构增加安全域;

在内核代码中的关键点插入钩子调用,以实现对内核和系统关键资源的访问控制;

增加一个通用的安全系统调用,所述系统调用允许所述Flask安全模块为安全相关的应用编写新的系统调用,包含:模块描述符、系统调用描述符、参数列表三个参数;

提供注册和注销安全模块的函数;

定义针对Web OS的安全策略组;

将安全相关的所有功能加入到Flask安全模块中。

可选地,所述安全域是一个固定长度的字符串,称为安全标识符;或者,所述安全域是一个长度可变的数据段,称为安全上下文。

可选地,所述钩子调用中的钩函数,包括:

系统钩函数,用于控制不被除了所述系统钩函数之外其他钩函数控制的系统敏感行为或系统级操作;

程序加载钩函数,用于检查一个进程执行可执行程序的能力和管理进程中安全域的改变;

文件系统钩函数,包括:在Linux虚拟文件系统所定义的客体super block、inode和file用来封装底层文件系统开发需要的接口设置的三类文件系统钩函数;

进程钩函数,用于控制对负责内核进程调度的客体task_struct所包含的进程的基本信息的访问;

网络钩函数,用于对网络连接进行安全管控,设置在套接字和应用层、数据包的传输、网络层、网络设备、网络连接这些关键点;

进程间通信钩函数,用于针对不同的Web OS平台,设计相应的进程间直接通信的钩函数。

可选地,所述提供注册和注销安全模块的函数,包括:

对于所选择的安全策略模块,通过register_security()在Flask安全模块注册,具体包括:通过设置一个全局操作security_ops,让内核查询和所选择的安全策略模块所有相关的钩子函数;一旦安全策略模块被加载,它成为系统的安全策略的一部分,不会被后续策略模块覆盖,直到它被unregister_security()函数注销;在一个安全策略模块注销后,钩子将被替换为默认值,所述默认值表示什么都不做;在同时支持多个安全策略模块时,后加载的安全策略模块通过函数mod_reg_security()注册到前一个安全策略模块,并通过mod_unreg_security()取消注册。

可选地,所述定义针对Web OS的安全策略组,包括:

对于主体对客体的访问请求,根据安全域中定义的安全级来进行访问控制,包括:根据应用的类型将主体划分为三类Sw,、Sl,和Sc;可信主体集合ST=Sc,Sl代表Web应用的本地代码或他们相应的操作,Sw代表远程代码或他们的操作;根据客体的类型和存储特点将客体划分为四类Ou、Op、Os和Ov,Ou代表一般用户空间域,Op代表受信任用户空间域,Os代表系统空间域,Ov代表病毒保护域,并实施如下的访问控制:

自主安全性:Si∈S,Oj∈O,Si能够以x方式访问Oj,当且仅当x∈Mij,其中,S为主体集合,i=1,…,n,n为主体集合S中的主体个数,O为客体集合,j=1,…,m,m为客体集合O中的客体个数,Mij为访问矩阵,Mij存储主体Si对客体Oj的访问模式;

简单安全性:Si∈S,Oj∈O,Si能够读Oj,当且仅当其中,L(Si)为主体Si的安全标记集合,L(Oj)为客体Oj的安全标记集合;

自由写特性:Si∈S,Oj∈O,Si能够写Oj,当且仅当

严格写特性:Si∈S,Oj∈O,Si能够写Oj,当且仅当

域间隔离公理:对于所有的主体和客体,当前访问状态(Si,Oj,x)满足:

Oj∈Ou且Si∈Sl,那么x∈{a,w,r,e},其中,Ou表示,Sl表示,x表示当前访问方式,{a,w,r,e}为访问方式集合,a表示访问方式为只写,w表示访问方式为读写,r表示访问方式为只读,e表示访问方式为执行;

Oj∈Ou且Si∈Sw,那么x=e,其中,Sw表示;

Oj∈Ou∪Os且Si∈ST,那么x∈{a,w,r,e},Os表示,ST表示可信主体集合;

Oj∈Os且Si∈Sw∪Sl,那么x=e;

Oj∈Ov,如果Si=Un,n为特定值,那么x∈{a,w},其中,Ov表示,Un表示第n特权用户,a表示访问方式为只写,w表示访问方式为读写;

Oj∈Os,如果Si=Um,m为特定值,那么x∈{a,w},其中,Um表示第m个特权用户;

可信主体最小权限公理:对于特权操作St=u1∪u2∪u3∪u4∪…∪un,由角色映射函数RA将它们映射到不同的角色中,u1,…,ui,…,un表示特权,并把这些角色赋予系统中的指定用户,用U1,U2,…,Um表示得到RA(ui)=Ui;这样,操作系统中就存在有m个特权用户,这些特权用户共同完成系统的特权操作,每个特权用户Ui只有完成其工作所需的最小特权,而不能独自控制整个系统,P(Ui)=min(∑uj|1≤j≤n),1≤i≤m且

可选地,所述应用的类型,包括:本地打包存储并安装的系统应用、Web应用的本地代码和Web应用的远程代码。

可选地,所述客体的类型和存储特点,包括:一般用户空间域,受信任用户空间域,系统空间域,病毒保护域。

第三方面,本发明实施例提供一种移动Web系统,包括:上述的Flask安全模块。

由上述技术方案可知,本发明实施例的Flask安全模块、构建方法及移动Web系统,可以解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题,通过将Flask体系应用于移动Web操作系统中,制定了相应的强制访问控制策略组,能够实现基于安全标识或安全策略组的强制访问控制,支持可变通的动态策略,将策略实施与策略决策分开,客体管理器负责策略实施,安全服务器负责策略决策,在一个系统的安全策略需要修改的时候,不需要修改引用监控器等其他关键组件,只需要更新安全策略服务器中存储的策略即可,提高了移动Web系统的安全性。

附图说明

图1为本发明一实施例提供的一种移动Web系统的Flask安全模块的结构示意图;

图2为本发明实施例提供的在包含图1所示实施例所述的Flask安全模块的移动Web系统中的Web应用读取系统文件的流程参考示意图;

图3为本发明实施例提供的一种构建图1所示实施例所述的移动Web系统的Flask安全模块的方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。

图1示出了本发明一实施例提供的一种移动Web系统的Flask安全模块的结构示意图,如图1所示,本实施例的移动Web系统的Flask安全模块10,包括:客体管理器01、安全服务器02和访问向量缓存器03;

所述安全服务器02,用于提供安全策略决策,保持安全标识符和安全上下文之间的映射,为新创建的客体分配安全标识符,控制所述访问向量缓存03的内容正确一致;

所述客体管理器01,分别与所述安全服务器02、所述访问向量缓存器03和所述移动Web系统中的钩子通信连接,用于提供从一个安全服务器02重新访问、标记和多实例决策的接口,提供一个所述访问向量缓存器03允许所述客体管理器01缓存访问决策结果,以及提供所述客体管理器01接收和处理安全策略变动通知,其中,所述多实例决策规定了多实例资源集的哪个成员被特定的请求所访问;

所述访问向量缓存器03,用于缓存预设的安全策略。

在具体应用中,在包含本实施例的Flask安全模块的移动Web系统中,Web应用读取系统文件的流程可参考图2,包括:

①当Web应用读取(read())系统文件时,发出一个FILE_READ的读取请求。②首先需要通过常规的自主访问控制检查,例如基于组权限或访问控制列表。③通过DAC(自主访问控制)策略检查后由钩子(security_file_permission())调用Flask安全模块相应的接口。为了提高效率,④首先根据访问向量缓存器AVC(调用avc_has_perm())中缓存的策略,检查FILE_READ请求所需的权限是否存在。⑤如果不存在FILE_READ请求的相关策略,由安全服务器计算判定,并通过security_compute_av()接口将该判定结果通过LSM(Linux安全模块)钩子返回,并由vfs_read()实现read()中的读,或者经安全服务器计算判定后使用“拒绝访问”返回给调用者。

可以理解的是,Flask的主要优点是将策略实施与策略决策分开,客体管理器(OM)负责策略实施,安全服务器(SS)负责策略决策。当OM接收到一个请求时,首先查询访问向量缓存器(AVC),如果没有适当的缓存结果,将通过内部的决策接口向SS提交查询。SS根据策略逻辑做出安全决策,返回给OM,同时更新AVC。Flask的主要目标是提供安全策略的灵活和可变通性,与其他的体系结构相比,最主要的优点是支持动态策略,即系统中策略的实施与决策是分开的,在一个系统的安全策略需要修改的时候,不需要修改引用监控器等其他关键组件,而只需要更新安全策略服务器中存储的策略即可。此外,Flask还支持权限撤销机制,并提供缓存提高了系统的执行效率。

互联网形式下的操作系统要求作为终端而言,足以支持大范围的可变通安全策略,然而操作系统中实现可变通的策略却比较棘手,表现在这种可变通性要求系统必须支持对底层客体的精细的访问控制,以便执行安全策略控制的高层功能;系统必须确保访问权限的增长和安全策略保持一致;策略在通常情况下不是固定不变的。为了解决策略的变化和支持动态策略,系统必须有一种机制来撤销以前授予的访问权限。

本实施例的移动Web系统的Flask安全模块,可以解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题,通过将Flask体系应用于移动Web操作系统中,制定了相应的强制访问控制策略组,能够实现基于安全标识或安全策略组的强制访问控制,支持可变通的动态策略,将策略实施与策略决策分开,客体管理器负责策略实施,安全服务器负责策略决策,在一个系统的安全策略需要修改的时候,不需要修改引用监控器等其他关键组件,只需要更新安全策略服务器中存储的策略即可,提高了移动Web系统的安全性。此外,将Flask安全模块独立,还可以支持权限加载和注销机制,并且相对于权能体系提供更高的系统执行效率。

图3示出了本发明实施例提供的一种构建上述移动Web系统的Flask安全模块的方法的流程示意图,如图3所示,本实施例的构建上述移动Web系统的Flask安全模块的方法包括步骤301-306:

301、为内核数据结构增加安全域。

其中,所述安全域是一个固定长度的字符串,称为安全标识符;或者,所述安全域是一个长度可变的数据段,称为安全上下文。

在具体应用中,为了使安全策略正确执行,需要增加该安全域结构的代码包括:进程的task_struct(进程描述符),管道、文件、套接字的inode(索引结点),file文件,程序的linux_binprm结构体,进程正在执行的文件的,文件系统的super_block(超级块)等。

302、在内核代码中的关键点插入钩子调用,以实现对内核和系统关键资源的访问控制。

在具体应用中,可以利用Linux安全模块(LSM)提供的一系列钩子和钩子调用来判断能否访问这些系统关键资源,所述钩子调用中的钩函数,可以包括:

系统钩函数,用于控制不被除了所述系统钩函数之外其他钩函数控制的系统敏感行为或系统级操作,如设置系统的主机名和域名、系统重启、I(输入)/O(输出)端口的访问等;

程序加载钩函数,用于检查一个进程执行可执行程序的能力和管理进程中安全域的改变(由于Linux中linux_binprm描述了一个通过execve(2)加载的可执行程序,因此可在此设置钩函数来检查一个进程执行可执行程序的能力和管理进程中安全域的改变);

文件系统钩函数,包括:在Linux虚拟文件系统所定义的客体super block(超级块)、inode(索引结点)和file(文件)用来封装底层文件系统开发需要的接口设置的三类文件系统钩函数;

进程钩函数,用于控制对负责内核进程调度的客体task_struct所包含的进程的基本信息(如用户和用户组ID(标识)、资源限制、调度策略和优先级)的访问;

网络钩函数,用于对网络连接进行安全管控,设置在套接字和应用层、数据包的传输、网络层、网络设备、网络连接这些关键点;

进程间通信钩函数,用于针对不同的Web OS平台,设计相应的进程间直接通信的钩函数,因为有的Web OS系统,如Firefox OS不允许进程间的直接通信。

303、增加一个通用的安全系统调用sys_security(),所述系统调用允许所述Flask安全模块为安全相关的应用编写新的系统调用,包含:模块描述符、系统调用描述符、参数列表三个参数(即sys_security(unsigned int id,unsigned int call,unsignedlong*args))

在具体应用中,所述Flask安全模块为安全相关的应用编写新的系统调用的具体实现可根据特定的系统进行设计。

304、提供注册和注销安全模块的函数。

在具体应用中,所述步骤304可以对于所选择的安全策略模块,通过register_security()在Flask安全模块注册,具体可包括:通过设置一个全局操作security_ops,让内核查询和所选择的安全策略模块所有相关的钩子函数;一旦安全策略模块被加载,它成为系统的安全策略的一部分,不会被后续策略模块覆盖,直到它被unregister_security()函数注销;在一个安全策略模块注销后,钩子将被替换为默认值,所述默认值表示什么都不做;在同时支持多个安全策略模块时,后加载的安全策略模块通过函数mod_reg_security()注册到前一个安全策略模块,并通过mod_unreg_security()取消注册。

305、定义针对Web OS的安全策略组。

在具体应用中,所述步骤305可以包括:

对于主体(一般是进程)对客体(如文件、管道、目录等)的访问请求,根据安全域中定义的安全级来进行访问控制,包括:根据应用的类型将主体划分为三类Sw,、Sl,和Sc;可信主体集合ST=Sc,Sl代表Web应用的本地代码或他们相应的操作,Sw代表远程代码或他们的操作;根据客体的类型和存储特点将客体划分为四类Ou、Op、Os和Ov,Ou代表一般用户空间域,Op代表受信任用户空间域,Os代表系统空间域,Ov代表病毒保护域,并实施如下的访问控制:

自主安全性:Si∈S,Oj∈O,Si能够以x方式访问Oj,当且仅当x∈Mij,其中,S为主体集合,i=1,…,n,n为主体集合S中的主体个数,O为客体集合,j=1,…,m,m为客体集合O中的客体个数,Mij为访问矩阵,Mij存储主体Si对客体Oj的访问模式;

简单安全性:Si∈S,Oj∈O,Si能够读Oj,当且仅当其中,L(Si)为主体Si的安全标记集合,L(Oj)为客体Oj的安全标记集合;

自由写特性:Si∈S,Oj∈O,Si能够写Oj,当且仅当

严格写特性:Si∈S,Oj∈O,Si能够写Oj,当且仅当

域间隔离公理:对于所有的主体和客体,当前访问状态(Si,Oj,x)满足:

(1)Oj∈Ou且Si∈Sl,那么x∈{a,w,r,e},其中,Ou表示,Sl表示,x表示当前访问方式,{a,w,r,e}为访问方式集合,a表示访问方式为只写,w表示访问方式为读写,r表示访问方式为只读,e表示访问方式为执行;

(2)Oj∈Ou且Si∈Sw,那么x=e,其中,Sw表示;

(3)Oj∈Ou∪Os且Si∈ST,那么x∈{a,w,r,e},Os表示,ST表示可信主体集合;

(4)Oj∈Os且Si∈Sw∪Sl,那么x=e;

(5)Oj∈Ov,如果Si=Un,n为特定值,那么x∈{a,w},其中,Ov表示,Un表示第n特权用户,a表示访问方式为只写,w表示访问方式为读写;

(6)Oj∈Os,如果Si=Um,m为特定值,那么x∈{a,w},其中,Um表示第m个特权用户;

可信主体最小权限公理:对于特权操作St=u1∪u2∪u3∪u4∪…∪un,由角色映射函数RA将它们映射到不同的角色中,u1,…,ui,…,un表示特权,并把这些角色赋予系统中的指定用户,用U1,U2,…,Um表示得到RA(ui)=Ui;这样,操作系统中就存在有m个特权用户,这些特权用户共同完成系统的特权操作,每个特权用户Ui只有完成其工作所需的最小特权,而不能独自控制整个系统,P(Ui)=min(∑uj|1≤j≤n),1≤i≤m且

其中,所述应用的类型,包括:本地打包存储并安装的系统应用、Web应用的本地代码和Web应用的远程代码。

其中,所述客体的类型和存储特点,包括:一般用户空间域,受信任用户空间域,系统空间域和病毒保护域。

其中,符号元素的约定可参照下述表1。

表1

306、将安全相关的所有功能加入到Flask安全模块中。

通过本实施例所述方法,能够实现在移动Web系统中构建Flask安全模块,可以解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题,通过将Flask体系应用于移动Web操作系统中,制定了相应的强制访问控制策略组,能够实现基于安全标识或安全策略组的强制访问控制,支持可变通的动态策略,将策略实施与策略决策分开,客体管理器负责策略实施,安全服务器负责策略决策,在一个系统的安全策略需要修改的时候,不需要修改引用监控器等其他关键组件,只需要更新安全策略服务器中存储的策略即可,提高了移动Web系统的安全性。此外,将Flask安全模块独立,还可以支持权限加载和注销机制,并且相对于权能体系提供更高的系统执行效率。

本发明实施例还提供了一种移动Web系统,包括:上述Flask安全模块。

本实施例的移动Web系统,可以解决当前移动Web系统普遍采用自主访问控制带来的安全性不足的问题,通过将Flask体系应用于移动Web操作系统中,制定了相应的强制访问控制策略组,能够实现基于安全标识或安全策略组的强制访问控制,支持可变通的动态策略,将策略实施与策略决策分开,客体管理器负责策略实施,安全服务器负责策略决策,在一个系统的安全策略需要修改的时候,不需要修改引用监控器等其他关键组件,只需要更新安全策略服务器中存储的策略即可,提高了移动Web系统的安全性。此外,将Flask安全模块独立,还可以支持权限加载和注销机制,并且相对于权能体系提供更高的系统执行效率。

本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置/系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号