CN105577657A - 一种ssl/tls算法套件的扩展方法 - Google Patents
一种ssl/tls算法套件的扩展方法 Download PDFInfo
- Publication number
- CN105577657A CN105577657A CN201510959201.9A CN201510959201A CN105577657A CN 105577657 A CN105577657 A CN 105577657A CN 201510959201 A CN201510959201 A CN 201510959201A CN 105577657 A CN105577657 A CN 105577657A
- Authority
- CN
- China
- Prior art keywords
- client
- algorithm
- algorithms library
- interface
- server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明所提供的一种SSL/TLS算法套件的扩展方法,包括步骤:A、客户端根据其SSL/TLS算法库形成算法套件列表;B、服务器接收所述算法套件列表,从该算法套件列表中确定一算法,将确定的结果发送至客户端;C、客户端通过算法库的不同接口接收所述算法套件的各个参数信息,并通过所述各个接口将所述算法套件各个参数信息传递给所述算法库进行对应的验证、运算等处理;D、所述验证通过后访问受SSL/TLS保护的站点。本申请中扩展算法套件时不需要对客户端进行重新编辑,将算法套件的接口标准化,利用本申请中涉及的各个接口的不同功能实现算法套件扩展,从而降低成本。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种SSL/TLS算法套件的扩展方法。
背景技术
访问受SSL/TLS协议保护的站点时,服务器用自己支持的算法套件列表和客户端软件发送过来的算法套件列表匹配,确定密钥协商算法。现有的客户端浏览器软件固定了算法套件列表为TLS1.0、TLS1.1和TLS1.2中所列出来的算法。随着计算能力的不断进步和密码学的发展,新的密码算法套件需要增加进来,当服务器增加不在算法套件列表中的算法套件时,由于算法列表和实现都在硬编码程序中,扩展算法套件需要修改代码,重新编译发布程序来支持新的算法。
现有TLS客户端实现扩展算法套件具有以下缺点:
1、模块性不够清晰,TLS相关功能和其他应用功能混合实现在一起,当TLS功能需要更新的时候,即便是一点小改动,都需要对整个客户端程序进行重新发布升级,操作复杂成本高;
2、TLS功能实现手段单一,无法充分利用各种先进的加密库和硬件密码设备来加速整个密码运算过程;
3、包含的密码运算功能不能做动态删减以适应不同的应用场景,优化出不同的方案来充分利用资源。
发明内容
有鉴于此,本发明的主要目的在于,提供一种SSL/TLS算法套件的扩展方法,包括步骤:
A、客户端根据其SSL/TLS算法库形成算法套件列表;
B、服务器接收所述算法套件列表,从该算法套件列表中确定一算法,将确定的结果发送至客户端;
C、客户端通过算法库的不同接口接收所述算法套件的各个参数信息,并通过所述各个接口将所述算法套件各个参数信息传递给所述算法库进行对应的验证处理;
D、所述验证通过后访问受SSL/TLS保护的站点。
由上,本申请中扩展算法套件时不需要对客户端进行重新编辑,将算法的接口标准化,利用本申请中涉及各个接口的不同功能实现对于SSL/TLS算法套件的扩展,增加新的密码算法套件不需要开发单独的一套服务器端和客户端,只需要提供一个算法套件动态库,得到现有公开程序厂商的代码签名就能在使用现有程序实现新的独有的算法,降低成本。
可选的,步骤B后还包括:客户端依据所述服务器确定的结果,加载该算法套件的算法库,并通过待扩展算法的算法库的pushmessage接口将步骤A与步骤B中客户端与服务器的交互信息传入所述算法库,所述算法库使用杂凑算法对交互信息进行杂凑运算,保存杂凑结果。
可选的,步骤C包括:
C1:服务器向客户端发送服务器密钥交换信息,客户端通过算法库的serverkeyexchange接口将服务器密钥协商信息传入算法库;
C2:服务器向客户端发送证书请求信息,客户端通过算法库的clientcertificate接口接收所述证书请求信息,调取预存的客户端证书数据,并将所述客户端证书数据与证书私钥进行关联;
C3:客户端调用算法库的clientkeyexchange接口,算法库依据所述服务器密钥交换信息组装成客户端密钥交换信息包,发送给服务器;
C4:将步骤C1~C3中的服务器密钥交换信息、证书请求信息和客户端密钥交换信息通过算法库的pushmessage接口,所述算法库使用杂凑算法对传入的信息进行杂凑运算,保存杂凑结果;
C5:客户端调用算法库的certificateverify接口,采用算法库定义的签名算法,利用所述客户端证书对应的证书私钥对所有通过所述pushmessage接口得到杂凑结果进行签名;
C6:客户端调用算法库的finishmac接口,将所有通过所述pushmessage接口得到杂凑结果作为输入,采用算法库支持的杂凑算法计算验证码;
C7:客户端调用算法库的encryptmessage接口,将所述验证码进行加密,传输至服务器。
附图说明
图1为本发明的流程图。
具体实施方式
为克服现有技术存在的缺陷,本发明提供一种SSL/TLS算法套件的扩展方法,客户端访问受SSL/TLS保护的站点时,获取算法套件,利用本申请中涉及各个接口来实现将该算法套件添加以及与站点的交互,实现算法套件的即插即用,从而避免对于整个客户端程序进行重新修改及编译。
本实施例中,以客户端与服务器端的通信为例,对于在客户端中进行算法套件的扩展进行详细描述。
如图1所示,本发明所述对算法套件的扩展包括以下步骤:
S10:客户端扫描算法库,发起与服务器的握手请求,确定出本次握手使用的算法套件。
客户端访问受SSL/TLS保护的站点时,程序枚举本机上的SSL/TLS算法库,得到支持的算法套件列表,包括算法套件名称以及握手协议版本号,组装成clienthello握手信息,通过网络通道发送给服务器。例如,算法列表中包括A、B、C、D四组算法,其中算法A、B、C为原有算法,算法D为访问受SSL/TLS保护的站点时所需要扩展的算法。所述算法库是实现一个具体算法套件的动态库。
服务器接收到握手信息后进行算法的选择,本例中选择需要扩展的算法D,将其的选择作为serverhello握手信息回转给客户端,以响应clienthello握手信息。
客户端接收到serverhello握手信息后,获知服务器确认出的本次通信握手使用的密钥协商算法采用的是算法D。加载算法D的算法库,通过算法D算法库的pushmessage接口将clienthello握手信息和serverhello握手信息传入算法库,算法库使用本身固定的杂凑算法对传入的信息进行杂凑运算,保存杂凑结果以进行后续信息的杂凑运算。
pushmessage接口的意义在于,通过该接口接收的信息进行统一的杂凑运算并存储,杂凑运算的中间结果在后续握手过程中组织客户端证书验证信息和握手结束验证信息时候需要用到。
本实施例中D算法的算法库对应实现该功能的接口为pushmessage接口,例如对于其他算法,并不限于pushmessage接口,只要可以实现该功能的接口均可。对于以下出现的D算法的算法库中的其他接口,同样如此。
S20:服务器向客户端发送证书信息,客户端验证所述证书信息。
服务器向客户端发送证书信息,客户端通过算法D算法库的servercertificate接口将服务器证书传入算法库。进一步的,还包括对于证书的验证,包括对于证书本身是否被破坏的验证,以及证书是否被信任。
具体的,算法库依据系统中已经安装的根证书链来验证服务器端证书是否可信任。对服务器端证书本身的签名进行检验来确认是否被破坏。算法库依据自身的特征来检验证书的公钥算法的强度,和证书策略是否满足要求,国密算法都要求SM2参数在256bits以上。
S30:服务器向客户端发送密钥交换信息,算法库依据算法套件指定的算法进行验证,解析其中的数据。
服务器向客户端发送服务器密钥交换信息,客户端通过算法D算法库的serverkeyexchange接口将服务器密钥交换信息传入算法库,算法库依据算法套件指定的算法进行验证,解析其中的数据,并返回结果成功或者失败给程序。
专门使用serverkeyexchange接口来处理服务器密钥交换信息,可以适应不同密钥套件服务器密钥交换信息的不同处理方式,例如,支持国密e011算法库在这一步得到服务器的临时公钥,该临时公钥作为服务器密钥交换信息;支持国密e013算法库这一步得到服务器的对加密证书和握手信息的签名值,需验证所述签名是否通过,具体的,验证包括采用签名证书中的公钥对签名值进行验签。若通过则确定该签名为服务器密钥交换信息。由此减少程序复杂性,提高算法库的实现灵活性。
S40:服务器向客户端发送证书请求信息,客户端响应并回复。
服务器向客户端发送证书请求信息,客户端通过算法D算法库的clientcertificate接口传入证书请求信息,算法库解析证书请求信息,得到证书属性要求,调用算法库中预存的客户端证书数据,并将所述客户端证书数据与证书私钥进行关联,返回给客户端程序。最终将客户端证书数据发送给服务器端,向服务器端表明身份信息。
使用clientcertificate接口专门处理客户端证书,可以在不改变SSL/TLS通用协议的框架下,非常方便的扩展证书要求信息,可以增加多样化的要求,而对程序的复杂性没有增加。例如,采用IE浏览器时,Windows系统自定义证书库,其系统内部的监控程序定义了证书的位置以及与其匹配的私钥路径,因此IE浏览器可自动找到证书和私钥;而Firefox浏览器其内部自定义了证书以及私钥的位置,需要通过写入程序以进行枚举,从而获取证书和私钥。采用上述clientcertificate接口,只要支持该接口,即可通过本步骤过程获取到证书以及私钥。
S50:客户端组装客户端密钥交换信息包,发送给服务器。
客户端调用算法库的clientkeyexchange接口,算法库依据步骤S30中得到的服务器密钥交换信息,算法D的版本号以及算法库自身支持的密钥算法,检查是否满足生成客户端密钥交换信息的条件,如不满足返回失败。满足则调用生成密钥交换信息,组装成客户端密钥交换信息包发送给服务器。不同的算法库支持不同的算法套件,本步骤针对上述不同算法套件进行验证,例如国密e011算法库,需保证服务器发送过来的服务器密钥交换信息包括临时公钥;国密e013算法库需包含正确的服务器签名。
使用clientkeyexchange接口来计算密钥协商信息,可以方便算法库对协商算法进行优化和安全扩展,运算可以方便放在专用密码设备中(例如USBKey)计算,对客户端程序屏蔽了算法套件的复杂性,可以兼顾安全性和方便性。
需要说明的是,在步骤S10~S50中的所有计算得出的数据均需组装成SSL/TLS协议包,调用算法库的pushmessage接口,将组装后的SSL/TLS协议包传入算法库。其中数据包括步骤S10中的clienthello握手信息和serverhello握手信息;步骤S20中的证书信息;步骤S30中的服务器密钥交换信息;步骤S40中的证书请求信息和步骤S50中的客户端密钥交换信息。其目的是使此种接口的算法库可以完全兼容国际规范的SSL/TLS协议又可以方便的扩展特性,如支持国家密码局发布的SSLVPN规范。
S60:客户端对步骤S10~S50中的数据进行签名,与服务器端交互,取得服务器端的信任。
客户端调用算法库的certificateverify接口,采用算法库自身固定支持的算法套件定义的签名算法,利用步骤S40中所述的客户端通过算法库得到的客户端证书对应的私钥对此前步骤S10~S50中所有通过pushmessage接口得到信息的杂凑值进行签名,签名结果进行ASN.1编码。客户端发送结果给服务器端,取得服务器端的信任。
certificateverify接口的意义在于,通过算法库接口来处理客户端证书和对应私钥的密码运算,私钥运算的相关处理细节都封闭在算法库接口内部,方便扩展对私钥的存储介质(如智能卡)的调用方式,没有本接口的情况下,客户端程序要调用证书对应的私钥进行运算时,局限于微软公司定义的CSP接口和国际密码组织定义的PKCS11接口,如果要支持国家密码局定义的SKF接口,或者其他厂商或组织结构自定义的接口,都需要所有的客户端程序提供商修改源程序。
S70:客户端对步骤S10~S60中的信息计算验证码。
客户端调用算法库的finishmac接口,针对步骤S10-S60交互的所有信息的杂凑值作为输入,采用算法库根据自身固定支持的算法套件定义的杂凑算法来计算验证码。
finishmac接口意义在于,使用密钥的操作都可以从客户端程序中隔离开,密钥可以不出现在内存中而只在智能卡硬件中出现,方便客户端加强握手过程的安全性而不失灵活性,可以在不改动SSL/TLS框架下,灵活实现自定义的校验算法,如发现现有通用算法有问题,可以很快用新的算法库替换进去。
S80:对验证码进行加密,发送至服务器。
客户端调用算法库的encryptmessage接口计算握手加密校验信息,传入所述验证码,算法库根据自身固定支持的算法套件定义的加密算法处理数据,组装好加密后的数据包返回给客户端。
encryptmessage接口的意义在于方便对加解密算法的优化和算法更新替换,对调试SSL/TLS程序提供了方便性。
S90:服务器与客户端彼此校验验证码,验证通过,则算法D扩展成功,可以正常访问被保护的站点。
服务器依据与客户端的交互数据,同样计算出上述验证码(具体验证过程并非本申请重点,不再赘述),首先在服务器验证客户端计算的验证码是否匹配,若匹配,则将服务器自身计算出的验证码发给客户端,由客户端进行验证,客户端验证成功,则表示验证通过。算法D扩展成功,可以正常访问被保护的站点。
本发明,通过上述步骤,在访问受SSL/TLS保护的站点时,将算法的接口标准化,利于集成专用硬件密码设备,增加新的密码算法套件不需要开发单独的一套服务器端和客户端,只需要提供一个算法套件动态库,得到现有公开程序厂商的代码签名就能在使用现有程序实现新的独有的算法,降低成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种SSL/TLS算法套件的扩展方法,其特征在于,包括步骤:
A、客户端根据其SSL/TLS算法库形成算法套件列表;
B、服务器接收所述算法套件列表,从该算法套件列表中确定一算法,将确定的结果发送至客户端;
C、客户端通过算法库的不同接口接收所述算法套件的各个参数信息,并通过所述各个接口将所述算法套件各个参数信息传递给所述算法库进行对应的验证处理;
D、所述验证通过后访问受SSL/TLS保护的站点。
2.根据权利要求1所述的方法,其特征在于,步骤B后还包括:客户端依据所述服务器确定的结果,加载该算法套件的算法库,并通过待扩展算法的算法库的pushmessage接口将步骤A与步骤B中客户端与服务器的交互信息传入所述算法库,所述算法库使用杂凑算法对交互信息进行杂凑运算,保存杂凑结果。
3.根据权利要求2所述的方法,其特征在于,步骤C包括:
C1:服务器向客户端发送服务器密钥交换信息,客户端通过算法库的serverkeyexchange接口将服务器密钥协商信息传入算法库;
C2:服务器向客户端发送证书请求信息,客户端通过算法库的clientcertificate接口接收所述证书请求信息,调取预存的客户端证书数据,并将所述客户端证书数据与证书私钥进行关联;
C3:客户端调用算法库的clientkeyexchange接口,算法库依据所述服务器密钥交换信息组装成客户端密钥交换信息包,发送给服务器;
C4:将步骤C1~C3中的服务器密钥交换信息、证书请求信息和客户端密钥交换信息通过算法库的pushmessage接口,所述算法库使用杂凑算法对传入的信息进行杂凑运算,保存杂凑结果;
C5:客户端调用算法库的certificateverify接口,采用算法库定义的签名算法,利用所述客户端证书对应的证书私钥对所有通过所述pushmessage接口得到杂凑结果进行签名;
C6:客户端调用算法库的finishmac接口,将所有通过所述pushmessage接口得到杂凑结果作为输入,采用算法库支持的杂凑算法计算验证码;
C7:客户端调用算法库的encryptmessage接口,将所述验证码进行加密,传输至服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959201.9A CN105577657B (zh) | 2015-12-18 | 2015-12-18 | 一种ssl/tls算法套件的扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959201.9A CN105577657B (zh) | 2015-12-18 | 2015-12-18 | 一种ssl/tls算法套件的扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105577657A true CN105577657A (zh) | 2016-05-11 |
CN105577657B CN105577657B (zh) | 2017-10-24 |
Family
ID=55887314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510959201.9A Active CN105577657B (zh) | 2015-12-18 | 2015-12-18 | 一种ssl/tls算法套件的扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105577657B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257349A (zh) * | 2018-09-14 | 2019-01-22 | 北京天融信网络安全技术有限公司 | 一种单ssl服务支持多协议的方法及装置 |
CN109818916A (zh) * | 2017-11-22 | 2019-05-28 | 中兴通讯股份有限公司 | Ssl/tls代理及其协商方法、设备、计算机可读存储介质 |
CN111262880A (zh) * | 2020-02-18 | 2020-06-09 | 西安交通大学 | 基于用户区分的数据安全传输协商方法 |
CN114679260A (zh) * | 2021-12-20 | 2022-06-28 | 北京亿赛通科技发展有限责任公司 | 旁路审计兼容扩展主秘钥的加密数据方法、系统及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130895A1 (en) * | 2006-10-25 | 2008-06-05 | Spyrus, Inc. | Method and System for Deploying Advanced Cryptographic Algorithms |
CN104394179A (zh) * | 2014-12-18 | 2015-03-04 | 山东中创软件工程股份有限公司 | 支持国密算法的安全套接层协议扩展方法 |
CN104660592A (zh) * | 2015-02-04 | 2015-05-27 | 北京信安世纪科技有限公司 | 一种基于安全套接层协议特征的负载分发方法 |
-
2015
- 2015-12-18 CN CN201510959201.9A patent/CN105577657B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130895A1 (en) * | 2006-10-25 | 2008-06-05 | Spyrus, Inc. | Method and System for Deploying Advanced Cryptographic Algorithms |
CN104394179A (zh) * | 2014-12-18 | 2015-03-04 | 山东中创软件工程股份有限公司 | 支持国密算法的安全套接层协议扩展方法 |
CN104660592A (zh) * | 2015-02-04 | 2015-05-27 | 北京信安世纪科技有限公司 | 一种基于安全套接层协议特征的负载分发方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818916A (zh) * | 2017-11-22 | 2019-05-28 | 中兴通讯股份有限公司 | Ssl/tls代理及其协商方法、设备、计算机可读存储介质 |
CN109818916B (zh) * | 2017-11-22 | 2021-08-17 | 中兴通讯股份有限公司 | Ssl/tls代理及其协商方法、设备、计算机可读存储介质 |
CN109257349A (zh) * | 2018-09-14 | 2019-01-22 | 北京天融信网络安全技术有限公司 | 一种单ssl服务支持多协议的方法及装置 |
CN111262880A (zh) * | 2020-02-18 | 2020-06-09 | 西安交通大学 | 基于用户区分的数据安全传输协商方法 |
CN111262880B (zh) * | 2020-02-18 | 2021-10-08 | 西安交通大学 | 基于用户区分的数据安全传输协商方法 |
CN114679260A (zh) * | 2021-12-20 | 2022-06-28 | 北京亿赛通科技发展有限责任公司 | 旁路审计兼容扩展主秘钥的加密数据方法、系统及终端 |
CN114679260B (zh) * | 2021-12-20 | 2024-02-09 | 北京亿赛通科技发展有限责任公司 | 旁路审计兼容扩展主秘钥的加密数据方法、系统及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105577657B (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10164963B2 (en) | Enforcing server authentication based on a hardware token | |
EP2963958B1 (en) | Network device, terminal device and information security improving method | |
CN110770695A (zh) | 物联网(iot)设备管理 | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN106685973B (zh) | 记住登录信息的方法及装置、登录控制方法及装置 | |
US9559737B2 (en) | Telecommunications chip card | |
CN104486343A (zh) | 一种双因子双向认证的方法及系统 | |
US9137224B2 (en) | System and method for secure remote access | |
US20240080201A1 (en) | Systems and methods for enhanced mobile device authentication | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN107070931A (zh) | 云应用数据上传/访问方法、系统及云代理服务器 | |
CN105577657A (zh) | 一种ssl/tls算法套件的扩展方法 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN115580413B (zh) | 一种零信任的多方数据融合计算方法和装置 | |
CN109495458A (zh) | 一种数据传输的方法、系统及相关组件 | |
US11317288B2 (en) | Systems and methods for securing communication between a native application and an embedded hybrid component on an electronic device | |
CN116232683A (zh) | 一种工业微服务系统的认证方法、装置和计算机介质 | |
CN114726865B (zh) | 数据质押方法、系统、电子装置和存储介质 | |
CN113992353A (zh) | 登录凭证的处理方法、装置、电子设备及存储介质 | |
CN106850633A (zh) | 一种鉴权方法及装置 | |
CN115146284A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
Grammatopoulos | FIDO2/WebAuthn implementation and analysis in terms of PSD2 | |
CN112637122B (zh) | 用于通信单元主站访问控制的测试方法、响应方法及其系统 | |
US12062045B2 (en) | Systems and methods for verified communication between mobile applications | |
Rivera-Dourado | DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Ding Min Inventor after: Tang Tianqi Inventor after: Liu Zengshou Inventor after: An Xiaojiang Inventor before: Tang Tianqi Inventor before: Liu Zengshou Inventor before: An Xiaojiang |