首页> 中国专利> 一种基于安全认证标识的系统安全认证方法和装置

一种基于安全认证标识的系统安全认证方法和装置

摘要

本发明提供一种基于安全认证标识的系统安全认证方法,包括以下步骤:接收用户请求,其中所述用户请求包括用户会话和请求的接口方法,基于所述请求的接口方法生成对应的标签,以所述标签作为键值从安全认证标识缓存中获取该接口功能的安全认证标识,从所述用户会话中获取用户的安全认证列表,当所述用户安全列表中存在所述安全认证标识时,通过该用户请求,在软件的开发阶段可简化开发人员提取安全认证SQL的复杂度和繁琐程度,在实施人员部署系统阶段和运维阶段可简化服务上下文环境关联复杂度,降低服务部署和系统配置要求,提高了效率。

著录项

  • 公开/公告号CN112231686A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 城云科技(中国)有限公司;

    申请/专利号CN202011124595.3

  • 申请日2020-10-20

  • 分类号G06F21/44(20130101);G06F21/62(20130101);G06F16/23(20190101);G06F16/242(20190101);

  • 代理机构32260 无锡市汇诚永信专利代理事务所(普通合伙);

  • 代理人李珍珍

  • 地址 310052 浙江省杭州市滨江区长河街道江南大道588号恒鑫大厦主楼17层、18层

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本发明涉及互联网信息领域,特别涉及一种基于安全认证标识的系统安全认证方法和装置。

背景技术

软件,是指与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。随着智能手机的发展和日益普及,软件还包括安装在移动设备上的系统及应用程序,其在实际生活中的应用越来越广泛。然而保证软件的安全性,使其能够确保在授权范围内合法被使用、而且不受到恶意攻击或者篡改、或者,即便受到恶意攻击时依然能够继续正确运行,是对软件安全的最基本要求,故,对应软件应配置软件安全认证体系。

目前,软件安全认证体系大多还是基于地址路径进行安全认证。具体的认证过程如下:当用户点击软件中的某个功能时,安全认证框架获取该功能所对应的地址路径以及用户的授权地址路径,对两地址路径进行匹配进而判断该用户是否有访问权限。然而这种方式存在着难以避免的技术缺陷:运维工程师需要配置服务部署的上下文路径前缀,然后更新服务位于数据库里的安全认证权限表的菜单接口的链接地址,将上下文路径前缀拼接到菜单接口的地址前,而软件系统中往往会有成百上千个菜单接口地址都需要安全认证服务,这就会带来繁琐的地址配置更新,无疑加大了运维人员的配置压力,同时繁杂的地址配置需要占有大数量的接口,且不便于接口的管理。

发明内容

本发明的目的在于提供一种基于安全认证标识的系统安全认证方法和装置,该系统安全认证方法基于安全认证标识对用户请求进行安全认证,在软件的开发阶段可简化开发人员提取安全认证SQL的复杂度和繁琐程度,在实施人员部署系统阶段和运维阶段可简化服务上下文环境关联复杂度,降低服务部署和系统配置要求,提高了效率。

为实现以上目的,本技术方案提供一种基于安全认证标识的系统安全认证方法,包括以下步骤:接收用户请求,其中所述用户请求包括用户会话和请求的接口方法,基于所述请求的接口方法生成对应的标签,以所述标签作为键值从安全认证标识缓存中获取该接口功能的安全认证标识,从所述用户会话中获取用户的安全认证列表,当所述用户安全列表中存在所述安全认证标识时,通过该用户请求。

根据第二方面,本技术方案提供一种基于安全认证标识的系统安全认证装置,包括安全认证标识配置单元,用于给接口功能配置对应的安全认证标识,其中所述安全认证标识至少包括以下属性信息:编码、功能名称、权限分类以及是否认证;系统安全认证开关,用于开启或关闭系统安全认证方法,以及,配置会话标识容器内的信息,其中所述安全认证开关至少有以下配置信息:会话,描述,权限分类;安全认证注册器,用于当所述系统安全认证开关开启时,初始化安全认证处理器和安全认证配置器,并注册到应用容器的处理链路上;安全认证处理器,用于接收用户请求以及执行上述所述的基于安全认证标识的系统安全认证方法进行安全认证处理;安全认证配置器,用于将注册的安全认证处理器配置到所述应用容器的处理链路上;用户登录安全认证信息加载装置:依据用户标识查找系统配置给该用户的安全认证列表设置到用户会话中,设置的键为会话标识信息,设置的值为用户的安全认证列表。

根据第三方面,本技术方案提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上提到的基于安全认证标识的系统安全认证方法。

根据第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上提到的基于安全认证标识的系统安全认证方法。

相较现有技术,本技术方案具有以下的特点和有益效果:

1、采用可描述接口功能信息的安全认证标识,利用安全认证标识的编码信息替换了传统的地址路径,且安全认证标识和接口为多对多的关系,可在同一个接口上配置多个安全认证标识,一个安全认证标识可标识多个接口,提高接口的复用率。

2、基于编码信息进行安全认证处理,取代了传统的以地址进行认证的方式,并可预留自定义安全认证处理链接口以方便业务系统进行附加鉴权处理。

附图说明

图1是本发明的一实施例的安全认证的处理流程图。

图2是本发明的一实施例的安全认证处理典型的应用场景。

图3开发阶段的安全认证标识的配置。

图4用户登录与安全认证信息加载流程。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。

本方案提供一种利用安全认证标识取代传统的地址路径进行软件安全认证的方案,区别于传统的需要将上下文路径前缀拼接到菜单接口地址前的繁琐地址路径配置方式,安全认证标识采用编码属性的方式,可以多对多的方式对应接口,减轻运维人员的配置工作。

具体的,本方案所指的安全认证标识用于描述接口功能及其信息,在定义接口功能时编码对应的安全认证标识的属性信息。即,通过编码安全认证标识的属性信息来对应不同的接口功能,这样可达到安全认证标识和接口是多对多的关系,即一个接口功能可以标识多个安全认证标识,一个安全认证标识也可标注多个接口功能,标识一个功能集合。

具体的,所述安全认证标识编码配置至少包括以下属性信息:编码code、功能名称name、权限分类privilegeType以及是否认证validate;其中所述安全认证标识的所述编码code用于标识接口功能的代码,所述安全认证标识的所述名称name用于描述接口功能的名字,所述安全认证标识的所述权限分类privilegeType用于描述接口功能的权项,所述安全认证标识的所述是否认证validate用于标识是否需要认证,若该属性为真true时,表示访问该接口时需要进行安全认证,当为假false时,表示不需要认证。

示例性的,以下安全认证标识标识接口功能A:@PrivilegeAnnotation(name=“功能A”,privilegeType=PrivilegeType.PLATFORM,code=“10010101”,validate=true),具体的,该安全认证标识标识该接口功能的名称为“功能A”,权限分类为“管理侧权限”,接口功能的编码为“10010101”,且访问该接口时需要进行安全认证。

示例性的,以下安全认证标识标识一个功能集合,@PrivilegeAnnotation(name=“功能A”、“功能B”、“功能C”,privilegeType=PrivilegeType.PLATFORM,code=“10010101”,validate=true)。

以上为所述安全认证标识的内容介绍。

另外,本方案的系统安全认证方法的实现还需要配置安全认证开关,其中所述安全认证开关是用于开启或关闭本方案的系统安全认证方法和系统,以及进行安全认证信息的配置,比如会话标识容器中的信息配置,这个开关开启的时候可以配置多个,用于区分不同的系统权限认证。

其中所述安全认证开关至少有以下配置信息:会话sessionKey,描述notes,权限分类privilegeType;其中所述会话sessionKey用于将用户的认证信息放在session里的key键名称,其中所述描述notes用于描述功能,其中所述权限分类privilegeType用于描述用户的权限,比如用户侧权限、管理侧权限。

其中所述安全认证开关也可以配置多个,当安全认证需要有多种划分的话,可以配置多个@EnablePrivilegeAuthorization,用@EnablePrivilegeAuthorizations框起来表示这是一组配置:

@EnablePrivilegeAuthorizations({@EnablePrivilegeAuthorization(sessionKey=“manager_privilege”,notes=“后台管理权限开关配置”,privilegeType=PrivilegeType.MANAGER),@EnablePrivilegeAuthorization(sessionKey=“user_privilege”notes=“用户侧功能权限配置”,privilegeType=PrivilegeType.PLATFORM)})

本方案提供一种基于安全认证标识的系统安全认证方法,包括以下步骤:

接收用户请求,其中所述用户请求包括用户会话和请求的接口方法,基于所述请求的接口方法生成对应的标签,以标签作为键值从安全认证标识缓存中获取该接口功能的安全认证标识,从所述用户会话中获取用户的安全认证列表,当所述用户安全列表中存在所述安全认证标识时,通过该用户请求。

具体的,基于请求的接口方法生成对应的标签包括:获取接口方法的包名、类名、方法名进行拼接,并获取所述接口方法的参数类型按顺序拼接,由于该编码规则为幂等规则,对同一个接口进行编码将生成相同的接口方法标签。

具体来说,标签至少包括以下参数:包名、类名、接口方法名以及接口方法参数类型,其中所述包名指的是软件package的名字,类似于目录,其中所述类名指的是文件名字,其中所述接口方法名指的是文件里面的方法的名字,其中所述接口方法参数类型指的是方法里面的输入参数的类型;由于以上四个信息能够满足编码规则幂等性,每次对同一个接口方法进行签名都能得到相同的标签。

标签的数据形式样例:

cn.com.citycloud.account.AccountController.queryUser.Integer;其中cn.com.citycloud.account是软件包名,AccountController是文件名,queryUser是方法名,Integer是参数类型。

其中从所述安全认证标识缓冲中获取所述安全认证标识的步骤中,若无法获取安全认证标识,则从接口上获取安全认证标识列表,以接口方法标签作为键key,以安全认证标识列表为value,并将该安全认证标识列表的安全认证标识放入所述安全认证标识缓冲中,并返回安全认证标识列表。

本方案提供的系统安全认证程序启动后,用户访问前,安全认证标识缓存是空的,当接口被第一次访问时,程序会对该接口进行编码并提取安全认证标识(开发人员可以标注多个安全认证标识,以复用功能),如该接口标注了多个安全认证标识,则提取到一组标识,也就是一个安全认证标识列表,所述安全认证标识列表内的元素就是安全认证标识,然后将接口编码和提取到的安全认证标识列表写入到所述安全认证标识缓冲中,那么再次访问就可以直接从所述安全认证标识缓冲获取所述安全认证标识。

其中,从用户会话中获取用户的安全认证列表包括:

根据所述安全认证标识的权限分类从会话标识容器中获取会话标识信息,其中所述权限分类与所述会话标识信息预先被设置为键值对,根据所述会话标识信息从所述用户会话中获取用户的安全认证列表。

其中所述安全认证列表表示该用户的访问权限,以对应该用户权限的接口功能的编码为内容组成所述安全认证列表,以所述会话标识信息为key键值,存入所述用户会话中。

如上例安全认证配置开关配置的两个@EnablePrivilegeAuthorization,privilegeType=PrivilegeType.MANAGER这个类型对应的会话标识信息就是manager_privilege,privilegeType=PrivilegeType.PLATFORM这个类型对应的会话标识信息就是user_privilege。

示例性的,若某用户的会话标识信息为user-privilege,而该用户仅仅拥有接口功能A和接口功能B的访问权限,则仅仅获取接口功能A和接口功能B的编码为10010101,10010102,得到的安全认证列表为{‘10010101’,’10010102’},以user-privilege为key。

其中所述权限分类与所述会话标识信息预先被设置为键值对:例如权限若为管理后台功能,就对应有管理后台功能的会话标识信息,会话标识容器里面存的数据结构例如:{PrivilegeType.PLATFORM=user-privilege},则若权限分类为:PLATFORM,那么获取来对应的会话标识信息user-privilege,其中会话标识容器的作用是告诉处理器应该从用户会话的哪个字段获取用户的权限分类。

用户在登录软件后加载用户权限,得到用户权限,以会话标识信息作为键,以用户的安全认证列表作为值,放到用户会话里,校验的时候,以所述用户权限取用户的所述安全认证列表。对应的,该装置需要配置用户登录安全认证信息加载装置:依据用户标识查找系统配置给该用户的安全认证信息,将读取到的用户的所述安全认证信息,设置到所述用户会话中,设置的键为上述系统安全认证开关配置的会话标识信息的值,设置的值为读取到的用户的所述安全认证信息,其中用户的所述安全认证信息为上述所述的用户的安全认证列表。

其中一个示例性的,用户在登录后加载用户权限,将user-privilege作为键,用户的安全认证列表为值,放到用户的用户会话里,校验的时候,通过user-privilege获取用户的安全认证列表。

其中,通过比对所述安全认证列表的元素和所述安全认证标识的过程如下:

判断所述安全认证列表中是否有当前的安全认证标识,如果有权限访问则直接通过请求,不进行下一步处理,如果无权限则进行下一步。

示例性的,若用户的安全认证列表为{‘10010101’,’10010102’},此时的接口功能A的安全认证标识@PrivilegeAnnotation(name=”功能A”,privilegeType=PrivilegeType.PLATFORM,code=”10010101”,validate=true),则判断对应接口功能A,该用户请求是合法的请求,放过该请求;接口C的安全认证标识@PrivilegeAnnotation(name=”功能C”,privilegeType=PrivilegeType.PLATFORM,code=”10010103”validate=true),则判断对应接口功能C,该用户请求是未经授权的,用户请求将被拦截并返回。

在本方案的一实施例中,如果有自定义安全认证处理链则执行安全认证处理链上的处理,如果没有自定义安全认证处理链则返回无权限。

本方案的基于安全认证标识的系统安全认证方法在安全认证处理器上进行,为实现以上方法,该安全认证处理器至少保存以下信息:1.安全认证开关信息2.安全认证标识缓存,其中安全认证标识缓存中的数据结构为键值对(key=value)的形式,该安全认证标识缓存用于在处理安全认证过程中缓存接口配置的安全认证标识;3.会话标识容器,其中会话标识容器中的数据结构为键值对(key=value)的形式,其中会话标识容器中存储有权限和权限对应的会话标识信息,而此类信息由安全认证开关上配置,4.自定义安全认证处理链,依赖spring容器自动注入,自定义安全认证处理链用来扩展应用层自身的额外的权限判断。

另外,为了保证该基于安全认证标识的系统安全认证方法在应用容器的处理链路上正常运行,还需要配置安全认证配置器和安全认证注册器,该安全认证配置器的作用是当系统安全认证开关打开的时候,其将会发生初始化动作,将安全认证处理器、安全认证配置器进行初始化,初始化相关参数信息,并注册到应用容器的处理链路上;该安全认证配置器的作用是将上述安全认证注册器注册的安全认证处理器配置到容器中的处理链路上,使其生效发挥作用。

该基于安全认证标识的系统安全认证方法在应用服务的服务启动阶段时,将安全认证配置开关、安全认证注册器、安全认证处理器等配置信息的初始化和注册到web容器中。在应用系统提供服务阶段,安全认证处理器将对用户请求进行安全认证拦截和处理,依据用户自身的权限信息和系统配置的权限信息进行比对,进而进行安全认证识别。

另外,为了简化开发阶段开发人员提取安全认证SQL的复杂度和繁琐程度,本方案设置安全认证标识信息提取装置,该安全认证标识信息提取装置辅助开发人员在接口定义完成后,可以方便的提取所有接口上标注的安全认证标志信息,并生成SQL语句,写入到数据库的安全认证表中,减少开发人员提取安全认证信息的工作量。

其中所述安全认证表至少包括关键字段:安全认证标识编码code、功能名称name、类型type、排序sort no,系统标识system code,privilegeType用来区分不同的权限分类。

该安全认证标识信息提取装置的提取过程如下:在系统启动阶段,将扫描带有安全认证标识的接口,并提取安全认证标识信息,按照功能和子功能生成插入的SQL语句和更新的SQL语句,该提取装置以接口的形式提供,访问该装置的特定接口,就能够获取到安全认证标识信息和SQL信息。

根据本方案的第二方面,提供一种基于安全认证标识的系统安全认证装置,该系统认证装置作为载体实现上述系统安全认证方法,该系统安全认证装置至少包括:

安全认证标识配置单元,用于给接口功能配置对应的安全认证标识,其中所述安全认证标识至少包括以下属性信息:编码code、功能名称name、权限分类privilegeType以及是否认证validate。

系统安全认证开关,用于开启或关闭系统安全认证方法以及进行配置安全认证信息,比如会话标识容器中的信息配置,其中所述安全认证开关至少有以下配置信息:会话sessionKey,描述notes,权限分类privilegeType。

安全认证注册器,用于当系统安全认证开关开启时,初始化安全认证处理器和安全认证配置器,并注册到应用容器的处理链路上。

安全认证处理器,用于接收用户请求以及利用以上述安全认证方法进行安全认证处理。

安全认证配置器,用于将安全认证注册器注册的安全认证处理器配置到应用容器的所述处理链路上。

用户登录安全认证信息加载装置:依据用户标识查找系统配置给该用户的安全认证信息,将读取到的用户的安全认证信息,设置到用户的请求会话中,设置的键为上述系统安全认证开关配置的会话sessionKey的值,设置的值为读取到的用户的安全认证信息,作为安全认证列表。

在一些实施例中,该基于安全认证标识的系统安全认证装置额外包括安全认证标志信息提取装置,用于辅助开发人员在接口定义完成后,可以方便的提取所有接口上标注的安全认证标志信息,并生成SQL语句,写入到数据库的安全认证表中,减少开发人员提取安全认证信息的工作量。

以下结合图1到图4介绍具体的实施例:

本申请所述的系统安全认证方法和装置在应用服务的启动阶段和提供服务阶段如图1所示。服务启动阶段,进行安全认证配置开关、安全认证注册器、安全认证处理器、安全认证标识信息提起装置等配置信息的初始化和注册到web容器中。在应用系统提供服务阶段,安全认证处理器将对用户请求进行安全认证拦截和处理,依据用户自身的权限信息和系统配置的权限信息进行比对,进而进行安全认证识别。

图2展示了本申请实施例中所述方法和装置的典型应用场景:在一个web页面中,有功能A,功能B,功能C。服务端有三个接口提供对应的功能。当用户访问功能A时,浏览器发起请求,访问功能A,服务器端应该对这个请求进行安全认证,识别是否允许访问,允许访问则调用接口功能A,否则返回无权限访问接口功能信息。

如图3所示,在接口功能A上进行安全认证标识标注,如

@PrivilegeAnnotation(name=”功能A”,privilegeType=PrivilegeType.PLATFORM,code=”10010101”validate=true)依次类推在接口功能B,接口功能C上进行安全认证标识信息标注:

@PrivilegeAnnotation(name=”功能B”,privilegeType=PrivilegeType.PLATFORM,code=”10010102”validate=true)

@PrivilegeAnnotation(name=”功能C”,privilegeType=PrivilegeType.PLATFORM,code=”10010103”validate=true)

可以在启动类上配置安全认证开关,如@EnablePrivilegeAuthorization(sessionKey=”user-privilege”,privilegeType=PrivilegeType.PLATFORM,notes=”用户权限控制开关”)

在图1所示的服务启动阶段,安全认证开关将被读取,后续进行两个动作,第一个动作:加载安全认证注册器,注册器将初始化并将安全认证处理器注册到web容器内并将系统安全认证开关的配置信息注入到安全认证处理器内,同时将安全认证配置器注册到web容器内。第二个动作:初始化安全认证标识信息提取装置,提取认证信息,并生成SQL,插入到安全认证信息表中。生成的SQL信息如下:

INSERT INTO[安全认证信息表]

(code,name,type,parent_id,sort_no,system_code)

values(‘10010101’,’功能A’,’0’,’1’,’1001’),

(‘10010102’,’功能B’,’0’,’2’,’1001’),

(‘10010103’,’功能C’,’0’,’3’,’1001’)

图4所示为本申请用户登录与安全认证信息加载流程;依据上述配置假设用户仅拥有功能A和功能B的访问权限,在加载用户安全认证信息清单时,将只获取到10010101,10010102两个编码,组装成一个列表List,{‘10010101’,’10010102’}并以user-privilege作为key放入到用户的会话session中。

在图1所示的提供服务阶段结合图2所示,安全认证处理器的处理行为和步骤如下:

当浏览器对功能A发起请求时,请求到达服务器端,将被安全认证处理器拦截,安全认证处理器将从用户会话中获取安全认证信息清单列表List,{‘10010101’,’10010102’},从安全认证标识缓存中获取功能A的安全认证信息@PrivilegeAnnotation(name=”功能A”,privilegeType=PrivilegeType.PLATFORM,code=”10010101”validate=true),通过比对List的元素和功能A的安全认证信息,进而判断出该请求是合法的请求,放过该请求。请求将达到功能A并继续进行后续的业务逻辑处理。当浏览器对功能C发起请求时,请求到达服务器端,亦将被安全认证处理器拦截,安全认证处理器将从用户会话中获取安全认证信息清单列表List,{‘10010101’,’10010102’},从安全认证标识缓存中获取功能C的安全认证信息@PrivilegeAnnotation(name=”功能C”,privilegeType=PrivilegeType.PLATFORM,code=”10010103”validate=true),通过比对List的元素和功能A的安全认证信息,进而判断出该请求是未经授权的请求,请求将被拦截并返回{“code”:”9900”,”message”:”该功能未经授权,无法访问”}信息给浏览器。

该实施例实施过程不再涉及功能URL地址,将安全认证和URL地址解耦。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以上基于安全认证标识的系统安全认证方法所对应的流程步骤。发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

作为另一方面,本方案提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的基于安全认证标识的系统安全认证方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明的系统中限定的上述功能。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号