一种基于UEFI的对等模式可信通信方法技术

技术编号:37049925 阅读:22 留言:0更新日期:2023-03-29 19:27
本发明专利技术提出了一种基于UEFI的对等模式可信通信方法,系统包括操作系统层、固件层和硬件层。利用UEFI可封装模块的特性优势,在读取GPT硬盘分区表时,设计了固件交互模块、同学模块、操作系统交互模块、硬件检测模块、SM3算法调用接口、特征信息提取模块和SM3算法验证模块。本发明专利技术所提出的方案可以在对等模式下进行可信通信的认证。可信通信的认证。可信通信的认证。

【技术实现步骤摘要】
一种基于UEFI的对等模式可信通信方法


[0001]本专利技术属于计算机固件
,具体涉及一种基于UEFI的对等模式可信通信方法。

技术介绍

[0002]UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)是一种计算机固件(或称为BIOS)的接口规范,也是关于固件的最主要的工业标准。UEFI规范最初是面向Intel公司的Itanium和X86处理器进行制定的,但是UEFI规范本身是与处理器架构无关的,目前已经应用于X86、Itanium、ARM等处理器平台。符合UEFI规范的计算机固件(以下简称UEFI固件)相对于传统的固件有很多优越性,目前主流的X86商用计算机系统基本上都是采用了UEFI固件。
[0003]20世纪末期,Legacy BIOS+MBR分区

直“统治”着计算机系统。但是,随着计算机硬件的发展,它们暴露出了越来越多的缺点。20世纪90年代末,英特尔(Inter)公司开发了GPT分区格式以弥补这些不足,但当时硬件发展水平远没有达到Legacy BIOS+MBR分区的极限,因而没有广泛流行。但当64位系统逐渐取代32位系统、硬盘容量超过2TB后,这些缺点实实在在地阻碍了计算机的发展,Legacy BIOS+MBR分区也就终于完成了它们的使命,让位于UEFI+GPT的组合。
[0004]杂凑函数(或称Hash函数、散列函数)是杂凑算法的基础,它是一种单向密码体制,即它是一个从明文到密文的不可逆映射,只有加密过程,不能解密。同时,杂凑函数可以将任意长度的输入经过变换以后得到固定长度的输出。杂凑函数的这种单向性特征和输出数据长度固定的特征使得它可以生成消息的“数字指纹”(或称消息摘要、杂凑值、Hash值或散列值),因此在数据完整性认证、数字签名等领域有广泛的应用。SM3算法是由王小云院士领头设计的第一个国产哈希密码算法标准,该算法适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成。
[0005]本专利技术目前所要解决的问题:即在客户端/服务端模型中,往往都是对接入的客户端进行完整性校验报告,但是对服务端来说,一般都是基于可信第三方(Trusted Third Party,即TTP)对其进行无条件信任。这种双方的不对等远程证明流程可能存在一些问题:1)信任链只能在单台计算机中;2)计算机之间不能直接进行远程可信证明。

技术实现思路

[0006]有鉴于此,本专利技术提供了一种基于UEFI的对等模式可信通信方法,能够解决计算机之间不能直接进行远程可信证明的问题。
[0007]为实现上述专利技术目的,本专利技术的技术方案为:
[0008]一种基于UEFI的对等模式可信通信方法,如图1所示系统包括操作系统层、固件层和硬件层。利用UEFI可封装模块的特性优势,在读取GPT硬盘分区表时,设计了固件交互模块、同学模块、操作系统交互模块、硬件检测模块、SM3算法调用接口、特征信息提取模块和
SM3算法验证模块。
[0009]硬件层中,包括GPT硬盘,需要提供给硬件检测模块来读取GPT硬盘分区表。
[0010]固件层中:
[0011]操作系统交互模块将收集到的进行散列计算后的特征信息,发送给固件交互模块。
[0012]硬件检测模块实现硬盘分区的读取以及完成硬盘设备的检测。
[0013]特征信息提取模块将读取的硬盘分区的信息通过SM3国密算法计算得到其散值,用于完整性度量。
[0014]SM3算法调用接口该接口使得BIOS的各引导操作代码可接入调用SM3。
[0015]SM3算法验证模块用于BIOS读取信息进行散列计算后的网完整性度量。
[0016]操作系统层中:
[0017]固件交互模块解析从固件层传来的信息,发送给操作系统层的通信模块。
[0018]通信模块将接收到的信息发送给其他对等的计算机。
[0019]一种基于UEFI的对等模式可信通信方法,针对上述的系统,具体步骤包括:
[0020]步骤1、计算机上电,BIOS引导程序启动。
[0021]步骤2、利用UEFI可封装模块的特性优势,用EFI_DISK_IO_PROTOCOL读取GPT硬盘的分区表。
[0022]步骤3、使用EFI_DEVICE_PATH_PROTOCOL得到文本格式的Device Path设备路径)。
[0023]步骤4、得到硬盘特征值后,调用SM3算法接口进行加密。
[0024]步骤5、将传过来的消息进行杂凑计算,对其填充、迭代压缩生成杂凑值,完成对硬盘分区的加密。
[0025]步骤6、将结果存入记录表,通过通信模块发送给对端计算机,对比当前结果和对端记录是否一致,一致正常启动通信,否则拒绝请求。
[0026]进一步的,所述步骤1具体为:
[0027]步骤1.1:实现计算机远程可信启动,计算机远程启动过程中对不同阶段进行可信度量,并且通过信任链将信任关系从可信根逐级传递直到计算机远程启动完成。UEFI平台初始化从加电到关机可分为7个阶段:SEC(安全验证)

PEI(EFI前期初始化)

DXE(驱动执行环境)

BDS(启动设备选择)

TSL(操作系统加载前期)

RT(Run Time)

AL(系统灾难恢复期)。
[0028]步骤1.2:度量机制以SEC阶段和可信验证模块作为整个系统的可信根,SEC是系统启动的第一个阶段,只有SEC阶段被系统信任,之后的PEI、DXE阶段才具备被信任的可能,自定义的可信验证模块则负责对系统各个阶段数据的完整性进行度量。
[0029]进一步的,所述步骤2具体为:
[0030]步骤2.1:读取扇区,检查GPT头的标志。
[0031]步骤2.2:找到所有提供EFI_DISK_IO_PROTOCOL(对硬盘操作的实例)的控制器。
[0032]步骤2.3:打开EFI_DISK_IO_PROTOCOL,打开EFI_DEVICE_PATH_PROTOCOL(设备路径的实例),用EFI_DEVICE_PATH_PROTOCOL得到特征值。
[0033]步骤2.4:关闭EFI_DEVICE_PATH_PROTOCOL。
[0034]进一步的,所述步骤4具体为:
[0035]步骤4.1:向BIOS引导程序中增加SM3算法运算模块,并在生成文件文件中增加SM3算法运算模块程序的编译参数;
[0036]步骤4.2:对工程文件进行修改在[LibraryClasses]([LibraryClasses]功能为列出本模块要链接的库模块)中添加SM3的库,,从而可以调用SM3加密算法对读取到的硬盘分区进行加密。
[0037]进一步的,所述步骤6中还应该包括用于验签的公钥和自身的签名、用于验签的公钥本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UEFI的对等模式可信通信方法,其特征在于:该方法所用系统包括操作系统层、固件层和硬件层;在读取GPT硬盘分区表时,设计了固件交互模块、同学模块、操作系统交互模块、硬件检测模块、SM3算法调用接口、特征信息提取模块和SM3算法验证模块;硬件层中,包括GPT硬盘,需要提供给硬件检测模块来读取GPT硬盘分区表;固件层中:操作系统交互模块将收集到的进行散列计算后的特征信息,发送给固件交互模块;硬件检测模块实现硬盘分区的读取以及完成硬盘设备的检测;特征信息提取模块将读取的硬盘分区的信息通过SM3国密算法计算得到其散值,用于完整性度量;SM3算法调用接口该接口使得BIOS的各引导操作代码可接入调用SM3;SM3算法验证模块用于BIOS读取信息进行散列计算后的网完整性度量;操作系统层中:固件交互模块解析从固件层传来的信息,发送给操作系统层的通信模块;通信模块将接收到的信息发送给其他对等的计算机。2.根据权利要求1所述的一种基于UEFI的对等模式可信通信方法,其特征在于,具体步骤包括:步骤1、计算机上电,BIOS引导程序启动;步骤2、利用UEFI可封装模块的特性优势,用EFI_DISK_IO_PROTOCOL读取GPT硬盘的分区表;步骤3、使用EFI_DEVICE_PATH_PROTOCOL得到文本格式的设备路径Device Path;步骤4、得到硬盘特征值后,调用SM3算法接口进行加密;步骤5、将传过来的消息进行杂凑计算,对其填充、迭代压缩生成杂凑值,完成对硬盘分区的加密;步骤6、将结果存入记录表,通过通信模块发送给对端计算机,对比当前结果和对端记录是否一致,一致正常启动通信,否则拒绝请求。3.根据权利要求2所述的一种基于UEFI的对等模式可信通信方法,其特征在于,所述步骤1具体为:步骤1.1:实现计算机远程可信启动,计算机远程启动过程中对不同阶段进行可信度量,并且通过信任链将信任关系从可信根逐级传递直到计算机远程启动完成;UEFI平台初始化从加电到关机分为7个阶段:SEC(安全验证)
→<...

【专利技术属性】
技术研发人员:王冠黄佳孙亮
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1