Blockchain-Based Secure and Lightweight Authentication for Internet of Things | IEEE Journals & Magazine | IEEE Xplore基于区块链的安全轻量级物联网身份验证
一.引言
在过去十年里物联网广泛应用于各种领域,包括教育、商业、政府和医疗保健。主要问题:确认设备真实性,也就是通信过程中,对方不是第三方伪造,还要在该过程中保护设备安全和隐私
受限:物联网系统异构性,它由诸多子系统组成,每个应用场景安全需求不同,不能一概而论;设备资源受限,无法实施高级解决方案,结合以上两点,PKI不是很适用
本文提出结合区块链技术和rabin算法的轻量级身份验证方案,适用于资源受限的设备和应用场景,Rabin算法保证⾝份验证过程的安全性和效率,区块链技术则⽤于增强安全性并为该系统提供可扩展性,本文还通过提供安全性分析和详细实验来证明所提方案的安全性和实用性。
二.预备知识
Rabin基于求模合数平方根和⼤数分解的复杂问题,比较类似于RSA。与 RSA 和 ECC 相⽐,主要优势之⼀是 Rabin技术更简单、更⾼效。
1.密钥产生,选择两个大素数p、q满足p=q=3mod4,计算n=p*q,n作为公钥,p、q作为私钥。
2.加密
C=m^2mod n m是明文,c是对应密文
3.解密
即解 x^2=c mod n,可分解为x^2=c mod p,x^2=c mod q
使用费马小定理求解出c的平方根mp和mq;
使用扩展欧几里得算法查找p^-1,q^-1;
使用中国剩余定理求解出四个解 m1,m2,m3,m4
其中只有一个是正确的密文,预先在明文中做出标记即可,本文使用的是消息验证码
Rabin加密仅需运行一次mod平方运算,十分适合资源受限的情况