【密码学PQC】抗量子密码算法的尝试(NGINX, cURL)
在上一篇文章当中[1],我们主要是针对于抗量子密码算法的相关库,进行了一些测试和编译,那么在本篇文章呢,我们来看一下,实际应用的一些场景。
背景知识
做过开发的读者,应该对于NGINX以及curl不会陌生,那么我们,简单的来看一下这两个工具的使用场景。
NGINX
Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由俄罗斯程序员伊戈尔·赛索耶夫开发,并于2004年首次公开发布[2]。
用途
-
「Web 服务器」: 可以用来代替传统的 Apache 等服务器,处理静态内容请求。 -
「反向代理」: 换一种说法,NGINX 可以作为中间件在客户端和后端服务器之间传递请求和响应。它在负载均衡和提高应用的可用性与性能方面很有优势。 -
「负载均衡」: 能够将请求分配到多个后端服务器上,从而提高网站的响应效率和可靠性。 -
「缓存」: 具备强大的缓存功能,可以缓存请求结果以减轻后端服务器的负担。
相信,做过开发的读者,应该不会模式,或多或少,应该都见过或者用过。
CURL
「cURL」是一个开源项目,主要的产品是curl(命令行工具)和libcurl(C语言的API库),两者功能均是:基于网络协议,对指定URL进行网络传输。[3]
用途
-
**数据传输: **curl 可以从命令行下载或上传数据,支持多种协议。 -
**调试: **开发人员常用它来调试和验证 API 接口、测试 URL 的访问性能或行为。 -
**自动化: **可编写脚本,用于监控服务或自动化数据提交。
而对于OQS团队呢,也提供了这两个工具对于抗量子算法的支持,这里我们来看一下,实际用起来,体验如何。
环境配置
这里,我仅在Ubuntu24.04上测试过,其他环境,请自行测试,但是,因为用的docker,所以说,其他环境,问题应该不大。
这里,首先,需要安装docker,这个,读者,自行搜索一下,如何安装吧,这里就不展开再来描述了[4]。
初体验
首先呢,我们需要先搞下来,这个demos的项目[5]。
git clone https://github.com/open-quantum-safe/oqs-demos.git
NGINX
对于NGINX,具体位置在nginx
目录之下,我们,只需要根据文档描述的,运行命令即可。
docker build -t oqs-nginx .
注意,这里默认的算法是dilithium3, 对于其他算法,可以具体查看构建的参数。
输出,如下,表明,构建成功了,然后接下里,我们需要启动一个服务。
从这里,可以看出,这里内部服务的端口是4433,因此,我们如果想要测试,需要做一个端口映射,当然,如果想换成其他端口,需要改这里,就可以了。
docker run --detach --rm --name oqs-nginx -p 4433:4433 oqs-nginx
这里,运行之后,看到这个,就表示运行成功了。
然后,我们访问一下对应的地址。
这里,发现这个,是正常的,也就是说明,我们这里搞成功了。然后呢,我们采用curl,来看一下,注意,这里的curl是直接安装的,并没有支持PQC的算法。
在这里,我们同样的会得到握手失败的信息。
cURL
因为,默认安装的cURL是不支持,最新的PQC算法的,因此,那么我们来看一下,支持的cURL如何使用。
docker build -t oqs-curl .
还是,同样的构建方案,然后呢,我们如何来使用呢,也非常的简单,我们只需要运行。
docker run -it oqs-curl curl -v -k https://localhost:4433
可以发现,这里,便可以成功的拿到了具体的内容了。
总结
本篇文章呢,我们测试了NGINX以及cURL在抗量子算法下的支持性,可以发现OQS团队,做的还是比较可以的,目前是都支持的,有关于具体的细节呢,大家还是阅读下原始文档当中的资料吧,如果有机会,再来带着大家看一下OQS团队具体的代码实现吧,快乐的时光过得特别快,又到了说再见的时候了,咱们下次再见。
参考资料
-
https://mp.weixin.qq.com/s/hr7FOq5mWtMciBoymAxKZA -
https://en.wikipedia.org/wiki/Nginx -
https://en.wikipedia.org/wiki/CURL -
https://docs.docker.com/get-started/get-docker/ -
https://github.com/open-quantum-safe/oqs-demos/tree/main
原文始发于微信公众号(Coder小Q):【密码学PQC】抗量子密码算法的尝试(NGINX, cURL)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论