一种基于生物认证的自动登录设备和方法
技术领域
本申请涉及一种自动登录的设备和方法,特别是涉及一种基于生物认证的自动登录的方法和设备。
背景技术
随着互联网技术的迅速发展,越来越多的网站或软件诞生,随之而来的是用户需要申请更多的账户密码来登陆网站或软件。而且很多用户为了信息安全会给不同的网站或软件设置不同的账户密码,进一步加重了用户的记忆负担,导致很多用户产生不同账户密码间的记忆混乱。
登录信息管理工具可以帮助用户管理不同网站或软件的账户密码。但目前市面上的登录信息管理工具不但操作复杂,而且仅能实现账户密码的管理工作,账户密码的输入还要靠人工手动完成,无法实现自动登录的功能,基于生物认证的登录信息管理工具更是几乎没有。
发明内容
本申请所要解决的技术问题是提供一种基于生物认证的自动登录计算机软件和/或网站的设备及方法。
为解决上述技术问题,本申请提供了一种基于生物认证的自动登录设备,包括生物认证信息采集模块、生物认证信息特征提取模块、数据存储和匹配模块、操作系统API获取模块、操作系统截屏API模块、OCR识别模块、输入驱动和模拟输入模块。所述生物认证信息采集模块用来采集用户的一项或多项生物认证信息并生成对应的用户ID。所述生物认证信息特征提取模块用来从所述生物认证信息采集模块采集的用户生物认证信息中提取出特征数据。所述数据存储和匹配模块一方面用来加密存储用户的生物认证信息的特征数据以及各软件和网站的账户密码数据,并将用户的生物认证信息的特征数据与对应的用户ID进行绑定,并将账户密码数据与对应的用户ID进行绑定;另一方面用来将当前采集的用户生物认证信息的特征数据与之前存储的解密后的用户生物认证信息的特征数据进行匹配;再一方面用来根据当前窗口所属的软件名称或网站网址在之前存储的解密后的软件或网站的账户密码数据中进行匹配。所述操作系统API获取模块一方面用来获取操作系统的当前窗口所属的软件名称或网站网址,另一方面用来获取操作系统的当前窗口的账户密码输入框以及确认按键的位置,再一方面用来启动软件和/或打开网站。所述操作系统截屏API模块用来获取操作系统的当前窗口的截屏图像。所述OCR识别模块用来对所述操作系统截屏API模块获取的截屏图像进行字符识别,从而获取操作系统的当前窗口所属的软件名称或网站网址、以及获取操作系统的当前窗口中的账户密码输入框以及确认按键的位置。所述输入驱动和模拟输入模块用来在软件或网站的登录界面中将所述数据存储和匹配模块获取的该软件或网站的账户密码数据分别自动填充到所述操作系统API获取模块或者所述OCR识别模块获取的当前窗口的账户密码输入框中,并自动按下确认按键完成登录。上述基于生物认证的自动登录设备将操作系统截屏和OCR识别作为操作系统API的备选方案,可以通过生物认证信息自动登录软件和/或网站,无需手动输入账户密码;并且对应于同一个用户ID的生物认证信息就可以用来代替该用户ID对应的全部软件或者网站的账户密码数据以实现自动登录。
进一步地,所述数据存储和匹配模块还用来进行数据的加密和解密;用户的生物认证信息的特征数据以及各软件或者网站的账户密码数据进行加密后再存储;加密后的用户的生物认证信息的特征数据或者加密后的各软件或者网站的账户密码数据读取并进行解密后再匹配。这样可以确保数据存储和数据传输的安全性,充分保护敏感信息。
优选地,所述加密和解密采用非对称加密技术。这是加密技术的一种优选示例。
进一步地,所述基于生物认证的自动登录设备是一个单独的硬件设备与一台移动终端的组合;所述基于生物认证的自动登录设备还包括数据传输模块,用来实现单独的硬件设备与移动终端之间的数据传输。这是所述自动登录设备的硬件结构的一种示例。
本申请还提供了一种基于生物认证的自动登录方法,包括如下步骤。步骤S10:打开软件或者网站的登录界面时,采集用户的生物认证信息并生成对应的用户ID,从当前采集的用户的生物认证信息中提取出特征数据。步骤S20:将当前采集的用户的生物认证信息的特征数据与之前存储的解密后的用户的生物认证信息的特征数据进行匹配;如果匹配成功,删除本次生成的用户ID,绑定之前存储的对应的用户ID,进入步骤S30;如果匹配失败,加密存储当前采集的用户的生物认证信息的特征数据以及绑定本次生成的用户ID,然后进入步骤S30。步骤S30:采用操作系统API方式获取当前窗口所属软件名称或网站网址;如果获取失败,则改用操作系统截屏和OCR识别方式获取当前窗口所属软件名称或网站网址。步骤S40:根据当前窗口所属软件名称或网站网址以及该用户ID在之前存储的解密后的该用户ID对应的软件或网站的账户密码数据中进行匹配;如果匹配成功,进入步骤S50;如果匹配失败,由用户输入账户密码数据,加密存储用户在当前窗口输入的账户密码数据,并将用户输入的账户密码数据与该用户ID进行绑定。步骤S50:采用操作系统API方式获取当前窗口中的账户密码输入框以及确认按键的位置;如果获取失败,则改用操作系统截屏和OCR识别方式获取当前窗口中的账户密码输入框以及确认按键的位置。步骤S60:在当前窗口中自动输入匹配到的该软件或者网站的账户密码,并自动按下确认按键。上述基于生物认证的自动登录方法将操作系统截屏和OCR识别作为操作系统API的备选方案,可以通过生物认证信息自动登录软件和/或网站,无需手动输入账户密码;并且对应于同一个用户ID的生物认证信息就可以用来代替该用户ID对应的全部软件或者网站的账户密码数据以实现自动登录。
进一步地,所述步骤S10之前包括:预采集一个或多个用户的生物认证信息并生成对应的用户ID,每个用户采集一项或多项生物认证信息;提取出每个用户的每一项生物认证信息的特征数据;预存储各个用户的各项生物认证信息的特征数据,并将用户的生物认证信息的特征数据与对应的用户ID进行绑定。这是一种可选的实现方式。
进一步地,所述步骤S10之前包括:以加密方式预存储一个或多个软件和/或网站的账户密码数据,并将账户密码数据与对应的用户ID进行绑定。这是一种可选的实现方式。
进一步地,所述步骤S10中,当用户未打开任何软件或者网站的登录界面时,采集用户的生物认证信息并生成对应的用户ID,从当前采集的用户的生物认证信息中提取出特征数据,并执行步骤S20以绑定用户ID;以后用户每打开一个软件或者网站的登录界面,就自动执行步骤S30至步骤S60。这样可以仅进行一次生物认证信息的匹配,即可自动登录多个软件和/或网站,使得整个自动登录流程更为简便。
优选地,所述步骤S20中,当绑定用户ID后,允许用户管理所绑定的用户ID对应的软件和/或网站的账户密码数据;所述管理包括查看、修改、删除、新增、上传一个或多个软件和/或网站的账户密码数据,且均与所绑定的用户ID对应。这给出了根据用户ID对账户密码数据进行管理的具体实现方式。
进一步地,当用户修改了某个软件和/或网站的密码数据之后,如果用户选择手动更新,则自动启动需更新的软件和/或打开需更新的网站,随后由用户手动更新密码数据。如果用户选择自动更新,则自动启动需更新的软件或者自动打开需更新的网站,或者改为在用户下一次启动该软件或者打开该网站时执行下列操作;获取该软件或者网站中的修改密码的按钮的位置;将账户数据、原密码数据、修改后的密码数据自动填充到密码修改界面的对应输入框中,并自动按下确认按键,从而实现账户密码数据的自动更新。这样就实现了对软件和/或网站的账号密码数据的自动更新。
进一步地,所述步骤S40中,当匹配到一个用户ID在同一网站或者软件拥有多个账户密码数据时,由用户选择本次登录的账户密码数据。这体现了根据用户ID对账户密码数据进行管理的一种处理方式。
进一步地,所述步骤S60中,自动按下确认按键之后,如果账户密码正确则登陆成功;如果登录失败由用户重新输入账户密码数据,加密存储用户在当前窗口重新输入的该软件或者网站的账户密码数据,并将之前存储的该用户ID对应的该软件或者网站的账户密码数据删除,将用户重新输入的该软件或者网站的账户密码与该用户ID进行绑定。这给出了新的账户密码数据替换老的账户密码数据、且与用户ID相绑定的实现方式。
本申请取得的技术效果是在获取当前软件名称或网站网址、以及获取当前窗口中的账户密码输入框以及确认按键的位置时,均将操作系统API方式获取作为第一方案,将操作系统截屏和OCR识别方式获取作为第二方案。当第一方案无效时,第二方案作为备选方案,从而确保整个技术方案的最终实现,得以通过生物认证信息自动登录软件和/或网站,无需手动输入账户密码。
附图说明
图1是本申请提供的基于生物认证的自动登录设备的结构示意图。
图2是本申请提供的基于生物认证的自动登录方法的流程示意图。
图中附图标记说明:10为生物认证信息采集模块;20为生物认证信息特征提取模块;30为数据存储和匹配模块;40为操作系统API获取模块;50为操作系统截屏API模块;60为OCR识别模块;70为输入驱动和模拟输入模块。
具体实施方式
请参阅图1,本申请提供的基于生物认证的自动登录设备包括生物认证信息采集模块10、生物认证信息特征提取模块20、数据存储和匹配模块30、操作系统API获取模块40、操作系统截屏API模块50、OCR识别模块60、输入驱动和模拟输入模块70。
所述生物认证信息采集模块10用来采集用户的生物认证信息,包括指纹信息、虹膜识别信息、人脸识别信息等的任一项或多项。所采集的同一用户的一项或多项生物认证信息生成同一个用户ID并且相互对应;所采集的不同用户的生物认证信息分别生成多个用户ID并且相互对应。
所述生物认证信息特征提取模块20用来从所述生物认证信息采集模块10采集的用户生物认证信息中提取出特征数据。
所述数据存储和匹配模块30一方面用来存储用户的生物认证信息的特征数据以及各软件或者网站的账户密码数据,这些用户的生物认证信息的特征数据均与对应的用户ID进行绑定,这些账户密码数据也均与对应的用户ID进行绑定。存储至少在本地进行。在获取用户授权的情况下,加密后的用户的生物认证信息的特征数据以及加密后的各软件和网站的账户密码数据还上传至云服务器。所述数据存储和匹配模块30另一方面用来将当前采集的用户生物认证信息的特征数据与之前存储的解密后的用户生物认证信息的特征数据进行匹配,匹配操作在本地或云服务器内进行。所述数据存储和匹配模块30再一方面用来根据所述操作系统API获取模块40或者所述OCR识别模块60获取的当前窗口所属的软件名称或者网站网址在之前存储的解密后的软件或者网站的账户密码数据中进行匹配,匹配操作在本地或云服务器内进行。
所述操作系统API获取模块40一方面用来获取操作系统的当前窗口所属的软件名称或者网站网址,另一方面用来获取操作系统的当前窗口的账户密码输入框以及确认按键的位置,再一方面用来启动软件和/或打开网站。其中API表示应用程序接口(applicationprogramming interface)。
所述操作系统截屏API模块50用来获取操作系统的当前窗口的截屏图像。
所述OCR识别模块60用来对所述操作系统截屏API模块50获取的截屏图像进行字符识别,从而获取操作系统的当前窗口所属的软件名称或者网站网址、以及获取操作系统的当前窗口中的账户密码输入框以及确认按键的位置。其中OCR表示光学字符识别(optical character recognition)。
所述输入驱动和模拟输入模块70用来驱动和模拟键盘、鼠标等输入装置,在操作系统的当前窗口中移动光标,并在定位好的位置进行字符输入和/或鼠标点击操作。具体来说,所述输入驱动和模拟输入模块70用来在某个软件或者网站的登录界面中将所述数据存储和匹配模块30获取的该软件或网站的账户密码数据分别自动填充到所述操作系统API获取模块40或者所述OCR识别模块60获取的当前窗口的账户密码输入框中,并自动按下确认按键完成登录。
可选地,所述数据存储和匹配模块30还用来进行数据的加密和解密。用户的生物认证信息的特征数据以及各软件或者网站的账户密码数据在进行加密后,再进行数据存储。加密后的用户的生物认证信息的特征数据或者加密后的各软件或者网站的账户密码数据在读取并进行解密后,再进行数据匹配。优选地,所述加密和解密采用非对称加密(asymmetric cryptography)技术。
可选地,所述基于生物认证的自动登录设备是一个单独的硬件设备与一台移动终端的组合。例如,生物认证信息采集模块10是一个单独的硬件设备,其余各个模块则由移动终端中的硬件或软件模块实现。此时所述基于生物认证的自动登录设备还包括数据传输模块,用来实现单独的硬件设备与移动终端之间的数据传输。所述数据传输模块例如为USB等有线传输模块、或者为蓝牙等无线传输模块。
请参阅图2,本申请提供的基于生物认证的自动登录方法包括如下步骤。
步骤S10:用户打开软件或者网站的登录界面时,采集用户的生物认证信息并生成对应的用户ID,从当前采集的用户的生物认证信息中提取出特征数据。这一步先通过生物认证信息采集模块10采集当前用户的至少一项生物认证信息并生成对应的用户ID,再通过生物认证信息特征提取模块20提取出当前采集的用户的生物认证信息的特征数据。
步骤S20:匹配生物认证信息。这一步通过数据存储和匹配模块30将当前采集的用户的生物认证信息的特征数据与之前存储的解密后的用户的生物认证信息的特征数据进行匹配。如果匹配成功,则删除本次生成的用户ID,绑定之前存储的对应的用户ID,进入步骤S30。如果匹配失败,通过数据存储和匹配模块30加密存储当前采集的用户的生物认证信息的特征数据以及绑定本次生成的用户ID,然后进入步骤S30。
步骤S30:获取当前窗口所属软件名称或网站网址。这一步先通过操作系统API获取模块40获取到操作系统的当前窗口所属的软件名称或网站网址。如果操作系统API获取模块40无法获取当前窗口所属的软件或者网站的信息,则通过操作系统截屏API模块50获取操作系统当前窗口的截屏图像,再通过OCR识别模块60从截屏图像中识别当前窗口中的字符内容,通过分析字符内容获取当前窗口所属的软件名称或网站网址。
步骤S40:获取当前软件或网站的账户密码数据。这一步先根据当前窗口所属的软件名称或网站网址以及该用户ID(就是步骤S20中与当前采集的用户的生物认证信息的特征数据所绑定的用户ID),通过数据存储和匹配模块30在之前存储的解密后的该用户ID对应的软件或网站的账户密码数据中进行匹配。如果匹配成功,进入步骤S50。如果匹配失败,则认为这是一个新的软件或者网站,由用户输入账户密码数据,通过数据存储和匹配模块30加密存储用户在当前窗口输入的该软件或者网站的账户密码数据,并将用户输入的该软件或者网站的账户密码与该用户ID进行绑定。
步骤S50:获取当前窗口中的账户密码输入框及确认按键的位置。这一步先通过操作系统API获取模块40获取到操作系统的当前窗口中的账户和密码输入框以及确认按键的位置。如果操作系统API获取模块40无法获取当前窗口中的账户和密码输入框以及确认按键的位置,则通过操作系统截屏API模块50获取操作系统当前窗口的截屏图像,再通过OCR识别模块60从截屏图像中识别当前窗口中的字符内容,通过分析字符内容获取当前窗口中的账户和密码输入框以及确认按键的位置。通常,账户和密码的输入框前面一般都会有类似于“用户名”,“密码”之类的文字提示信息。确认按键会有“确认”的文字信息。
步骤S60:在当前窗口中自动输入匹配到的该软件或者网站的账户密码,并自动按下确认按键。这一步通过输入驱动和模拟输入模块80将匹配到的当前软件或网站的账户密码数据分别自动填充当前窗口的账户密码输入框中,随后通过输入驱动和模拟输入模块80自动按下确认按键。
可选地,在步骤S10之前还包括:预采集和预存储用户的生物认证信息。这一步先通过生物认证信息采集模块10采集一个或多个用户的生物认证信息并生成对应的用户ID,每个用户采集一项或多项生物认证信息。再通过生物认证信息特征提取模块20提取出每个用户的每一项生物认证信息的特征数据。再通过数据存储和匹配模块30保存各个用户的各项生物认证信息的特征数据,并将用户的生物认证信息的特征数据与对应的用户ID进行绑定。
可选地,在步骤S10之前还包括:预存储软件和/或网站的账户密码数据。这一步是通过数据存储和匹配模块30加密存储一个或多个软件和/或网站的账户密码数据,并将账户密码数据与对应的用户ID进行绑定。
可替换地,所述步骤S10中,当用户未打开任何软件或者网站的登录界面的时候,就采集用户的生物认证信息并生成对应的用户ID,从当前采集的用户的生物认证信息中提取出特征数据,并执行步骤S20以绑定用户ID。以后用户每打开一个软件或者网站的登录界面,就自动执行步骤S30至步骤S60。这样可使得该用户只需验证一次生物认证信息就可以自动登录多个软件和/或网站。
可选地,所述步骤S20中,当绑定用户ID后,允许用户管理所绑定的用户ID对应的软件和/或网站的账户密码数据。所述管理包括查看、修改(更新)、删除、上传等操作,还包括新增一个或多个软件和/或网站的账户密码数据且均与所绑定的用户ID对应。这些操作可通过数据存储和匹配模块30实现。
进一步地,所述步骤S20中,当用户通过数据存储和匹配模块30修改(更新)了某个软件和/或网站的密码数据之后,用户可选择手动更新、或者自动更新该软件和/或网站的密码数据。如果用户选择手动更新,则通过操作系统API获取模块40自动启动需更新的软件和/或打开需更新的网站,随后由用户手动更新密码数据。如果用户选择自动更新,则立即调用操作系统API获取模块40自动启动需更新的软件或者自动打开需更新的网站,或者改为在用户下一次启动该软件或者打开该网站时执行下列操作。然后通过操作系统API获取模块40获取到该软件或者网站中的修改密码的按钮的位置。如果通过操作系统API获取模块40无法获取到修改密码的按钮的位置,则通过操作系统截屏API模块50获取操作系统当前窗口的截屏图像,再通过OCR识别模块60从截屏图像中识别当前窗口中的字符内容,通过分析字符内容获取当前窗口中的修改密码的按钮的位置。然后再通过输入驱动和模拟输入模块80将账户数据、原密码数据、修改(更新)后的密码数据自动填充到密码修改界面的对应输入框中,并自动按下确认按键,从而实现账户密码数据的自动更新。
进一步地,所述步骤S40中,当匹配到一个用户ID在同一网站或者软件拥有多个账户密码数据时,由用户选择本次登录的账户密码数据。
进一步地,所述步骤S60中,自动按下确认按键之后,如果账户密码正确则登陆成功。如果登录失败,则表明匹配到的该软件或者网站的账户密码数据错误,由用户重新输入账户密码数据,通过数据存储和匹配模块30加密存储用户在当前窗口重新输入的该软件或者网站的账户密码数据,并将之前存储的该用户ID对应的该软件或者网站的账户密码数据删除,将用户重新输入的该软件或者网站的账户密码与该用户ID进行绑定。
与现有技术相比,本申请具有如下有益的技术效果。
第一,可以通过生物认证信息自动登录软件和/或网站,无需手动输入账户密码。
第二,账户密码数据只需要存储一次,且通过非对称加密技术加密存储,有安全保障。
第三,将操作系统API获取作为第一方案,将操作系统截屏和OCR识别作为第二方案。当第一方案无效时,第二方案作为备选方案可用来获取当前窗口所属的软件名称或网站网址、当前窗口中的账户密码输入框以及确认按键的位置,从而确保整个技术方案的最终实现以及使用范围广泛。而且无论是通过获取操作系统API的第一方案,或是通过将操作系统截屏并用OCR识别的第二方案,准确度都远大于传统的抓取网站SSL码或识别页面上下文等现有识别方式,从而确保了用户账户密码数据与当前网站和/或软件匹配的成功率。
第四,整个方案的设计简单,易实现,成本低,性能好。
以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。