操作系统操作控制方法及装置的制造方法_2

文档序号:9524438阅读:来源:国知局
库预加载技术,在操作系统的可执行二进制文件加载之前,加载指定的动态库文件通过动态链接库预加载在所述操作系统的可执行二进制文件加载之前加载相应的动态库文件,其中,所述动态库中定义有预设的C++静态类,并且为所述C++静态类声明一个全局变量,并将所述相应的认证操作写入所述C++静态类的构造函数中。利用所述全局变量,可以在所述可执行二进制文件的初始化阶段使得所述C++静态类的构造函数在所述可执行二进制文件的主函数运行前执行,以执行所述相应的认证操作,即使得所述相应的认证操作可以在登录用户对操作系统中的可执行二进制文件执行相应的操作之前执行,以对用户的身份进行二次认证(第一次认证为用户通过相应的登录信息登录所述操作系统时完成)。
[0054]同时,由于在不改变操作系统的前提下执行了相应的认证操作,可以避免对操作系统造成影响,可以提升用户的使用体验。
[0055]步骤S102:当认证通过时,允许所述登录用户对所述操作系统执行相应的操作。
[0056]在具体实施中,当认证通过时,对所述登录用户的二次认证通过时,表明所述登录用户为合法的用户,此时,可以允许所述登录用户对操作系统执行相应的操作,可以对操作系统的操作进行控制,提高操作系统操作执行的安全性。
[0057]下面将结合图2对本发明实施例中的操作系统操作控制方法做进一步详细的介绍。
[0058]图2示出了本发明实施例中的相应的认证操作的流程图,如图2所示的相应的认证操作,可以包括:
[0059]步骤S201:判断相应的电子证书是否存在;当判断结果为是时,可以执行步骤S202 ;反之,则可以执行步骤S206。
[0060]在具体实施中,电子证书可以根据实际的需要设备预设的使用周期,在所述电子证书的使用周期届满或者发生相应的事件时,电子证书都将会被删除,或者尚未生成对应的电子证书,因此,在对电子证书进行认证之前,可以首先判断相应的电子证书是否存在。[0061 ] 步骤S202:对相应的电子证书进行认证。
[0062]在具体实施中,当确定相应的电子证书存在时,可以对所述电子证书进行认证。
[0063]在本发明一实施例中,所述电子证书中可以包括用户的身份信息和所述操作系统所在的主机的指纹信息。其中,所述用户的身份信息包括用户标识(ID)、组标识、伪终端设备(tty)的标识、电子证书的生成时间戳的信息;所述操作系统所在的主机的指纹信息为采用加密算法对所述主机的CPU信息、内存信息、磁盘信息、网卡信息、系统版本和操作系统信息进行散列加密生成。其中,所述加密算法可以根据实际的需要进行选取,例如哈希算法等。
[0064]当对电子证书进行认证时,可以对所述电子证书中的用户的身份信息和主机指纹信息分别进行验证,确保其与当前系统环境相匹配。其中,对用户身份信息中的用户ID、组ID、tty和主机的指纹信息的验证是将电子证书中的用户ID、组ID、tty与从当前主机中所获取的当前操作系统中的用户ID、组ID、tty和主机的指纹信息是否一致。对电子证书的生成时间戳的验证是将操作系统的当前时间减去电子证书生成时间戳标示的时间得到的时间差值是否大于等于0且小于所述电子证书预设的到期时间。
[0065]这里需要指出的是,操作系统的不同登录会话,对应的伪终端设备的标识的信息是不同的,在将当前登录会话的伪终端设备对应的电子证书并进行认证,可以防止同一用户同时在线,以防止电子证书的重放攻击,可以提高操作系统程序执行的安全性。
[0066]同时,操作系统所在的主机的信息不同,会导致电子证书中主机的指纹信息不同,因此,将当前主机的指纹信息包括在电子证书中,可以防止电子证书被拷贝至其他的主机中继续使用,可以防止电子证书的重放攻击,提高操作系统程序执行的安全性。
[0067]步骤S203:判断所述电子证书是否认证通过;当判断结果为是时,可以执行步骤S204,反之,则执行步骤S205。
[0068]步骤S204:允许用户继续执行所述操作系统中对应的程序。
[0069]在具体实施中,当对所述电子证书认证通过时,表明用户执行操作系统的程序的行为合法,此时,可以继续执行所述用户请求的所述操作系统中对应的程序。
[0070]步骤S205:删除所述电子证书,并重新执行步骤S201。
[0071]步骤S206:获取所述已登录用户的验证邮箱的信息,并向所获取的所述验证邮箱发送验证信息。
[0072]在具体实施中,当确定相应的电子证书不存在时,可以从当前主机的预设位置处读取所述已登录用户的验证邮箱的信息,向所述验证邮箱发送相应的验证信息,以对用户的身份进行认证。
[0073]在具体实施中,所述用户的验证邮箱可以由用户进行配置,如可以配置在当前主机的/etc/passwd文件中。
[0074]在具体实施中,所述验证信息可以根据实际的需要采取不同的形式。例如,可以为一串随机密码等。
[0075]步骤S207:接收用户输入的验证信息。
[0076]在具体实施中,当向用户的验证邮箱发送完毕验证信息之后,可以通过相应的用户界面获取用户输入的验证信息。
[0077]步骤S208:判断所接收的用户输入的验证信息是否正确;当判断结果为是时,可以执行步骤S209 ;反之,则可以执行步骤S210。
[0078]步骤S209:当确定所接收到的验证信息正确时,生成相应的电子证书。
[0079]在具体实施中,当接收到用户输入的验证信息,将所接收的用户输入的验证信息与向所述验证邮箱发送的验证信息进行匹配,当确定二者一致时,可以确定可以根据所获取的当前用户的身份信息和当前主机的指纹信息生成对应的电子证书。
[0080]这里需要指出的是,当通过向用户的验证邮箱发送相应的验证信息,且用户输入的验证信息正确时,便相应地完成了用户身份的验证过程,因此,当生成对应的电子证书之后,便可以执行对应的程序,而无须再对生成的电子证书进行认证,此时所生成的电子证书可以用于其它程序的认证。
[0081]在具体实施中,当执行完毕步骤S209之后,可以接着执行步骤S204。
[0082]步骤S210:禁止执行所述操作系统中相应的程序。
[0083]在具体实施中,当确定所接收的用户输入的验证信息不正确时,则表明用户为非法用户,此时,可以禁止用户继续执行所述操作系统的程序,以提高操作系统的程序执行的安全性。
[0084]在具体实施中,本发明实施例中的操作系统操作控制方法,还可以包括:
[0085]步骤S211:在所述电子证书的使用周期内,当检测到已登录会话的伪终端设备下线立即登录时,删除所述已登录会话的为终端设备对应的电子证书。
[0086]在具体实施中,在所述电子证书的使用周期内,当已登录会话的伪终端设备下线立即登录,可以通过在所述已登录会话的伪终端设备在下线之后是都立即被重新创建进行判断。当检测到在所述已登录会话的伪终端设备在下线之后,相同的伪终端设备被重新创建时,则删除所述已登录会话对应的电子证书,可以防止合法用户的信息被恶意用户利用,因此,可以进一步提高操作系统程序执行的安全性。
[0087]在具体实施中,利用动态库加载技术创建伪终端设备(pty)时,需要调用诸如openpty ()和posix_openpt ()等pty创建函数,因此,在本发明一实施例中可以通过相应的伪终端设备创建函数是否被调用来检测相同的伪终端设备被重新创建。
[0088]在具体实施中,本发明实施例中的操作系统操作控制方法,还可以包括:
[0089]步骤S212:在所述电子证书的使用周期内,当检测到更改系统时间的操作时,删除所述电子证书。
[0090]在具体实施中,在所述电子证书的使用周期内,当检测更改系统时间的操作时,则可能发生将系统时间修改至电子证书的生成时间戳之后且在所述电子证书的到期时间之前,而使得已过期的电子证书被重复使用的情形。因此,为了防止上述情况的发生,可以在检测到修改系统时间的操作时,删除已存在的电子证书,以进一步提高操作系统程序执行的安全性。
[0091]在具体实施中,更改系统时间通过调用gettimeofday函数进行,因此,在本发明一实施例中可以利用动态库预加载技术与所述gettimeofday函数进行挂钩,当检测到所述gettimeofday函数被调用后,可以立即删除相应的电子证书,以防止上述的证书重放攻击。
[0092]这里需要指出的是,上述的步骤S212和S213之间并不具有预设的执行顺序,只要相应的条件满足时,便可以执行对应步骤的操作,在此不做限制。
[0093]此外,在操作系统的运行过程中,采用上述的认证机制,可能会使得实际应用中操作系统中的一些自动化机制无法正常运行。此时,可以采用对特定的用户、组和程序设置禁止执行上述的电子证书的认证的操作,以便于自动化机制的运行。
[0094]图3示出了本发明实施例中的操作系统程序执行控制装置的结构示意图。如图3所示的操作系统操作控制装置300,可以包括认证单元301和执行控制单元302,其中:
[00
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1