手机应用程序进行一次性口令系统登录口令计算的方法

文档序号:7598487阅读:436来源:国知局
专利名称:手机应用程序进行一次性口令系统登录口令计算的方法
技术领域
本发明涉及互联网领域,特别涉及互联网用户登录安全认证领域,具体是指一种手机应用程序进行一次性口令系统登录口令计算的方法。
背景技术
在现实生活中,我们个人的身份主要是通过各种证件来确认的,比如身份证、户口本等。在使用某些社会资源时(航空服务、租赁服务、金融服务等),就必须提供这些证件来证明你的身份。这种证明身份的过程就被称为“认证”。
在计算机系统中,任何要授予用户特权的程序都要能够进行用户认证。其中,口令认证是最基本,也是最常用的一种。物品认证和特征认证具有一定的模糊性,一般都会与口令认证配合使用。所以说口令认证是认证的基础。目前几乎所有的操作系统都带有强度不一的口令认证功能,用来判别用户的真实身份。
传统的固定口令认证在安全方面存在的许多隐患,带来许多问题。比如,攻击者可以通过口令猜测、字典尝试、口令文件分析等方法破解用户口令。由于固定口令方式使用固定不变(至少在一段时间内固定不变)的口令,所以在技术和管理上都有比较大的难度。
为了解决固定口令的诸多问题,安全专家提出了一次性口令(OTPOne-Time Password)的密码体制,以保护关键的计算资源。OTP技术建立在密码学基础之上,通过在认证过程中加入不确定因子、认证数据传输过程加密等方式,避免了固定口令技术的大部分安全问题。即使上次登录的口令被攻击者得到也不可能对系统安全造成影响。
如图1所示,一个OTP认证系统包括认证服务器、系统管理、认证客户端、OTP计算器等几个部分。这几个部分构成了一个完整的认证域。
其中,OTP计算器是用户用来计算OTP的工具。用户在进行认证前,先使用OTP计算器计算当前的OTP,然后将OTP输入认证客户端,认证客户端将认证请求发送至认证服务器进行认证。OTP计算器可以以硬件的形式出现,也可以以软件的形式出现。如果为硬件,OTP计算器应设计为便于携带和使用的设备。如果为软件,OTP计算器应设计为安全、方便的软件。
在现有技术中,有一种硬件形式的OTP计算器。这种方式的OTP计算器在形态上可以是硬卡(Token Card),也可以是钥匙链(Fob),还可以是IC卡或者USB卡。卡片上都带有一个液晶显示屏,用于显示当前的OTP口令,有的带有按键用来输入挑战值或者PIN码。每张卡片对应一个用户,有自己独特的密码,这个密码同时也记录在Server的数据库中。卡片通过输入挑战值或者根据时钟系统同步,和自己的密码合成在一起,用单向Hash函数进行处理后即生成OTP。Server用同样的方法进行计算,就能够对OTP进行校验。
这种方式的OTP计算器专用于特定认证系统,不能共用,硬件成本很高。并且,使用这样的OTP计算器,认证系统升级扩容不方便。
在现有技术中,还有一种软件形式的OTP计算器。这种方式使用软件来计算OTP,软件放在客户端。用户登录时,系统通过命令行或者图形界面提示用户,用户使用软件使用相应的参数进行OTP计算,将结果作为登录口令输入;系统使用同样的方法进行运算,若结果相同,则登录成功,将口令存放在计算机中,并将登录次数减1。
使用软件实现的方式降低了硬件成本,但是软件OTP携带不便,应用范围受到很大限制。比如不能应用在银行系统的ATM终端。
另外一方面,在现代生活中,手机的普及越来越广。手机(包括PDA等移动终端,以下统称为手机)的一个重要特性就是它们还是网络计算机,能够通过移动网络发送和接收数字数据。除了语音数据以外,它们还可以发送和接收其它类型的数据。如同Internet的普及导致网络游戏的高速发展一样,手机的普及带来移动游戏(或称手机游戏、手机应用程序)市场的爆炸式发展,类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种以常见的手机作为载体、结合手机软件技术、硬件成本低、升级扩容方便、系统安全性高、适用范围广、使用方便的手机应用程序进行一次性口令系统登录口令计算的方法。
为了实现上述的目的,本发明的手机应用程序进行一次性口令系统登录口令计算的方法如下该手机应用程序进行一次性口令系统登录口令计算的方法,包括支持应用程序的手机和一次性口令系统,其主要特点是,所述的方法包括如下步骤(1)用户使用支持应用程序的手机根据用户注册成功后得到的访问地址下载一次性口令系统计算器应用程序;(2)用户登录一次性口令系统,输入用户名,得到个人认证序列号;(3)用户运行手机中该下载的一次性口令系统计算器应用程序;(4)该手机应用程序构造用户字典或者私人密钥,并存入手机的记录管理系统中;(5)手机应用程序提示并等待用户输入个人认证序列号;(6)用户根据手机应用程序提示输入步骤(2)中得到的个人认证序列号;(7)手机应用程序接收用户输入的个人认证序列号;(8)手机应用程序读取步骤(4)中记录管理系统中的信息,并根据个人认证序列号计算出一次性口令;(9)手机应用程序将步骤(8)计算出的一次性口令显示出来;(10)用户在一次性口令系统中输入用户名和该显示出的一次性口令,进行系统登录认证。
该手机应用程序进行一次性口令系统登录口令计算的方法的步骤(5)之前还包括如下步骤手机应用程序提示用户输入个人身份PIN码,并根据用户的输入进行用户身份验证,如果验证通过,则继续进行后续步骤;如果验证失败,则提示用户重新输入,不进行后续步骤。
该手机应用程序进行一次性口令系统登录口令计算的方法的手机应用程序是通过网络从用户注册成功后所获得的该一次性口令系统计算器应用程序的URL地址进行下载得到的。
该手机应用程序进行一次性口令系统登录口令计算的方法的用户字典或者私人密钥包括一个或者综合多个一次性口令系统的登录认证信息。
该手机应用程序进行一次性口令系统登录口令计算的方法的手机应用程序语言可以为解释语言,特别是采用J2ME开发的Java语言程序。
该手机应用程序进行一次性口令系统登录口令计算的方法的手机应用程序语言也可以为编译语言,特别是C语言或者C++语言。
采用了该发明的手机应用程序进行一次性口令系统登录口令计算的方法,由于使用了常用的手机作为OTP计算器载体,相对于专用硬件OTP计算器来讲,节省了硬件成本,而相对于软件OTP计算器来讲,应用环境得到了很大扩展;同时本发明的OTP计算器可以同时应用于多个一次性口令系统,并可以通过下载的方式实现一次性口令系统升级和扩容,使得用户使用更加快捷便利。


图1为OTP认证系统的认证过程示意图。
图2为本发明的OTP计算器手机应用程序的流程图。
具体实施例方式
在本发明中,首先介绍几个概念
OTP(One-Time Password)是指一次性口令系统;OTP计算器是指用户用来计算一次性口令的工具;PDA是指个人数字助理;J2ME(Java 2 Micro Edition)是一种针对移动电话和PDA等小型设备的Java语言;手机应用程序是指应用于手机的应用程序,包括移动游戏(手机游戏)等;WAP(Wireless Application Protocol)是指无线应用协议。
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
一次性口令系统是一种高安全性的系统,可以避免固定口令技术的大部分安全问题,即使上次登录的口令被攻击者得到也不可能对系统安全造成影响。OTP计算器作为一次性口令系统的一个关键组成部分,可以由软件实现,也可以由硬件实现。本发明利用常用的硬件(比如手机)作为载体,结合手机软件技术来实现OTP计算器,可以取长补短。针对OTP计算器,本发明把OTP计算器设计成手机应用程序放在服务器上。用户注册后得到一个URL地址,使用手机通过WAP浏览和下载以后安装在手机上,手机就有了OTP计算器的功能。
在OTP系统中,不确定因子是一个重要的技术参数,其选择方式有口令序列、挑战值、时间同步和事件同步等,并且每一种不确定因子都在实际中有所应用。其中挑战值方式被认为是最安全的OTP技术。使用挑战值方式,一次性口令系统认证流程如下(1)认证系统在用户要求登录时产生一个随机序列(挑战值)发送给用户;(2)用户使用OTP计算器,输入获得的随机数(挑战值)得到登录口令;(3)用户输入登录口令;(4)系统用同样的方法计算用户登录口令,做比较即可验证用户身份。
由于前后的挑战值完全不相关(随机产生),因此其中挑战值方式被认为是最安全的OTP技术。考虑到安全性较高的应用场合,大部分OTP系统都支持挑战/回答认证方式。
本发明利用手机的无线网络功能浏览和下载手机应用程序,然后在手机上运行应用程序。手机应用程序的开发可以使用J2ME等解释语言开发实现,也可以用C/C++等编译语言开发实现。目前随着支持JAVA手机的普及,J2ME成为通用的行业标准,是一个很好的移动应用程序开发环境。本文以挑战值方式为例应用J2ME开发环境说明OTP计算器的手机应用程序方式的设计和实现。
J2ME中不使用文件系统保存应用程序数据,而是使用记录管理系统(RMS,Record Management System)把所有信息保存在非易失性存储器中。
请参阅图2所示,其为OTP计算器的手机应用程序流程图。
其中,手机应用程序流程如下(1)打开RMS;(2)构造用户字典或者私人密钥,写入RMS;(3)提示并等待用户输入个人认证序列号(挑战值);(4)接收用户输入的个人认证序列号(挑战值);(5)读取RMS,并根据个人认证序列号(挑战值)计算出一次性口令;(6)显示一次性口令。
其中,在构造用户字典或者私人密钥时可以综合多个OTP系统的信息,这样设计的OTP计算器可以应用于多个OTP系统。
在手机应用程序中还可以设计用户PIN码的“设置”和“更改”接口,用户运行应用程序时首先验证PIN码,以增加保密性和安全性。
OTP计算器使用方法如下(1)用户使用支持Java的手机通过GPRS(GPRS配置咨询移动运营商)下载OTP计算器手机应用程序(用户注册成功后获得手机应用程序的访问地址)。如果不考虑系统升级的情况,OTP计算器手机应用程序下载只需要操作1次。
(2)用户登录一次性口令系统,输入用户名,得到个人认证序列号(挑战值);
(3)用户运行OTP计算器手机应用程序,根据提示输入得到的个人认证序列号(挑战值),手机游应用程序算出登录口令并显示;(4)用户输入用户名和口令登录一次性口令系统;(5)系统认证通过。
本发明使用常用的硬件作为OTP计算器载体,相对于硬件OTP计算器来讲,节省了硬件成本;相对于软件OTP计算器来讲,应用环境得到了很大扩展。
本发明的OTP计算器可以同时应用于多个一次性口令系统,只要在设计OTP计算器手机应用程序时设置多个一次性口令系统的信息。
本发明可以方便一次性口令系统升级和扩容,用户只需要通过手机上网升级或者重新下载本发明的OTP计算器应用程序即可实现。
使用本发明的OTP计算器,使得一次性口令系统应用更加方便,并有助于推广一次性口令系统。
本发明的OTP计算器可以应用在银行系统、网络游戏服务系统以及其他一次性口令系统中,下面以网上银行为例,说明本系统的推广方案(1)使用一次性口令系统的用户获得OTP计算器下载URL;(2)用户使用手机上网浏览获得的URL,下载手机应用程序;(3)用户使用计算机终端打开网上银行页面,输入用户帐号;(4)系统验证用户帐号,根据用户名获得个人认证序列号(挑战值);(5)系统把个人认证序列号传送给用户;(6)用户在手机上运行下载的应用程序,输入个人认证序列号,得到OTP口令;(7)用户将手机显示的口令输入计算机网上银行页面;(8)系统认证通过,开始使用网上银行系统。
以上通过挑战值方式为例说明本发明的OTP计算器的手机应用程序的实现方法,同样也可以使用口令序列、事件同步和时间同步等方式来实现OTP计算器。例如,可以利用移动通信网络的时间系统,实现时间同步或者事件同步方式的OTP计算器。
在本发明中,也可以利用手机的短消息功能,用户通过发短消息到特定服务号码来获得相应一次性口令系统的个人认证序列号(挑战值),然后在手机应用程序中获得一次性口令。
另外,还可以利用手机的短消息功能直接认证,用户通过发短消息到特定服务号码,服务器根据手机号码或者发送的用户名确认用户身份后生成一次性口令发送给用户,或者直接通过认证。
本发明中手机应用程序的开发,可以使用J2ME等解释语言开发实现,也可以用C/C++等编译语言开发实现。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种手机应用程序进行一次性口令系统登录口令计算的方法,包括支持应用程序的手机和一次性口令系统,其特征在于,所述的方法包括如下步骤(1)用户使用支持应用程序的手机根据用户注册成功后得到的访问地址下载一次性口令系统计算器应用程序;(2)用户登录一次性口令系统,输入用户名,得到个人认证序列号;(3)用户运行手机中该下载的一次性口令系统计算器应用程序;(4)该手机应用程序构造用户字典或者私人密钥,并存入手机的记录管理系统中;(5)手机应用程序提示并等待用户输入个人认证序列号;(6)用户根据手机应用程序提示输入步骤(2)中得到的个人认证序列号;(7)手机应用程序接收用户输入的个人认证序列号;(8)手机应用程序读取步骤(4)中记录管理系统中的信息,并根据个人认证序列号计算出一次性口令;(9)手机应用程序将步骤(8)计算出的一次性口令显示出来;(10)用户在一次性口令系统中输入用户名和该显示出的一次性口令,进行系统登录认证。
2.根据权利要求1所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的步骤(5)之前还包括如下步骤手机应用程序提示用户输入个人身份PIN码,并根据用户的输入进行用户身份验证,如果验证通过,则继续进行后续步骤;如果验证失败,则提示用户重新输入,不进行后续步骤。
3.根据权利要求1或2所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的手机应用程序是通过网络从用户注册后所获得的该一次性口令系统计算器应用程序的URL地址进行下载得到。
4.根据权利要求1或2所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的用户字典或者私人密钥包括一个或者综合多个一次性口令系统的登录认证信息。
5.根据权利要求1或2所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的手机应用程序语言为解释语言。
6.根据权利要求5所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的手机应用程序开发语言为Java语言。
7.根据权利要求1或2所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的手机应用程序语言为编译语言。
8.根据权利要求7所述的手机应用程序进行一次性口令系统登录口令计算的方法,其特征在于,所述的手机应用程序开发语言为C语言或者C++语言。
全文摘要
本发明涉及一种手机应用程序进行一次性口令系统登录口令计算的方法,包括支持应用程序的手机和一次性口令系统,其中所述的方法包括如下步骤用户下载一次性口令系统计算器程序、用户登录系统得到个人认证序列号、用户输入个人认证序列号、手机应用程序计算出一次性口令并显示出来、用户进行系统登录认证。采用该发明的手机应用程序进行一次性口令系统登录口令计算的方法,由于使用了常用的手机作为OTP计算器载体,节省了硬件成本,而相对于软件OTP计算器来讲,应用环境得到了很大扩展;同时本发明的OTP计算器可以同时应用于多个一次性口令系统,并可以通过下载的方式实现一次性口令系统升级和扩容,使得用户使用更加快捷便利。
文档编号H04L9/32GK1610293SQ200410084388
公开日2005年4月27日 申请日期2004年11月19日 优先权日2004年11月19日
发明者蒋利 申请人:陈智敏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1