论文部分内容阅读
0 前言
目前的互联网系统中,黑客常用的典型攻击方式有扫描、监听、密码分析、软件漏洞、恶意代码、拒绝服务,而常见的安全防御技术有信息加密、CA认证、存取控制、监控、审计和扫描(针对恶意代码)。其中密码分析与信息加密是攻击与防御的核心技术。提及信息安全,我们往往首先联想到密码技术。密码技术的重要性在网络安全领域是不可取代的。
1 密码技术及安全标准
密码技术是对传输或存储中的数据进行重新编码,以防止第三方窃取、篡改数据的一门技术。它结合了数学、通信学、计算机科学等多种学科于一体,通过数据加密、数字签名、身份认证等方式,在纷繁复杂的网络环境下对信息进行保护,保证其机密性、完整性和可用性。
1.1 加密算法的种类
数据加密算法种类繁多,究其发展史,经历了古典算法、对称密钥算法以及公开密钥算法三个阶段。古典算法中有替换加密、代码加密、变位加密等,该类算法简单易行,但已不能满足当下的安全性要求,逐渐淡出应用。
对称密钥加密算法又称为单密钥算法,该算法加密与解密使用同一个密钥,或者从其中一个密钥可以轻易推出另一个。目前著名的对称加密算法有美国数据加密标准DES、高级加密标准AES和欧洲数据加密标准IDEA等。对称密码从加密方式上又可以分为分组密码和序列密码两种。
公开密钥加密算法又可以称作非对称密钥算法。该算法中,加密密钥和解密密钥是不同的,加密密钥公开,解密密钥私下保存。在得到公钥的情况下,想要推导出私钥理论上是不可能的。该类算法的设计往往来自复杂的数学难题。代表性算法有基于大数分解的RSA,基于离散对数的DSA,基于椭圆曲线离散对数的ECC。
1.2 加密算法的安全判定标准
安全性是衡量一个加密算法优劣的首要因素。失去了安全保证,再完善的密码系统也没有意义。要保证安全性,一个加密算法应做到以下三点:在明文和加密密钥已知的前提下,可以轻易算出密文;密文和解密密钥已知的情况下,可轻易算出明文;解密密钥未知时,由密文推导出明文理论上是不可能的。
关于加密信息的安全性定义,Shannon提出了通信中的理论安全与实际安全两个概念。理论安全要求在解密密钥未知的情况下,无论得到多少数量的密文,由此推测出明文的可能性与直接猜测明文是一样的。Shannon证明要实现理论安全,必须让加密密钥的长度不小于明文,这在进行大规模数据加密时是难以实现的。实际安全是指密文已知而解密密钥未知的前提下,对于计算能力与可用资源有限的破解者,即使使用最佳的破译算法,也无法在他所需要的有效时间内破解出明文和密码。我们目前应用的加密标准,都是基于实际安全设计的。
2 几种代表性加密算法
我们在两类加密体系中,试举几种代表性的加密算法,通过对其特点的比较,解析其优点与安全漏洞所在,在此基础上提出一些解决方案与新的加密思路。
2.1 对称密钥加密
对称密钥加密算法中最具代表性的是DES算法,该算法的优势在于机制简单,加密解密迅速,算法公开,可以对大批量传输的数据进行加密操作;缺点是密钥较短(仅有56位),保密系数不高,且因算法公开,其安全保障主要取决于密钥的保密程度,因此必须有可靠的信道来传送密钥,在有大量用户的情况下密钥的分发和管理会变得异常复杂,且不能实现数字签名,因此不适合在开放的网络环境中单独使用。
二十多年来DES算法广泛应用于全球贸易、金融等民用领域,如智能卡(IC卡)与POS机之间的双向认证、信用卡持卡方PIN的加密传输等。如今该算法的许多缺陷慢慢变得不容忽视,针对它的解密方法也日渐有效化。针对该算法密钥短的缺陷,相关组织曾经提出80位密钥、双密钥(究其效果相当于双倍密钥长度)以及三重DES算法。DES在安全性上尽管较为脆弱,但由于芯片的大量生产目前仍在继续使用。长远而言,AES将会取代它,成为新一代的加密标准。
IDEA算法是在1990年公布的一种迭代密码分组算法,类似于三重DES,密钥长度为128位,若干年内在并非高度保密的领域仍可适用。由于它只使用逐位异或和模运算,因此具有使用软件实现和硬件实现一样迅速的优势。
2.2 公开密钥加密
我们知道,公钥加密算法的设计都是基于复杂难解的数学难题,其安全性取决于一种特殊函数:单向陷门函数。这是一种单向函数,在一个方向上容易计算,但逆向求值却异常困难。但如果它的陷门已知,则反向求值也会十分容易。在公钥体系中,这个陷门即是用来解密的私有密钥。符合以上条件且目前被公认为是安全有效的公钥加密算法有RSA、DSA以及ECC。
RSA是公开密钥体系中最具典型意义的算法,它的安全性依赖于大数因子分解的极度困难。RSA加密采用的公钥和私钥都是两个大素数的函数,大素数均要大于100个十进制位,得到密钥后应将两个素数丢弃。RSA也可用于数字签名,其公私钥的使用与加密刚好相反。RSA算法思路简洁,易于使用,安全性好,缺点在于产生密钥较为麻烦,受到大素数选取的限制,很难做到一次一密,且加密速度太慢,较对称密钥算法要慢上几个数量级。选取合适的大数是保障安全性的关键。但是目前还无法从理论上证明破译RSA的难度与大数分解等价,也无法确定大数分解是NPC问题。随着计算机计算能力的扩大以及大数分解方法的进步,对素数位数的要求会越来越高。RSA实验室认为个人应用要768比特位,公司应用要1024比特位以上才有安全保证。
DSA算法基于离散对数的数字签名标准。它仅仅对于数字签名有用,不能对数据进行加密运算。
ECC算法基于椭圆曲线离散对数运算,较之RSA、DSA安全强度更高,在解密和签名上的计算速度要快得多,且对存储空间和带宽的要求都较低,将会在IC卡与无线网络领域获得广泛应用。一般认为,ECC技术一旦被广泛掌握,ECC算法将会代替RSA,成为新一代通用的公钥加密算法。
在以上三种数学方法之外,多种数学理论被引入公钥加密算法的研究。如混沌理论,因其蝴蝶效应(即对初始状态的极端敏感性)、伪随机性、拓朴性,与加密系统有着天然的相似度与联系,非常适合应用于一次一密的公钥体系。然而,目前多数混沌密码算法发布不久就被破解,亟待找到更合适的应用思路和更优良的运算模型。 2.3 两种加密体系的分析比较
综上所述,对称加密与公钥加密的特点比较如下表所示:
结合两种加密算法的特点,我们可以通过对称密码机制来加密大量数据,然后使用公钥密码机制来加密文件密钥,这样的混合加密方式以其安全高效,在ERP和电子商务领域得到了广泛应用。
3 密码入侵手段分析与防范
密码学由两部分组成:加密技术和密码分析。密码分析学是研究破译密码和伪造认证的科学,同时它还对信息窃取和诈骗活动进行分析,从而发现密码体系的漏洞所在。
通过密码分析手段,对一个密码体系进行攻击,一般可能从以下几个方面入手:
1)唯密文攻击:破译者已知一些消息的密文,以此破译出对应明文。
2)已知明文攻击:破译者不仅知道一些消息的密文,而且知道相应的明文。通过对这些成对的明文密文的分析,得到解密密钥。如针对DES的线性密码分析即是其中一种,该种分析需要243个明文密文对。
3)选择明文攻击:破译者不仅知道一些成对的明文和密文,而且可以选择一些明文加密,得到相应密文并进行分析破解。
4)选择密文攻击:破译者可选择一些密文,并通过密码系统得到相应明文,由此破译密钥。选择密文攻击多用于公钥算法。例如针对RSA的攻击,破译者将特定信息伪装后让拥有私钥的实体签署,通过计算即可得到所需信息。此外,在RSA算法中,模数单一的情况下,对公共模数进行分解,计算后也可以得到所需信息。要防御这种攻击,通过算法改进无法办到,只能从以下两点加以防范:采用严谨的公钥协议,使得实体不对来路陌生的信息加以解密或签名;不轻易对陌生的文档签名,签名时先作Hash处理。即使如此,“中间人攻击”也有可能进行会话劫持,要对此进行防范,势必牺牲消费用户的部分便捷功能。
以上攻击强度依次递增。密码体系要能够禁得起选择密文攻击才算满足安全性要求。
密码分析学发展迄今,从破解手段可以分为以下四类:
1)基于穷尽搜索(即暴力破解)的传统密码分析技术。
2)现代密码分析技术。如差分密码分析、线性密码分析和密钥相关的密码分析。
3)新兴的基于物理特征的密码分析技术,如电压分析、简单电流分析、差分电流分析、时间分析、电磁幅射分析等等。破译者可以通过这些分析技术,从密钥载体快速得到密钥。目前发明了许多相应的技术来抵抗这些破解手段,如使用随机数一次一密,用加密线路从硬件层面防御等。但是这些方法只能增加破译的困难性,而不能从根本上防御攻击。
4)基于社会工程学的密码破译。社会工程学是一种特殊的获取密码的手段。它脱离了软硬件技术的范畴,不以日益完善的密码系统为攻击目标,转而研究密码系统的使用者与管理者的心理弱点,通过人们固有的社会特性,设下心理陷井进行欺骗活动。
通常数据加密可在通信的三个层次实现,即链路加密、节点加密和端到端加密,针对这些不同层次的加密技术各自的特点,又有层出不穷的攻击手段,其最终目的都是为了破解密码。除了以上提到的针对密码分析的防御手段,我们还对那些以解密为目的的攻击手段作出各类防范,如可编程密码,如在网页中对密码进行安全评估(多用于商务系统帐户密码),如带自毁功能的密码键盘(用于防范基于物理特征的密码分析)等等。
CSDN暴库事件中,黑客只需对入侵的数据库记录进行碰撞库与哈希值列表对比,即可在短时间内获得大部分用户的密钥。数据库对密钥的加密管理固然需要进一步完善,而用户对密钥的设置,也应该更小心地避开社会工程学陷井。
4 结束语
无论信息安全的概念如何扩展,保证信息的机密性仍是其核心目标。要实现无条件安全,即理论安全,当下的技术还无法办到。然而,量子密码学的发展为此提供了可能性,利用单光子的测不准原理可在光纤一级实现信息加密,能够达到经典密码学所追求的无条件安全。目前的量子密码技术仍处于研究阶段。
参考文献:
[1]孙宇,混沌密码研究与实现,2007.
[2]李少芳,DES算法加密过程的探讨,计算机与现代化,2006(08).
[3]卢开澄,计算机密码学,清华大学出版社,1999.
[4]陈克非,信息安全——密码的作用与局限,通信学报,2001(8).
作者简介:
羌亮(1981-),女,南通人,研究生,助理工程师。
目前的互联网系统中,黑客常用的典型攻击方式有扫描、监听、密码分析、软件漏洞、恶意代码、拒绝服务,而常见的安全防御技术有信息加密、CA认证、存取控制、监控、审计和扫描(针对恶意代码)。其中密码分析与信息加密是攻击与防御的核心技术。提及信息安全,我们往往首先联想到密码技术。密码技术的重要性在网络安全领域是不可取代的。
1 密码技术及安全标准
密码技术是对传输或存储中的数据进行重新编码,以防止第三方窃取、篡改数据的一门技术。它结合了数学、通信学、计算机科学等多种学科于一体,通过数据加密、数字签名、身份认证等方式,在纷繁复杂的网络环境下对信息进行保护,保证其机密性、完整性和可用性。
1.1 加密算法的种类
数据加密算法种类繁多,究其发展史,经历了古典算法、对称密钥算法以及公开密钥算法三个阶段。古典算法中有替换加密、代码加密、变位加密等,该类算法简单易行,但已不能满足当下的安全性要求,逐渐淡出应用。
对称密钥加密算法又称为单密钥算法,该算法加密与解密使用同一个密钥,或者从其中一个密钥可以轻易推出另一个。目前著名的对称加密算法有美国数据加密标准DES、高级加密标准AES和欧洲数据加密标准IDEA等。对称密码从加密方式上又可以分为分组密码和序列密码两种。
公开密钥加密算法又可以称作非对称密钥算法。该算法中,加密密钥和解密密钥是不同的,加密密钥公开,解密密钥私下保存。在得到公钥的情况下,想要推导出私钥理论上是不可能的。该类算法的设计往往来自复杂的数学难题。代表性算法有基于大数分解的RSA,基于离散对数的DSA,基于椭圆曲线离散对数的ECC。
1.2 加密算法的安全判定标准
安全性是衡量一个加密算法优劣的首要因素。失去了安全保证,再完善的密码系统也没有意义。要保证安全性,一个加密算法应做到以下三点:在明文和加密密钥已知的前提下,可以轻易算出密文;密文和解密密钥已知的情况下,可轻易算出明文;解密密钥未知时,由密文推导出明文理论上是不可能的。
关于加密信息的安全性定义,Shannon提出了通信中的理论安全与实际安全两个概念。理论安全要求在解密密钥未知的情况下,无论得到多少数量的密文,由此推测出明文的可能性与直接猜测明文是一样的。Shannon证明要实现理论安全,必须让加密密钥的长度不小于明文,这在进行大规模数据加密时是难以实现的。实际安全是指密文已知而解密密钥未知的前提下,对于计算能力与可用资源有限的破解者,即使使用最佳的破译算法,也无法在他所需要的有效时间内破解出明文和密码。我们目前应用的加密标准,都是基于实际安全设计的。
2 几种代表性加密算法
我们在两类加密体系中,试举几种代表性的加密算法,通过对其特点的比较,解析其优点与安全漏洞所在,在此基础上提出一些解决方案与新的加密思路。
2.1 对称密钥加密
对称密钥加密算法中最具代表性的是DES算法,该算法的优势在于机制简单,加密解密迅速,算法公开,可以对大批量传输的数据进行加密操作;缺点是密钥较短(仅有56位),保密系数不高,且因算法公开,其安全保障主要取决于密钥的保密程度,因此必须有可靠的信道来传送密钥,在有大量用户的情况下密钥的分发和管理会变得异常复杂,且不能实现数字签名,因此不适合在开放的网络环境中单独使用。
二十多年来DES算法广泛应用于全球贸易、金融等民用领域,如智能卡(IC卡)与POS机之间的双向认证、信用卡持卡方PIN的加密传输等。如今该算法的许多缺陷慢慢变得不容忽视,针对它的解密方法也日渐有效化。针对该算法密钥短的缺陷,相关组织曾经提出80位密钥、双密钥(究其效果相当于双倍密钥长度)以及三重DES算法。DES在安全性上尽管较为脆弱,但由于芯片的大量生产目前仍在继续使用。长远而言,AES将会取代它,成为新一代的加密标准。
IDEA算法是在1990年公布的一种迭代密码分组算法,类似于三重DES,密钥长度为128位,若干年内在并非高度保密的领域仍可适用。由于它只使用逐位异或和模运算,因此具有使用软件实现和硬件实现一样迅速的优势。
2.2 公开密钥加密
我们知道,公钥加密算法的设计都是基于复杂难解的数学难题,其安全性取决于一种特殊函数:单向陷门函数。这是一种单向函数,在一个方向上容易计算,但逆向求值却异常困难。但如果它的陷门已知,则反向求值也会十分容易。在公钥体系中,这个陷门即是用来解密的私有密钥。符合以上条件且目前被公认为是安全有效的公钥加密算法有RSA、DSA以及ECC。
RSA是公开密钥体系中最具典型意义的算法,它的安全性依赖于大数因子分解的极度困难。RSA加密采用的公钥和私钥都是两个大素数的函数,大素数均要大于100个十进制位,得到密钥后应将两个素数丢弃。RSA也可用于数字签名,其公私钥的使用与加密刚好相反。RSA算法思路简洁,易于使用,安全性好,缺点在于产生密钥较为麻烦,受到大素数选取的限制,很难做到一次一密,且加密速度太慢,较对称密钥算法要慢上几个数量级。选取合适的大数是保障安全性的关键。但是目前还无法从理论上证明破译RSA的难度与大数分解等价,也无法确定大数分解是NPC问题。随着计算机计算能力的扩大以及大数分解方法的进步,对素数位数的要求会越来越高。RSA实验室认为个人应用要768比特位,公司应用要1024比特位以上才有安全保证。
DSA算法基于离散对数的数字签名标准。它仅仅对于数字签名有用,不能对数据进行加密运算。
ECC算法基于椭圆曲线离散对数运算,较之RSA、DSA安全强度更高,在解密和签名上的计算速度要快得多,且对存储空间和带宽的要求都较低,将会在IC卡与无线网络领域获得广泛应用。一般认为,ECC技术一旦被广泛掌握,ECC算法将会代替RSA,成为新一代通用的公钥加密算法。
在以上三种数学方法之外,多种数学理论被引入公钥加密算法的研究。如混沌理论,因其蝴蝶效应(即对初始状态的极端敏感性)、伪随机性、拓朴性,与加密系统有着天然的相似度与联系,非常适合应用于一次一密的公钥体系。然而,目前多数混沌密码算法发布不久就被破解,亟待找到更合适的应用思路和更优良的运算模型。 2.3 两种加密体系的分析比较
综上所述,对称加密与公钥加密的特点比较如下表所示:
结合两种加密算法的特点,我们可以通过对称密码机制来加密大量数据,然后使用公钥密码机制来加密文件密钥,这样的混合加密方式以其安全高效,在ERP和电子商务领域得到了广泛应用。
3 密码入侵手段分析与防范
密码学由两部分组成:加密技术和密码分析。密码分析学是研究破译密码和伪造认证的科学,同时它还对信息窃取和诈骗活动进行分析,从而发现密码体系的漏洞所在。
通过密码分析手段,对一个密码体系进行攻击,一般可能从以下几个方面入手:
1)唯密文攻击:破译者已知一些消息的密文,以此破译出对应明文。
2)已知明文攻击:破译者不仅知道一些消息的密文,而且知道相应的明文。通过对这些成对的明文密文的分析,得到解密密钥。如针对DES的线性密码分析即是其中一种,该种分析需要243个明文密文对。
3)选择明文攻击:破译者不仅知道一些成对的明文和密文,而且可以选择一些明文加密,得到相应密文并进行分析破解。
4)选择密文攻击:破译者可选择一些密文,并通过密码系统得到相应明文,由此破译密钥。选择密文攻击多用于公钥算法。例如针对RSA的攻击,破译者将特定信息伪装后让拥有私钥的实体签署,通过计算即可得到所需信息。此外,在RSA算法中,模数单一的情况下,对公共模数进行分解,计算后也可以得到所需信息。要防御这种攻击,通过算法改进无法办到,只能从以下两点加以防范:采用严谨的公钥协议,使得实体不对来路陌生的信息加以解密或签名;不轻易对陌生的文档签名,签名时先作Hash处理。即使如此,“中间人攻击”也有可能进行会话劫持,要对此进行防范,势必牺牲消费用户的部分便捷功能。
以上攻击强度依次递增。密码体系要能够禁得起选择密文攻击才算满足安全性要求。
密码分析学发展迄今,从破解手段可以分为以下四类:
1)基于穷尽搜索(即暴力破解)的传统密码分析技术。
2)现代密码分析技术。如差分密码分析、线性密码分析和密钥相关的密码分析。
3)新兴的基于物理特征的密码分析技术,如电压分析、简单电流分析、差分电流分析、时间分析、电磁幅射分析等等。破译者可以通过这些分析技术,从密钥载体快速得到密钥。目前发明了许多相应的技术来抵抗这些破解手段,如使用随机数一次一密,用加密线路从硬件层面防御等。但是这些方法只能增加破译的困难性,而不能从根本上防御攻击。
4)基于社会工程学的密码破译。社会工程学是一种特殊的获取密码的手段。它脱离了软硬件技术的范畴,不以日益完善的密码系统为攻击目标,转而研究密码系统的使用者与管理者的心理弱点,通过人们固有的社会特性,设下心理陷井进行欺骗活动。
通常数据加密可在通信的三个层次实现,即链路加密、节点加密和端到端加密,针对这些不同层次的加密技术各自的特点,又有层出不穷的攻击手段,其最终目的都是为了破解密码。除了以上提到的针对密码分析的防御手段,我们还对那些以解密为目的的攻击手段作出各类防范,如可编程密码,如在网页中对密码进行安全评估(多用于商务系统帐户密码),如带自毁功能的密码键盘(用于防范基于物理特征的密码分析)等等。
CSDN暴库事件中,黑客只需对入侵的数据库记录进行碰撞库与哈希值列表对比,即可在短时间内获得大部分用户的密钥。数据库对密钥的加密管理固然需要进一步完善,而用户对密钥的设置,也应该更小心地避开社会工程学陷井。
4 结束语
无论信息安全的概念如何扩展,保证信息的机密性仍是其核心目标。要实现无条件安全,即理论安全,当下的技术还无法办到。然而,量子密码学的发展为此提供了可能性,利用单光子的测不准原理可在光纤一级实现信息加密,能够达到经典密码学所追求的无条件安全。目前的量子密码技术仍处于研究阶段。
参考文献:
[1]孙宇,混沌密码研究与实现,2007.
[2]李少芳,DES算法加密过程的探讨,计算机与现代化,2006(08).
[3]卢开澄,计算机密码学,清华大学出版社,1999.
[4]陈克非,信息安全——密码的作用与局限,通信学报,2001(8).
作者简介:
羌亮(1981-),女,南通人,研究生,助理工程师。