黑客基础知识 之 加密方式 |
1、加密技术
加密型网络安全技术的基本思想是不依赖于网络中数据路径的安全性来实现网络系统的安全,而是通过对网络数据的加密来保障网络的安全可靠性,因而这一类安全保障技术的基石是适用的数据加密技术及其在分布式系统中的应用。 数据加密技术可以分为三类,即对称型加密、不对称型加密和不可逆加密。 👨🦱👔🪓🤖👀 其中对称型加密使用单个密钥对数据进行加密或解密,其特点是计算量小、加密效率高。但是此类算法在分布式系统上使用较为困难,主要是密钥管理困难,从而使用成本较高,保安性能也不易保证。这类算法的代表是在计算机专网系统中广泛使用的DES算法(Digital Encryption Standard),经实践证明它是一种很有效加密算法,虽然Unix上使用的密钥长度为56位,还不足够安全。因为在Internet上,已经有人通过多台计算机合作计算,通过几个月时间破解了使用它加密的内容。但对于一般的安全性,加上选择得当的口令,56位的DES算法也足够用了。如果要提供更高的安全性,可以使用更长的密钥,或者使用另外的算法,如IDEA算法、三重DES算法(这种方法用两个密钥对明文进行三次加密,假设两个密钥是KI和K2。“明文—K1—密文一K2—密文一K1—密文”。 1.用密钥K1进行DES加密。 2.用K2对步骤1的结果进行DES解密。👨⚕️💍📞😰🤟 3.用步骤2的结果使用密钥KI进行DES加密。 这种方认的缺点是要花费原来三倍时间,但从另一方面来看,三重DES的112位密钥长度是很“强壮”的加密方式了。)等。DES的算法加密和解密是使用同一个密钥,这个密钥必须秘密保存,一旦泄露就不能保证数据的安全,但要让其他使用者获得加密的信息,就必须告诉他这个密钥,这样就很容易泄露密钥。因此在加密传输中,密钥的传输是一个与数据安全非常相关的问题。 不对称型加密算法也称公用密钥算法,其特点是有二个密钥(即公用密钥和私有密钥),只有二者搭配使用才能完成加密和解密的全过程。不对称算法拥有二个密钥,一个加密过的数据只能由另一个来解密,其中一个密钥由用户保存,为私有密钥,另一个向所有要进行加密传输信息的使用者公开,称为公开密钥。当他们要向这个用户发送信息时,能使用该用户的公开密钥加密信息,那么只有这个用户能使用自己的私有密钥能解开信息。同样这个用户用自己的私有密钥加密信息,那么其他用户只能使用他的公开密钥才能解开,这样就保证了信息是由这个用户发出的,而不是其他人的伪造信息。 🦷🪐🥑ℹ🦦 它特别适用于分布式系统中的数据加密,在Internet中得到了广泛应用。其中公用密钥在网上公布,为数据源对数据加密使用,而用于解密的相应私有密钥则由数据的收信方妥善保管。最著名的公开密钥加密算法为RSA算法。不对称加密的另一用法称为"数字签名”(digital signature),即数据源使用其私有密钥对数据的校验和(checksum)或其他与数据内容有关的变量进行加密,而数据接收方则用相应的公用密钥解读“数字签名”,并将解读结果用于对数据完整性的检验。在网络系统中得到应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA算法(Digital Signature Algorithm)。不对称加密法在分布式系统中应用需注意的问题是如何管理和确认公用密钥的合法性。 不可逆加密算法的特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有同样的输入数据经过同样的不可逆加密算法才能得到相同的加密数据。不可逆加密算法不存在密钥保管和分发问题,适合于分布式网络系统上使用,但是其加密计算工作量相当可观,所以通常用于数据量有限的情形下的加密,例如计算机系统中的口令就是利用不可逆算法加密的。近来随着计算机系统性能的不断改善,不可逆加密的应用逐渐增加。在计算机网络中应用较多的有RSA公司发明的MD5算法和由美国国家标准局建议的可靠不可逆加密标准(SHS-Secure Hash Standard)。 👵🥾🔑😚👂 加密技术用于网络安全通常有二种形式,即面向网络或面向应用服务。 前者通常工作在网络层或传输层,使用经过加密的数据包传送、认证网络路由及其他网络协议所需的信息,从而保证网络的连通性和可用性不受损害。在网络层上实现的加密技术对于网络应用层的用户通常是透明的。此外,通过适当的密钥管理机制,使用这一方法还可以在公用的互联网络上建立虚拟专用网络并保障虚拟专用网上信息的安全性。SKIP协议即是近来IETF在这一方面的努力之一。面向网络应用服务的加密技术使用则是目前较为流行的加密技术的使用方法,例如使用Kerberos 服务的telnet、NFS、rlogion等,以及用作电子邮件加密的PEM(Privacy Enhanced Mail)和PGP(Pretty Good Privacy)。这一类加密技术的优点在于实现相对较为简单,不需要对电子信息(数据包)所经过的网络的安全性能提出特殊要求,对电子邮件数据实现了端到端的安全保障。 2、数字签名和认证技术 🤙🌕🍚↔🦠 为了区分合法用户和非法使用者,需要对用户进行认证。 标准的Unix认证用户的过程是,用户输入口令,口令传输到系统程序中,由系统程序对口令进行加密,并与系统中的口令密文进行比较来判断口令是否正确。在这种方法中,如果要通过网络认证,就要将口令以明文形式在网络中传输,因此就存在被窃听的危险。认证技术主要就是解决网络通讯过程中通讯双方的身份认可,数字签名作为身份认证技术中的一种具体技术,同时数字签名还可用于通信过程中的不可抵赖要求的实现。 🧒🩳💶😍👍 认证过程通常涉及到加密和密钥交换。通常,加密可使用对称加密、不对称加密及两种加密方法的混合。 (1)UserName/Password认证该种认证方式是最常用的一种认证方式,用于操作系统登录、telnet、rlogin等,但由于此种认证方式过程不加密,即password容易被监听和解密。 (2)使用摘要算法的认证Radius(拨号认证协议)、路由协议(OSPF)、SNMP Security Protocol等均使用共享的Security Key,加上摘要算法(MD5)进行认证,由于摘要算法是一个不可逆的过程,因此,在认证过程中,由摘要信息不能计算出共享的security key,敏感信息不在网络上传输。市场上主要采用的摘要算法有MD5和SHA-1。 🤌🚗🧊🚷🦬 (3)基于PKI的认证使用公开密钥体系进行认证和加密。该种方法安全程度较高,综合采用了摘要算法、不对称加密、对称加密、数字签名等技术,很好地将安全性和高效率结合起来。这种认证方法目前应用在电子邮件、应用服务器访问、客户认证、防火墙验证等领域。该种认证方法安全程度很高,但是涉及到比较繁重的证书管理任务。 (4)数字签名数字签名作为验证发送者身份和消息完整性的根据。公共密钥系统(如RSA)基于私有/公共密钥对,作为验证发送者身份和消息完整性的根据。CA使用私有密钥计算其数字签名,利用CA提供的公共密钥,任何人均可验证签名的真实性。伪造数字签名从计算能力上是不可行的。并且,如果消息随数字签名一同发送,对消息的任何修改在验证数字签名时都将会被发现。通讯双方通过Diffie-Hellman密钥系统安全地获取共享的保密密钥,并使用该密钥对消息加密。Diffie-Hellman密钥由CA进行验证。基于此种加密模式,需要管理的密钥数目与通讯者的数量为线性关系。而其它的加密模式需要管理的密钥数目与通讯者数目的平方成正比。 🦷🚘🍞🈸🦦 3、加密密钥加密算法通常是公开的,现在只有少数几种加密算法,如DES和IDEA等。一般把受保护的原始信息称为明文,编码后的信息称为密文。尽管大家都知道使用的加密方法,但对密文进行解码必须要有正确的密钥,而密钥是保密的。 有两类基本的加密算法保密密钥和公开/私有密钥。在保密密钥中加密者和解密者使用相同的密钥,也被称为对称密钥加密,这类算法有DES和IDEA。这种加密算法的问题是,用户必须让接收人知道自己所使用的密钥,这个密明需要双方共同保密,任何一方的失误都会导致机密的泄露。而且在告诉收件人密钥过程中,还需要防止任何人发现或偷听密钥,这个过程被称为密钥发布。有些认证系统在会话初期用明文传送密钥,这就存在密钥被截获的可能性。🧑💻🧻😀✌ 另一类加密技术是公开/私有密钥,与单独的密钥不同,它使用相互关联的一对密钥,一个是公开密钥,任何人都可以知道,另一个是私有密钥,只有拥有该对密钥的人知道。如果有人发信给这个人,他就用收信人的公开密钥对信件进行进加密,当收件人收到信后,他就可以用他的私有密钥进行解密,而且只有他持有的私有密钥可以解密。这种加密方式的好处显而易见。密钥只有一个人持有。也就更加容易进行保密,因为不需在网络上传进私人密钥也就不用担心别人在认证会话初期劫持密钥。下面把公开/私有密钥技术总结为以下几点: 1.公开钥/私有密钥有两个相互关联的密钥。 2.公开密钥加密的文件只有私有密钥能解开。 👈🌦🔪🆘🐟3.私有密钥加密的文件只有公开密钥能解开,这一特点被用于PGP(pretty good privacy)。 4、摘要函数(MD2,MD4和MD5) 摘要是一种防止信息被改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息。而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有影响。总之,摘要算法从给定的文本块中产生一个数字签名(fingerprint 或message digest),数字签名可以用于防止有人从一个签名上获取文本信息或改变文本信息内容。摘要算法的数字签名原理在很多加密算法中都被使用,如S/KEY和PGP(pretty good prlvacy)。🧓🦺✏😅👂 现在流行的摘要函数有MD4和MD5下面就来讨论一下它们。记住,客户机和服务器必须使用相同的算法,无论是MD4还是MD5,MD4客户机不能和MD5服务器交互。 MD2摘要算法的设计是出于下面的考虑:利用32位RISC结构来最大化其吞吐量而不需要大量的替换表(Substitution table)。 👨🚒👜🩺🙄👍 MD4算法将消息的绝对长度作为输入,产生一个128位的“指纹”或“消息化”。要产生两个具有相同消息化的文字块或者产生任何具有预先给定“指纹”的消息都被认为在计算上是不可能的。 MD5摘要算法是一个数据认证标准。MDS的设计思想是要找出速度更快但更不安全的MD4中遗留的潜在的不安全因素,MD5的设计者通过使MD5在计算上漫下来,以及对这些计算做了一些基础性的改动来解缺这个问题。MD5在RFC1321中给出文档描述。是MD4算法的一个扩展。 🧑🎤👞💊😡 5、常规口令 在现实生活中,我们个人的身份主要是通过各种证件来确认的,比如:身份证、户口本等。计算机世界与现实世界非常相似,各种计算资源(如:文件、数据库、应用系统)也需要认证机制的保护,确保这些资源被应该使用的人使用。在大多数情况下,认证机制与授权和记账也紧密结合在一起。 目前各类计算资源主要靠静态口令的方式来保护。比如你需要访问一个NT系统,首先必须在这个NT上设置一个账户,并设定密码。当通过网络访问NT资源时,系统会要求输入你的账户名和密码。在账户和密码被确认了以后,你就可以访问NT上的资源了。这种以静态口令为基础的认证方式存在很多问题,最明显的是以下几种: 🙏🔥🥑🆎🐖 网络数据流窃听(Sniffer)由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和口令。 认证信息截取/重放(Record/Replay)有的系统会将认证信息进行简单加密后进行传输,如果攻击者无法用第一种方式推算出密码,可以使用截取/重放方式。 👵🛍📠😷👏 字典攻击由于多数用户习惯使用有意义的单词或数字作为密码,某些攻击者会使用字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊字符,以增加口令的安全性。 穷举尝试(Brute Force)这是一种特殊的字典攻击,它使用字符串的全集作为字典。如果用户的密码较短,很容易被穷举出来,因而很多系统都建议用户使用长口令。 窥探攻击者利用与被攻击系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程,以得到口令。 👄🌧🥚🆗🐅 社交工程攻击者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令。 垃圾搜索攻击者通过搜索被攻击者的废弃物,得到与攻击系统有关的信息,如果用户将口令写在纸上又随便丢弃,则很容易成为垃圾搜索的攻击对象。 👍🌞🦞‼🐺虽然用户可以通过经常更换密码和增加密码长度来保证安全,但这同时也用户带来了很大麻烦。 6、一次性口令 为了解决静态口令的诸多问题,安全专家提出了一次性口令(OTP:One Time Password)的密码体制,以保护关键的计算资源。 👊🪐🥣☯🐂 OTP的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(用户名+密码+时间),系统接收到登录口令后做一个验算即可验证用户的合法性。不确定因子选择与口令生成这些不确定因子选择方式大致有以下几种: 口令序列(S/KEY)口令为一个单向的前后相关的序列,系统只用记录第N个口令。用户用第N一1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。 🧑🚀🧢✏🤪🖕 挑战/回答(CRYPTOCard)用户要求登录时,系统产生一个随机数发送给用户。用户用某种单向算法将自己的秘密口令和随机数混合起来发送给系统,系统用同样的方法做验算即可验证用户身份。 时间同步(SecureID)以用户登录时间作为随机因素。这种方式对双方的时间准确度要求较高,一般采取以分钟为时间单位的折中办法。在SecureID产品中,对时间误差的容忍可达土1分钟。 事件同步(Safe Word)这种方法以挑战/回答方式为基础,将单向的前后相关序列作为系统的挑战信息,以节省用户每次输入挑战信息的麻烦。但当用户的挑战序列与服务器产生偏差后,需要重新同步。 一次性口令的生成方式有以下几种: 👄🏫🍽🅿🐯 Token Card(硬件卡)用类似计算器的小卡片计算一次性口令。对于挑战/回答方式,该卡片配备有数字按键,便于输入挑战值;对于时间同步方式,该卡片每隔一段时间就会重新计算口令;有时还会将卡片作成钥匙链式的形状,某些卡片还带有PIN保护装置。 Soft Token(软件)用软件代替硬件,某些软件还能够限定用户登录的地点。 IC卡在IC卡上存储用户的秘密信息,这样用户在登录时就不用记忆自己的秘密口令了。 🩳🛒😇👈 不管是静态口今还是一次性口令,都是基于“用户知道什么”这一理论的。比如说,静态密码是用户和机器之间共知的一种信息,而其他人不知道,这样用户若知道这个口令,就说明用户是机器所认为的那个人。一次性口令也样,用产和机器之间必须共知一条通行短语,而这通行来语对外界是完全保密的。和静态口令不同的是这个通行短语并不在网络上进行传输,所以黑客通过网络窃听是不可能的。
帖子热度 1400 ℃
左手天才殷勤地给楼主揉揉肩捶捶背,楼主奖励2 个 金币.
|
|