资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 电子商务安全的技术措施,2.1信息安全技术 2.2网络安全技术 2.3抗击病毒与防范黑客,2.1信息安全技术,2.1.1密码技术 2.1.2数字签名技术 2.1. 3验证技术,2.1信息安全技术,针对电子商务所面临的安全威胁,以及由此提出的安全需求,国内外学术界和相关厂商已提出了很多相应的解决方案,并且基本上满足了人们在Internet上开展安全的电子商务活动的愿望。,2.1.1密码技术,数据加密技术是认证技术及其他安全技术的基础,是电子商务采取的基本安全措施。“加密”,简单来讲,就是使用数学的方法将原始信息(明文)重新组织与变换成只有授权用户才能解读的密码形式(密文)。而“解密”就是将密文重新恢复成明文。密码技术分为两类,即对称加密技术和非对称加密技术。,2.1.1密码技术,1. 对称加密技术: 对称加密技术,也称作密钥密码技术,其特点是计算量小、加密速度快。它有各种形式:从简单的替换密码到较复杂的构造方式,其中同一个密钥既用于加密也用于解密所涉及的文本。也就是说加密和解密数据使用同一个密钥, 即加密和解密的密钥是对称的。原始数据(即明文)经过对称加密算法处理后,变成了不可读的密文(即乱码)。解密原文时, 必须使用同样的密码算法和密钥, 即信息的加密和解密使用同样的算法和密钥,这种密码系统也称为单密钥密码系统。 对称密码算法加密和解密使用同一个密钥,容易产生发送者或接收者单方面密钥泄露问题,在网络环境下应用时必须使用另外的安全信道来传输密钥,容易引起密钥泄露和信息失密等问题。,2.1.1密码技术,1) DES加密标准 DES(Data Encryption Standard)是世界通用的一种基本的加密方法,是由IBM提出的,在计算机网络通信中的应用极其广泛。DES算法描述: (1) 对64位的明文分组进行加密操作。 (2) 首先通过一个初始置换(IP), 将64位明文分组分成左半部分和右半部分,各为32位。 (3) 然后进行 16 轮完全相同的运算, 这些运算称为函数 f,在运算过程中,数据和密钥结合。 (4) 经过 16 轮运算后, 再通过一个初始置换的逆置换(IP1),将左半部分和右半部分合在一起, 最终得到一个64位的密文。,2.1.1密码技术,2) AES加密标准 AES是一种可用来保护电子数据的新型加密算法,它是由比利时研究员Daemen和Rijmen发明的,所以也称为Rijndael算法。 AES为分组密码算法, 数据块长度为128 位, 密钥长度为128、192、256 位可选, 以下分别称之为AES - 128、AES - 192和AES - 256。AES算法主要由密钥扩展、加密模块和解密模块三部分组成。密钥长度、数据块长度以及加密轮数的组合情况如表2-1 所示。,2.1.1密码技术,表2-1 密钥长度、数据块长度以及加密轮数的组合,j1是否应删除此字? j2同上。,2.1.1密码技术,2. 非对称密码技术 在公钥密码体制出现以前的所有的密码算法都是基于代换和置换这两个基本工具。而公钥密码体制则为密码学的发展提供了新的理论和技术基础,一方面公钥密码算法的基本工具不再是代换和置换,而是数学函数;另一方面公钥密码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。可以说公钥密码体制的出现是密码学史上的一个伟大的里程碑。,2.1.1密码技术,1) 公钥密码体制的原理 公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,用于加密,称为公开密钥,简称公开钥;另一个密钥是用户专用,因而是保密的,用于解密,称为秘密密钥,简称秘密钥。因此公钥密码体制也称为双钥密码体制。算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的。,2.1.1密码技术,图2-1 公钥体制加密的框图,2.1.1密码技术,图2-1是公钥体制加密的框图,加密过程有以下几步: 要求接收消息的端系统,产生一对用来加密和解密的密钥,如图中的接收者B,产生一对密钥PKB,SKB,其中PKB是公开钥,SKB是秘密钥。 端系统B将加密密钥(如图中的PKB)予以公开。另一密钥则被保密(图中的SKB)。 A要想向B发送消息m,则使用B的公开钥加密m,表示为c=EPKBm,其中c是密文,E是加密算法。 B收到密文c后,用自己的秘密钥SKB解密,表示为m=DSKBc,其中D是解密算法。因为只有B知道SKB,所以其他人都无法对c解密。,2.1.1密码技术,2) RSA密码体制 RSA算法是第一个比较完善的公钥密码算法,它是用Rivest、Shamir和Adleman三个发明者的名字命名的,它既可用于加密数据, 又可用于数字签名,并且比较容易理解和实现。RSA算法经受住了多年的密码分析的攻击,具有较高的安全性和可信度。 算法描述: RSA的安全性基于大数分解的难度,其公钥和私钥是一对大素数的函数,从一个公钥和密文中恢复出明文的难度等价于分解两个大素数之和。 设n是两个不同奇素数p和q的积,即:n=pq, (n)=(p-1)(q-1)。,2.1.1密码技术,定理1(Euler)对任意的aZn*,有a(n)1 mod n,其中Zn*=xZn|gcd(x,n)=1,()表示Euler函数。 定理2 设p和q是两个不同的素数,n=pq, (n)=(p-1)(q-1),对任意的xZn及任意的非负整数k,有 xk(n)+1x mod n.,2.1.1密码技术,3) 椭圆曲线密码体制 为保证RSA算法的安全性,它的密钥长度需一再增大,使得它的运算负担也越来越大。相比之下,已被IEEE公钥密码标准P1363采用的椭圆曲线密码体制ECC(elliptic curve cryptography)可用短得多的密钥获得同样的安全性,因此具有广泛的应用前景。 有限域上的椭圆曲线: 椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似。一般来讲,椭圆曲线的曲线方程如下: y2+axy+by=x3+cx2+dx+e (2.1) 其中a,b,c,d,e是满足某些简单条件的实数。定义中包括一个称为无穷点的元素,记为O。图2-2是椭圆曲线的两个例子。,2.1.1密码技术,图2-2 椭圆曲线的两个例子,2.1.1密码技术,从图2-2可见,椭圆曲线关于x轴对称。 椭圆曲线上的加法运算定义如下: 如果其上的3个点位于同一直线上,那么它们的和为O。进一步可如下定义椭圆曲线上的加法律(加法法则): (1) O为加法单位元,即对椭圆曲线上任一点P,有P+O=P。 (2) 设P1=(x,y)是椭圆曲线上的一点(见图2),它的加法逆元定义为P2=-P1=(x, -y)。 这是因为P1、P2的连线延长到无穷远时,得到椭圆曲线上的另一点O,即椭圆曲线上的3点P1、P2,O共线,所以P1+P2+O=O,P1+P2=O,即P2=-P1。 由O+O=O,还可得O=-O,2.1.1密码技术,(3) 设Q和R是椭圆曲线上x坐标不同的两点,Q+R的定义如下: 画一条通过Q、R的直线与椭圆曲线交于P1(这一交点是惟一的,除非所做的直线是Q点或R点的切线,此时分别取P1=Q和P1=R)。由Q+R+P1=O得Q+R=-P1。 (4) 点Q的倍数定义如下: 在Q点做椭圆曲线的一条切线,设切线与椭圆曲线交于点S,定义2Q=Q+Q=-S。 以上定义的加法具有加法运算的一般性质,如交换律、结合律等。,2.1.2.数字签名技术,1. 数字签名应满足的要求 1) 验证签字产生者的身份,以及产生签字的日期和时间。 2) 用于证实被签消息的内容。 3) 数字签名可由第三方验证,从而能够解决通信双方的争议。 2. 数字签名的产生方式 1) 由加密算法产生数字签名 2) 利用加密算法产生数字签名是指将消息或消息的摘要加密后的密文作为对该消息的数字签名,其用法又根据是单钥加密还是公钥加密而有所不同。,2.1.2.数字签名技术,3) 由签字算法产生数字签名 签字算法的输入是明文消息M和密钥x,输出是对M的数字签名,表示为S=Sigx(M)。相应于签字算法,有一验证算法,表示为Verx(S,M),其取值为 算法的安全性在于从M和S难以推出密钥x或伪造一个消息M使M和S可被验证为真。,2.1.2.数字签名技术,3. 数字签名的执行方式 数字签名的执行方式有两类: 直接方式和具有仲裁的方式。 1) 直接方式 直接方式是指数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密钥或接收一方知道发方的公开钥。 直接方式的数字签名弱点在于方案的有效性取决于发方秘密钥的安全性。如果发方想对已发出的消息予以否认,就可声称自己的秘密钥已丢失或被窃,因此已发送的消息的签字是他人伪造的。可采取某些行政手段,虽然不能完全避免但可在某种程度上减弱这种威胁。例如,要求每一被签字的消息都包含有一个时戳(日期和时间)并要求密钥丢失后立即向管理机构报告。这种方式的数字签名还存在发方的秘密钥真的被偷的危险,例如敌手在时刻T偷得发方的秘密钥,然后可伪造一消息,用偷得的秘密钥为其签字并加上T以前的时刻作为时戳。,2.1.2.数字签名技术,2) 具有仲裁方式的数字签名 直接方式的数字签名所具有的缺陷都可通过使用仲裁者得以解决。具有仲裁方式的数字签名也有很多实现方案,这些方案都按以下方式运行: 发方X对发往收方Y的消息签字后,将消息及其签字先发给仲裁者A,A对消息及其签字验证完后,再连同一个表示已通过验证的指令一起发往收方Y。此时由于A的存在,X无法对自己发出的消息予以否认。在这种方式中,仲裁者起着重要的作用并应取得所有用户的信任。,2.1.2.数字签名技术,4.数字签名算法DSA DSA是在ElGamal和Schnorr两个签字方案的基础上设计的,其安全性基于求离散对数的困难性。 算法描述如下: 1) 全局公开钥 p:满足2L-11的任一整数。 2) 用户秘密钥x x是满足0xq的随机数或伪随机数。 3) 用户的公开钥y ygx mod p。,2.1.2.数字签名技术,4) 用户为待签消息选取的秘密数k k是满足0kq的随机数或伪随机数。 5) 签字过程 用户对消息M的签字为(r, s), 其中r(gk mod p) mod q,sk-1(H(M)+xr) mod q,H(M)是由SHA求出的杂凑值。 6) 验证过程 设接收方收到的消息为M,签字为(r,s)。计算 w(s)-1 mod q,u1H(M)w mod q u2r w mod q,v(gu1yu2) mod p mod q,2.1.2.数字签名技术,检查v是否等于r,若相等,则认为签字有效。这是因为若(M,r,s)=(M,r,s),则 算法的框图如图3所示,其中的4个函数分别为 sf1H(M),k,x,r,qk-1(H(M)+xr) mod q r =f2(k,p,q,g)(gk mod p) mod q w =f3(s,q)(s)-1 mod q v =f4(y,q,g,H(M),w,r) (g(H(M)w) mod qyrw mod q) mod p mod q,2.1.1密码技术,图2-3 DSA的框图,2.1. 3 验证技术,验证技术是指使意定的接收者能够检验收到的消息是否真实的方法。检验的内容包括:证实消息的源和宿、消息的内容是否被篡改过(即消息的完整性)、消息的序号和时间性。可见,消息认证可使接收者识别消息的源和内容的真伪、时间性。 消息的源和宿的认证可使用数字签名技术和身份识别技术,常用的方法有两种:一种方法是通信双方事先约定发送消息的数据加密密钥,接收者只需证实发送来的消息是否能用该密钥还原成明文就能鉴定发送者。如果双方使用同一个数据加密密钥,那么只需在消息中嵌入发送者的识别符即可。另一种方法是通信双方事先约定各自发送消息所使用的通行字,发送消
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号