针对传统无线传感网络(WSN)用户认证方案无法应用于分布式的物联网环境,认证过程安全性和效率低的问题,提出了一种基于区块链的用户认证和密钥协商方案。网关节点、传感器节点和用户的公开身份信息存储在区块链账本中,保证关键信息不会被窃取和更改。用户无需向网关节点注册,两者作为区块链网络的轻节点可以直接进行相互认证。用户通过客户端从区块链账本中获取传感器节点的公开信息,并对其进行合法性认证。分析证明,该方案与其他相关方案相比更安全且通信开销更小。