您好,欢迎来到威客牛网,企业兼职服务外包平台。
所有分类

基本需求:

1. 使用C 编程

2. 要有socket编程

3. C/S模式

4. 能在linux ubuntu 18.04上运行

5. 一个基于线程池的多线程服务器

6. 可供多个客户端连接

7. 最多只能有4个安全容器Enclave(也称飞地)

8. 要实现客户端和服务端代码

9. 端对端通信

10. 要能支持SGX硬件


技术细节:

1. 使用基于线程池的多线程服务端

2. 客户端和服务端连接时要进行remote attestation认证

3. 认证完后要用使用DHKE交换被RSA签名过的公钥(公钥在下一条解释)

4. 在进行密钥交换之后,使用AES加密服务器和客户端之间的信息交流,AES使用的公钥由上面的DHKE交换由服务器分发给客户端

5. 以上提及的AES、DHKE、RSA都要能兼容使用大素数(long long int)

6. Attestation,RSA相关计算,AES相关计算都要在Enclave中进行

7. 服务器和客户端的信息交换(即完成密钥交换之后的通信过程)可以只支持任意的字符串发送

8. 客户端或服务器主动断开通信时要能清除其相关内存的内容。

9. 能顺利运行知道通信结束。



大致流程:

1. 服务端开启,客户端通过socket进行连接。

2. 客户端连接成功后,服务端通过向线程池加入一个任务(或创建一个线程),向另外一个服务端(也需要搭建,以下称为SP服务器)进行remote attestation 获取身份验证码,其中涉及的计算要在Enclave中进行且使用的是SGX中SDK的API,向客户端证明自己是经过intel SGX认证的安全容器Enclave,且本点提到的内容除加入任务外都是线程池任务的内容

3. 通过远程认证过程后,开始密钥交换DHKE,交换内容由RSA加密,其中涉及的计算要在有限数量的Enclave中进行,不能创建新的Enclave,且本点提到的内容都是线程池任务的内容

4. 通过密钥交换DHKE后,服务端和客户端正式开始通信,通信内容由AES作为加解密算法,且本点提到关于AES的内容都是线程池任务的内容

5. 在客户端输入结束信号后,客户端通信完成,服务端提示客户端已断开连接,清除掉与该客户端通信留下的信息且不影响其他正在通信的线程。

6. 以上提及的SP服务端、服务端、客户端都要完成

7. 以上内容都由C \C编写

8. 以上提到的关于服务端与客户端的通信的内容都基于C socket

9. 基于以上内容完成的程序要可以在支持SGX 硬件的以linux ubuntu 18.04为系统的机器上运行


【查看雇主联系方式,直接沟通】 您需要 登录 或者 注册 才能参与报价。
所有报价(1)
投标编号:9172871
提交于2024-04-07
二星级
积分:155分
山东 - 济南
竞标报价:¥*****(仅雇主可见)
开发周期:10
报价内容暂不公开
浏览数量0
竞标数量1
分享可赚钱,赶快告诉您的朋友吧
类似需求
¥议价
¥5000-10000
¥议价
¥议价
¥议价
¥议价
关于我们 | 联系我们 | 使用帮助 | 支付方式 | 商标注册 | 网站公告 | 商标设计 | 网站地图
蜀ICP备15035644号 Copyright(©)2006-2024 www.winvk.com All rights reserved.