电商
APP开发关于非对称密码体系的算法介绍。电商APP开发非对称密钥体系(公钥密码体系)中,安全传送数据的流程是:当Alice要传送数据给Bob时,首先用自己的私钥对数据进行签名,形成第一层保护,再用已公开的Bob的公钥进行加密,形成第二层保护,最后传送给Bob。当Bob接收到此加密数据后,先用自己的私钥解开第二层保护,Bob的私钥只有Bob拥有,他人无法获取,因此,
深圳APP开发公司认为只有Bob能够解密第二层。接着,Bob利用Alice的公钥验证签名,由于只有Alice拥有对应其公钥的私钥,因此,电商类APP开发能够证明数据的发送方是Alice。但是,公钥密码系统的缺点在于,如果Alice在获取Bob的公钥过程中,公钥被中间者篡改或者破坏,Alice便无法使用Bob的公钥了。
因此,APP开发公司为了解决上述问题,可以采用以数字证书为基础的公钥密码系统(Certificate-Based Public Key Cryptosystem),该密码系统中,通过公正的第三方(Trusted Third Party,TTP)为公钥提供有效性保证。因此,数字证书授权(Certificate Authority,CA)机构应运而生,通过由CA签发数字证书(DigitalCertificate)的方式以保证公钥的有效性。
目前,电商APP开发公钥密钥系统以身份认证方式的不同进行分类,包括以数字证书为基础的公钥密码系统、以身份为基础的公钥密码系统(Identity-Based Public KeyCryptosystem)以及自我验证的公钥密码系统(Self-Certified Public KeyCryptosystem)。现阶段的移动电子商务应用中,大部分以数字证书为基础进行认证。这种类型的公钥密码系统中包含每一位使用者的身份信息、公钥、私钥以及数字证书。其中,数字证书主要用于保证公钥的有效性。这样做是为了避免公钥在传递过程中被中间者恶意破坏,因为数字证书机构能够对数字证书持有人合法身份做保证,并提供公钥的有效证明,所以数字证书机构需要去维护密钥目录,并管理数字证书。
非对称密码的算法主要包括RSA、椭圆曲线密码系统、IBE、Diffie-Hellman、El Gamal和Knapsack。这些算法用于创建公钥/私钥对,执行密钥交换或协定以及生产和验证数字签名。深圳APP开发公司资深程序员下面对几种常用的非对称密码算法进行介绍。
RSA是以发明人Ron Rivest、Adi Shamir和Leonard Adleman名字缩写命名,是非对称算法中最流行的一种。在有线网络环境中,商用化的公钥加密技术几乎都是基于RSA的加密,主要原因在于RSA是第一个较为完善的公钥系统。RSA的安全基于大数的分解难度,其公钥和私钥是一对大素数(商用的RSA公私钥至少是512位,一般是1 o24位或更多)的函数。已知公钥和密文,想要获取明文的难度等价于分解两个大素数之积的难度,理论上几乎不可行。但是,RSA算法需要较大的计算量和存储容量,而移动终端需要的计算量和存储容量都比较有限,因此,RSA运算需要耗费较长的时间。相比之下,一种更新的加密技术―—椭圆曲线加密(Elliptic CurveCryptography,ECC)更适合应用于移动电子商务中。相较RSA的数学基础(因子分解问题),椭圆曲线算法的安全性是基于椭圆曲线上点群的离散对数问题,该问题难度更大,即更加难以破解。从目前已知的最好求解算法来看,16obit的椭圆曲线密码算法的安全性相当于1o24bit的RSA算法的安全性。
图3-3为RSA算法和椭圆曲线密码算法的难度比较。
从图3-3可以看出,在破解密钥所需时间相同的前提下,RSA的密钥长度比椭圆曲线的密钥长度增长快得多。
椭圆曲线密码算法的优点对于使用智能卡(SIM卡、STK卡、WIM卡等)为主的移动电子商务终端应用非常重要,主要表现在以下几个方面[7]。
(1)所需的存储空间较小
椭圆曲线密码系统的密钥较短,能够为智能卡节省较多的存储空间,进而降低智能卡的使用成本,使得其他程序能够利用更多的存储空间去完成较复杂的任务。
(2)节省带宽
采用椭圆曲线密码体系的密钥较短,加密后的数据也比较短。由于密钥长度短,因此,对EEPROM (Electrically Erasable Programmable Read-Only
Memory,电可擦可编程只读存储器)的需求量也随之减少。而传送的数据长度短能够减少传送时间,节省带宽。
(3)缩短处理时间
使用椭圆曲线密码体系能够缩短处理时间,进而更好地应用于智能卡平台,此特点非常重要。其他公钥密码体系常利用专门的硬件设备实现,例如密码协处理器,在占用空间的同时也增加了智能卡的使用成本。而椭圆曲线密码技术能够在有限的智能卡ROM中实现,不需要额外的硬件设备。
(4)能够适应更高安全强度的需求
当智能卡对安全性的要求更高时,相应地需要增加密钥长度。使用椭圆曲线密码技术,在安全性得以提升的同时,所需增加的系统资源相对较少,这意味着智能卡在提供高安全性服务的同时,无需耗费太多成本。
(5)便于生成公私密钥对
电商APP开发时对于公私密钥对的生成,椭圆曲线密码系统同样有着得天独厚的优势。在公钥密码系统中,私钥的安全性为重中之重,为了实现不可否认性,私钥只能由用户个人拥有,其他人均无法获取。由于其他算法的复杂性,智能卡中生成密钥难以实现,私钥装入智能卡的环境必须完全安全。但对于椭圆曲线密码体系而言,生成密钥所耗费的时间短,基本只需一个随机数生成器就可完成,即使是计算能力有限的智能卡,也能生成密钥。
目前,椭圆曲线密码体制的优越性已经得到了不少公司及厂商的认同。WAP论坛在制定WAP规范时,也将椭圆曲线的算法考虑在内,将其与RSA以及其他安全技术共同作为数字证书和传输层安全技术的数学基础之一。
深圳APP开发公司提醒IBE (Identity Based Encryption,基于身份的加密)技术是基于传统的PKI(公开密钥基础设施)发展而来。IBE密码技术加/解密使用不同的密钥,每个人的公钥就是他的身份标识,比如E-mail地址、电话号码等。而私钥则以数据的形式由用户自己掌握,密钥管理相当简单,可以很方便地对数据信息进行加/解密。这样就使得系统的建立和维护趋于简单,相应的成本也较低,IBE身份加密体制大大地节约了成本,非常适用于低成本的网络应用,这样就为更多的个人和群体提供了一种新型的安全加密方案。总体来说,非对称密码体系解决了对称密码体系中密钥数量繁多、难以管理的问题,也不用担心私钥的安全性,但不足之处在于加/解密速度慢。好了,
深圳APP开发公司本文关于“电商APP开发关于非对称密码体系的算法介绍”开发经验就分享到这里,谢谢关注,博纳网络编辑整理。