专利名称:便携终端的制作方法
技术领域:
本发明涉及便携终端,特别是用于信息加密的便携终端;并特别涉及在个人数字助理(PDA)之类的便携终端里给信息加密的方法。
PDA可用来存放个人信息、并在电脑系统之间传递它所存放的个人信息,亦可用PDA来编辑并存放绝密的私人信息,如操作自动出纳机(ATM)之类的自助终端(SST)时的交易信息。
为确保交易信息的安全,需要给PDA所存放并发送的信息加密;不过,传统的PDA并非天然的安全设备,其抵御非法入侵的能力很弱,也就是说PDA里没有可存放密钥的安全区域。没有安全存放设备就意味着无法将业界标准的保密技术用于传统PDA。
根据本发明的第一个方面,提供了一种用于信息加密的便携终端,其特征是该终端为每次交易皆生成一个新密钥,生成新密钥时使用了便携终端的一种或多种属性。
值得注意的是,便携终端的一种或多种属性是随着对终端的使用或随着时间而变化的,也就是说属性是变量,这就确保了新密钥的唯一性和不可预测性。
新密钥生成于内存里的非安全区域,因而毋需精密的安全模块。
新密钥可能生成于编辑交易之时,即把新交易输入便携终端之时。做为替代且优选地,在执行交易时生成新密钥,也即在生成新密钥后立即接通从便携终端到自助终端的交易。
优选地,新密钥是对称密钥。使用对称密钥会带来改良的性能,并确保能兼容于通常皆使用对称密钥技术的已有金融系统。
用户可以在编辑交易时输入身份,做为替代,用户也可在交易即将进行之前输入身份,也就是说,比接通从便携终端到自助终端的交易要稍微提早一小会儿,比如10秒钟。该身份识别可以是个人身份码(PIN),或是基于生物特征的。
优选地,便携终端的一种或多种属性包括便携终端的使用史与/或日期和时间的设定,使用史又可包括按钮选择、游标位移和数据输入等等。在某些终端里,把这些属性存放在系统内存里,于是由系统内存来充当起始密钥(伪随机数生成程序使用的起始值),藉以生成新密钥。随着每次击键,系统内存亦不断地变化,于是为每次交易皆生成了唯一的密钥。
优选地,便携终端不仅要生成密钥,还要生成唯一的口令,从而为每次交易签发唯一的口令。
优选地,用主机所签发的公共密钥为新密钥和唯一的口令加密。
根据本发明的这一方面,便携终端使用无法预测的数据为每次交易生成新密钥,该新密钥可与ATM业主所签发的公共密钥结合使用,藉以在便携终端与ATM之间提供安全通信渠道。本发明的这一方面的益处在于对便携终端内的受保护存放区无特殊要求。
便携终端可以是PDA,或可以是便携电脑,比如膝上型电脑;亦可以是便携通讯设备,比如蜂窝行动电话。
根据本发明的第二个方面,提供了一种在便携终端内给信息加密的方法,其特征包括以下步骤由便携终端的一种或多种属性得出一个数值序列;并基于该数值序列生成新密钥。
优选地,该方法还包括以下步骤基于上述数值序列生成唯一的口令值。
优选地,该方法还包括以下步骤使用主机签发的公共密钥给新密钥和口令值加密,并把加密后的新密钥和口令值发送给主机。
优选地,在上述基于数值序列生成新密钥这一步里使用标准的保密技术,比如使用MD4、MD5或SHA-1或类似的哈希算法来生成数值序列的哈希值。典型的哈希算法(比如MD5)通常是把数值序列转换成固定的数位串。
在一种实施例里,哈希值被一劈为二,分成左半部和右半部,右半部充当中间密钥去给左半部加密,加密后的左半部变成新密钥;而原先的左半部充当中间密钥去给原先的右半部加密,加密后的右半部变成口令值。注意到,把哈希值劈成左右两半只是生成新密钥和口令值的简易方法之一。
根据本发明的第三个方面,提供了一种在便携终端和自助终端之间交换加密信息的方法,其特征包括以下步骤由便携终端的一种或多种属性得出一个数值序列;基于该数值序列生成新密钥;基于该数值序列生成口令值;使用公共密钥给新密钥和口令值加密;并把加密后的新密钥和口令值发送给自助终端。
优选地,该方法还包括需由自助终端完成的以下步骤生成新口令值;使用新密钥给所生成的口令值加密;把加密后的口令值发送给便携终端;并在受理后续交易之前,等候便携终端做出对已发送的口令值的正确响应。
便携终端和自助终端所签发的唯一的口令值杜绝了重放法的攻击(按照这种攻击方法,第三方窃听并记录下便携终端向自助终端所发送的加密信息,再企图通过重放先前记录的加密信息来窃密),因为第三方无法正确地响应由自助终端所签发的新口令。这是因为第三方不知道新密钥,所以无法破解由自助终端所签发的口令。
根据本发明的第四个方面,提供了一种含有自助终端和便携终端的交易系统,其特征是通过操作便携终端,可以由便携终端的一种或多种属性得出一个数值序列并基于该数值序列生成新密钥;便携终端和自助终端适宜于用新密钥互相通讯。
根据本发明的第五个方面,提供了一种自助终端上执行交易的方法,所述方法包括以下步骤使用便携终端编辑一个交易,在编讫之前先把便携终端连接到自助终端;继续完成尚待编讫的交易;执行在便携终端上完成的交易;使用便携终端的一种或多种属性生成该交易的密钥。
完成交易这一步可以包括用户输入身份标识的步骤,身份标识可以是个人身份码(PIN)。
根据本发明的这一方面,在尚待编讫的交易里不包括用户的身份标识,这样即使第三方窃取了尚待编讫的交易,身份标识也不会泄露。
根据本发明的第六个方面,提供了一种辨别自助终端真伪的方法,所述方法包括以下步骤由便携终端的一种或多种属性得出一个数值序列;基于该数值序列生成新密钥;基于该数值序列生成口令值;使用权威机构提供的公共密钥给新密钥和口令值加密;把加密后的新密钥和口令值发送给自助终端;收到自助终端的响应;使用新密钥破解该响应;以及若该破解的响应未能正确地答复口令值则不再发送信息了。
值得注意的是,当把本发明与便携终端相关联时,若该便携终端里没有可以存放一个或多个密钥的安全区,则更能体现出本发明的优势。
由于为每次交易皆生成了新密钥,以及生成新密钥的起始密钥的不可预测性(起始密钥取决于创建交易和/或执行交易的时刻,和/或对终端的使用),是故第三方即使知道了新密钥的生成算法,也无法预测新密钥。这就极大地降低了诈骗的可能性。
由于便携终端里不一定非要有安全存放区不可,是故向个人电脑上传数据或从个人电脑下载数据皆不影响便携终端与自助终端之间的通讯安全。对于需要与(比如)个人电脑进行数据同步的便携终端来说,这一点至关重要。
在一种实施例里,便携终端是3COMTMPalm-IIIxTM型PDA,而自助终端是ATM,在其用户接口里有兼容红外数据协会(IrDA)的红外端口。
通过下文的说明,结合示例并参考附图,可以对本发明的以上和其它方面一目了然。在附图中
图1是根据本发明的一个实施例的便携终端的框图;图2是用来阐释图1所示便携终端的内存里的部份内容的框图;从图3a到3d阐释了在操作图1所示便携终端时,看到的一些荧幕显示内容;图4是交易系统的框图,该系统包括图1所示的便携终端,它与自助终端通讯;图5是流程图,阐释了在图4所示的终端间传输加密信息的步骤。
参考图1,便携终端10是3COMTMPalm-IIIxTM型PDA,PDA10包括与易失性内存14和非易失性内存16相关联的控制器12;触摸屏18;接有通讯电缆的串行通讯端口20;和通讯端口22,其采用兼容红外数据协会(IrDA)的红外端口的形式,用于信息的无线发送和接收。
非易失性内存16是一块闪存,存有使PDA10自举的BIOS程序。闪存16里还存放了预先嵌入到PDA10里去的应用程序,比如日历程序、便笺程序等等。
易失性内存14可以分成两个逻辑部份动态堆26和存放区28。
动态堆26是用来存放动态数据的,比如全局变量、系统动态分配(TCP/IP,IrDA等等)、应用堆栈和临时内存分配。键入PDA10的数据皆存放在动态堆26。当PDA10复位时,动态堆26即被清零。
存放区28是用来存放数据和应用程序的,其作用恰似台式个人电脑的磁盘。存放区28靠PDA电池(未示出)和大电容器来供电,这样,在PDA10复位或更换电池时也不会丢失数据。
当PDA10处于被使用状态时,其动态堆26里的内容是不断变化着的。因此,即使是两台一模一样的PDA且存放的应用程序也一模一样,其动态堆里的内容也各不相同。
参考图2,该框图阐释了存放区28里的内容。存放区28里包括用于金融机构的账户数据30;ATM程序32,允许用户在PDA上编辑ATM交易;和加密程序34,用来生成新密钥以加密已编辑好的ATM交易。
账户数据30是留给ATM程序32使用的,存放账户数据30没有什么特别的安全要求。账户数据30包括用户的银行账号,银行识别号和由金融机构签发的公共密钥。为了更安全起见,需PDA用户本人亲临金融机构的分支,并下载公共密钥,从而直接获取公共密钥。若新公共密钥拥有所需的真实性鉴定,比如证书、数字签名之类,则可由安全的远程下载来获取公共密钥的升级。
参考图3,在使用时,ATM程序32为用户提供了一系列荧幕显示,酷似用户在典型ATM上见过的荧幕显示。在该实施例里,第一荧幕40要求用户键入自己的个人身份码(PIN);第二荧幕42为用户提供了一种或多种交易选项,比如取款、打印余额、转账之类;后续的荧幕显示则取决于所选的交易选项,若选择了“取款”,则第三荧幕请求用户输入取款金额。
一旦输入了交易资料,ATM程序32就会显示荧幕44,提示用户输入交易期限,该交易期限确定了交易在多长时间内有效,也就是交易的执行不能晚于何时。
一旦输入了交易期限,ATM程序32就会显示图标46,提醒用户交易尚待执行。用户(或受托的第三方)则把PDA10连接到ATM,如下所述,参考图4。
图4是交易系统50的框图,该系统包括PDA10,它与形如ATM52的自助终端通讯,ATM52的通讯接口54采用红外转电信号转换器的形式。ATM52亦拥有传统用户接口56(比如触摸屏、数字键盘、扩音器和话筒接口之类),使用户可以手动输入交易资料。
当用户来到ATM52处时,把自己的PDA10的红外端口22对准ATM52的红外转换器54,再在荧幕18上选择“执行交易”图标46。
图5是流程图,阐释了在PDA10和ATM52之间传输加密信息的步骤。
获悉用户选择了图标46后(步骤100),控制器12激活加密程序(图2)以确保PDA10和ATM52之间的安全通讯。
加密程序34通过获取起始密钥来生成交易的新密钥,并在此实施例里对起始密钥使用MD5哈希算法(步骤102)。加密程序34读取动态堆26(图1)里的内容,向操作系统查询当前的日期和时间,并把日期和时间设定附在所读内容之后,藉以得出起始密钥。在某些实施例里,可能只动用了动态堆里的部份内容,比如数百字节。
接着,哈希值被一劈为二(步骤104)左半部和右半部。对左半部和右半部实施两种运算,以生成唯一的会话密钥和唯一的口令值(步骤106)。
在第一种运算里,左半部充当第一中间密钥而右半部充当第一中间数据,并用第一中间密钥去加密第一中间数据,以生成新密钥(它是对称的会话密钥);在第二种运算里,右半部充当第二中间密钥而左半部充当第二中间数据,并用第二中间密钥去加密第二中间数据,以生成口令值。随即,中间密钥和中间数据就被遗弃(他们被删除,或保留到内存不够用为止),于是使用由动态堆26的内容所生成的哈希值就得出了唯一的密钥和唯一的口令值。
PDA10然后使用存放在账户数据30(图2)里的公共密钥去加密新密钥和新口令(步骤108),加密后的密钥和口令值再由红外端口22给发送到红外转换器54(步骤110)。
红外转换器54接收发来的加密信息并把它送入控制器58。控制器58(使用与公共密钥相对的私人密钥来)破解该加密信息,从中恢复出新(唯一的)会话密钥和口令值。控制器58对PDA10发来的原口令值做出响应,并编辑新口令值。控制器58把新口令值和原口令值发回PDA10,并使用新会话密钥给发回PDA10的信息加密。
PDA10收到加密的口令(步骤112)并核对ATM52对原口令的响应正确与否(步骤114)。
若ATM52对原口令做出了正确的响应,则PDA10再做出对ATM的口令的响应(步骤116),并由ATM52核对该响应;随之就在PDA10和ATM52之间建立了安全通讯,并执行已编辑好的交易。
若ATM52未对原口令做出正确的响应,则中断PDA10与ATM52之间的通讯(步骤120)且PDA询问用户是否要删除已编辑好的交易(步骤122)。若用户为(比如)避免可能出现的安全冲突而想删除交易,则删除交易(步骤124)。交易随之中止(步骤126),而若要执行交易就必须返回步骤100,在该步骤处生成新会话密钥和口令值。
在本发明的范围之内,还可对上述实施例做出各种改良,比如,便携终端可以是蜂窝移动电话之类的通讯设备,ATM程序32不一定使用交易期限。在别的实施例里,编讫的交易以加密形式存放在PDA里;在别的实施例里,可使用别的哈希算法。在以上说明中也可使用别的方法来生成会话密钥和口令值。
权利要求
1.一种用于信息加密的便携终端(10),其特征是该终端(10)为每次交易皆生成一个新密钥,生成新密钥时使用了便携终端(10)的一种或多种属性。
2.根据权利要求1的终端,其中,在执行交易时生成新密钥。
3.根据权利要求1或2的终端,其中,便携终端的一种或多种属性包括日期和时间的设定。
4.根据任何上述权利要求的终端,其中,便携终端不仅要生成密钥,还要生成唯一的口令,从而为每次交易签发唯一的口令
5.一种在便携终端内给信息加密的方法,其特征包括以下步骤由便携终端的一种或多种属性得出一个数值序列(步骤102,104);并基于该数值序列生成新密钥(步骤106)。
6.根据权利要求5的方法,进一步包括以下步骤基于上述数值序列生成唯一的口令值。
7.根据权利要求5或6的方法,进一步包括以下步骤使用主机签发的公共密钥给新密钥和口令值加密(步骤108),并把加密后的新密钥和口令值发送给主机(步骤110)。
8.一种在便携终端(10)和自助终端(52)之间交换加密信息的方法,其特征包括以下步骤由便携终端的一种或多种属性得出一个数值序列;基于该数值序列生成新密钥;基于该数值序列生成口令值;使用公共密钥给新密钥和口令值加密;并把加密后的新密钥和口令值发送给自助终端。
9.根据权利要求8的方法,进一步包括需由自助终端完成的以下步骤生成新口令值;使用新密钥给所生成的口令值加密;把加密后的口令值发送给便携终端;并在受理后续交易之前,等候便携终端做出对已发送的口令值的正确响应。
10.一种含有自助终端(52)和便携终端(10)的交易系统,其特征是通过操作便携终端(10),可以由便携终端(10)的一种或多种属性得出一个数值序列并基于该数值序列生成新密钥;便携终端(10)和自助终端(52)适宜于用新密钥互相通讯。
11.一种辨别自助终端(52)真伪的方法,该方法包括以下步骤由便携终端的一种或多种属性得出一个数值序列;基于该数值序列生成新密钥;基于该数值序列生成口令值;使用权威机构提供的公共密钥给新密钥和口令值加密;把加密后的新密钥和口令值发送给自助终端;收到自助终端的响应;使用新密钥破解该响应;以及若该破解的响应未能正确地答复口令值则不再发送信息了。
全文摘要
公开了一种用于信息加密的便携终端(10),该终端(10)为每次交易皆生成一个新密钥,生成新密钥时使用了该终端(10)的一种或多种属性。该一种或多种属性是变量,包括终端的使用史与/或日期和时间的设定。终端(10)不仅要生成密钥,还要生成唯一的口令,从而为每次交易签发唯一的口令。还公开了在便携终端内给信息加密的方法、在便携终端和自助终端之间交换加密信息的方法和含有自助终端(52)和便携终端(10)的交易系统。
文档编号H04L9/10GK1371509SQ0081227
公开日2002年9月25日 申请日期2000年8月17日 优先权日1999年9月1日
发明者阿德里安·希尔兹 申请人:Ncr国际公司