本发明涉及一种基于国产嵌入式平台的密码模块接口的实现方法。
背景技术:
目前,信息的安全性和保密性越来越受到人们的关注,特别是在军用计算机领域,在某些特殊情况下,需要使用手持式计算机进行数据加解密,采用sd卡形式的加密模块,具有使用简单,更换方便等优点,sd卡形式的加密模块应用越来越广泛。
因此,一种基于国产嵌入式平台的密码模块接口实现方法具有广泛的市场应用价值。龙芯系列处理器是龙芯中科自主研发的通用cpu,其中龙芯1系列处理器片内集成了32位处理器核、2dgpu、vga和lcd显示接口,能够满足超低价位云终端、工业控制、手持设备等领域需求。
reworks嵌入式操作系统是中国电子科技集团第32所自行研制、拥有全部源代码的嵌入式实时操作系统,适用于多种目标硬件。reworks操作系统采用面向对象和微内核技术开发,具有强实时性、可裁剪性和可伸缩性,并提供了vxworks兼容层。
技术实现要素:
针对现有技术的不足,本发明提供一种基于国产嵌入式平台的密码模块接口的实现方法。本发明要解决的问题是:以基于国产龙芯1a处理器的手持式计算机为硬件平台,在国产嵌入式操作系统reworks下针对sd卡式密码模块实现了其硬件接口及软件驱动。
本发明的技术方案为:
一种基于国产嵌入式平台的密码模块接口的实现方法,包括:
以基于国产龙芯1a处理器的手持式计算机为硬件平台,在国产嵌入式操作系统reworks下,使用龙芯1a的uart总线,通过一片stm32f103微处理器实现一个标准的sd卡接口,其中stm32f103微处理器是一种高性能、低功耗的32位处理器,片内自带非易失性程序和数据存储器,通过将标准sd卡接口驱动程序固化到stm32f103的程序存储器中,实现对密码模块的读写:
初始化stm32f103微处理器;
初始化uart;
配置gpio;
配置中断控制器;
初始化sdio接口;
串口收到命令标志;
判断命令类型;
复位sd密码模块;
读sd密码模块状态;
向sd密码模块写数据;
向sd密码模块读数据。
为了解释本发明所述的方法,特将上述对密码模块的读写对应的程序代码展示如下:
根据本发明优选的,上述基于国产嵌入式平台的密码模块接口的实现方法,还包括密码模块认证方法,如下:
打开串口2;
向密码模块发出认证命令;
从密码模块读出返回值;
比对返回值并返回认证结果。
为了解释本发明所述的方法,特将上述对密码模块认证方法对应的程序代码展示如下:
本发明的技术优势:
本发明以基于国产龙芯1a处理器的手持式计算机为硬件平台,在国产嵌入式操作系统reworks下针对sd卡式密码模块实现了其硬件接口及软件驱动。本发明通过接口转换方式,丰富了龙芯1a处理器的对外接口,与通常使用gpio模拟sdio接口方式相比,本发明通过stm32处理器实现与密码模块的通信,既能灵活方便的实现通信协议,又能大大减轻龙芯1a负担,提高了整机性能。
附图说明
图1为sd卡式密码模块接口硬件原理图。
具体实施方式
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
实施例1、
一种基于国产嵌入式平台的密码模块接口的实现方法,包括:
以基于国产龙芯1a处理器的手持式计算机为硬件平台,在国产嵌入式操作系统reworks下,使用龙芯1a的uart总线,通过一片stm32f103微处理器实现一个标准的sd卡接口,其中stm32f103微处理器是一种高性能、低功耗的32位处理器,片内自带非易失性程序和数据存储器,通过将标准sd卡接口驱动程序固化到stm32f103的程序存储器中,实现对密码模块的读写:
初始化stm32f103微处理器;
初始化uart;
配置gpio;
配置中断控制器;
初始化sdio接口;
串口收到命令标志;
判断命令类型;
复位sd密码模块;
读sd密码模块状态;
向sd密码模块写数据;
向sd密码模块读数据。
为了解释本发明所述的方法,特将上述对密码模块的读写对应的程序代码展示如下:
实施例2、
如实施例1所述的基于国产嵌入式平台的密码模块接口的实现方法,还包括密码模块认证方法,如下:
打开串口2;
向密码模块发出认证命令;
从密码模块读出返回值;
比对返回值并返回认证结果。
为了解释本发明所述的方法,特将上述对密码模块认证方法对应的程序代码展示如下:
在reworks操作系统下,应用下述代码对密码模块认证,确认密码模块是否可以正常使用: