1.一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,包括以下步骤:
S1:在共享的背景下,用户下载手机端app并注册时,第三方可信机构进行合法验证后分配账号给用户,用户进行用户名+密码登录后选择租赁汽车进行手动认证;
S2:在认证中,车载端与手机端之间构造基于Fiege‑Fiat‑Shamir的零知识身份认证优化协议,建立车载端与手机端之间的相互认证机制,第三方可信机构根据用户进行租车服务生成订单公私钥,手机端和车载端发送消息利用哈希函数生成数字签名,保护数据传输完整性和防篡改,同时加入计数器以防止重放攻击;认证正确后,获得汽车控制权,反之检验错误情况,并立刻终止此次验证,保证用户的资金安全,整个过程确保本次租赁服务的合法进行;
所述基于Fiege‑Fiat‑Shamir的零知识身份认证优化协议,建立车载端与手机端之间的相互认证机制,其中第三方可信机构根据订单生成公私钥PK和SK,用户向第三方可信机构获取公私钥并和车载端认证自己的身份,认证过程如下:2
步骤1.1:证明者P选择一个随机数r,r
步骤1.2:验证者V首先验证消息认证码,将收到的t和V存储的计数器值CTRv使用哈希函数H()加密生成V的消息认证码MAC,并比较收到的P的消息认证码MAC以验证消息的完整性,若两者相等,则V生成k位随机数二进制串b1||b2||…||b9,并生成V的消息认证码MAC=H(b1||b2||…||b9||CTRv),然后向P发送消息MSG={b1||b2||…||b9||MAC},最后V的计数器值CTRv增加1;
步骤1.3:P首先验证消息认证码,将收到的b1||b2||…||b9和自己存储的计数器值CTRv使用哈希函数H()加密生成P的消息认证码MAC并比较收到的消息认证码MAC以验证消息的完整性;若两者相等,则P将收到的b1||b2||…||b9逐个取反得到b′1||b′2||…||b′9,然后P计算 S1…S9为协议中k等于9时的私钥,并生成P的消息认证码MAC=H(y1||y2||CTRp) ,然后向V发送消息MSG={y1||y2||MAC},最后P的计数器值CTRp增加1;
步骤1.4:V首先验证消息认证码,将收到的y和自己存储的计数器值CTRv使用哈希函数H()加密生成MAC并比较收到P的消息认证码MAC以验证消息的完整性,若两者相等,则V验证 和 是否成立,若通过验证,则V产生result,1代表认证成功,0代表认证失败,和相应的Hash值MAC=H(result||CTRv)并发送消息MSG={result||MAC}给P,最后V的计数器值CTRv等于0,其中,v1…v9为协议中k等于9时的公钥;
步骤1.5:P收到消息result||MAC后,验证消息认证码,将收到的result和自己存储的计数器值CTRp使用哈希函数H()加密生成MAC并比较收到的V的消息认证码MAC以验证消息的完整性,最后根据result值直接判断认证结果;
S3:认证成功后,用户通过手机端分别控制汽车的车门开关、空调开关、温度调节以及一键启动,并对这些指令操作进行AES分组加密。
2.根据权利要求1所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述用户进行用户名+密码登录后,每个用户只有得到第三方可信机构合法验证后,才会拥有客户端的账号,为了防止伪造攻击和冒充攻击,只有手机端进行登录后,方可与车载端进行零知识身份认证。
3.根据权利要求1所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述的选择租赁汽车进行手动认证,服务端将车辆设置成需验证状态,保证用户接下来的身份认证,防止不合法用户干扰正常的租车服务。
4.根据权利要求1所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述的CTRv和CTRp,为了防止假冒用户或者攻击者进行重放攻击,加入客户端计数器和车载端计数器,每次传输消息,都要使发送发计算器增加1,双方收到后需要对传递的数据和自己的计算器进行哈希函数H()加密生成MAC与收到双方的消息认证码MAC进行比对,验证正确,说明计数器运行安全,未收到重放攻击,若不正确,说明消息受到了攻击,双方认证立即终止。
5.根据权利要求1所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述的Fiege‑Fiat‑Shamir,第三方可信机构选取两个512bit的大质数p、q,相乘生成n=p*q;为了产生用户租车订单的公开密钥和私人密钥,第三方可信机构计算n的所2
有平方剩余数v1,v2,…,vk,并随机选取9个数作为连续的公开密钥,选择vi使得x ≡vimodn‑1
有小于n的解且vi modn存在,vi有模n的逆元,最大公约数函数gcd(vi,n)=1,v1,v2,…,v9是可信机构生成的一次订单的公开密钥,用户和车载端可以获取公钥和随机数n,然后计算满‑1足si≡sqrt(vi )modn的最小si,s1,s2,…,s9就作为P的私人密钥,私钥需要求解模n的二次方根问题,而这是一个等价于整数n因式分解的难题,确保安全性,这边定义验证的连续公私钥对数是9。
6.根据权利要求5所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述第三方可信机构选取两个512bit的大质数p、q,相乘生成n=p*q的具体过程为:产生大素数需要实现数论中费尔马定理、欧拉定理、Miller‑Rabin素性检测的算法,产生私钥需要实现扩展欧几里得算法以及大数求根算法,上述算法实现的基础都依赖于大数运算函数库。
7.根据权利要求6所述的一种基于零知识身份认证的人车交互系统设计与实现方法,p‑1
其特征在于,所述费尔马定理Fermat:若p是素数,a是正整数且gcd(a,p)=1,则a ≡1mod p;欧拉定理Euler:设n是一正整数,小于n且与n互素的正整数的个数称为n的欧拉函数,记为 若a和n互素,则 Miller‑Rabin素性检测:如果p为大于2的素数,则2
方程x ≡1mod p的解只有x≡1和x≡‑1;扩展欧几里得算法:它是欧几里得算法的扩展,除了计算a、b两个整数的最大公约数,此算法还能找到整数x、y;求取最大公约数:给予二整数a与b,必存在有整数x与y使得ax+by=gcd(a,b),其中gcd是求最大公因数的函数;有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数;然后,收集辗转相除法中产生的式子,递归回去,可以得到ax+by=gcd(a,b)的整数解。
8.根据权利要求1所述的一种基于零知识身份认证的人车交互系统设计与实现方法,其特征在于,所述的消息认证码,使用的是MD5加密算法实现,每次手机端和车载端在发送消息前都会将需要发送的内容进行MD5加密,接收端将接收的消息和自己的计数器进行MD5加密与发送过来的进行比对。