嵌入式系统登录动态口令实现方法与流程

文档序号:21409232发布日期:2020-07-07 14:44阅读:596来源:国知局
嵌入式系统登录动态口令实现方法与流程

本发明涉及一种嵌入式系统登录动态口令实现方法,尤其涉及一种对于shell的访问增加非对称加密验证而加强进入shell的权限控制的系统登录动态口令实现方法。



背景技术:

在unix系统中,shell可视为一种软件,是操作系统的指令直译器(commandinterpreter),并作为系统端和用户端之间沟通的接口。

可通过应用层协议如telnet/console来远程控制一服务器(server)或一主机(hostcomputer),以供用户在本地主机执行远程主机上的工作。

一般而言,用户登录telnet/console后,直接以最高权限的管理者账号(root)权限进入shell,即可在shell环境下执行程序,例如,在用户端输入一指令,进而在shell环境下运行脚本(script)文件中的一陈述(statement)口令。

常用的操作口令包含例如,对于配置文件的修改或删除。然而,在非安全控管下的登录用户,若任意地修改或删除配置文件,会危及系统的运行安全,严重会造成网络失效。

又例如,修改或擦写快闪存储器(flashmemory)的数据,会造成系统的核心文件遗失,而无法开机。

在无安全管制的防护下,容易成为不良意图的用户所入侵的目标,进而将系统作为傀儡机(zombiecomputer),展开阻断服务攻击(denialofservice,dos)或发送垃圾信息,来破坏用户的个人电脑(personalcomputer,pc)或其他网络节点。

再者,在shell下可执行查看的操作口令,来查看系统内部的关键信息,例如,系统的版本信息,包括中央处理单元(centralprocessingunit,cpu)、内存(memory)、或其他软硬件的信息;系统的进程、模块、或网络接口信息,若不加以管理,将造成重要数据外泄;甚至通过枚举(enumerate)配置测试,找到产品的瓶颈配置(bottleneckconfiguration),而遭到竞争对手利用。

另外,一般而言,经常将shell作为调试(debug)的接口使用,而提供用户相关的功能,但会使得shell的登录安全无法得到保证。

因此,有必要解决管制用户登录与访问shell权限的技术问题,对于核心系统或关键的内部运行程序等相关命令,执行进行严格管控,同时仍然能够提供shell用户基本的功能操作。



技术实现要素:

有鉴于此,为了解决上述技术问题,本发明提供一种嵌入式系统登录动态口令实现方法,尤其是一种对于shell的访问增加非对称加密验证,进而加强进入shell的权限控制的系统登录动态口令实现方法,并提高系统安全性。

根据本发明的一种实施例,所述嵌入式系统登录动态口令实现方法包括:

执行一启动sample-shell步骤s1,登录至一管理选单并进入一主选单;

执行一随机密码加密步骤s2,输入“shell”,显示以一非对称加密算法加密的一加密魔术字符串(magicstring);

执行一离线解密步骤s3,将所述加密魔术字符串解密,取得一解密魔术字符串;

执行一登录final-shell步骤s4,验证所述解密魔术字符串,以进入shell;以及

执行一显示子选单步骤s5,在所述主选单键入一数值来显示所述主选单的一子选单。

优选地,所述步骤s2还将所述加密魔术字符串保存至一加密结果文件,或者,通过文件传输协议(ftp)存储或读取所述加密结果文件。

优选地,所述步骤s3还包括:

执行一生成密钥对步骤s31,在所述加密结果文件的当前目录下生成一非对称加密密钥对,其包括一私有密钥与一公开密钥,其中,所述公开密钥为步骤s2中对所述加密魔术字符串的加密所使用;以及

执行一解密步骤s32,在当前目录下,使用所述私钥文件来解密所述加密结果文件,以取得一密文,并打印其结果。

优选地,所述步骤s4以所述密文作为验证依据,并允许至多三次的验证失败;在验证失败三次后,生成新的一魔术字符串并重启验证流程,回到步骤s2。

优选地,所述步骤s4的验证时间为1分钟,超时后将重新执行所述步骤s3来生成密钥。

优选地,本发明所使用的所述非对称加密算法是一rsa加密算法。

优选地,所述步骤s5中所键入的所述数值为1至n之间的某一整数数值,且n为一自然数。

优选地,所述子选单是设计为简化版功能的shell,支持部分查看信息的命令。

附图说明

图1显示本发明的一种实施例的嵌入式系统登录动态口令实现方法的流程图。

【符号说明】

s1sample-shell步骤

s2随机密码加密步骤

s3离线解密步骤

s31生成密钥对步骤

s32解密步骤

s4登录final-shell步骤

s5显示子选单步骤

具体实施方式

以下提供本发明的实施例,是用于说明本发明的技术内容,而非用于限制本发明的权利范围。可将本发明的特征进行修饰、变化、组合、分离、置换、或转用,而实现其他实施例。

参照图1,为本发明的实施例的嵌入式系统登录动态口令实现方法的流程图。

如图1所示,所述嵌入式系统登录动态口令实现方法包括:执行一启动sample-shell步骤s1、执行一随机密码加密步骤s2、执行一离线解密步骤s3、执行一登录final-shell步骤s4,以及执行一显示子选单步骤s5。

首先,启动sample-shell步骤s1是登录至一管理选单并进入一主选单。

在本实施例中,是经由两个shell运行端,即sample-shell及final-shell,来控制用户登录与访问shell的权限。选择性地与优选地,sample-shell可设计为提供用户基本的口令操作,例如查看基本信息等;而final-shell可设计为提供用户更高权限的功能,例如查看系统更为核心的信息、对于文件的修改或删除等。

其中,在final-shell中所执行的命令需要进行严格管控,针对欲获得更高权限的操作口令用户,是以步骤s2至s4来进行加密与验证流程。

随机密码加密步骤s2是以一非对称加密算法加密信息而得到一加密魔术字符串(magicstring),并将所述加密魔术字符串保存至一加密结果文件,例如命名为result-enc.txt的文件,或者,通过文件传输协议(ftp)在例如../tmp/result-enc.txt的目录中存储或读取所述加密结果文件。所谓的“魔术字符串”是指虽可供系统运作,但外部他人难以解读,以便提升通信安全的信息。

离线解密步骤s3,是将所述加密魔术字符串解密并取得一解密魔术字符串,此执行步骤s3时,非必需与系统连机,也就是说,可在离线时执行步骤s3。

选择性地与优选地,步骤s3还区分为执行一生成密钥对步骤s31,以及执行一解密步骤s32。

步骤s31是在当前目录下生成一非对称加密密钥对,为一私有密钥与一公开密钥,其中,所述公开密钥为步骤s2中对所述加密魔术字符串的加密所使用,例如命名为rsa_priv.txt与rsa_pub.txt的文件。

可理解的是,步骤s31所生成的一对密钥,公开密钥是用于s2步骤中对随机魔术字符串加密,生成一加密魔术字符串;私有密钥用于对所述加密魔术字符串解密,而生成加密前的随机魔术字符串;并且,此对密钥是成对出现的,由同一次步骤s31生成。

步骤s32是在当前目录下,使用所述私钥文件来解密所述加密结果文件,以取得一密文,并打印其结果。

在本实施例中,加密的密码是使用随机生成的密码,优选而言,是不具规则性或不具预测性的密码组合。

在本实施例中,所使用的非对称加密算法,以及以此算法生成的非对称加密密钥,是使用rsa(rivest-shamir-adleman)加密算法。其中,所述私有密钥文件是作为解密用途,而所述公开密钥文件是作为加密用途,特别而言,所述私有密钥不对外公开,必须妥善严格保存。

步骤s4将所述密文作为验证依据,并允许至多三次的验证失败,在验证失败三次后,生成新的一加密魔术字符串并重启验证流程,也就是回到步骤s2。

另外,步骤s4的验证时间为1分钟,一旦超时,将重新执行所述步骤s3来生成密钥。

若验证成功,则用户可进入final-shell来操作更高权限的口令。

另一方面而言,对于一般权限的用户,则可执行步骤s5,在主选单功能画面键入数值为1至n之间的某一整数数值,其中n为一自然数,来进入所述子选单功能画面。

其中,所述子选单功能画面可计为简化版功能的shell,例如可支持部分查看信息的命令等。

综上所述,本发明以随机密码、非对称加密算法,以及超时与超次检测,来对于shell的访问增加非对称加密验证而加强进入shell的权限控制,并提高系统安全性。

尽管本发明已通过上述实施例加以说明,可理解的是,在不悖离本发明精神及权利要求书所主张的范围下,可进行许多其他修饰及变化,而实现其他实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1