论文部分内容阅读
RADIUS(Remote Authentication Dial In User Service),即远程认证拨入用户服务,它是目前应用最广泛的AAA协议(Authentication,Authorization,Accounting,即认证、授权、计费)。虽然经过几次协议修订,RADIUS协议安全性更好、扩展性更加灵活、且易于管理,同时还有很强的计费功能,但是RADIUS协议本身的问题依然存在:一是RADIUS协议采用集中式管理,随着网络规模的扩大、接入设备的增多,协议的管理和维护压力逐渐增大;二是中心化的RADIUS服务器容易遭受攻击或出现故障,可能会造成系统存储的用户账号信息、计费信息等敏感数据的泄露,或者导致服务器停止工作;三是RADIUS支持服务器代理功能,每个代理服务器都有权对用户的认证计费信息进行记录和修改,并且数据包在服务器之间相互传输的过程中容易出错或遭受攻击,可能会导致用户无法认证或计费信息不一致的情况。本文针对以上问题,结合区块链技术具有的去中心化、去信任、不可篡改、集体维护、可靠数据库等特点,设计了基于区块链的RADIUS协议,将RADIUS服务器端利用区块链智能合约的方式进行实现,NAS设备(Network Access Server,网络接入服务器)发送请求数据包到已部署RADIUS智能合约的区块链网络,利用合约接口调用智能合约方法,经过合约处理后将响应结果封装为数据包格式返回NAS设备,并将处理信息存储在区块链中,从而实现RADIUS服务器的功能。实现了基于以太坊区块链的RADIUS系统。采用Truffle框架实现了账号管理、认证授权、计费和系统配置四大功能。其中,账号管理模块用来完成用户账号信息的添加、删除、修改和查询等功能;认证授权模块主要用于实现认证授权功能并提供认证记录查询的功能;计费模块主要用于实现计费功能并提供查询账单的功能;系统配置主要用于设置共享密钥、认证计费端口以及计费策略。对系统实现的账号管理、认证授权、计费和系统配置功能进行测试。通过RADIUS服务器测试工具NTRadPing Test发送认证或计费请求数据包,系统接收处理后返回响应数据包,利用Wireshark网络分析工具进行抓包分析,判断系统是否工作正常。实验结果表明,系统认证授权、计费功能正确且具有可用性。