当用户开始使用云服务时,是否能提供安全、稳定、易用的认证机制成为用户评估云服务提供商的重要因素。云服务提供商必须解决与身份认证有关的挑战,例如凭证管理、强认证(通常定义为多因素身份认证)、委派身份认证及跨越所有云服务类型的信任管理。
云服务提供商应该支持各种强认证,例如一次性密码、生物特征识别、数字证书和Kerberos等身份认证方式,为用户提供全方位的认证服务。
目前云平台中使用的典型认证方法包括如下几类。
常见的API认证方法,如 HmacSHA1、 Sasha1等。
跨域认证协议,如 Kerberos等。
多因素认证方式,包括一次性密码、生物特征识别等。
常用的认证算法
认证技术中的常用认证算法主要包括SHA-1、RSA、 HmacSHA1等。
(1)SHA1算法
SHA1算法是建立在SHA-1函数之上的安全认证协议算法。SHA-1函数是由美国国家标准技术局和美国国家安全局设计的与DSS( Digital Signature Standard,数字签名标准)一起使用的安全散列SHA,它具有以下几个特征。
1)可以作用于一个最大长度不超过264位的数据块。
2)产生一个固定长度的输出(160位)。
3)对任意给定的x,H(x)计算相对容易,使得软件或硬件的实现可行。
4)对任意给定码h找到x满足H(x)=h在计算上是不可行的(单向性)。
5)对任意给定的数据块x而言,找到既满足H()=H(x),但y≠x的y是非常困难的。
6)找到任意数据对(x,y),满足H(x)=H()是计算不可行的。
前3个特点是在消息认证的实际应用中所需要的。第4个特点是“单向”特性,即数据容易正向生成验证码,但验证码反向却很难恢复原数据。第5个特点保证对给定数据很难用替换数据生成相同的散列值。第6个特点可以防止诸如“生日攻击”等复杂类型的外来攻击进一步加强了SHⅠA1算法抗强碰撞的能力。
(2) HmacSHAI
MashAL1是一种安全的基于加密Hash函数和共享密钥的消息认证协议。防止数据在传输过程中被截获和篡改,维护了数据的完整性、可靠性和安全性。
(3) RSA算法
RSA作为公钥加密体制中最重要的加解密协议之一,在1977年由罗纳德·李维斯特、阿迪·萨莫尔和伦纳德·阿德曼一起提出,当时他们都在麻省理工学院工作,RSA算法的名字就来自于他们三人姓氏的首字母RSA利用大整数因数分解的数学困难问题来设计,目前,除了暴力破解方式,还没有发现其他有效的破解方法。因此,RSA算法依然可以抵抗绝大多数针对密码的攻击,其通过私钥加密、公钥解密的方式完成对私钥持有者身份的认证过程。