加密是什么?有哪些常见加密法?
在数位时代,保护资料已成为企业与个人最重要的任务之一。最直观的做法,就是将资料「上锁」,让未经授权的人无法读取,而「加密」就是上锁的方式。加密的原理是什么?有哪些常见的加密方式?又能应用在哪些场景?本文将带你深入了解加密的基本原理、各类型加密法与常见的加密演算法。
加密是什么?
加密(Encryption)是一种保护资讯安全的方式,历史悠久,在电脑和资讯系统诞生之前,就被用来保存重要资讯。而加密的方式是透过「特定规则」,将原本是「明文的资料」转变为「乱码形式的密文」,唯有知道加密规则的人,才能将密文解码回明文内容,借以在资料传输或保存的过程中确保资讯内容的机密性和完整性。
【加密过程示意图】
在资讯科技的时代,用来加密的「特定规则」也更趋于复杂,通常为某种数学演算法。数学演算法为数学公式或模型,白话来说就是一系列计算规则,有明确的步骤和程序。在密码学中,演算法是公开的计算规则,而「金钥」则是保密的参数。将金钥代入演算法中,才能进行加密与解密。
2 大常见加密法类别与概念介绍
在由「明文」转变为「乱码的密文」再解码「明文」的过程,主要有两大常见加密法:
对称加密 Symmetric Encryption
加密与解密使用相同的「私密金钥(私钥,Private Key)」,因此所需要的运算资源较少,加密和解密的效率较高、速度较快,尤其适合即时传输或大量资料的加密需求,例如即时通讯软体、云端硬碟等。
对称加密中,金钥只需要在双方之间传送一次(此过程称为「金钥交换」),即可进行受到加密保护的资讯传递,因此操作上简便。然而一旦该金钥被窃取,就可能会危及整个系统。因此实务上仍需搭配完善的金钥管理机制,例如安全的金钥交换方式、妥善的储存与定期更换,才能确保整体资安防护。
非对称加密 Asymmetric Encryption
相比于相同的金钥加密和解密的对称式加密,非对称式加密则以两把不同的金钥进行加密。传送资料的一方使用「公开金钥(公钥,Public Key)」将资料转为乱码,接收资料的一方使用「私钥」解读密文。
这样的加密方式,可提供较高的资讯安全保护,并且因为只有特定的私钥才能解密受保护的资料,非对称加密中的公钥与私钥还可反向应用在「数位签章」上,协助确认身份:发送方以私钥加密、签署文件,而接收方以公钥解密和验证签章真伪与发送者身份。
非对称加密中,公钥公开与外界分享,私钥则是由单一使用者独自持有,因此不需要另外建立交换金钥的管道。但相对来说,非对称加密的速度较慢。目前非对称加密多用于区域链、电子邮件,或用来进行金钥交换。
虽然对称加密与非对称加密有不同的运作逻辑,但在实务上,两者常同时被使用,以提升资料安全性。
其他常见加密相关技术
除了常见加密法以外,也有许多其他技术会在加密过程中同时使用,包含:
杂凑函式 Hashing
严格上来说,杂凑并非加密的方式,因为无法将结果逆向回推为原始资料。但杂凑与加密同样透过数学函式进行,将输入资料转换成一组固定长度的值,也称为杂凑值(Hash Value)。杂凑可以用来验证资料的完整性,杂凑常与加密技术搭配使用。
比如说,如果资料传送前透过杂凑函数得到了 X 结果,但接收者收到的资料以相同的函数计算后,得到了 Y 结果,代表了被传送的资料可能受到变造。
同态加密 Homomorphic Encryption
同态加密属于一种特殊的加密设计,可以在密文没有被解密的情况下,直接对密文进行特定的运算。换句话说,即使资料保持加密状态,也能进行分析与处理,进而提升资料的隐私保护。
用简单的例子说明:
- 假设「明文 A = 3」,「明文 B = 5」,分别加密后变成「密文 X」 和「密文 Y」
- 以同态加密对「密文 X」 和「密文 Y」 进行加法运算,得到结果「密文 Z」
- 最后解密「密文 Z」,就会得到 8,与明文相加的结果一致
同态加密的应用广泛,云端运算中,服务供应商,可以直接分析其客户上传到云端的加密资料;在金融和医疗场景中,也能在不揭露个人细节的前提下,执行统计分析或风险评估。
量子加密 Quantum Cryptography
借镜量子力学中「量子在被观测时会改变状态」的原理,来侦测潜在的窃听行为,确保资料传输安全的技术。目前应用以「量子金钥分发(Quantum Key Distribution,QKD)」为主,在发现有未经授权的使用者试图窃听或窃取金钥时,金钥就会产生异常,传送方与接收方也可以即时受到警告。
不过,目前量子加密应用仅限于金钥分发,也就是产生与分发钥匙,无法用来加密资料本身,因此多和其他常见加密法搭配使用。
7 种常见加密演算法
加密法定义加密的基本原则与结构,而演算法则是关于加密逻辑的具体方式与步骤说明。下面整理了常见的加密与加密技术演算法:
对称加密的演算法
- 进阶加密标准(Advanced Encryption Standard,AES): 目前最常见的演算法,将要被加密的资料切割成 128 位元(16 byte)的区块进行加密。 AES 的金钥长度有 128、192 或 256 位元三种:长度越长,安全性越高,但也需要较多时间运算。
- 资料加密标准(Data Encryption Standard,DES):同样是区块加密,只是加密的资料区块大小仅为 64 位元。 DES 过去主流的加密演算法,但因为金钥长度仅有 56 位元和另外 8 位元的检查码,容易被暴力破解,现已逐渐停用。
- 三重资料加密演算法(Triple DES,3DES):改良版的 DES,区块大小不变,但以「加密 → 混淆 → 再加密」(但业界习惯称为「加密 → 解密 → 再加密」)的方式,增加破解密文的难度,也因此加密运算需要的时间较多。
非对称加密的演算法
- RSA:由三位发明者李维斯特(Rivest)、萨莫尔(Shamir)和阿德曼(Adleman)的姓氏组合而成。加密原理的基础为「大数质因数分解困难」的数学问题,金钥长度介于 2048 - 4096 位元之间,因此破解难度较高。
- 椭圆曲线密码学(Elliptic Curve Cryptography,ECC):利用椭圆曲线数学的演算法,金钥长度比 RSA 短,但可以达到相同等级的资讯安全性。因此 ECC 效率更高,又资源消耗较少,常用于行动装置、物联网等运算资源有限的环境中。
杂凑演算法
- MD5 讯息摘要演算法(MD5 Message-Digest Algorithm):简称 MD5,常见的杂凑演算法。使用之后,可产出一个 128 位元的杂凑值。
- 安全杂凑演算法 256 位元(Secure Hash Algorithm 256-bit):缩写为 SHA-256,是 SHA 密码杂凑函式家族的其中一个演算法,产生的杂凑值为 256 位元。
为什么要加密?加密的重要性
资讯系统中,最具有价值的资产就是资料。若资料遭窃,攻击者可能借此取得机密资讯、进行转卖牟利,甚至破坏系统以达成网路攻击等恶意目的。无论是储存在系统内部的资料,还是透过网路传输的资料,只要系统与其他装置连线或连接至网路,就有可能成为攻击目标。
透过加密,即使资料遭窃,攻击者若无法取得正确的金钥,就无法解密内容,因而难以窜改、滥用或贩售资料。例如,面对勒索软体攻击时,若资料事先已加密,即使被窃取,也不容易被还原成明文,进而降低遭威胁公开的风险。另外,若使用较强的杂凑技术来处理使用者密码,也能有效降低资料外泄与撞库攻击的风险。
对企业来说,加密在许多方面都有以下优势:
- 提升保密性:无法被未授权存取,避免资料外泄。
- 提升资料完整性:虽然加密的主要目的为保密,但若搭配杂凑函数等技术,也可以侦测资料是否遭窜改,进而保护资料完整性。
- 验证身分:唯有持有金钥的使用者才可以解读,加强验证使用者身分,避免未授权的存取。
- 提升合规性:协助企业符合资安标准与法规要求,如 GDPR、ISO 27001 等。
加密技术实际应用
加密的重要性不容忽视。虽然加密技术需要一定的运算资源,且过程看似复杂,但在现今数位化的日常生活中,其实已广泛应用在各种情境中。以下是几个常见的加密应用范例:
数位签章 Digital Signature
利用非对称式加密的公钥加密技术,以及杂凑演算法,加密电子签章,并可以验证签署者身分。广泛应用于电子合约、线上认证等领域,确保资料的真实性与不可否认性。
SSL/TLS
SSL 和 TLS 为网路通讯协定,也就是规范不同装置之间的连线与资料传输要如何进行的规则。由于 SSL 和 TLS 与资料传输有关,因此更需要重视资讯保护与加密。目前取代 SSL 的 TLS 结合了对称式与非对称式加密,先透过非对称加密交换金钥,再以对称加密进行资料传输,兼具安全性与效率。
VPN
VPN(虚拟私人网路)利用加密通道(如 IPSec 或 SSL)保护使用者与伺服器之间的资料传输,防止第三方窃听或窜改资料。
资料库加密
上面提到的三种应用,都是与装置之间的连线或是网际网路资料传输有关的加密。储存在固定位置(如伺服器或本地端)的静态资料,也可以透过加密技术保护,这种做法称为资料库加密。依照加密的范围与单位不同,可分为以下几种方式:
- 栏位级加密(Column-level Encryption):仅加密特定栏位的敏感资料,如身份证号、信用卡号等。灵活度高,但实作与管理较复杂。
- 表格级或资料表加密(Table-level Encryption):将整个资料表中的内容加密。
- 资料库级加密(Database-level Encryption):针对整个资料库进行加密,可以较全面保护资料库。
- 档案或磁碟层级加密(File/Disk-level Encryption):加密整个资料库档案或储存磁碟,作业系统层级实作,部署方便但安全性依赖底层系统保护。
加密与解密,就像骇客与目标之间的攻防战。理解加密的原理与重要性后,企业更应积极导入加密技术,强化资料防护。
欢迎联络晟崴科技