利索能及
我要发布
收藏
专利号: 2021109736078
申请人: 东北大学秦皇岛分校
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种用于抵御SGX侧信道攻击的密文加载方法,其特征在于,包括:步骤1:用户生成对称密钥并将加密后的密文托管给云服务提供商的应用程序;

步骤2:根据远程认证协议验证云服务器中的安全容器Enclave是否可信,实现远程认证的过程;

步骤3:在远程认证的过程中,利用ECDH算法为用户和服务器双方构建安全的通信信道;

步骤4:将加密程序使用的密钥以及程序运行所需的参数传递给云环境的Enclave进行密文的解密。

2.根据权利要求1所述的一种用于抵御SGX侧信道攻击的密文加载方法,其特征在于,所述步骤1包括:

步骤1.1:用户使用Intel提供的AES‑NI指令集实现的AES‑GCM算法产生一对对称密钥k0;

步骤1.2:利用产生的对称密钥k0对即将托管给云服务提供商的用户明文程序Puser进行加密,得到加密后的应用程序{Puser}k0;

步骤1.3:将加密后的应用程序{Puser}k0发送给云服务提供商,通过云服务器提供商将{Puser}k0以及加载器程序Ploader加载到平台的安全容器Enclave中;

步骤1.4:通过云服务提供商将安全容器Enclave为{Puser}k0分配的安全内存页面设置为具有读取、写入和执行权限的Enclave代码页。

3.根据权利要求1所述的一种用于抵御SGX侧信道攻击的密文加载方法,其特征在于,所述步骤2包括:

步骤2.1:SGX平台应用接收挑战者发送的挑战值;

步骤2.2:通过SGX平台的应用程序将收到的挑战值和认证请求发送给要被认证的安全容器Enclave;

步骤2.3:要被认证的安全容器Enclave根据报告密钥Report key、度量日志生成本地认证报告REPORT,并发送给应用程序;

步骤2.4:应用程序接收到REPORT后发送给Quoting Enclave验证并签名;

步骤2.5:Quoting Enclave调用报告密钥验证REPORT,然后使用认证密钥对REPORT进行签名生成远程认证报告QUOTE,并将其返回给应用程序;

步骤2.6:应用程序将远程认证报告QUOTE发送给远程方;

步骤2.7:远程方通过将QUOTE发送给Intel认证服务IAS进行验证,并返回一个远程验证的回应信号。

4.根据权利要求1所述的一种用于抵御SGX侧信道攻击的密文加载方法,其特征在于,所述步骤3包括:

x x

步骤3.1:根据用户端生成的随机数x计算g mod n,令X=g mod n,其中,n为用户和服务器双方共有的一个素数,g为用户和服务器双方共有的一个整数,且满足g是n的原根,mod表示取余运算;

步骤3.2:将用户端的身份和生成的X构造成REPORT发送给Quote Enclave;

步骤3.3:Quote Enclave验证用户端安全容器Enclave的身份信息,验证成功返回一个引用结构体QUOTE;

步骤3.4:将QUOTE用EPID进行加密后发送给云服务器端的安全容器Enclave,安全容器y y

Enclave解密后得到X,同时也生成一个随机数y,并计算g mod n,令Y=g mod n;

骤3.5:云服务器端的安全容器Enclave将Y和远程验证的回应信号发送给用户端的安全容器Enclave;

x y

步骤3.6:用户端计算Y mod n,同时服务器端计算X mod n,如果计算得到的结果相同,则说明用户和服务器双方之间构建成功了安全的通信信道,计算得到的结果记为K。

5.根据权利要求1所述的一种用于抵御SGX侧信道攻击的密文加载方法,其特征在于,所述步骤4包括:

步骤4.1:用户利用结果K加密密钥k0以及执行需要提交的参数Par得到{k0,Par}K,并将其发送给云服务提供商,提供商将其转发给安全容器Enclave;

步骤4.2:通过安全容器Enclave验证消息的来源是否来自正确的用户,正确之后使用K解密{k0,Par}K,得到程序的解密密钥k0以及程序执行的参数Par;

步骤4.3:通过安全容器Enclave使用k0解密{Puser}k0获取用户的明文程序Puser,然后加载器程序Ploader将执行参数Par对应的结果Rpar用K加密,得到{Rpar}K,并返回给云服务提供商,由云服务提供商发送给用户;

步骤4.4:用户使用K解密{Rpar}K,并获得程序执行结果Rpar。