CN108900301A - 基于.NET MVC的restful接口安全认证及报文混合加密方法 - Google Patents

基于.NET MVC的restful接口安全认证及报文混合加密方法 Download PDF

Info

Publication number
CN108900301A
CN108900301A CN201810546078.1A CN201810546078A CN108900301A CN 108900301 A CN108900301 A CN 108900301A CN 201810546078 A CN201810546078 A CN 201810546078A CN 108900301 A CN108900301 A CN 108900301A
Authority
CN
China
Prior art keywords
client
aes
key
message
encryption
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.)
Pending
Application number
CN201810546078.1A
Other languages
English (en)
Inventor
孙成通
曹兴会
莫仁超
董震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Financial Information Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Software Co Ltd filed Critical Suzhou Wave Intelligent Software Co Ltd
Priority to CN201810546078.1A priority Critical patent/CN108900301A/zh
Publication of CN108900301A publication Critical patent/CN108900301A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于.NET MVC的restful接口安全认证及报文混合加密方法,通过客户端ClientID及ClientSecret输入,获得访问权限;客户端生成AES密钥,并请求获得报文RSA加密公钥,然后对报文进行格式的转换,通过AES密钥对请求数据进行加密;同时,通过RSA公钥对AES密钥进行加密;然后对加密后的报文及经过RSA公钥加密后的AES密钥进行传输;服务器端对加密后的AES密钥进行解密得到AES密钥;再通过解密后的AES密钥对AES加密后请求数据进行解密,得到经过转换后的解密的请求数据;进行解析后做出相应的响应。本方法使用AES对称密码体制对传输数据加密,结合使用RSA不对称密码体制来传送AES的密钥,综合发挥AES和RSA的优点,避免了各自的缺点,实现了新的数据加密方案,使得数据传输更安全。

Description

基于.NET MVC的restful接口安全认证及报文混合加密方法
技术领域
本发明属于数据加密传输技术领域,具体涉及一种基于.NET MVC的restful接口安全认证及报文混合加密方法。
背景技术
随着Internet网的广泛应用,网络与我们的关系越来越密切,人们的社会行为方式和行为习惯逐渐变化,更喜欢通过线上的方式来处理业务,企业信息化建设迎来了更好的机会,传统的业务系统逐渐从原来的内网系统走向互联网,网络及数据安全显得尤为重要和迫切。网络安全可以通过网络安全部署来防护,但数据安全还要通过接口和报文加密,否则势必造成业务数据及个人信息泄露,给公司或个人带来损失。REST架构因其简单性和便捷性,特别是无状态请求可以由任何可用平台调用,受到越来越多企业的青睐。随着云计算和移动计算的兴起,许多企业在Windows系统平台构建了许多以MVC模式为基础的、REST架构的.NET WebAPI。但很多API(应用程序编程接口)因为没有设计有效的安全处理机制,存在很大的接口和数据风险,因此,需融合安全认证及数据加密技术,形成可靠的机制,对接口访问及数据内容进行充分防护。
而对于报文加密,目前的数据加密技术根据加密密钥类型可分私钥加密(对称加密)系统和公钥加密(非对称加密)系统。非对称加密由于加/解密钥不同(公钥加密,私钥解密),密钥管理简单,也得到了广泛应用。例如,RSA是非对称加密系统最著名的公钥密码算法,其密钥长度从40到2048位可变,密钥越长,加密效果越好,但加密解密的开销也大。基于RSA加解密速度慢,因此不适合大量数据文件加密,因此在网络中完全用公开密码体制传输机密信息没有必要,也不太现实。现有常用的对称密码算法是数据加密标准(DES)算法,但是由于DES密钥长度较短,已经不适合当今分布式开放网络对数据加密安全性的要求。
发明内容
为了解决现有技术的不足,本发明提供了一种基于.NET MVC的restful接口安全认证及报文混合加密方法。
本发明的目的通过以下技术方案来实现:
基于.NET MVC的restful接口安全认证及报文混合加密方法,包括作为服务端的认证服务器及资源服务器,与服务端电性连接的客户端,包括如下步骤,
S1、通过客户端ClientID及ClientSecret的输入,获得访问权限;
S2、客户端生成AES密钥,并向资源服务器请求报文RSA加密公钥;
S3、客户端对报文进行格式的转换,并通过AES密钥对转换后的请求数据进行加密;同时,通过RSA公钥对AES密钥进行再次加密;
S4、客户端对S3中加密后的报文及经过RSA公钥加密后的AES密钥进行传输至资源服务器;
S5、资源服务器使用RSA私钥对经过RSA公钥加密后的AES密钥进行解密得到AES密钥;
S6、经过解密后的AES密钥对AES加密后请求数据进行解密,得到经过转换后的解密的请求数据;
S7、对解密后的请求数据进行格式解析,传输至客户端做相应的响应。
优选地,所述S1访问权限的获取包括如下步骤,
S11、通过客户端进行ClientID及ClientSecret的输入;
S12、客户端将ClientID及ClientSecret发送给认证服务器以请求进入令牌;
S13、认证服务器对客户端的请求进行确认,无误后,向客户端提供访问令牌;
S14、客户端通过访问令牌进行后续的访问。
优选地,所述S3中客户端通过获取的RSA公钥对AES密钥进行加密,得到AES密文串。
优选地,所述S4中客户端将AES密文串作为http请求头参数,将加密后的请求数据作为请求体一起传输给资源服务器。
优选地,所述S5中信息的解密包括如下步骤:
S51、服务端响应客户端的http请求,读取http请求头,获client传过来的加密后的AES密钥,读取http请求体,获得client传过来的加密后的请求数据。
优选地,所述客户端设置有一个或一个以上。
优选地,所述S1中客户端将输入的信息打包转换为json格式。
优选地,所述认证服务器为OAuth2.0认证服务器。
本发明的有益效果体现在:1、在.NET MVC的restful接口上,使用OAuth2.0 开放授权协议的客户端模式更适合REST架构的.NET WebAPI认证访问。
2、使用AES对称密码体制对传输数据加密,对称高级数据加密标准AES作为新一代的高级加密标准,运行时不需要计算机有非常高的处理能力和大的内存,操作可以很容易的抵御时间和空间的攻击,在不同的运行环境下始终能保持良好的性能。这使AES将安全,高效,性能,方便,灵活性集于一体,成为网络数据加密的首选。
3、结合使用RSA不对称密码体制来传送AES的密钥,综合发挥AES和RSA的优点,同时避免各自的缺点,实现了一种新的数据加密方案,使得数据传输更安全。
附图说明
图1:本发明的加密流程示意图。
图2:本发明的构架示意图。
具体实施方式
以下结合实施例具体阐述本发明的技术方案,本发明揭示了一种基于.NET MVC的restful接口安全认证及报文混合加密方法,本发明的构架如图1所示,包括作为服务端的认证服务器与资源服务器,及与服务器端电性连接的客户端,所述客户端设置有一个或一个以上,可以为具有应用的手机或其他互联网应用端。所述服务器端包括OAuth2.0认证服务器、RESTful Web服务器。
为实现本发明的加密方法,需要搭建OAuth2.0认证服务器,然后制作Windows签名证书,并设置认证服务的加密证书、签名证书及令牌有效时间。部署.NET MVC的RESTfulAPI服务,加入OAuth2.0认证处理及Windows签名证书。接口访问时验证令牌是否有效,加入RSA公钥和私钥的生成方法及加解密处理方法,加入AES加解密处理机制。客户端加入令牌请求逻辑及AES密钥生成机制,加入RSA公钥对AES进行加密,加入AES加密请求报文机制,可通过POST方式进行报文传递。部署完成后,进行联调测试加密效果。
本发明整个访问及加密处理方法结合图2所示,具体包括如下步骤,
S1、通过客户端进行用户名和用户密码的输入,并对输入的信息进行格式的转换,本发明中将信息打包转换为json格式。
其中,在进行整个处理前,需要先向认证服务器进行访问权限的获取,包括如下步骤,
S12、客户端将ClientID及ClientSecret发送给认证服务器以请求进入令牌;
S13、认证服务器对客户端的请求进行确认,无误后,向客户端提供访问令牌;
S14、客户端通过访问令牌进行后续的访问。
S2、客户端生成AES密钥,并向资源服务器请求报文RSA加密公钥;
S3、客户端对报文进行格式的转换,并通过AES密钥对转换后的请求数据进行加密;同时,通过RSA公钥对AES密钥进行加密,得到AES密文串。
S4、客户端对S3中加密后的报文及经过RSA公钥加密后的AES密钥进行传输至资源服务器;具体的,所述客户端将AES密文串作为http请求头参数,将加密后的请求数据作为请求体一起传输给资源服务器。
S5、资源服务器使用RSA私钥对经过RSA公钥加密后的AES密钥进行解密得到AES密钥,相应的,即服务端响应客户端的http请求,读取http请求头,获client传过来的加密后的AES密钥,读取http请求体,获得client传过来的加密后的请求数据。
S6、经过解密后的AES密钥对AES加密后请求数据进行解密,得到经过转换后的解密的请求数据;
S7、对解密后的请求数据进行格式解析,传输至客户端做相应的响应。
本发明通过OAuth2.0授权认证及AES和RSA的混合报文加密,保证了平台服务对外提供接口的访问及数据安全,是接口服务的必要性安全措施,补充了之前的技术空白,确保了公司开发后的服务是安全的,避免了对外接口可能出现的个人或关键业务信息泄露及可能对公司造成可能的产品质量影响风险。
当然本发明尚有多种具体的实施方式,在此就不一一列举。凡采用等同替换或者等效变换而形成的所有技术方案,均落在本发明要求保护的范围之内。

Claims (8)

1.基于.NET MVC的restful接口安全认证及报文混合加密方法,包括作为服务端的认证服务器及资源服务器,与服务端电性连接的客户端,其特征在于:包括如下步骤,
S1、通过客户端ClientID及ClientSecret的输入,获得访问权限;
S2、客户端生成AES密钥,并向资源服务器请求报文RSA加密公钥;
S3、客户端对报文进行格式的转换,并通过AES密钥对转换后的请求数据进行加密;同时,通过RSA公钥对AES密钥进行再次加密;
S4、客户端对S3中加密后的报文及经过RSA公钥加密后的AES密钥进行传输至资源服务器;
S5、资源服务器使用RSA私钥对经过RSA公钥加密后的AES密钥进行解密得到AES密钥;
S6、经过解密后的AES密钥对AES加密后请求数据进行解密,得到经过转换后的解密的请求数据;
S7、对解密后的请求数据进行格式解析,传输至客户端做相应的响应。
2.如权利要求1所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述S1访问权限的获取包括如下步骤,
S11、通过客户端进行ClientID及ClientSecret的输入;
S12、客户端将ClientID及ClientSecret发送给认证服务器以请求进入令牌;
S13、认证服务器对客户端的请求进行确认,无误后,向客户端提供访问令牌;
S14、客户端通过访问令牌进行后续的访问。
3.如权利要求1所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述S3中客户端通过获取的RSA公钥对AES密钥进行加密,得到AES密文串。
4.如权利要求3所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述S4中客户端将AES密文串作为http请求头参数,将加密后的请求数据作为请求体一起传输给资源服务器。
5.如权利要求4所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述S5中信息的解密包括如下步骤:
S51、服务端响应客户端的http请求,读取http请求头,获client传过来的加密后的AES密钥,读取http请求体,获得client传过来的加密后的请求数据。
6.如权利要求1所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述客户端设置有一个或一个以上。
7.如权利要求1所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述S1中客户端将输入的信息打包转换为json格式。
8.如权利要求1所述的基于.NET MVC的restful接口安全认证及报文混合加密方法,其特征在于:所述认证服务器为OAuth2.0认证服务器。
CN201810546078.1A 2018-05-31 2018-05-31 基于.NET MVC的restful接口安全认证及报文混合加密方法 Pending CN108900301A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810546078.1A CN108900301A (zh) 2018-05-31 2018-05-31 基于.NET MVC的restful接口安全认证及报文混合加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810546078.1A CN108900301A (zh) 2018-05-31 2018-05-31 基于.NET MVC的restful接口安全认证及报文混合加密方法

Publications (1)

Publication Number Publication Date
CN108900301A true CN108900301A (zh) 2018-11-27

Family

ID=64343809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810546078.1A Pending CN108900301A (zh) 2018-05-31 2018-05-31 基于.NET MVC的restful接口安全认证及报文混合加密方法

Country Status (1)

Country Link
CN (1) CN108900301A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818746A (zh) * 2018-12-28 2019-05-28 深圳竹云科技有限公司 一种安全的提供restful接口的方法
CN111010385A (zh) * 2019-12-09 2020-04-14 山东浪潮商用系统有限公司 一种基于RESTful的安全交互方法
CN112153015A (zh) * 2020-09-09 2020-12-29 杭州安恒信息技术股份有限公司 多重加密的接口认证方法、装置、设备和可读存储介质
CN113794553A (zh) * 2020-11-25 2021-12-14 京东安联财产保险有限公司 数据传输方法、装置、电子设备和存储介质
CN114553553A (zh) * 2022-02-24 2022-05-27 蓝想大数据科技(上海)有限公司 一种混合加密通讯方法
CN115208650A (zh) * 2022-07-05 2022-10-18 上海江宇信息科技有限公司 基于云平台的数据安全实现方法、设备、介质及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767731A (zh) * 2015-03-12 2015-07-08 江苏中天科技软件技术有限公司 一种Restful移动交易系统身份认证防护方法
CN107231368A (zh) * 2017-06-22 2017-10-03 四川长虹电器股份有限公司 提升面向互联网开放的软件接口安全性的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767731A (zh) * 2015-03-12 2015-07-08 江苏中天科技软件技术有限公司 一种Restful移动交易系统身份认证防护方法
CN107231368A (zh) * 2017-06-22 2017-10-03 四川长虹电器股份有限公司 提升面向互联网开放的软件接口安全性的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHANZHU: "开放接口的安全验证方案(AES+RSA)", 《CSDN博客》 *
SO-COOLS: "移动开发之api接口的安全验证方案(AES+RSA)", 《手酷》 *
刻意练习: "理解OAuth2.0认证与客户端授权码模式详解", 《SEGMENTFAULT网站》 *
晴天彩虹: "基于OAuth2.0的第三方认证", 《博客园》 *
静雅斋: "OAuth2.0认证", 《SEGMENTFAULT网站》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818746A (zh) * 2018-12-28 2019-05-28 深圳竹云科技有限公司 一种安全的提供restful接口的方法
CN111010385A (zh) * 2019-12-09 2020-04-14 山东浪潮商用系统有限公司 一种基于RESTful的安全交互方法
CN112153015A (zh) * 2020-09-09 2020-12-29 杭州安恒信息技术股份有限公司 多重加密的接口认证方法、装置、设备和可读存储介质
CN113794553A (zh) * 2020-11-25 2021-12-14 京东安联财产保险有限公司 数据传输方法、装置、电子设备和存储介质
CN114553553A (zh) * 2022-02-24 2022-05-27 蓝想大数据科技(上海)有限公司 一种混合加密通讯方法
CN115208650A (zh) * 2022-07-05 2022-10-18 上海江宇信息科技有限公司 基于云平台的数据安全实现方法、设备、介质及产品

Similar Documents

Publication Publication Date Title
CN110855671B (zh) 一种可信计算方法和系统
CN108900301A (zh) 基于.NET MVC的restful接口安全认证及报文混合加密方法
CN103780618B (zh) 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN109040045A (zh) 一种基于密文策略属性基加密的云存储访问控制方法
CN110535868A (zh) 基于混合加密算法的数据传输方法及系统
KR101730757B1 (ko) 사용자에 의해 디바이스에 액세스하기 위한 방법 및 시스템
CN104917741B (zh) 一种基于usbkey的明文文档公网安全传输系统
CN102377788B (zh) 单点登录系统及其单点登录方法
Pradeep et al. An efficient framework for sharing a file in a secure manner using asymmetric key distribution management in cloud environment
CN105208024B (zh) 不使用https的数据安全传输方法及系统、客户端和服务端
CN104735070B (zh) 一种通用的异构加密云间的数据共享方法
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN114513327B (zh) 一种基于区块链的物联网隐私数据快速共享方法
CN104901803A (zh) 一种基于cpk标识认证技术的数据交互安全保护方法
CN204180095U (zh) 一种用于网络数据加密传输的加解密装置
CN102404337A (zh) 数据加密方法和装置
CN111917543B (zh) 用户接入云平台安全接入认证系统及其应用方法
US20200235915A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Durand et al. Trusted lightweight communication for IoT systems using hardware security
Fahl et al. Trustsplit: usable confidentiality for social network messaging
CN116132043B (zh) 会话密钥协商方法、装置及设备
Kumar et al. Realization of threats and countermeasure in Semantic Web services
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置
Arora et al. Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210823

Address after: 215000 building 3, Fumin phase III plant, No. 818, Songjia Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 215000 Building 1, 178 Tayun Road, Yuexi street, Wuzhong District, Suzhou City, Jiangsu Province

Applicant before: SUZHOU INSPUR INTELLIGENT SOFTWARE Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181127