发明内容
本发明提供一种双向认证的方法装置和系统,能够实现双向硬件检测,避免连接欺骗,保证单向导入系统的安全性。
为解决上述技术问题,本发明提供技术方案如下:
一方面,提供一种双向认证的方法,包括:
步骤1:单向隔离光闸的相应侧主机生成第一加密关键字;
步骤2:所述相应侧主机向与该相应侧主机连接的对端设备发送认证请求和所述第一加密关键字;
步骤3:所述相应侧主机接收对端设备使用所述第一加密关键字加密后返回的认证信息,所述认证信息包括对端设备的硬件信息;
步骤4:所述相应侧主机使用所述第一加密关键字对接收到的认证信息进行解密;
步骤5:所述相应侧主机对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,执行步骤6,否则,对端设备的身份不合法,双向认证过程结束;
步骤6:所述相应侧主机向对端设备发送登录请求;
步骤7:所述相应侧主机接收对端设备生成并返回的第二加密关键字;
步骤8:所述相应侧主机根据接收到的第二加密关键字对登录信息进行加密,所述登录信息包括所述相应侧主机的硬件信息;
步骤9:所述相应侧主机将加密后的登录信息发送给对端设备进行解密验证,若验证通过,则所述相应侧主机的身份合法,执行步骤10,否则,所述相应侧主机的身份不合法,双向认证过程结束;
步骤10:双向认证通过,并建立连接;
其中,当相应侧主机为单向隔离光闸的外网主机时,所述对端设备为导入前置机;当相应侧主机为单向隔离光闸的内网主机时,所述对端设备为导入服务器。
进一步的,所述认证信息包括:对端设备的用户名、密码、IP地址和MAC;所述登录信息包括:所述相应侧主机的用户名、密码、IP地址和MAC;所述第一加密关键字与所述第二加密关键字相同或不相同。
进一步的,双向认证成功并建立连接之后,当所述相应侧主机需要向对端设备上传文件时,包括:
步骤101:所述相应侧主机向对端设备传输文件认证信息;
步骤102:所述相应侧主机读取要上传的文件的内容,对文件的内容进行加密;
步骤103:所述相应侧主机将加密后的文件内容传输至对端设备,供对端设备解密使用;
步骤104:所述相应侧主机接收对端设备返回的结果信息。
进一步的,双向认证成功并建立连接之后,当所述相应侧主机监控到有文件需要上传至对端设备时,触发所述步骤101至步骤104。
进一步的,双向认证成功并建立连接之后,当所述相应侧主机需要从对端设备下载文件时,包括:
步骤201:所述相应侧主机从对端设备接收文件认证信息;
步骤202:所述相应侧主机从对端设备接收文件信息;
步骤203:所述相应侧主机将接收的数据进行解密,并将解密后的数据写入指定文件并保存;
步骤204:所述相应侧主机对保存的文件进行完整性检查和病毒查杀,并将结果返回对端设备。
进一步的,所述文件认证信息为文件大小和/或文件MD5码。
进一步的,双向认证成功并建立连接之后,当所述相应侧主机需要向对端设备发送控制命令请求时,包括:
步骤301:对端设备接收所述相应侧主机发送的控制命令请求;
步骤302:对端设备将接收到的控制命令请求中的控制命令进行白名单检查,以验证所述相应侧主机的权限是否支持该控制命令;
步骤303:对端设备对控制命令对应的执行程序进行验证,若验证通过,则执行步骤304,否则,终止控制命令请求,结束整个过程;
步骤304:对端设备执行控制命令对应的执行程序,并将执行结果返回所述相应侧主机。
另一方面,提供一种单向隔离光闸,包括外网主机、内网主机以及分光器,所述外网主机或所述内网主机包括:
第一加密处理模块,用于生成第一加密关键字;
认证请求模块,用于向单向隔离光闸的对端设备发送认证请求和所述第一加密关键字;
认证请求模块还用于接收对端设备使用所述第一加密关键字加密后返回的认证信息,所述认证信息包括对端设备的硬件信息;
第一加密处理模块还用于使用所述第一加密关键字对接收到的认证信息进行解密;
认证请求模块还用于对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,并转至登录请求模块,否则,对端设备的身份不合法,双向认证过程结束;
登录请求模块,用于向对端设备发送登录请求;
登录请求模块还用于接收对端设备生成并返回的第二加密关键字;
第一加密处理模块还用于根据接收到的第二加密关键字对登录信息进行加密,所述登录信息包括所述相应侧主机的硬件信息;
登录请求模块还用于将加密后的登录信息发送给对端设备进行解密验证,若验证通过,则所述相应侧主机的身份合法,双向认证通过,并建立连接,否则,所述相应侧主机的身份不合法,双向认证过程结束。
再一方面,提供一种导入前置机或导入服务器,包括:
认证处理模块,用于接收相应侧主机发送的认证请求和所述第一加密关键字;
第二加密处理模块,用于使用所述第一加密关键字加密认证信息,所述认证信息包括对端设备的硬件信息;
认证处理模块还用于将加密后的认证信息返回到相应侧主机,以使所述相应侧主机使用所述第一加密关键字对接收到的认证信息进行解密;并对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,否则,对端设备的身份不合法,双向认证过程结束;
登录处理模块,用于接收相应侧主机发送的登录请求;
第二加密处理模块还用于生成第二加密关键字;
登录处理模块还用于将生成的二加密关键字返回到相应侧主机;
登录处理模块还用于接收相应侧主机根据接收到的第二加密关键字加密的登录信息,所述登录信息包括所述相应侧主机的硬件信息;
第二加密处理模块还用于对接收到的登录信息进行解密;
登录处理模块还用于对登录信息进行验证,若验证通过,则所述相应侧主机的身份合法,双向认证通过,并建立连接,否则,所述相应侧主机的身份不合法,双向认证过程结束。
再一方面,提供一种单向导入系统,包括上述的单向隔离光闸以及上述的导入前置机和导入服务器,所述导入前置机与所述外网主机连接,所述导入服务器与所述内网主机连接。
本发明具有以下有益效果:
与现有技术相比,本发明的双向认证的方法中,认证信息包括对端设备的硬件信息,相应侧主机通过认证信息对对端设备的身份进行认证,登录信息包括所述相应侧主机的硬件信息,对端设备通过登录信息对相应侧主机的身份进行认证,从而能够对单向隔离光闸的相应侧主机和对端设备的硬件信息进行双向验证,避免连接欺骗;同时,第一加密关键字和第二加密关键字分别对认证信息和登录信息进行加密,确保信息传递过程的安全性。故本发明的双向认证的方法能够实现单向隔离光闸的相应侧主机和对端设备的双向硬件认证,避免连接欺骗,并且确保了信息传递过程的安全性,从而保证整个单向导入系统的安全性。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明提供一种双向认证的方法,如图1所示,包括:
步骤1:单向隔离光闸的相应侧主机生成第一加密关键字;
步骤2:相应侧主机向与该相应侧主机连接的对端设备发送认证请求和第一加密关键字;
步骤3:相应侧主机接收对端设备使用第一加密关键字加密后返回的认证信息,认证信息包括对端设备的硬件信息;
本步骤中,对端设备使用相应侧主机发送的第一加密关键字加密认证信息并将其返回至相应侧主机;
步骤4:相应侧主机使用第一加密关键字对接收到的认证信息进行解密;
步骤5:相应侧主机对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,执行步骤6,否则,对端设备的身份不合法,双向认证过程结束;
本步骤中,相应侧主机预先存储有对端设备的认证信息,将解密后的认证信息与预先存储的认证信息进行比对验证,以确定对端设备的身份是否合法;
上述步骤1-5是相应侧主机对对端设备进行身份认证的步骤;
步骤6:相应侧主机向对端设备发送登录请求;
步骤7:相应侧主机接收对端设备生成并返回的第二加密关键字;
本步骤中,对端设备接收相应侧主机发送的登录请求后,则生成第二加密关键字并返回相应侧主机;
步骤8:相应侧主机根据接收到的第二加密关键字对登录信息进行加密,登录信息包括相应侧主机的硬件信息;
步骤9:所述相应侧主机将加密后的登录信息发送给对端设备进行解密验证,若验证通过,则所述相应侧主机的身份合法,执行步骤10,否则,所述相应侧主机的身份不合法,双向认证过程结束;
本步骤中,对端设备预先存储有相应侧主机的登录信息,对端设备接收相应侧主机发送的登录信息后,先将登录信息进行解密,将解密后的登录信息与预先存储的登录信息进行比对验证,以确定相应侧主机是否合法;
步骤10:双向认证通过,并建立连接;
上述步骤6-10是对端设备对相应侧主机进行身份认证的步骤;
上述步骤1-10中,当相应侧主机为单向隔离光闸的外网主机时,对端设备为导入前置机;当相应侧主机为单向隔离光闸的内网主机时,对端设备为导入服务器。
本发明具有以下有益效果:
与现有技术相比,本发明的双向认证的方法中,认证信息包括对端设备的硬件信息,相应侧主机通过认证信息对对端设备的身份进行认证,登录信息包括所述相应侧主机的硬件信息,对端设备通过登录信息对相应侧主机的身份进行认证,从而能够对单向隔离光闸的相应侧主机和对端设备的硬件信息进行双向验证,避免连接欺骗;同时,第一加密关键字和第二加密关键字分别对认证信息和登录信息进行加密,确保信息传递过程的安全性。故本发明的双向认证的方法能够实现单向隔离光闸的相应侧主机和对端设备的双向硬件认证,避免连接欺骗,并且确保了信息传递过程的安全性,从而保证整个单向导入系统的安全性。
认证信息可以为包括对端设备硬件信息的任意格式的信息,优选的,包括:对端设备的用户名、密码、IP地址和MAC;登录信息可以为包括相应侧主机硬件信息的任意格式的信息,优选的,包括:相应侧主机的用户名、密码、IP地址和MAC;
第一加密关键字与第二加密关键字相同或不相同,不相同时,相应侧主机和对端设备采用非对称动态加密,极大地减少了秘钥泄露的可能。
作为本发明的一种改进,双向认证成功并建立连接之后,当相应侧主机需要向对端设备上传文件时,如图2所示,包括:
步骤101:相应侧主机向对端设备传输文件认证信息;
步骤102:相应侧主机读取要上传的文件的内容,对文件的内容进行加密;
本步骤中可以使用固定的加密关键字进行加密,也可以使用上述双向认证过程中使用过的第二加密关键字,还可以使用对端设备新生成并发送给相应侧主机的加密关键字;
步骤103:相应侧主机将加密后的文件内容传输至对端设备,供对端设备解密使用;
本步骤中,对端设备接收相应侧主机发送的文件后,先根据步骤102使用的加密关键字对其进行解密,并将解密后的文件根据接收到的文件认证信息进行完整性认证,根据认证结果将结果信息返回相应侧主机;
步骤104:相应侧主机接收对端设备返回的结果信息。
相应侧主机对要上传的文件内容进行加密并传输至对端设备,对端设备接收文件后对其进行解密,并根据相应侧主机提供的文件认证信息对文件进行完整性验证,验证通过后,向相应侧主机返回成功信息,否则返回错误信息。
步骤101-104实现了相应侧主机向对端设备上传文件的过程,并且通过加密手段保证文件传输过程的安全性,通过文件认证信息保证文件的完整性。
相应侧主机是否需要向对端设备上传文件可以通过监控来实现,当相应侧主机监控到有文件需要上传至对端设备时,触发步骤101至步骤104。如此,当满足相应的条件时,相应侧主机可以自动向对端设备上传文件。
作为本发明的另一种改进,双向认证成功并建立连接之后,当相应侧主机需要从对端设备下载文件时,如图3所示,包括:
步骤201:相应侧主机从对端设备接收文件认证信息;
本步骤中,对端设备将要下载的文件认证信息传输至相应侧主机;
步骤202:相应侧主机从对端设备接收文件信息;
本步骤中,对端设备读取要下载的文件的内容,对文件的内容进行加密,可以使用固定的加密关键字进行加密,也可以使用上述双向认证过程中使用过的第一加密关键字,还可以使用相应侧主机新生成并发送给对端设备的加密关键字,并且将加密后的文件信息发送至相应侧主机;
步骤203:相应侧主机将接收的数据进行解密,并将解密后的数据写入指定文件并保存;
本步骤中,解密所用的加密关键字与步骤202加密所用的加密关键字相同;
步骤204:相应侧主机对保存的文件进行完整性检查和病毒查杀,并将结果返回对端设备;
本步骤中,相应侧主机使用接收到的文件认证信息对保存的文件进行完整性检查,使用通用或专用的杀毒软件对保存的文件进行病毒查杀。
对端设备对要下载的文件内容进行加密并传输至相应侧主机,相应侧主机接收文件后对其进行解密,并根据对端设备提供的文件认证信息对文件进行完整性验证,以及进行病毒查杀,验证通过后,向对端设备返回成功信息,否则返回错误信息。
步骤201-204实现了相应侧主机从对端设备下载文件的过程,并且通过加密手段保证文件传输过程的安全性,通过文件认证信息保证文件的完整性,通过病毒查杀保证文件本身的安全。
上述文件认证信息可以是多种方式,具体的,文件信息为文件大小和/或文件MD5码。
作为本发明的再一种改进,双向认证成功并建立连接之后,当相应侧主机需要向对端设备发送控制命令请求时,如图4所示,包括:
步骤301:对端设备接收相应侧主机发送的控制命令请求;
本步骤中,相应侧主机向对端设备发送控制命令请求,该控制命令请求可以是单个控制命令,也可以是以命令行形式的连续多个控制命令;
步骤302:对端设备将接收到的控制命令请求中的控制命令进行白名单检查,以验证相应侧主机的权限是否支持该控制命令;
本步骤中,对端设备可以将相应侧主机的权限信息预先存储在本地数据库中,将接收到的控制命令与数据库中的信息进行比对,验证相应侧主机的权限是否支持该控制命令;
步骤303:对端设备对控制命令对应的执行程序进行验证,若验证通过,则执行步骤304,否则,终止控制命令请求,结束整个过程;
本步骤中,对端设备可以预先存储执行程序的验证信息(如程序大小和/或MD5码),使用此验证信息对执行程序进行验证,保证执行文件不被篡改;
步骤304:对端设备执行控制命令对应的执行程序,并将执行结果返回相应侧主机。
相应侧主机不能直接登录对端设备对其进行操作,只能将要执行的操作以控制命令的形式发送到对端设备,避免了相应侧主机对对端设备的系统造成破坏;对端设备接收控制命令后对其进行白名单检查,以验证所述相应侧主机的权限是否支持该控制命令,实现了对相应侧主机的权限限制;同时对端设备对控制指令进行验证,保证执行文件不被篡改。
通过步骤301-304,实现了在不进行远程登录的情况下可以进行对端设备的状态查询,控制,修改等远程操作,能够避免相应侧主机登录对端设备,防止对对端设备系统的破坏,同时针对整个单向导入系统提供了权限限制,以及对执行文件的验证,能够灵活的配置用户需求,有效提高整个单向导入系统的安全性。
与上述的方法相对应,本发明还提供一种单向隔离光闸,如图6所示,包括外网主机80、内网主机80’以及分光器,外网主机80或内网主机80’包括:
第一加密处理模块803(或803’),用于生成第一加密关键字;
认证请求模块801(或801’),用于向单向隔离光闸的对端设备发送认证请求和第一加密关键字;
认证请求模块801(或801’)还用于接收对端设备使用第一加密关键字加密后返回的认证信息,认证信息包括对端设备的硬件信息;
第一加密处理模块803(或803’)还用于使用第一加密关键字对接收到的认证信息进行解密;
认证请求模块801(或801’)还用于对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,并转至登录请求模块,否则,对端设备的身份不合法,双向认证过程结束;
登录请求模块802(或802’),用于向对端设备发送登录请求;
登录请求模块802(或802’)还用于接收对端设备生成并返回的第二加密关键字;
第一加密处理模块803(或803’)还用于根据接收到的第二加密关键字对登录信息进行加密,登录信息包括所述相应侧主机的硬件信息;
登录请求模块802(或802’)还用于将加密后的登录信息发送给对端设备进行解密验证,若验证通过,则相应侧主机的身份合法,双向认证通过,并建立连接,否则,相应侧主机的身份不合法,双向认证过程结束。
与上述的方法相对应,本发明还提供一种导入前置机90或导入服务器90’,如图5所示,包括:
认证处理模块901(或901’),用于接收相应侧主机发送的认证请求和第一加密关键字;
第二加密处理模块903(或903’),用于使用第一加密关键字加密认证信息,认证信息包括对端设备的硬件信息;
认证处理模块901(或901’)还用于将加密后的认证信息返回到相应侧主机,以使相应侧主机使用第一加密关键字对接收到的认证信息进行解密;并对解密后的认证信息进行验证,若验证通过,则对端设备的身份合法,否则,对端设备的身份不合法,双向认证过程结束;
登录处理模块902(或902’),用于接收相应侧主机发送的登录请求;
第二加密处理模块903(或903’)还用于生成第二加密关键字;
登录处理模块902(或902’)还用于将生成的二加密关键字返回到相应侧主机;
登录处理模块902(或902’)还用于接收相应侧主机根据接收到的第二加密关键字加密的登录信息,登录信息包括所述相应侧主机的硬件信息;
第二加密处理模块903(或903’)还用于对接收到的登录信息进行解密;
登录处理模块902(或902’)还用于对登录信息进行验证,若验证通过,则相应侧主机的身份合法,双向认证通过,并建立连接,否则,相应侧主机的身份不合法,双向认证过程结束。
与现有技术相比,本发明的认证请求模块和认证处理模块共同完成相应侧主机对对端设备的身份认证功能;登录请求模块和登录处理模块共同完成对端设备对相应侧主机的身份认证功能,实现硬件信息的双向认证,避免连接欺骗;同时第一加密处理模块和第二加密处理模块分别对登录信息和认证信息进行加密,确保信息传递过程的安全性。
故本发明的能够实现单向隔离光闸的相应侧主机和对端设备的双向硬件认证,避免连接欺骗,并且确保了信息传递过程的安全性,从而保证单向导入系统的安全性。
相对应的,本发明还提供一种单向导入系统,如图7所示,包括上述单向隔离光闸以及上述导入前置机90和导入服务器90’,导入前置机90与外网主机80连接,导入服务器90’与内网主机80’连接。
与现有技术相比,本发明的单向导入系统中,相应侧主机通过对端设备的硬件信息对对端设备的身份进行认证,对端设备通过相应侧主机的硬件信息对相应侧主机的身份进行认证,能够对单向隔离光闸的对端设备和相应侧主机的硬件信息进行双向验证,避免连接欺骗;
同时,分别对认证信息和登录信息进行加密,确保信息传递过程的安全性。
故本发明的单向导入系统能够实现单向隔离光闸的相应侧主机和对端设备的双向硬件认证,避免连接欺骗,并且确保了信息传递过程的安全性,从而保证单向导入系统的安全性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。