电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章嵌入式系统嵌入式银行网络安全终端系统的设计

嵌入式银行网络安全终端系统的设计

11-20 17:13:07 | http://www.5idzw.com | 嵌入式系统 | 人气:189
标签:嵌入式系统开发,嵌入式开发,http://www.5idzw.com 嵌入式银行网络安全终端系统的设计,http://www.5idzw.com

嵌入式银行网络安全终端系统的设计

随着国内银行业务量的迅速发展,银行需要能有效解决银行网点前台业务量大,耗时长等问题,并为持卡人提供安全迅捷服务的一种自助型终端产品。网络安全终端系统就是针对这一需求,在银行现有网络的基础上开发的低成本嵌入式产品。本系统的研制对于以银行为代表的各金融企业的终端服务以及方便人们的生活具有重要的意义。
1.网络安全系统的总体设计网络安全终端要实现用户的交易操作,必须将用户的交易信息传递给银行后台。基于银行现有的网络,网络安全终端必需具备网络通信功能才能与银行后台交互数据。网络安全终端是用于银行交易的,一旦网络安全终端传递给银行后台的数据被窃取或篡改,都将导致用户和银行的巨大损失。因此,网络安全终端必须确保其传递数据的安全性。

1.1网络安全终端交易系统的体系框架

基于局域网的网络安全终端交易系统,主要由接入服务器系统、密钥生成与管理系统、终端发卡系统、终端管理系统等部分组成,如图 1所示。
 



1.2网络安全终端的模块需求设计根据功能需求及技术需求,网络安全终端须具备以下模块:核心处理模块:基于 ARM7TDMI核的 SoC芯片 Garfield作为主处理器,附加 SDRAM,FlasliROM等外围电路并在 Garfield上移植 uCLinux操作系统。该模块负责协调整个系统工作,进行各个模块的管理、数据处理/存储、任务调度及决策等。网卡模块:接入以太网,与接入前置机交互数据,实现基于 TCP/IP协议的数据通信。人机交互模块:人机交互模块是实现用户与终端之间的通讯和对话,通过液晶显示屏和键盘等设备,提供丰富友好的操作界面及人工介入功能等人性化的设计,为用户操作提供可靠的支持。安全处理模块:采用 PSAM卡硬件加密,实现网络安全终端对重要信息的加密,来满足交易系统对网络安全终端安全性的需求。

2.网络安全系统的硬件设计

硬件平台主要分成两部分:主系统和安全处理子系统。主系统和安全处理子系统之间通过串口来实现数据交换。主系统主要包括主处理器、电源模块、存储模块、人机交互模块、网卡模块等,其原理图如图 2所示。
 



2.1主处理器存储接口电路

由于 16位数据访问方式即可满足网络安全终端对存储速度的要求,与 32位数据访问方式相比,可大大减小硬件布局布线的难度,从而提高产品的性价比,因此网络安全终端选用 16位访问方式。由于处理器的数据宽度配置为 16位访问外部启动存储器,故下面的存储设备均选择 16位数据线连接。存储模块主要包含 8M字节的 FLASH和 16M字节的 SDRAM。
 



2.2网络模块接口电路

网络安全终端采用 RTL8019AS实现网络模块的物理层。它们之间的通信主要是通过总线和一些控制信号来完成的。由于网卡模块使用的是 Garfield的总线(数据和地址总线 ),所以将网卡模块的低 10根地址线及低 16根数据线与之相应连接。同时由于网卡模块需要有一些控制引脚来实现对网卡模块的控制(如启动、复位、中断、读、写等 ),因此可以使用主处理器的引脚来和这些引脚连接。Garfield的很多引脚可以复用为特殊的控制信号和 GPIO口。所有的 GPIO口都可以通过独立编程来控制它的输入输出方向和输出电平的高低,而且可以将 GPIO引脚设置为中断功能,可以灵活地监测各种类型信号的变化,来实现对网卡模块的监控,其电路图如 4所示。
 


2.3安全处理子系统电路

安全处理子系统主要包含:协处理器 C52,磁卡读卡器和 PSAM卡。安全处理子系统的工作如下:协处理器 C52读取磁卡信息,将信息传递给 PSAM卡进行加密,并将 PSAM卡加密后的信息传递给主系统,安全处理子系统与网络安全终端的集成接口如下图 5所示。
 



3.网络安全终端的软件设计

在对嵌入式产品的体系模型研究的基础上,进行基于 Garfield的网络安全终端的软件框架设计。软件实现部分包括: uClinux在 Garfield处理器上的移植、 uClinux的网卡驱动移植、安全网络通信的设计,以及交易流程的实现。

3.1 uClinux在 Garfield处理器上的移植

首先是内核配置系统,配置信息保存在配置文件.config中,原有的 .config文件被更名为.config.old。Makefile根据.config中的配置信息,构造并编译源文件列表,通过链接器脚本,把目标代码链接到一起,最终形成 Linux Kernel Image 。然后设置内核启动入口,入口代码是 linux/arch/armnommu/kernel/head-army.S。对于中断处理, uClinux Kernel的 C代码入口函数 start_kernel()定义在 linux/init/main.c中。该函数首先调用 setup_arch()处理内核启动参数等内容,然后对中断进行处理。

最后进行系统时钟设计,Garfield中的定时器是片内集成的定时器,能够向系统提供定时中断。网络安全终端使用 Garfield的 Timed的重启计数模式,将其作为系统时钟源。

3.2网络设备驱动的实现网络设备驱动程序主要由初始化部分和数据包的发送与接收部分组成,相关程序代码在
linux-2.4.x/drivers/net/ne.c和 linux-2.4.x/drivers/net/8390.c中,其实现的关键代码如下:

主要的初始化函数 int init ne}robe(struct net device *dev)
检测网卡的复位响应代码如下:

bad card=((dev->basa_ addr != 0)&&(de->mem end==0xbad));
{ unsigned long reset start time = jiffies;
Outb(inb(ioaddr+NE_RESET), ioaddr+NE_RESET);
while ((inb_p(ioaddr+ENO_ISR)& RNISR_RESET)==0)

if(jiffies-reset_start_time>2*HZ/100){
if (bad card){ printk(" (warning: no reset ack)");
break; }else{
printk(" not found (no reset ack)\n");
ret= - ENODEV;
goto err_out; } }
outb}(oxff, ioaddr+ENO_ ISR); }

3.3安全性通信的实现

网络安全终端的主系统通过将重要信息发送给安全处理子系统,由安全处理子系统将信息加密。主系统接收该密文并发送,信息以密文的形式在网络中传递,这样可以满足终端安全的需求。网络安全终端是通过主处理器的 uart2与安全处理子系统的协处理器 C52进行串口通信的。

串口通信编程的实现过程如下:

(1) 串口操作涉及的头文件,linux/include/asm/arch-GFD/serial.h。

(2) 打开串口,Linux下串口的设备文件是 /dev/ttySO, /dev/ttySl等。

(3) 设置串口,最基本的设置串口包括波特率设置,校验位和停止位设置。串口的设置主要是设置 struct ermios结构体的各成员值。

(4) 写数据到端口,数据到端口只需要使用 write系统调用去传送数据。

(5) 从端口读数据,以行数据模式操作端口,每个 read系统调用都会返回,不论多少字符实际存在于串行输入缓冲中。如果没有字符存在,调用将阻塞 (等待)到有字符进入,或出现超时和错误。

[1] [2]  下一页

,嵌入式银行网络安全终端系统的设计
关于《嵌入式银行网络安全终端系统的设计》的更多文章