Junyangz's docs
  • Introduction
  • Ops
    • Linux-tips
    • MySQL-5.7.20
    • Upgrading MySQL
    • Upgrade OpenSSH to 7.7p1 in CentOS 6
    • Linux PERSISTENT NAMING
    • Use Kafka with Flume - CRS2
    • Setup Chroot SFTP in CentOS
    • Setup software RAID-5 in CentOS
    • SSH-port-forwarding
    • Elasticsearch In Production
    • ELK-simple-tutorial
    • Ansible Playbooks for Apache Kafka in production
    • GitHub Actions depoly Hexo
    • Test HTTP3/QUIC docker
    • Docker tutorial
    • SFTP-auth-pubkey
    • Linux Process Substitution
  • Note
    • Interview
      • interview-prepare
      • 2020-campus-recruiting
    • Android Tips
    • MacOS tips
    • Secret knowledge
    • GPG-Note
    • ud185
    • ud185-2
    • Introducing Tensorflow Federated
    • Tensorflow Federated
    • Expert Python Programing
    • What happens when zh_CN
    • TILGC
    • VScode keyboard shortcuts
    • Abseil Python
    • Latex Note
    • Git Cheatsheet
    • Study Smarter Not Harder
    • Machine Learning Interviews
    • 深度学习中的优化
    • Beej's Guide to Network Programming Note
      • ch4
      • ch5
      • ch6
      • ch7
  • [Share]
    • What to do after what to do
    • Truman is everywhere
    • Way2outer
    • 未来十五年
  • Quote
Powered by GitBook
On this page
  • 4A
  • 数字签名
  • Github budget
  • Reference

Was this helpful?

  1. Note

Secret knowledge

a lot of useful information, idea from the-book-of-secret-knowledge.

4A

  • 身份验证 Authentication

  • 账号管理 Account

  • 授权控制 Authorization

  • 安全审计 Audit

数字签名

ref [1]

现在实用的数字签名机制一般利用公开密钥算法实现。具体的实现方式如下所述。

当A方打算发一条消息x给B方并签名时,首先用他的秘密密钥Kd对x加密,得到签名y=fKd(x)y=f_{K_{d}}(x)y=fKd​​(x),然后发送有序信息对(x,y)。B方收到(x,y)后,用A方的公开密钥Ke对y解密,得到x′=fKs(y)x^{\prime}=f_{K_{\mathrm{s}}}(y)x′=fKs​​(y)。x'与x完全相同的条件是:

  • 信息对(x,y)在传输过程中无任何变化,x或y的任何变化都会使x'与x不等。

  • y确实是用Kd对x加密得到的,Kd的任何变化都会使x'与x不等。

因此,只要x'与x相等,就可以确定三件事:

  • 消息x确实由A方发来。

  • 签名y确实由A方生成。

  • B方收到的消息是完整的。

由于只有A方知道他的秘密密钥Kd,所以通过上述签名和验证可以防止下面两种情况:

  • A方否认他曾经发送消息x,或者否认B方收到的消息属实。因为只有他能生成y,而y与x是对应的。

  • B方伪造消息。因为他得不到Kd,无法证明与伪造消息对应的签名是A方生成的。

为了防止B方事后否认收到消息x,A方可以要求B方提供收信回执,如"B从A处得到x"一段文字,并且要求B方用他的秘密密钥对这段文字签名,以防抵赖。

综上所述,数字签名可以验证消息的完整性,有效地对抗冒充、抵赖等威胁。

Github budget

Reference

[1]【清华计算机网络课程:计算机网络体系结构】

PreviousMacOS tipsNextGPG-Note

Last updated 2 years ago

Was this helpful?

[0]

https://img.shields.io/badge/Last_Updated-18--11--23-blue.svg?style=flat
https://img.shields.io/badge/Words-769-red.svg?style=flat
https://img.shields.io/badge/Read-3_min-ff69b4.svg?style=flat
the-book-of-secret-knowledge