SNMPv3详解
2)数据源认证 由于认证码的产生与使用的认证密钥相关,而认证密钥与用户有着一一对应的关系。如果不知道用户的认证密钥,就无法以该用户的身份生成正确的认证码。所以,通过比较认证码就能够确认数据源身份的真实性。 数据源认证能防止伪装攻击。 3)及时性认证 提供对报文延迟和重发的保护。在SNMP报文中设置一个时间戳记来进行时间检查。该时间戳记值预先测定,若信息在以该时间戳记为中心的某一个窗口到 达,则认为未被延时。窗口一般默认为150秒。 及时检查只有在对报文进行认证时才执行。它可以防止消息流更改攻击。 3 加密 为了防止信息泄露,USM对SNMPv3报文负载进行加密保护。报文负载是指由上下文引擎ID(contextEngineID)、上下文名(contextName)和SNMP协议数据单元(PDU)组成的范围协议数据单元(scopedPDU)。标准协议通过密码块链接模式的数据加密标准(CBC-DES)为报文负载提供保护。使用加密功能的通信双方共享一个私有秘密值。该秘密值包含加密密钥和其它信息(如CBC模式所需的初始化向量(IV)的预设值pre-IV)。并可采用一个“salt”值,用于每次加密时改变初始化向量。报文的接收方使用这个共享私有秘密值得出加密密钥,并利用pre-IV和报文中携带的“salt”值计算得出初始化向量,以解密数据。 加密功能可以有效地防止信息泄露。经过加密处理的SNMPv3消息即使被非法获取,攻击方因为不知道密钥也不能提取其中的网管信息。SNMPv3规定,如果使用加密功能,则必须同时使用认证功能。 4 SNMPv3中的加密、认证算法和过程 对称密码体制和非对称密码体制 对称密码体制又称为秘密密钥密码体制(或单密钥密码体制/隐蔽密钥密码体制),即加密密钥和解密密钥相同或一个可由另一个导出。 非对称密码体制又称为公开密钥密码体制,即加密密钥公开,解密密钥不公开,从一个推导出另一个是不可行的。 1) 现代密码体制 分组密码体制和序列密码体制 对称密码体制,又可以分为分组密码体制和序列密码体制。是根据密码算法对明文信息的加密方式进行分类的方法。如果密文仅与给定的密码算法和密钥有关,与被处理的明文数据段在整个明文(或密文)中所处的位置无关,则称为分组密码体制。分组密码体制就是将明文分成固定长度的组,如64bit一组,用同一密钥和算法对每一组加密,输出也是固定长度的密文。 如果密文不仅与给定的密码算法和密钥有关,同时也是被处理的明文数据段在整个明文(或密文)中所处的位置的函数,则称为序列密码体制。 确定型密码体制和概率密码体制 如果一个加密过程可以描述为:当明文和密钥确定后,密文的形式也就惟一地确定,则称为确定型密码体制。前面提到的加密方法中,多数属于这一类。 如果一个加密过程可以描述为:当明文和密钥确定后,密文的形式仍是不确定的,最后产生出来的密文通过客观随机因素从一个密文集合中选出,则称为概率密码体制。 SNMPv3的显著特点是其安全性的增强,为增强其安全性,SNMPv3规定使用DES-CBC作为加密算法, HMAC-MD5-96、HMAC-SHA-96作为认证协议。 DES-CBC (Data Encryption Standard-Cipher Block Chaining )为对称密码体制, 1977年被美国国家标准局所采用。 在DES-CBC中,数据按64位块进行加密,使用56位密钥。一个明文分组在被加密之前要与前一个的密文分组进行异或运算。加密算法除密钥外,还需协商一个初始化向量(IV),在第一次计算的时候需要用到。该算法在一系列步骤中对64位的输入进行变换,按64位进行输出。在相同的步骤中使用相同的密钥来进行解密。 MD5 报文摘要算法 它可以对任何文件产生一个唯一的MD5验证码,每个文件的MD5码就如同每个人的指纹一样,都是不同的,这样,一旦这个文件在传输过程中,其内容被损坏或者被修改的话,那么这个文件的MD5码就会发生变化,通过对文件MD5的验证,可以得知获得的文件是否完整。 MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 安全散列函数(SHA) 美国国家标准局(NIST)为配合数字签名算法(DSA),在1993年对外公布为安全散列函数。 SHA对任意长度明文的预处理和MD5的过程是一样的,即预处理完后的明文长度是51
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)