1、嵌入式 Linux 环境下的量子密钥协商系统开发- 1 -嵌入式 Linux 环境下的量子密钥协商系统开发摘要:密钥协商是连续变量量子密钥分发中不可或缺的组成部分,本文介绍了如何利用Xilinx ML405 开发板,实现嵌入式 Linux 系统移植。同时进行了 Linux 环境下的量子密钥协商系统开发,实现了量子通信系统平台的控制系统核心功能,并实验验证了自适应区间划分协商算法的有效性。关键词:嵌入式系统;Linux 移植;量子密钥协商1.引言量子密码是量子物理学和密码学相结合的交叉科学 1,2,由于量子测不准原理和量子不可克隆定理保证了量子密码的安全性 3-5和对窃听的可检测性,量子通信和量
2、子密码技术已经成为量子信息学应用研究的热点。随着实际量子密钥分配技术的高速发展,量子密码服务的应用也日趋成熟。2009 年 5 月,第一个多层级城域量子密码网络在芜湖市经典光通信网络上实现,该网络可以满足多种数据的量子保密传输,向量子密码实际应用迈出了关键的一步 6,7。目前的量子密码 8,9研究主要采用离散物理变量作为信号载波,如单光子、微弱激光脉冲等,但是离散变量量子密码需要单光子产生和检测装置,实验实现困难,并且信道容量低,即单信号所能传输的信息量较低。然而,如压缩态、相干态、双模纠缠态等连续变量量子信号容易产生,可以采用外差、零差平衡接收机检测,容易对其量子信号进行操作,同时具有相对高
3、的信道容量,因此连续变量量子密钥分发(QKD) 10引起了各国学者的关注。连续变量量子密钥分发方案 11利用高斯态作为信号载波,采用光场的正则振幅和正则相位作为信号载波的可观测物理量,通过振幅调制和相位调制把信号加载到量子载波上,接收采用平衡零差测量。B SP S 1电路控制模块P C 机WDMP B SB CP S 2WDMP B S电路控制模块P C 机H o mo d n y 检测V D L V D L激光器光收发器调幅器 衰减器光收发器FIG 1 连续变量量子密钥分发方案在本实验方案(FIG 1)中,为了实现相位调制器对脉冲光信号的调制,制备连续变量量嵌入式 Linux 环境下的量子密
4、钥协商系统开发- 2 -子密钥分发中的相干态,需要提供精确的延时驱动电路,而完整的连续量子密钥分发还需要进行后续的密钥协商与保密增强。实验采用 XilinxML405 开发板,它具有良好的可编程特性,提供高效的数字时钟管理并且支持多种 I/O 标准,因此成为量子密钥分发系统的理想控制平台。由于实验方案的复杂度较高,又考虑到对功能、可靠性、成本、体积、功耗等的要求,开发板需要嵌入式操作系统的支持。Linux 作为一种开源、功能强大又易于移植的操作系统,内核具有可裁剪特性而且已经提供对开发板 PPC 体系结构的支持,可以最大限度地利用开发板资源,实现方案要求的复杂应用。因此试验系统采用在 Xili
5、nx FPGA 开发板上移植 Linux 操作系统的方案完成驱动电路的控制以及 QKD 过程中的协商。实验采用 Xilinx FPGA 与 Linux 结合作为控制电路与协商实现的解决方案,由于FPGA 内部嵌入处理器软核、硬核,具有单芯片、可编程重构、便于升级等优点,而Linux 嵌入式操作系统功能完善、可裁剪、便于移植,与传统的嵌入式系统相比,本实验方案的软硬件功能均可以方便地进行调整,在实现所需功能的前提下使得系统更加灵活、能耗更低。本文在第二节介绍了嵌入式系统移植的环境,第三节详细叙述 Linux 的移植过程,第四节介绍密钥协商系统开发,最后对算法测试结果进行分析。2.嵌入式 Linu
6、x 开发环境嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。在各种嵌入式操作系统中,Linux 以其结构清晰、源代码公开、功能强大、又易于移植得到广泛的使用。试验系统采用的 Xilinx ML405 开发板采用 Virtex-4 芯片,采用 IBM PowerPC 405 32 位哈佛结构 RISC 处理器硬核。处理器可以工作在 450MHz 频率,具有700+DMIPS 的运行速度。有一个存储管理单元(MMU) 。这一特性使得 Linux 能够移植到该目标处理器系统中运行。PowerPC 405 添加了新的
7、辅助处理器单元(APU)控制器,将 CPU 管道直接与 FPGA 架构接口,满足了连续变量量子 QKD 试验系统在速度和性能等方面的要求 12。3.ML405 上的嵌入式 Linux 移植3.1 建立交叉编译工具链嵌入式系统开发采用的是宿主机-目标机模式,宿主机是 PC 机,其上装有 Ubuntu 8.04,目标机就是系统所使用的 ML405 开发板。所谓的交叉编译就是在宿主机上进行编译,生成目标机 PowerPC 处理器可执行的二进制流文件。本文采用最新的 DENX Embedded Linux Development Kit (ELDK)作为交叉编译开发工具。首先到网上 13下载 ELDK
8、 的安装虚拟光盘 ppc-2008-04-01.iso。然后在Linux 下打开一个端口,将这个 iso 文件挂载到系统上。为了将 /sources 下的 ppc-2008-04- 01.iso 加载到/mnt/iso 目录,可以使用命令嵌入式 Linux 环境下的量子密钥协商系统开发- 3 -sudo mount o loop /sources/ppc-2008-04-01.iso /mnt/iso之后使用 ls 命令查看 /mnt/iso 目录,可以看到 ppc-2008-04-01.iso 已经作为硬盘机被挂载。完成 iso 文件的挂载之后就可以进行交叉编译工具链的安装,为将工具链安装到
9、/opt/ELDK/4.2 目录下,首先安装必要的 RPM 包sudo apt-get install build-essential转到/mnt/iso 目录下执行如下命令./install d /opt/ELDK/4.2/ppc_4xx经过一段时间的安装,交叉编译工具链就安装完成了。接下来编译环境的设置就只需要进行环境变量的设置了。ELDK 已经将需要设置的路径进行了封装,将目录转到/opt/ELDK/ 4.2/ppc_4xx 执行source eldk_init 4xx此时,使用命令 ppc-linux-,按 Tab 键就可以看到交叉编译环境被建立起来了。3.2 Linux 内核编译由于
10、 Linux 操作系统是代码开源的,可以方便的从网上得到其源代码。本文使用 git工具下载需要的 Linux 内核。首先安装 Git 工具sudo apt-get install git安装完成后使用 Git14从 Xilinx 网站 15上下载 2.6 版本的 Linux 内核。使用命令git clone git:/ git pull 保持 Linux 内核及时更新。 试验中采用 ramdisk 启动 Linux,所以需要将从网站下载的 ramdisk.image.gz 添加到已下载的 Linux 内核中 arch/powerpc/boot/目录下。跳转目录到 Linux 顶层目录,执行ma
11、ke ARCH=powerpc menuconfig进行 Linux 内核模块的裁剪。必须要选择ProcessorIBM 4xxMachine type为ML405 以适应具体实验板。其他模块选择可以参照/40x/virtex4_defconfig 中的配置。配置完成后,执行make ARCH=powerpc CROSS_COMPILE=ppc_4xx- zImage这一步骤完成后即可在 arch/powerpc/boot/目录下生成 simpleImage.virtex405-ml405.elf,这就是生成的带有调试信息的 Linux 操作系统可执行文件。启动 Xilinx EDK,使用 X
12、MD 工具下载 Linux 内核并进行调试 16。XMD% connect ppc hw debugdevice deviceNr3 cpunr1XMD% dow arch/powerpc/boot/ simpleImage.virtex405-ml405.elfXMD% con正确连接 ML405 开发板与 PC 串口并设置串口通信波特率 9600,数据位为 8,无奇嵌入式 Linux 环境下的量子密钥协商系统开发- 4 -偶校验位,此时便可以看到串口打印的 Linux 启动信息。如果移植中出现问题,即可通过此调试窗口进行内核调试。至此,嵌入式 Linux 在 ML405 上的移植就完成了。
13、4.密钥协商系统开发为了在授权用户之间分配量子密钥,首先必须利用一个确定的量子信源产生随机量子比特串,并将所产生的量子比特串通过量子信道传输到另一个授权用户,然后进行安全性检测获得原始密钥。原始密钥不能作为最终的密钥,因为在原密钥中可能存在由于各种因素导致的错误,使得通信双方的密钥不完全相同,甚至攻击者可能知道原始密钥中的部分信息,这些问题将直接影响密钥的安全性和准确性。为了获得完全共享的无条件安全密钥,需要对原密钥作进一步的处理,主要包括纠正原密钥中的错误和提高密钥的安全性。原密钥中的错误可以通过秘密协商技术或者纠错码技术处理,而密钥保密性的提高可采用保密加强技术实现。本实验系统在采用嵌入式
14、 Linux 系统进行基本驱动电路控制的基础上,进行了密钥协商算法的系统开发,系统采用改进的 Winnow 协商算法 17,18进行信息协商。程序最终编译为一个可执行二进制文件嵌入到上述 Linux 系统中,调用保存在 FPGA 内 DDR SDRAM 中的通信数据即可进行量子 QKD 后续的密钥协商,从而将整个量子 QKD 在ML405 中完成,摆脱了对 PC 机的依赖,这极大地扩展系统的应用范围,降低了系统能耗。由于采用了自适应区间选择算法,所以在正式开始协商前,需要通信双方提供初始的误码率。密钥协商算法在 N=8 时的协商纠错效果最好,因此系统开发中将最小区间长度设定为 8。协商算法完成
15、后分为客户端和服务器端两方,可以通过使用对通信端的选择来决定使用前向协商或者后向协商。如果使用前向协商,那么 Alice 选择服务器端,Bob 选择客户端。反之,使用后向协商。5.理论与实验结果比较密钥协商的纠错能力是评价算法效率的重要标准,本文采用 W.T.Buttler19所提出的PN/P0 评价协商系统的性能,其中 PN 为 SPW(Single Pass of the Winnow protocol)之后比特串的误码率,P 0 为原始比特串误码率。明显的,Winnow 协商算法的纠错能力取决于原始比特中的误码分布。在不知道具体QKD 设备的情形下,我们假设原始误码服从二项分布。在此假设
16、下,经过 SPW 后的剩余比特率为 001(1)i iodi nNninNmp(1)此时嵌入式 Linux 环境下的量子密钥协商系统开发- 5 -000()(1)i iiNnNnfiniNpp(2)由此我们可以得到在区间长度 N=8,16,32 时的 PN/P0 理论曲线,如 FIG 219所示。由于在系统开发中,自适应区间划分的 Winnow 协商算法设定最小区间为 8。FIG 3 为实验数据所描述的 PN/P0 曲线,从图中我们可以看出,自适应区间算法的 PN/P0 曲线与 N=8的曲线接近。而实测的 N=8,16,32 曲线与理论曲线基本一致,验证了 Buttler 的理论分析,正确地完
17、成了 Winnow 算法的程序实现。FIG 2 PN/P0 理论曲线嵌入式 Linux 环境下的量子密钥协商系统开发- 6 -FIG 3 PN/P0 实测曲线(N=8,16,32,自适应区间划分)在误码率较低的情况下,自适应区间划分算法由于采用较大的区间,因此在不降低纠错能力的情况下,可以实现剩余比特的提升。通过实验数据观测,如图 FIG 4,可以看到自适应区间划分算法在低误码率情况下,可以获得较高的剩余比特数。同时,又可使得协商算法的获得接近 N=8 的纠错性能,取得了较好的协商效果。FIG 4 剩余比特率曲线 (N=8,16,32,自适应区间划分 )6.结论完成了嵌入式 Linux 操作系
18、统在 Xilinx ML405 上的移植,并基于 Linux 完成了密钥嵌入式 Linux 环境下的量子密钥协商系统开发- 7 -协商算法系统开发。程序采用改进后的自适应区间划分 Winnow 算法进行协商,对程序进行了大量数据测试,得出相应曲线。将实验结果与理论分析进行比较,基本一致,从而验证了本密钥协商系统的有效性。参考文献:1.曾贵华,量子密码学,科学出版社,2006 2. N. Gisin, G. Ribordy, W. Tittel, H. Zbinden. Quantum cryptography. Rev Mod Phys. 2002, 74:145 3. P. W. Shor,
19、 J. Preskill. Simple Proof of Security of the BB84 Quantum Key Distribution Protocol. Phys Rev Lett. 2000, 85, 441 4. H. -K. Lo, H. F. Chau. Unconditional Security of Quantum Key Distribution over Arbitrarily Long Distances. Science. 1999, 283: 2050 5. D. Mayers. Unconditional Security in Quantum Cr
20、yptography. J. ACM. 2001, 48: 351 6.许方星, 陈巍, 王双 , 银振强, 张阳, 刘云, 周政, 赵义博, 李宏伟, 刘东, 韩正甫, 郭光灿. 多层级量子密码城域网. 科学通报, 2009,54(16): 2277-22837. LI ChengZu. Real applications of quantum communications in China. Chinese Science Bulletin, 2009,54(17): 2976-29778. Gisin N, Ribordy G, Tittel W, Zbinden H. Quantum
21、cryptography. Rev Mod Phys. 2002, 74:1459. Grosshans F, Grangier P. Continuous Variable Quantum Cryptography Using Coherent States. Phys Rev Lett. 2002, 88: 05790210. Grosshans F et al. Quantum key distribution using Gaussian-modulated coherent states. Nature (London). 2003, 421: 23811. N ICOLAS J.
22、From Quantum Cloning to Quantum key D istribution with Continuous Variable: a Review J . Opt S oc AmB , 2007, 24:12.http:/www.xilinx- virtex4/capabilities/powepc.htmP.Xilinx lnc,USA13.http:/mira.sunsite.utk.edu/eldk/4.2/ppc-linux-x86/iso/14.http:/git- Xu-Dong, He Guang-Qiang, Zeng Gui-Hua. The Reali
23、zation of Error Correction and Reconciliation of Continous Quantum Key Distribution in Detail. Chinese Science(In Press).嵌入式 Linux 环境下的量子密钥协商系统开发- 8 -18.逯志欣, 于丽, 基于逆向协调的连续变量量子密钥分发数据协调, 中国科学G 辑: 物理学 力学 天文学19.W.T.Buttler,S.K.Lamoreaux,J.R.Torgerson et al.Fast,efficient error reconciliation for quantum cryptography.Phys Rev A.2003,67:052303