侧边栏壁纸
博主头像
法自达 博主等级

法韵天成,有唤自达

  • 累计撰写 48 篇文章
  • 累计创建 25 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

电子文件系列1-加密技术

要债老法师
2024-10-31 / 0 评论 / 0 点赞 / 97 阅读 / 0 字 / 正在检测是否收录...

前言

签署电子合同方便快捷,大幅节省商务合作成本,但因其中涉及较多的技术原理,对法律专业人士和普通人都造成一些困惑。

对法律人士来说,在对簿公堂时,电子合同常会受到相对方的否认,拒绝承认合同的内容或签名,那应该如何举证证明电子合同的真实性和有效性?

对普通人来说,收到别人的电子凭证,如何确定真伪?和别人约定一个事项,通过网络远程签字,法律上能不能受到保护,对方会不会篡改和抵赖?

作为技术出身的的法律人士,我准备花点精力写个系列,用浅显易懂的语言,把电子合同的技术原理和相关法律问题彻底讲清楚。

信息安全

电子合同是信息安全技术的在近些年的一个应用,在理解电子合同之前,我们先了解一下信息安全领域的一些基本技术。

A向B发送信息m,为保证信息安全需要满足以下几个要求:

保密性:传递的信息不能被其他人读取,即使信息被截获也无法获得信息内容;

完整性:信息即使被截获也无法篡改,如被篡改能够被B识别;

真实性:B收到的信息,能确定是A发送的而不是由他人冒充A发送;

在早期的军事等领域的通信中,需要对发送的信息加密处理,过程是这样:

A和B约定一个加密算法和密钥key;

A用密钥key对信息m加密得到m',然后传输给B;

B接收到m'后用对应的解密算法和密钥key解密得到m。

这种加密叫对称加密,A需要把密钥key提前传递给B,A传递密钥和B保管密钥的过程均可能发生泄露,所以需要经常更换k,其通信方式无法适用于大规模用户的民用场景。

常用的对称加密算法有DES算法、AES算法、3DES算法、TDEA算法、Blowfish算法、RC5算法、IDEA算法、SM4算法等,其中SM4算法全称为SM4分组密码算法,是国家密码管理局2012年3月发布的第23号公告中公布的密码行业标准。

非对称加密

进入上世纪70年代,人们提出并实现了一种非对称加密算法,该算法可生成一对密钥:私钥和公钥,用公钥加密的数据只能由对应的私钥解密,用私钥加密的数据只能由对应的公钥解密

使用非对称加密,A向B发送信息m的过程是这样:

B用加密算法生成一对密钥:私钥key1和公钥key2;

B将公钥key2对外公开,任何人都可以获得,私钥则只有B自己知道;

A使用B已经公开的公钥key2对信息m加密得到信息m',然后传输给B;

B收到m'后,使用自己保存的私钥key1对m'解密,得到m。

非对称加密算法既满足了信息安全的要求,又解决了密钥传输和保管的问题,因其便利性的优点被广泛用于民用领域。

因为非对称加密算法对信息加密的过程非常耗时,在实际应用中,通常是用对称加密算法加密原文信息,非对称加密算法用来传递对称加密算法的密钥,过程如下:

A使用密钥key对原文信息进行对称加密得到m';

A再用B的公钥key2对key加密为key';

A把m'和key'发送给B;

B收到后,先用私钥key1解开key'得看key,再用key解开m'得到m。

常用的非对称加密算发有 RSA算法、Elgamal算法、ECC算法、SM2算法等,其中SM2算法全称为SM2椭圆曲线公钥密码算法,是国家密码管理局2010年12月发布的第21号公告中公布的密码行业标准。

数字签名

非对称加密除了用于安全通信之外,还有一个对称加密算法不具备的便利功能,就是身份确认。

传统上,我们通过在纸质文件上手写签名或按指纹来确认对文件内容的认可,对电子设备传输的信息,要确认是发送者本人的真实意思表示,需要满足以下两点:

接收到的信息没有受到篡改;

确实是信息拥有者发出来的;

满足这两个条件的技术叫数字签名。

数字签名除了使用非对称加密算法,还需要哈希函数,哈希函数可以把任意长度的原文变换成固定长度的哈希值,叫做消息摘要,也称数字摘要。这个过程是不可逆的,无法用摘要计算出原文;该过程也是一一对应的,即一个摘要只能由它的原文生成,原文做了任何改动都会导致摘要发生变化。

常用的哈希函数有 MD4、MD5、SM3等,其中SM3密码杂凑算法是国家密码管理局2010年公布的中国商用密码杂凑算法标准。

利用哈希函数,A向B发送信息m时,对发送的信息做数字签名的过程如下:

A对外发布公钥,并声明对应的私钥在自己手上;

A对信息m做哈希计算,得到摘要d;

A使用私钥key1对d进行加密得到签名s;

A将m和s发送给B。

B接到A的信息m后,需要验证A的签名,过程如下:

B使用A的公钥key2对签名s进行解密,得到d;

B对m做哈希计算,得到摘要d';

比较d和d’,如果相同,那么证明m确实是A发出的,并且没有被篡改过。

一般把用私钥加密的过程叫签名,用公钥解密的过程叫验签。我们看到,数字签名就像物理签名一样,附在信息原文的后面,能证明信息确实是拥有者发出来的,也能证明信息在传输过程中无人篡改。 

中间人攻击

中间人攻击指的是在A、B通信双方的通道上,混入攻击者C,通信过程变为:

C对接收方B伪装成发送者A,对发送方A伪装成接收者B;

C监听到双方发送公钥时,偷偷将消息篡改,把自己的公钥发送给双方,同时自己保存双方的公钥;

AB双方加密使用的都是攻击者的公钥,攻击者C在拦截后进行解密,并且篡改信息内容再用接收方公钥加密后发送;

接收方得到的是篡改后的信息,即发送方和接收方都是在和中间人通信。

0

评论区