前言

大三下学期,电子商务的期末作业。。。

摘要

互联网的快速发展使电子商务称为商务活动的新模式,电子商务从产生至今虽然时间不长,但发展十分迅速。由于电子商务是在互联网环境下进行的商务活动,如何保证这些商务活动的安全性就是一个很重要的问题。本文就此问题展开一些相关讨论,主要包括对称加密、非对称加密、哈希算法的应用,以及 HTTPS 协议保证双方通信安全的原理介绍。

关键词:对称、非对称加密,数字信封,数字证书,数字签名,消息认证码

目录

一:加密技术里的专有名词介绍2

二:对称加密的应用2

三:非对称加密的应用3

四:哈希函数4

五:HTTPS5

六:总结6

一:加密技术里的专有名词介绍
为保证数据和交易的安全,确认交易双方的真实身份,电子商务必须采用加密技术。加密技术是指通过用代码或密码来保障数据安全性的一种手段。

密文:欲加密的数据称为明文,加密后的数据称为密文。

加密:明文经过某种加密算法作用后,转换成密文,这一过程称之为加密。

解密:密文经过某种解密算法作用后,转换成明文,这一过程称之为解密。

密钥:加密算法和解密算法中使用的参数称为密钥。

二:对称加密的应用
对称加密是一种可逆的加密方式,加密方和解密方共用同一把密钥。安全性相对非对称加密要低,但是性能要比非对称加密要高。

图 1 对称加密的示意图

应用场景:

  1. 数据库连接的用户名和密码一般会使用对称加密进行加解密。

  2. 数据库中一些比较敏感的数据比如身份证号、手机、真实姓名、邮箱

等信息会使用对称加密进行加解密。

但这个一般来说不会在代码层面体现出来,因为我们可能还会用到这些手机、姓名什么的数据来作为查询条件使用。如果有这个需求的话,在数据库MySQL中,也提供了一些加解密的操作。

  1. HTTPS 的数据传输阶段使用对称加密进行加解密。

三:非对称加密的应用
非对称加密是一种可逆的加密方式,是通过密钥对来实现的,密钥对包含公钥和私钥,公钥是可以对外公布的,私钥是自己保存的,不对外公布。一般是使用公钥进行加密,私钥解密;私钥签名,公钥验签。

图 2非对称加密的示意图

应用场景:

  1. 在支付领域中,与银行进行通信时会使用非对称加密。

有2种方式来保证通信和数据的安全,

1.1一种是自己生成公私钥,双方互换公钥。

1.2还有一种就是使用数字信封的方式

(采用加密技术来保证只有特定的收信人才能阅读信的内容)。

银行采用对称密钥来加密信息,为了能安全的传输对称密钥,将对称密钥使用我们的公开密钥来进行加密。这部分就称为数字信封,然后将数字信封和对称加密的信息一起发送给我们,我们先用相应的私钥来打开数字信封,得到对称密钥,然后用对称密钥来解开信息。

  1. 在区块链中,通过非对称加密完成数据的加解密和签名验签功能。

  2. 在 HTTPS 的握手阶段,通过使用非对称加密完成握手。

整个传输的过程还是使用的对称加密,因为这个性能是比较好的。问题就在这个密钥的分发问题上,可以在HTTPS的握手阶段,用非对称加密对这个密钥来进行加密传输。

四:哈希函数
哈希严格来说并不算是一种加密算法,但是他可以用来验证数据的完整性,对电子商务的安全也起到了非常重要的重要。哈希函数是一种单向的、有雪崩效应的函数。

应用场景

  1. 安全加密:

系统的密码经常使用MD5、SHA函数处理后存储。

  1. 数据校验:

2.1 P2P资源下载时,都会包含一个MD5值。

2.2 在请求第三方接口,通常会用个sign值,存放所有参数的MD5值。

2.3 区块链中常使用SHA256进行防篡改。

  1. 唯一标识:

3.1 对请求的URL进行MD5。

3.2 对文件进行MD5。

五:HTTPS
在最初的互联网通信中,大多使用的是HTTP协议,在传输的过程中,都是明文在传输,一旦数据被截获,就面临着数据泄露的危险。但是随着电子商务的兴起及发展,人们对数据安全性的要求越来越高。HTTPS就可以解决这个问题。

HTTPS协议可以看成是HTTP传输,用SSL/TLS协议来进行加解密:HTTPS = HTTP + SSL/TLS。

SSL/TLS 是世界上应用最广泛的密码通信方法。比如说,当我们在网上商城中输入信用卡号时,我们的Web浏览器就会使用SSL/TLS进行密码通信。使用SSL/TLS可以对通信对象进行认证,还可以确保通信内容的机密性,他综合运用了密码学中的对称密码、非对称密码、消息验证码、数字签名等密码技术。

TLS 协议包括TLS握手协议和TLS记录协议。

TLS 握手协议:

又分为4个子协议:握手协议、密码规格变更协议、警告协议、应用数据协议。这一层主要负责除加密之外的其他各种操作。

TLS 记录协议:

位于TLS 握手协议的下层,是负责使用对称密码对消息就像加密通信的部分,使用了对称密码和消息认证码,但具体的算法和共享的密钥是通过握手在服务器和客户端之间协商决定的。这一层主要负责进行加密操作。

HTTPS协议的大致流程:

图 3HTTPS协议流程图

TLS 握手协议主要用到的密码技术:

  1. 哈希函数:用来构造随机数生成器。

  2. 随机数生成器:用来生成预备主密码、密钥(密码参数)、初始化向量。

  3. 非对称加密:用来加密预备主密码。

  4. 数字签名:用来验证服务器和客户端的证书。

TLS 记录协议中主要用到的密码技术:

  1. 对称加密:确保消息划分成片段后的机密性。

  2. 消息认证码:确保消息划分片段后的完整性,并进行认证。

  3. 认证加密:确保消息换份成片段后的完整性、机密性,并进行认证。

这里面使用到了数字证书。我们所处的这端,也就是浏览器,主要是通过它里面的信息来判断这个数字证书是不是合法的。

  1. 认证机构是要有权威的,要背负法律责任的,全球目前有50多家机构有资格颁发证书;

  2. 认证机构颁发的证书中包含颁发机构信息、公钥、公司信息、域名、有效期等信息;

  3. 浏览器发起HTTPS请求时,服务器会返回网站的SSL证书,浏览器会对证书做验证:验证域名、有效期等信息是否正确

  4. 判断证书来源是否合法。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源验证;

  5. 判断证书是否被篡改,需要与认证机构的服务器进行校验;

  6. 判断证书是否已吊销

六:总结
加密技术的应用主要在电子商务的通信中的身份认定、权限验证、消息完整等方面。 加密技术要保证付款方和收款方不能存在抵赖行为。所以有时候通过第三方进行收款与存款,也要通过数字签名方式进行身份的确认。另外在一些软件的应用权限方面有严格的要求,要使用多级密码。 为了防止用户口令被黑客攻破,就要提升用户口令的复杂度与安全性,可以考虑使用 MD5 加盐存储技术。 总而言之,加密技术的最终目的是实现数据信息和密码不受侵害,能够进行身份验证和密码权限验证。