一种云计算平台的用户密码管理方法与流程

文档序号:16702909发布日期:2019-01-22 21:50阅读:262来源:国知局
一种云计算平台的用户密码管理方法与流程
本发明涉及计算机领域,具体说涉及一种云计算平台的用户密码管理方法。
背景技术
:云计算是一种新兴的共享基础架构的方法,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。云计算的底层需要虚拟化技术支持。通过虚拟化技术,云计算可以实现对资源的灵活以及高效的使用,从而为用户提供优质的服务。用户密码管理对于云计算平台的安全性至关重要。目前,绝大多数的云计算平台的用户密码管理为明文存储。然而如果用户密码明文存储容易被破解,将会给云计算平台带来安全问题。因此,为了提高云计算平台安全性,需要一种云计算平台的用户密码管理方法。技术实现要素:为了提高云计算平台安全性,本发明提供了一种云计算平台的用户密码管理方法,所述方法包含以下步骤:针对用户设置并保存相应的密码配置信息,所述密码配置信息包含密码加密算法;获取明文密码;读取所述密码配置信息中的所述密码加密算法;使用所述密码加密算法对所述明文密码进行加密以生成相应的密文密码;将所述密码加密算法和所述密文密码合并为密码加密结果;保存所述密码加密结果,不保存所述明文密码。在一实施例中,在用户进行登录时:从所述用户处获取用户名和登录密码;获取与所述用户名对应的所述密码加密结果;根据所述密码加密结果中的所述密码加密算法以及所述登录密码生成新密文密码;验证所述密文密码与所述新密文密码是否一致,当所述密文密码与所述新密文密码一致时登录成功。在一实施例中,构造与所述用户名匹配的密码配置信息表以及用户信息表,其中:将所述密码配置信息存入所述密码配置信息表中;在对所述密码异或处理结果进行加密时从所述密码配置信息表中读取所述密码加密算法;将所述密码加密结果存入所述用户信息表中。在一实施例中,已存在的用户的密码配置信息可以被修改,其中,当所述密码配置信息中的所述密码加密算法被更改时,相应的用户在接下来的首次登录时,需要修改自己的密码。在一实施例中,在修改已存在的用户的密码配置信息时仅修改所述密码配置信息表中的内容,在用户进行登录时:验证所述用户信息表与所述密码配置信息表中的所述密码加密算法是否一致;当所述用户信息表与所述密码配置信息表中的所述密码加密算法不一致时提示用户修改密码。在一实施例中,设置对应密码重置的默认密码加密算法,在重置用户密码时仅针对所述用户信息表中的密码加密结果进行修改,其中,将所述密码加密结果中的密码加密算法标记为重置状态,在用户进行登录时:从所述用户处获取用户名和登录密码;从与所述用户名对应的用户信息表中读取所述密码加密结果;验证所述密码加密结果中的密码加密算法是否为重置状态;当所述密码加密结果中的密码加密算法为重置状态时根据所述默认密码加密算法以及从所述用户处获取的密码生成新密文密码;验证所述密文密码与所述新密文密码是否一致,当所述密文密码与所述新密文密码一致时登录成功。在一实施例中,构造多个不同的算法标识以及一个重置标识,其中:每个所述算法标识对应一种所述密码加密算法;所述重置标识对应所述重置状态;在所述密码配置信息表和所述用户信息表中仅保存所述密码加密算法对应的所述算法标识;在重置密码时使用所述重置标识替换所述用户信息表中存储的所述算法标识。在一实施例中,所述密码配置信息还包括是否启用密码复杂度检查以及密码复杂度检测依据,其中,在获取所述明文密码时检验所述密码配置信息中的是否启用密码复杂度检查,当需要启用密码复杂度检查时根据所述密码复杂度检测依据对所述明文密码进行检验。在一实施例中,所述密码复杂度检测依据包括密码最小长度、密码是否包含字母和密码是否包含数字。在一实施例中,使用所述密码加密算法对所述明文密码进行加密以生成相应的密文密码,其中:生成一串随机的盐值;将所述明文密码与所述盐值进行异或处理以获取密码异或处理结果;使用所述密码加密算法对所述密码异或处理结果进行加密以生成所述密文密码;将所述密码加密算法、所述密文密码以及所述盐值合并为所述密码加密结果。与现有技术相比,根据本发明的方法避免了用户密码的明文保存,从而大大提高了用户密码保存的安全程度,进而提高了云计算平台的整体安全程度。本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:图1是根据本发明一实施例密码保存流程图;图2是根据本发明一实施例添加新用户流程图;图3是根据本发明一实施例添加编辑用户密码配置流程图;图4是根据本发明一实施例管理员重置密码流程图;图5是根据本发明一实施例用户登录流程图;图6是根据本发明一实施例用户修改密码流程图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。为了提高云计算平台安全性,本发明提供了一种云计算平台的用户密码管理方法,本发明的方法的主要流程是:针对用户设置并保存相应的密码配置信息,密码配置信息包含密码加密算法(在本发明的一实施例中,密码的加密算法可以选择md5、sha256和sha512中的一种);获取明文密码;读取密码配置信息中的密码加密算法;使用密码加密算法对明文密码进行加密以生成相应的密文密码;将密码加密算法和密文密码合并为密码加密结果;保存密码加密结果,不保存明文密码。基于上述方法,在用户登录时:从用户处获取用户名和登录密码;获取与用户名对应的密码加密结果;根据密码加密结果中的密码加密算法以及登录密码生成新密文密码;验证密文密码与新密文密码是否一致,当密文密码与新密文密码一致时登录成功。在上述过程中,明文密码并不需要保存在云平台,从而大大的提高了密码保存的安全性。进一步的,为了防止密码字典的攻击,在根据本发明的另一实施例中,使用密码加密算法对明文密码进行加密以生成相应的密文密码,其中:在对用户的明文密码进行加密之前,系统先生成一串随机的盐值;将明文密码与盐值进行异或(XOR)处理以获取密码异或处理结果;使用密码加密算法对密码异或处理结果进行加密以生成密文密码;将密码加密算法、密文密码以及盐值合并为密码加密结果。在用户进行登录时:从用户处获取用户名和登录密码;获取与用户名对应的密码加密结果;根据密码加密结果中的密码加密算法、盐值以及登录密码生成新密文密码;验证密文密码与新密文密码是否一致,当密文密码与新密文密码一致时登录成功。由于加入了盐值,这样使得密码保存的安全度进一步提高。当然,在本发明其他实施例中,也可应根据具体需要采用其他的加密方式对密码明文进行加密以生成密文密码。进一步的,在本发明一实施例中,密码配置信息还包括是否启用密码复杂度检查以及密码复杂度检测依据,其中,在获取明文密码时检验密码配置信息中的是否启用密码复杂度检查,当需要启用密码复杂度检查时根据密码复杂度检测依据对所述明文密码进行检验。具体的,密码复杂度检测依据包括密码最小长度、密码是否包含字母和密码是否包含数字。在本发明的方法中,需要保存的数据包括密码信息配置以及密码加密结果。为了便于进行密码管理,在本发明的一实施例中,采用了分别保存的方法。具体的,构造与用户名匹配的密码配置信息表以及用户信息表(数据库中设置两张表用来存储密码信息)。进一步的,构造多个不同的算法标识,其中:每个算法标识对应一种密码加密算法;在密码配置信息表中仅保存密码加密算法对应的算法标识。密码配置信息表用于存储密码信息配置,其设计如表1所示:字段类型描述idint(主键)Id标识,自增长notnulluidint(外键)用户的ID标识notnull,uniqueciphersmallint加密算法标识:1-md5、2-sha256、3-sha512enable_checksmallint是否进行复杂度检查:0-否、1-是lengthsmallint密码的最小长度hasphasmallint密码中是否必须包含字母:0-否、1-是hasnumsmallint密码中是否必须包含数字:0-否、1-是表1用户信息表用于存储密码加密结果(使用其中的一个字段存储密文密码内容),存储格式如下:$算法标识$盐值$密文密码。接下来基于流程图描述根据本发明一实施例保存密码信息的过程。本实施例以及之后实施例的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在保存密码之前,首先设定好密码配置信息,将密码配置信息存入密码配置信息表中。如图1所示,需要保存密码时,系统首先读取(获取)明文密码(步骤S112)并生成一串随机的盐值(步骤S120)。然后将明文密码与随机盐值进行异或(XOR)处理(步骤S130)。再然后从密码配置信息表中读取密码加密算法(步骤S111)。接着使用读取的加密算法对XOR处理的结果进行加密以生成密文密码(步骤S140)。最后将密码加密结果存入用户信息表中,将加密算法、盐值和密文密码一并存入数据库的用户信息表中(步骤S150)。这里需要注意的是,步骤S111只需在步骤S140之前执行即可,其可以在步骤S112之前/之后/同时执行,也可以在步骤S130之前/之后/同时执行。本发明的用户密码管理方法还包括管理员添加用户、管理员修改其他用户的密码配置信息、管理员重置其他用户的密码、用户登录和用户修改自己密码等功能。上述步骤可以在任何需要保存密码的情况下执行。(一)添加用户管理员添加用户时,需要设置该用户的密码、确认密码、密码加密算法、是否启用密码复杂度检查和密码复杂度检测依据等信息。首先,需要保证所设置的密码和确认密码一致,其次,如果启动密码复杂度检查,则所设置的密码需要满足密码复杂度检测依据。最后,生成密文密码,将各配置信息包括密文密码存储于数据库中。接下来基于流程图描述根据本发明一实施例在一具体应用环境中添加新用户的流程。如图2所示。管理员登录WEB管理平台后,进入用户管理界面,点击添加用户按钮(步骤S20)。在添加用户对话框中,设置该用户的密码、确认密码、密码加密算法、是否启用密码复杂度检查和密码复杂度检测依据等信息(步骤S21),点击“确定”按钮(步骤S22)。系统对于密码的操作分四步。第一步,判断确认密码与新密码是否一致(步骤S23),如果一致,进行第二步(步骤S24),如果不一致,则设置密码失败(步骤S28),结束添加用户操作。第二步(步骤S24),判断该用户启用密码复杂度检查,如果启用了,则进行第三步(步骤S25);否则直接进行第四步。第三步(步骤S25),判断密码是否符合密码复杂度检测依据,如果符合,则进行第四步;如果不符合,则设置密码失败(步骤S28),结束添加用户操作。第四步(步骤S26),生成密文密码,生成密文密码的方法流程见附图1。最后,将各配置信息包括密文密码存储于数据库中(步骤S27),结束添加用户操作。(二)修改密码配置信息根据本发明一实施例的方法,已存在的用户的密码配置信息可以被修改,其中,当密码配置信息中的所述密码加密算法被更改时,相应的用户在接下来的首次登录时,需要修改自己的密码。即管理员修改其他用户的密码配置信息时,可以修改密码加密算法、是否启用密码复杂度检查以及密码复杂度检测依据。如果修改了密码加密算法,则当被操作用户首次登录管理平台时,需要修改自己的密码,系统使用管理员设置的新加密算法进行密码加密。在一具体应用环境中,管理员修改其他用户密码配置信息的流程如图3所示。管理员点击某个用户的“编辑密码信息”按钮(步骤S31),系统弹出用户密码信息编辑对话框,选择加密算法,选择是否启用密码复杂度检查以及密码复杂度检测依据(步骤S32),点击确定按钮(步骤S33)。系统将新的密码配置信息写入数据库的密码配置信息表中(步骤S34)。如果管理员修改了用户密码加密算法,当被操作用户登录管理平台时,系统提示用户修改密码,只有修改了用户自己的密码后,才能登录。用户修改的密码使用密码复杂度检测依据和新的密码加密算法进行检查和加密。为实现上述流程,在修改已存在的用户的密码配置信息时仅修改密码配置信息表中的内容,在用户进行登录时:验证用户信息表与密码配置信息表中的密码加密算法是否一致;当用户信息表与密码配置信息表中的密码加密算法不一致时提示用户修改密码。(三)重置密码在本发明一实施例中,管理员重置其他用户密码时首先设置对应密码重置的默认密码加密算法以及重置状态标识,在重置用户密码时仅针对用户信息表中的密码加密结果进行修改,其中,将密码加密结果中的密码加密算法标记为重置状态。具体的,构造多个不同的算法标识以及一个重置标识,其中:每个算法标识对应一种所述密码加密算法;重置标识对应所述重置状态;在密码配置信息表和用户信息表中仅保存密码加密算法对应的算法标识;在重置密码时使用重置标识替换用户信息表中存储的算法标识。在表1所示的实施例中,将重置状态标识设置为0,即加密算法标识为0时表示重置状态。加密结果存储格式为:$0$盐值$密文密码。管理员重置其他用户密码时,需要设置密码和确认密码,密码和确认密码需要保持一致。如果该用户启动了密码复杂度检查,则被该用户设置的密码需要满足密码复杂度检测依据。当管理员重置了其他用户密码时,数据库中对应用户密码内容的加密算法标识设置为0,以说明该用户的密码被管理员重置过。在用户进行登录时:从用户处获取用户名和登录密码;从用户名对应的用户信息表中读取密码加密结果;验证密码加密结果中的密码加密算法是否为重置状态(验证加密算法标识是否为0);当密码加密结果中的密码加密算法为重置状态(验证加密算法标识为0)时根据默认密码加密算法以及从用户处获取的密码生成新密文密码;验证密文密码与新密文密码是否一致,当密文密码与新密文密码一致时登录成功。在一具体应用实例中,管理员重置其他用户的密码的流程如图4所示。管理员点击某个用户的“重置密码”按钮(步骤S40),系统弹出用户重置密码对话框,设置新密码和确认密码(步骤S41),点击确定按钮(步骤S42)。系统执行密码重置时,首先读取数据库中该用户的密码配置信息(步骤S43),然后进行密码重置操作。系统对于密码的操作分以下步骤:第一步,判断确认密码与新密码是否一致(步骤S44),如果一致,进行第二步,如果不一致,则重置密码失败(步骤S49),结束重置密码操作;第二步,判断该用户是否启用密码复杂度检查(步骤S45),如果启用了,则进行第三步,否则直接进行第四步;第三步,判断密码是否符合密码复杂度检测依据(步骤S46),如果符合,则进行第四步,如果不符合,则重置密码失败(步骤S49),结束重置密码操作;第四步,生成密文密码(步骤S47);最后,将新的密文密码存储于数据库中(步骤S48),结束重置密码操作。生成新密文密码的方式同图1中的加密方式,但加密算法固定为md5加密(对应密码重置的默认密码加密算法为md5)。(四)用户登录在一具体应用环境中,用户登录WEB管理平台的流程如图5所示。用户输入用户名、密码登录WEB管理平台(步骤S50)。系统从数据库的用户信息表中读取该用户的密文密码,并从密文密码中过滤加密算法标识和随机盐值(步骤S51)。登录密码验证分三步。第一步,判断加密算法标识是否等于0(步骤S52),如果加密算法标识等于0,说明管理员重置过该用户的密码,则使用md5加密经过盐值XOR处理后的明文密码,生成密文密码(步骤S54),然后进行第三步;如果算法标识不等于0,则从数据库的密码配置信息表中读取加密算法(步骤S53),然后进行第二步验证。第二步,判断密码配置信息表中的加密算法标识与密文密码中的加密算法标识是否一致(步骤S55),如果加密算法一致,则用该算法加密经过盐值XOR处理后的明文密码,生成密文密码(步骤S56),然后进行第三步;如果加密算法不一致,说明管理员修改了该用户的密码加密算法,则提示用户修改密码,并跳转到“密码修改页面”(步骤S60)。第三步,判断生成的密文密码与数据库中存储的该用户的密文密码是否一致(步骤S57),如果密文密码一致,则登录成功(步骤S58);如果密文密码不同,则登录失败(步骤S59)。(五)修改密码用户修改自己的密码时,输入原密码、新密码和确认密码,进行修改密码操作。系统首先读取数据库中该用户的密文密码和密码配置信息。然后验证原密码是否正确,验证新密码和确认密码是否一致,如果启用了密码复杂度检查,还需要验证新密码是否符合密码复杂度检测依据。最后生成密码密文,并存储于数据库中。具体的,在本发明一实施例中,用户可以在两个场景下修改自己的密码,一个场景是管理员修改了该用户的加密算法,该用户首次登录WEB管理平台时,系统提示修改自己的密码;另一个场景是该用户登录WEB管理平台后,修改登录用户密码。用户修改自己密码的流程图如图6所示。用户在修改密码对话框中输入原密码、新密码、确认密码,修改自己的密码(步骤S61)。首先,系统读取数据库中该用户的密文密码和密码配置信息(步骤S62),然后进行密码验证。系统对于密码的操作分五步。第一步,根据密文密码和密码配置信息验证原密码是否正确(步骤S63),原密码的验证方法参考用户登录时密码验证方法,如果原密码正确,则进行第二步,否则修改密码失败(步骤S68),结束修改密码操作。第二步,验证确认密码与新密码是否一致(步骤S64),如果验证确认密码与新密码一致,则进行第三步,否则修改密码失败(步骤S68),结束修改密码操作。第三步,判断是否启用密码复杂度检查(步骤S65),如果启用了,则进行第四步;否则直接进行第五步。第四步,判断新密码是否符合密码复杂度检测依据(步骤S66),如果符合,则进行第五步;如果不符合,则修改密码失败(步骤S68),结束修改密码操作。第五步,生成密文密码,将新的密文密码存储于数据库中(步骤S67),结束用户修改自己密码操作。综上,本专利提出了一种云计算平台的用户密码管理方法,该方法包括密码信息配置、密码配置信息修改和密码重置。涉及添加用户、管理员修改其他用户的密码配置信息、管理员重置其他用户的密码、用户登录和用户修改自己密码等功能。为了防止密码字典的攻击,在对用户的明文密码进行加密之前,系统先生成一串随机的盐值,使用该盐值对用户的明文密码进行一次XOR处理,然后使用密码加密算法对XOR处理的结果进行加密。将加密算法、盐值连同密码加密后的密文一并存入数据库中。根据本发明的方法增加了密码破解难度,提高了云计算平台的安全性。虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1