CN111698225B - 一种适用于电力调度控制系统的应用服务认证加密方法 - Google Patents

一种适用于电力调度控制系统的应用服务认证加密方法 Download PDF

Info

Publication number
CN111698225B
CN111698225B CN202010464849.XA CN202010464849A CN111698225B CN 111698225 B CN111698225 B CN 111698225B CN 202010464849 A CN202010464849 A CN 202010464849A CN 111698225 B CN111698225 B CN 111698225B
Authority
CN
China
Prior art keywords
application
authentication
client
service request
service
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.)
Active
Application number
CN202010464849.XA
Other languages
English (en)
Other versions
CN111698225A (zh
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.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd
State Grid Shandong Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
State Grid Electric Power Research Institute
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd
State Grid Shandong Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
State Grid Electric Power Research Institute
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 State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd, State Grid Shandong Electric Power Co Ltd, Beijing Kedong Electric Power Control System Co Ltd, State Grid Electric Power Research Institute filed Critical State Grid Corp of China SGCC
Priority to CN202010464849.XA priority Critical patent/CN111698225B/zh
Publication of CN111698225A publication Critical patent/CN111698225A/zh
Application granted granted Critical
Publication of CN111698225B publication Critical patent/CN111698225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J13/00Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
    • H02J13/00006Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
    • H02J13/00028Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment involving the use of Internet protocols
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/007Arrangements for selectively connecting the load or loads to one or several among a plurality of power lines or power sources
    • H02J3/0075Arrangements for selectively connecting the load or loads to one or several among a plurality of power lines or power sources for providing alternative feeding paths between load and source according to economic or energy efficiency considerations, e.g. economic dispatch
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

本发明的目的是提供一种适用于电力调度控制系统的应用服务认证加密方法和系统,系统包括应用认证中心、应用客户端和应用服务器;应用客户端在应用启动时向应用认证中心发送认证请求;应用认证中心响应于认证请求与应用客户端之间进行双向认证生成应用标识;应用客户端在需要向应用服务器请求服务时,基于应用标识和加密处理后的服务请求生成服务请求报文,发送至应用服务器;应用服务器根据服务请求报文中的应用标识进行验证,并在验证成功后生成响应报文并加密后返回至应用客户端;应用客户端对响应报文进行解密得到响应报文数据,完成服务调用。本发明能够应用于生产控制大区实现应用服务的认证加密,保障生产控制大区信息交互的安全性。

Description

一种适用于电力调度控制系统的应用服务认证加密方法
技术领域
本发明涉及电力调度控制系统中应用服务认证技术领域,特别是一种适用于电力调度控制系统的应用服务认证加密方法和系统。
背景技术
目前主流的应用服务认证加密技术主要包括如下几种:
(1)在单点登录和OAuth协议的基础上,基于HTTPS和票据认证实现,通过验证应用间的票据来实现相互信任,即实现互信应用系统间认证;
(2)采用Redis、OAuth2等技术,将令牌作为在不同服务间认证的凭证,实现服务的统一出口、权限控制和监控,以实现对服务进行注册和认证的服务接口网关系统;
(3)基于OAuth技术,通过签发令牌来对各个微服务进行认证,并使用混合加密机制来保证服务间通信的安全性,实现一种轻量级的微服务认证方法,在保证服务间高安全性的同时维持较高的通信效率;
(4)基于Netty框架,通过构建安全过滤链,对服务调用请求,进行认证和鉴权,以有效的满足企业服务总线上各类服务对安全性的需求,支撑每天数亿次的服务安全调用;
(5)以OpenID技术为基础的改进方法,在openstack云平台上实现身份认证技术。
可见现有的针对服务化环境下的服务认证,都是以http/https为基础,使用OAuth或OpenID等web技术实现服务的安全认证,使用RSA、AES等加密算法进行通信加密。但是,在电力调度控制系统的生产控制大区是禁止使用http/https和开源软件的,因此无法使用上述web技术对服务进行认证。
发明内容
本发明的目的是提供一种适用于电力调度控制系统的应用服务认证加密方法和系统,能够应用于生产控制大区实现应用服务的认证加密,保障生产控制大区信息交互的安全性。
本发明采用的技术方案如下:
一方面,本发明提供一种适用于电力调度控制系统的应用服务认证加密方法,由应用客户端执行,方法包括:
响应于应用启动,向应用认证中心发送认证请求;
接收应用认证中心响应于所述认证请求,按照预设认证规则进行应用客户端身份认证且认证成功后,返回的应用标识;
响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
接收应用服务器响应于所述服务请求报文,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密的响应报文;
对所述响应报文进行解密,获取响应报文数据,完成服务调用。
以上方案中,若应用认证中心与应用客户端之间的身份认证失败,则应用认证中心不生成应用标识,方法可直接退出流程,后续应用客户端无法从应用服务器调用服务。
可选的,应用服务器以及已在应用认证中心注册的应用客户端预存储有应用认证中心的公钥证书,应用认证中心预存储有已注册应用客户端的公钥证书;
所述认证请求为,使用预先存储的应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求。
可选的,所述应用标识为应用客户端与应用认证中心之间经双向认证成功后得到的最终应用标识,所述双向认证的认证规则包括:
接收应用认证中心响应于所述认证请求,利用自身私钥解密后,进行单向认证且认证成功后返回的应用标识信息,所述应用标识信息包括使用应用客户端公钥对随机数R和一字符串M进行加密后得到的应用标识;
接收应用标识信息,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
接收应用认证中心响应于接收到字符串M的加密报文,利用自身私钥解密得到M',并通过比较M'和M是否相等确定双向认证是否成功后,返回的对应双向认证失败的双向认证失败信息,或者对应双向认证成功的最终应用标识;所述最终应用标识为根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
以上方案实现了一种应用认证中心与应用客户端之间的双向身份认证,认证过程只需验证应用标识即可,相较于现有其它双向认证方法,复杂度大大降低,认证效率能够得到明显提高。认证过程中,不论是单向认证失败或双向认证失败方法皆可直接退出,应用认证中心皆不生成最终应用标识。
可选的,应用认证中心进行单向认证包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则单向认证成功,生成字符串M;若认证请求方应用客户端为未注册应用客户端,则单向认证失败。
可选的,所述最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
基本信息与签名信息以Base64算法进行编码后,以符号.相连组成最终应用标识。
可选的,最终应用标识中的基本信息采用JSON格式,为序列化的JSON字符串。
以上方案中,用AppIdInfo表示基本信息,encrypt()表示国密算法,则签名信息SignInfo的生成公式为:
SignInfo = encrypt(AppIdInfo, 密钥)
通过以上方法生成的最终应用标识是一个形如“Base64(AppIdInfo).Base64(SignInfo)”的字符串。
可选的,所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;
应用客户端将最终应用标识和加密处理后的服务请求,通过服务请求报文发送至应用服务器;
应用服务器接收服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询预先存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
以上方案中,加密处理前的服务请求参考常规服务请求。所述使用认证中心公钥对最终应用标识进行本地验证即对最终认证标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,如果验签成功,则验证通过,否则,验证失败。
第二方面,本发明提供一种适用于电力调度控制系统的应用服务认证加密方法,由应用认证中心执行,方法包括:
接收应用客户端响应于应用启动发出的认证请求;
按照预设认证规则与应用客户端之间进行身份认证,根据身份认证结果返回认证失败信息或者对应认证成功的应用标识信息,使得应用客户端向应用服务器请求服务时,能够基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器,进而使得应用服务器能够根据其中的应用标识进行验证,以在验证成功后向应用客户端返回响应报文从而支持应用客户端的服务调用。
可选的,所述认证请求为应用客户端使用应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成;
方法还包括使用自身私钥对接收到的认证请求进行解密,获取应用名和厂商编号;
所述与应用客户端之间进行身份认证的预设认证规则包括:根据应用名和厂商编号查询预先注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则生成一个字符串M,单向认证成功;若认证请求方应用客户端为未注册应用客户端,则单向认证失败;
对于已注册的应用客户端,使用该应用客户端的公钥对R和M进行加密,得到应用标识;对于未注册的应用客户端,向相应应用客户端返回认证失败信息;
接收应用客户端响应于应用标识信息,使用自身私钥对应用标识进行解密得到随机数R’和M,响应于R'和R相等使用应用认证中心公钥对M进行加密所返回的M的加密报文;
响应于字符串M的加密报文,利用自身私钥解密得到M',比较M'和M是否相等;
响应于M'和M不等,则双向认证失败,向应用客户端返回双向认证失败信息,响应于M'和M相等,则生成最终应用标识返回至应用客户端;所述最终应用标识根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
第三方面,本发明提供适用于电力调度控制系统的应用服务认证加密方法,由应用服务器执行,方法包括:
接收应用客户端按照预设加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成的服务请求报文;
响应于所述服务请求报文,对服务请求报文进行分离,得到应用标识和加密服务请求,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密得到响应报文;
将响应报文返回至应用客户端,使得应用客户端能够获取响应报文数据,完成服务调用。
可选的,所述应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
所述预设的加密规则为:根据应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;
所述预设的验证规则包括:根据应用标识中的认证中心名查询预先存储的相应认证中心的公钥;使用认证中心公钥对应用标识进行本地验证,所述本地验证为使用认证中心公钥对应用标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,;
若本地验证失败,则返回验证失败信息给应用客户端;若本地验证通过,则根据应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
第四方面,本发明提供一种适用于电力调度控制系统的应用服务认证加密系统,包括应用认证中心、应用客户端和应用服务器;
应用客户端响应于应用启动,向应用认证中心发送认证请求;
应用认证中心接收所述认证请求,并响应于所述认证请求,按照预设的认证规则进行应用客户端的身份认证,以生成应用标识返回至发出认证请求的应用客户端;
应用客户端响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于预先获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
应用服务器接收所述服务请求报文,并响应于所述服务请求报文获取其中的应用标识以及加密服务请求,进而根据获取的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成响应报文,对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,对响应报文进行解密,获取响应报文数据,完成服务调用。
可选的,应用服务器获取应用标识及加密服务请求后,若对应用标识的验证不通过,则向应用客户端返回验证失败信息。即后续应用服务器不向相应的应用客户端提供应用服务。
可选的,应用服务器以及已在应用认证中心注册的应用客户端预存储有应用认证中心的公钥证书,应用认证中心预存储有已注册应用客户端的公钥证书;
已注册的应用客户端向应用认证中心发送的认证请求为,使用应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求;
应用认证中心接收认证请求后,使用自身私钥对接收到的认证请求进行解密,获取应用名和厂商编号;应用认证中心对应用客户端进行身份认证的认证规则包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则生成一个字符串M,认证成功;若认证请求方应用客户端为未注册应用客户端,则认证失败;
对于已注册的应用客户端,应用认证中心使用该应用客户端的公钥对R和M进行加密,得到应用标识;
对于未注册的应用客户端,应用认证中心向相应应用客户端返回认证失败信息。
至此,以上方案已经实现了一种单向认证的应用认证方式,此时应用客户端可根据服务认证中心返回的应用标识或者认证失败信息进行应用服务调用或者停止调用。
而为了进一步提高服务调用的安全性,作为另一种实施方式,本发明系统中,应用客户端与应用服务认证中心采用双向认证,也即:
应用客户端接收应用标识后,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心的公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
应用认证中心接收到M的加密报文后,使用自身私钥对加密报文进行解密得到字符串M',若M'和M相等,则双向认证成功,应用认证中心生成最终应用标识,并使用应用客户端的公钥加密后返回至应用客户端;若M'和M不相等,则双向认证失败,应用认证中心向应用客户端返回双向认证失败信息;
应用客户端向应用服务器请求服务时,基于所述最终应用标识和加密处理后的服务请求,生成服务请求报文。
应用客户端接收到最终应用标识加密报文后,利用自身私钥解密得到最终应用标识后保存,即可用于后续的服务调用,若收到双向认证失败信息,则不可进行后续的服务调用。
可选的,应用认证中心在双向认证成功后,根据应用客户端的应用信息生成最终应用标识;最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
基本信息与签名信息以Base64算法进行编码后,以符号.相连组成最终应用标识。
可选的,最终应用标识中的基本信息采用JSON格式,为序列化的JSON字符串。
以上方案中,用AppIdInfo表示基本信息,encrypt()表示国密算法,则签名信息SignInfo的生成公式为:
SignInfo = encrypt(AppIdInfo, 密钥)
通过以上方法生成的最终应用标识是一个形如“Base64(AppIdInfo).Base64(SignInfo)”的字符串。
可选的,应用客户端向应用服务器请求服务时,所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;应用客户端将最终应用标识和加密处理后的服务请求,通过服务请求报文发送至应用服务器;
应用服务器接受服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询已存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;
若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
上述本地验证为:使用认证中心公钥对最终认证标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,如果验签成功,则验证通过,否则,验证失败。
有益效果
本发明通过构建独立的应用认证中心对应用客户端进行认证,并生成一个应用标识用于应用服务器端的认证,在访问应用服务器时,应用服务器只需验证应用标识即可。应用认证过程可基于自主通信协议,相较传统基于HTTPS的方法安全性更高;
同时,本发明应用标识基于国密算法生成,完全符合电力系统相关安全防护要求;应用与服务加密通信时,使用的密钥基于应用标识自动生成。相比目前主流的服务认证方法,服务在对应用进行验证时,无需进行复杂的双向认证和密钥协商工作,直接验证应用标识即可,服务调用耗时远远小于传统的加密通信方法,在提升服务调用安全性的同时有效降低了认证加密对服务调用性能的影响。
附图说明
图1所示为本发明应用服务认证加密系统及其工作原理示意图;
图2所示为本发明应用认证中心与应用客户端之间的双向认证流程示意图;
图3所示为本发明应用客户端与应用服务器之间的认证加密流程示意图;
图4所示为本发明应用服务认证加密系统的一种模块组成实施方式示意图。
具体实施方式
以下结合附图和具体实施例进一步描述。
本发明的技术构思为:通过在客户端应用启动时进行身份认证,结合加密通信接口设计,实现应用服务的认证加密,提升服务调用安全性。
实施例1
参考图1所示,本实施例介绍一种适用于电力调度控制系统的应用服务认证加密系统,包括应用认证中心、应用客户端和应用服务器;
应用客户端响应于应用启动,向应用认证中心发送认证请求;
应用认证中心接收所述认证请求,并响应于所述认证请求,按照预设的认证规则进行应用客户端的身份认证,以生成应用标识返回至发出认证请求的应用客户端;
应用客户端响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于预先获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
应用服务器接收所述服务请求报文,并响应于所述服务请求报文获取其中的应用标识以及加密服务请求,进而根据获取的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成响应报文,对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,对响应报文进行解密,获取响应报文数据,完成服务调用。
本实施例中,应用服务器获取应用标识及加密服务请求后,若对应用标识的验证不通过,则向应用客户端返回验证失败信息。即后续应用服务器不向相应的应用客户端提供应用服务。
本实施例系统中,应用服务器以及已在应用认证中心注册的应用客户端预存储有应用认证中心的公钥证书,应用认证中心预存储有已注册应用客户端的公钥证书;
已注册的应用客户端向应用认证中心发送的认证请求为,使用应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求;
应用认证中心接收认证请求后,使用自身私钥对接收到的认证请求进行解密,获取应用名和厂商编号;应用认证中心对应用客户端进行身份认证的认证规则包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则生成一个字符串M,认证成功;若认证请求方应用客户端为未注册应用客户端,则认证失败;
对于已注册的应用客户端,应用认证中心使用该应用客户端的公钥对R和M进行加密,得到应用标识;
对于未注册的应用客户端,应用认证中心向相应应用客户端返回认证失败信息。
至此,以上方案已经实现了一种单向认证的应用认证方式,此时应用客户端可根据服务认证中心返回的应用标识或者认证失败信息进行应用服务调用或者停止调用。
而为了进一步提高服务调用的安全性,作为另一种实施方式,本发明系统中,应用客户端与应用服务认证中心采用双向认证,参考图2所示,也即在前述单向认证流程之后,流程还包括:
应用客户端接收应用标识后,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心的公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
应用认证中心接收到M的加密报文后,使用自身私钥对加密报文进行解密得到字符串M',若M'和M相等,则双向认证成功,应用认证中心生成最终应用标识,并使用应用客户端的公钥加密后返回至应用客户端;若M'和M不相等,则双向认证失败,应用认证中心向应用客户端返回双向认证失败信息;
应用客户端向应用服务器请求服务时,基于所述最终应用标识和加密处理后的服务请求,生成服务请求报文。
应用客户端接收到最终应用标识加密报文后,利用自身私钥解密得到最终应用标识后保存,即可用于后续的服务调用,若收到双向认证失败信息,则不可进行后续的服务调用。
应用认证中心在双向认证成功后,根据应用客户端的应用信息生成最终应用标识;最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
基本信息与签名信息以Base64算法进行编码后,以符号.相连组成最终应用标识。
最终应用标识中的基本信息采用JSON格式,为序列化的JSON字符串。
以上方案中,用AppIdInfo表示基本信息,encrypt()表示国密算法,则签名信息SignInfo的生成公式为:
SignInfo = encrypt(AppIdInfo, 密钥)
通过以上方法生成的最终应用标识是一个形如“Base64(AppIdInfo).Base64(SignInfo)”的字符串。
应用客户端向应用服务器请求服务时的流程参考图3所示,所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;应用客户端将最终应用标识和加密处理后的服务请求,通过服务请求报文发送至应用服务器;
应用服务器接受服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询已存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;
若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
实际上对称密钥SK与K是相同的,皆是根据最终应用标识中的时间戳计算得到,从而能够实现解密。
上述本地验证为:使用认证中心公钥对最终认证标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,如果验签成功,则验证通过,否则,验证失败。
以下介绍本实施例的一种具体实现,参考图4所示,应用服务身份认证加密系统的软件实现由以下两大部分组成:
一、应用认证中心:部署在应用认证中心计算机,主要包括应用信息管理、应用认证、应用标识管理、证书管理等功能模块。其中应用信息管理模块,主要用于对应用基本信息的管理,包括应用的注册、删除、修改等功能;应用认证模块,主要用于对应用进行认证,包括应用认证功能;应用标识管理模块,主要用于应用认证通过后为其生成应用标识,用于服务认证,包括应用标识的生成、解析、验证等功能;证书管理模块,主要用于在应用注册成功后,为其生成相关证书,用于后续的认证,包括应用证书的p12文件生成、公钥证书生成、证书分发等功能;
二、认证加密模块:以本地接口库的形式,部署在新一代调度控制系统的各个应用客户端和应用服务器中,主要用于应用客户端与认证中心的双向认证、应用客户端与应用服务器之间的应用标识验证、应用服务间的通信加解密等,主要包括以下可调用接口:
1. 双向认证接口:主要用于应用和认证中心的双向认证,应用传入软件名、厂家编号和随机数加密发给认证中心,发起双向认证,如果认证成功,返回认证中心签发的应用标识,否则返回错误信息。
2. 请求报文加密接口:主要用于对请求报文进行安全加密,传入原始请求报文,返回新的请求报文。首先根据Token生成对称加密的密钥,将请求报文加密成密文,然后将Token和密文一起组成新的请求报文,新请求报文的结构为总长度(4字节)+应用标识长度(4字节)+应用标识(N字节)+密文长度(4字节)+密文(N字节)。
3. 请求报文解密接口:主要用于对请求报文的解密,返回原始请求报文。首先根据新请求报文的结构解析出应用标识和密文,对应用标识进行验证,如果验证通过,则根据应用标识生成对称加密的密钥,解密密文,获取原始的请求报文,以便服务能够根据请求参数提供相应的服务。
4. 对称加密接口:主要用于对明文的对称加密,返回加密后的密文。
5. 对称解密接口:主要用于密文的对称解密,返回解密后的明文。
实施例2
与实施例1基于相同的发明构思,本实施例介绍一种适用于电力调度控制系统的应用服务认证加密方法,可由实施例1系统中的所述应用客户端执行,方法包括:
响应于应用启动,向应用认证中心发送认证请求;
接收应用认证中心响应于所述认证请求,按照预设认证规则进行应用客户端身份认证后,返回的对应认证失败的认证失败信息,或者对应认证成功的应用标识;
响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
接收应用服务器响应于所述服务请求报文,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密的响应报文;
对所述响应报文进行解密,获取响应报文数据,完成服务调用。
应用客户端在应用启动时,需要和认证中心进行双向认证,认证通过才能获取应用标识,用于访问应用服务器时,表明自己的身份。
应用服务器以及已在应用认证中心注册的应用客户端预存储有应用认证中心的公钥证书,应用认证中心预存储有已注册应用客户端的公钥证书;
所述认证请求为,使用预先存储的应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求。
所述应用标识为应用客户端与应用认证中心之间经双向认证成功后得到的最终应用标识,所述双向认证的认证规则包括:
接收应用认证中心响应于所述认证请求,利用自身私钥解密后,进行单向认证所得到的单向认证失败信息,或者对应单向认证成功的应用标识信息,所述应用标识信息包括使用应用客户端公钥对随机数R和一字符串M进行加密后得到的应用标识;
接收应用标识信息,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
接收应用认证中心响应于字符串M的加密报文,利用自身私钥解密得到M',并通过比较M'和M是否相等确定双向认证是否成功后,响应于双向认证失败返回的双向认证失败信息,或者响应于双向认证成功返回的最终应用标识;所述最终应用标识为根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
以上方案实现了一种应用认证中心与应用客户端之间的双向身份认证,认证过程只需验证应用标识即可,相较于现有其它双向认证方法,复杂度大大降低,认证效率能够得到明显提高。
前述应用认证中心进行单向认证包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则单向认证成功,生成一个字符串M;若认证请求方应用客户端为未注册应用客户端,则单向认证失败。
所述最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
基本信息与签名信息以Base64算法进行编码后,以符号“.”相连组成最终应用标识。
所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;
应用客户端将最终应用标识和加密处理后的服务请求,通过服务请求报文发送至应用服务器;
应用服务器接收服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询预先存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
以上方案中,加密处理前的服务请求参考常规服务请求。所述使用认证中心公钥对最终应用标识进行本地验证即对最终认证标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,如果验签成功,则验证通过,否则,验证失败。
实施例3
与实施例1/2基于相同的发明构思,本实施例介绍一种适用于电力调度控制系统的应用服务认证加密方法,由可由实施例1系统中的应用认证中心执行,方法包括:
接收应用客户端响应于应用启动发出的认证请求;
按照预设认证规则与应用客户端之间进行身份认证,根据身份认证结果返回认证失败信息或者对应认证成功的应用标识信息,使得应用客户端向应用服务器请求服务时,能够基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器,进而使得应用服务器能够根据其中的应用标识进行验证,以在验证成功后向应用客户端返回响应报文从而支持应用客户端的服务调用。
所述认证请求为应用客户端使用应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成;
方法还包括使用自身私钥对接收到的认证请求进行解密,获取应用名和厂商编号;
所述与应用客户端之间进行身份认证的预设认证规则包括:根据应用名和厂商编号查询预先注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则生成一个字符串M,单向认证成功;若认证请求方应用客户端为未注册应用客户端,则单向认证失败;
对于已注册的应用客户端,使用该应用客户端的公钥对R和M进行加密,得到应用标识;对于未注册的应用客户端,向相应应用客户端返回认证失败信息;
接收应用客户端响应于应用标识信息,使用自身私钥对应用标识进行解密得到随机数R’和M,响应于R'和R相等使用应用认证中心公钥对M进行加密所返回的M的加密报文;
响应于字符串M的加密报文,利用自身私钥解密得到M',比较M'和M是否相等;
响应于M'和M不等,则双向认证失败,向应用客户端返回双向认证失败信息,响应于M'和M相等,则生成最终应用标识返回至应用客户端;所述最终应用标识根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
结合实施例2和实施例3,如图2,应用客户端和应用认证中心的双向认证流程为:
1. 应用启动时,应用客户端使用认证中心的公钥加密应用名、厂商编号和随机数R,发给认证中心,请求认证;
2. 认证中心用自己的私钥解密这些信息,先根据应用名和厂商编号查询数据库确认这个应用是否注册,如果已注册,则生成一个字符串M,并使用应用的公钥将R和M加密后发回给应用客户端,否则返回认证失败;
3. 应用客户端使用自己的私钥解密出随机数R'和M,如果R'和R相等,则使用认证中心的公钥对字符串M进行加密,并发送应用给认证中心;
4. 认证中心使用自己的私钥解密字符串得到M',如果M'和M相等,则双向认证成功,认证中心根据应用的信息,生成一个应用标识,并使用应用的公钥加密后发送给应用;
5. 应用收到后解密出应用标识,并进行保存。该应用标识即前文所述的最终应用标识。
最终应用标识中的基本信息采用JSON格式,为序列化的JSON字符串。应用客户端和应用认证中心的双向认证过程通信报文同样采用JSON格式,能够方便的实现跨平台。
实施例4
本实施例介绍一种适用于电力调度控制系统的应用服务认证加密方法,可由实施例1系统中的应用服务器执行,方法包括:
接收应用客户端按照预设加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成的服务请求报文;
响应于所述服务请求报文,对服务请求报文进行分离,得到应用标识和加密服务请求,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密得到响应报文;
将响应报文返回至应用客户端,使得应用客户端能够获取响应报文数据,完成服务调用。
所述应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
所述预设的加密规则为:根据应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;
所述预设的验证规则包括:根据应用标识中的认证中心名查询预先存储的相应认证中心的公钥;使用认证中心公钥对应用标识进行本地验证,所述本地验证为使用认证中心公钥对应用标识中的基本信息AppIdInfo、签名信息SignInfo进行验签,;
若本地验证失败,则返回验证失败信息给应用客户端;若本地验证通过,则根据应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
参考图3所示,应用客户端向应用服务器调用服务时,服务必须对应用进行身份验证,且双方的通信数据必须加密,具体流程如下:
应用客户端根据应用标识中的时间戳计算出一个对称密钥K,在请求服务时,使用对称密钥将请求报文加密;
应用客户端将应用标识和加密后的请求报文一起发给应用服务器;
3. 应用服务器收到请求后,分离出请求报文和应用标识,根据应用标识中的认证中心名,获取认证中心的公钥,使用公钥对应用标识进行本地验证,如果验证通过,执行下一步,否则,返回验证失败信息给应用;
4. 应用服务器根据应用标识中的时间戳计算出一个对称密钥SK,使用该密钥解密请求报文;
5. 应用服务器根据解密后的请求报文对应用进行响应,生成响应报文;
6. 应用服务器使用密钥SK将响应报文加密,发回给应用客户端;
7. 应用客户端使用对称密钥K解密报文,获取响应报文,服务调用完成。
实验验证
以下通过一实际应用服务系统验证本发明的认证加密方法及效果。应用服务系统包括应用认证中心、应用客户端和应用服务器。
应用服务认证功能的验证如下:
第一步,应用启动时,不进行认证,直接请求服务,查看是否能正常调用服务。
第二步,应用启动时,调用双向认证接口,然后请求服务,查看是否能正常调用服务。
使用原型系统进行验证,验证结果为第一步中应用无法正常调用服务,收到认证失败不提供服务的错误提示,第二步可以正常调用服务。
应用服务加密功能的验证如下:
第一步,不使用加密通信:应用启动时,进行认证,然后不调用加密通信接口,向服务发送不同长度的请求报文,统计服务调用耗时
第二步,使用本文的方法加密通信:应用启动时,进行认证,然后调用加密通信接口,向服务发送不同长度的请求报文,统计服务调用耗时。
第三步,使用传统的方法加密通信:应用每次进行服务调用时,首先与服务进行密钥协商,然后使用协商好的密钥加密请求报文,向服务发送不同长度的请求报文,统计服务调用耗时。
认证及加密性能的统计结果如下表1所示:
表1 应用服务认证加密性能统计表
请求报文大小 不加密通信,用时 加密通信,用时 每次协商密钥加密通信,用时
1KB 5ms 8ms 245ms
512KB 30ms 52ms 283ms
1MB 36ms 61ms 311ms
由上表可以看出,服务调用时,不进行通信加密用时调用耗时最短,本发明的认证加密方法次之,传统的加密通信方法最慢。同时,采用本发明的方法,服务调用耗时远远小于传统的加密通信方法,也即,本发明在提升服务调用安全性的同时能够有效降低了服务调用性能的影响。
综上,本发明通过独立的应用认证中心对应用进行双向认证,认证过程基于自主通信协议和国密算法,具有更高的安全性,且完全符合电力系统相关安全防护要求,为电力调度控制系统生产控制大区中的应用和服务提供了认证加密功能,有效提升了服务调用的安全性。同时,本发明设计了一个基于国密算法,具有全局唯一、防篡改、自签名、本地验签、自带秘钥因子等特性的应用标识,避免了传统服务认证中的双向认证和密钥协商过程,在提升服务调用安全性的同时有效降低了对性能的影响。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (9)

1.一种适用于电力调度控制系统的应用服务认证加密方法,由应用客户端执行,其特征是,方法包括:
响应于应用启动,向应用认证中心发送认证请求;
接收应用认证中心响应于所述认证请求,按照预设认证规则进行应用客户端身份认证且认证成功后,返回的应用标识;
响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
接收应用服务器响应于所述服务请求报文,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密的响应报文;
对所述响应报文进行解密,获取响应报文数据,完成服务调用;
其中,所述应用标识为应用客户端与应用认证中心之间经双向认证成功后得到的最终应用标识;
所述双向认证的认证规则包括:
接收应用认证中心响应于所述认证请求,利用自身私钥解密后,进行单向认证且认证成功后返回的应用标识信息,所述应用标识信息包括使用应用客户端公钥对随机数R和一字符串M进行加密后得到的应用标识;
接收应用标识信息,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
接收应用认证中心响应于接收到字符串M的加密报文,利用自身私钥解密得到M',并通过比较M'和M是否相等确定双向认证是否成功后,返回的对应双向认证失败的双向认证失败信息,或者对应双向认证成功的最终应用标识;所述最终应用标识根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
2.根据权利要求1所述的方法,其特征是,所述认证请求为,使用预先存储的应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求。
3.根据权利要求1所述的方法,其特征是,应用认证中心进行单向认证包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则单向认证成功,生成字符串M;若认证请求方应用客户端为未注册应用客户端,则单向认证失败。
4.根据权利要求1所述的方法,其特征是,所述最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
基本信息与签名信息以Base64算法进行编码后,以符号.相连组成最终应用标识;
最终应用标识中的基本信息采用JSON格式,为序列化的JSON字符串;
所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;
最终应用标识和加密处理后的服务请求通过服务请求报文发送至应用服务器;
应用服务器接收服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询预先存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
5.一种适用于电力调度控制系统的应用服务认证加密方法,由应用认证中心执行,其特征是,方法包括:
接收应用客户端响应于应用启动发出的认证请求;
按照预设认证规则与应用客户端之间进行身份认证,响应于身份认证成功向应用客户端返回应用标识信息,使得应用客户端向应用服务器请求服务时,能够基于已获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器,进而使得应用服务器能够根据其中的应用标识进行验证,以在验证成功后向应用客户端返回响应报文从而支持应用客户端的服务调用;
其中,所述应用标识为应用客户端与应用认证中心之间经双向认证成功后得到的最终应用标识;
所述双向认证的认证规则包括:
应用认证中心响应于接收到所述认证请求,利用自身私钥解密后,进行单向认证,在单向认证成功后向应用客户端返回应用标识信息,应用标识信息包括使用应用客户端公钥对随机数R和一字符串M进行加密后得到的应用标识;
应用客户端接收应用标识信息,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
应用认证中心响应于接收到字符串M的加密报文,利用自身私钥解密得到M',通过比较M'和M是否相等确定双向认证是否成功,向应用客户端返回对应双向认证失败的双向认证失败信息,或者对应双向认证成功的最终应用标识;所述最终应用标识根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
6.一种适用于电力调度控制系统的应用服务认证加密方法,由应用服务器执行,其特征是,方法包括:
接收应用客户端按照预设加密规则对服务请求进行加密处理,进而基于已获得的应用标识和加密处理后的服务请求,生成的服务请求报文;
响应于所述服务请求报文,对服务请求报文进行分离,得到应用标识和加密服务请求,根据其中的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成并加密得到响应报文;
将响应报文返回至应用客户端,使得应用客户端能够获取响应报文数据,完成服务调用;
其中,所述应用标识为应用客户端与应用认证中心之间经双向认证成功后得到的最终应用标识;
所述双向认证的认证规则包括:
应用认证中心响应于接收到认证请求,利用自身私钥解密后,进行单向认证,在单向认证成功后向应用客户端返回应用标识信息,应用标识信息包括使用应用客户端公钥对随机数R和一字符串M进行加密后得到的应用标识;
应用客户端接收应用标识信息,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
应用认证中心响应于接收到字符串M的加密报文,利用自身私钥解密得到M',通过比较M'和M是否相等确定双向认证是否成功,向应用客户端返回对应双向认证失败的双向认证失败信息,或者对应双向认证成功的最终应用标识;所述最终应用标识根据应用客户端的应用信息生成后再利用应用客户端公钥进行加密后得到。
7.一种适用于电力调度控制系统的应用服务认证加密系统,其特征是,包括执行权利要求5所述应用服务认证加密方法的应用认证中心、执行权利要求1-4任一项所述应用服务认证加密方法的应用客户端和执行权利要求6所述应用服务认证加密方法的应用服务器;
应用客户端响应于应用启动,向应用认证中心发送认证请求;
应用认证中心接收所述认证请求,并响应于所述认证请求,按照预设的认证规则进行应用客户端的身份认证,并在身份认证成功后生成应用标识返回至发出认证请求的应用客户端;
应用客户端响应于需要向应用服务器请求服务,按照预设的加密规则对服务请求进行加密处理,进而基于预先获得的应用标识和加密处理后的服务请求,生成服务请求报文,发送至应用服务器;
应用服务器接收所述服务请求报文,并响应于所述服务请求报文获取其中的应用标识以及加密服务请求,进而根据获取的应用标识按照预设的验证规则进行验证,并在验证通过后对加密服务请求进行解密,根据解密后的服务请求生成响应报文,对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,对响应报文进行解密,获取响应报文数据,完成服务调用。
8.根据权利要求7所述的应用服务认证加密系统,其特征是,应用服务器以及已在应用认证中心注册的应用客户端预存储有应用认证中心的公钥证书,应用认证中心预存储有已注册应用客户端的公钥证书;
已注册的应用客户端向应用认证中心发送的认证请求为,使用应用认证中心公钥对应用名、厂商编号和随机数R进行加密后生成的认证请求;
应用认证中心接收认证请求后,使用自身私钥对接收到的认证请求进行解密,获取应用名和厂商编号;应用认证中心对应用客户端进行身份认证的认证规则包括:根据应用名和厂商编号查询已注册的应用客户端,若认证请求方应用客户端为已注册应用客户端,则生成一个字符串M,认证成功;若认证请求方应用客户端为未注册应用客户端,则认证失败;
对于已注册的应用客户端,应用认证中心使用该应用客户端的公钥对R和M进行加密,得到应用标识;对于未注册的应用客户端,应用认证中心向相应应用客户端返回认证失败信息;
应用客户端接收应用标识后,使用自身私钥对应用标识进行解密,得到随机数R’和M,若R'和R相等,则使用应用认证中心的公钥对M进行加密,并返回至应用认证中心;若R'和R不相等,则双向认证失败;
应用认证中心接收到M的加密报文后,使用自身私钥对加密报文进行解密得到字符串M',若M'和M相等,则双向认证成功,应用认证中心生成最终应用标识,并使用应用客户端的公钥加密后返回至应用客户端;若M'和M不相等,则双向认证失败,应用认证中心向应用客户端返回双向认证失败信息;
应用客户端向应用服务器请求服务时,基于所述最终应用标识和加密处理后的服务请求,生成服务请求报文。
9.根据权利要求8所述的应用服务认证加密系统,其特征是,应用认证中心在双向认证成功后,根据应用客户端的应用信息生成最终应用标识;最终应用标识包括基本信息和签名信息,基本信息包括认证中心名、应用名、厂商编号、时间戳和有效期信息,签名信息为采用国密算法对基本信息进行签名后生成的字符串;
应用客户端向应用服务器请求服务时,所述预设的加密规则为:根据最终应用标识中的时间戳信息计算得到一个对称密钥K,然后使用对称密钥K对服务请求进行加密处理;应用客户端将最终应用标识和加密处理后的服务请求,通过服务请求报文发送至应用服务器;
应用服务器接受服务请求报文后,分离得到最终应用标识和加密服务请求,根据应用标识进行验证的验证规则为:根据最终应用标识中的认证中心名查询已存储的相应认证中心的公钥;使用认证中心公钥对最终应用标识进行本地验证;
若本地验证失败,则返回验证失败信息给应用客户端;
若本地验证通过,则根据最终应用标识中的时间戳计算得到一个对称密钥SK,使用对称密钥SK对加密服务请求进行解密,根据解密后的服务请求生成响应报文,然后使用对称密钥SK对所述响应报文加密后返回至应用客户端;
应用客户端响应于接收到所述响应报文,使用对称密钥K对响应报文进行解密,获取响应报文数据,完成服务调用。
CN202010464849.XA 2020-05-28 2020-05-28 一种适用于电力调度控制系统的应用服务认证加密方法 Active CN111698225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010464849.XA CN111698225B (zh) 2020-05-28 2020-05-28 一种适用于电力调度控制系统的应用服务认证加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010464849.XA CN111698225B (zh) 2020-05-28 2020-05-28 一种适用于电力调度控制系统的应用服务认证加密方法

Publications (2)

Publication Number Publication Date
CN111698225A CN111698225A (zh) 2020-09-22
CN111698225B true CN111698225B (zh) 2022-08-19

Family

ID=72478444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010464849.XA Active CN111698225B (zh) 2020-05-28 2020-05-28 一种适用于电力调度控制系统的应用服务认证加密方法

Country Status (1)

Country Link
CN (1) CN111698225B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311531B (zh) * 2020-11-05 2023-05-30 重庆邮电大学 一种可控的前后端安全通信方法
CN112511295B (zh) * 2020-11-12 2022-11-22 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112637847B (zh) * 2020-12-30 2022-10-04 国网电力科学研究院有限公司 一种面向感知层的物联网可信连接方法和系统
CN112822258B (zh) * 2020-12-31 2023-04-07 北京神州数字科技有限公司 银行开放系统接入方法及系统
CN114244563A (zh) * 2021-11-15 2022-03-25 珠海许继芝电网自动化有限公司 基于aes加密的前后端跨语言通讯方法及系统
CN115250194B (zh) * 2022-01-10 2023-07-18 重庆科创职业学院 一种基于大数据终端设备的计算机网络安全通信方法
CN114844687A (zh) * 2022-04-15 2022-08-02 深圳汇辰软件有限公司 一种认证方法、电子设备及存储介质
CN114900337B (zh) * 2022-04-19 2024-04-05 贵州电网有限责任公司 一种适用于电力芯片的认证加密方法及系统
CN115022406A (zh) * 2022-05-23 2022-09-06 中国南方电网有限责任公司 电力现货系统的通信方法、装置、设备、介质和程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694400A (zh) * 2004-04-30 2005-11-09 捷讯研究有限公司 设备认证
CN101217367A (zh) * 2007-01-04 2008-07-09 中国移动通信集团公司 引入鉴权客户端实现业务鉴权的系统及方法
CN102457482A (zh) * 2010-10-19 2012-05-16 成都市华为赛门铁克科技有限公司 一种认证方法、装置和系统
EP2582115A1 (en) * 2011-10-10 2013-04-17 Itside S.r.l. A qualified electronic signature system, associated method and mobile phone device for a qualified electronic signature
CN103067401A (zh) * 2013-01-10 2013-04-24 天地融科技股份有限公司 密钥保护方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY171259A (en) * 2012-11-05 2019-10-07 Mimos Berhad System and method for identity-based entity authentication for client-server communications
CN107113315B (zh) * 2016-04-15 2020-11-13 深圳前海达闼云端智能科技有限公司 一种身份认证方法、终端及服务器
CN107317674B (zh) * 2016-04-27 2021-08-31 华为技术有限公司 密钥分发、认证方法,装置及系统
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN107454077B (zh) * 2017-08-01 2020-05-19 北京迪曼森科技有限公司 一种基于iki标识认证的单点登录方法
KR102026375B1 (ko) * 2017-12-18 2019-09-27 부산대학교 산학협력단 웨어러블 디바이스 통신 지원 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694400A (zh) * 2004-04-30 2005-11-09 捷讯研究有限公司 设备认证
CN101217367A (zh) * 2007-01-04 2008-07-09 中国移动通信集团公司 引入鉴权客户端实现业务鉴权的系统及方法
CN102457482A (zh) * 2010-10-19 2012-05-16 成都市华为赛门铁克科技有限公司 一种认证方法、装置和系统
EP2582115A1 (en) * 2011-10-10 2013-04-17 Itside S.r.l. A qualified electronic signature system, associated method and mobile phone device for a qualified electronic signature
CN103067401A (zh) * 2013-01-10 2013-04-24 天地融科技股份有限公司 密钥保护方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李勃 ; 张宏杰 ; 梁野 ; 王景 ; 丁皓.新能源电厂公网接入、安全认证和加密解决方案.《2017智能电网新技术发展与应用研讨会论文集》.2017, *
王文 ; 鲁玉华 ; 陶静娜 ; 马骁 ; 刘刚.电力调度证书系统的特点及应用.《电网技术》.2007, *

Also Published As

Publication number Publication date
CN111698225A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN111698225B (zh) 一种适用于电力调度控制系统的应用服务认证加密方法
CN108092776B (zh) 一种基于身份认证服务器和身份认证令牌的系统
CN108810029B (zh) 一种微服务架构服务间鉴权系统及优化方法
CN107196966B (zh) 基于区块链的多方信任的身份认证方法和系统
US10243742B2 (en) Method and system for accessing a device by a user
CN110380852B (zh) 双向认证方法及通信系统
CN110535628B (zh) 通过证书签发进行多方安全计算的方法及装置
CN104506534B (zh) 安全通信密钥协商交互方案
CN111512608B (zh) 基于可信执行环境的认证协议
US8380992B2 (en) Device and method for security key exchange and system pertaining to same
CN109728909A (zh) 基于USBKey的身份认证方法和系统
CN112039918B (zh) 一种基于标识密码算法的物联网可信认证方法
CN101286849A (zh) 基于约定算法的第三方认证系统和方法
CN106656489B (zh) 一种面向移动支付的自助售卖设备与服务器间信息交互的安全提升方法
CN106533677B (zh) 一种用户登录方法、用户终端及服务器
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN111245594B (zh) 一种基于同态运算的协同签名方法及系统
CN110868415B (zh) 远程身份验证方法及装置
KR101358704B1 (ko) 싱글 사인 온을 위한 인증 방법
CN112448810A (zh) 一种认证方法以及装置
CN116233832A (zh) 验证信息发送方法及装置
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
CN108512832A (zh) 一种针对OpenStack身份认证的安全增强方法
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
Pejaś et al. Authentication protocol for software and hardware components in distributed electronic signature creation system

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
GR01 Patent grant
GR01 Patent grant