发明内容
本发明针对现有移动POS和底座之间的通讯保密性差以及传输速率低的问题提出一种移动POS和底座之间的通讯联结,其具体技术方案如下:
一种移动POS和底座之间的通讯联结,包括移动POS和底座,其特征在于:所述底座上表面为凹陷结构,其上设有发射管与接收管;所述移动POS嵌入所述底座的凹陷结构内,该移动POS上相应设有接收管与发射管,所述移动POS和底座之间的接收与发射通讯通过处理器模块及与之相连的收发器模块实现。
进一步地,所述处理器模块被封装在安全***内,所述安全***由多路环绕、密布、交叠的多层脉冲线路构成。
进一步地,所述发射管与接收管之间的传输通路上加装有防干扰滤光片。
进一步地,所述发射管发射近红外光波脉冲。
进一步地,所述近红外光波发射功率的发射张角为15-25°。
本发明还提出一种移动POS和底座之间的通讯方法,其技术方案如下:
A、主处理模块将敏感数据采用加密的数据流输出到收发器模块;
B、收发器模块将数据串行化后驱动发射器发出信号;
C、接收器接收到所述信号后经过另一收发器模块解串后执行解密。
进一步地,所述A步骤中采用数据传输工作密钥对数据进行加密,所述工作密钥由加密IC产生的随机数和子密钥组成。
进一步地,所述工作密钥的生成过程如下:
A1、子密钥被分成左右两个部分,加密IC生成8字节的随机数;
A2、用子密钥的左半部分对随机数进行数据加密,再用子密钥的右半部分对其进行解密操作,然后用子密钥的左半部分进行加密操作得到工作密钥的左部分;
A3、对8字节的随机数取反并反序;
A4、用子密钥的右半部分对取反并反序后的随机数进行数据加密,再用子密钥的左半部分对其进行解密操作,然后用子密钥的右半部分进行加密操作得到工作密钥的右部分。
进一步地,所述收发器模块由可编程逻辑器件FPGA构建,接收及发送数据采用直接编码方式。
进一步地,所述收发器模块中增加8字节深度的FIFO存储器,所述收发器模块通过CPU内部的DMA通道来实现其与存储器之间的数据传输。
与现有技术相比,本发明的优点和积极效果如下:
1、本发明通过利用发射器的发射指向性以及底座和移动POS机在收发方面的结构设计的配合,使得通讯过程不易被目前常用的方法探测到,且可以实现很高的传输速率。
2、通过将处理器模块封装在由多路环绕、密布、交叠的多层脉冲线路所构成的安全***内,保证了一旦发现异常则将在极短的时间内将所有处理器内的敏感数据和加密数据毁掉,可有效抵御外部物理方法攻击。
3、为保证数据的高效传输,采用新型的FPGA来构建收发器模块,收发模块采用直接编码方式,有效的降低整个***的响应时间和处理难度。
4、采用专用的加密IC来保存最重要的子密钥和相关工作密钥,并可以对加密IC执行个人化,根据相关的应用来建立相关的文件***来存储必要数据。相关的敏感数据均被加密IC执行加密,形成密文并计算MAC保证数据完整性。
5、采用光路直通的设计方法,接收与发射信号传输可靠,且极大地降低了成本。
本发明综合考虑了保密性、高速通讯以及防探测设计等,有效地解决了移动POS和底座之间的敏感数据交互,其硬件成本较低,***可靠性较高。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一,参考图1,本实施例提出一种移动POS和底座之间的通讯联结,包括移动POS 1和底座2,底座2采用贝蛤型凹陷结构,移动POS采用30°嵌入,充分保证相关探测器无法伸入其内探测。为了防止外界的干扰,在移动POS和底座传输通路上加装滤光片5,可以有效提高传输准确性。为保证通讯的高速,本实施例采用了双向通讯,底座设置独立的发射管4和接收管3,同时在移动POS中也实行相同的设计,接收和发射配对来使用,易于模块重用和降低成本。具体地将,在移动POS中接收管3及发射管4安装在移动POS PCB 6,在底座中接收管3及发射管4安装在移动底座PCB 6由于发射和接收距离短,因而不需采用任何功率放大设备,在满足传输要求的同时也降低了成本。移动POS和底座之间的接收与发射通讯通过处理器模块及与之相连的收发器模块实现。
所述处理器模块由主控处理器、存储器子***和加密IC等关键功能模块构成,处理器模块被封装在一个安全***中,在物理上采用多层PCB设计、层叠和组装,通过多路、高频率的触发脉冲形成一个网状盒子,其设计线间距小于0.25mm,均封闭在PCB内层,通过不规则的蛇行走线形成一个闭合回路,每路脉冲线路独立、随机、极短时间间隔(不大于20ms)发射脉冲信号,依据独立的接收端来判断信号是否被阻断,任何企图采用物理探测的手段而引起触发,处理器都将在极短的时间内自毁内部敏感数据。加密IC采用Infineon安全处理器作为加密协处理器,具有防止SEMA/DEMA、SPA/DPA、DFA和时序攻击的措施,其硬件可实现3DES、SHA、RSA算法。另外,加密IC内部运行安全操作***,支持密钥的管理、下载和更新,支持常用的安全体系、命令解释、传输管理、文件管理等功能模块。
所述收发器模块采用Lattice公司的MachXO系列的新一代FPGA器件构建串行器和解串器,内嵌Flash处理工艺,无需外部ROM来加载编程数据,内部带有128位加密保护,设置只写属性可有效防止内部逻辑的泄漏。MachXO系列器件支持Lattice公司特有的透明现场重新配置(TransFR)技术,能够在器件适用SRAM配置存储器继续正常工作的情况下,对Flash配置存储器机芯透明的编程。收发器模块使用Verilog语言构造内部硬件逻辑,其内部功能逻辑实现如图2所示。本发明中收发器模块内部包括:外设串行数据状态寄存器、外设串行控制寄存器、外设解串数据寄存器、外设解串状态寄存器、波特率管理寄存器、波特率预分频寄存器、FIFO状态寄存器,各寄存器定义如下表所示:
表一、外设串行数据状态寄存器(PTRDSR),相对地址0x8001,16bit寄存器,只读。
表二、外设串行控制寄存器(PTRCR),相对地址0x8003,8bit寄存器,读写。
表三、外设解串数据寄存器(PREDSR),相对地址0x8004,16bit寄存器,只读。
表四、外设解串状态寄存器(PRESTR),相对地址0x8006,8bit寄存器,只读。
位 |
功能 |
说明 |
初值 |
Bit 0 |
线路状态标志 |
1-忙 0-空闲 |
0 |
Bit 1 |
数据准备好 |
1-接收状态 0-空闲 |
0 |
Bit 2 |
串行器动作状态 |
1-正在驱动 0-空闲 |
0 |
Bit 3 |
校验状态标志 |
1-错误 0-正确 |
0 |
Bit 4 |
无定义 |
保留为将来使用 |
0 |
Bit 5 |
无定义 |
保留为将来使用 |
0 |
Bit 6 |
无定义 |
保留为将来使用 |
0 |
Bit 7 |
无定义 |
保留为将来使用 |
0 |
表五、波特率管理寄存器(BTRSTR),相对地址0x8007,8bit寄存器,读/写。
表六、波特率预分频寄存器(BTRDIVR),相对地址0x8008,8bit寄存器,读/写。
表七、FIFO状态寄存器(FIFOSR),相对地址0x8009,8bit寄存器,只读。
位 |
功能 |
说明 |
初值 |
Bit 0 |
接收FIFO满标志 |
1-有效 0-无效 |
0 |
Bit 1 |
接收FIFO将满标志 |
1-有效 0-无效 |
0 |
Bit 2 |
接收FIFO半满标志 |
1-有效 0-无效 |
0 |
Bit 3 |
接收FIFO空标志 |
1-有效 0-无效 |
1 |
Bit 4 |
发送FIFO满标志 |
1-有效 0-无效 |
0 |
Bit 5 |
发送FIFO将满标志 |
1-有效 0-无效 |
0 |
Bit 6 |
发送FIFO半满标志 |
1-有效 0-无效 |
0 |
Bit 7 |
发送FIFO空标志 |
1-有效 0-无效 |
0 |
表八、中断控制寄存器(INTCTR),相对地址0x800A,8bit寄存器,读/写。
表九、中断屏蔽寄存器(INTMASKR),相对地址0x800B,8bit寄存器,读/写。
本发明所采用的光路物理介质波长为940nm,属于近红外波段,其发射能量集中于正负20°张角内,配合相应的结构设计,发射能量大部被接收管吸收,具有极强的发射指向性,既增强了通讯传输的可靠性又增加探测的难度。图3为采用发射管的指向性特征图,经过相应光强分析测试的结果。发送驱动器将并行数据串行化后,输出为TTL的电压波形。如图4所示的时间演化传输波形,通过发射管将电压信号转换为近红外光波脉冲,其辐射强度在主瓣中心位置约为45毫瓦,光谱半波宽度典型值为40nm。图5为接收光脉冲信号和电压信号转换图,光波脉冲信号经过接收管转换为电压信号,最终被输送到接收驱动器进行解串操作,在存储与接收FIFO中转换成处理器可以识别和处理的数据。光波数据不使用常用的脉宽(PWM)调制方法,数据采用直接编码方式,这样可将接收和发射优化为对称设计,可显著降低成本。一般来讲,脉宽调制(PWM)通过调整发射管输出的脉冲宽度来调制波形,通常在消费电子的遥控等场合使用,调制频率一般选择在30-60KHz之间,此调制方法主要为了保证传输过程中来自外界的红外频谱的干扰,但数据的传输率很低,不适于较大数据量的传输。本发明中考虑到接收和发送之间间隔不大,有足够的防干扰的裕量,因此不使用调制方式;考虑到数据本身为密文数据,并且具有数据完整性检测,因此也不使用编码方式,以此消除解调器成本,减少CPU的编解码的时间消耗,从而大大提高数据传输的速率。另外,光路传输波形即数据,对接收端处理非常简化,通过适当容量的FIFO缓冲,可以达到非常高的传输速率,其传输速率只依赖与接收管的光敏响应速度和接收处理器的处理速度。再者,由于数据波形仅为物理层,数据已经被应用进行加密,即使截获这种数据也为没有任何价值。
实施例二,本实施例提出一种移动POS和底座之间的通讯方法,
主控处理器将敏感数据采用高度加密的数据流输出到串行器,串行器将并行数据串行化后直接驱动反射器,形成光路通断信号,接收端接收器根据光路通断信号,转化为串行电压信号,经过解串器转为主控处理器可处理的并行数据,并执行解密操作。本发明移动POS使用加密IC内部数据传输工作私钥对数据进行3DES算法加密,使用SHA算法计算数据完整性,底座使用相同数据传输工作私钥对数据进行3DES算法解密,并重新计算数据是否完整。
关键的密钥管理和密钥存储工作均在加密IC内部,在处理器子***中运行的所有数据都采用加密模式和防篡改模式。移动POS和底座之间的加密IC内部存储经过密钥母卡分散出的子密钥,一旦子密钥形成则将无法获取,为进一步保证子密钥的安全性,对传输数据进行加密、解密操作的工作密钥由加密IC产生的随机数和子密钥分散而来,保证每次传输的数据采用一次一密的形式,即使临时工作密钥被攻破则子密钥也不可能通过反向运算获得。
临时工作子密钥的生成由内部运算逻辑、随机数和子密钥共同生成,参考图6及图7,其生成过程如下:首先加密IC利用真随机数发生器生成8字节的随机数,子密钥被分成左右两个部分,先用左半部分对随机数进行数据加密操作,生成的数据结果用子密钥的右半部分对其进行解密操作,生成的数据结果再用子密钥的左半部分进行加密操作,最后的数据为工作密钥的左部分。工作密钥的右部分是对8字节的随机数取反并反序,再采用和工作密钥左部分类似操作生成,即用子密钥的右半部分对取反并反序后随机数进行数据加密,再用子密钥的左半部分对其进行解密操作,然后用子密钥的右半部分进行加密操作得到工作密钥的右部分。生成的工作密钥左部分和右部分一起构成完整的临时工作密钥。本发明中移动POS和底座之间的每次交易数据均由临时工作密钥产生,密文和随机数一起传输。
临时密钥的产生,保证每次执行一笔交易采用不同的密钥,手持POS机和底座之间仅传递随机数参数,随机数为由IC内部高斯噪声所产生的真随机数,可以有效抵御穷举攻击,即使临时工作密钥被攻破,则子密钥也是安全的,因为根据DES算法的设计,根据结果无法推导出密钥,上述的临时工作密钥的形成可以等效为两个等式:
f(k(f(ran,KDl),KDr),KDl)=KTl
f(k(f(-ran,KDl),KDr),KDl)=KTr
其中,f(x,y)为加密函数、k(x,y)为解密函数、ran为随机数、-ran为取反并反序、KDl为子密钥左部分、KDr为子密钥右部分、KTl为临时工作密钥左部分、KTr为临时工作密钥右部分。目前已知ran、KTl、KTr,来求解KDl和KDr,根据DES的算法设计,计算过程不可逆,要推导子密钥非常困难,需要海量的样本数据进行穷举攻击。同时临时工作密钥的获得也需要海量的明文和密文数据的穷举攻击方可获得一个临时工作密钥,本发明采用全部密文和随机数发送,在光路中没有任何明文信息,因此可保证无法获得海量的临时工作密钥这个条件,因此子密钥毫无疑问是安全的。
为保证通讯的高速,本发明一方面采用了双向通讯,另一方面在收发器模块中也根据接收发送可以同时进行的设计,分别增加了8字节深度的读写FIFO,配合DMA和快速响应中断,实际测试可以达到4.5Mbps的传输速率。其中FIFO采用异步高速设计。
通常情况下,如果PFGA内部资源较多则可以设计一个较大的FIFO,但是因为FPGA可以实现FIFO的寄存器的资源耗费限制,考虑到成本和设计实用性,对于发送FIFO,采用了8位位宽和8字节深度;接收FIFO,采用了11位位宽和8字节深度。使用FIFO可以有效利用CPU提高数据吞吐量,减少中断的次数。在数据密集传输的情况下使用DMA数据传输方式更能提高数据传输速度。参考图8收发器模块DMA和CPU memory控制框图,收发模块一旦申请DMA响应,则CPU让出总线控制,收发模块将FIFO数据直接映射到内存中供处理器使用,接收模块也是如此,可以将接收FIFO的数据直接映射内存中。本发明中,收发器模块作为外设实现总线和DMA控制器,通过CPU内部的Memory控制器的DMA通道来实现外设到存储器、存储器到外设的数据传输。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域有类似要求的液体、气体的控制,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。