主頁 >  其他 > 白話電子簽章原理及風險

白話電子簽章原理及風險

2022-08-04 08:53:23 其他

  

  因為業務需要近來在對接一個線上的電子簽章平臺, 簽完的效果就是在PDF上蓋一個紅色的章,內部程序溝通中發現,對這個紅色章背后的證明邏輯,技術原理,能夠了解的比較清楚的人還是很少的,甚至連鍋叔自己,對其中的一些細節也感覺有些模糊不清,經常一時想不起,不能對答如流-_-||,

  簽名證書類的技術博文其實很多, 但有個問題,很多只提技術原理,不提證明邏輯,證明邏輯需要自己去領悟,  于是在這里再回憶梳理下,會著重從證明邏輯來說,補充下其他博主日常省略的部分-_-|| ,做個分享,也順便備忘,

 

  一、簽字畫押的邏輯

   日常生活中大家應該都有簽字,按手印的經驗,對簽字按手印的意義也十分清楚,就是對簽字內容的認可,接受,不接受的合同肯定不能隨便簽,手印也不能隨便按,例如“你欠我幾十個W”這種,肯定是不會隨便簽的,同樣我寫一個“你欠我幾十個W”這樣的欠條如果沒有你的簽字,法官大人是不會認可的,如果我幫你簽一個字,筆跡鑒定多半會被識破,我更沒有你的指紋,這其中其實就隱含了一個證明邏輯問題,

  因為:

  1. 別人的簽字,指紋與你的不可能相同

    2. 簽字,指紋不可能在紙張上被復制,粘貼

  3. 這張紙上有你的簽字,手印

 

  所以:

  你本人肯定是接觸過這張紙,看過了紙上的內容,簽字表示了對內容的認可,

 

  抽象概括下:

   1. 筆跡與指紋是唯一的,并且與簽字畫押的人是天然系結的,不可分離的,即可以代表本人

   2. 按的指印,寫的簽名,與紙張上的其他內容,是系結的(因為同一張紙上,無法拼接,復制), 即 簽名與內容是系結的

   因此,可能證明筆記指紋所屬人,對紙上上內容的認可,

   

  二、一些安全基礎

 

  1.非對稱加密

  一種基于數學原理(不需要懷疑)的演算法,生成一對秘鑰A,a,特性:

  •   A與a 不相同
  •       由A加密的內容,能且只能被a成功解密,反之亦然,  
  •     由A不能得出a,反之亦然,

  

  2.數字摘要

  一種基于數學原理(不需要懷疑)的演算法,對任意長度的內容 A 進行計算后,得出一個固定長度的內容B ,特性:

  •   當A內容發生變化后,用該演算法重新計算得出的b,與B一定不同,
  •   由B 不能計算出A

 

   上面兩個東西可以理解為客觀規律,下面兩個是對上面客官規律的利用,用于解決實際問題,

  

      3.數字簽名

  作用:與紙質簽名對應, 期望實作紙張上簽字畫押的效果, 即證明生物上的一個人,對電子檔案內容的認可,

 

    實作邏輯:

  1. 小明自己偷偷的生成一對兒秘鑰AB,然就他對其他人說 “我生成了一對非對稱秘鑰AB,B除了我本人誰都不會知道,打死我,我也不會說”,即B這個秘鑰只有小明知道,對于不認識小明的人來說,可以認為掌握秘鑰B的人就是小明,

  2. 對電子檔案的內容執行 數字摘要演算法,得到摘要 H, 這個H 與檔案內容即唯一系結,

  3. 小明使用自己藏好的秘鑰B,對上面的摘要結果 H,進行加密,得到了一個秘鑰B加密摘要H后的加密摘要  HB. 并把HB附在了檔案后面. 代表小明的秘鑰B,與代表檔案內容的H被關聯到了一起,因為只有小明可以用B對H進行加密,所以HB的產生,代表了小明對檔案內容認可,

  4. 其他人拿到這個據說是小明“簽過字”的檔案后,拿出前面小明公開給大家的B的對應秘鑰A,用公鑰A去解密負載檔案后的加密摘要HB, 根據非對稱加密的特性,如果能成功解密,則證明該密文一定是A的配對秘鑰B加密的,而B只有小明知道,所以這個簽名肯定是小明本人簽的,

  5.小明簽字的內容即H對應的內容,其他人會再對檔案做一次摘要計算,得到一個當前檔案摘要h, 如果解密后的摘要H 與 當前檔案內容的摘要h一致則證明,小明用私鑰B加密(簽名)的內容就是這份檔案, 如果h 與 H 不同,根據 數字摘要的特性,證明,檔案已經被修改過了,小明簽的檔案內容不是現在的這一個,

 

  4.數字證書 

  作用: 筆跡,指紋與其所屬的人的關系是不需要證明的,天然一體,無法分離,不可能被盜被搶,但上面說的數字簽名的邏輯中,對代表小明的私鑰B 與小明并不是無法分割的,在實際生活中,小明簽完了,說這個秘鑰B,不是我所有的,跟我沒關系,這個秘鑰對AB是小芳生成持有的, 你們有問題去找小芳去,或者,對于一些不認識小明的人,他們也無法識別,面前的這個小明是不是就是傳說中的小明,所以需要有一種機制來固定“秘鑰與持有人的關系”,數字證書與公司公章體系對應,擁有公司公章的,就代表公司行為,同樣,持有證書中公鑰所對應私鑰的人,就是向我申請證書的小明——注意與現實中證書,證件含義不同,是持有私鑰的,而不是擁有證書的,電子證書是數字形式,是可以任意復制分發的,證書中不含私鑰,

  

  實作邏輯:

  1: 小明為了廣而告之“上面擁有B秘鑰的就是小明我本人”,這件事,小明把它的公鑰A 和 他的身份證 和錢,戶口本提交給了一個全球說了算很有威望的組織,這個組織檢查了下材料,確認小明確實是 小明,而且驗證了小明確實掌握所提交的公鑰A對應的私鑰B后,于是給他了一份證明, 證明上說,茲證明, 小明 持有 公鑰A 對應的私鑰B——有私鑰B的就是傳說中的小明, 他的身份證戶口本我都檢查過了,

  2:在小明申請證書前,這個全球很有威望的組織,自己也生成一對秘鑰對,X/Y. 其中的Y 打死也不跟其他人說,其中的公鑰X,通過各種非常可靠的渠道,通知到各國各省各轄區派出所,已經讓世界上所有人相信,擁有公鑰X對應的私鑰Y的人,就是這個全球權威組織,

  3:權威組織在給小明生成的證書上,也有他的私鑰X結合證書內容摘要H,生成了HX的數字簽名,

  4:人民群眾看到這個證書時,可以像驗證小明簽名一樣驗證權威機構的簽名,如果驗證沒問題,那證明,小明擁有A公鑰對應的B私鑰這件事情,是有一個非常可信的人給他背書的,不需要懷疑——即固定了小明與私鑰B的關聯,

  * 證書的驗證實際情況會涉及多層CA,即證書鏈,會附有多個證書,依次證明,最頂層的證書是自簽名,自己簽發給自己,其公鑰是通過可靠途徑通知給所有人的,證書鏈的中間證書需要秘鑰用途包含 Certificate Signing(證書簽發)——權威機構授權的可以簽發證書的機構的數字證書,需要驗證證書的場景,如瀏覽器,閱讀器,會將頂層的根證書預先放置于程式內,

 

  三、PDF電子簽章原理(云簽)

  

  pdf 的電子簽章,顯然那個紅色的圖形章,只是一個形式,是不具有任何效力的,因為誰都可以做一個圖形加上去,背后顯然也是依賴于數字簽名和證書技術的,但目前的電子簽章平臺,已經封裝的非常高級了, 使用程序中基本不涉及數字簽名底層技術,可以對數字簽名,數字證書完全無感,但方便的同時,也帶來了隱患,后面會討論,

  PDF云簽的流程原理:

  1. 百度電子簽章,選個電子簽章平臺進去注冊賬號,企業實名認證,

  —— 平臺用你提供的資訊,幫你自動去CA 申請了對應的數字證書,私鑰保存在了簽章平臺,

 

  2. 發起一個簽署流程,提供一個待簽署 pdf檔案 以及 涉及到的簽署方的聯系人,

  —— 上傳的pdf 檔案會通過短信等方式,引導需要簽檔案的各方到平臺鏈接,進行簽署操作,相關的簽署方,都要有相應的數字證書(么有的,在流程中引導認證),平臺使用各簽署方私鑰對檔案內容摘要進行簽名,同時將數字證書和加密摘要附在PDF檔案的簽名區域中,pdf 檔案格式是支持數字簽名的, 可以保證符合規范的pdf 閱讀器,都能正常的顯示,校驗簽署資訊,同時,檔案上也會加上一個視覺形式上的圖章圖片,

 

  3. 取回簽署檔案,pdf瀏覽器打開,驗證簽名,

  —— pdf 檔案閱讀器打開簽名檔案后對簽名及證書進行驗證,通過證書證明,簽署方的真實身份及確實持有對應公鑰,用簽署方公鑰驗證,簽署方私鑰正確及摘要未修改,

   

  四、電子簽章效力風險

  從上面的PDF 云簽流程中可以看出,整個流程中基本沒有體現數字簽名的摘要及加密簽署程序,都是平臺封裝完成的,鍋叔認為對應的也引入了風險,

  1. 數字證書并非由本人直接申請,如果在用戶協議中沒有很好的約定及取證,在證明用戶與證書關聯性方面可能存在瑕疵,用戶可以否認從未申請過數字證書,

  2. 私鑰由簽章平臺生成并保管,理論上可以代表用戶隨意簽署任何檔案,私鑰不是僅由用戶掌握,

  《中華人民共和國電子簽名法》    

第十三條電子簽名同時符合下列條件的,視為可靠的電子簽名: (一)電子簽名制作資料用于電子簽名時,屬于電子簽名人專有; (二)簽署時電子簽名制作資料僅由電子簽名人控制; (三)簽署后對電子簽名的任何改動能夠被發現; (四)簽署后對資料電文內容和形式的任何改動能夠被發現,

  

  寫到這里,歡迎討論,指正, ;-)

 

本文來自博客園,作者:鍋叔
轉載請注明原文鏈接:https://www.cnblogs.com/uncleguo/p/16542731.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/500780.html

標籤:其他

上一篇:紅藍對抗經驗分享:CS免殺姿勢

下一篇:Kubernetes 筆記

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more