基于后量子密钥交换实现SSH协议的方法及其系统与流程

文档序号:14574513发布日期:2018-06-02 01:09阅读:来源:国知局
基于后量子密钥交换实现SSH协议的方法及其系统与流程

技术特征:

1.一种基于后量子密钥交换实现SSH协议的方法,包括密钥交换步骤,其特征在于,密钥交换步骤包括:

客户端和服务器从第一参数的高斯分布上随机采样,分别计算客户端的公私密钥对和服务器的公私密钥对;

客户端从第二参数的高斯分布上随机采样,计算客户端临时会话公钥,并将客户端公钥和客户端临时会话公钥发送至服务器;

服务器接收客户端公钥和客户端临时会话公钥,对客户端进行身份验证,如果验证不能通过,服务器将直接断开链接,否则进行下一步;

从第二参数的高斯分布上的随机采样,计算服务器临时会话公钥;

服务器根据客户端临时会话公钥、客户端向量、服务器临时会话公钥、服务器向量、以及服务器在第一参数和第二参数的高斯分布上的随机采样,计算服务器临时会话变量以及临时会话消错变量,进而根据服务器临时会话变量以及临时会话消错变量计算服务器共享密钥初始种子;

服务器根据客户端向量、服务器向量、客户端临时会话公钥、服务器临时会话公钥、临时会话消错变量和服务器共享密钥初始种子,利用后量子算法生成此次会话的最终服务器共享密钥;

客户端根据服务器公钥对服务器进行身份验证;

客户端通过服务器的身份认证,根据客户端临时会话公钥、客户端向量、服务器向量、服务器临时会话公钥、以及客户端在第一参数和第二参数的高斯分布上的随机采样,计算客户端临时会话变量,进而根据客户端临时会话变量以及临时会话消错变量计算客户端共享密钥初始种子;

客户端根据客户端向量、服务器向量、客户端临时会话公钥、服务器临时会话公钥、临时会话消错变量和客户端共享密钥初始种子,利用后量子算法生成此次会话的最终客户端共享密钥;

服务器或客户端任一身份验证不能通过,则密钥交换终止。

2.根据权利要求1所述的基于后量子密钥交换实现SSH协议的方法,其特征在于,服务器临时会话公钥ks为:

ks=(pcc+x)(ssd+rs)+2gs

其中:

c=H1(client,server,x),为客户端向量;

x=arc+2fc,为客户端临时会话公钥;

rci和fci为客户端从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

d=H1(server,client,y,x),为服务器向量;

y=ars+2fs,为服务器临时会话公钥;

rsi,fsi,gsi为服务器从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

pc=asc+2ec,为客户端公钥;

sci和eci为客户端从第一参数为α高斯分布χα上的随机采样值,q为正整数,sc仍为客户端私钥;

以及,临时会话消错变量w为:

w=Cha(ks)

其中:Cha()为特征关联函数。

3.根据权利要求2所述的基于后量子密钥交换实现SSH协议的方法,其特征在于,根据(w,y,ps),服务器共享密钥初始种子σs为:

σs=Mod2(ks,w)

其中:Mod2()为模2函数,Mod2(v,w)=(v+w·(q-1)/2)modqmod 2,qmod2n=1,单位矩阵v∈Mq,w∈{0,1};

服务器共享密钥sks为:

sks=H(client,server,x,y,w,σs)。

4.根据权利要求2所述的基于后量子密钥交换实现SSH协议的方法,其特征在于,客户端临时会话变量kc为:

kc=(psd+y)(scc+rc)+2gc

其中:

gci为服务器从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

ps=ass+2es,为服务器公钥;

ssi和esi为服务器从第一参数为α高斯分布χα上的随机采样值,q为正整数,ss仍为服务器私钥。

5.根据权利要求4所述的基于后量子密钥交换实现SSH协议的方法,其特征在于,根据(w,y,ps),客户端共享密钥初始种子σc为:

σc=Mod2(kc,w)

其中:Mod2()为模2函数,Mod2(v,w)=(v+w·(q-1)/2)modqmod 2,qmod2n=1,单位矩阵v∈Mq,w∈{0,1};

客户端共享密钥skc为:

skc=H(client,server,x,y,w,σc)。

6.根据权利要求1-5任一项所述的基于后量子密钥交换实现SSH协议的方法,其特征在于,在密钥交换步骤之前,还包括:验证通信双方的可信状态的步骤,为:

发送验证客户端可信状态的请求到服务器;

服务器收到客户端的请求后,随机生成一个M位的第一随机数,将第一随机数与验证自身可信状态的请求到客户端,其中M为自然数;

客户端收到第一随机数与验证请求后,对应生成一个M位的第二随机数,然后向可信请求完整性度量,并将第一随机数和配置寄存器值、度量日志SML加密,将加密结果、第二随机数以及TPM公钥一起发送到服务器;

服务器收到数据后,判断此客户端是否是请求建立SSH连接的第一个客户端,如果是,检查本地是否存在可信凭证,如果本地存在可信凭证且该可信凭证仍然在有效期内,则直接进行下一步;否则,则需要先向本机可信请求完整性度量,然后将第二随机数和自己的配置寄存器值、度量日志SML加密,将加密结果和TPM公钥一起发送到客户端;

服务器根据客户端发送的数据验证客户端的可信状态,如果验证通过,生成可信验证通过凭证,该凭证包含客户端IP、客户端唯一标识符、本机服务器的IP与标识符、生成该凭证的时间、凭证有效期,并使用客户端发送的TPM公钥进行加密,将加密结果与验证通过信息一起发送到客户端;

客户端收到数据后,验证服务器的可信状态,如果验证通过后,客户端同样生成一个可信凭证,内容包括服务器IP、服务器唯一标识符、本机客户端的IP与标识符、生成该凭证的时间、凭证有效期,并使用服务器发送的TPM公钥进行加密,将加密结果与验证通过信息一起发送到服务器;

服务器收到可信凭据后,使用自己的TPM私钥解密该可信凭据,并将其保存在本地,如此则双方的可信状态均以验证通过,否则直接断开连接。

7.一种基于后量子密钥交换实现SSH协议的系统,包括密钥交换模块,其特征在于,所述密钥交换模块包括第一密钥单元、第二密钥单元和第一验证单元、第二验证单元,其中:

所述第一密钥单元,位于服务器,用于完成下述功能:

从第一参数的高斯分布上随机采样,计算服务器的公私密钥对;

在所述第一验证单元通过客户端的身份认证后,从第二参数的高斯分布上的随机采样,计算服务器临时会话公钥;

根据客户端临时会话公钥、客户端向量、客户端临时服务器向量、以及服务器在第一参数和第二参数的高斯分布上的随机采样,计算服务器临时会话变量以及临时会话消错变量;

以及,根据服务器临时会话变量以及临时会话消错变量计算服务器共享密钥初始种子;

根据客户端向量、服务器向量、客户端临时会话公钥、服务器临时会话公钥、临时会话消错变量和服务器共享密钥初始种子,利用后量子算法生成此次会话的最终服务器共享密钥;

所述第一验证单元,位于服务器,用于接收客户端公钥和客户端临时会话公钥,对客户端进行身份验证,如果验证不能通过,服务器将直接断开链接,否则进行后续认证;

所述第二密钥单元,位于客户端,用于完成下述功能:

从第一参数的高斯分布上随机采样,计算客户端的公私密钥对;

从第二参数的高斯分布上随机采样,计算客户端临时会话公钥,并将客户端公钥和客户端临时会话公钥发送至服务器;

在所述第二验证单元通过服务器的身份认证后,根据客户端临时会话公钥、客户端向量、服务器向量、服务器临时会话公钥、以及客户端在第一参数和第二参数的高斯分布上的随机采样,计算客户端临时会话变量,进而根据客户端临时会话变量以及临时会话消错变量计算客户端共享密钥初始种子;

以及,根据客户端向量、服务器向量、客户端临时会话公钥、服务器临时会话公钥、临时会话消错变量和客户端共享密钥初始种子,利用后量子算法生成此次会话的最终服务器共享密钥;

所述第二验证单元,位于客户端,用于根据服务器公钥对服务器进行身份验证,如果验证不能通过,终止密钥交换,否则进行后续认证。

8.根据权利要求7所述的基于后量子密钥交换实现SSH协议的系统,其特征在于,在所述第一密钥单元中:

服务器临时会话公钥ks为:

ks=(pcc+x)(ssd+rs)+2gs

其中:

c=H1(client,server,x),为客户端向量;

x=arc+2fc,为客户端临时会话公钥;

rci和fci为客户端从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

d=H1(server,client,y,x),为服务器向量;

y=ars+2fs,为服务器临时会话公钥;

rsi,fsi,gsi为服务器从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

pc=asc+2ec,为客户端公钥;

sci和eci为客户端从第一参数为α高斯分布χα上的随机采样值,q为正整数,sc仍为客户端私钥;

以及,临时会话消错变量w为:

w=Cha(ks)

其中:Cha()为特征关联函数;

根据(w,y,ps),服务器共享密钥初始种子σs为:

σs=Mod2(ks,w)

其中:Mod2()为模2函数,Mod2(v,w)=(v+w·(q-1)/2)modqmod 2,qmod2n=1,单位矩阵v∈Mq,w∈{0,1};

服务器共享密钥sks为:

sks=H(client,server,x,y,w,σs)。

9.根据权利要求8所述的基于后量子密钥交换实现SSH协议的系统,其特征在于,在所述第二密钥单元中,

客户端临时会话变量kc为:

kc=(psd+y)(scc+rc)+2gc

其中:

gci为服务器从第二参数为β的高斯分布χβ上的随机采样值,q为正整数;

ps=ass+2es,为服务器公钥;

ssi和esi为服务器从第一参数为α高斯分布χα上的随机采样值,q为正整数,ss仍为服务器私钥;

以及,根据(w,y,ps),客户端共享密钥初始种子σc为:

σc=Mod2(kc,w)

其中:Mod2()为模2函数,Mod2(v,w)=(v+w·(q-1)/2)modqmod 2,qmod2n=1,单位矩阵v∈Mq,w∈{0,1};

客户端共享密钥skc为:

skc=H(client,server,x,y,w,σc)。

10.根据权利要求7-9任一项所述的基于后量子密钥交换实现SSH协议的系统,其特征在于,还包括验证可信模块,以验证通信双方的可信状态,所述验证可信模块包括位于服务器的第一可信单元和位于客户端的第二可信单元,用于完成下述功能:

所述第二可信单元发送验证客户端可信状态的请求到所述第一可信单元;

所述第一可信单元收到客户端的请求后,随机生成一个M位的第一随机数,将第一随机数与验证自身可信状态的请求到所述第二可信单元,其中M为自然数;

所述第二可信单元收到第一随机数与验证请求后,对应生成一个M位的第二随机数,然后向TPM请求完整性度量,并将第一随机数和配置寄存器值、度量日志SML加密,将加密结果、第二随机数以及TPM公钥一起发送到所述第一可信单元;

所述第一可信单元收到数据后,判断此客户端是否是请求建立SSH连接的第一个客户端,如果是,检查本地是否存在可信凭证,如果本地存在可信凭证且该可信凭证仍然在有效期内,则直接进行下一步;否则,则需要先向本机可信请求完整性度量,然后将第二随机数和自己的配置寄存器值、度量日志SML加密,将加密结果和TPM公钥一起发送到所述第二可信单元;

所述第一可信单元根据所述第二可信单元发送的数据验证客户端的可信状态,如果验证通过,生成可信验证通过凭证,该凭证包含客户端IP、客户端唯一标识符、本机服务器的IP与标识符、生成该凭证的时间、凭证有效期,并使用客户端发送的TPM公钥进行加密,将加密结果与验证通过信息一起发送到客户端;

客户端收到数据后,验证服务器的可信状态,如果验证通过后,所述第二可信单元同样生成一个可信凭证,内容包括服务器IP、服务器唯一标识符、本机客户端的IP与标识符、生成该凭证的时间、凭证有效期,并使用服务器发送的TPM公钥进行加密,将加密结果与验证通过信息一起发送到所述第一可信单元;

所述第一可信单元收到可信凭据后,使用自己的TPM私钥解密该可信凭据,并将其保存在本地,如此则双方的可信状态均以验证通过,否则直接断开连接。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1