网络密码安全分析

2024-10-19

网络密码安全分析(共8篇)

网络密码安全分析 篇1

摘要:针对网络密码认证中存在的风险, 提出一种基于浏览器的密码安全认证方法。该方法利用Windows消息传递机制和浏览器插件的特点并引入钩子技术、散列函数, 从而保护用户密码认证安全, 并为每一个站点生成惟一的认证密码。

关键词:浏览器插件,密码认证,钩子技术,散列函数,网络钓鱼

随着网络的快速发展, 各种各样的黑客攻击层出不穷, 对用户和网络造成巨大的安全风险。由于绝大多数网站采用表单提交密码的方式认证用户身份, 进而为之提供个性化服务, 一旦黑客通过某些技术窃取用户密码等重要信息, 那么黑客便可以用户合法的身份登录窃取用户信息等资料。密码认证安全的研究有2个方向, 一是基于客户端, 二是有服务器端参与。目前, 国内基于客户端的研究较少, 研究领域集中在交互协议方面来保护认证密码安全, 如一次性密码认证协议[1];国外在密码认证安全领域的研究有PwdHash[2]、Spoofgard[3]和Spyblock[4]等。在服务器的参与下, 引进交互认证协议可以较好地保护用户认证密码的安全, 但实际中各服务站点不可能全部支持该协议。为此, 本文分析国外几种基于客户端研究的优、缺点, 提出一种浏览器插件形式的客户端密码认证安全方法。

1 网络攻击

1.1 弱密码攻击

面对众多的Web服务网站, 用户为了便于记忆, 通常对不同网站设置易记且相同的密码, 由于网站安全等级参差不齐, 所以当用户在某网站的认证密码被窃取后, 在其他网站的信息安全也可能遭到威胁。认证密码的复杂度在一定程度上影响用户在该网站的信息安全, 甚至是其他网站的信息安全, 虽然一些网站在用户登录认证时, 用MD5对用户的密码进行散列处理, 但通过离线的字典攻击, 用户的明文密码仍能被破解。

1.2 键盘记录攻击

为了窃取用户的密码等信息, 运行在用户主机上的恶意程序利用挂钩监控原理都具备键盘记录功能, 其能够记录用户按键信息或浏览器页面密码栏中的数据, 直接或间接发送给黑客, 从而使得黑客窃取用户的密码等重要信息。以木马攻击为例, 它是目前最常见的键盘记录的载体, 能够控制对方的鼠标、键盘等, 能够监视屏幕显示信息、文件传递信息, 控制对方信息的发送和接收等。

1.3 Java Script脚本攻击

在文档对象模型 (DOM) 和其他浏览器的帮助下, Java Script能够完善客户端功能和网页的外观, 使网页更具有吸引力、互动性和较快响应速度。但是Java Script超强的能力也会给用户带来许多不便及安全威胁。一方面, 它能降低用户上网体验, 如弹出广告窗口和篡改浏览器配置;另一方面, 它又能被黑客利用窃取用户的敏感信息, 例如钓鱼攻击[5]。特别是在钓鱼攻击中, 它常被用来伪装钓鱼网站迷惑用户, 从而使黑客能够成功诱骗用户密码等敏感信息。用此种攻击的方式有键盘监视、窃取表单域、“域重写”等。

1.4 网络钓鱼

网络钓鱼通常利用含有虚假链接的电子邮件引诱用户访问一些和真实站点外观几乎一样的Web站点来进行网络诈骗, 意图引诱受骗者泄露自己的私人资料, 如信用卡号、银行卡密码、身份证号等内容[5]。钓鱼网站为了增强自身的可信度通常采用一些脚本技术隐藏容易暴露的线索, 例如, 修改URL、制作虚假的SSL、修改状态栏等。另一种形式的钓鱼攻击 (Spear Phishing) 能够向特定的组织或其内部员工发送电子邮件, 这种攻击效率更高, 且不易被反钓鱼工具捕获。当黑客“控制”了用户访问网站的习惯后, 使得用户增强了对网站的信任, 那么钓鱼攻击的成功率就会大大提升。

网络中还有其他攻击, 如嗅探攻击、会话劫持、“域中毒”、ARP欺骗攻击等, 这些攻击需要服务器的参与。

2 理论基础及相关技术

越来越多的服务商选择B/S架构, 通过用户密码识别用户身份, 为用户提供个性化服务。由于用户密码是用户身份识别的惟一标识, 拥有该密码就意味着拥有该账户的合法身份, 因此用户密码成为黑客攻击的首要目标。

2.1 浏览器插件

浏览器插件BHO是微软公司推出的作为浏览器对第三方程序员开放交互接口的业界标准, 是实现特定接口的COM组件。借助于BHO, 可以编写一个进程内COM对象, 注册于注册表中Browser Helper Object键下, 这个对象在每次启动时都会加载该对象, 这样该对象就会在与之相同的上下文中运行, 并对可用的窗口和模块进行任何行动, 其通常以工具栏的形式出现在浏览器中。在Browser Helper Object键下列出的每一个CLSID, IE都会在相同的进程空间, 比如在浏览器中, 调用Co Create Instance来启动一个新的BHO实例。如果这个BHO已经注册了自己的CLSID并且实现了IObjectwithSite接口, 那么这个被IE启动的BHO就传递了一个指针给IE浏览器的I-WebBrowser2接口。

通过这个接口, BHO可以控制并收到来自IE浏览器的事件及行为, 比如“后退”“前进”“刷新”等。利用BeforeNavigate2事件获取IE当前加载的URL, 提交的Data, 并且可以控制是否继续刷新页面。程序员也可以用代码控制浏览器行为及当前页面DOM的数据, 比如用户在表单栏中的数据。此外, BHO还能够安装钩子以监控一些消息和动作。本文就是利用BHO这个特性安装钩子程序, 进而抵御键盘记录等恶意软件对用户密码的攻击。

2.2 钩子技术

钩子 (Hook) 是Windows平台上的一种Windows消息处理机制, 它可以设置子程监视指定窗口的某种消息。当特定的消息发出, 在没有到达目的窗口前, 钩子程序就先捕获该消息, 即钩子函数先得到控制权。这时钩子函数既可以加工处理 (改变) 该消息, 也可以不作处理而继续传递该消息, 还可以强制结束消息的传递或发送一个其他消息到目的地。根据钩子对消息监视范围的不同, 分为系统钩子和线程钩子2类, 且线程钩子的优先级别高于系统钩子, 线程钩子只能监视本进程中某个指定线程的事件或消息, 系统钩子监视系统中所有线程的事件或消息。钩子子程是一个应用程序定义的回调函数, 编写好相应的功能函数后, 利用Set Windows Hook Ex () 函数便可以指定钩子、监控事件及钩子类型等。为了不影响用户获取键盘消息, 本文采用线程钩子, 也就是线程钩子只监视浏览器页面内的击键消息。

2.3 散列算法

散列算法就是把任意长度的输入通过一个不可逆的散列算法, 变换成固定长度的输出。由于Hash算法是单向的, 一旦数据被转换, 就无法再以确定的方法获得其原始值, 因此, 除了应用于数字签名外, 也广泛应用于加密和解密技术, 典型的算法如MD5和SHA-1。理论上无法从散列值恢复出原文信息, 但黑客通常使用“跑字典”的方式来破解散列值, 其成功率较高。为此, 本文采用带密钥的散列函数hmac_md5 (pwd, key) 对用户密码进行散列, 从而提高抵抗“跑字典”攻击的能力。密钥key选择了当前站点域名作为哈希密钥。在钓鱼页面中, 输入的密码将会和钓鱼页面的域名进行哈希运算, 而在合法页面中的密码和合法页面的域名哈希, 由于二者域名不同, 因此哈希值也不同, 结合密码指示灯便可更直观地警示用户输入密码时是否安全。

3 设计体系及流程

其由一个继承IObjectWithSite的COM组件、一个作为IE工具栏加载的接口以及其他几个响应工具栏组件的模块组成, 2个窗口类实现CWindowImpl的接口来定义工具栏的外观和用户交互的界面, 见图1。

Warn Bar, 当用户提交表单时检查表单action的值是否改变, 如果改变则向用户提示;Reflection Wnd, CWindowImpl类实现了一个透明窗口, 用来将用户消息传递到弹出的警示窗口;Pwd Tool Bar, CWindowImpl类定义了密码助手在工具栏中出现的形式, 用户的预置信息便保存在其中, 最后存储在注册表中。Warn Bar需要Pwd Tool Bar的信息来决定密码指示灯的颜色。

当IE浏览器启动后, 它调用IObjectWithSite接口中的SetSite方法初始化密码助手, 密码助手收到一个指向网页浏览器对象的指针, 并通过ReflectionWnd和Pwd Tool Bar使密码助手不断检查内容浏览器事件。IE的DWebBrowserEvents2类导出BeforeNavigate2和Document Complete事件处理程序。因为BeforeNavigate2事件发生在navigate事件之前, 这就使得Warn Bar在浏览器跳转之前获取表单的URL并有机会取消跳转页面。当键盘钩子侦测到密码键或密码前缀时, 密码助手判定当前活动元件是否是密码型控件, 若不是, 则警告用户;若是, 则密码助手截取所有键盘输入的可打印字符, 直到焦点离开该密码型元件域。键入的字符将会存放在密码助手指定的内存中, 当侦测到焦点离开密码型元件域后, 然后结合预置信息对用户键入的密码进行散列加密运算, 并放在该地址的内存中。这样也允许用户在密码栏中回退、删除密码, 而不会导致数据出错, 也不会影响用户上网体验。

在用户提交表单之前, 密码栏中一直存放的是键盘钩子返回的伪字符串 (并不是用户在该网站的真实认证密码) 。当用户提交表单时, 密码助手便可利用BeforeNavigate2处理程序拦截提交事件。由于IE浏览器不允许密码助手在BeforeNavigate2处理程序中直接编辑表单数据, 因此就需要撤销原始BeforeNavigate2事件, 并创建一个含有用户真实密码数据的新BeforeNavigate2事件。密码助手包含这么一个数据结构, 即用于识别BeforeNavigate2事件是被密码助手撤销, 还是被用户撤销, 避免密码助手重复转换表单中的数据, 使之进入死循环。

4 功能测试与分析

在IE浏览器6.0上安装密码助手后, 经测试, 键盘记录软件、脚本捕获的是伪字符串。在钓鱼攻击中, 假定http://localhost/Tlogin.aspx为真实网站, http://localhost/Flogin.aspx为钓鱼网站, 输入相同的认证密码登陆后, 发现数据库中存放了2个不同的散列值, 结果符合开发初的构想。将国外2个同类软件与密码助手对比分析可以得出, 密码助手优于其他2个软件 (见表1) 。

总之, 本文旨在研究一种基于客户端的密码认证安全的方法, 利用底层钩子优先捕获击键事件, 而浏览器插件最后捕获页面事件的特性, 设计了一种能够有效保护用户认证密码, 使其不受本地键盘记录、网页脚本、网络钓鱼等攻击的插件。鉴于Web服务的不确定性, 本文的设计未与服务器进行信息交互, 所以其还不能抵御网络嗅探、会话劫持、“域中毒”等攻击, 这也是本课题以后要研究的内容。

参考文献

[1]Bin Li, Shaohai Hu.A practical one-time password authentication im-plement on Internet[C].Hangzhou, 2006.

[2]Blake Ross Collin, Jackson Nick, Miyake.Stronger Password Authenti-cation Using Browser Extensions[EB/OL].http://crypto.stanford.edu/Pwd-Hash, 2008-12-20.

[3]Neil Chou, Robert Ledesma.Client-side defense against web-based i-dentity theft webspoof[EB/OL].http://crypto.stanford.edu/webspoof, 2008-03-25.

[4]Collin Jackson, Dan Boneh, John Mitchell.Spyware Resistant Web Au-thentication Using Virtual Machines spyblock[EB/OL].http://crypto.stan-ford.edu/spyblock/spyblock-2.pdf, 2008-12-30.

[5]Legon, Jeordan.“Phishing”scams reel in your identity[EB/OL].http://www3.cnn.com/2003/TECH/internet/07/21/phishing.scam, 2009-01-10.

网络密码安全分析 篇2

摘要:计算机网络为人们生活带来便利的同时,也添加了一些安全隐患。目前很多领域的发展已经离不开计算机网络,所以解决计算机安全隐患成为了目前重点研究对象。现代数学是科学技术研究的重要工具,可以将其与密码技术相结合共同解决网络安全问题。本文首先对网络安全密码技术的概念与数学模型进行了简要介绍,在其基础上,对经典密码学、对称密码学以及公钥体系中的数学问题展开了详细论述。

关键词:现代数学;网络安全;密码技术

随着科学技术的快速发展,计算机网络技术得以不断完善,并逐渐融入到人们的生活当中。但是计算机网络技术的发展离不开数学,只有充分利用数学知识,才能够使得计算机网络技术有一定的提高,所以现代数学对于其发展具有不可或缺的作用[1]。现代数学自身比较抽象,在实际应用当中较为困难,因此,本文分析的现代数学在计算机网络安全密码技术中的运用具有重大意义。

一、网络安全密码技术的概念与数学模型

密码学的研究对于计算机网络安全通信来说意义重大,其主要目的是研究秘密通讯,也就是说采用秘密变换的方式,防止信息泄露,从而达到安全通信的目的[2]。公共信息的信息传输以及计算机系统的存储都比较容易遭受攻击,主要分为被动攻击和主动攻击。其中被动攻击主要包括拷贝信息、窃取存储载体上的信息、盗取传输信道中的信息等;主动攻击主要包括删除存储载体上的信息、在传输过程中插入信息等。对于以上这两种攻击,可以通过密码技术对其进行有效解决。实践证明,密码技术可以解决该类问题,并且成本较低,它的使用可以保证整个通信过程的.安全。随着信息技术的快速发展,传统的密码学已经被现代密码学所取代,由于现代密码学自身的特点可以满足人们的需求,所以得到了广泛的应用。现代数学方法与计算机网络的有效结合使得密码技术的概念以及工具有所改变,促进了密码技术的快速发展[3]。但是这种做法也为破译人员提供了破坏途径。与密码加密算法对立的是密码分析,也可以将其理解为一种密码破译技术。密码的加密与密码的破译两者之间具有相辅相成的关系,任何一方想要获取胜利都必须加强对数学的理解,同时还需要提高编码设计能力[4]。密码学的构成要素如下所示:1)明文:指的是一种信息的原始形式,也可以将其理解为用户需要发送出去的数据,记为Plaintext,简记为P。2)密文:指的是一种在明文的基础上进行变换加密后的形式,也可以将其理解为通过数学运算获取变换后的数据,记为Ciphertext,简记为C。3)加密:指的是明文向密文转换的过程,记为Enciphering,简记为E。一般情况下,通过使用加密算法就可以完成加密,也可以将其理解为一种数学加密函数,其中单向函数比较常用。4)解密:指的是密文还原为明文的过程,记为Deciphering,简记为D。一般情况下,通过使用解密算法就可以完成解密,也可以将其理解为一个数学函数。5)加密密钥PK:为了对加密算法进行有效控制,在整个处理过程当中,需要发送方掌握的一些专门信息参与到其中,这里的专门信息就被叫做加密密钥,记为PublicKey,简记为PK。6)解密密钥SK:为了对解密算法进行有效控制,在整个处理过程当中,需要接收方掌握的一些专门信息参与到其中,这里的专门信息就被叫做解密密钥,记为PrivateKey,简记为SK。对于密码技术的数学模型,通常情况下需要对报文进行加密,将密钥作为参数的函数进行变换,经过加密处理后所输出的文件叫做密文,而密码分析实际上就是对密码进行破译的一门技术。所以,密码技术可以分为密码的设计技术以及密码的破译技术,也就是加密技术和密码分析。将计算机技术是否应用于算法当中作为分类依据,可以将密码技术分为经典密码学、对称密码学以及公钥体系。

二、经典密码学中的数学问题

COT压缩方法主要包括3个步骤,分别是图像的配准、图像的压缩以及图像的分割[5]。浮动图像的选取主要依据相似图像集当中的一幅画像,该图像用S来表示,选取模板T完成图像配准工作,经过配准操作所获取的图像为灰度图像,记为R。接下来利用模板对R进行有效控制,从而缩短图像分割的时间,经过分割获得的区域称为相似区域和非相似区域,其中非相似区域分为三种类型,分别是TZ、GZ和IZ,然后选用不同的编码方法分别对这三种类型区域进行编码。经典密码学在没有使用计算机技术的前提下,对通信进行处理的一种通信密码技术。例如凯撒密码,它是最古老的一种通信密码技术,也是一种替代密码。例如利用凯撒密码对26个字母进行表示,a由D来表示,b由E来表示,c由F来表示,…,z由C来表示,也可以将其理解为明文字母相对于密文字母循环右移了若干位,所以又可以将其称为循环移位密码。在经典密码学当中蕴含着一个映射函数,对应的公式为。其中,密钥用k表示,明文字母的位置用c表示,字符集中的字母数量用n表示。

三、对称密码学中的数学问题

在对称密码学的加密模型当中,其加密密钥与解密密钥全部相同,并且其运算所用的密钥也全部相同。一般情况下,所使用的加密算法具有简便性以及高效性,其密钥非常简短,但是破译起来困难重重。比较有名的一种密码算法是DES,它是由IBM公司研制的一种加密算法,并于1977年得以公布,非机要部门将其作为数据加密标准。同时,DES算法还有一个名称“分组交换密码”,它可以对64bit二进制数据进行有效处理,并且可以一次性将其处理完,其对应的密码是64bit二进制数据,所获取的密文也是64bit二进制数据,通过使用非线性函数即可对其进行加密。对称密码技术不只DES这一种密码算法,比较常用的还有ADES算法以及IDEA算法,这两种算法所涉及到的数学知识主要有矩阵的置换、离散数学的逻辑计算以及迭代计算等,在对密码进行破解的过程中,多数选取“差分分析法”作为主要数学工具,从而更好地进行加密算法分析。

四、公钥体系中的数学问题

一直以来,计算机网络安全问题都是一个重要解决对象。为了确保计算机网络的运行环境的安全性,必须对其进行加强密码管理的操作。通常情况下,大部分学者会使用“对称密码技术”,但是对于计算机网络安全的信息传送以及对应的保管密钥还有待于进行进一步的研究。1976年,有位学者对该问题进行深入研究,在最重的总结报告中表明了最新的密码学动向,将密钥交换协议观点作为依据,提出了一种新的观点“不对称密钥体制”,也就是我们所说的“公开密钥密码体制”。目前,公开密钥密码算法还不够完善,实用算法不是很多,主要包括椭圆曲线公钥密码、RSA公钥密码、背包公钥密码系统等。其中每一个算法涉及到的数学问题都比较多,例如椭圆曲线公钥密码需要的数学知识不仅是微分方程,还需要利用椭圆积分等相关数学知识。据相关调查统计可知,目前只有RSA公钥密码可以应用到实际当中,而其他的算法还有待于进一步的完善。

五、总结

随着计算机网络技术的快速发展,网络安全问题越来越得到人们的重视。密码技术的出现使得网络安全问题得以有效控制,而密码技术与现代数学密切相关,在对计算机网络安全密码技术进行研究时,必须将现代数学作为研究依据,只有将其得以充分利用,才能够将密码技术的功能发挥到极致,使得人们的个人信息以及隐私得以有效保障,为今后计算机网络安全密码技术的研究奠定基础。

参考文献:

[1]张明明.计算机通信网络安全问题和防护策略[J].中国科技博览,(44):271.

[2]张新刚,王保平.创新型计算机网络教学模式的探索与实践[J].网络安全技术与应用,(9):67-69.

[3]魏法泉.计算机信息技术在初中数学教学中的应用研究[J].网络安全技术与应用,(12):109-110.

[4]郑魁巍.计算机网络安全问题剖析[J].现代农业,(11):104-105.

网络密码安全分析 篇3

[关键词] 网络支付 信息安全 量子计算 量子密码

目前电子商务日益普及,电子货币、电子支票、信用卡等综合网络支付手段已经得到普遍使用。在网络支付中,隐私信息需要防止被窃取或盗用。同时,订货和付款等信息被竞争对手获悉或篡改还可能丧失商机等。因此在网络支付中信息均有加密要求。

一、量子计算

随着计算机的飞速发展,破译数学密码的难度也在降低。若能对任意极大整数快速做质数分解,就可破解目前普遍采用的RSA密码系统。但是以传统已知最快的方法对整数做质数分解,其复杂度是此整数位数的指数函数。正是如此巨额的计算复杂度保障了密码系统的安全。

不过随着量子计算机的出现,计算达到超高速水平。其潜在计算速度远远高于传统的电子计算机,如一台具有5000個左右量子位(qubit)的量子计算机可以在30秒内解决传统超级计算机需要100亿年才能解决的问题。量子位可代表了一个0或1,也可代表二者的结合,或是0和1之间的一种状态。根据量子力学的基本原理,一个量子可同时有两种状态,即一个量子可同时表示0和1。因此采用L个量子可一次同时对2L个数据进行处理,从而一步完成海量计算。

这种对计算问题的描述方法大大降低了计算复杂性,因此建立在这种能力上的量子计算机的运算能力是传统计算机所无法相比的。例如一台只有几千量子比特的相对较小量子计算机就能破译现存用来保证网上银行和信用卡交易信息安全的所有公用密钥密码系统。因此,量子计算机会对现在的密码系统造成极大威胁。不过,量子力学同时也提供了一个检测信息交换是否安全的办法,即量子密码技术。

二、量子密码技术的原理

从数学上讲只要掌握了恰当的方法任何密码都可破译。此外,由于密码在被窃听、破解时不会留下任何痕迹,用户无法察觉,就会继续使用同地址、密码来存储传输重要信息,从而造成更大损失。然而量子理论将会完全改变这一切。

自上世纪90年代以来科学家开始了量子密码的研究。因为采用量子密码技术加密的数据不可破译,一旦有人非法获取这些信息,使用者就会立即知道并采取措施。无论多么聪明的窃听者在破译密码时都会留下痕迹。更惊叹的是量子密码甚至能在被窃听的同时自动改变。毫无疑问这是一种真正安全、不可窃听破译的密码。

以往密码学的理论基础是数学,而量子密码学的理论基础是量子力学,利用物理学原理来保护信息。其原理是“海森堡测不准原理”中所包含的一个特性,即当有人对量子系统进行偷窥时,同时也会破坏这个系统。在量子物理学中有一个“海森堡测不准原理”,如果人们开始准确了解到基本粒子动量的变化,那么也就开始丧失对该粒子位置变化的认识。所以如果使用光去观察基本粒子,照亮粒子的光(即便仅一个光子)的行为都会使之改变路线,从而无法发现该粒子的实际位置。从这个原理也可知,对光子来讲只有对光子实施干扰才能“看见”光子。因此对输运光子线路的窃听会破坏原通讯线路之间的相互关系,通讯会被中断,这实际上就是一种不同于传统需要加密解密的加密技术。在传统加密交换中两个通讯对象必须事先拥有共同信息——密钥,包含需要加密、解密的算法数据信息。而先于信息传输的密钥交换正是传统加密协议的弱点。另外,还有“单量子不可复制定理”。它是上述原理的推论,指在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就必须先做测量,而测量必然会改变量子状态。根据这两个原理,即使量子密码不幸被电脑黑客获取,也会因测量过程中对量子状态的改变使得黑客只能得到一些毫无意义的数据。

量子密码就是利用量子状态作为信息加密、解密的密钥,其原理就是被爱因斯坦称为“神秘远距离活动”的量子纠缠。它是一种量子力学现象,指不论两个粒子间距离有多远,一个粒子的变化都会影响另一个粒子。因此当使用一个特殊晶体将一个光子割裂成一对纠缠的光子后,即使相距遥远它们也是相互联结的。只要测量出其中一个被纠缠光子的属性,就容易推断出其他光子的属性。而且由这些光子产生的密码只有通过特定发送器、吸收器才能阅读。同时由于这些光子间的“神秘远距离活动”独一无二,只要有人要非法破译这些密码,就会不可避免地扰乱光子的性质。而且异动的光子会像警铃一样显示出入侵者的踪迹,再高明的黑客对这种加密技术也将一筹莫展。

三、量子密码技术在网络支付中的发展与应用

由于量子密码技术具有极好的市场前景和科学价值,故成为近年来国际学术界的一个前沿研究热点,欧洲、北美和日本都进行了大量的研究。在一些前沿领域量子密码技术非常被看好,许多针对性的应用实验正在进行。例如美国的BBN多种技术公司正在试验将量子密码引进因特网,并抓紧研究名为“开关”的设施,使用户可在因特网的大量加密量子流中接收属于自己的密码信息。应用在电子商务中,这种设施就可以确保在进行网络支付时用户密码等各重要信息的安全。

2007年3月国际上首个量子密码通信网络由我国科学家郭光灿在北京测试运行成功。这是迄今为止国际公开报道的惟一无中转、可同时任意互通的量子密码通信网络,标志着量子保密通信技术从点对点方式向网络化迈出了关键一步。2007年4月日本的研究小组利用商业光纤线路成功完成了量子密码传输的验证实验,据悉此研究小组还计划在2010年将这种量子密码传输技术投入使用,为金融机构和政府机关提供服务。

随着量子密码技术的发展,在不久的将来它将在网络支付的信息保护方面得到广泛应用,例如获取安全密钥、对数据加密、信息隐藏、信息身份认证等。相信未来量子密码技术将在确保电子支付安全中发挥至关重要的作用。

参考文献:

[1]王阿川宋辞等:一种更加安全的密码技术——量子密码[J].中国安全科学学报,2007,17(1):107~110

[2]赵千川译:量子计算和量子信息[M].北京:清华大学出版社,2004

网络用户账号密码安全问题调查 篇4

与历史上改变人类生活方式的重大技术革命一样,网络技术已经成为一把名副其实的双刃剑。从模拟信号到数字信号、从有线连接到无线连接、从静止通讯到移动通讯、从单计算机应用到多计算机互联、从人 - 人互联到人 - 物与物 - 物互联,网络技术发展到今天,已经无处不在、不可或缺。但由于因特网的基础协议(TCP/IP未考虑信息安全因素,使得在网络信息技术飞速发展的今天,安全问题也异常突出。网络账号密码泄密、网络阻塞、网站瘫痪、邮件伪造、黑客入侵、网络欺诈、假冒网站等信息安全问题,已经严重威胁电子金融、电子商务、电子政务、网络媒体、网络社交等互联网络服务的安全与信任问题。

愈演愈烈的“密码危机”已经演变成为对网络技术的信任危机。近年来,互联网用户信息泄露与入侵事件层出不穷,事件日益严重。例如,索尼上亿用户信息泄露,韩国SK通讯公司七成韩国人资料遭泄露,日本爱普生公司泄露3500万用户信息, 美国银行与美国花旗银行信用卡信息遭泄露,华盛顿邮报百万用户信息遭泄露……近年来 , 我国也发生了史上最为严重的用户信息泄露事件。2011年12月,CSDN上600万用户资料被公开,知名团购网站美团网的用户账号密码信息也被宣告泄露,天涯社区、开心网、7K7K、猫扑等多个社区和游戏网站的用户数据相继外泄,网上公开暴露的网络账号密码超过1亿个。2013年3月, 著名云笔记服务提供商Evernote 5000万用户身份密码遭黑客泄漏。2014年12月,中国铁路客户服务中心12306用户数据在互联网遭到大量泄漏,包括用户账号、明文密码、身份证以及邮箱等。如何确保互联网上个人、组织、服务和设备之间的虚拟服务具有与现实服务同等的可靠度与诚信度,已成为网络安全行业在信息安全理论、技术、工程与管理上迫在眉睫、义不容辞的责任与使命。

身份认证是网络信息安全的基本保障。网络服务器通过身份认证与访问控制方式对合法注册用户进行授权与管理。用户首先通过注册(账号与密码)成为网络服务器的合法用户, 只有通过身份认证的用户才能访问 /使用(阅读、修改、下载等)网络服务器相应角色的资源。身份认证与访问控制是网络信息安全的基本技术和基本研究内容。网络信息安全涉及计算机操作系统、互联网络安全协议与密码算法的安全性,其中网络安全协议以密码算法为基础,采用网络协议的形式实现两个以上网络实体之间的远程身份认证、密钥协商以及确保消息的不可抵赖性。安全协议的安全性不仅取决于密码算法自身的安全性,同时也取决于协议形式的安全性。身份认证协议常用攻击方法包括网络监听、重放攻击、中间人攻击、在线攻击、离线攻击等等,一个不安全的身份认证协议可以被黑客利用进行网络攻击。因此,身份认证协议的安全性是确保网络身份认证安全的技术基础。

2 电子邮件系统与商业网站账号安全

我们首先对每个电子邮箱的三种登录方式分别进行了用户账号密码的传输方式测试,包括POP3登录方式、IMAP登录方式以及Web登录方式。然后,对每个电子邮箱注册服务过程中用户注册信息的传输方式进行测试。

2.1电子邮箱POP3客户端登录安全方式调查

我们在2011年8月的调查结果表明,采用POP3客户端登录方式的所有国内电子邮件服务提供方默认使用明文密码进行用户身份认证,而且其中46%的境内邮件服务提供方(28家中的13家)仅支持明文密码认证。我们在2012年8月的调查结果表明 , 采用POP3客户端登录方式的所有境内电子邮件服务提供方仍然默认使用明文密码进行用户身份认证, 而且其中39%的境内邮件服务提供方 (28家中的11家 )仅支持明文密码认 证。一年 期间 , 中国移动 的139mail新增HTTPS支持,Tommail新增Login支持。此点说明,已经有境内电子邮件服务提供方开始认识到用户登录身份认证安全的重要性。调查统计结果如图1(a)所示。

2.2电子邮箱IMAP客户端登录安全方式调查

我们在2012年8月的调查结果表明,25%的境内邮件服务提供方(28家中的7家)不支持IMAP客户端登录。在支持IMAP客户端登录的境内电子邮件服务提供方中,所有提供方默认使用明文密码进行用户身份认证,其中33%的提供方(21家中的7家)仅支持明文密码认证。调查统计结果如图1(b)所示。

2.3电子邮箱Web页面注册与登录安全方式调查

我们在2012年8月的调查 结果表明 , 除亿邮(www.eyou.mail) 关闭了注册功能外 , 所有境内邮件服务提供方在用户注册过程中均将注册信息(包括账号与密码)以明文方式传输至注册服务器。在已调查的28个境内知名邮件服务提供方中有19个(比例为67.9%)为收费邮件服务 (每月收取服务费用从五元至上百元不等),有9个(比例为32.1%)提供免费电子邮件服务。调查结果表明,境内邮件服务商信息安全意识不强,对用户私密信息缺乏足够安全保护。令人震惊的是,19家收费电子邮件系统中竟有16家(比例为84.2%)默认使用明文密码进行登录认证,仅有3家提供非明文密码的登录认证方式,而且其中一家仅仅采用极其简单的线性掩码变换方式对登录密码进行保护,另外两家则采用安全的HTTPS方式对登录过程中的密码传输进行加密保护。由此可见,境内电子邮件系统安全性十分脆弱。在9家免费电子邮件系统中,仅有搜狐旗下的4家提供安全的HTTPS对登录过程的密码传输进行加密保护, 另外三个使用用户明文密码进行登录认证,剩余两家使用单向挑战响应认证方式对用户账号密码进行有限保护。根据轻量级(非公开密钥密码系统)动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理,可以推定其中使用单向挑战响应认证方式的两家邮件服务商均采用明文密码数据库,因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图2所示。

2.4 国外电子邮箱系统安全性调查

作为安全性比较分析,我们对境外三大电子邮箱服务器Hotmail、Gmail和Yahoo! Mail的安全身份认证方式进行了同样的测试工作,结果发现这些邮箱的注册与登录过程全部以安全HTTPS协议方式对用户账号密码信息进行加密传输,基本上没有明文账号密码传输认证方式选项。

境内电子邮件服务提供方仅采用最低安全级别的明文密码传输方式进行身份认证,而境外电子邮件服务方一般提供安全级别很高的口令密码加密传输保护方式。因此,境内电子邮件系统极易受到境内外黑客或者情报部门攻击,并利用用户个人私密信息进行商业牟利或政治与军事渗透活动。重视账号和内容安全的国内电子邮件用户因而转投境外电子邮件提供方。由于我们无法控制国外邮件服务器,而境外情报部门却能轻易控制并利用境内的电子邮箱信息,致使我国在网络信息安全技术领域处于不对称的弱势地位。此外,我国现有网络服务器等网络核心设备一般采用国外主机与操作系统,由网络设备制造方预设的硬件后门和软件后门所导致的安全风险也不容小觑。

2.5 商业网站账号安全性调查

名目繁多的境内互联网商业网站为用户提供购物、旅游、聊天、交友等系列服务,极大便利了广大用户的生活。这些网站数据库中留下了用户的各种私密信息(爱好、消费内容和习惯、交往人群等),如果这些用户信息发生集中泄露事件,用户就毫无隐私可言。2011年12月期间我国系列网站账号数据库集中泄露事件表明,境内商业网站的账号与密码的安全性令人质疑。

2012年8月我们集中调查了30家知名商业网站的账号密码安全性。受调查的商业网站涵盖生活、招聘、交友、团购、购物、旅游和视频等方面,在一定程度上代表了当前服务性商业网站的主流应用。我们主要通过监控用户注册过程和用户登录过程,检查网站是否提供必要的安全技术对用户的账号密码进行保护。其中29家商业网站在用户提交注册信息(包含账号密码)的过程中均未提供任何安全保护,包括知名购物网站淘宝网,用户设定的账号和密码通过明文方式经过不安全的互联网传送至网站服务器。京东商城使用HTTPS对注册和登录过程进行保护。

26家商业网站 (比例86.7%对用户的登录认证过程未提供任何安全保护,仅仅采用明文密码认证方式,包括知名团购网站拉手网和美团网以及三大招聘网站,如图3所示。仅有淘宝和京东商城提供了安全的HTTPS对用户登录认证过程的密码传输进行加密保护,另有三家网站(58同城、开心网和新浪微博)采用单向挑战响应认证方式对用户在登录认证过程中的密码传输进行了有限的保护。根据动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理, 可以推定其中使用单向挑战响应认证方式的三家商业网站服务商采用明文密码数据库, 因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图3所示。2014年8月,我们再一次对此30家知名商业网站的账号密码安全性进行复查,发现58同城网、CSDN论坛网、美团购物网、大公点评网以及去哪儿旅游网等几家商业或社交网站的注册与登录信息传输已经采用HTTPS安全协议进行了加密封装,其它网站仍然没有进行必要的安全升级。

3 调查结论与建议

3.1 调查结论

(1)境内互联网服务提供方用户的身份注册与登录认证过程普遍默认采用静态身份认证方式。虽然认证数据库用户的账号密码存储方式不明,但用户的账号密码却几乎全部采用明文密码传输方式。因此,容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。

(2)绝大部分境内互联网服务提供方的用户注册信息(账号与密码)传输仅仅提供唯一的明文传输方式,近半数境内互联网服务提供方用户登录身份认证的账号密码传输仅仅提供唯一的明文传输方式。因此,非常容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。

(3)境外互联网几大专业电子邮箱服务器HotmailGmail和Yahoo! Mail均采用SSLTLS协议对口令实施加密传输动态认证,防止账号口令密码网络明文传输泄密风险;认证服务器数据库则采用账号口令散列值加密方式,预防数据库内部集中泄密风险。

(4)为了确保网络身份认证数据库安全与认证过程中认证信息传输的安全性,无论是国际互联网还是包括军网在内的各种内部专网,必须采用SSLTLS协议将网络身份认证过程加密封装,在口令密码散列值加密存储方式下实现非对称密码体制下的动态身份认证。

(5)密码算法、安全协议与网络工程以及操作系统各专业研究领域必须紧密合作,才能保证一项互联网应用工程中的信息安全。我国互联网普遍存在用户账号密码明文传输的不安全静态认证方式,根本原因在于互联网应用工程设计人员网络安全意识不强,对网络安全协议缺少研究, 对常规网络攻击方法与行为缺乏了解,对潜在的网络攻击新理论与新技术更缺少关心。

根据轻量级动态身份认证的一致性原理可以推定,采用轻量级动态身份认证方式的认证数据库一般采用用户账号密码的明文存储方式。根据一致性原理同时可以推定,安全的认证数据库一般采用用户账号密码的单向散列值影子文件加密保护,而采用SSL/TLS安全协议将静态认证的明文密码传输转换成重量级动态认证的加密传输方式。这样,网络身份认证才能既可防止认证数据库的内部集中泄密风险,又能防止外部网络监听的重放攻击。

3.2 应急建议

(1)尽快对我国互联网开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。

(2)尽快对我国各行业内部专用互联网 (解放军内部信息专网、政府办公专网、金融专网、邮电专网、铁路专网等等) 开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。

(3)采用SSLTLS协议对我国互联网用户身份认证过程实现加密封装,确保身份认证过程的动态性。

网络密码安全分析 篇5

信息网络国际化、社会化、开放化和个人化的特点,决定了它在给人们提供高效率、高效益、高质量的"信息共享"的同时,也投下了不安全的阴影。随着政府和人民对网络环境和网络资源依赖程度的不断加深,信息泄露、黑客入侵、计算机病毒传播甚至于威胁国家安全的问题会出现得越来越多。

密码技术作为保障信息安全的核心技术,在古代就已经得到应用但仅限于外交和军事等重要领域。目前随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。密码技术不仅能够保证机密性信息的加密,而且完成数字签名、身份验证、系统安全等功能。所以使用密码技术不仅可以保证信息的机密性而且可以保证信息的完整性,还可以防止信息被篡改、伪造和假冒。

1 加密技术

加密的目的是为了保护信息的保密性、完整性和安全性,简单地说就是信息的防伪造与防窃取。信息加密原理是将信息格式转化为密文,然后传输或存储密文,当需要时再重新转化为明文。加密技术分为两类,即专用密钥加密/对称加密和公共密钥加密/非对称加密。

1.1 专用密钥加密/对称加密

对称加密的特点:专用密钥加密具有对称性,即加密密钥也可以用于解密。使用对称加密方法将简化加密的处理,通讯双方都不必彼此研究和交换专用的加密算法,而是采用相同的加密算法并只交换共享的专用密钥。

对称加密的限制:对称加密技术存在着在通信双方之间确保密钥安全交换的问题。此外,当某一通讯方有‘n’个通讯关系,那么他就要维护‘n’个专用密钥(即每把密钥对应一通讯方)。对称加密方式存在的另一个问题是无法鉴别通信发起方或通信最终方。

因为通信双方共享同一把专用密钥,通信双方的任何信息都是通过这把密钥加密后传送给对方的。

加密标准:数据加密标准(DES)是目前广泛采用的对称加密方式之一,该标准是由美国国家标准局提出的。该标准主要应用于银行业中的电子资金转帐(EFT)领域。DES的密钥长度为56位,三重DES是D ES的一种变形。这种方法使用两个独立的56位密钥对交换的信息(如EDI数据)进行3次加密,从而使其有效密钥长度达到112位。

RCZ和RC4方法是RSA数据安全公司的对称加密专利算法。RCZ和RC4不同于DES,它们采用可变密钥长度的算法。通过规定不同的密钥长度,RCZ和RC4能够提高或降低安全的程度,一些电子邮件产品(如Lotus Notes和Apple的open Colla boration Environment)已采用了这些算法。

1.2 公共密钥加密/非对称加密

非对称加密的特点:公共密钥加密使用两个不同的密钥,因此是一种不对称的加密系统。用在非对称算法中的密钥在数学上是相关的,一个密钥不能从另一个计算出来。在非对称加密体系中,密钥被分解为一对(一把公开密钥即加密密钥和一把专用密钥即解密密钥)。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为专用密钥(解密密钥)加以保存。公开密钥用于对机密信息的加密,专用密钥则用于对加密信息的解密。

专用密钥只能由生成密钥对的一方掌握,公开密钥可广泛发布,但它只对应于生成该密钥的一方。RSA算法是非对称加密领域内最为著名的算法,但是它存在的主要问题是算法的运算速度较慢。

因此,在实际的应用中通常不采用这一算法对信息量大的信息(如大的EDI交易)进行加密。对于加密量大的应用,使用对称加密方法进行加密,而公开密钥加密算法通常用于对称加密方法密钥的加密。

2 网络信息安全问题

网络与信息安全是一个综合、交叉的学科领域,要涉及到安全体系结构、安全协议、密码理论、信息分析、安全监控、应急处理等各个方面,还要利用数学、电子、信息、通信、计算机等诸多学科的长期知识积累和最新发展成果。信息安全要综合利用数学、物理、通信和计算机诸多学科的长期知识积累和最新发展成果,进行自主创新研究,加强顶层设计,提出系统的、完整的,协同的解决方案。

网络信息安全面临的威胁是多方面的,具有无边界性、突发性、蔓延性和隐蔽性等新的特点。网络模糊了地理、空间上的边疆概念,使得网上的冲突和对抗更具隐蔽性。对计算机网络的攻击往往是在没有任何先兆的情况下突然发生的,而且会沿着网络迅速蔓延。对网络信息安全防御的困难还在于,一个攻击者仅需要发起一个成功的攻击,而防御者则需要考虑所有可能的攻击,而且这种攻击是在动态变化的。因此,仅从技术上解决网络信息安全是有一定风险的。

国际标准化组织(ISO)将"信息安全"定义为:为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄露。简单说,信息安全的基本属性有可靠性、保密性、完整性、可用性和可控性。

信息保密性是指信息不被泄漏给非授权的个人和实体,或供其使用的特性。信息的保密性包括文件的保密性、传输过程中的保密性等两个方面。

信息的完整性是指信息在存储或传输时不被修改、不被破坏,不被插入、不延迟、不乱序和不丢失的特性。

信息可用性是指信息可被合法用户访问并能按要求顺序使用的特性。

信息可控性是指授权机关可以随时控制信息的机密性。每一个用户只能访问自己被授权可以访问的信息。同时对系统中可利用的信息及资源也要进行相应的分级,确保信息的可控性。

信息的可靠性是指以用户认可的质量连续服务于用户的特性。这不仅是要保护信息的安全可用,还和信息系统本身的可靠性有关。

实际上不论是局域网还是广域网,都是一种系统,所以系统安全问题的解决,必然是一项系统工程,必须采用系统工程学的方法、运用系统工程学的原理来设计网络信息安全体系。解决网络信息安全的基本策略是技术、管理和法制并举。技术是核心,要通过关键技术的突破,构筑起国家信息安全技术防范体系。管理是关键,根据"木桶原理",信息安全链条中任何一个环节的脆弱都有可能导致安全防护体系的失效,必须要加强各管理部门和有关人员间的密切合作。法制是保障,通过建立信息安全法规体系,规范信息化社会中各类主体的行为,以维持信息化社会的正常运作秩序。

3 密码是解决网络信息安全的关键技术

网络环境下信息的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码技术是信息安全技术的核心,它主要由密码编码技术和密码分析技术两个分支组成。密码编码技术的主要任务是寻求产生安全性高的有效密码算法和协议,以满足对消息进行加密或认证的要求;密码分析技术的主要任务是破译密码或伪造认证信息,实现窃取机密信息或进行诈骗破坏活动。这两个分支既相互对立又相互依存,正是由于这种对立统一关系,才推动了密码学自身的发展。目前人们将密码理论与技术分成两大类,一类是基于数学的密码理论与技术,包括公钥密码、分组密码、序列密码、认证码、数字签名、Hash函数、身份识别、密钥管理、PKI技术、VPN技术等;另一类是非数学的密码理论与技术,包括信息隐藏、量子密码、基于生物特征的识别理论与技术等。

网络信息安全体系的构建要求我们必须合理的使用多种密码技术,这样才能保证信息的可靠性、保密性、完整性、可用性和可控性。

3.1 使用信息隐藏和公钥密码、分组密码等密码技术保证信息的保密性

信息隐藏对于在网络中保护信息不受破坏起到重要作用,信息隐藏是把机密信息隐藏在大量信息中不让对手发觉的一种方法。主要侧重于隐写术、数字水印、潜信道、隐匿协议、可视密码等方面的理论与技术的研究。

3.2 使用Hash函数保证信息的完整性

Hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。Hash函数主要用于完整性校验和提高数字签名的有效性,目前己有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的,输出并不以可辨别的方式依赖于输入。

3.3 使用数字签名和各种身份验证技术保证信息的可控性

数字签名是对电子形式的消息签名的一种方法。基于公钥密码体制和私钥密码体制都可以获得数字签名,特别是公钥密码体制的诞生为数字签名的研究和应用开辟了一条广阔的道路。关于数字签名技术的研究,目前主要集中在基于公钥密码体制的数字签名技术的研究。数字签名的研究内容非常丰富,主要有RSA数字签名算法、E1Gama1数字签名算法、椭圆曲线数字签名算法和有限自动机数字签名算法等。数字签名的应用已经涉及到法律问题,美国联邦政府的部分州己制定了数字签名法,一些国家如法国和德国也己经制定了数字签名法,我国的电子签名法也在2004年颁布。

3.4 使用PKI和VPN保证信息的可靠性及可用性

简单的说,PKI技术就是利用公钥理论和技术建立的提供信息安全服务的基础设施。PKI是解决信任和加密问题的基本解决方案,本质就是实现了大规模网络中的公钥分发问题,建立了大规模网络中的信任基础。PKI是创建、管理、存储、分发和撤消基于公钥加密的公钥证书所需要的一套硬件、软件、策略和过程的集合。PKI为开放的Internet环境提供了四个基本的安全服务:

(1)认证,确认发送者和接收者的真实身份;

(2)数据完整性,确保数据在传输过程中不能被有意或无意地修改;

(3)不可抵赖性,通过验证,确保发送方不能否认其发送消息;

(4)机密性,确保数据不能被非授权的第三方访问。

另外,PKI还提供了其他的安全服务,主要包括以下两个:

(1)授权,确保发送者和接收者被授予访问数据、系统或应用程序的权力;

(2)可用性,确保合法用户能正确访问信息和资源。

VPN是利用接入服务器(Access Server)、广域网上的路由器或VPN专用设备在公用的WAN上实现虚拟专网的技术。也就是说,用户觉察不到他在利用公用WAN获得专用网的服务。如果强调其安全性,可以认为VPN是综合利用了认证和加密技术,在公共网络(比如Internet)上搭建一个只属于自己的虚拟专用安全传输网络,为关键应用的通信提供认证和数据加密等安全服务。如果将VPN的概念推广一步,我们可以认为凡是在公共网络中实现了安全通信(主要包括通信实体的身份识别和通信数据的机密性处理)的协议都可以称之为VPN协议。到目前为止,VPN己经在网络协议的多个层次上实现,从数据链路层、网络层、传输层一直到应用层。特别是IPSec标准的制定,对实施VPN奠定了坚实的基础。

4 结束语

我们必须正确理解密码学在网络和信息安全中的地位。密码技术仅仅是解决信息和信息系统安全的关键技术之一,单靠密码技术不能彻底解决信息和信息系统的安全问题,安全问题涉及到人、技术、管理和操作等多方面的因素。安全系统的防御等级遵循"木桶"原理,取决于其最薄弱的环节。总而言之,在解决信息和信息系统安全这个问题上,密码技术不是万能的,但离开密码技术是万万不能的。

参考文献

[1]杨明,谢希仁,等.密码编码学与网络安全:原理与实践(第二版)[M].北京:电子工业出版社,2001.

[2]JessGarms,DanielSummerfield.Professional-JavaSecurity[M].北京:电子工业出版社,2002.

[3]STEVE B,STEPHEN B.Cryptography[M].New York:McGraw-Hill,2001.

[4]冯登国.密码分析学[M].北京:清华大学出版社,2000.

[5]王育民,刘建伟.通信网的安全-理论与技术[M].西安:西安电子科技大学出版社,1999.

网络密码安全分析 篇6

1 网络信息安全的重要性

网络信息安全这个词早就出现过, 但是一直没有被重视。直到网络迅速发展并普及, 通讯保密进入到大众的视野里。而在当今的社会, 网络信息安全得到了极大的重视。它影响着社会安全、财产安全以及个人生活等, 因此, 人们需要防范的地方有很多, 比如黑客行为、电子谍报、计算机犯罪、信息丢失、网络协议、信息战等。网络信息安全问题不仅影响社会生产和人们的生活, 同时也会对国家安全、国防军事、国家政治外交以及机关单位的正常运转产生极大影响。现如今, 网络信息系统作为一个国家经济、政治、文化、社会活动的神经中枢和基础平台, 一旦遭到破坏, 无法运转, 将会对国家造成极大影响, 比如国防能力降低、通讯系统中断、国家金融体系瘫痪等, 严重的话甚至会导致国家经济崩溃、政治动荡、社会秩序混乱等, 后果不堪设想。

总之, 人们日常生活中所涉及的密码面临非常严重的威胁, 尤其是一种“群体威胁”, 这种威胁就像垃圾邮件一样, 不针对个人。职业窃贼并不是专门破解个人的账号, 他对个人情况一无所知, 他的目的是汇集一套破解过的账号密码清单, 通常是拿去卖钱。密码窃贼则使用破解工具, 会先从安全防护措施较低的网站下手, 等软件猜对了之后, 它再用同样的密码及其变体去猜你的更加安全的账号, 比如银行账号。所以说对于密码学的研究具有非常重要的价值和意义。

2 加密技术及其分类

密码学就是研究怎样通过一定的手段去较为隐秘地传递某些重要信息, 它与计算机科学、数学等息息相关。而密码学技术包括了破译密码和编制密码两种技术科学, 主要以编制密码为主, 其中加密是确保信息的安全性和完整性的重要手段。它主要是将重要信息通过密文的形式进行存储或者传输, 在接收后运用某些手段解析出来。加密主要分为了对称加密和非对称加密。

(1) 对称加密, 又称专用密钥加密, 具有对称性, 因为它既可以用于加密, 也可以用于解密。运用这种加密技术可以简化加密方式, 双方只需要共享专用密钥即可, 而不再需要彼此交换和研究专用加密算法。

(2) 非对称加密, 又称公共密钥加密, 具有不对称性, 是使用两个不相同的密钥。它们虽然从数学上来看是相关的, 但是却不能通过其中一个算出另一个。其中一把可以当作加密密钥向他人公开, 另一把则是当作解密密钥进行保存。加密密钥对信息进行加密, 而解密密钥则是对信息进行解密。

3 密码学的研究现状

密码学贯穿于网络信息安全整个过程, 在保障信息的机密性、可鉴别性、完整性、保护盒信息抗抵赖等方面发挥着极其重要的作用, 可以毫不夸张地说, 对密码学或密码技术一无所知的人是不可能从技术层面完全理解信息安全的。

在当前世界中, 密码学被公认为属于一个很神秘的“存在状态”。近些年以来, 密码学领域已取得了丰硕的研究成果, 尤其是2016年以来, 我国的一些高校, 例如西安电子科技大学在密码学领域获得了突破性的进步——GGH综合业务网理论及关键技术, 对GGH映射本身以及基于GGH映射的各类高级密码应用进行了颠覆性的否定。这个被攻破的GGH, 原本是一个有望成为国际密码学研究新技术的密码映射方案。这一突破的重大意义, 可以这样打个比方:GGH方案的提出者, 就像是建筑行业里的地基团队, 他们设计并挖掘了看起来非常安全保险、足够深的地基, 人们翘首期盼施工团队在他们挖下的地基上盖出摩天大厦来, 但西安电子科技大学开展的密码分析学就类似于监理团队, 发现了地基设计图纸的大问题, 并指出了挖好的地基存在隐患和问题, 无法在上面建造大楼, 如果强行建造, 必然是楼毁人亡。

另外, 密码学领域中的数字证书伪造方面也取得了明显的进步, 频繁发生的SSL中间人证书攻击就属于是一种真正的数字证书伪造过程, 例如当年的“Flema (火焰) ”病毒事件, 火焰病毒正是利用碰撞攻击对自身进行数字签名, 伪造了证书, 杀毒软件鉴定其证书时以为是来自微软。而这种碰撞攻击在计算上是不可行的, 但是又是不可避免的, 这主要是由于采用了散列函数, 散列函数又称Hash函数或杂凑函数, 它是一种单向加密函数算法, 从明文到密文不可逆的映射, 也就是说只有加密过程, 是不能破解的。

4 密码学技术在网络信息安全中的应用

网络信息安全中的核心技术是密码学技术, 很多网络问题都需要它来解决, 比如确保网络信息的完整性、保密性、抗依赖性以及可用性。要想构建网络信息安全体系, 就需要使用多种密码技术, 只有这样, 才能确保信息的可用性、可控性、完整性、保密性以及可靠性。

4.1 信息隐藏技术

运用信息隐藏技术保护网络信息具有极其重要的作用, 这会让很多机密信息不能被轻易发现和破坏。这种技术主要侧重于潜信道、数字水印、可视密码、隐匿协议、隐写术等。

4.2 Hash函数技术

所谓Hash函数技术, 指的是能够将任何长度的消息串转换为固定长度的消息串输出出去的技术。这种技术主要用于提高身份验证的有效性以及校验网络信息的完整性, 它在网络信息安全中的应用主要表现为文件校验、数字签名以及鉴权协议等。

4.3 身份验证技术

身份验证技术是确保网络信息安全的一种较为可靠的方法, 其中最重要的要属数字签名了。数字签名的获取可以通过公钥密码体制或者是私钥密码体制, 这种方法简单、便捷、安全、可靠, 深受大众的喜爱。而且很多国家都将数字签名列入到法律里, 受到了国家的保护。

5 结语

综上所述, 密码学技术在网络信息安全中起到了至关重要的作用, 具有不可撼动的地位。但是, 仅仅依靠密码学技术并不能完全杜绝网络信息安全问题, 因为这个问题涉及多个方面, 包括人、操作、管理、技术等。因此, 人们在平时上网时自己也要加以注意, 时刻保护自己的网络信息, 再配合密码学技术, 这样才能保障信息的安全。

参考文献

[1]李文峰, 杜彦辉.密码学在网络安全中的应用[J].信息网络安全, 2009 (4) :40-42.

[2]吕彩霞.密码学技术在网络信息安全中的应用[J].科技广场, 2011 (9) :104-107.

[3]刘亚卓, 王钰博, 翟晓宁, 等.浅论密码学在网络信息安全中的应用[J].电脑知识与技术, 2015, 2 (2) :41-42.

[4]杨柳.密码学在网络信息安全中的应用[J].通讯世界, 2016, 3 (5) :216.

网络密码安全分析 篇7

随着网络支付、电子商务、互联网金融等网络业务的迅猛发展,信息安全已经不仅仅局限于军事、政治、外交需要了,越来越多的商业、金融、政府的大量敏感数据需要密码算法的保护和认证。在交换机、路由器等网络设备运维管理中,也应用到大量的密码算法,比如SNMP v3、ssh、SSL、IPSec等网络协议中。目前开放的网络环境使得设备之间交互的信息容易受到攻击者的篡改、窃听或者非授权的访问,特别是网络设备如果被黑客控制,则会帮助实现信息窃取及篡改、DNS、DDos攻击等网络攻击,造成根本性的安全威胁。

现代密码学主要分为对称密码和非对称密码[1], 其安全性是基于数学理论的。非对称密码学基于数学中的困难问题,比如素数分解、离散对数问题等。 对称密码基于数学中的代数变换。不管对称密码算法还是非对称密码算法,其安全性在现有的计算能力下都是不可破解的。随着密码分析技术的进步和计算机计算能力的提升,暂时安全的密码算法将会变得不再安全,这时就需要更换算法或者增大算法的参数,来实现密码算法的理论安全。本文对常见的密码算法进行了分析,提出了要达到安全目的各类密码算法应该如何设置参数,可以作为日常网络安全参数配置的参考依据。边信道攻击算法的出现,帮助攻击者将设备及链路的物理学变化(如功率、电磁辐射等)与密码分析结合起来,这就使得传统的密码算法必须选择更长的参数,才能保证同等的安全性。

1常见的密码算法对比分析

1.1密码算法在计算机网络中的应用

在交换机及路由器的基本配置中(以Cisco的命令行为例),enable password这种配置命令方式是明文的,enable secret采用了MD5来实现加密。 service password-encryption这个命令的加密方式则采用了MD5或思科的私有算法来完成信息的加密。

如果在关键网络环境中启用SNMP v3协议,就提供了鉴别和加密的功能,来实现网络安全。其中鉴别是通过使用MD5或SHA-1作为散列函数,通过HMAC实现的。加解密是通过DES-CBC、AES等算法实现的。SNMP v3协议提供了3个安全级别: no Auth No Priv,auth No Priv和auth Priv,其中应用的密码算法如下:

no Auth No Priv级别指明了没有认证或私密性被执行;

auth No Priv级别指明了认证被执行但没有私密性被执行;

auth Priv级别指明了认证和私密性都被执行;

auth--- 认证,支持MD5 or SHA;

priv--- 加密,支持DES or RSA。

在对网络设备远程运维时,经常会用到Secure Shell安全协议,这其中使用到DSA,RSA,Kerberos5,NTLM等公钥密码算法,用来建立安全的链接并且传输数据。后来为了获得更高的安全性,人们还扩展使用了ECDSA等更为安全的密码算法。

在TCP/IP协议簇中,密码算法 在IPSec、SSL等网络协议中得到更加广泛的应用,比如HMAC、 3DES、AES、IDEA、Diffie-Hellman密钥交换、椭圆曲线D-H等密码算法,特别是不同的版本,密码算法及参数选取的方法发生了很大的变化。

1.2对称密码算法

常见的对称密码算法有DES、AES[2,3]等,在这些算法的基础上还可以进一步变换以增强安全性, 比如3-DES等。由于对称密码算法的高效,已经被广泛应用于从email到ATM机等各个方面。Hash函数也属于对称密码算法,其被独立使用时不能完成信息的加解密,但是在实现数据完整性校验、身份验证等方面具有关键意义。常见的Hash函数有MD5,SHA-0,SHA-1,SHA-2等。但是随着密码分析技术的进步,MD4、MD5已经被破解不推荐使用, SHA-0被证明是有缺陷的,SHA-1也已经有针对性的破解算法,从而使其安全性明显降低,SHA-2一直没被广泛使用。2012年,NIST宣布Keccak算法被选为SHA-3。以MD5为例,首先将信息变换为16进制的32位数字,然后经过一系列的移位、替换等代数变换,生成128 bit的Hash值。2004年,MD5算法被发现不能抵抗一种碰撞攻击,其破解的困难性大大降低[4]。2005年,符合X.509标准的公钥证书已经可以被仿造出来,表明了MD5算法的彻底不安全。时至今日,安全Hash函数的设计仍然是一个热点问题。

1.3非对称密码算法

1976年,Diffie和Hellman[5]共同发表了《New Direction in Cryptography》,设计出第 一个公钥 密码(非对称密码)算法,是现代密码学的开端,使得在开放的网络环境中实现信息的保密性、认证性、完整性和不可否认性成为可能。对称密码体制和非对称密码体制各有特点,各有适合的场合。对称密码体制的运算量很小,加解密效率相对较高,但是在很多方面存在不能克服的先天缺陷,由于需要事先分配密钥,使其不能满足很多场合的需求。公钥密码体制则可以很容易地实现密钥分配等功能,但是公钥密码体制中常包含代数结构(群、环或有限域等)上复杂的大整数或多项式的运算,运算效率相对较低。 公钥密码算法的安全性是基于数学上的困难问题的,所以下面按照困难问题进行分类,对各类算法及参数设置进行分析。

1.3.1基于整数分解的算法

基于整数 分解困难 问题的密 码算法主 要有RSA、Rabin、Blum算法等。RSA是现在非常常见的一种密码体制,由Rivest、Shamir和Adleman在1977年共同提出[6]。2009年,一个232位的整数被成功分解,意味着参数选取为768 bit的RSA、Rabin等算法已经不再安全。而基于计算效率方面的考虑, 参数选取一半为16或者32的倍数,同时考虑在安全性方面保留足够冗余,一般情况下参数选取推荐为1 024 bit。

1.3.2基于离散对数的算法

自从Diffie和Hellman基于离散对数问题引入公钥密码学的概念以来,其他基于离散对数或者基于其他域上的离散对数问题的密码体制正在引起越来越广泛的关注。El Gamal曾经设计出一种协议来实现如何利用离散对数问题来构建公钥密码体制的加密和签名[7],Elgamall算法至今仍在广泛应用。为了满足多种需要,El Gamal的方法也在不断的改进和完善中,其中美国政府的标准签名算法(DSA)就是El Gamall算法的一种变形[8]。简单来看,一个基于椭圆曲线上离散对数问题的密码算法描述如下。

1)公共参数计算:设有限域Fq上的椭圆曲线E,存在基点B∈E。每一个用户选择一个随机整数a,并把它当作私钥,计算b=a B,将点b公开作为公钥, b为椭圆曲线上的另一个点。

2)加密算法:Alice选择随机 数k,并将密文c=(k B,m+kb) 发给Bob,其中a是Bob的私钥,b是Bob的公钥。

3)解密算法:Bob计算m′= m+kb–a(k B)。

在上面的算法中,B、b均为椭圆曲线上的一个点,a B、k B的计算均为标量乘计算。椭圆曲线密码算法就是基于Diffie-Hellman密钥协商协议的思想, 不同的是Diffie-Hellman密钥协商协议利用的是基于一个素数构成的乘法群上的离散对数问题,而椭圆曲线密码体制是将这种思想可以扩展到椭圆曲线上的点群上。离散对数问题可以简单表述如下:设G是一个阶为n的有限群,α 是G上的一个元素,那么给定一个元素 β∈G,找一个整数x,满足0<x<n–1, 且 αx=β。类似的已经用来设计密码算法的群有很多,比如特征为2的有限域上的乘法群[9],整数环上模一个素数形成的乘法子群[10],Zn上的单位形成的群(其中n是一个合数)和有限域上的椭圆曲线上的点形成的群等[11,12]。

当然上面的密码算法太简单了,以至于不实用且存在破解漏洞,需要对它进行适当改造后才可以使用,比如DSA、Diffie-Hellman密钥交换协议等。 在选取这些算法的参数时要非常小心,比如要选择安全素数(满足p=2q+1的素数),选取的群的一个子群阶要较小等。针对离散对数问题的算法也有很多, 比如Baby-step giant-step算法、数域筛法、PohligHellman算法等。

1.3.3椭圆曲线及超椭圆曲线密码算法

椭圆曲线密码(Elliptic Curve Cryptography,ECC) 算法在1985年首先由Koblitz和Miller分别独立 提出,这类密码体制建立在有限域上的椭圆曲线上的点群上。在椭圆曲线的点群上应用其他密码算法,比如建立在其他阿贝尔群上的密码算法,就可以修改为椭圆曲线密码体制,比如DSA签名协议、 Diffie-Helman密钥交换协议、El Gamall协议等。与RSA加解密算法相比,椭圆曲线密码体制使用更短的密钥和公共参数,所以具有更快的运算速度、耗费更小的功耗、需要更小的存储,也就更适合在小型设备如智能卡、RFID卡上实现。

椭圆曲线密码体制的优势在于其上的离散对数问题的现有算法均具有幂指数的复杂性,如类“index-calculus”的算法,这就意味着与整数群上的密码体制相比,使用较短的密钥就得到相同的安全性,适用于小功耗和小集成电路空间的应用场景,比如智能卡、无线移动设备等。

ECC和RSA是目前2种成熟商用的公钥密码算法。其中RSA密码体制的基本运算是整数环上的模幂,其安全性基于大整数分解问题。大整数分解问题存在于指数复杂的算法中,所以相同安全性的条件下,椭圆曲线密码体制需要更短的密钥,计算效率更高。在椭圆曲线密码体制上,160比特长度密钥提供的安全性相当于RSA中1 024比特密钥的安全性,更详细的比较见表1所列[13]。

超椭圆曲 线(HEC)是椭圆曲 线(EC)的一种代数扩展,可以用来设计实现密码体制,Koblitz于1988年首次提出超椭圆曲线密码体制[14]。与椭圆曲线密码体制相比,超椭圆曲线密码体制上的运算参数及密钥长度都更短,所以安全性更高,更适合应用于计算能力较弱或者存储受限的环境,比如嵌入式系统。对应1 024比特密钥长度的RSA密码体制, 在椭圆曲线和超椭圆曲线上建立阶为2160大小的群, 就可以满足相同的安全需求[15]。要满足此安全性, 椭圆曲线密码体制的操作数长度可选取为160比特。 若使用亏格为2的超椭圆曲线,操作数的长度应为160/2=80比特;若使用亏格为3的超椭圆曲线,操作数的长度减小为55比特即可。由于在亏格大于3的超椭圆曲线上建立密码体制的安全性会相应降低,同时曲线的选择也非常繁琐,所以目前大多数超椭圆曲线密码体制都是建立在亏格为2的曲线上的。

2边信道攻击及其对网络安全运维的影响

近几年来出现了一种利用密码算法执行过程中的物理信息来实现攻击破解的密码分析方法,叫做边信道攻击,为密码分析开辟了一个新的领域。在传统的密码体制模型中,Alice和Bob在一个不安全的信道上通信时,会使用密码算法来保证通信的保密性,理想状态下系统的安全性就只依赖于密钥的保密性和密码算法的安全性。在实际应用个人电脑、智能卡或者移动电话等设备实现密码协议时,必然要运行某种密码算法并且保护密钥的安全。但是, 在处理不同的数据时,设备所消耗的功率、运行时间等必然不同,而这些物理信息一般与密钥长度或者复杂性是紧密相关的,通过这些物理信息就可以推断出密钥的某些信息,比如长度、位数、非零比特数等敏感信息。这样,系统的安全性就不仅依赖于算法和协议的安全性了,还依赖于算法和协议的安全实现。由于用来实施边信道攻击的设备相对来说比较易得,所以这种攻击对于现有的密码体制来说具有巨大的威胁。

Kocher在文献 [16] 中首次提出了边信道攻击的方法,通过收集设备(如芯片、CPU处理器等)在运算时的功耗、电压甚至电磁辐射等物理信息,来推测密钥的相关信息,然后通过代数分析来最终破解密码算法。由于绝大多数密码算法在程序实现时,总会包含有程序分支,而导致处理不同的数据时会消耗不同的时间或者功耗,于是就可以泄漏密钥的长度、非零比特数等信息,这就是边信道攻击的原理。边信道攻击已经被用来攻击多个密码算法, 如RSA、DSA等公钥密码及MD5、Hash等对称密码。边信道攻击的应用范围也非常广泛,只要执行密码算法的硬件就有可能被利用获取边信道信息, 如加密机、加密卡、智能卡等。功耗攻击[17]和差错攻击[18]也是常见的几种边信道攻击方法,它们分别通过分析加解密设备在算法时所耗费的时间、功率或者发射的电磁辐射等信息,来分析设备中保存、使用的私钥。

针对边信道攻击的抵抗方法通常加入一些冗余操作,或者通过代数变换设计新的密码执行算法来去除各种边信道信息。但是这些方法都会大大降低原有密码算法的运行效率,因此非常有必要设计既能抵抗边信道攻击又能高效运算的算法。

如果密码破解者如果能够操作加解密设备,甚至可以通过改变设备电压、瞬时电流等方法,在密码设备或者寄存器中引入错误数据,来进一步破解密码体制。差错攻击由Boneh[19]等人在1997年提出。 在这种攻击中,攻击者试图在智能卡运算的过程中, 改变输入的功率(或是输入的时钟),来强行改变寄存器里的数值,这样密码算法就会用一个错误的数据来参与运算。通过比较正常的输出和产生差错后的输出,就可以得到模数的分解。例如,设RSA CRT签名体制中,模数N=pq,于是其签名运算为:

其中,d1=d mod p–1,d2=d mod q–1,CRT(cp, cq) 则表示利用中国大数定理求解。当在运算过程中强行出现一个差错时,假设最终运算结果为是c′p、 cq和c′=CRT(cp, cq),于是可以用欧几里德算法计算q=gcd(c′–c,n),最后得到N=pq的分解。

密码设备的运算,必然产生电磁辐射,就如同功耗分析和时间攻击,电磁辐射也会泄漏运算的信息[20]。目前边信道攻击已经成为攻击智能卡等移动安全设备最有效的攻击方法之一。常用的抵抗边信道攻击的方法主要有2个:从硬件设计上来实现, 或者是从代数设计安全的算法来实现。硬件方面的抵抗措施主要是通过破坏功耗曲线和增强信号的噪声来降低攻击的有效性,但是信号处理或者是增加分析数据的数量可以轻易克服这种抵抗方法,并且这些方法对抵抗电磁辐射攻击和时间攻击都是基本无效的。于是出现了更强的抵抗方法:双轨道编码 (dual rails encoding),可以从理论上去除设备重量和功率消耗之间的联系。但是这种方法大大增加了电路的规模、体积和成本,在很多情况下并不适用。 生产商还可以将同步技术改为异步,这样会使对功耗曲线的分析变得更困难。而同时,DPA分析方法的不断改进,也使得单纯的硬件上的抵抗攻击变得脆弱。而通过代数变换设计可以抵抗边信道攻击的密码算法,几乎不增加成本,并且可以灵活适应各种新出现的攻击,是当前研究的一个热点。

由于边信道攻击大大降低了已有密码算法及安全协议的安全性,所以在有可能实施边信道攻击的环境中,就要更加谨慎地选择密码体制参数及密钥长度。比如在主流的防火墙、IPS、流量控制等安全设备的远程配置时,几乎都使用了HTTPS、SSL、 Secure Shell等安全协议。而在开放的网络环境中, 就要注意防范功耗、登录执行时长等边信道信息的泄露。如果无法阻止,就需要选用可以防范边信道攻击的密码算法,或者采用更长的密钥和密码参数, 以实现安全性不降低的目的,如RSA算法可选择2 048比特长度,基于椭圆曲线的密码算法可以选择235比特以上长度的密钥。

3结语

网络密码安全分析 篇8

1 对称密钥算法选择

在加密文件系统中, 对称密钥算法用来直接加密文件数据, 因为它们的加解密速度要高于公钥加密算法。在选择对称密钥算法时, 要综合考虑其安全性和速度。

理论上, 为了提供最大的安全性, 应该采用对称密钥算法的序列加密方式, 每个加密的字节依赖于它前面的若干字节。但是如果将序列加密算法直接用于加密整个文件, 则意味着每次我们解密文件中的一个字节时, 就要解密在它前面的所有字节, 这在性能上是不可忍受的。

所以我们对一个文件的数据分块进行加密, 分块的大小与操作系统的虚存页面大小一致或者是它的倍数, 这样可以提高内存映射时的效率。在一个分块的内部可以使用序列加密算法或者分组加密算法的CBC模式、CFB模式等。

在选择具体算法时, 首先排除专利算法, 如RC2, RC4, IDEA等。DES算法是很多加密文件系统 (如TCFS) 的加密算法, 但是它的系统消耗太大, 且速度慢。在SecNFS中, 像Cryptfs一样, 采用的是Blowfish对称密钥加密算法。

2 Blowfis h对称密钥算法

Blowfish对称密钥加密算法是Bruce Schneier等设计的一个算法。

2.1 快速

Blowfish在32位微处理器上的加密速率可达26时钟周期/字节。

2.2 紧凑

Blowfish能在容量小于5k的存储器中运行。

2.3 简单

Blowfish仅使用了一些简单运算:基于32位的加、异或和查表等。

便于往Linux内核中移植。

Blowfish是一个采用64位块大小, 任意密钥长度的块加密算法, 密钥最长可为448位。它保持加密后数据和加密前大小一样, 方便了加密文件的读写。对密钥不需要经常改变的应用, 如文件加密中, Blowfish是一个很好的算法。在32位具有大的内存的微处理器 (如Pentium) 上, 其速度远快于DES。在Cryptfs和CryptosFS中都采用Blowfish算法。

基于以上原因, SecNFS中也采用Blowfish加密算法。当然也可以使用其它的算法, SecNFS的一个设计目标就是支持加密算法的模块化, 这是SecNFS未来工作的一部分。

在工作模式上, 选择CFB加密模式。在CFB模式中, 每一个分组的密文依赖于它前面的分组的加密结果, 形成一个密文链。对文件数据分块加密, CBC模式只局限于一个数据分块内, 一个数据块中的数据不依赖于它前面的数据块, 这样可以提高读写文件的效率。密钥越长, 则加密速度越慢, 安全性越高。Blowfish的密钥长度可以达到448位, 但是一般没有必要使用这么长的密钥, 所以原型系统中采用缺省的128位密钥。128位密钥在安全性和性能上可以得到较好的平衡。CFB模式要求一个初始向量IV, 在Cryptfs中, 使用固定的初始向量, 在SecNFS中, 为加强安全性, 初始向量和Blowfish密钥都随即产生。并加密存储。

3 对称密钥和初始化向量生成

在SecNFS中, 文件的对称密钥和初始化向量在创建文件时被调用的inode

操作函数secnfs_create () 中生成。

在SecNFS原型实现中采用Linux操作系统时间jiffies和cpu时钟来产生随机数。jiffies表示自系统启动以来的操作系统时钟周期数。但是jiffies更新比较慢, 如果只用jiffies, 则密钥和初始化向量的很多位是相同的。所以还要采用精确度更高的cpu时钟。在Pentium处理器上有一条指令rdtsc可以读到一个64位的cpu时钟周期计数, 如果主频超过1GHz, 就可得到纳秒级的时间精度。结合jiffies, 可以产生分布均匀的随机数和初始化向量。在Linux中有对rdtsc命令的封装rdtscl () , 作用是一样的。

密钥的生成:

在Linux中, jiffies为全局变量, 而rdtscl由汇编语言实现, 所以生成密钥和随机向量的速度是很快的。

4 公钥密码算法选择

只有少数几个公钥密码算法既实用又安全。公钥密码算法速度都很慢, 很

少直接用于数据的加密, 它们的主要用途是加密其它的密钥和数字签名。在SecNFS中, 公钥密码算法用来加密文件的Blowfish密钥和初始化向量以及文件的Hash值。我们采用的是流行的RSA公钥密码算法。

RSA算法是一个可逆的公钥密码算法, 既可以用于加密, 也可以用于签名, 它以它的三个发明者Rivest、Shamir和Adleman的名字命名。它的安全性基于这样一个事实:寻找大素数是相对容易的, 分解两个大素数的积是计算上不可行的。

RSA算法的具体实现步骤为:

(1) 随机选择两个大素数p和q, 为了最大程度的安全性, 两数的长度一样。

(2) 计算乘积n=p*q。

(3) 随机选取加密密钥e, 使e和 (p-1) 、 (q-1) 互为素数。

(4) 用欧几里德扩展算法计算解密密钥d, 使d满足:

(p-1) | (de-1) 且 (q-1) | (de-1)

(5) n和e为公钥, n和d为秘密密钥;p、q舍弃, 且不能泄露。

(6) 对明文M的加密操作为:

C=Me mod n

(7) 对密文C的解密操作为:

M=Cd mod n

因为SecNFS的密钥管理主要由用户程序实现, 所以SecNFS中的RSA算法在用户空间实现。这虽然损失了一定的性能, 但是缩小了整个文件系统模块的大小, 且有利于系统的调试和升级。在内核中实现RSA算法要利用到GMP库 (GNU Multiple Precision Arithmetic Library) , CryptosFS的经验证明这不易实现, 且SecNFS中RSA处理的数据量不大, 在用户级实现性能上不会下降很多。

有一个RSA的参考实现RSAEuro, 可以用于北美以外的地区, 但它不是纯RSA算法, 包含了许多其它的加密、签名函数等。SecNFS中的RSA算法实现, 作了一些封装上的修改。这是一个相对小的纯RSA算法包, 修改后主要包含以下三个主要例程:

genprim () 用来产生随机大素数, genrsa () 用来产生RSA密钥对, rsa () 则执行具体的加密和解密操作。

破解RSA算法的一个直接方法是使用现有的方法分解n。随着计算能力的提高, n必将随之增大。n越大, 则越安全, 但加密、解密速度也越慢。在SecNFS原型系统中使用1024位 (128个字节) 的n。

5 消息摘要算法选择

可靠的Hash函数有三种:

(1) 基于分组密码算法的Hash函数。

(2) 系列Hash函数, 如MD2、MD4和MD5。

(3) 美国政府的安全HASH标准 (SHA-1) 。

在SecNFS中采用的是MD5, 实际上也可以采用其它的算法, 如SHA-1。

MD5是MD4算法的改进, 产生128位 (16字节) 的输出。

SecNFS中MD5算法的实现通过修改RFC1321的参考实现而成, 只包含一个主要函数, 它产生指定文件的Hash值:

int md5gen (char*filename, char*outdata) ;

参考文献

[1]William Stallings.密码编码学与网络安全[M].杨明等译.北京:电子工业出版社, 2001:119-248.

[2]Bruce Schneier.应用密码学[M].吴世忠, 等译.北京:机械工业出版社, 2000:134-328.

上一篇:明清时期的书斋文化下一篇:黄芩药材质量评价研究