當前位置:首頁 » 密碼管理 » 小明看加密網址三

小明看加密網址三

發布時間: 2023-01-24 00:37:15

1. 小明看看大陸小明看看手機站

駕車路線:全程約33.8公里

起點:裝修人裝修工程部

1.從起點向正東方向出發,行駛20米,左轉

2.行駛200米,左轉進入觀瀾大道

3.沿觀瀾大道行駛5.7公里,朝龍華/寶安方向,稍向右轉上匝道

2. 小明看看怎麼找不到了

小明有可能是迷路了,也可能是走失了

3. 小明看看平台在線觀看 2iku.info

地止附件里了

4. 小明看看播放器下載會不會手機中毒

這個情況是一般的情況是不會中毒的,除非這個播放器是攜帶了病毒的。
怕手機中毒的時候,可以在手機上來個
騰訊手機管家
就可以了。
可以在
下載軟體
的時候,自動的查殺
手機下載
的軟體是不是安全的。
要是不安全的時候就會騰訊你不要下載,就可以保護手機的安全。

5. 小明看看手機首頁鏈接

沒看明白 小明應該是一個人 看著手機上面的掛飾嗎 可就算是這樣 我也沒看明白,你這個提問在咨詢什麼

6. HTTPS 加密演算法過程

1、HTTP 協議(HyperText Transfer Protocol,超文本傳輸協議):是客戶端瀏覽器或其他程序與Web伺服器之間的應用層通信協議 。

2、HTTPS 協議(HyperText Transfer Protocol over Secure Socket Layer):可以理解為HTTP+SSL/TLS, 即 HTTP 下加入 SSL 層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL,用於安全的 HTTP 數據傳輸。

3、SSL(Secure Socket Layer,安全套接字層):1994年為 Netscape 所研發,SSL 協議位於 TCP/IP 協議與各種應用層協議之間,為數據通訊提供安全支持。

4、TLS(Transport Layer Security,傳輸層安全):其前身是 SSL,它最初的幾個版本(SSL 1.0、SSL 2.0、SSL 3.0)。

如上圖所示 HTTPS 相比 HTTP 多了一層 SSL/TLS。

1、對稱加密

有流式、分組兩種,加密和解密都是使用的同一個密鑰。

例如:DES、AES-GCM、ChaCha20-Poly1305等

2、非對稱加密

加密使用的密鑰和解密使用的密鑰是不相同的,分別稱為:公鑰、私鑰,公鑰和演算法都是公開的,私鑰是保密的。非對稱加密演算法性能較低,但是安全性超強,由於其加密特性,非對稱加密演算法能加密的數據長度也是有限的。

例如:RSA、DSA、ECDSA、 DH、ECDHE

3、哈希演算法

將任意長度的信息轉換為較短的固定長度的值,通常其長度要比信息小得多,且演算法不可逆。

例如:MD5、SHA-1、SHA-2、SHA-256 等

4、數字簽名

簽名就是在信息的後面再加上一段內容(信息經過hash後的值),可以證明信息沒有被修改過。hash值一般都會加密後(也就是簽名)再和信息一起發送,以保證這個hash值不被修改。

C++音視頻開發學習資料 :點擊 音視頻開發(資料文檔+視頻教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

HTTP協議在瀏覽器/伺服器間進行數據的傳輸是明文的,不做任何的加密,通俗來說,就是「裸奔」,這樣會產生什麼樣的問題那,我們來舉一個例子:

在這里插入圖片描述

上述我們通過兩個人物模仿了伺服器和客戶端的交互,我們可以看出,小明和小花之間進行數據通信的時候採用的是明文傳輸的、那麼此時很有可能被中間人獲取信息、並進行數據篡改,這種行為就叫 中間人攻擊。

所以 HTTP 傳輸面臨的風險有:

(1) 竊聽風險:黑客可以獲知通信內容。

(2) 篡改風險:黑客可以修改通信內容。

(3) 冒充風險:黑客可以冒充他人身份參與通信。

哈哈、此時你是不是不能很愉快的上網沖浪了呀,別擔心,我們此時可以對明文進行加密:

這樣是不是比原來安全多了呀!但是這樣就足夠安全了嗎?顯然不是的,如果小明和小花在第一次聊天的時候,信息被中間人截取到了,那麼中間人是不是也就有密鑰了,同樣可以對數據進行加解密和修改了那

這可怎麼辦那? 加密的數據還是不安全的啊? 別急,上面我們採用的是對稱加密(換句話說就是我們發送的密鑰技能加密、也能解密,那麼中間人只要拿到密鑰消息對他而言就是透明的了),我們還可以採用非對稱加密方式進行加密數據(非對稱加密一般都會有一個私鑰和公鑰組成。可以通過公鑰加密,私鑰解密,也可以通過私鑰加密,公鑰解密兩種方式) ,對密鑰的傳送在格外加一層保護,當小明和小花在建立通信的時候,小花會把公鑰KEY發送給小明,當小明拿到公鑰KEY 後,會自己生成一個 密鑰 KEY2 , 並用 KEY 對KEY2 進行加密(此時小明用的是公鑰加密)

在通信過程中,即使中間人一開始就獲取到了公鑰KEY ,但是他不知道私鑰,就對數據無法進行解密,仍舊是沒辦法獲取KEY2。這樣加密後,數據是不是就安全多了呀。這種情況下就可以和妹子愉快的進行聊天了嗎?別急、所謂道高一尺魔高一丈,常言道:流氓不可怕,就怕流氓有文化。這種狀態下我們的數據,相當來說是比較安全的,但是如果此時中間人獲取公鑰後,發送給小明一個偽公鑰,又會產生什麼問題那?

好吧,說到這里,大家是不是快恨死這個中間人了啊,哈哈~~~還有據俗話別忘記了,魔高一尺道高一丈,對於這種情況。我們可以藉助與第三方證書平台,證書平台具備產生證書的功能,伺服器(小花)可以去證書機構申請證書,證書機構通過小花提供的信息(網址、機構、法人等、公鑰),生成公鑰和私鑰(證書機構的),通過私鑰進行數據的非對稱加密生成證書、將證書頒發給小花。那麼此時小花就可以在進行數據交互的時候,傳遞證書了。

小明只需要知道證書的發證機構、就可以很方便的獲取到證書的公鑰、從而對證書進行校驗並獲取公鑰、然後進行後續的操作。

那麼此時小夥伴是不是又有疑問了,如果 中間人 獲取到證書、並偽造證書給小明、怎麼破???

不錯不錯、如果大家有這個想法的話,說明大家都在認真思考了。那麼我們假設中間人獲取到了證書、中間人也可以在證書機構獲取公鑰,並通過證書機構公鑰獲取 伺服器發送的公鑰,中間人此時也可以自己生成公鑰,並向證書機構申請證書、並發送偽證書給小明,但是因為證書是經過簽名認證的,包含(網址、機構、法人等、公鑰)等信息,小明在拿到偽證書後,通過證書公鑰很容易就發現證書是不合法的(網址、法人的信息可定不符,否則申請不到證書的)。

上述我們分享的內容就是HTTPS的主體思想,HTTPS增加了SSL安全層,上述介紹的所有認證流程都是在SSL安全層完成驗證的。今天我就分享HTTPS的實現原理就說這么多了。 ﹏

HTTPS 缺點:

(1)SSL 證書費用很高,以及其在伺服器上的部署、更新維護非常繁瑣。

(2)HTTPS 降低用戶訪問速度(多次握手)。

(3)網站改用HTTPS 以後,由HTTP 跳轉到 HTTPS 的方式增加了用戶訪問耗時(多數網站採用302跳轉)。

(4)HTTPS 涉及到的安全演算法會消耗 CPU 資源,需要增加大量機器(https訪問過程需要加解密)。

7. 加密、簽名、證書的作用及運用場景

本文主要是簡單介紹了常見的加密類型、各自的運用場景、為什麼需要數字簽名和數字證書、HTTPS涉及到的加密流程等。這里主要從使用者的角度出發,對演算法本身不做過多介紹。

對稱/非對稱加密均屬於 可逆加密,可以通過密鑰將密文還原為明文

有時候,我們希望明文一旦加密後,任何人(包括自己)都無法通過密文逆推回明文,不可逆加密就是為了滿足這種需求。
不可逆加密主要通過 hash演算法實現:即對目標數據生成一段特定長度hash值 ;無論你的數據是1KB、1MB、1GB,都是生成特定長度的一個Hash值(比如128bit)。這里大家應該能感受到一點 不可逆 的味道,加密後128bit的hash值顯然無法還原出1個G甚至更大的不規則數據的, hash可以看做是原來內容的一個摘要

常見演算法:

小明給小紅寫信:

經過九轉十八彎後,信的內容有可能:1. 被窺視 2. 被篡改(冒充小明發送假消息)

小紅先 生成對稱加密的密鑰key1 ,然後通過一個安全的渠道交予小明。
傳輸數據時,小明 使用key1加密 ,而小紅收到後再 使用key1解密
這時候 中間者既看不到原來的內容,也沒辦法篡改 (因為沒有密鑰):

【對稱加密】實現簡單,性能優秀 ,演算法本身安全級別高。然而對 密鑰的管理 卻是個很頭疼的問題:一旦密鑰交到對方手裡,對方對密鑰的保管能力 我方是沒辦法控制 的,一旦對方泄露的話,加密就形同虛設了。
相對而言,【非對稱加密】的公鑰就沒有這個憂慮,因為 公鑰 的設計就是為了 可以公開的 ,盡管對方泄露,我方也不會有任何損失。

小紅生成一對公私鑰,自己持有私鑰(pri_key1),將公鑰(pub_key1)交予小明。
傳輸數據時,小明使用 公鑰加密 ,小紅使用 私鑰解密
因為 中間者沒有私鑰,公鑰加密的內容是無法獲取的 。此時達到了 防窺視 的效果:

然而因為 公鑰是可以公開的 ,如果 中間者知曉公鑰 的話,盡管沒有辦法看到原來的內容,卻 可以冒充小明發送假消息

這時小紅在想,如果小明發送消息時,能帶上 只有他自己才能生成 的數據(字元串),我就能 驗證是不是小明發的真實消息 了。
通常這個 能證實身份的數據(字元串) 被稱之為 數字簽名(Signature)

小明再生成一對公私鑰 ,自己持有私鑰(pri_key2),將公鑰交予小紅(pub_key2)。

當小明傳輸數據時(可能很大),除了公鑰加密明文之外,還要帶上簽名:(1) 對明文做一個hash摘要 (2)對摘要進行私鑰加密,加密結果即簽名(傳輸內容=內容密文+簽名)

小紅收到後:(1) 解密簽名獲取hash (2)解密內容密文,對解密後的明文進行hash;如果兩個hash一致,說明驗簽通過。

盡管中間者修改了傳輸內容,但因為簽名無法冒認(沒有私鑰),小紅驗簽失敗,自然不會認可這份數據:

通常 非對稱加密要做到防窺視和防篡改,需要有兩對公私鑰 :對方的公鑰用於內容加密,自己的私鑰用於簽名(讓對方驗證身份)。

因為HTTP協議明文通信的安全問題,引入了HTTPS:通過建立一個安全通道(連接),來保證數據傳輸的安全。

伺服器是 沒辦法直接將密鑰傳輸到瀏覽器的 ,因為在 安全連接建立之前,所有通信內容都是明文的 ,中間者可窺視到密鑰信息。
或許這時你想到了非對稱加密,因為公鑰是不怕公開的:

然而在第2步, 中間者可以截取伺服器公鑰,並替換成了自己的公鑰 ,此時加密就沒意義了:

為了 防止公鑰被假冒,數字證書(digital certificate )便誕生了

當伺服器需要告訴瀏覽器公鑰時,並不是簡單地返回公鑰,而是響應 包含公鑰信息在內的數字證書

證書主要包含以下內容:

瀏覽器通過 【頒發機構的公鑰】進行解密驗簽 ,驗簽通過即說明證書的真實性,可以放心取 證書擁有者的公鑰 了。( 常用CA機構的公鑰都已經植入到瀏覽器裡面

數字證書只做一件事: 保證 伺服器響應的 公鑰是真實的

以上保證了 [瀏覽器⇒伺服器] 是加密的,然而 [伺服器⇒瀏覽器] 卻沒有(上圖第4步);另外一個是 性能問題 ,如果所有數據都使用非對稱加密的話,會消耗較多的伺服器資源,通信速度也會受到較大影響。
HTTPS巧妙地結合了非對稱加密和對稱加密,在保證雙方通信安全的前提下,盡量提升性能。

HTTPS(SSL/TLS)期望 建立安全連接後,通信均使用【對稱加密】
建立安全連接的任務就是讓 瀏覽器-伺服器協商出本次連接使用的【對稱加密的演算法和密鑰】 ;協商過程中會使用到【非對稱加密】和數字證書。

特別注意的是:協商的密鑰必須是不容易猜到(足夠隨機的):

其中比較核心的是隨機數r3(pre-master secret),因為之前的r1、r2都是明文傳輸的, 只有r3是加密傳輸 的。至於為什麼需要三個隨機數,可以參考:

以上是一個比較簡單的HTTPS流程,詳細的可以參考文末的引用。

參考資料:
[1] 數字證書應用綜合揭秘
[2] SSL/TLS協議運行機制的概述
[3] 圖解SSL/TLS協議
[4] 《圖解HTTP》

8. 圖文徹底搞懂非對稱加密(公鑰密鑰)

前文詳細講解了對稱加密及演算法原理。那麼是不是對稱加密就萬無一失了呢?對稱加密有一個天然的缺點,就是加密方和解密方都要持有同樣的密鑰。你可以能會提出疑問:既然要加、解密,當然雙方都要持有密鑰,這有什麼問題呢?別急,我們繼續往下看。

我們先看一個例子,小明和小紅要進行通信,但是不想被其他人知道通信的內容,所以雙方決定採用對稱加密的方式。他們做了下面的事情:

1、雙方商定了加密和解密的演算法

2、雙方確定密鑰

3、通信過程中採用這個密鑰進行加密和解密

這是不是一個看似完美的方案?但其中有一個步驟存在漏洞!

問題出在步驟2:雙方確定密鑰!

你肯定會問,雙方不確定密鑰,後面的加、解密怎麼做?

問題在於確定下來的密鑰如何讓雙方都知道。密鑰在傳遞過程中也是可能被盜取的!這里引出了一個經典問題:密鑰配送問題。

小明和小紅在商定密鑰的過程中肯定會多次溝通密鑰是什麼。即使單方一次確定下來,也要發給對方。加密是為了保證信息傳輸的安全,但密鑰本身也是信息,密鑰的傳輸安全又該如何保證呢?難不成還要為密鑰的傳輸再做一次加密?這樣不就陷入了死循環?

你是不是在想,密鑰即使被盜取,不還有加密演算法保證信息安全嗎?如果你真的有這個想法,那麼趕緊復習一下上一篇文章講的杜絕隱蔽式安全性。任何演算法最終都會被破譯,所以不能依賴演算法的復雜度來保證安全。

小明和小紅現在左右為難,想加密就要給對方發密鑰,但發密鑰又不能保證密鑰的安全。他們應該怎麼辦呢?

有如下幾種解決密鑰配送問題的方案:

非對稱加密也稱為公鑰密碼。我更願意用非對稱加密這種叫法。因為可以體現出加密和解密使用不同的密鑰。

對稱加密中,我們只需要一個密鑰,通信雙方同時持有。而非對稱加密需要4個密鑰。通信雙方各自准備一對公鑰和私鑰。其中公鑰是公開的,由信息接受方提供給信息發送方。公鑰用來對信息加密。私鑰由信息接受方保留,用來解密。既然公鑰是公開的,就不存在保密問題。也就是說非對稱加密完全不存在密鑰配送問題!你看,是不是完美解決了密鑰配送問題?

回到剛才的例子,小明和下紅經過研究發現非對稱加密能解決他們通信的安全問題,於是做了下面的事情:

1、小明確定了自己的私鑰 mPrivateKey,公鑰 mPublicKey。自己保留私鑰,將公鑰mPublicKey發給了小紅

2、小紅確定了自己的私鑰 hPrivateKey,公鑰 hPublicKey。自己保留私鑰,將公鑰 hPublicKey 發給了小明

3、小明發送信息 「周六早10點soho T1樓下見」,並且用小紅的公鑰 hPublicKey 進行加密。

4、小紅收到信息後用自己的私鑰 hPrivateKey 進行解密。然後回復 「收到,不要遲到」 並用小明的公鑰mPublicKey加密。

5、小明收到信息後用自己的私鑰 mPrivateKey 進行解密。讀取信息後心裡暗想:還提醒我不遲到?每次遲到的都是你吧?

以上過程是一次完整的request和response。通過這個例子我們梳理出一次信息傳輸的非對稱加、解密過程:

1、消息接收方准備好公鑰和私鑰

2、私鑰接收方自己留存、公鑰發布給消息發送方

3、消息發送方使用接收方公鑰對消息進行加密

4、消息接收方用自己的私鑰對消息解密

公鑰只能用做數據加密。公鑰加密的數據,只能用對應的私鑰才能解密。這是非對稱加密的核心概念。

下面我用一個更為形象的例子來幫助大家理解。

我有下圖這樣一個信箱。

由於我只想接收我期望與之通信的朋友信件。於是我在投遞口加了一把鎖,這把鎖的鑰匙(公鑰)我可以復制n份,發給我想接受其信件的人。只有這些人可以用這把鑰匙打開寄信口,把信件投入。

相信通過這個例子,可以幫助大家徹底理解公鑰和私鑰的概念。

RSA 是現在使用最為廣泛的非對稱加密演算法,本節我們來簡單介紹 RSA 加解密的過程。

RSA 加解密演算法其實很簡單:

密文=明文^E mod N

明文=密文^D mod N

RSA 演算法並不會像對稱加密一樣,用玩魔方的方式來打亂原始信息。RSA 加、解密中使用了是同樣的數 N。公鑰是公開的,意味著 N 也是公開的。所以私鑰也可以認為只是 D。

我們接下來看一看 N、E、D 是如何計算的。

1、求 N

首先需要准備兩個很大質數 a 和 b。太小容易破解,太大計算成本太高。我們可以用 512 bit 的數字,安全性要求高的可以使用 1024,2048 bit。

N=a*b

2、求 L

L 只是生成密鑰對過程中產生的數,並不參與加解密。L 是 (a-1) 和 (b-1) 的最小公倍數

3、求 E(公鑰)

E 有兩個限制:

1<E<

E和L的最大公約數為1

第一個條件限制了 E 的取值范圍,第二個條件是為了保證有與 E 對應的解密時用到的 D。

4、求 D(私鑰)

D 也有兩個限制條件:

1<D<L

E*D mod L = 1

第二個條件確保密文解密時能夠成功得到原來的明文。

由於原理涉及很多數學知識,這里就不展開細講,我們只需要了解這個過程中用到這幾個數字及公式。這是理解RSA 安全性的基礎。

由於 N 在公鑰中是公開的,那麼只需要破解 D,就可以解密得到明文。

在實際使用場景中,質數 a,b 一般至少1024 bit,那麼 N 的長度在 2048 bit 以上。D 的長度和 N 接近。以現在計算機的算力,暴力破解 D 是非常困難的。

公鑰是公開的,也就是說 E 和 N 是公開的,那麼是否可以通過 E 和 N 推斷出 D 呢?

E*D mod L = 1

想要推算出 D 就需要先推算出 L。L 是 (a-1) 和 (b-1) 的最小公倍數。想知道 L 就需要知道質數 a 和 b。破解者並不知道這兩個質數,想要破解也只能通過暴力破解。這和直接破解 D 的難度是一樣的。

等等,N 是公開的,而 N = a*b。那麼是否可以對 N 進行質因數分解求得 a 和 b 呢?好在人類還未發現高效進行質因數分解的方法,因此可以認為做質因數分解非常困難。

但是一旦某一天發現了快速做質因數分解的演算法,那麼 RSA 就不再安全

我們可以看出大質數 a 和 b 在 RSA 演算法中的重要性。保證 a 和 b 的安全也就確保了 RSA 演算法的安全性。a 和 b 是通過偽隨機生成器生成的。一旦偽隨機數生成器的演算法有問題,導致隨機性很差或者可以被推斷出來。那麼 RSA 的安全性將被徹底破壞。

中間人攻擊指的是在通信雙方的通道上,混入攻擊者。他對接收方偽裝成發送者,對放送放偽裝成接收者。

他監聽到雙方發送公鑰時,偷偷將消息篡改,發送自己的公鑰給雙方。然後自己則保存下來雙方的公鑰。

如此操作後,雙方加密使用的都是攻擊者的公鑰,那麼後面所有的通信,攻擊者都可以在攔截後進行解密,並且篡改信息內容再用接收方公鑰加密。而接收方拿到的將會是篡改後的信息。實際上,發送和接收方都是在和中間人通信。

要防範中間人,我們需要使用公鑰證書。這部分內容在下一篇文章里會做介紹。

和對稱加密相比較,非對稱加密有如下特點:

1、非對稱加密解決了密碼配送問題

2、非對稱加密的處理速度只有對稱加密的幾百分之一。不適合對很長的消息做加密。

3、1024 bit 的 RSA不應該在被新的應用使用。至少要 2048 bit 的 RSA。

RSA 解決了密碼配送問題,但是效率更低。所以有些時候,根據需求可能會配合使用對稱和非對稱加密,形成混合密碼系統,各取所長。

最後提醒大家,RSA 還可以用於簽名,但要注意是私鑰簽名,公鑰驗簽。發信方用自己的私鑰簽名,收信方用對方公鑰驗簽。關於簽名,後面的文章會再詳細講解。

9. 小明手機加密看看

你好,手機加密就是為了保留自己的一點空間,如果你連他的手機密碼都不允許保密,可能是有點過分了,他如果想跟你分享的話不用說就會直接給你看了。愛人之間也要互相留有一點空間的,否則會讓人窒息。.

10. 關於公私鑰、各種證書、https基本概念掃盲

最近實習需要寫一些生成證書的腳本,藉此機會順便搞清楚了許多關於證書這塊的疑惑。說到這一塊東西,名詞多到爆炸,對稱加密、非對稱加密、密鑰、密鑰庫、公鑰、私鑰、CA、證書、數字簽名、ssh、https、ssl、keytool、openssl、PKCS、X.509以及令人眼花繚亂的文件後綴名,cer、crt、pem、keystore、jks、key、p12、pfx...

先聽我講個故事,這次我們不用Bob和Alice,聽完之後再去看這些概念,絕壁恍然大悟。

故事背景: 這是2018年,為了能夠安全的進行通信,假設每個人都有倆把鎖,一個叫A鎖,一個叫B鎖,這倆把鎖和一般的鎖有點區別,每把鎖上即帶有自己的鎖孔又帶有另一把鎖的鑰匙,因此A鎖和B鎖既是鎖又是鑰匙。 A鎖和B鎖唯一配對,A鎖鎖住之後,只有B鎖可以打開,同樣B鎖鎖住之後,只有A鎖可以打開 。其中一把鎖是公開的,而一把鎖則自己保管,不公開。假設默認A鎖是公開的,B鎖是私有的。

故事內容: 阿里巴巴子弟小學的小明想給隔壁班的小花寫封表白信,為了不被別人看到,他將信放入在信箱中,並用小花的A鎖將信箱鎖住,因為小花的B鎖(同是A鎖的鑰匙)只有小花自己有,所以除了小花以外的任何人拿到信件,都無法看到信件內容。同樣小花要給小明寫信,那麼也要用小明的A鎖對信件內容進行保護。

小明與小花通過就這樣聊了有一段時間,後來小花覺得差不多了,可以進入秀恩愛的階段了,跟小明說,以後寫信別tm加密了,又不是銀行卡密碼,被人看到又能怎麼樣呢?只要看了之後別瞎改就行了。於是小明在寫完信後,把信里每個字的拼音首字母拼湊了一個字元串,並取名為 消息摘要 ,然後僅僅將消息摘要放入信箱,用自己的B鎖鎖住這個信箱。雖然信件本身沒有放入安全的信箱,但小明作為一個情書高手,隨便一封信都是上萬字,如果其他人對信件內容做任何改變,那麼拼音首字母組成的字元串幾乎肯定會改變,因此小花拿到信件後,先用小明的A鎖(B鎖的鑰匙)打開信箱,拿到小明的摘要,然後小花再對信件內容做同樣的處理(即計算信件每個字的拼音首字母,實際上不會用這么簡單的演算法,而是會用不可逆的hash演算法),計算出的字元串值如與小明的信息摘要一致,說明這封信就是小明寫給自己的,沒有被任何人篡改。

故事高潮: 事情並沒有那麼簡單,小花發現小明只是在信件里對自己熱情似火,平常見了面連聲招呼都不打,一副不認識的樣子。終於有一天小花忍不住了,當面質問小明,小明卻說,我什麼時候給你寫情書了,自作多情吧...於是小花把昨天剛收到的情書狠狠甩在了小明臉上:「上面落款不是你小明嗎?怎麼了,慫了?」小明一看上面還真是自己的名字,但是自己寫沒寫信自己還不知道嗎?小明把自己的作業本拿給小花,並叫自己的同桌做筆跡鑒定,小花發現筆跡的確不大像,看來是有人惡作劇,冒充小明給自己寫情書,哎,好尷尬啊。。。

故事講完了,文章開頭涉及的所有概念都與信息的安全傳輸有關,可以說,一切都是為了安全。關於通信安全,我們通常有三個基本的需求

我們以上面的故事為例說一下這三點安全需求,一開始小明與小花通過A鎖( 對應公鑰 )加密,B鎖( 對應私鑰 )解密的通信方式即符合第一點,信件內容本身被加密,而因為公私鑰唯一配對,只有配對的密鑰才可以解密,因此很難被第三人破解。

之後,為了秀恩愛,他們採用了B鎖( 私鑰 )加密,A鎖( 公鑰 )解密的通信方式,其中用私鑰對消息摘要加密後的字元串稱為 數字簽名 ,這樣雖然信件可以被人直接看到,但如果被人篡改掉後可以輕易發現數據被篡改。本來以為滿足第一條和第二條就可以安全的通信了,但最後才發現小明根本不是小明!為什麼會出現這樣的問題?因為「小明」說他是小明,小花就以為他是小明,他沒有提供任何證明自己真的是小明的認證。因此要想安全通信,我們還需要一個權威第三方的機構來做身份認證,這個機構就是CA機構,通過認證後,CA機構會頒發權威的證書,而有了證書就可以證明身份,就不會出現身份被假冒的情況。而認證的過程則需要向CA機構提供自己的身份信息以及私鑰。

對稱加密就是通信雙方或多方採用的密鑰是一樣的。加解密速度快,但不夠安全。因為一旦密鑰泄露,誰都可以對數據進行解密。非對稱加密就是當然就是通信雙方使用的密鑰不同。而公鑰和私鑰就是非對稱加密的一種方式。比較常用的對稱加密演算法如
AES、DES,非對稱加密比較常見的則有sha256,RSA。
非對稱加密演算法有倆個密鑰,一個公鑰,一個私鑰。公鑰和私鑰必須配對出現,一對公鑰和一個私鑰統稱為一個 密鑰 ,而 密鑰庫 中可以存放多個密鑰,即多對公私鑰。

如果你用github的話,應該注意到github鏈接有倆種方式。一種是https,一種是ssh,通過https經常需要輸密碼,而通過ssh則不需要。回憶你設置ssh的步驟,本地生成了一個密鑰對,並將公鑰上傳到了github。每次傳輸用自動本地私鑰加密,伺服器用你上傳的公鑰解密,就不需要手動輸入密碼了。

keytool和openssl是倆個證書管理工具.keytool是java JDK自帶的證書管理工具,使用keytool可以生成密鑰,創建證書。只要裝了jdk,並正確設置了環境變數,就可以之間通過命令行執行keytool命令來管理證書。
openssl則是一個開源的安全套接字層密碼庫,功能比keytool更加豐富。

PKCS全稱Public-Key Cryptography Standards 即公鑰標准,PKCS已經發布了15個標准。
PKCS#12 包含了公鑰和私鑰的二進制格式的證書形式,以pfx作為證書文件後綴
X.509 則是一個通用的證書標准,規定了證書應該包含哪些內容,X.509通常有倆種編碼方式,一種是二進制編碼,另一種是base64編碼
X.509#DER 二進制格式證書,常用後綴.cer .crt
X.509#PEM 文本格式證書,常用後綴.pem

因為http是明文傳輸,非常不安全,因此又提出了ssl(Secure Sockets Layer即安全套接字)層協議,即在原來的基礎上又加了一層協議用於保障安全傳輸,可以認為https=ssl+http。很多人剛開始接觸https,用瀏覽器F12打開控制台後。可能發現數據仍然沒有加密。要注意https是 傳輸層加密 ,瀏覽器F12控制台你看到的還是應用層的數據。
因為本文主要是概念掃盲,幫助理解,因此關於這部分具體細節不作介紹。

.keystore和.jks和.truststore都是java用來存放密鑰的文件
.key nginx中私鑰文件
而不同的證書文件後綴都是為了區分不同種類的證書的,主要有倆個分類維度

熱點內容
緩存視頻最快的軟體 發布:2025-08-26 02:45:11 瀏覽:155
android卡刷 發布:2025-08-26 02:42:41 瀏覽:313
db2查看資料庫字元集 發布:2025-08-26 02:42:34 瀏覽:31
sql2008隨機數 發布:2025-08-26 02:37:48 瀏覽:343
做個電商網站需要什麼伺服器 發布:2025-08-26 02:37:42 瀏覽:267
php獲取當前目錄 發布:2025-08-26 02:30:29 瀏覽:467
伺服器終端不需要電腦 發布:2025-08-26 02:20:50 瀏覽:5
最小二乘濾波演算法 發布:2025-08-26 02:09:24 瀏覽:495
安卓系統怎麼加內存卡 發布:2025-08-26 02:08:38 瀏覽:245
16款凱美瑞推薦哪個配置 發布:2025-08-26 02:08:38 瀏覽:995