专利名称:隐藏型密码编码与识别方法
技术领域:
本发明系一种在曝露场合专门用于向计算机输入密码的方法。
目前银行、电信、医院等方面为用户使用密码提供了一些简易保护措施,如一米线限制(用户输入密码时,要求他人站在一米线外)、输入键盘上安装遮挡盒,三次输错密码后取款机就‘吞’卡或拒绝支付等等,这些措施确有一定的作用,但还不是十分理想。国内也有人提出了配备若干密码输入专用设备或设施的方法,但增加一系列专用设备会对用户带来诸多使用上的不便,同时也增加了有关部门购置、维护这些设备或设施的费用,不容易推广应用;国外已有如IBM4381中型机在其终端配置的、由密码器和专用接口构成的具有保密功能的附加输入设备,但它的兼容性差、接口复杂、成本昂贵,应用性亦十分局限。
本发明是这样实现的本发明包括以下步骤(1)每一组密码分为三部分正码、副码和干扰码。正码即计算机认可的真正密码,由数字或字母组成;干扰码是用户在输入正码的过程中同时随机输入的数据;副码由数字或字母组成,用来识别正码在带有干扰码数据的密码中的位置。正码、副码均事先存入计算机数据库中。
(2)使用时,用户向计算机输入一组带干扰数据的密码。
(3)计算机从数据库中查找出该用户的正码和副码。
(4)计算机通过数据库中的副码以及副码使用规则,从用户输入的带干扰数据的密码中分离出正码。
(5)将用户输入的已分离出的正码,与数据库中原存有的正码进行比较,由此判定用户身份的合法性。
本发明的特征是正码字符串可分为若干组,集中或分散隐藏在干扰码之中。
副码数据或字符串可分为若干组,可集中或分散使用。
副码的使用规则有两大类,一类是副码要出现在带干扰数据的密码中;另一类是副码不出现在带干扰数据的密码中。
副码出现在带干扰数据的密码中,副码可以重复出现,正码分为若干组,每一组正码紧跟在副码后面、或副码前面、或夹在一对副码中间,其它位置是干扰数据。
副码不出现在带干扰数据的密码中,副码由几组数据构成,正码与副码都各自分为相同的组数,每一组副码的值是一个数,它限定了每一组正码子串前面随机输入的干扰数据的个数。
每个用户可以拥有两个正码,一个是常用正码,另一个是报警码。两个正码的使用方法相同,但每次只能使用一个正码,一旦使用报警码,计算机系统会自动启动秘密监控和警报装置。
采用带干扰数据的密码方法,将密码的长度存入计算机,用户向计算机输入一组带干扰数据的密码后,计算机判断密码长度是否达到规定长度,如果没有,则密码不合法。
用户通过密码认证进入计算机系统后,用户修改正码、副码也能够采用带干扰数据的密码的编码方法。
本发明密码设置方法由系统管理员设置计算机系统允许用户录入的密码数据的长度的上、下限值,较大的下限值输入密码的安全性较高,较大的上限值输入密码的灵活性较高。正码是人们通常使用的密码,正码由数字或字母组成,正码可以选择分段成一组或几组。比如,正码是一组123456,正码可分为两组123-456,正码可分为三组12-34-56,或者1-23-456,其中,‘-’是分组符号。正码如何分组可以交由用户设定。
干扰码是用户在输入密码的过程中同时随机输入的数据,它与正码混合在一起,外表无任何规律性,因而能起到密码防窥窃的作用。
副码是用来标记正码在带干扰数据密码中位置的密码,副码由数字或字符组成,副码可以分段成一组或几组。
副码使用规则由系统管理员决定,下列规则1--4可选择其一规则1副码出现在密码序列中,副码由1-2位数字或字符组成,它不是正码的子字符串。正码分为几组数据,每个副码后面依次紧跟正码的一组数据。假定正码为12-34-56,副码为8。则一组带干扰数据密码的输入方法是XXXXX812XXXXXXXX834XXX856XXX。其中,‘-’是分组符号,X代表随机输入的干扰数据,X≠8。
规则2副码出现在密码序列中,副码由1-2位数字或字符组成,它不是正码的子字符串。正码分为几组数据,每个副码前面是正码的一组数据。假定正码为12-34-56,副码为8。则一组带干扰数据密码的输入方法是XXXXX128XXXXXXXX348XXX568XXX。X≠8。
规则3副码出现在密码序列中,副码由1-2位数字或字符组成,它不是正码的子字符串。正码分为几组由副码决定,副码成对出现,每一对副码之间是正码的一组数据。假定正码为123456,副码为8,则一组带干扰数据密码的输入方法是XXXXX8128XXXXXXXX834568XXXX,或XXX8128XXXXXX8348XX8568XXX,或XXX81234568XXXXXXXXXXXXXXXX,X≠8。
规则4副码不出现在密码序列中,正码分为几组数据,副码数据也分为同样多的组。每一组副码的值是一个数,它等于同一组号的正码子串前面随机输入的干扰数据的个数。假定正码分组为12-34-56,副码分组为3-4-5,带干扰数据密码的输入形式XXX12XXXX34XXXXX56XXXXXXX。其中第一组正码‘12’前面有3个随机数据,第二组正码‘34’前面有4个随机数据,第三组正码‘56’前面有5个随机数据,第三组正码‘56’后面可以跟任意个随机数据。修改副码时每一组新副码要在带干扰数据密码中占两位。
本发明用户使用密码步骤(1)用户输入带干扰数据的密码。比如,原密码分组是123-456,副码分组是5-9,副码使用规则是规则4.用户进入系统的密码形式XXXXX123XXXXXXXXX456XXXXXX。其中,第一组正码‘123’前面有5个随机数据,第二组正码‘456’前面有9个随机数据,第二组正码‘456’后面有任意个随机数据。
(2)计算机查找数据库中相应的正码和副码。
(3)根据查找到的副码以及副码使用规则,从带干扰数据的密码中抽取出正码数据信息。
(4)判断输入正码是否等于数据库中原有正码,从而决定用户身份的合法性。本发明修改密码的步骤(1)假设用户已进入系统。
(2)在系统菜单目录或语音提示下,用户启动修改密码按钮。
(3)使用带干扰数据的密码方法修改正码,与进入系统时输入带干扰数据密码的方法相同。比如,原密码是123-456,新密码是345-678,副码是9,副码使用规则是规则1。
用户进入系统的密码形式XXXX9123XXXXXXX9456XXXXXX。X≠9用户修改正码形式XXXX9345XXXXXXX9678XXXX。X≠9(4)用带干扰数据的密码方法修改副码,与进入系统时输入带干扰数据密码的方法相同。
比如,正码是345-678,原副码是9,新副码是0,副码使用规则是规则1。
用户进入系统的密码形式XX9123XXXXXXX9456XXXXXX。X≠9用户修改副码的形式XXXXXXXX90XXXXXXXXXXXXX。X≠9又如,正码是12-34-56,原副码是3-6-9,新副码是1-4-7,副码采用规则4。
用户进入系统的密码形式XXX12XXXXXX34XXXXXXXXX56XX。
用户修改副码的形式XXX01XXXXXX04XXXXXXXXX07XXXX。
在副码规则4中,修改副码时新副码要出现在带干扰数据密码中,每一组副码占两位。
再如,正码是12-34-56,原副码是3-6-9,新副码是11-4-7,副码采用规则4。
用户进入系统的密码形式XXX12XXXXXX34XXXXXXXXX56XX。
用户修改副码的形式XXX11XXXXXX04XXXXXXXXX07XXXX。
用密码报警(可选用)对银行卡等用户的密码输入,计算机系统可以为用户设置除正码、副码之外的第二个正码,称为报警码。报警码与正码的设置、使用方法完全相同。报警码字符串不等于正码字符串,当用户受到胁迫而使用密码时,才可选用报警码。任何人以报警码进入系统后,计算机系统内部的专用监控与保安系统将秘密开始工作。比如,正码是123-456,报警码是987-654,副码分组是6-9,副码使用规则是规则4。以报警码进入系统的密码形式XXXXXX987XXXXXXXXX654XX。
本发明优点阐述
本发明把密码分为‘正码’、‘副码’和‘干扰码’三类,使真正的密码即正码隐藏在干扰码中,副码起到标记正码在全部密码中位置的作用。当用户输入的带干扰数据的密码达到20-60位长时,如此长度的数据又是一次性输入,难于被他人记忆其全部,加之干扰数据与密码交织在一起并无任何规律性,具有很强的保密效果。用户虽然输入的密码数据很长,但用户需要记忆的密码部分只有正码4-8位数和副码2-6位数,其它都是临时随机输入的数据,正所谓当‘是’者清而旁窥者昏,可以轻松实现防窥窃的效果。
本发明安全性高、通用性强,在自动取款机、电话终端机、医疗卡就医等场合均可以使用。本发明通过电脑/电话终端、网络和本地或远程计算机相组合的方式而工作。(见附图1)本发明基于社会上现有各类密码输入设施工具,基本不增加新设备、不明显增加使用方法复杂性。本发明并不排斥目前已经使用中的一些简易防窥窃密码的措施,比如一米线限制、输入键盘上安装遮挡盒、三次输错密码后取款机就‘吞’卡或拒绝支付等等。
如果密码是6位数,则按通常密码输入方法,密码被破译须经过大约106次测试;采用本发明带干扰数据的密码输入方法,如果正码4-8位数、副码2-6位数,假定要求密码数据输入的长度达到20以上才有效(实现这一要求并不难),则破译本密码需要大约1020次测试,这不能不是一个天文数字。以计算机程序自动破译密码为例,同一账号下,如果一台个人电脑每秒钟能测试10个数据是否密码,则该电脑以每天24小时,每月30天,每年12个月不停地工作,100年也只能测试出大约3×1010个数据是否密码。因此,从理论上讲本发明的带干扰数据密码输入方法已达到了密码完全防破译的作用。
如果他人采用光学窥视镜观察用户输入带干扰数据的密码全过程,假定用户未能进行有效阻挡,但是用户进入系统后,采用带干扰数据密码方法修改了副码。则他人采用复制还原法(即将用户输入过的全部数据作为密码)亦不能进入用户的账户。因为用户进入系统的数据中使用的副码已经修改,而用户进入系统后修改副码的一组数据中不含有正码,既然这两组数据都不能进入用户账户,复制还原法在此情形下自然无效。
因此,如果正码4-8位数、副码2-6位数,假定要求密码数据输入的长度达到20以上才有效,假定用户采用带干扰数据密码方法进入系统,又采用带干扰数据密码方法修改了副码,则从理论上讲,本发明的带干扰数据密码输入方法已达到了密码完全防破译、防复制还原的作用。
图1带干扰数据防窥窃密码工作示意2计算机系统程序员设置密码流程3用户输入密码流程4计算机系统识别密码流程图本发明要求对计算机系统密码的设置,应当包括正码和副码。
本发明对计算机系统密码的输入长度要求设置上、下限限制并适当放宽上限,提高下限值,由系统管理员应根据系统对安全性要求的高低决定。
副码的使用规则由系统管理员确定。
副码的使用规则不同,输入带干扰数据密码的方法也不同;对于副码分组的某些特殊设置,会导致某些简化情形比如,正码分组是12-34-56,副码分组是0-0-0,副码使用规则4,带干扰数据密码形式为123456XXXXXXXXXXXXXXXX。前面6位数据是正码,后面全是随机输入数据。又如,正码分组是12-34-56,副码分组是5-0-0,副码使用规则4,带干扰数据密码形式为XXXXX123456XXXXXXXXXXXXXXXX。正码前面5位是随机输入数据,正码后面全是随机输入数据。
用户可以修改正码或副码。
本发明用于秘密投票机投票的方法由计算机带有若干个数字键盘输入终端的系统,数据库应用软件,以及本发明方法,即带干扰数据密码输入方法,就组成了一个秘密投票机。
假设共有9个候选人,分别用1-9号编码,每一个候选人对应一个号码。假设某一个选举人甲有一个选举号、正码和副码‘5’。
甲采用带干扰数据密码方式输入密码并进入系统。
甲用密码投票,是利用副码‘5’。他人不知道甲的副码,采用副码规则1,当甲输入XXXX58XXX,其中X表示随机输入的数据,X≠5,密码序列中5之后是甲的投票号码,即实际上甲投了代号8的后选人一票。重复这一操作,甲可以对多个候选人投票。
如果候选人人数大于9时,只要将候选人的代号改为两位数或三位数,甲都能采用上述方法进行秘密投票。
本发明推荐使用的设置是任何密码输入长度限制在20-60之间;正码分为三组,形如AA-AA-AA,其中A表示正码数据,‘-’是分组符号;副码分为三组,形如a-b-c,其中a,b,c是三个整数,a,b,c在0到20之间选择;副码使用规则选用规则4。
权利要求
1.隐藏型密码编码与识别方法,包括以下步骤(1)每一组密码分为三部分正码、副码和干扰码,正码即计算机认可的真正密码,由数字或字母组成;干扰码是用户在输入正码的过程中同时随机输入的数据;副码由数字或字母组成,用来识别正码在带有干扰码数据的密码中的位置,正码、副码和副码使用规则均事先存入计算机数据库中,(2)使用时,用户向计算机输入一组带干扰数据的密码,(3)计算机从数据库中查找出该用户的正码和副码。(4)计算机通过数据库中的副码以及副码使用规则,从用户输入的带干扰数据的密码中分离出正码,(5)将用户输入的已分离出的正码,与数据库中原存有的正码进行比较,由此判定用户身份的合法性。
2.根据权利要求1所述的方法,其特征在于正码字符串可分为若干组,集中或分散隐藏在干扰码之中。
3.根据权利要求1所述的方法,其特征在于副码数据或字符串可分为若干组,可集中或分散使用。
4.根据权利要求1或3所述的方法,其特征在于副码的使用规则有两大类,一类是副码要出现在带干扰数据的密码中;另一类是副码不出现在带干扰数据的密码中。
5.根据权利要求4所述的方法,其特征在于副码出现在带干扰数据的密码中,副码可以重复出现,正码分为若干组,每一组正码紧跟在副码后面或副码前面或夹在一对副码中间,其它位置是干扰数据。
6.根据权利要求4所述的方法,其特征在于副码不出现在带干扰数据的密码中,副码由几组数据构成,正码与副码都各自分为相同的组数,每一组副码的值是一个数,它限定了每一组正码子串前面随机输入的干扰数据的个数。
7.根据权利要求1所述的方法,其特征在于每个用户可以拥有两个正码,一个是常用正码,另一个是报警码,两个正码的使用方法相同,但每次只能使用一个正码,一旦使用报警码,计算机系统会自动启动秘密监控和警报装置。
8.根据权利要求1所述的方法,其特征在于将密码的长度存入计算机,用户向计算机输入一组带干扰数据的密码后,计算机判断密码长度是否达到规定长度,如果没有达到规定长度,则视为不合法。
9.根据权利要求1所述的方法,其特征在于用户通过密码认证进入计算机系统后,用户修改正码、副码采用所述带干扰数据的密码编码方法。
全文摘要
本发明隐藏型密码编码与识别方法,包括以下步骤(1)每一组密码分为三部分正码、副码和干扰码。正码即计算机认可的真正密码,由数字或字母组成;干扰码是用户在输入正码的过程中同时随机输入的数据;副码由数字或字母组成,用来识别正码在带有干扰码数据的密码中的位置。正码、副码均事先存入计算机数据库中。(2)使用时,用户向计算机输入一组带干扰数据的密码。(3)计算机判断用户输入的密码长度是否达到规定长度。(4)计算机从数据库中查找出该用户的正码和副码。(5)计算机通过数据库中的副码以及副码使用规则,从用户输入的带干扰数据的密码中分离出正码。(6)将用户输入的已分离出的正码,与数据库中原存有的正码进行比较,由此判定用户身份的合法性。
文档编号G06K9/18GK1474317SQ0313541
公开日2004年2月11日 申请日期2003年7月15日 优先权日2003年7月15日
发明者蔡长林 申请人:蔡长林