随着录井现场信息化、网络化的深入推进,生产数据传输链路安全以及用户等息安全越来越受到重视.为避免录苷应用软件和生产数据被他人窃取或非法复制,录井信息服务中心将加密理论应用到录井应用软件和生产数据传输中,利用SSL协议的公开密钥进行加密,通过序列号采集、密钥转换、解密验证实现对应用软件的加密,形成了一套完整的加密方法。
一、录井信息加密技术原理
通常,有几种方法可用来加密数据流,当只知道密文的时候,是不容易破译其加密算法的。录井应用软件自2004年开始采用加密技术,形成了一套完整的现场信息加密技术。现场录井小队(或相关操作人员)安装应用软件的同时,采码软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、BOIS序列号等),然后将这些信息进行处理并生成序列号,在一定程度上将软件和硬件部分绑定。用户只需要将该序列号用E-mail、电话或邮寄等方式传递给信息服务中心,相关人员便可利用加密软件产生加密文件并传回用户即可完成加密。
1、加密算法对比
1)MD5算法
MD5(消息摘要算法)是计算机安全领域广泛使用的一种散列函数一MD5把一个任意长度的字节串变换成一定长的十六进制数字串,以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列的处理后,算法的输出由4个32位分组组成,将这4个32位分组级联后将生成一个128位散列值。
MD5算法优点:将任意长度的“字节串”变换成一个128位的大整数,并且它是一个不可逆的字符串变换算法。即使看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,因而无法解密。
MD5算法缺点:散列长度通常为128位,随着计算机运算能力的提高,找到加密算法“碰撞”是可能的,算法存在安全隐患。因此,在少数安全要求高的场合不使用MD5算法。
2)RC4算法
RC4产生一个伪随机比特流,加密时与明文进行比特级别的异或处理,解密时进行同样的步骤(因为异或操作是对称的)。RC4算法包括初始化算法( KSA)和伪随机子密码生成算法(PRGA)两大部分。首先进行初始化,在初始化过程中,密钥的主要功能是将S-box搅乱,确保S-box的每个元素都得到处理,保证S-box的搅乱是随机的。而不同的S-box在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,将S-box和明文进行异或运算,得到密文,解密过程也完全相同。
RC4算法优点:RC4算法是一种对称加密算法。对称算法使用一个密钥,给定一个明文,通过密钥加密产生密文,其长度和明文大致相同。解密时,使用解读密钥(与加密密钥为同一个密钥)。因此,在加密密钥不公开的情况下,永远无法解密。
RC4算法缺点:由于RC4算法加密采用异或运算,一旦子密钥序列出现重复,密文就有可能被破解。因此,使用RC4算法时,必须对加密密钥进行测试,判断其是否为弱密钥。
2、加密特点
录井信息加密技术采用信息摘要算法和对称加密算法,利用加密密钥进行加密,利用解密密钥进行解密,为网络通信安全及数据完整性提供安全保障。主要内容包括密码算法、常用密钥和证书封装管理,加密技术具有以下3个特点:
①保密性。将采集到的原始机器码通过加密算法转换成用户无法识别的加密密钥以实现数据的保密,加密过程需要用密钥对数据进行加密和解密,没有密钥就无法解开加密的数据。
②完整性。加密能保证数据的一致性。MAC(消息验证码)校验用户提供的加密信息,接收者用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。
③安全性。用户得到的密钥是安全验证的标识。录井应用软件只能在已经采码的计算机上使用,不能拷贝到未经采码的计算机上运行,不同于目前大多数软件采用的注册方法,即不能通过获得注册码方式,在任何机器上安装注册。信息加密技术实现了绑定唯一、识别唯一和算法唯一,解密者很难找到加密方法和密文规律,有效保障了应用软件的安全使用和生产数据的安全传输。
二、应用软件加密
应用软件加密技术包括序列号采集、密钥转换和解密验证3个部分。录井小队利用现场采码软件提取网卡MAC码和CPU序列号,采用MD5加密算法生成注册序列号,发给信息服务中心加密人员,再利用注册软件生成数字许可证与经过RC4算法再次加密的注册序列号比较是否相同,判断用户是否合法(图1)。
1、序列号采集
序列号采集是指采集将要运行客户端应用软件的计算机的指纹信息。现场录井小队操作人员(或相关人员)从信息服务中心获得软件并安装执行程序“密钥生成器( GenerateSeriaINo.exe)”后,运行该执行程序并点击“Gene rate’’按钮,密钥生成器将会采集计算机指纹信息,并显示在“密钥”框内。再点击“SaveSeriaINo”按钮将采集的计算机指纹信息保存成文件反馈给信息服务中心加密人员,供信息加密软件使用(图2)。
程序采集到的用户计算机信息码是计算机各种硬件码的自由组合,可以是硬盘和网卡、硬盘和显卡,内存和主板等,有效避免了特殊软件伪造用户计算机信息码的情况发生。密钥生成器将用户计算机信息码经MD5算法加密形成密文,计算机指纹信息,完成了现场序列号采集的过程。
2、密钥转换
密钥转换是把采集来的计算机指纹信息再次加密转换成密文“Security.enc”的过程,此过程通过“密钥转换器(Encrypt.exe)"来实现。
点击密钥转换器中的“打开文件”按钮,导人“序列号采集”步骤中由密钥生成器采集的系统指纹信息(支持多个用户的指纹信息码导人)。当系统指纹信息导入完毕后,点击“Generate Certificated File"按钮进行信息加密,并保存生成的密文“Security.enc”,由信息服务中心加密人员将该密文文件发送给用户(图3)。
3、解密验证
解密验证就是通过验证函数库中的函数判断用户是否合法。验证函数库被封装到DLL(动态链接库)中,实现软件源代码与密钥分离,当增加新用户时无需改动程序源代码。
对于新用户,信息服务中心加密人员将客户端应用软件安装执行程序、相关DLL文件和密文“Se-curity. enc”发送给用户即可使用录井应用软件。
对于已经获得且仅获得客户端应用软件安装执行程序的用户,信息服务中心加密人员无需重新编译源程序,只需将相关DLL文件和密文“Security.enc”发给用户即可。用户要将密钥转换器生成的密文“Security.enc”放在与客户端应用软件位置相同的根目录下,程序将再次采集用户的计算机信息,经加密生成的密文与密文“Security.enc”相比较,只要内容相同即可使用录井客户端应用软件。
三、数据传输链路加密
远程传输系统实时读取存储在现场地质数据库中的数据和综合录井实时数据,经过数据压缩后再采用RC4算法加密,经过压缩加密后的数据即时发送到中心数据接收服务器,服务器接收到数据包后通过RC4算法解密,再将数据包解压,将地质数据和综合录井实时数据解密后写人中心数据库,经过授权后在网络上发布供相关人员浏览查看(图4)。
小知识之录井
录井:记录、录取钻井过程中的各种相关信息。