阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 用户的身份认证是许多应用系统的第一道防线、身份识别对确保系统和数据的安全保密及其重要,以下过程给出了实现用户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】 认证和加密有哪些区别? 【问题2】 (1)包含在消息2中的“Nb”起什么作用? (2)“Nb”的选择应满足什么条件? 【问题3】 为什么消息3中的Nb要计算哈希值? 【问题4】 上述协议存在什么安全缺陷?请给出相应的解决思路。