问答题
用户的身份认证是许多应用系统的第一道防线、身份识别对确保系统和数据的安全保密及其重要,以下过程给出了实现用户B对用户A身份的认证过程。 1.B–>B:A 2.B–>A:{B,Nb}pk(A) 3.A–>B:b(Nb) 此处A和B是认证实体,Nb是一个随机值,pk(A)表示实体A的公钥、{B,Nb}pk(A)表示用A的公钥对消息BNb进行加密处理,b(Nb)表示用哈希算法h对Nb计算哈希值。
上述协议存在什么安全缺陷?请给出相应的解决思路。
1、攻击者可以通过截获h(NB.冒充用户A的身份给用户B发送h(NB.。 解决思路:用户A通过将A的标识和随机数Nb进行哈希运算,将其哈希值h(A,NB.发送给用户B,用户B接收后,利用哈希函数对自己保存的用户标识A和随机数Nb进行加密,并与接收到的h(A,NB.进行比较。若两者相等,则用户B确认用户A的身份是真实的,否则认为用户A的身份是不真实的。 这个题本身描述:B对用户A身份的认证过程。 2、如何保证pkA.是准确的,万一pkA.是第三方假冒的呢?我们需要使用数字证书,A把自己的数字证书先发给B。
问答题 为什么消息3中的Nb要计算哈希值?
问答题 (1)包含在消息2中的“Nb”起什么作用? (2)“Nb”的选择应满足什么条件?
问答题 认证和加密有哪些区别?