CN102509030A - 一种利用单散函数隐性保存数据关系和识别账户的方法 - Google Patents
一种利用单散函数隐性保存数据关系和识别账户的方法 Download PDFInfo
- Publication number
- CN102509030A CN102509030A CN2010102828954A CN201010282895A CN102509030A CN 102509030 A CN102509030 A CN 102509030A CN 2010102828954 A CN2010102828954 A CN 2010102828954A CN 201010282895 A CN201010282895 A CN 201010282895A CN 102509030 A CN102509030 A CN 102509030A
- Authority
- CN
- China
- Prior art keywords
- account
- relation
- character string
- identifier
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明利用单向散列函数在一定条件下隐性保存、验证一个可以通过有限字符串描述的关系。该方法保护了所用字符串的明文信息,使账户主人可以利用身份信息构成有唯一性的关系字符串,再将该字符串由单向散列函数导出相应的关系标识符来唯一确定一个账户。由于该标识符保存了户主信息的关系特征,户主能利用证件通过证明对所用关系字符串的所有权,进而证明对相关关系标识符及所确定账户的所有权。因为有效关系标识符不会被凑出,账户服务器有理由相信,一组包含一个有效关系标识符的数据属于和该关系标识符相对应的账户。通过利用无明文意义的关系标识符识别账户和交换数据,本发明实现了对账户的匿名管理和使用。
Description
技术领域
本发明属于信息安全和互联网站技术领域,涉及一种用单向散列函数来保存、验证一个可以通过有限个有限字符串描述的关系的方法。具体涉及一种利用单向散列函数(Hash) 的两个核心特征,数据加密结果的不可逆性和加密前后数据之间有一一对应关系的特性,建立、识别和恢复账户的方法。
背景技术
文明社会对于私人健康医疗档案的市场需求很大。一份完整的私人健康医疗档案能够帮助医生诊断病情,避免不必要的重复化验。对私人健康医疗档案的宏观研究还能为国家制定相关政策提供科学依据。因此,各国政府和公司都投入大量资源开发私人健康医疗档案系统。
从实际效果看,私人健康医疗档案系统在扩大会员和资料更新的过程中都遇到了相当的困难。其根本原因是隐私保护问题没有解决好。公众对于让第三方全面拥有自己一生的健康医疗档案疑虑很大,自愿参加的积级性不高。这种担心严重影响了私人健康医疗档案的发展和完善。没有个人的积极参与,已建成的私人健康医疗档案很快就会在信息收集方面落后,进而使活档案变成死档案,失去其在医疗诊断方面的实际意义。
一个公认的解决办法是建立个人健康医疗档案的互联网站。其优点是个人可以直接登录本人账户并输入各类数据,方便准确地设置各类资料的读取权限,有效实现微观隐私保护。目前流行的网站多用实名账户管理技术,其致命弱点是病情隐私有可能被有能力接触到中心数据库的单位或个人泄密。相反,如果使用账户匿名技术,能够读取个人隐私数据的单位和个人便不能确定谁是数据主人,这就大大降低了泄密的危害性。
但是,现有账户匿名技术也存在致命弱点。第一,如果客户丢失账户名或密码,就会面临永远失去账户资料的危险,因为账户服务系统很难对客户进行身份认证,而不能完成进行身份认证就意味着不能恢复账户的所有权,也就不能帮助客户找回丢失的账户名或密码;第二,账户往往缺乏与外方自动交换数据的能力,账户的匿名特性决定了它不能够提供足够的信息来做账户识别工作,这就造成下载资料的账户归属问题无法解决。显然,一个不能够自动下载医院病历的私人健康医疗档案是不完善、不实用的。
当然,利用有密钥的可逆加密方法可以做到对资料的有效保护。但问题是:1. 保存好密钥不是一个方便的事;2. 必须有密钥才能读和修改资料;3. 在没有密钥的情况下,职能部门不能对资料进行宏观检索、不能得到统计意义上的有用信息。
发明内容
如果一组数据的一种组合能够实现一项功能,则该组数据之间存在一种关系。一个地方电话号码和区位号码之间有一种关系,因为区位号码加地方号码可以有新的有用功能,这就是让人们跨地区地打长途电话。一般讲,一种关系存在于两个或两个以上的数据之间。实际上,表面看起来是一项数据的某些东西也可以代表一个关系。比如一个18位的公民身份证号码,它可以被整体看成一个数据,也可以看成是由地区代码加出生年月日及顺序号等构成。也就是说,该号码含有生日和某一地区的关系,该关系可以帮助确定一个公民。
从广义上讲,一组描述有限对象的有限数据之间的某些关系,可以通过对该有限数据进行有序的,按照一定规则进行的排列来描述和保存。在本文中,将排列好的结果称作关系字符串。将一个关系字符串通过单向散列函数处理后,会得到一个加密的结果,本文称之为关系标识符。由于单向散列函数能够保持加密前后数据之间一一对应的关系,所以每一个唯一的关系字符串都能够通过单向散列函数的处理得到一个唯一的关系标识符。虽然这样得到的关系标识符不能够复述它所保存的关系,但它可以作为一个充份条件来验证一个给定的字符串是不是和当初产生该关系标识符的关系字符串一致。方法是将给定的字符串通过同样的单向散列函数加密成一个新的字符串密文,如果新产生的字符串密文与上面得到的关系标识符相同,则给定的字符串就是上面提到的关系字符串。这就间接验证了一个给定的字符串是否含有上述关系字符串所描述的关系。
一个关系字符串能够保存一组数据之间的某种关系是有前题的。一个前题就是要防止一个关系字符串含有多重关系。比如有两组数据各含有两个值:第一组数据的值是“A”和“BC”;第二组数据的值是“AB”和“C”。显然,“A”和“BC”之间的关系不同于“AB”和“C” 之间的关系。如果直接将每组数据中的两项叠加来购成关系字符串,就会得到一个重复的关系字符串“ABC”。因为“A”+“BC”和“AB”+“C”都能得到“ABC”。
很多办法都可以避免上述情况的发生。下面介绍四种方使有效的方法。
规定数据长度法。即每个数据必须有一个规定的相应长度。当某一数据项长度小于规定长度时由特定字符填充。用上述关系字符串“ABC”为例,假设规定第一项的长度为二,第二项的长度为三,并用星号“*”为填充字符。按此规定,第一组数据的关系字符串就是“A*BC*”, 第二组数据的关系字符串就是“ABC**”。这就有效地避免了关系字符串重复的问题。
不同字码表示法。此法规定在一个关系字符串的构成过程中,相邻的两个数据项属于没有交集的不同字码集合。比如第一项数据用字码集“ABCD”,第二项用字码集“甲乙丙丁”。假如有两组数据各含有两个值:第一组数据的值是“A”和“乙丙”;第二组数据的值是“AB”和“丙”。如果直接将每组数据中的两项叠加来购成关系字符串,就会得到二个不同关系字符串“A乙丙”和“AB丙”,从而避免了关系字符串重复的问题。
间隔符号法。这种方法用特殊符号将每一项分开,从而达到避免重复关系字符串的问题。例如用符号“|”做各项之间的隔离,则第一组数据“A”和“BC”的关系字符串就是“A|BC”;第二组数据的关系字符串就是“AB|C”, 也能避免关系字符串重复的问题。
上述三种方法有一个共同点,就是通过各种办法将各个单项数据从一个关系字符串中区分出来。显然,将上述各种方法混用,也是能达到同样目的的方法。
单项数据加密法。在构成关系字符串之前,先将每一项的数据经过单向散列函数或类似的散列函数进行处理,使之变成一个很大的,带有随机表象的另一个字符串密文。然后再用所产生的字符串密文组成一个新的关系字符串。由于所用函数有输入值和输出值一一对应的关系,用这样的方法构成的关系字符串也能在一定程度上包含原数据之间的关系。实际应用中,由于字符串密文在字面上看起来有很强的随机性,很难发生关系字符串重复的情况,所以将间隔项的数据进行(单向)散列函数的处理就能够极有效地避免关系字符串重复的问题。例加一个关系字符串由五项数据构成,则用(单向)散列函数处理第二项和第四项数据就能避免关系字符串重复的问题。用(单向)散列函数处理第一、三、五项或更多项,也能达到同样结果。
单项数据加密法也可与前三种方法混用,达到避免关系字符串重复的目的。
本发明利用单向散列函数对数据加密后的不可逆的特性和其能保持加密前后数据之间一一对应关系的特性来保存和验证一种关系。该关系可通过有限个有限字符串的组合来定义。例如,一个公民有出生日、姓名、性别、单位和家庭地址等能通过有限字符串表述的特征。将上述有限个有限字符串组合起来,一般就可以唯一确定一个公民。也就是说,上述特征之间有一种关系,这种关系可以唯一确定一个公民。如果我们把上述有限个有限字符串按照一定的规则组合称作关系字符串,再通过单向散列函数加密(映射)成一个无明文意义的关系标识符,则这个关系标识符便在一定程度上保存了上述特征之间的关系。
以建立一个账户为例,可以规定客户用真实个人相关信息,按一定顺序组成至少一个能唯一确定该账户的一个关系字符串。由于个人相关的信息一般由各种证件来定义或证明,有相应的构成格式,所以一个用个人相关信息构成的关系字符串有良好的唯一性,一般不会发生所用关系字符串与别人的关系字符串重复的情况。本着先登记者优先,后登记者在关系字符串重复时必须增加个人信息以示区别的原则,关系字符串重复的问题可以妥善解决。
在通过关系标识符唯一确定关系字符串的基础上,本发明通过规定系字符串的构成格式及取值范围,使所生成的关系标识符能够唯一地保存一种关系。由于被保存的关系不能通过该关系标识符反演成相对应的关系字符串,所以相对应的关系字符串和其所含的明文含义得到了很好地保护。
这种单向的,抽象的保存方法有广泛的应用价值。例如在匿名帐户的建立过程中,客户可以用与其相关信息构成一个明文的关系字符串,再通过单向散列函数加密产生一个关系标识符,最后通过登记该关系标识符到一个特定账户来达到支持账户识别的目地。这样,账户服务器方只要保存每个客户的关系标识符,就可以将每个账户区别开来,而无需保存相对应的明文关系字符串。这就在很大程度上给用户使用个体敏感信息构成明文关系字符串提供了安全保障,同时也为账户主人证明本人对该帐户的所有权打下了基础。也就是说,通过关系标识符,账户服务器方能够完成账户管理中的两项最基本任务:账户识别和恢复账户所有权。
基于上述建立账户的例子,账户识别的方法由以下三步完成:
a. 需要识别账户的一方以其现有的相关资料信息构成至少一个关系字符串,并用账户服务器方面认可的单向散列函数将至少一个关系字符串加密产生关系标识符;
b. 需要识别账户的一方在对相关账户服务器传输资料时,保证在属于同一账户的资料中至少放入一个与该账户相关的关系标识符;
c. 账户服务器用外方提供的关系标识符在账户服务器数据库中保存的关系标识符中寻找相对应的关系标识符,如果相对应的关系标识符能被找到,则该关系标识符所对应的账户是外方要寻找的账户,所传数据属于该账户。
基于上述建立账户的条件,恢复账户所有权的方法由以下三步完成:
a. 客户主人向账户服务器方面提供相关证件和由可被所提供证件证明的信息购成的关系字符串;
b. 账户服务器方面验证客户主人提供的关系字符串所含信息确实与客户提供的相关证件信息一致。如果希望加强安全性,账户服务器端还可以有迭择性地进一步确认相关证件为客户主人亲自或授权提交;
c. 由账户服务器或客户主人将客户提交的关系字符串经单向散列函数加密生成新关系标识符,并由账户服务器在其数据库中所保存的关系标识符表单中寻找。如果新关系标识符能够与在账户服务器所保存的某关系标识符相对应,则该关系标识符所对应的账户,是被要求的账户;
d. 在条件b和c同时被满足的情况下,认定客户主人是被要求账户的主人,恢复客户主人对该账户的所有权,包括恢复登录名及密码,或授予、接受新登录名及密码等服务。
本发明的有益效果还包括对资料传输安全性的改善和对资料标志码产生方法的简化。例如在医疗资料传输过程中,一般的做法是用病人身分的明文信息或事先约定的标志码(ID)来区分不同病人的资料。和用明文信息的方法相比,本发明用关系标识符替代明文来区分不同病人的资料,避免了病人身分的明文信息在传输过程中被窃听的问题;和用事先约定资料的标志码(ID)来区分不同病人资料的方法相比,本发明用关系标识符当做标志码,从而避免了标志码的产生过程。这是因为关系标识符能单方面产生,无须双方事先约定。其直接效果是扩展了资料交换的合作范围,使一些无条件事先约定资料标志码的部门之间也有可能安全地进行资料传递。
本发明的实际应用领域远远超过上述范围。例如在新兴的云计算领域中,用户多少会对在第三方加工和存取数据有安全方面的顾虑,如果将本发明所述的账户管理方法应用到云计算的数据存取过程中,用户就能够实现匿名操作,从而达到保护个体安全的目的。后面介绍的账户密码保存及验证方法,也是本发明在信息安全领域的一个实际例子。
本发明在民用领域有足够的安全性。原因是依靠碰撞或暴力的办法破解一个关系标识符在计算上是不可行的。已知的破解办法需要掌握整个地区或国家的所有个体信息资料,将这些个体信息进行多种组合后用单向散列函数生成相应的关系标识符,再创建一个极大的数据库来存放所有可能的关系标识符。这样的数据库能快速查找出与某关系标识符相对应的关系字符串,进而达到读解其关系字符串的目的。显然,只有国家或政府才有能力做这种工作。
具体实施方式
1. 单向散列函数的选择和应用方法。
单向散列函数又称hash函数,简称单散函数,是把任意长的输入字符串变化成固定长的输出字符串的一种函数。单向散列函数有两个核心特征:1.对数据加密后的结果不可逆,例如字符串“abc”被单向散列函数MD5加密后会变成“900150983CD24FB0D6963F7D28E17F72”,没有通用的方法在有限的时间内能够将加密结果反演成字符串“abc”;2.加密前后数据之间有一一对应的关系,也就是说,单向散列函数MD5只能将字符串“abc”加密后变成“900150983CD24FB0D6963F7D28E17F72”,任何其它字符串都不会被单向散列函数MD5加密后变成“900150983CD24FB0D6963F7D28E17F72”。
本发明所选择的单向散列函数主要用于将各方提供的关系字符串加密成关系标识符。这种加密操作有两个作用,1. 隐去关系字符串的原始明文信息,让用户放心使用与个体有关的信息,如身分证号码,构成关系字符串;2. 继续保持关系字符串能唯一确定其所属账户的特性。因为加密前后数据之间有一一对应的关系,所以只要让每个账户记住其关系字符串的密文形式,即关系标识符,账户服务器就能够通过对关系标识符的查寻,唯一确定其所属账户。也就是说,每个账户不再需要记住相对应的关系字符串。当外方有能力构成关系字符串时,外方就能够通过单向散列函数加密产生关系标识符,再以该关系标识符通过账户服务器唯一确定其所属账户。
加密成关系标识符在具体应用中,各方必须使用同一种单向散列函数,该函数应该至少满足以下几个条件:
a. 对每一个给定的输入字符串,计算输出字符串是很容易的;
b. 对每一个给定的输出字符串,反演计算其输入字符串在技术上是不可行的;
c. 找到两个不同的输入字符串凑到同一个输出字符串在技术上是不可行的。 也就是在实际应用范围内,加密前的明文和加密后的密文之间有一一对应的关系。
常见的散列函数中能满足上述条件的有MD5(Message Digest Algorithm 5)和SHA(Secure Hash Algorithm)系列。前者可以把不同长度的字符串加密成一个128位的数值;后者包括五种具体算法,可以把不同长度的字符串加密成一个160位到512位的数值。两者相比,SHA的安全性更好些。
就目前的技术而言,在SHA系列中输出字符串在256/224位(bits)及以上长度的算法中尚未发现有违反一一对应关系的例子。因此,对于大型账户管理系统说,SHA256是理想的选择。 MD5和SHA系列已被开发成多种语言的程序,可以方便地从因特网上找到相应的免费程序原代码。
单向散列函数的应用方法多种多样。目前常用的办法是将单向散列函数用网络通用语言JavaScript写成程序原代码,然后随关系标识符登记网页传到客户计算机上,并且在客户机上完成将关系字符串加密成关系标识符的过程,以避免账户名以明文传向网站服务器过程中的泄密问题。另一种方法是让客户通过其信任的第三方加密软件将其所选关系字符串变成密文,然后在将此密文直接传到网站服务器。对于某些不懂网络技术的客户,这种做法能使他们更加放心地使用个体信息来组建关系字符串。当然,如果需要,关系字符串的加密过程也可以在账户服务器中完成,这种情况下最好选用安全性好的方法将关系字符串传到服务器端,如Https技术。
单向散列函数在实际应用过程中也可以对关系字符串进行多次加密。这种多次加密过程可以用同一个单向散列函数,也可以用不同的单向散列函数。只要这一过程是规范的,为有关各方遵守,则本发明描述的方法就是有效的。
随着科学的进步和计算水平的提高,MD5和SHA散列函数会有一天被更安全的散列函数所替代。但是,只要新发明的散列函数满足上述条件,本发明法便继续有效。
2. 一种隐去不同账户拥有相同账户密码现象的方法
很多人习惯用容易记的字符串做账户密码,这在有很多用户的账户服务器中会出现一些不同账户拥有同样账户密码的情况。这种情况是一个不小的安全问题。一个黑客可以利用不同账户拥有同样密码的情报,更有针对性地集中破解相关账户。将密码用一定的函数加密能提高密码的安全性。但是,由于所用函数往往具有使被处理数据和处理结果之间保持一一对应关系的特性,同样的密码仍然会产生同样的加密结果。也就是说,经加密处理后的相同密码仍然能暴露其账户密码是和其它密码相同这一事实。
造成这种问题的一个直接原因就是目前的账户管理系统将账户登录名(也称用户名或用户代码)和用户密码分开保存。我们知道,通过登录名和密码可以登录一个特定的账户。因为一个登录名和一个密码的组合有这项功能,所以它们之间有一种关系。通过用单向散列函数来保存这种关系,能够解决上面提到的由密码重复所引发的安全隐患问题。具体做法是先用相关登录名和密码组成一个关系字符串。例如一个账户的登录名是“DLName”,它的密码是“passWord”,则一个可能的关系字符串就可以是“DLName|passWord”。这里我们假定是用一个特定符号“|”来区分登录名和密码。
一般讲,在一组描述某种关系的字符串中,如果其中任意一个字符串是唯一的,则用任何能将各字符串分开的方法所组成的关系字符串也是唯一的。这里要求被组成的关系字符串仍然能通过适当的方法将一组描述某种关系的字符串的贡献区别开来,就是要防止前面提到的关系字符串重复的问题。本发明中列举的四种避免关系字符串重复的方法都适用于用相关登录名和密码组成一个关系字符串的过程。
因为登录名在一个账户系统中是唯一的,所以将登录名和密码用上述四种方法的任意一种或其组合构成的关系字符串也是唯一的。将该关系字符串经单向散列函数处理后得到的关系标识符也是唯一的。账户管理系统通过保存该关系标识符,便可以对所提交的密码进行验证,无需再单独保存密码或加密后的密码。方法是利用客户提交的登录名和密码,按照当初产生关系字符串的方法重新建立一个关系字符串。将该关系字符串通过同样方式产生一个新关系标识符,如果这个新关系标识符能够在账户服务器中保存的关系标识符中找到,则所提供的密码是正确的,与该关系标识符相对应的账户就是客户所要登录的账户。
由于账户服务器所保存的关系标识符由登录名和密码联合产生,这就使有同样密码的不同账户拥有不一样的关系标识符。这种由于不同账户登录名带来的关系标识符唯一性,有效地隐藏了不同账户拥有相同密码的情况。这对改善账户服务器的安全性,有重要作用。
因为在上述关系字符串的结构中,登录名和密码在地位上讲是相似的,所以上述由账户服务器保存的关系标识符也可以对登录名进行验证,所用方法与验证密码完全一样。
再进一步简化,如果一个账户服务器不需要支持登录名的恢复功能,则该账户服务器便不需要单独保存登录名。账户服务器只要对每一账户保存由原始登录名和密码导出的关系标识符,就可以通过将客户提交的登录名和密码导出关系标识符,来比较账户服务器中所保存的关系标识符,同时完成登录名和密码的验证。这种不直接保存登名的方法,能进一步加强账户服务器的安全性,为客户放心使用个体相关信息构成登录名,创造良好条件。
显然,上述隐去相同账户密码的方法可以用在任何有密码(口令)要求的登录管理过程中。这个方法能够与下面介绍的账户管理方法合用,使账户服务器更加完善。
3. 一种账户识别和恢复的方法。
通过对单向散列函数保存数据之间关系方法的运用,本发明分四步具体介绍账户识别和恢复的方法。第一步是账户关系标识符的建立,第二步是改造一个普通账户管理系统,第三步是账户识别方法,第四步是账户的恢复方法。
账户关系标识符的建立
为了保证本发明所述的账户识别及恢复方法有效,账户主人要按规定要求选取至少一个关系字符串,并将由该关系字符串经单向散列函数加工生成的关系标识符注册登记到相关账户管理系统。账户主人在选择关系字符串时要注意避免上文中提到的重复关系字符串的问题。实践中还要注意以下三条:
a. 客户选取的关系字符串必须在整个账户系统中保持唯一性。个人身份证号码即可实现这种唯一性。因为单向散列函数对加密前后的数据能保持一一对应的关系,所以条件“选取至少一个唯一的关系字符串”能够保证单向散列函数对其加密后产生“至少一个唯一的关系标识符”。在本发明所述的账户管理过程中,关系标识符的唯一性是必要的,因为关系标识符是用来确定和识别账户的。同时,由于从理论上讲,“单向散列函数对加密前后的数据能保持一一对应的关系” 不可能永远成立,所以,通过保持关系字符串的唯一性来保证关系标识符的唯一性,在理论上便有疵瑕。将选择关系字符串时的唯一性条件进一步限定成“所选取的关系字符串通过单向散列函数加密后生成的关系标识符在整个账户系统中保持唯一性” 便能够避免“单向散列函数对加密前后的数据能保持一一对应的关系”的不确定性。在实践中确保关系字符串或关系标识符的唯一性在技术上容易实现,一个直接的办法就是将新提交的关系字符串或关系标识符在系统中寻找,如果能被找到,系统便拒绝添加这个关系字符串或关系标识符。反之则接纳之;
b. 关系字符串应该由可被账户主人证件证实的相关信息按一定顺序组成。如姓名加出生年月日,或是身份证号码等。满足本条件的关系字符串有排它性,它使每一个客户都有能力证明属于自己的关系字符串。当客户能够证明一个关系字符串是属于该客户时,根据单向散列函数对加密前后的数据能保持一一对应关系的特性,账户管理方面就有理由相信,与客户所提的关系字符串相对应的关系标识符也属于该客户,进而与该关系标识符相对应的账户也属于该客户;
c. 在满足前两项要求的条件下,尽量选用多数外方数据单位已经有的信息产生关系字符串。这样做的好处是外方单位能有较大机会独立产生有效关系字符串及其关系标识符。
从抗破译能力方面考虑,用较多个体信息产生的关系字符串会有更好的效果。但是对个体信息的过多要求会限制外方与服务器网站之间的数据交换能力。因为如果外方不具备相关的个体信息,便不能产生有效关系字符串及密文(关系标识符)。由于每项个体信息的值域大小不同,其组合后的唯一性能力也不一样。例如身份证号码的唯一性很好,而姓名的唯一性就较差,一定要和其它信息联合使用才能构成一个合格的关系字符串。总之,建议使用两到四项个体信息为妥。例如一个关系字符串可以是“张三19801231北京大学”(姓名+生日+毕业学校)。因为生日是阿拉伯数字,和姓名或学校名分属于不同字码集合,所以用生日将姓名和校名隔开的关系字符串构成方法一般不会出现重复关系字符串的情况。再举一个关系字符串的例子“110103198003252839|68328888”(身份证号码+家庭电话号码)。因为身份证号码可以是15位或18位,电话号码也不一定是8位,所以在构成关系字符串时最好将这两项属于同一字码集的数据用一个特定的符号(|)分开,以避免重复关系字符串的问题。所谓特定的符号,必须不属于该符号前后两项所属的字符集。
在构成关系字符串的过程中,也可以将部分或全部数据项先做一定形式的转换,然后再将转换后的结果按一定顺序组成关系字符串。只要转换过程能够保持被处理数据和处理结果之间存在一一对应的关系,这样得到的关系字符串就能够保存相关数据之间的关系。也就是说,只要一个关系字符串包含了一组数据中每一项数据的贡献,则该关系字符串便包含了相关数据组中数据之间的关系。
这种对数据项先做一定形式转换的方法有利有弊,好处是增加安全性。如果利用本文所述的“单项数据加密法”转换数据,还能避免重复关系字符串问题。坏处是增加了确认该关系字符串是由什么原始明文数据组构成的难度。例如一个用户要证明一个关系字符串是由其身份有关的原始明文数据组构成,这个用户不但要向有关部门提供相关证件及所用个体信息,还要告知曾对哪些数据进行过什么样的转换等信息。
由于账户服务器与外方的数据交换协议是松散地,在相关行业未建立构成关系字符串的共识情况下,客户在建立账户的过程中可选择不同的信息资料,在账户服务器中建立多个关系标识符,以増加与外方所提交关系标识符的对应机会。需要将资料传给账户服务器的外方亦可用同样办法,传输多个关系标识符以増加与账户服务器所存关系标识符的对应机会,从而更好地完成账户识别工作。
显然,如果账户不需要与外方交换资料,关系字符串的选择便不需要满足上文中条件“c”的规定。如果账户不需要有账户恢复功能,关系字符串的选择便不需要满足上文中条件“b”的规定。一个典型的例子是对手机电话卡客户活动的匿名管理。电话公司在提供服务时,在技术上不一定需要知道客户的身份信息,只要“选取的关系字符串是由有实际意义的字符串组成”,如电话号码,就可以创建该号码的匿名账户。方法是在客户第一次开通电话卡服务时将所用电话号码由单向散列函数加密成电话号码密文(关系标识符),并使以后活动的计录和费用管理都归于以电话号码密文为代表的账户。因为有效电话号码不再以明文方式被储存,该方法在一定程度上实现了对电话号码的匿名保护。即使在手机号码实名制的条件下,利用电话号码密文登记手机账户也有实际意义。比如在代售点登记购买手机号服务,可以让顾客现场刮看新手机号,再让顾客输入该号码或相应代号到代售点的个人资料保存仪器。该仪器利用顾客资料自动实时产生有电话号码贡献的密文。这样代售点和电话公司只能看到加密后的电话号码,从而保护了顾客电话号码不会被代售点轻易破解。由于电话号码的值域有限,加上电话公司知道一个电话号码密文是怎样产生的,所以电话公司能用一个较大的数据库及相应资料容易地找出相对应的真实电话号码。这样做既能减轻顾客的安全顾虑,又能使职能部门低成本地调查电话号码与其主人的关系。
将一个关系字符串加工成一个关系标识符是通过单向散列函数的加密运算得到的。这个过程可以通过一个常见单向散列函数(MD5 或SHA256等)一次完成,也可以通过多种单向散列函数做多次操作处理完成,以增加安全性。由于这一过程要被有数据交换愿望的多方认可和施行,所以这一过程也不可过于复杂。具体讲,如果该过程在账户服务器以外执行,包括在用户端或资料交换的外方执行,则一个简单明确的单向散列函数加密运算是较好的迭择。这样做还有一个安全方面的好处,就是关系字符串不会以明文形式传向账户服务器。因为传向账户服务器的关系标识符不易为窃听者破译,这就保护了用户的信息安全。当然,如果数据传输过程是安全的,如用HTTPS技术,则可以直接将关系字符串转给账户服务器,让账户服务器完成从关系字符串到关系标识符的加密运算也是可以的。
在账户服务器得到关系标识符后,账户服务器要通过存储于表单等手段将该关系标识符与相应账户的对应关系保存下来,这一过程称作对一个关系标识符的登记或注册过程。
改造一个普通账户管理系统
本发明描述的网站服务器在结构上与一般网站服务器区别不大,这里只着重介绍其中的不同点及改造方法,包括“关系标识符登记网页”的建立方法,“新建账户登记网页”和普通登录网页中添置加密功能的方法。
账户服务器在创建一个新账户时,一般都会给新账户定义一个唯一的账户标识码。很多数据库都能够给出连续的正整数,这样的正整数可以用做有唯一性的账户标识码。将该标识码作为外关健字(foreign key)与本发明中提到的关系标识符存储在相应表单中,能帮助外界通过提供关系标识符来确定相关账户。
对于一个建成的普通账户管理系统,添加“关系标识符登记网页”的方法包括三步:
a. 要求客户必须建立账户后才能使用本网页。方法是利用Session等技术检查客户登录情况,在确认客户登录成功后才向客户发送关系标识符登记网页。这项要求的目的是使从关系标识符登记网页提交的关系标识符能够和一个有效的账户标识码对应起来;
b. 一个关系标识符登记网页要有一个地方让用户输入一个关系字符串。在关系标识符登记网页还要提示客户:用可被相关证件证实的信息构成关系字符串是恢复账户的必要条件,其选取的关系字符串不会被账户服务器储存,使客户放心使用个体信息构成关系字符串。当客户输入关系字符串后,由该网页提供的单向散列函数加密程序将关系字符串变成关系标识符,然后再将关系标识符发送到服务器端。作为一迭择项,也可让用户直接输入一个关系标识符,让关系标识符登记网页直接将该关系标识符发送到服务器端,免去用关系标识符登记网页所提供的单向散列函数加工输入值的步骤;
c. 账户服务器检查新关系标识符与已有关系标识符的冲突情况。通过无冲突检查后,将该关系标识符存到相应表单,由该表单保存新关系标识符与当前账户的所属关系。建议该表单用代表本账户的账户标识码作为外关键字(Foreign Key)帮助新关系标识符对应本账户,这样该表单能够保存多个关系标识符与其所属账户的关系。将来附有关系标识符的下载资料要借助该表单找到正确的账户。
对于本发明描述的网站服务器来说,关系标识符和登录名是不同的概念。关系标识符是帮助外方识别账户的一个代码,不需要有登录账户的功能,一个典型的关系标识符应该是由一个较长的,看起来杂乱无章的字符串构成。登录名是帮助账户主人登录账户的明文,能通过登录网页登录相应的账户,不需要有帮助外方识别账户的功能,一个典型的登录名应该是一个便于手工输入的,较短的便于记忆的字符串构成。如果登录名在建立的过程中,遵守了关系字符串的产生条件,则通过单向散列函数将登录名加密产生的登录名密文便具有关系标识符的功能,成为事实上的关系标识符。
在实际应用中“新建账户登记网页”和“关系标识符登记网页”可以分开建立,保持各自的独立性;也可以“合二为一”,建立在同一个网页,从而使登录名的密文和关系标识符变成一体。两种方法各有其特点,下面分别介绍。
分开建立的方法中包括两个网页的建设:“新建账户登记网页”和“关系标识符登记网页”。其中建立新账户登记网页的方法在互联网站行业中是成熟的,众所周知的。关系标识符登记网页已经介绍过了,不再重复。
用“合二为一”方法同时建立登录名和关系标识符的网页是在众所周知的,普通网站新账户登记网页的基础上,增加如下两项内容,使所选取的登录名满足关系字符串的条件,变成能用来生成关系标识符的关系字符串,也称登录名明文。
a. 在新客户登记网页,提示客户按选择关系字符串的条件选取登录名,客户按条件完成登录名和密码的选择后,由该网页提供的单向散列函数加密程序将登录名明文加密成登录名密文,然后再将登录名密文发送到服务器端;
b. 服务器在接受客户的账户申请后,比较新登录名密文和已存储登录名密文的冲突情况。在确认无冲突,即新登录名密文在账户系统中是唯一的条件被满足的情况下,将登录名密文和密码被存到相应表单。其中,存有登录名密文的表单在支持以后客户登录验证的同时,也能够支持来自外方的关系标识符查找工作。因为“合二为一”方法建立的登录名密文满足关系标识符的生成条件,可以作为关系标识符使用。对账户服务器来说,这样得到的登录名密文取代普通账户中所说的登录名,成为验正日后登录要求的依据。
在用“合二为一”方法建立登录名和关系标识符的过程中,网站服务器收到得是登录名密文(关系标识符),所以服务器方面不能检验登录名明文是否由账户主人信息构成。如果客户坚持选用任意明文作登录名,则该账户就蜕变成一个普通账户,需要通过登记别的有效关系标识符来支持外方资料下载时的账户识别工作。允许这种账户状态的存在是有实际意义的。一是让持怀疑态度的客户有一个适应过程;二是绝大多数人都希望有一个短小的账户名,以方便日常登录操作。同样道理,服务器方面也不能检验从“关系标识符登记网页”输入的关系字符串是否由账户主人信息构成。
为了将普通账户改进成能支持外方关系标识符识别工作的账户,可以让用任意明文作登录名的客户在登录账户之后,通过关系标识符登记网页补充再建关系标识符。当然,对按要求用个体信息,通过“合二为一”方法产生用户登录名的客户来说,这一步工作不是必须做的,因为他们的登录名密文,已经是一个有效的关系标识符。因为一个账户拥有多个有效关系标识符会提高该账户与外界交换资料的成功率,所以对“合二为一”方法产生用户登录名的客户提供关系标识符登记网页也是有意义的。
由于登记后的关系标识符能够唯一确定一个账户,账户服务器可以进一步利用一个关系标识符代替用来唯一确定账户的账户标识码。因为账户标识码通常为一个正的整数,容易被黑客猜出,是一个安全隐患。相反,每个有效关系标识符都是一个较长的,看起来无规则可循的字符串,所以不太可能被黑客猜出。这就有效地提高了账户的安全性。
允许多个登录名或关系标识符存在的账户服务器通常应该提供取消多余登录名或关系标识符的服务,以方便用户删除不必要的登录名或关系标识符,提高账户的安全性,拒绝不需要的资料交换要求。取消某登录名或关系标识符的技术众所周知,这里不再重复。
用“合二为一”方法建立的登录名是以其密文形式储存在服务器的中心数据库。这就要求在普通网站的登录过程中增加一道手续,将登录名用单向散列函数加密,转化成登录名密文(关系标识符)。较安全的解决办法是在登录网页中提供单向散列函数加密程序,将客户输入的登录名明文在客户端变成登录名密文后再发送到服务器端。这有利于取得客户信任并避免登录名明文在传输过程中被窃听。
将登录名密文和关系标识符“合二为一”的一个缺点是登录名明文往往过长,不利于日常登录操作。一个解决办法是将cookie技术应用到登录网页中。具体做法是,客户将登录名明文输入登录网页后,由登录网页中的单向散列函数加密,再用登录网页中的cookie技术将登录名密文存储于客户计算机终端,使其在一定的时间范围内有效。 客户在下一次登录时,登录网页中的cookie技术便能够从客户计算机中读出登录名密文。如果客户不再输入登录名明文,登录网页便能够将读出的登录名密文作为关系标识符直接送给服务器,从而在一段时间内,省去客户输入登录名明文的烦恼。因登录名是以密文方式存在客户端,所以登录名明文不会被泄露。
余下的网站建设步骤与普通网站相同,这里不再重复。需要指出的是,在新建账户时要避免要求客户输入可代表其身份的信息,以免造成服务器的中心数据库中储存有过多的个体隐私明文资料,从而使资料和资料主人身份同时被曝光成为可能。对于必须要求客户输入可代表其身份信息的情况,亦应给与客户对敏感信息进行可逆型加密的选择。事实上,如果一个账户服务器不存储用户个体信息,并用本发明所述的方法登录、识别账户和恢复账户所有权,则该账户服务器系统就是一个匿名账户管理系统,实现了账户的匿名管理。
支持由本发明所述方法创建及管理账户的账户服务器可以方使地与外界交换资料。具体做法与普通数据的交换过程类似,所不同的地方是要求外方在属于每一账户的资料中放置至少一个关系标识符。账户服务器将利用所提供的关系标识符确定资料的所属账户。因为外方下载资料到账户服务器的过程可以是一个自动的过程,在实践中往往还需要有一个账户主人的检查确认步骤。也就是说,账户主人是否认可或接受这份下载资料。一个解决办法是在服务器端的中心数据库中对每一份病历资料増加一个状态属性(Attribute),以标明该下载资料是否已被账户主人接纳。另一个方法是先将下载资料存到临时表单中,在账户主人认可该数据后再作为正式数据存在该账户名下。这两种做法都需要设立一个审查自动下载资料的网页,使客户在登录后,进入该网页对新下载的资料能进行接纳、拒绝或删除等操作。为了进行数据交换,服务器和外方之间还要建立相互交换数据的硬件软件能力。在这方面的办法很多,是行业中熟知的技术,包括网络服务介面(Web Service) 和XML 技术等,这里不再重复。在交换数据格式的定义方面,与本发明有关的部分是要定义标签或特性来存放外方随同数据一起传来的关系标识符或关系字符串,这样账户服务器能方便地分离出关系标识符或关系字符串,完成账户的识别工作。
为了保持下载资料的客观性,下载资料一般不应让客户有修改的权利。
账户的识别
一般有三种情况需要识别一个账户。一是用户需要登录一个账户,二是第三方,也就是外方,需要与账户服务器交换数据,三是账户主人忘记了登录名或密码,需要恢复对账户的所有权。作为第一种情况,用户仍然利用登录名及密码登录。这里可以按本发明改进的地方是要求用户根据构成一个关系字符串的要求利用可被相关证件证实的信息来选取登录名。该登录名经登录网页加密后成为登录名密文后传给账户服务器作登录验证处理。
对于第二种情况,多用于解决第三方资料下载后的账户归属问题,例如医院方面要将病人的电子病历传送到病人的匿名账户中。该方法的根据是关系标识符的值域是一个极大的范围,其中有效的关系标识符只占其中极微小的部分。用猜或者暴力碰撞的办法产生一个有效关系标识符几乎是不可能的。所以当账户服务器收到一组包含有效关系标识符的数据时,账户服务器有理由相信,这组数据应该属于与有效关系标识符相对应的账户。下面以私人健康医疗档案的病历下载为例,具体说明。
医院用其现有的病人相关信息构成至少一个关系字符串。因为医院和私人健康医疗档案网站之间的资料交换是经常性的工作,所以医院通常能够知道私人健康医疗档案网站支持怎样的关系字符串构成格式。如果医院不知道私人健康医疗档案网站支持怎样的关系字符串格式,医院可以组成几组关系字符串以增加成功的机会。接下来,医院利用与相关账户服务器同样的单向散列函数逐个加密产生关系标识符。
在医院向相关账户服务器传输资料时,要保证属于同一账户的资料中至少含有一个关系标识符。目前流行的数据格式是XML格式,一个可行的方案是将关系标识符单独放置,以利账户服务器端分离关系标识符。
账户服务器在下载资料中读出关系标识符后,要在中心数据库表单中寻找相对应的账户。如寻找成功,则认为所传数据属于该关系标识符相对应的账户,从而完成账户的识别工作。
在传输安全有保障的情况下,资料提供方也可直接将关系字符串传给账户服务器,由账户服务器完成从关系字符串到关系标识符的转换工作。因为关系标识符有很好的安全性,不能被反演生成关系字符串,所以需要和服务器交换数据的外方可以在一定的时间范围内,保存关系标识符,使与服务器之间交换数据更方便。
在账户主人要求恢复账户所有权时,账户主人要用可被相关证件证实的信息按一定顺序组成关系字符串,并将该关系字符串和相关证件交给账户服务器方面,使账户服务器一方有机会验证关系字符串所含信息确实与相关证件信息一致。这种方法的前提是该账户主人在建立账户时遵守了相关规定,选取的关系字符串是由有实际明文意义的字符串组成,而且这个有实际明文意义的字符串是可以通过适当手段被证明是由与账户主人的相关信息按一定顺序组成。否则,账户主人便不能证明所提交的关系字符串为其所有,账户服务器方面也就不能为其恢复账户所有权。
对于第三种情况,也就是账户主人忘记了登录名或密码,需要恢复对账户所有权的情况,在下面的账户恢复部分还有详细介绍。
账户的恢复方法
目前,网络账户中被用来做登录名或账户密码恢复工作的常用信息包括客户的电子信箱地址、姓名住址、证件传真及一些特设问题的个性化答案。但是,一般客户不愿将上述隐私信息以明文方式存在账户服务器中。为了克服这一问题,一个简单的办法是让客户将这些隐私资料用可逆型加密技术,如AES技术,经私钥加密后预先存在账户服务器中,当客户需要账户服务器认证客户身份时,将私钥交给账户服务器,使账户服务器暂时拥有足够的隐私资料来用常规方法认证客户。客户在恢复账户所有权后可选择新密码或登录名,并用新私钥重新加密隐私资料。
上述方法的不足是客户必须能够记住用于加密及解密技术的私钥。本发明介绍的方法,通过客户、账户服务器双方配合,避免了要求客户必须记住某种私钥或密码的要求。下面以个人健康医疗档案网站的账户恢复问题,具体通过以下三步说明:
客户主人用可被相关证件证实的相关信息按一定顺序组成关系字符串,然后向账户服务器提供客户主人相关证件和关系字符串。账户服务器通过提交的证件验证关系字符串所用的信息确实属于客户主人。如果需要防止第三方冒用账户主人的证件取得账户权,账户服务器还应进一步确认证件是按其主人的意愿提交。一个可行的办法是要求客户主人提供一份公证过的恢复账户请求书。因为关系字符串由常用的个体信息构成,很难被遗忘,所以客户主人一般能够提供关系字符串。这里可能出现的问题是记不清哪组个体信息被该账户所用,一个解决办法是允许客户提交多个关系字符串,只要一个关系字符串所用的信息与客户提供的相关证件信息一致,该关系字符串就是可以被接受的。
由账户服务器端将客户提交的有限个关系字符串经单向散列函数加密生成关系标识符,并在账户服务器中心数据库中所保存的关系标识符表单中寻找。如果某关系标识符能够与在账户服务器所保存的某关系标识符相对应,则该关系标识符所对应的账户,是被要求的账户。
在上述关系字符串能够通过证件的有效验证和账户服务器能够找到被要求账户的条件下,认定外方是被要求账户的主人,恢复外方对该账户的所有权,包括登录名或账户密码的恢复等。如果登录名或账户密码是以密文形式储存在账户服务器中,则登录名或账户密码的恢复权利还应包括给予账户主人重新建立登录名或账户密码的权利。具体方法为行业共知,这里不再重复。
本文所介绍的账户恢复方法能够直接用于匿名账户的管理过程中,因为在整个账户识别和恢复过程中,账户服务器端不需要明文保存客户的敏感信息。如果客户能够做到不丢所用关系字符串、登录名和密码,则账户服务器端根本不需要接触任何明文的敏感信息就可以为客户提供匿名的登录及数据交换服务。
Claims (12)
1.一种隐性保存一组数据之间关系的方法,其特征是:
a. 利用该组数据构成一个包含每项数据贡献的关系字符串;
b. 用单向散列函数将关系字符串加密产生相应的关系标识符;
c. 通过保存相应的关系标识符来隐性保存该组数据之间的关系。
2.根据权利要求1所述的方法,其特征在于一组数据中包含账户登录名和账户密码。
3.一种验证一组数据之间是否存在一种被隐性保存的关系的方法,其特征是:
a. 利用被验证组数据构成一个包含每项数据之贡献的新关系字符串;
b. 用单向散列函数将新关系字符串加密产生相应的新关系标识符;
c. 在已保存的关系标识符中寻找和新关系标识符相同的关系标识符,如果这个样的关系标识符能够被找到,则由该关系标识符所隐形保存的关系也存在于被验证组数据之间。
4.一种建立账户关系标识符的方法,其特征是:
a. 在建立账户的过程中,选取至少一个在整个账户系统中唯一的,包含账户主人身份信息的关系字符串;
b. 用单向散列函数将至少一个关系字符串加密产生相应的关系标识符;
c. 账户服务器数据库对每一个账户保存至少一个关系标识符及相应账户的所属关系。
5.根据权利要求4所述的方法,其特征在于所选取的关系字符串通过单向散列函数加密后生成的关系标识符在整个账户系统中保持唯一性。
6.根据权利要求4所述的方法,其特征在于选取的关系字符串是由有实际明文意义的字符串组成。
7.根据权利要求4所述的方法,其特征在于用单向散列函数将关系字符串加密的过程发生在用户端。
8.根据权利要求4所述的方法,其特征是,在账户服务器数据库中,账户的关系标识符同时也是登录名密文。
9.根据权利要求4所述的方法,其特征是,在账户服务器数据库中,账户的关系标识符同时也是账户标识码。
10.一种通过提交关系标识符识别账户的方法,其特征是:
a. 需要识别账户的外方以其现有的账户资料构成至少一个关系字符串;
b. 需要识别账户的外方用单向散列函数将至少一个关系字符串加密产生关系标识符;
c. 需要识别账户的外方与相关账户服务器交换资料时,在属于同一账户的资料中放置至少一个关系标识符;
d. 账户服务器用外方提供的关系标识符在账户服务器数据库中保存的关系标识符中寻找相对应的关系标识符,如果相对应的关系标识符能被找到,则该关系标识符所对应的账户是外方要寻找的账户。
11.一种通过提交关系字符串识别账户的方法,其特征是:
a. 需要识别账户的外方以其现有的账户资料构成至少一个关系字符串;
b. 需要识别账户的外方与相关账户服务器交换资料时,在属于同一账户的资料中放置至少一个关系字符串;
c. 账户服务器将得到的关系字符串通过单向散列函数加密产生相应的关系标识符;
d. 账户服务器用新产生的关系标识符在账户服务器数据库中保存的关系标识符中寻找相对应的关系标识符,如果相对应的关系标识符能被找到,则该关系标识符所对应的账户是外方要寻找的账户。
12.一种恢复账户的方法:
a. 要求恢复账户的外方以其可被相关证件证实的相关信息构成关系字符串,并将该关系字符串和相关证件提交账户服务器端;
b. 账户服务器端确认关系字符串所含信息确实与相关证件信息一致;
c. 账户服务器将客户提交的关系字符串经单向散列函数加密生成新关系标识符,并在账户服务器数据库中保存的关系标识符中寻找相对应的关系标识符,如果相对应的关系标识符能被找到,则该关系标识符所对应的账户是外方要寻找的账户;
d. 在上述两条件(12.b和12.c)同时被满足的情况下,认定外方是被找到账户的主人,恢复外方对该账户的所有权。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/567,066 | 2009-09-25 | ||
US12/567,066 US20110078779A1 (en) | 2009-09-25 | 2009-09-25 | Anonymous Preservation of a Relationship and Its Application in Account System Management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102509030A true CN102509030A (zh) | 2012-06-20 |
Family
ID=43781818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102828954A Pending CN102509030A (zh) | 2009-09-25 | 2010-09-16 | 一种利用单散函数隐性保存数据关系和识别账户的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110078779A1 (zh) |
CN (1) | CN102509030A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103975333A (zh) * | 2011-12-01 | 2014-08-06 | 国际商业机器公司 | 跨系统安全登录 |
CN104899519A (zh) * | 2015-05-13 | 2015-09-09 | 上海凭安企业信用征信有限公司 | 一种基于虚拟id的保护隐私征信方法 |
CN105637837A (zh) * | 2013-04-30 | 2016-06-01 | Sca卫生用品公司 | 数据捕捉和管理系统 |
CN107958142A (zh) * | 2016-10-17 | 2018-04-24 | 财付通支付科技有限公司 | 用户帐号生成方法及装置 |
CN108140183A (zh) * | 2015-08-20 | 2018-06-08 | 万事达卡国际股份有限公司 | 卡连续性系统和方法 |
CN108664798A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 信息加密方法和装置 |
CN108985765A (zh) * | 2018-08-13 | 2018-12-11 | 中国联合网络通信集团有限公司 | 企业用户信息处理方法、设备及存储介质 |
CN112637247A (zh) * | 2021-02-03 | 2021-04-09 | 三和智控(北京)系统集成有限公司 | 一种构建匿名式实名注册装置的方法及装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652769B1 (en) | 2010-11-30 | 2017-05-16 | Carbonite, Inc. | Methods, apparatus and systems for securely storing and/or accessing payment information or other sensitive information based on tokens |
JP5742630B2 (ja) * | 2011-09-28 | 2015-07-01 | 富士通株式会社 | 情報処理方法及び装置 |
KR101575282B1 (ko) * | 2011-11-28 | 2015-12-09 | 한국전자통신연구원 | 보안관리 도메인들 간에 익명 식별자 기반의 보안정보를 공유하기 위한 에이전트 장치 및 방법 |
US9202086B1 (en) * | 2012-03-30 | 2015-12-01 | Protegrity Corporation | Tokenization in a centralized tokenization environment |
US20130325805A1 (en) * | 2012-06-02 | 2013-12-05 | Dmitriy Tochilnik | System and method for tagging and securely archiving patient radiological information |
US8875247B2 (en) * | 2013-03-14 | 2014-10-28 | Facebook, Inc. | Instant personalization security |
US11410173B1 (en) * | 2013-05-07 | 2022-08-09 | Amazon Technologies, Inc. | Tokenization web services |
US8867743B1 (en) * | 2013-11-13 | 2014-10-21 | MGM Resorts International | Encryption of large amounts of data using secure encryption methods |
US9600643B2 (en) * | 2014-02-06 | 2017-03-21 | Red Hat, Inc. | Single login multiplexing |
EP2908466B1 (en) * | 2014-02-12 | 2018-07-25 | Regify S.A. | Network system for retrieval of configuration related data |
EP3018611B1 (en) * | 2014-11-06 | 2020-12-30 | Frédérique Constant S.A. | Method for anonymous registration of private data |
US20180004977A1 (en) * | 2015-01-19 | 2018-01-04 | Sony Corporation | Information processing apparatus, method, and program |
JP6528536B2 (ja) * | 2015-05-18 | 2019-06-12 | 株式会社リコー | 情報処理装置、プログラムおよび情報処理システム |
US10362007B2 (en) * | 2015-11-12 | 2019-07-23 | Facebook, Inc. | Systems and methods for user account recovery |
US9876783B2 (en) * | 2015-12-22 | 2018-01-23 | International Business Machines Corporation | Distributed password verification |
US11521185B1 (en) * | 2016-05-19 | 2022-12-06 | Citibank, N.A. | Distributed private ledger systems and methods |
US11227001B2 (en) * | 2017-01-31 | 2022-01-18 | Experian Information Solutions, Inc. | Massive scale heterogeneous data ingestion and user resolution |
DE102017111482A1 (de) * | 2017-05-24 | 2018-11-29 | Bundesdruckerei Gmbh | Vorrichtung und verfahren zum verifizieren einer identität einer person |
US11093591B1 (en) * | 2018-02-21 | 2021-08-17 | Wells Fargo Bank, N.A. | Identity verification |
US20220215126A1 (en) * | 2019-04-03 | 2022-07-07 | Khalifa University of Science and Technology | Distance preserving hash method |
CN111476571B (zh) * | 2020-04-02 | 2023-09-15 | 百度国际科技(深圳)有限公司 | 基于区块链的资产处理方法、装置、设备和存储介质 |
US11809493B2 (en) * | 2021-01-19 | 2023-11-07 | Micro Focus Llc | System and method for tokenization of data |
US20220284527A1 (en) * | 2021-03-04 | 2022-09-08 | Cheri Williams-Franklin | Asset Documentation and Notification System |
CN113283869B (zh) * | 2021-05-31 | 2023-06-30 | 长春工程学院 | 一种基于匿名策略的考核方法及系统 |
GB202205929D0 (en) | 2022-04-22 | 2022-06-08 | Nicoventures Trading Ltd | Processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283827A (zh) * | 2000-08-18 | 2001-02-14 | 郝孟一 | 通用电子信息网络认证系统及方法 |
US20040153646A1 (en) * | 2003-01-30 | 2004-08-05 | Smith Ned M. | Distributed control of integrity measurement using a trusted fixed token |
CN1588853A (zh) * | 2004-07-13 | 2005-03-02 | 中国工商银行 | 一种基于网络的统一认证方法及系统 |
CN101110728A (zh) * | 2007-08-23 | 2008-01-23 | 李钊轶 | Rfid产权证安全验证系统和验证方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230272B1 (en) * | 1997-10-14 | 2001-05-08 | Entrust Technologies Limited | System and method for protecting a multipurpose data string used for both decrypting data and for authenticating a user |
US6826686B1 (en) * | 2000-04-14 | 2004-11-30 | International Business Machines Corporation | Method and apparatus for secure password transmission and password changes |
US6865577B1 (en) * | 2000-11-06 | 2005-03-08 | At&T Corp. | Method and system for efficiently retrieving information from a database |
US20040034801A1 (en) * | 2001-02-15 | 2004-02-19 | Denny Jaeger | Method for creating and using computer passwords |
US7529944B2 (en) * | 2002-02-07 | 2009-05-05 | Activcard Ireland Limited | Support for multiple login method |
US7545931B2 (en) * | 2002-04-12 | 2009-06-09 | Microsoft Corporation | Protection of application secrets |
FR2842059B1 (fr) * | 2002-07-04 | 2004-12-24 | Cit Alcatel | Procede de verouillage d'un terminal mobile de telecommunication |
US7613796B2 (en) * | 2002-09-11 | 2009-11-03 | Microsoft Corporation | System and method for creating improved overlay network with an efficient distributed data structure |
US7606788B2 (en) * | 2003-08-22 | 2009-10-20 | Oracle International Corporation | Method and apparatus for protecting private information within a database |
WO2006039404A2 (en) * | 2004-10-01 | 2006-04-13 | Harold Brem | Wound electronic medical record system |
US20060218013A1 (en) * | 2005-03-24 | 2006-09-28 | Nahra John S | Electronic directory of health care information |
CA2606822C (en) * | 2005-05-04 | 2012-07-10 | Board Of Regents, The University Of Texas System | System, method and program product for delivering medical services from a remote location |
US20070083531A1 (en) * | 2005-10-12 | 2007-04-12 | Daniar Hussain | Data storage method and apparatus utilizing evolution and hashing |
US20070094390A1 (en) * | 2005-10-23 | 2007-04-26 | Bill Nussey | Delivery of sensitive information through secure rss feed |
ATE510396T1 (de) * | 2006-02-01 | 2011-06-15 | Research In Motion Ltd | System und methode für die validierung eines benutzerkontos mit einer drahtlosen vorrichtung |
US20070198277A1 (en) * | 2006-02-01 | 2007-08-23 | Wow! Technologies, Inc. | Single identifier transformation system and method |
US20070203827A1 (en) * | 2006-02-27 | 2007-08-30 | Sheshunoff Management Services, Lp | Method for enhancing revenue and minimizing charge-off loss for financial institutions |
CN100556042C (zh) * | 2006-03-10 | 2009-10-28 | 腾讯科技(深圳)有限公司 | 一种基于即时通信的帐号安全管理系统及方法 |
US8032545B2 (en) * | 2006-06-14 | 2011-10-04 | General Electric Company | Systems and methods for refining identification of clinical study candidates |
GB2446199A (en) * | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
US8924295B2 (en) * | 2007-01-03 | 2014-12-30 | At&T Intellectual Property I, L.P. | User terminal location based credit card authorization servers, systems, methods and computer program products |
WO2008099739A1 (ja) * | 2007-02-06 | 2008-08-21 | Nec Corporation | 個人情報の改ざん防止と個人情報流通否認防止のための個人情報管理装置、サービス提供装置、プログラム、個人情報管理方法、照合方法、および個人情報照合システム |
US7739169B2 (en) * | 2007-06-25 | 2010-06-15 | Visa U.S.A. Inc. | Restricting access to compromised account information |
US8037050B2 (en) * | 2008-08-02 | 2011-10-11 | Knowledge Computing Corporation | Methods and apparatus for performing multi-data-source, non-ETL queries and entity resolution |
US8332654B2 (en) * | 2008-12-08 | 2012-12-11 | Oracle International Corporation | Secure framework for invoking server-side APIs using AJAX |
US8649509B2 (en) * | 2008-12-18 | 2014-02-11 | At&T Intellectual Property I, L.P. | Systems and computer program products for generating and verifying randomized hash values |
JP5360192B2 (ja) * | 2009-03-13 | 2013-12-04 | 富士通株式会社 | 個人認証システムおよび個人認証方法 |
-
2009
- 2009-09-25 US US12/567,066 patent/US20110078779A1/en not_active Abandoned
-
2010
- 2010-09-16 CN CN2010102828954A patent/CN102509030A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283827A (zh) * | 2000-08-18 | 2001-02-14 | 郝孟一 | 通用电子信息网络认证系统及方法 |
US20040153646A1 (en) * | 2003-01-30 | 2004-08-05 | Smith Ned M. | Distributed control of integrity measurement using a trusted fixed token |
CN1588853A (zh) * | 2004-07-13 | 2005-03-02 | 中国工商银行 | 一种基于网络的统一认证方法及系统 |
CN101110728A (zh) * | 2007-08-23 | 2008-01-23 | 李钊轶 | Rfid产权证安全验证系统和验证方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103975333B (zh) * | 2011-12-01 | 2016-10-12 | 国际商业机器公司 | 跨系统安全登录 |
CN103975333A (zh) * | 2011-12-01 | 2014-08-06 | 国际商业机器公司 | 跨系统安全登录 |
CN105637837B (zh) * | 2013-04-30 | 2020-12-15 | 易希提卫生与保健公司 | 数据捕捉和管理系统 |
CN105637837A (zh) * | 2013-04-30 | 2016-06-01 | Sca卫生用品公司 | 数据捕捉和管理系统 |
US10425301B2 (en) | 2013-04-30 | 2019-09-24 | Essity Hygiene And Health Aktiebolag | Data capture and management system |
CN104899519A (zh) * | 2015-05-13 | 2015-09-09 | 上海凭安企业信用征信有限公司 | 一种基于虚拟id的保护隐私征信方法 |
CN108140183A (zh) * | 2015-08-20 | 2018-06-08 | 万事达卡国际股份有限公司 | 卡连续性系统和方法 |
CN107958142A (zh) * | 2016-10-17 | 2018-04-24 | 财付通支付科技有限公司 | 用户帐号生成方法及装置 |
CN108664798A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 信息加密方法和装置 |
CN108664798B (zh) * | 2017-03-31 | 2021-06-29 | 北京京东尚科信息技术有限公司 | 信息加密方法和装置 |
US11194917B2 (en) | 2017-03-31 | 2021-12-07 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Information encryption method and device |
CN108985765A (zh) * | 2018-08-13 | 2018-12-11 | 中国联合网络通信集团有限公司 | 企业用户信息处理方法、设备及存储介质 |
CN112637247A (zh) * | 2021-02-03 | 2021-04-09 | 三和智控(北京)系统集成有限公司 | 一种构建匿名式实名注册装置的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110078779A1 (en) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102509030A (zh) | 一种利用单散函数隐性保存数据关系和识别账户的方法 | |
CA3013603C (en) | Dynamically managing exchanges of data using a distributed ledger and homomorphic commitments | |
US10419416B2 (en) | Encryption and decryption techniques using shuffle function | |
US10728038B2 (en) | Multiple secrets in quorum based data processing | |
TWI725124B (zh) | 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰 | |
CN110011781B (zh) | 用于交易金额加密且支持零知识证明的同态加密方法和介质 | |
CN106534092B (zh) | 基于消息依赖于密钥的隐私数据加密方法 | |
CN103636160B (zh) | 安全文件共享方法与系统 | |
KR100960578B1 (ko) | 식별자 기반 키 생성 방법 및 장치 | |
CN108737374A (zh) | 一种区块链中数据存储的隐私保护方法 | |
CN105827395A (zh) | 一种网络用户认证方法 | |
CN114640444B (zh) | 基于国产密码算法的隐私保护集合交集获取方法及装置 | |
CN108632385B (zh) | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 | |
CN104901804A (zh) | 一种基于用户自主的标识认证实现方法 | |
KR102465467B1 (ko) | Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템 | |
CN109691010A (zh) | 用于数据传输的系统和方法 | |
CN111062052A (zh) | 一种数据查询的方法和系统 | |
Conley | Encryption, Hashing, PPK, and Blockchain: A Simple Introduction | |
CN107360252A (zh) | 一种异构云域授权的数据安全访问方法 | |
CN106899937A (zh) | 隐私保护的安全位置服务范围查询外包方法 | |
US20220292622A1 (en) | Anonymous crime reporting and escrow system with hashed perpetrator matching | |
WO2022137668A1 (ja) | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 | |
Ray et al. | Design of an efficient mobile health system for achieving HIPAA privacy-security regulations | |
CN110706100B (zh) | 一种保障隐私同时公开透明的区块链认证方法 | |
CN111008236B (zh) | 一种数据查询的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120620 |