专利名称:安全口令输入的制作方法
技术领域:
本发明通常涉及改进的口令安全,尤其涉及输入期间的改进口令安全。更准确地,本发明涉及击败在口令输入期间未授权的按键记录(keystroke logging)。
背景技术:
在计算机系统或者计算机网络系统内,维护信息和对该信息的访问的安全是重要的。在计算机系统中维护安全的通常方法是将特定用户与特定口令相关联,并需要用户提交口令,以便接收针对计算机系统或者计算机系统网络内的信息的访问。
当设置口令时,每个计算机系统或者计算机系统网络通常指定关于口令长度和必须被包括在口令中的字符的类型的规则。例如,通常需要口令包含至少六个字符,并且通常需要口令包含字母字符和数字字符的混合。
虽然口令提供了保护对网络,应用程序和数据的访问的一层安全性,然而使用按键记录技术的攻击者轻易地危及使用口令作为安全手段的方式。通常,按键记录技术记录授权用户用来输入口令的按键,使得未授权的用户随后可以输入授权用户的口令,以访问受保护的网络,应用程序或数据。作为示例,可以通过硬件,软件,主动监视,以及被动监视执行按键记录。
作为第一个示例,未授权的口令记录者能在键盘内部植入硬件按键记录设备,其被连到键盘电缆上,或被置于键盘电缆输出插孔和计算机键盘输入插孔之间。按键记录设备记录键盘上输入的所有按键并加时间标记。未授权的口令记录者之后能恢复设备并搜索关于指明认证的模式的记录(log)。在通常模式中,认证质询之后输入的字符串是口令。例如,如果键盘所连接的计算机运行基于UNIX的操作系统,则‘root|su|ssh|gpg’是导致用户以口令响应认证质询的模式。在另一个实例中,如果计算机是网络咖啡屋的一部分或多个用户可用的其他终端,则存在一种模式,其中通常在“@hotmail.com“或”@yahoo.com“格式输入之后输入的字符是口令字符。在另一个示例中,在实现固件级认证的计算机中,存在一种模式,其中在没有活动的长间隔之后记录的第一字符通常是开机口令字符。
针对未授权地布置硬件按键记录设备的一个保护方案是物理地保护计算机系统,使得只有授权用户能够物理访问计算机系统。然而,实际上,强制物理安全是困难的,尤其在网络咖啡屋和最好容许公众访问计算机系统的其他地点。
作为第二个示例,未授权的口令记录者能在操作系统中,或者其他计算机系统或计算机网络的程序中植入按键记录软件。按键记录软件在记录中记录全部的或者选择的按键并加时间标记。尤其是,按键记录软件能检测何程序正接收按键并只记录特定程序所接收的按键。如硬件按键记录设备一样,未授权的口令记录者能访问软件按键记录并检测往往指明口令输入的模式。
针对未授权地植入按键记录软件的一个保护方案是通过安装在计算机系统的操作系统中的安全软件,该安全软件阻止远程入侵,远程入侵起到未授权的按键记录软件管道的作用。然而,安全软件的一个限制在于,可以以不被当前安全软件所察觉的方式植入软件按键记录控制器。例如,计算机系统的授权用户可打开邮件附件,其秘密地安装按键记录软件,以避开操作系统的安全保护。
作为第三个示例,未授权的口令记录者能通过偷偷查看或者用摄像机记录用户输入的口令按键,从而主动监视按键。还可以使用麦克风记录每个键特有的声音信号来主动监视按键。
作为硬件按键记录设备布置的防护,通过限制对计算机系统的物理访问并从房屋中清除未授权的麦克风或者视频设备,通常只能防止按键输入的主动监视。然而,此安全解决方案是有限的,因为公众可访问的许多计算机不能采用此种类型的安全保护。
作为第四个示例,未授权的口令记录者能通过窥探计算机系统发出的电子信号,从而被动地监视按键。视频显示单元泄漏电磁射线,其能被未授权的记录者利用,以部分地或者全部地重构显示在计算机系统屏幕上的图像。此外,可以使用计算机系统其他部分发出的信号,以推测部件的操作和访问口令。虽然通过使用截留外泄电磁射线的电磁屏蔽能避免被动监视,然而由于屏蔽很昂贵,因此此解决方案是有限的。
除了未授权用户能访问口令的四个方法示例之外,可以实现硬件按键记录设备,按键记录软件,主动监视,以及被动监视的结合,以避开当前的安全系统。例如,软件按键记录程序能将键盘电缆配置成发射天线并且以莫尔斯码发出记录,发出的记录被本地廉价的无线接收器检测到,从而从远处被动地监视计算机系统。
随着输入口令的密码保护技术的发展,按键记录变成攻击者获得口令的理想方式。然而,如上所述,当前针对按键记录的保护方式是有限的。因此,需要一种防止未授权按键记录的方法,系统和程序,其屏蔽口令按键输入中的任何模式,并避开主动和被动监视。
发明内容
因此,本发明提供了改进的口令安全,尤其提供了口令输入期间改进的口令安全的方法,系统以及程序。而且,本发明提供了用于阻止并击败旨在盗窃口令的未授权按键记录的安全口令输入的方法,系统以及程序。
通过以改变的随机字符流显示口令提示来促成安全口令输入,在改变的随机字符流中,以视觉上可察觉的较高频率显示随机字符流内的特定字符。用户通过键入输入以递增或递减特定高频字符达到口令字符,从而选择口令字符。一旦用户达到口令字符,用户提供另一个输入,指明选择当前高频字符作为口令字符。一旦用户已经选择了全部口令字符,则用户键入输入以指明口令是完整的。然后,口令输入控制器将口令传送到调用层。
口令提示最好是多个字符位置之中的一个字符位置,每个字符位置均显示改变的随机字符流,但是提示字符位置显示修改的随机流,而多个字符位置中的其它字符位置显示纯随机流。尤其是,在使用26个字符的口令字符集的纯随机流中,随机字符流具有二十六分之一的在任何给定时刻和任何给定流位置显示‘A’的概率。然而,在修改的随机流中,随机字符流被修改为以大于二十六分之一的频率显示‘A’。在称作格式塔效应(gestalt effect)的过程中,人的视觉系统将察觉异常并看见隐藏在随机流中的更频繁的‘A’。
可以调整多个字符位置中的口令提示的位置。尤其是,用户可以在多个字符位置中调整口令提示的位置,或者口令提示的位置可以被自动地调整。
可以随机地选择或者预先指定高频字符的初始值。另外,显示特定字符的概率是可调的,以达到使用户在视觉上可察觉高频字符的频率。而且,随机字符流改变的速率是可调的,以达到使用户在视觉上可察觉高频字符的速率。例如,最初字符以10Hz的速率流动,但可以通过用户调整或自动调整来改变此速率。
在一个实施例中,当一层或服务器系统要求口令输入时,调用口令输入控制器以促成安全口令输入。在另一个实施例中,要求口令的一层或者服务器系统可以促成安全口令输入。
在所附权利要求中阐明了被认为是本发明特点的新颖特征。然而当结合附图阅读时,通过参照以下图解实施例的具体描述,将最好地理解本发明自身,以及优选使用方式,以及本发明的目的和优点,其中图1是说明可以实现本发明方法,系统和程序的计算机系统的模块图;图2是说明可以提供安全口令输入的分布式网络系统的模块图;图3是说明根据本发明的方法,系统和程序的口令输入控制器的模块图;图4是说明根据本发明的方法,系统和程序的安全口令输入显示的图示;图5是说明根据本发明的方法,系统和程序的安全口令输入序列的图示;而图6是说明根据本发明方法,系统和程序、用于控制安全口令输入的过程和程序的高级逻辑流程图。
具体实施例方式
现在参照附图,尤其参照附图1,其中说明了系统的一个实施例,通过其可实现本发明的方法,系统和程序。本发明可以在各种系统中执行,包括各种计算系统和电子设备。
计算机系统100包括用于在计算机系统100内传送信息的总线122或其他通信设备,以及至少一个处理设备,例如被连接到总线122、用于处理信息的处理器112。总线122最好包括通过桥和适配器连接并在计算机系统100内由多个总线控制器控制的低延迟和高延迟路径。当作为服务器系统实现时,计算机系统100通常包括被设计以改进网络服务能力的多处理器。
处理器112可以是通用处理器,例如IBM公司的PowerPCTM处理器,其在正常操作期间在可从动态存储设备,例如随机访问存储器(RAM)114,和静态存储设备,例如只读存储器(ROM)116访问的操作系统和应用软件的控制下处理数据。操作系统最好向用户提供图形用户接口(GUI)。在优选实施例中,应用或者操作系统软件包含机器可执行指令,当在处理器112上执行时,所述指令执行图5流程图说明的操作,以及这里描述的其他操作。可选地,可以通过特定硬件部件(包含执行步骤的硬连线逻辑),或者通过编程计算机部件和定制硬件部件的任何组合,执行本发明的步骤。
可以将本发明提供为包含在已经在其上存储了机器可执行指令的机器可读取介质中的计算机程序产品,所述机器可读指令用于将计算机系统100编程为执行根据本发明的处理。这里所使用的术语“机器可读取介质”包括任何参与向处理器112或者计算机系统100的其他部件提供指令以供执行的介质。这样的介质可以采用许多形式,包括但不限于非易失介质,易失型介质和传输介质。非易失介质的通常形式包括例如软盘,柔性盘(flexible disk),硬盘,磁带或任何其他磁介质,光盘ROM(CD-ROM)或任何其他光介质,穿孔卡片或任何其他有孔图案的物理介质,可编程ROM(PROM),可擦除PROM(EPROM),电子EPROM(EEPROM),快擦写存储器,任何其他存储器芯片或盒,或计算机系统100能从中读取并适合于存储指令的任何其他介质。在本实施例中,非易失介质的示例是大容量存储设备118,其被说明为计算机系统100的内部部件,但也可以被理解为是由外部设备所提供的。易失介质包括动态存储器,例如RAM114。传输介质包括同轴电缆,铜线或者光纤,包括包含总线122的线路。传输介质还能采用声波或光波的形式,例如在射频或红外数据通信期间所生成的波。
此外,本发明可以作为计算机程序产品被下载,其中通过载波或者经由网络链路134(例如调制解调器或者网络连接)到被连接到总线122的通信接口132的其他传播介质中所体现的数据信号,可以从远程计算机,例如服务器140,传递程序指令到请求方计算机系统100。通信接口132提供了连接到网络链路134的双向数据通信,网络链路134例如可以连接到局域网络(LAN),广域网络(WAN),或者直接被连到因特网服务提供商(ISP)。尤其是,网络链路134可以提供到一个或多个网络的有线和/或者无线网络通信。
网络链路134通过网络102提供数据通信服务。网络102可以指网络和网关的全球集合,其使用特定协议,例如传输控制协议(TCP)和网际协议(IP)彼此通信。网络链路134和网络102都使用承载数字数据流的电气,电磁或光信号。通过各种网络的信号,以及在网络链路134上并且通过通信接口132、承载往来于计算机网络系统100的数字数据的信号,是传送信息的载波的示例形式。
当作为服务器系统实现时,计算机系统100通常包括多个通信接口,其可经由被连接到输入/输出控制器的多个外围部件互连(PCI)总线桥访问。在此方式中,计算机系统100容许连接到多个网络计算机。
此外,计算机系统100通常包括利于通信的多个外围部件。这些外围部件被连接到多个控制器,适配器和扩展槽,这些控制器,适配器和扩展槽被连接到多级总线122中的一级。例如,音频输出设备128和音频输入设备129通过连接于总线122上,使其能控制音频输出和输入。显示设备124也能够连接在总线122上,使其能提供视觉的,触觉的或者其他图形的表示形式,并且光标控制设备130能够连接于总线122上,使其能在显示设备124内控制指针的位置。键盘126能够连接于总线122上,使其能作为到计算机系统100的用户输入接口。在本发明的可选实施例中,可以添加其他的输入和输出外围部件。
本领域的普通技术人员将理解,可以改变图1中说明的硬件。此外,本领域的技术人员将理解,所说明的示例不表示暗示对本发明的结构性限制。
现在参考图2,模块图说明了可以提供安全口令输入的分布式网络系统。分布式数据处理系统200是可以实现本发明的一个实施例的计算机网络。可以理解,可以在允许经由连接进行通信的系统的其他实施例中实现本发明。
在实施例中,分布式数据处理系统200包含网络102,其是被用于在各种设备与分布式数据处理系统200内连接在一起的计算机之间提供通信链路的介质。网络102可以包括永久连接,例如线路或者光缆,通过电话连接和无线传输连接实现的暂时连接。
在许多网络架构中实现分布式数据处理系统200的客户/服务器环境。在一个示例中,分布式数据处理系统100是具有网络102的因特网,其代表使用TCP/IP协议族彼此通信的网络和网关的全世界集合。通过主节点或主机计算机之间数以百万计的高速数据通信线路来支持因特网。在另一个示例中,分布式数据处理系统200被实现为企业内部网,局域网(LAN),或广域网(WAN)。而且,可以在使用传统客户/服务器环境的替代环境,例如网格计算环境的网络中实现分布式数据处理系统200。
在所说明的示例中,服务器系统204被连接到网络102。另外,客户机系统208和210被连接到网络102,并通过输入/输出(I/O)设备提供用户接口。服务器系统204可以提供客户机系统208和210可以访问的多个资源,包括但不限于数据,应用程序和网络。尤其是,在分布式数据处理系统200内,每个客户机系统208和210以及服务器系统204可以包括资源,充当“客户机”和“服务器”,并可以使用计算机系统,例如图1的计算机系统100来实现。而且,虽然着重针对访问服务器系统的资源的客户机系统来描述本发明,然而客户机系统208和210还可以参与对等网络通信并经由网络102访问资源。
然而,为使客户机系统208或210之一访问服务器系统204的任何资源,服务器系统204可要求输入与已注册的用户标识符和口令相匹配的用户标识符和口令。根据本发明的优点,当分布式数据处理系统200中的系统需要用于访问资源的口令时,客户机系统或者服务器系统可启动安全口令输入控制器。安全口令输入控制器促成口令输入,使得导致口令检测的未授权按键记录的风险最小。尤其是,除非攻击者使用昂贵的并难于执行的记录方法,例如高保真视频记录器(其记录计算机监视器和键盘之上用户的手)或者高保真被动监视设备(其能重构用户计算机屏幕的内容),以及硬件或软件按键记录器(其记录精确的时间标记),否则安全口令输入控制器会确保安全的口令输入。更重要的是,安全口令输入控制器提供抵御位于公共区域,例如机场中的膝上型电脑和其他计算机系统的“窃号者(shoulder surfer)”的增强安全保护。
应当注意到,除了需要客户机系统提供口令的服务器系统之外,分布式数据处理系统200内的每个单独系统可要求请求访问在此单独系统上可获得的资源的用户输入口令。尤其是,特定系统中的不同软件层可需要特定系统上要求用户的口令,以访问特定系统上可获得的资源。例如,客户机系统208可以在开机时提示用户输入口令。
现在参考图3,图3根据本发明的方法,系统和程序说明了口令输入控制器的模块图。如图所示,口令输入控制器300最好包括高频字符生成器306。高频字符生成器306产生修改的随机字符流,其被修改为使得以较高频率显示一个字符。尤其是,以使得观看随机字符流显示的用户可察觉高频字符的频率显示高频字符。尤其是,人类的视觉系统在被称为格式塔效应的过程中将察觉到异常,并看见高频字符。可以随机选择或者预先确定高频字符的初值。而且,可以指定字符子集作为要被随机选择的高频字符,使得用户能预期高频字符是字符子集中的一个。此外,可以选择高频字符,使得其一直位于偏离口令字符的特定字符范围内。
显示控制器304控制在口令提示域中随机字符流的显示。最好是,还管理用于显示随机字符流的每个字符的速率和频率百分比,使得用户能在视觉上察觉高频字符。
口令输入监视器302检测用户输入的按键以递增或递减高频字符,以便选择口令字符。之后,口令输入监视器302检测何时用户输入另一个按键以选择口令字符。用户重复递增或递减高频字符以选择口令的每个字符的过程。当选择了口令的全部字符时,口令输入监视器302检测何时输入按键以完成口令输入。然后,口令输入监视器302安全地传送完整的口令到请求层。
通过实现口令输入控制器300以提供安全口令输入,截取授权用户按键的未授权按键记录方将仅仅看见或听见控制字符,该控制字符即使存在,也只显示用户口令的长度。因此,当实现了口令输入控制器300时,硬件,软件和听觉按键记录设备失效。
应当注意到,虽然通过参考显示器上的口令输入说明了本发明,然而还可以通过本发明实现利用语音自动化系统的口令输入。尤其是,可以从文本将具有高频字符的随机字符流转换成语音,并经由扬声器输出,并且可以从麦克风检测用于递增或递减高频字符并且指明字符和口令完成的输入,并将输入从语音转换成文本。
表1图解了GNU/Linux平台的C编程语言编写的口令输入控制器300的部件的一个编程示例。本领域的普通技术人员将会理解,可以变化表1中所说明的编程。而且,本领域的普通技术人员将会理解,其中所示示例不表示暗示有对本发明的编程限制。
#include<ncurses.h>
#include<studio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
intpov_getpass(char*pass,int size,int cols,int seed){char c,x.y;int i,j,n,p;srand(seed)x=(rand()%26)+‘A’;y=rand()%cols;initscr();noecho();halfdelay(1);for(i=0,p=0,n=50;p<size,i=rand()%100){for(j=0,mvprintw(0,0,“Password“);j<cols;j++)printw(“%-2c”,(j=y&&i<n)?x(rand()%26)+‘A’);if((c=getch())=‘\n’)break;else if(c=‘i’){pass[p++]=x;pass[p]=‘\0’;}else if(c=‘J’)n=(n=0)?0n-10;else if(c=‘K’)n=(n=100)?100n+10;else if(c=‘J’)x=(x=‘A’)?‘Z’x-1;else if(c=‘K’)x=(x=‘Z’)?‘A’x+1;elseif(c=‘h’)y=(y=0)?cols-1y-1;else if(c=‘l’)y=(y=cols-1)?0y+1;}endwin();return p;}intmain(int argc,char**argv){char pass[256];if(pov_getpass(pass,sizeof(pass),4,time(NULL))<=0)return 1;printf(“%s”,pass);retum 0;}表1
现在参考图4,图4根据本发明的方法,系统和程序说明了安全口令输入显示接口的图示。如图所示,显示区402包括使用户输入口令的提示区404。可以理解,可以在具有多种类型的图形能力的多个类型的显示接口中实现显示区402。
在显示区402中,提示区404显示四个字符位置,其中例如可以由需要口令提示的程序或指定字符位置的数量的用户来指定提示区404中字符位置的数量。例如,随着字符位置的数量从1增加到25,跟踪口令输入的复杂度增加。可以理解,虽然提示区408在四列中显示字符位置,然而可以实现其他的字符位置配置。例如,可以在一竖列中,或者以其他增加监视口令输入的复杂度的模式配置字符位置。
在示例中,第二字符位置被指定为当前提示位置406。有利地,当用户正输入口令时,用户可以调整当前提示位置到提示区404中的任何字符位置。为了图解的目的,还通过在此位置加下划线来指明当前提示位置406,然而,当实现本发明时,通过下划线或者其他图形指示来指明当前提示位置会是不利的。替代地,在当前提示位置显示高频字符的频率最好允许用户察觉当前提示位置。
在每个字符位置,随机产生的字符以特定速率流动。根据本发明的优点,在当前提示位置406中,生成并显示修改的随机字符流,其中以比其他字符明显更高的频率生成一个字符。尤其是,修改的随机字符最好以使得对于观看显示的用户而言,高频字符为可视觉分辨的速率和频率百分比流过当前的提示位置404。例如,随机字符流408说明了可能在当前提示位置404中生成和显示的随机字符,其中字符“A”可视觉分辨为高频字符。
有利地,用户可以通过增加或者减少频率百分比来选择增加或者减少将显示高频字符而不是随机字符的概率。在示例中,设置频率百分比,使得显示高频字符“A”而不是随机字符的概率为33%,然而可以增加或减少此百分比。例如,视觉上分辨高频字符有困难的用户可以增加频率百分比到50%,使得存在以大体一半的时间显示高频字符的概率。在另一个示例中,能轻易察觉具有33%频率的模式的用户可以减少频率百分比,以增加窃号者检测口令输入的难度。
应当注意到,频率百分比是粗略的估计,因此,显示高频字符的实际频率仍然受随机机会影响。否则在频率百分比被设为33%的示例中,可设置视频记录器为以3Hz的某个倍数记录帧,并轻易地发现高频字符。如表1中所图解的,生成具有高频字符的修改随机字符串的一个方法是通过检查随机数。如果随机数大于通过频率百分比设置的特定门限,则修改流并显示高频字符;否则显示随机生成的字符。结果,如果门限百分比被设置为33%,则将以大约三分之一的时间显示高频字符,然而最好不以确定性的序列显示。
而且,有利地,用户可以选择增加或减少在每个字符位置字符流过的速率,以帮助用户在视觉上察觉高频字符。例如,虽然认为以10Hz显示流字符是最理想的,然而对于某些用户,该速率可能是太快或者太慢了。而且,为了增加监视口令输入的复杂度,可以调整在不同字符位置字符流过的速率。
一旦用户察觉到哪一列包含高频字符,则用户输入按键以递增或递减高频字符,以选择口令字符。在示例中,如果口令的第一字符是“C”,则用户将输入两次按键,以将高频字符从“A”增加到“C”。
一旦用户将高频字符调整到口令字符,用户输入按键以指明字符选择。然后,一旦用户完成口令字符选择,则用户输入按键以指明口令完成。所输入的口令将被传送到请求层。
应当注意到,通过显示区402中或来自另一个信息源的指令,可向用户通知用于递增或递减高频字符的按键,用于指明字符选择的按键,和指明完成了口令的按键。例如,每天或每周的电子通信可以指定用于输入此天或此周的口令的按键字符。而且,应注意到,可以随机地选择每个口令输入的按键字符,以避开口令跟踪。
现在参照图5,图5根据本发明的方法,系统和程序说明了安全口令输入序列的图示。按键图例550指示了不同类型按键所涉及的功能类型。可以理解,按键图例550是用于说明能执行的功能类型的目的,但只是可以进行的按键分配的类型的示例。此外,可以理解,除了按键,可以接收其他类型的输入,以执行安全口令输入期间可获得的功能。
在示例中,说明了提示区中的字符序列和用户输入的按键。提示区包括四个字符位置,并且,在提示字符位置中,最初以大约50%的频率百分比显示高频字符“A”。尤其是,在参考数字502处,提示区包括四个字符位置,其中第二字符位置被指明作为当前提示位置。如先前所说明的,为了说明的目的,通过在字符下划线指明在当前提示位置中的字符。在参考数字504和参考数字506处,每个字符位置显示随机字符流中的不同字符。之后,在参考数字508处,当前提示位置包含高频字符“A”。
在参考数字510处,每个字符位置显示随机字符流中的不同字符,而如参考数字512所示,用户输入按键。所输入的按键是“向上箭头”。响应按键,高频字符从“A”增加一个字符到“B”。在示例中,如参考数字514所示,当流随机字符改变时,在当前提示位置中显示高频字符。然后如参考数字516所说明的,用户输入另一个“向上箭头”按键。响应按键,高频字符从“B”增加到“C”。高频字符未显示在参考数字518说明的下一流改变的当前位置中,而是显示在参考数字520的当前位置中。然后,用户输入“Y”按键,如参考数字521所示,并选择当前高频字符“C”作为口令的第一字符。
在参考数字520处,在具有高频字符“C”的当前提示位置继续显示修改的随机字符流。如参考数字524处所图解的,用户输入“向右箭头”按键,并且作为响应,在参考数字526处,当前提示位置向右移动一个位置。然后,如参考数字528处所说明的,用户输入“换档向下箭头”。作为响应,如参考数字530,532,534,536,538,540和542所说明的,显示高频字符“A”的频率百分比从大约50%的概率减少到大约33%的百分比概率。之后,响应用户输入如参考数字544和545所说明的“向下箭头”按键,高频字符从“C”递减两个字符到“A”。在参考数字546处,在当前提示位置显示当前高频字符“A”。响应用户输入如参考数字548所说明的另一个“向下箭头”按键,高频字符从“A”递减到“Z”。用户能继续递增或递减高频字符,选择口令字符,移动提示位置,调整频率百分比,并在安全地输入完整口令的同时提供其它输入。应注意到,虽然本示例使用大写字母数字字符,然而随机字符流可以包括大写和小写字母数字字符和数字。
现在参照图6,图6根据本发明方法,系统和程序说明了用于控制安全口令输入的过程和程序的高级逻辑流程图。如图所示,过程在模块600开始并之后进行到模块602。模块602说明确定是否接收口令输入调用。需要口令提示的任何程序最好能调用口令输入进程。可选地,可以通过其他方法调用进程。例如,在UNIX系统中,进程可以被调用为库中的子程序。如果没有接收口令输入调用,则过程在模块602重复。如果接收了口令输入调用,则过程传递到模块604。模块604说明了显示具有X个字符的口令提示区。例如,用户可以定义字符的数量,或者调用安全口令进程的程序可以传送定义要在提示区中被显示的字符的数量的值。接着,模块606说明产生具有以较高频率输出的一个字符的随机字符流。用户可以定义高频字符的频率百分比,或者调用安全口令进程的程序可以传送初始值以设置频率百分比。可选地,最初可以在随机字符流内使用默认百分比确定高频字符的频率百分比。之后,模块608说明在当前提示位置显示随机字符流,并且过程进行到模块609。最初,可以在口令提示的X个字符内的随机位置指定当前提示位置。模块609说明了确定是否检测到按键或其他输入。如果没有检测到按键或其他输入,则过程在模块609重复。如果检测到按键或其他输入,则过程进行到模块610。
模块610说明确定是否接收到频率百分比调整输入。如果接收到频率百分比调整输入,则过程进行到模块612。模块612说明根据输入调整高频字符的频率百分比,并且过程进行到模块609。可选地,在模块610,如果没有接收到频率百分比调整输入,则过程进行到模块614。
模块614说明确定是否接收到提示位置调整输入。如果接收到提示位置调整输入,则过程进行到模块616。模块616说明根据输入在X个字符中调整当前提示位置,并且过程进行到模块609。可选地,在模块614,如果按键不是当前提示位置调整输入,则过程进行到模块618。
模块618说明确定所检测的按键是否是用于递增或递减字符。如果所检测的按键是用于递增或递减字符,则过程进行到模块620。模块620说明通过从当前高频字符递增或递减一个字符来调整高频字符,并且过程进行到模块609。可选地,在模块618,如果按键不是递增或递减字符输入,则过程进行到模块622。
模块622说明确定是否接收到字符选择按键。如果接收到字符选择按键,则过程进行到模块624。模块624说明记录当前高频字符作为所选择的口令字符,并且过程返回到模块609。可选地,在模块622,如果输入不是字符选择按键,则过程进行到模块626。
模块626说明确定按键是否是口令完成输入。如果按键不是口令完成输入,则过程返回到模块609。如果按键是口令完成输入,则过程进行到模块628。模块628说明向调用层返回口令,并且过程终止。
虽然已经通过参照优选实施例,特别示出并阐明了本发明,然而本领域的技术人员可以理解,在不违背本发明精神和范围的情况下,在这里,可以在形式和具体上作出各种改变。
权利要求
1.一种用于安全口令输入的方法,包括显示包含改变的随机字符流的口令提示,其中,以视觉上可察觉的较高频率显示所述改变的随机字符流中的特定字符;以及接收输入以递增或递减所述特定字符以达到口令的口令字符。
2.如权利要求1所述的用于安全口令输入的方法,还包括显示多个字符位置,其中在所述多个字符位置的每个中显示随机字符流,其中所述多个字符位置中的特定位置提供所述口令提示。
3.如权利要求2所述的用于安全口令输入的方法,还包括调整所述多个字符位置中提供所述口令提示的字符位置。
4.如权利要求2所述的用于安全口令输入的方法,还包括调整所述多个字符位置的数量。
5.如权利要求1所述的用于安全口令输入的方法,还包括响应接收到指明完成所述口令的口令完成字符的输入,安全地传送所述口令到请求方软件层。
6.如权利要求1所述的用于安全口令输入的方法,还包括响应接收到来自数据处理系统内软件层的口令请求,从所述数据处理系统内调用口令输入控制器,其中所述口令输入控制器控制所述显示所述口令提示,以及所述接收输入以递增或递减所述特定字符。
7.如权利要求1所述的用于安全口令输入的方法,还包括在客户机系统上响应接收到来自服务器系统的口令输入请求,从所述数据处理系统内调用口令输入控制器,其中,所述客户机系统正尝试访问所述服务器系统的资源,所述口令输入控制器控制所述显示所述口令提示,以及所述接收输入以递增或递减所述特定字符。
8.如权利要求1所述的用于安全口令输入的方法,还包括生成所述随机字符流,其中所述特定字符是随机选择的。
9.如权利要求1所述的用于安全口令输入的方法,还包括在所述随机字符流中调整显示所述特定字符的频率百分比。
10.一种用于安全口令输入的系统,包括用于控制显示接口的数据处理系统;所述数据处理系统还包括用于在所述显示接口内显示包含改变的随机字符流的口令提示的装置,其中,以视觉上可察觉的较高频率显示所述改变的随机字符流中的特定字符;以及用于在所述数据处理系统上接收输入以递增或递减所述特定字符以达到口令的口令字符的装置。
11.如权利要求10所述的用于安全口令输入的系统,还包括用于显示多个字符位置的装置,其中在所述多个字符位置的每个中显示随机字符流,其中所述多个字符位置中的特定位置提供所述口令提示。
12.如权利要求11所述的用于安全口令输入的系统,还包括用于调整所述多个字符位置中提供所述口令提示的字符位置的装置。
13.如权利要求11所述的用于安全口令输入的系统,还包括调整所述多个字符位置的数量的装置。
14.如权利要求10所述的用于安全口令输入的系统,还包括用于响应接收到指明完成所述口令的口令完成字符的输入,安全地传送所述口令到请求方软件层的装置。
15.如权利要求10所述的用于安全口令输入的系统,还包括在所述数据处理系统内执行的口令输入控制器,用于控制显示所述口令提示的所述装置以及用于在所述数据处理系统上接收输入的所述装置;和用于响应接收到来自数据处理系统内的软件层的口令请求,调用所述口令输入控制器的装置。
16.如权利要求10所述的用于安全口令输入的系统,还包括用于控制显示所述口令提示的所述装置以及用于在所述数据处理系统上接收输入的所述装置的口令输入控制器;和用于响应接收到来自服务器系统的口令请求,调用所述口令输入控制器的装置,其中所述数据处理系统正尝试访问所述服务器系统的资源。
17.如权利要求10所述的用于安全口令输入的系统,还包括用于生成所述随机字符流的装置,其中所述特定字符是随机选择的。
18.如权利要求10所述的用于安全口令输入的系统,还包括用于在所述随机字符流中调整显示所述特定字符的频率百分比的装置。
19.一种用于安全口令输入的计算机程序产品,驻留于计算机可读取介质上,包括用于显示包含改变的随机字符流的口令提示的装置,其中,以视觉上可察觉的较高频率显示所述改变的随机字符流中的特定字符;和用于接收输入以递增或递减所述特定字符以达到口令的口令字符的装置。
20.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括用于显示多个字符位置的装置,其中在所述多个字符位置的每个中显示随机字符流,其中所述多个字符位置中的特定位置提供所述口令提示。
21.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括用于调整所述多个字符位置中提供所述口令提示的字符位置的装置。
22.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括调整所述多个字符位置的数量的装置。
23.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括用于响应接收到指明完成所述口令的口令完成字符的输入,安全地传送所述口令到请求方软件层的装置。
24.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括用于生成所述随机字符流的装置,其中所述特定字符是随机选择的。
25.如权利要求19所述的用于安全口令输入的计算机程序产品,还包括用于在所述随机字符流中调整显示所述特定字符的频率百分比的装置。
全文摘要
提供了在口令输入期间抵御未授权按键记录的方法,系统和程序。通过显示包含改变的随机字符流的口令提示,在其中,以视觉上可察觉的较高频率显示随机字符流内的特定字符,促成安全口令输入。用户通过键入输入以递增或递减特定高频字符以选择口令字符,从而达到口令字符,这样,探测所述口令的任何未授权按键记录失效。一旦用户获得口令字符,用户提供另一输入,指明选择当前高频率字符为口令字符。一旦用户选择口令的全部字符,用户键入输入以指明口令是完整的,然后,口令输入控制器将口令传送到调用层。
文档编号G06F1/00GK1700134SQ20051000950
公开日2005年11月23日 申请日期2005年2月22日 优先权日2004年5月20日
发明者阿莫斯·P·沃特兰德 申请人:国际商业机器公司