APP下载

基于密码学的网络金融安全防范措施探讨

2023-04-05周伊婷朱昌明

企业改革与管理 2023年3期
关键词:明文私钥公钥

周伊婷 朱昌明

(1.上海海事大学 财务处,上海市 201306;2.上海海事大学 信息工程学院,上海市 201306)

一、网络金融的作用及面临的主要问题

(一)网络金融的作用

网络金融是金融业的分支,旨在通过融合网络技术和金融业,使金融从事者可以通过网络来进行交易、运作。作为新型金融运作模式,网络金融以金融服务提供者的主机为基础,内嵌金融数据和业务流程,通过用户终端为操作界面,实现电子支付、网络保险、网络银行、网络证券等金融业务的开展。所以,网络金融为全面实现金融信息化和国民经济信息化奠定了基础。

近年来,网络金融逐步展现出以下六个方面的作用:一是依赖网络技术的发展,网络金融的经营成本(含建设成本、运营成本、清算成本和维护成本)大幅度降低。二是由于网络的高覆盖性和时空跨越性,网络金融可以提供跨时空维度的优质服务。三是通过计算机系统和信息化数据库的配合,网络金融提高了金融业的管理效率,优化了管理机制,强化了风险控制。四是基于高效的服务效率和管理机制,网络金融可以吸引优质客户,且网络系统特有的过滤功能可以为机构筛选出优秀客户,可以进一步保证机构的安全。五是网络金融提高了系统升级和维护的便利程度。传统的系统维护往往从客户端开始,这样需要投入大量的时间和精力。但是,在使用互联网技术后,特别是客户端—服务器模式之后,这一现象得到很好的改善。系统升级只需要对服务器做改动即可,完全可以隔离客户端。这样的技术可以使金融机构将更多的时间用于新产品和服务的开发上,最大程度地满足客户的要求。六是网络金融有利于金融的全面发展。在互联网的帮助下,金融机构不仅可以从事更多的业务,如网络银行、网上贸易融资、网上保险、网上国际结算、网上证券经纪等全方位金融服务,避免了重复工作;而且有利于实现资源共享,可以让客户在不同的地方拥有同等效果的业务结果,避免对同一用户做重复服务,从而提高效率,避免或减少金融欺骗。

(二)网络金融面临的主要问题

随着科技的发展和贸易一体化的形成,网络金融步入全新的发展阶段,但网络金融业务取得迅猛发展的同时,也衍生出一些潜在的风险。其中,业务风险又分为信用风险(因债务人的信用问题,未履行条约合同规定的内容而导致的银行损失)、流动性风险(因资产到期而无法变现,导致银行资产和收益的损失)、信誉风险(因银行内部人员的渎职、系统的错误、外部人员的恶意攻击而使银行遭受名誉受损)、利率风险(因利率变动而使银行蒙受损失)、汇率风险(跨国业务中的汇率变动往往会使某一国的银行受损)。技术风险则包括了安全风险(因系统隐患、操作失误所带来的损失)和技术选择风险(由于技术选择失误导致科技进步时,技术无法跟上科技发展的脚步产生滞后性,结果导致竞争力下降、技术陈旧、网络过时的危险,易使金融机构遭受损失)等。

除此之外,随着数据规模的扩大,网络金融的数据风险也备受学者们的重视。所谓网络金融的数据安全风险,主要包含交易数据泄露、机密信息被盗、交易平台被攻击等。相较于信用风险和技术风险,数据安全风险对网络金融安全的影响更大。

二、提升网络金融数据安全的相关措施

如何构建以数据安全为目标,结合应用场景的管控方案,现在已经成为金融机构、金融行业数据安全管理亟待解决的问题。为了提升数据的安全性,各行业企业已经采取了如下相关措施。

首先,制定统一的数据安全防泄密措施,健全数据使用合规管控制度,遵从和落实国家的法律法规要求,参照国家的数据安全标准,明确数据使用的合规要求和安全红线。例如,2020年中国人民银行发布的《个人金融信息保护技术规范》中就明确了个人金融信息在收集、传输、存储、使用、删除、销毁等生命周期各环节的安全防护要求,我国的个人信息保护法在惩罚力度上比欧盟《通用数据保护条例》(GDPR)更为严格。

其次,进一步建立和完善相关制度,如数据分类分级制度。利用工具,先是对现有的数据进行调研、梳理,再对数据进行分类分级管理。例如,数据分类的依据主要有三方面,一是梳理形成的数据清单,二是要结合人工调研了解到的数据应用场景及业务,三是中国人民银行发布的JR/T0197-2020《金融数据安全数据安全分级指南》等。

然后,加强数据安全防护技术的升级与提升,做好外部合作的安全管理。当前,不少中小规模金融机构依托传统边界的安全架构,已经建成较为严密的网络安全边界防护措施,结合一些数据安全产品和工具,一定程度地避免数据泄露等安全问题。

最后,在数据产生、收集、处理、使用等过程中,做好数据生命周期的安全管理。一方面,结合一些防泄密产品和工具,可在一定程度地避免数据泄露等安全问题。另一方面,要对内部人员进行行为管控。

三、一种改进的加密和认证方法

在上述提到的维护网络金融数据安全的措施中,结合防泄密产品和工具已经成为一种主流方式。本文基于密码学设计一种防泄密算法,即改进的加密和认证方法。

(一)公钥和私钥

公钥(Public Key)与私钥(Private Key)是通过加密算法得到的一个密钥对(即一个公钥和一个私钥,也就是非对称加密方式)。公钥可对会话进行加密、验证数字签名,只有使用对应的私钥才能解密会话数据,从而保证数据传输的安全性。公钥是密钥对外公开的部分,私钥则是非公开的部分,由用户自行保管。

(二)基本原理

本文介绍基于公钥和私钥来保护金融机构之间沟通和交易的方式。

在密码学中,加密系统主要有四个专业术语:一是明文,即被加密的报文;二是密文,即加密后的报文;三是密码体制,即加密和解密的算法;四是密钥,用于加密和解密的钥匙,由一串数字流、符号流所组成。

加密的过程如下,发送信息的一方,要发送一串数据,即明文,记为M,然后利用加密密钥K1和加密算法E,把明文加密成密文,记为C,即C=EK1(M);再把C送到接收方,接收方则利用密钥和解密算法把密文变成明文,即M=DK2(C)。如果K1与K2不同,则可以得到以下的表达式:

DK2(EK1(M))=DK2(C)=M

但是,有了加密算法和解密算法并不一定能保证安全性。因为在一般的密码系统中,密文在传送过程中是很容易就被截获的,那么明文的信息就容易被破解。所以,为了防止明文的泄漏,应该构造一个好的密码系统。那么什么是一个好的密码系统呢?对此,Francis Bacon提出了三个条件用于判别一个好的密码系统:一是给定加密密钥K1和明文M时,加密算法E(M)易算;给定解密密钥K2和密文C时,解密算法D(C)易算;二是K2不知的情况下,也不可能由C推出M;三是密文看起来不应该让别人产生怀疑。

总体而言,一个好的密码系统就是在不知道解密方法时,由密文计算明文是不行的。对于合法的通信双方而言,加密和解密很容易。但对于恶意破坏者,密码破译者而言由密文推导出明文就算是不可行的。然而,当前大量加密算法的基本思想就是利用加密密钥对发送的信息进行加密,再通过通信信道将信息发送给接受方,接收方用解密密钥对信息进行解密,从而接受发送方送过来的信息。这看上去很容易,但是细想一下,如果在发送过程中,消息被窃取,被第三方假冒发送方发送虚假信息,或者修改删除原有信息,那么就很容易产生泄密。为此,人们提出了认证的概念。所谓认证,就好比我们在平时生活中通过身份证、护照、工作证等“物理物品”来辨认交易对方一样,在电子商务中使用的认证也需要让交易双方确定对方是自己的合作伙伴,而不是竞争对手,于是便出现了不少认证方法。而本文就是提出一种改进的加密和认证方法。

(三)改进的加密和认证方法分析

为了更好地陈述本文所提出的方法,先引入协议的概念。协议指商业机构之间进行数据传输、信息交流时必须共同遵守的道德协议和电子商务协议。其中,电子商务协议是指双方要进行信息交流,就必须要有服务器和客户端。现在普遍采用的是服务器——客户端模式,因此对于任何一家商业机构而言,他们如果要进行交流和通信,他们的服务器和客户端内的逻辑分层(即为了信息传输的准确性,把计算机内部传输分成一些层次,主要是OSI、TCPIP和IEEE802.11结构)之间不同端的相同层次必须使用相同的协议,这样才能保证信息传输的准确性,而这里的计算机中的协议具体指不同结点的相同层次要有相同的功能。那么基于这些结构,商业机构又要遵循相同的商业电子协议。当前主流的协议是SET协议。该协议是由维萨和万事达等国际信用卡组织于1996年2月1日会同一些计算机供应商所开发的安全电子交易协议。

在上述协议的概念下,假设有A、B两家公司要进行商业协商,但又不希望被偷窃信息,则若基于传统的做法,A公司要发信息,将其信息作为明文M。它先用一种加密密钥K1对M进行加密,利用加密密钥K1和加密算法E,把这些信息加密成密文C;而B公司收到后,用解密密钥K2对C执行解密算法D,解出明文M,从而与A公司交流。但这种密钥太容易被识破了。所以本文的解决方法如下。

首先A公司有一对密钥,其中一个是用于加密的公开密钥(公钥PA),另一个是A公司自行保存的密钥(私钥RA);而B公司也有一对密钥,用于公开的加密密钥PB和用于解密的私有密钥RB。他们双方可以利用认证技术,交换各自的公钥,那么A公司就用B公司的公钥PB对信息进行加密,然后信息通过通信信道传送给B公司,B公司用自己的私钥RB对信息进行解密,从而得到A公司的信息。B公司用A公司的公钥PA对自己所要传输的信息进行加密,然后传给A;A则用自己的私钥RA对B送过来的信息进行解密,从而了解到B公司的回复信息,并完成一次交流。在这个方法之中要注意的是,A、B两家公司各自的公钥和私钥不能存在可逆的结果,即攻击者不能由公钥简单得出私钥,也不能由私钥简单得出公钥。那么如何得到不可逆的公钥与私钥,从而保护密钥不被识破呢?

鉴于现在的数学技术中大素数很难被解破这一特点,本文利用大素数来构造密钥。我们知道,多个大素数相乘很简单,如131*11*11=27641,但是把相乘后的结果再分解成多个素数要很长时间。况且要注意一点的是计算机中的数据对于计算机而言全部是以0、1这样的二进制数据来存储的,比如十进制数1023,它的二进制数就是1111111111。那么对于一个由两个大素数相乘所得的十进制作为密钥的话,它的二进制数位必然很长。在计算机科学中,做过这样一个统计,如果要充分破解一个二进制位为100位的密钥,那么计算机至少要破解74年;如果要破解200位长的密钥,要38亿年,这样一个年份,是不可能有人破解的,因此A、B两家公司可以采用128位的密钥来进行加密。

另外,为了让A、B两家公司可以肯定的明确信息来源于对方,本文采用了类似于信封一般的认证技术。众所周知,由于信封上所拥有的地址和姓名,我们可以知道这封信是来自谁的。尽管这可能会有假冒信件以骗取利益,但至少可以肯定的是这封信的名义主人是谁。或许接收方就可以通过电话等方式询问加以确认,电子认证技术也是一样的。

为了让A、B双方确认对方信息,本文采用了基于HASH函数的认证技术。所谓HASH函数,就是一种将不规则长度的信息映射成为具体相同长度的数据的函数。而且这种函数的特点是不同的数据通过HASH函数后,都会有不同的映射结果。这样就防止了数据的伪造。那么本文先把A公司要发送的数据先通过HASH函数映射成为一串新的数据,称作为数字签名。数字签名就像是在传统商业中的文件签名一样。然后,A公司用B公司的公钥PB进行对自己的明文、数字签名、和自己的公钥进行加密,形成二次加密。然后将这些二次加密后的东西形成一个数字信封发送给B公司。

B公司在收到这个数字信封后,先用自己的私钥RB解开这个信封,得到用A公司发来的明文、数字签名和公钥。由于密钥的对称性,B公司只要用A公司的公钥PA对明文再做HASH映射,便会得到一个新的数字签名,将两个数字签名进行比较,只要相等,便可以得到一个结论,这个信息确实来自A公司。那么B公司便可以得到A公司发来的信息了,然后用同样的方法给A公司发送信息。

这样一来,A、B两家公司便可以进行放心的交流信息了。因为如果数字签名不正确,那么不容置疑,这个信息必定不来自于A或B。

然而,在这种加密和认证的方法下,是否一定安全呢?经过严密验证(可以通过概率论和生日悖论知识来进行),可以知道这种加密和认证方法被攻破的概率约为:

由于n很大,一般可以取1024位,k可以取小于10位的数据,因为报文分组的长度一般不超过100位,那么这样算下来,概率几乎为0.1,可以认为是完全的,而且即使通过计算机破译,也要上万年。再排除偶然性破解的可能性,这种认证和加密的方法在计算上是安全的。

因此,A公司和B公司之间的信息传送方式可以采用这种方法,他们的交易也将会基本上不出问题。以上便是本文所提到的改进的加密和认证方法。这种方法可以用于当今的网络金融中并对存在的数据安全问题进行较好地处理。

四、总结和展望

网络金融作为现代科技的产物,具有良好的应用效果且有助于提升工作效率,但是,保证它的安全性是当前各主体面临的一个主要问题。本文针对网络金融中的数据安全问题,从密码学的角度提出了一种改进的加密和认证方法。不同于传统的加密算法,本文基于大素数理念,设计不可逆的公钥与私钥,并利用基于HASH函数的认证技术以确保通信双方的安全性。笔者期望未来将该方法用到保险、期货等应用场景中,以更好地验证本文方法的有效性。

猜你喜欢

明文私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
奇怪的处罚
HES:一种更小公钥的同态加密算法
奇怪的处罚
SM2椭圆曲线公钥密码算法综述
四部委明文反对垃圾焚烧低价竞争