当前位置: 首页 > 科技观察

浅谈加密算法及加密系统架构_0

时间:2023-03-16 22:08:47 科技观察

背景随着信息互联网的快速发展,金融行业对信息安全的重视程度越来越高。金融行业对信息安全的要求是保护信息系统的软件、硬件和数据不受损坏和泄露,以保证系统安全可靠运行。信息安全的关键技术在于加密技术。面对互联网技术快速更新的趋势,金融行业也对加密系统提出了新的挑战。为保障银行内部系统安全运行,有效支撑业务发展,如何选择加密算法、合理部署加密系统架构,将是银行业面临的重大挑战。一、加密系统的分类加密系统可分为对称加密系统和非对称加密系统。对称加密系统是指加密/解密密钥是同一个密钥,信息接收方双方都知道密钥和加解密算法,主要用于敏感数据信息的加密。非对称加密系统是指加密/解密使用不同的密钥,通常有两个密钥,称为“公钥”和“私钥”,它们可以一起使用来打开加密文件。1.1对称加密算法对称加密系统假设通信双方可以通过安全通道协商会话密钥。双方通信时,发送方A使用加密密钥k和加密算法将原始消息m加密成密文c;接收方B收到密文c后,使用解密算法和密钥k对密文进行解密,得到原始消息m。图1:对称加密模型1.2非对称加密算法非对称加密系统也称为公钥加密系统,非对称加密模型如图2所示。图2:非对称加密模型非对称加密系统的特点如下:1)消息的接收方有一对公钥和私钥,公钥用于加密数据,私钥用于解密数据。在使用公钥加密算法之前,需要一个初始化过程来安全地生成用户的公钥和私钥,并发布公钥。2)公钥是公开的数据,任何用户都可以通过一定的方法获得,即公钥是不保密的。3)使用公钥和密文,在不知道私钥的情况下,很难计算出对应的明文。2、常用的加密算法加密算法分为对称加密算法、非对称加密算法和散列算法。对称加密算法常见的对称加密算法有:DES、3DES、AES。DES(DataEncryptionStandard):在算法中,数据以64位组加密,有效密钥长度为56位。数据加密标准速度快,适用于加密大量数据的场合。3DES(TripleDES):基于DES算法,用3个或2个DES密钥对一串明文进行加密。密码长度最少为112位,最多为168位。一段数据用三个不同的密钥加密三次。与DES相比,它的强度更高。AES(AdvancedEncryptionStandard):是一种块长可变、密钥长度可变的迭代块加密方法。块长度为128位,密钥长度为128位、192位或256位。高级加密标准,速度快,安全性高。非对称加密算法常见的非对称加密算法有RSA、DSA、ECC。RSA:是一种公钥算法,支持变长密钥,需要加密的文件块的长度也是可变的。DSA(DigitalSignatureAlgorithm):数字签名算法是一种标准的数字签名标准。它主要用于数字签名和认证,与RSA不同的是它不能用于加密、解密和密钥交换,只能用于签名。ECC(EllipticCurvesCryptography):椭圆曲线密码术。与RSA相比,ECC具有抗攻击性强、计算量小、处理速度快、占用存储空间小、带宽要求低等优点。哈希算法常见的哈希算法包括MD5、SHA1和SHA256。MD5(MessageDigestAlgorithm5):它的算法以任意长度的消息文件作为输入,并产生一个128位的摘要作为输出。它是一种单向哈希算法,不可逆,相同的明文产生相同的密文。SHA1(SecureHashAlgorithm1):它的算法以任意长度的消息文件作为输入,并产生一个160位的摘要作为输出。SHA256(SecureHashAlgorithm256):它是一种SHA2。对于任意长度的消息,SHA256都会生成一个256位的哈希值,内部状态大小为256位。三种算法的比较对称加密算法使用相同的密钥进行加密和解密,速度快,适用于加密大量数据。对称加密的客户端和服务端使用相同的密钥,容易被破解,安全性低。非对称加密算法采用公钥加密,私钥解密,私钥签名公钥验证,安全性高于对称加密,但速度较慢。非对称加密的客户端和服务端使用的密钥不同,不易被破解,安全性高。哈希算法主要用于防篡改签名。它可以输入任意长度的字符串,得到一个固定长度的字符串。国密算法国密是指国家密码管理局认可的国产密码算法,包括对称加密算法、椭圆曲线非对称加密算法和哈希算法,具体为SM2、SM3、SM4等。由于国密算法安全性高以及国产加密算法的特点,现阶段G银行的加密系统采用的算法是国密算法。SM2椭圆曲线非对称加密算法,密码强度为256位。该算法基于ECC,256位的SM2密码强度高于2048位的RSA密码强度,安全性高,主要用于实现数字签名和数据加密等功能。SM3散列算法,也称为散列算法,输出一个长度为256位的散列值。其安全性高于MD5算法和SHA1算法。主要用于计算消息的摘要,检查消息的完整性。SM4组对称加密算法,数据组长度为128位,密钥组长度也为128位,安全性高于3DES算法。主要用于实现数据的加解密操作,保证数据和信息的机密性。3、加密的常用功能1)防止机密数据被泄露或篡改;2)防止特权用户查看私人数据文件;3)防止不速之客查看机密数据文件;4)使入侵者难以找到系统文件。数据加密可以在网络OSI七层协议的多层上实现(OSI是OpenSystemInterconnect的缩写,意为开放系统互联),所以从加密技术应用的逻辑位置来看,有以下三种方式:链路加密:通常将网络层以下的加密称为链路加密,主要用于保护通信节点之间传输的数据。加密和解密是通过放置在线路上的密码设备来实现的。节点加密:对链路加密的改进。协议传输层加密主要是对源节点和目标节点之间传输的数据进行加密和保护,克服了链路加密易在节点非法访问的缺点。端到端加密在网络层之上的加密称为端到端加密。在应用层对数据信息进行加密,易于用软件实现,成本低,但存在密钥管理困难的问题,主要适用于大规模网络系统中多个发送方和接收方之间传输信息的情况.4密钥管理体系4.1密钥生命周期在任何安全体系中,密钥安全管理都是关键环节。如果密钥不能得到有效保护,那么设计再好的密码系统又有什么用呢?用它。所谓密钥管理,是指通信各方之间建立和保护密钥的一整套过程和机制。如果密钥是不可变的,那么密钥管理就会很简单,但是安全策略要求用户定期或不定期地更改密钥。在一个完善的密钥管理系统中,密钥有自己的产生、使用和消亡的过程,这些过程构成了子密钥的生命周期。密钥的生命周期主要有四种状态:4.2密钥管理生命周期系统处于密钥管理中的一系列不同状态称为密钥管理生命周期。在密钥生命周期的四种状态中,密钥管理生命周期的状态如图3所示。图3:密钥管理生命周期4.3密钥的层次结构将密钥组织成层次结构是保护密钥的有效方法。除了最底层的密钥外,其他层级密钥的作用都是为了保护其下层的密钥,底层密钥用于保护数据通信的安全。根据层次结构,密钥分为以下三类:1)主密钥:在密钥层次结构的最高层,没有其他密钥保护主密钥,因此只能手动建立主密钥.2)加密密钥的密钥:对密钥传输协议中的其他密钥进行加密,可以保护密钥在下层的安全传输。3)数据密钥:位于密钥层次结构的最底层,用于对用户数据进行加密,使数据能够安全传输。这种分层方式限制了密钥的使用,从而降低了密钥暴露的可能性,大大降低了密钥被攻击的风险。五、加密平台系统部署架构金融机构通常会购买硬件加密机来完成数据加解密算法需求。由于加密机设备特殊的安全设计,可以保证密钥信息的高安全性:1.加密机通过逻辑设计保证密钥的明文不会暴露在加密机外部,以及所有机密数据都将在加密机内部进行计算;第二,加密机具有自毁装置,无法通过物理手段非法获取密钥。此外,加密机采用高性能国产算法处理芯片,确保一台加密机一秒内可处理数十万次加密运算。以GBank加密系统部署为例,GBehavior提升了密钥的统一安全管控水平,降低了密钥管理成本和运营成本,建立了完善的加密机管理体系,提供统一的安全加密适用于银行中的所有系统。操作请求。加密机综合管理系统的主要功能包括两个方面。一是密钥管理平台承载的密钥管理功能,实现全行各类密钥的集中生成、存储、分发等密钥管理功能;服务于加密平台承载的加密算法,为全行业务应用系统提供集中统一的数据加解密服务,主要包括报文MAC生成与验证、用户密码转换与验证、机密文件加解密data,anddatapacket文件的签名和验证。由于加密平台是加密机综合管理系统的核心业务功能,这里主要介绍加密平台的应用逻辑架构,如图4所示。图4:加密系统应用逻辑架构图为了保证交易加密请求成功率,加密平台整体采用三层负载均衡逻辑架构,分别为:API端负载均衡、接入服务负载均衡、加密机接入负载均衡。在三层负载均衡架构下,交易系统的成功率可以保证达到100%。5.1主要功能模块加密平台的主要应用功能模块主要包括:加密API:部署在各个应用系统中,由各个应用系统直接调用,发起加密算法请求。在API的设计上,通过轮询、超时、重传、故障检测、自动恢复等机制来保证成功率。加密平台一般形成一个由x个单元组成的集群。加密API依次向下n个加密平台发送加密请求。超时设置一般小于z毫秒。当请求超时后,会自动重新发送到下一个加密平台。如果加密平台返回码为系统错误(非业务错误),API会自动再次向下一个平台发送请求;当连续请求加密平台失败的次数达到设定次数时,加密平台将被设置为异常,不会再向该平台发送请求,然后每隔固定时间发起一次检测交易。如果检测成功,则加入正常处理队列。Server1:接收加密API的服务请求,检查报文格式,根据密钥名和交易码确认需要路由的后台加密机,将交易请求放入对应的共享内存中。为了保证交易处理的效率,加密平台会将密钥预加载到内存中并进行排序。当server1需要获取key属性时,可以快速使用二分查找算法找到对应的key。由于加密平台需要为全行上百个系统提供服务,server1会面临连接数过高的问题。Server1采用多端口和链路聚合来解决问题。server1同时开启十几个监听端口对外提供服务,使事务均匀分布在各个端口上,同时保留部分端口用于容灾备份。另外,使用epoll技术,借鉴nginx的链路聚合方式,一个服务进程最多可以承载上万个连接请求。Server2:负责接收共享内存中的请求报文,将请求报文转换为加密机可识别格式的请求报文,发送给相应的加密机。该模块实现了主要的业务处理功能,通过基本的加密机指令形成近百个通用的消息数据加解密请求,为上游提供服务。由于对称密钥和非对称密钥在处理效率上存在数十倍的差距,为了避免相互干扰,需要将加密机分为对称密钥加密组和非对称密钥加密组。每个server2进程只连接其中一台加密机,同时启动多个server2进程,并发处理共享内存的加密请求。server2具有加密机异常检测功能。当发现加密机异常时,server2会将加密机设置为异常状态,然后server2自动退出处理,然后由专门的服务程序对异常加密机进行恢复检测。密钥管理功能:由于加密请求通常只是各种算法的运算,不涉及数据更新,因此加密平台独立分离了与密钥和更新相关的功能。密钥更新操作主要是增加新密钥和同步密钥。涉及的模块主要包括server3和server4,server3用于处理密钥管理事务,server4负责与数据库直接交互。Server5:负责同步密钥更新操作给同组的其他加密服务器。由于每笔金融业务流程涉及多笔交易,每笔交易都会在多个系统流转中多次调用加密请求,因此加密平台的处理效率对业务的整体处理效率影响很大。在设计和编程时必须特别注意处理效率。目前加密平台采用靠近调用系统分机房的方式部署,多集群分布式部署在不同网域。在这种部署模式下,加密平台可以实现每次加密请求的响应时间约为ams,可以在高并发用户下提供极高的TPS处理性能。5.2问题与挑战随着银行系统的发展,接入系统迅速壮大,分布式加密平台服务器数量也迅速增加。带来的首要问题是管理,包括:客户端API管理、加密平台管理、Key管理。API管理存在的主要问题是:加密系统无法全面掌握和控制各个系统的API配置方式、使用方式和运行状态,存在配置信息不规范、使用方式不规范、运行异常等问题无法及时发现。加密平台的管理问题主要是:加密平台服务器多,集中维护管理困难,操作复杂,应急响应效率不高。密钥管理存在的主要问题是:加密平台分布式部署后缺乏集中的密钥管理中心,密钥同步操作复杂,操作风险大,容易出现遗漏和错误的问题多个服务器之间的密钥同步。此外,还有一个问题,即一个加密请求涉及多个密钥,但这些密钥不允许跨加密机器直接操作。随着互联网、大数据、云计算、人工智能、区块链等技术创新与传统金融服务的融合,未来银行信息系统也将向全面的云化技术体系演进。当集成的组件越来越多时,云加密和密钥管理的广泛应用趋势将逐渐加快。云技术可以提供更灵活的安全服务,实现更好的数据访问、密钥管理和数据保留策略。长期进步;未来,为了构建集中的加密管控系统,可以将加密系统与云技术相结合,在云端更高效、更集中地配置和管理加密系统。银行体系建设的架构将进一步丰富银行的基础服务能力。六、总结与展望信息加密技术是金融行业安全运营的重要组成部分,其重要性不容忽视。随着加密算法的公开和解密技术的发展,加密算法的种类也越来越丰富。它们的应用场景涉及用户登录、身份验证和交易。不同的应用场景会使用不同的加密算法来达到目的。.伴随着社会数字化趋势,未来加密算法将继续深入应用于银行系统,技术方向也将进一步向分布式架构路线演进;密码系统的应用运维管理将更加合理,应急工具和监控的不断完善和丰富也将促进系统运维效率的进一步提高,增强系统安全运行的保障能力。运维中心。