余向陽,余向陽講師,余向陽聯系方式,余向陽培訓師-【中華講師網】
    縣域涉農電子商務(長期政府合作)新零售互聯網+物流管理電商
    54
    鮮花排名
    0
    鮮花數量
    余向陽:白話數字簽名
    2016-01-20 1820
    摘要

    本系列通過通俗易懂的講解,讓您就像讀小說一般,輕輕松松就能理解數字簽名的基本原理和應用方法(即使您是一個并不精通計算機的企業老總,也能讀懂本篇文章)。然后我們再逐步深入技術細節,最后將給出一個在B/S信息系統中使用數字簽名的DEMO。

    由于數字簽名基于非對稱加密技術,所以我們需要先啰嗦一下對稱加密和非對稱加密技術。

    對稱加密

    何謂加密?加密是一種“把數據搞亂掉”的技術。加密技術涉及到4種東東:
    明文:可以被人或程序識別的數據。例如一個文本文件、一段歌詞、一個Word文檔、一首MP3、一個圖片文件、一段視頻等等。
    加密算法:將數據搞亂掉的方法。
    密鑰(密碼):一個你在進行加密操作時給出的字符串,讓加密算法不但把明文“搞亂掉”,而且要亂得“與眾不同”。這樣即使別人搞到了解密算法,如果沒有當初加密時所使用的密碼,一樣無法進行解密操作。
    密文:明文被加密算法和密鑰加密后的結果。它看上去就是一堆亂碼,沒有人或程序能知道它到底表示什么信息。

    作為加密的一個實例,我將使用由我杜撰的“景氏替換加密算法”演示一下加密過程。
    明文:good good study, day day up.
    密鑰:google
    景氏替換加密算法:將明文中的所有的字母“d”替換成密鑰。
    密文:將“good good study, day day up.”中的所有字母“d”替換成“google”,就得到密文“googoogle googoogle stugoogley,  googleay googleay up.”。這個密文亂得還可以吧?一般人看了肯定不知道它是什么意思。

    那么什么是解密呢?解密就是把密文再變回明文的過程。
    例如“景氏替換解密算法”就是:將密文中所有與密鑰相同的字符串替換成“d”。
    密文:googoogle googoogle stugoogley,  googleay googleay up.
    密鑰:google
    景氏替換解密算法:將密文中所有與密鑰相同的字符串替換成“d”。
    明文:將“googoogle googoogle stugoogley,  googleay googleay up.”中的所有“google”替換成“d”,就得到了明文“good good study, day day up.”。

    您肯定已經注意到了,我們在進行加密和解密時使用的密鑰必須是相同的,例如在上例中,加密和解密都必須使用相同的密鑰“google”。所以像“景氏替換加密算法”這種就被稱為對稱加密算法。目前最為流行的對稱加密算法是DES和AES,此外,對稱加密算法還有IDEA、FEAL、LOKI、Lucifer、RC2、RC4、RC5、Blow fish、GOST、CAST、SAFER、SEAL等。WinRAR的文件加密功能就是使用的AES加密算法。

    非對稱加密

    非對稱加密算法是一類與眾不同的加密算法,它的密鑰不是1個,而是2個(一對),我們先姑且稱它們為密鑰K1和密鑰K2。非對稱加密算法的特點是,如果用密鑰K1進行加密,則有且僅有密鑰K2能進行解密;反之,如果使用密鑰K2進行了加密,則有且僅有密鑰K1能進行解密。注意“有且僅有”的意思——如果用密鑰K1進行了加密,是不能用密鑰K1進行解密的;同樣,如果用密鑰K2進行了加密,也無法用密鑰K2進行解密。這是一個非常重要的特性,至于如何在實際中運用這個特性,請看下文。

    我想給Clark傳送一個AV小電影,又怕被他的老婆發現......

    話說俺得了一個很不錯的AV小電影,想通過網絡傳送給Clark,可是又怕被他的老婆發現(因為Clark的老婆是一個超級黑客,她可以使用sniffer技術截獲任何通過網線傳送給Clark的數據。別跟我說用VPN,它超出了本文討論的范圍),怎么辦呢?對了,我們需要一個“將數據搞亂掉”的技術——加密技術。我先使用WinRAR對小電影進行壓縮,然后加上密碼“TswcbyyqjsjhfL”(還記得么?WinRAR的文件加密功能使用的是叫作AES的對稱加密算法)。接著,將這個加密后的文件通過QQ傳送給Clark。然后,興沖沖地撥打Clark的手機:
    “喂?Clark么?好久不見,呵呵......我給你發了個好東東呦,在QQ上,收到沒?......密碼是TswcbyyqjsjhfL,對,就是天生我才必有用,千金散盡還復來的首字母,第一個和最后一個字母要大寫呦......”
    可是,Clark,我是真的不知道你的老婆大人剛剛就在你的身邊呀!而且你也知道,我打電話從來都是喜歡很大聲的......嗚嗚嗚......
    在Clark跪了一夜的搓衣板之后,我們都明白:如果是已經保存在自己硬盤上的文件,使用對稱加密技術進行加密是沒有問題的;如果是兩個人通過網絡傳輸文件,使用對稱加密就很危險——因為在傳送密文的同時,還必須傳送解密密鑰。我們需要一個與眾不同的加密算法,一個不需要傳遞解密密鑰的加密算法。非對稱加密正好可以滿足我們的需要。基本思路是這樣的:首先,生成一對滿足非對稱加密要求的密鑰對(密鑰K1和密鑰K2)。然后,將密鑰K1公布在網上,任何人都可以下載它,我們稱這個已經公開的密鑰K1為公鑰;密鑰K2自己留著,不讓任何人知道,我們稱這個只有自己知道的密鑰K2為私鑰。當我想給Clark傳送小電影時,我可以用Clark的公鑰對小電影進行加密,之后這個密文就連我也無法解密了。這個世界上只有一個人能將密文解密,這個人就是擁有私鑰的Clark。

    后來......

    后來,Clark痛定思痛,決定申請一個數字證書。流程是這樣的:首先,登錄當地的數字證書認證中心網站,填表->出示個人有效證件原件和復印件->繳費->等待數字證書認證中心制作數字證書->領取數字證書。如果您的公司需要申請大量的數字證書,還可以與認證中心的銷售人員商量,先領取免費的試用版的數字證書供技術人員試用。
    后來的后來,我又得到了一本電子版的不良漫畫,當然,我又想到了Clark。我先在數字證書認證中心下載了Clark的公鑰證書(就是一個含有公鑰信息的文件),使用非對稱加密算法對不良漫畫進行加密,再將密文通過QQ傳送給Clark。然后,我興沖沖地撥打Clark的手機:
    “喂?Clark么?好久不見,呵呵......我給你發了個好東東呦,在QQ上,收到沒?......已經用你的公鑰加密了。用你的私鑰解密就行了^_^”
    Clark興沖沖地插入他的私鑰(忘了說了,私鑰并不是一個文件,而是一個USB設備,外形就跟U盤一樣,至于為什么要這樣,下一篇再說),解密,然后開始看漫畫,完全沒察覺他的老婆大人就在身后......

    Clark,俺這個月手頭有點緊......

    唉,這個月買了太多的書,到月底揭不開鍋了。正巧在QQ上遇到了Clark:
    1-2-3:“Clark,我需要200兩紋銀,能否借給我?”
    Clark:“沒問題。我這就給你轉賬。請給我一張借條。”
    1-2-3:“太謝謝了,我這就用Word寫一個借條給你。”
    然后,我新建一個Word文檔,寫好借條,存盤。然后,然后怎么辦呢?我不能直接把借條發送給Clark,原因有:
        1. 我無法保證Clark不會在收到借條后將“紋銀200兩”改為“紋銀2000兩”。
        2. 如果我賴賬,Clark無法證明這個借條就是我寫的。
        3. 普通的Word文檔不能作為打官司的證據。
    好在我早就申請了數字證書。我先用我的私鑰對借條進行加密,然后將加密后的密文用QQ發送給Clark。Clark收到了借條的密文后,在數字證書認證中心的網站上下載我的公鑰,然后使用我的公鑰將密文解密,發現確實寫的是“借紋銀200兩”,Clark就可以把銀子放心的借給我了,我也不會擔心Clark會篡改我的借條,原因是:
        1. 由于我發給Clark的是密文,Clark無法進行修改。Clark倒是可以修改解密后的借條,但是Clark沒有我的私鑰,沒法模仿我對借條進行加密。這就叫防篡改
        2. 由于用我的私鑰進行加密的借條,有且只有我的公鑰可以解密。反過來講,能用我的公鑰解密的借條,一定是使用我的私鑰加密的,而只有我才擁有我的私鑰,這樣Clark就可以證明這個借條就是我寫的。這就叫防抵賴
        3. 如果我一直賴著不還錢,Clark把我告上了法庭,這個用我的私鑰加密過的Word文檔就可以當作程堂證供。因為我國已經出臺了《中華人民共和國電子簽名法》,使數字簽名具有了法律效力。
    您一定已經注意到了,這個使用我的私鑰進行了加密的借條,具有了防篡改、防抵賴的特性,并且可以作為程堂證供,就跟我對這個借條進行了“簽名”的效果是一樣的。對了,“使用我的私鑰對借條進行加密”的過程就叫做數字簽名。(由于數字簽名算法的速度比較慢,所以在實際對文件簽名的過程比上面提到的方法稍稍復雜一些,這個在下一篇再講)。

    我是1-2-3,我真的是1-2-3,我是真的1-2-3

    正如您已經知道的,Clark的老婆是一名超級黑客——就是傳說中能用計算機作任何事的人。這不,不久前她就輕松入侵了QQ數據庫,下載了Clark的所有好友的ID和密碼以及聊天記錄。然后,時不時地偽裝成Clark的好友跟Clark聊天,搞得Clark最近總是神經兮兮、疑神疑鬼的。這不,昨天我在QQ上遇到了Clark:
    1-2-3:“Clark,最近還好吧?我又搞到一個好東東呦,要不要?”
    Clark:“48475bbt556”
    Clark并不是瘋掉了,那個“48475bbt556”也不是我跟Clark之間的什么通關暗語。這個“48475bbt556”就是Clark在鍵盤上胡亂敲上去的,不過,我卻知道Clark是什么意思。我立刻把“48475bbt556”粘貼到Word里,然后用我的私鑰對這個Word文檔加密,再將這個Word文檔發送給Clark。Clark在那邊用我的公鑰將Word文檔解密,打開,發現里面寫的就是“48475bbt556”,就知道QQ這邊的確就是真正的我本人了。因為擁有我的私鑰的人在這個世界上就只有我一人而已,Clark的老婆大人就是再神通廣大也模仿不了,這就是數字簽名的驗證功能。

    順便提一句,不但人可以申請數字證書,設備(例如Web服務器)也可以申請數字證書(叫作設備證書)。利用數字簽名的驗證功能,就可以驗證服務器的身份了,這可是防釣魚的終極解決方案呦。

    思考題

    如果Clark每次都向我發送相同的字符串(例如“1234”),而不是每次在鍵盤上胡亂地(隨機地)敲一些字符,Clark的老婆就會利用Clark的懶惰模仿我跟Clark聊QQ,這是為什么?
    ?
    全部評論 (0)

    Copyright©2008-2025 版權所有 浙ICP備06026258號-1 浙公網安備 33010802003509號 杭州講師網絡科技有限公司
    講師網 www.transparencyisgood.com 直接對接10000多名優秀講師-省時省力省錢
    講師網常年法律顧問:浙江麥迪律師事務所 梁俊景律師 李小平律師

    主站蜘蛛池模板: 亚洲高清偷拍一区二区三区| 日本精品一区二区久久久| 综合无码一区二区三区四区五区| 色综合视频一区中文字幕| 99久久精品国产高清一区二区| 丝袜美腿一区二区三区| 日韩人妻无码一区二区三区99 | 怡红院美国分院一区二区| 久久成人国产精品一区二区 | 亚洲一区二区三区乱码在线欧洲| 国产精品 视频一区 二区三区| 在线观看国产一区亚洲bd| 女女同性一区二区三区四区| 国产精品高清视亚洲一区二区| 激情内射亚洲一区二区三区| 久久精品视频一区二区三区| 久久国产精品最新一区| 国产精品一区二区久久不卡| 一本大道东京热无码一区| 中文字幕精品一区| 中文字幕精品无码一区二区| 国产亚洲情侣一区二区无| 波多野结衣的AV一区二区三区| 日产一区日产2区| 国产精品一区二区久久国产| 亚洲一区影音先锋色资源| 久久国产精品无码一区二区三区 | 成人影片一区免费观看| 中文字幕AV一区中文字幕天堂| 亚洲一区二区三区在线播放 | 狠狠综合久久av一区二区| 国产伦精品一区二区三区不卡 | 国产精品乱码一区二区三区 | 中文字幕日韩欧美一区二区三区 | 性色av无码免费一区二区三区| 韩国福利一区二区美女视频| 久久精品成人一区二区三区| 爱爱帝国亚洲一区二区三区| aⅴ一区二区三区无卡无码| 好看的电影网站亚洲一区| 91一区二区在线观看精品|