⑴ 統一密碼是什麼意思
意思是登錄手機銀行時賬戶可以用手機號、用戶名或證件號三者其中之一,無論用哪個登錄,登錄密碼都是一樣的。
⑵ 用戶名和密碼與web gui相同是什麼意思啊
web號就是「您在新網互聯開通的主機web號。
在編寫web用戶登錄界面的時候,考慮到用戶登錄時的人性化提示。特此在html界面上使用javaScript來實現用戶登錄相關邏輯的實現,如用戶名、密碼、確認密碼不能為空等,還有密碼和確認密碼一致性檢驗,和不符合要求時的相關人性化提示。
⑶ 登錄密碼與web密碼一致什麼意思
你上傳的照片上不是寫了嗎?web號就是「您在新網互聯開通的主機web號」,你要是忘了的話可以問他們的客服啊 這個步驟應該是他們公司的內部要求,不是工信部的統一規定。我們公司就沒有這一步
⑷ 新密碼與舊密碼相同是什麼意思
這個主要是出現在修改密碼的時候,就是說你新設置的密碼與從前的密碼是一樣的,系統自動識別出來,無法予以更改。
建議樓主使用原密碼或者重新設置一個新密碼。
⑸ 密碼學筆記
別人用A的公鑰加密傳輸的信息,只有A的私鑰可以解密。保證了傳輸的信息的安全性。
A用A的私鑰加密的信息,別人用A的公鑰才可以解密。可以證明這個信息一定是A傳輸而來的。
共享秘鑰(對稱加密):速度快,但無法保證客戶端與伺服器之間傳輸時秘鑰的安全性。
和公開密鑰(非對稱加密):安全,速度慢。
一、客戶端請求SSL(安全套接層)通信,報文中包含自己支持的SSL版本、加密演算法等。
二、伺服器應答,附帶自己的公鑰證書,協商定好的SSL版本、加密組件。
三、客戶端根據自己本地的收信任的CA公鑰,解封伺服器公鑰證書,得到伺服器公鑰。客戶端生成一個隨機碼序列,用伺服器公鑰加密後,發回伺服器。
四、伺服器用私鑰解密後,再加密將字元串傳回客戶端。
五、客戶端確認伺服器身份後,生成對稱加密演算法和共享秘鑰,使用伺服器公鑰加密後,傳給伺服器。
六、此後,雙方使用對稱加密演算法加密數據,進行傳輸。
上面過程中,一二用於獲得合法的伺服器公鑰,三四用於確認伺服器是否為真正私鑰持有者(因為,伺服器公鑰誰都可以得到)。
使用與明文比特序列一樣長的,真正的隨機數序列,進行加密,絕對安全,因為窮舉破譯後能得到整個秘鑰空間,毫無意義。
以分組為單位進行處理的密碼演算法稱為 分組密碼。
採用 Feistel網路。
以 64 bit 為一個加密單位,首先分成兩部分,各32 bit 。
加密過程持續數輪,每輪中,使用子秘鑰與右側數據經過輪函數生成一個序列,然後與左側做 XOR 。
每輪結束後,左右兩側交換。
加解密結構相同,輪數任意,函數任意。
使用秘鑰1、2、3對明文進行加密、解密、加密三個過程,稱為三重DES。
解密過程是為了兼容老版DES,如果1、2、3秘鑰相同,則成為了普通DES。
1、3秘鑰相同,2不同時,稱為DES-EDE2 。
1、2、3秘鑰不同,稱為DES-EDE3 。
採用的是 Rijndael 演算法,SPN結構。
輸入分組為 128bit(16位元組),秘鑰長度可以以 32bit 為單位,在128~256bit之間選擇。
該演算法由多輪構成,10~14輪。
一輪中:
SubBytes,按位元組,將輸入分開,以每個位元組為索引,查表找值,替換。
ShiftRows(平移行),按位元組,打亂上面的輸出。
MixColumns (混合列),按4個位元組,比特運算。
與輪秘鑰進行 XOR 。
分組密碼:每次處理,特定長度的一塊數據。
流密碼:對數據流,連續處理,需要保持內部狀態,記錄進度。
明文分組加密後,直接成為,密文分組。
特點:攻擊者無需破譯,即可操縱明文。
明文分組,與前一個密文分組XOR,加密得到自己的密文分組。
第一個分組的前一個密文分組,由 初始化向量(隨機比特序列) 代替。
加密時,需要從頭開始。因為需要與密文分組做 XOR 。
解密時,對密文分組解密,直接與密文分組 XOR 即可。
同樣的明文分組,密文值可以不相等。
密文分組可以損壞,影響部分。
密文分組比特缺失,影響全部。
前一個密文分組,通過加密演算法得到一個比特序列,稱為 密鑰流 。
明文分組,與密鑰流 XOR,得到自己的密文分組。
解密時,加密演算法對密文分組進行加密,得到密鑰流,與密文 XOR 可得到明文。
重復攻擊:假設秘鑰相同。發送 4 個分組,攻擊者保存了後面3個。轉天,你又發送了 4 個分組,攻擊者將你後面三個替換,接收方解密後,只有 2 號分組有錯。
對於每個分組,初始化向量加密後,得到密鑰流。明文與密鑰流 XOR 後,得到密文。
速度快,密鑰流可以提前生成,或者,生成秘鑰過程可以和 XOR 運算並行。
對每個計數器加密得到密鑰流。密鑰流與明文分組 XOR ,得到密文分組。
計數器生成的數,由 一個隨機序列 nonce + 從1開始的遞增數字 組成。
對每個分組,計數器遞增後,加密,得到密鑰流。
能夠以任意順序處理分組,因為加密時需要的初始數字序列能夠計算出來。
為了確保安全,有地理局限,與不同的人通信需要不同密鑰,共享繁瑣。
每個員工有自己的密鑰,密鑰分配中心使用個人密鑰,包裹臨時會話密鑰,分配給各個員工使用。
密文=明文的E次方 MOD N
E 和 N 是RSA加密用的密鑰,也就是說,E 和 N 的組合就是公鑰。
明文=密文的D次方 MOD N
D 和 N 的組合就是私鑰。
尋兩個很大的質數 p 和 q,相乘得到 N
L為 p-1 和 q-1 的最小公倍數
隨機數生成器,不停地生成數字,直到滿足如下條件:
1 < E < L
E 和 L 的最大公約數為 1
根據 E ,計算 D
1 < E < L
E × D MOD L = 1
保證 E 與 L 互質,則 D 一定存在。
求對數很容易,求 離散對數 很困難
對一個大數字進行質因數分解,人類未找到高效演算法
利用了 MOD N下,求離散對數的困難度
加密後,密文長度翻倍
利用了 MOD N下,求平方根的困難度
密碼實現通過 對橢圓曲線上的特定點進行特殊乘法。
利用了該種乘法的逆運算非常困難這一特性
單向散列函數 又稱為,消息摘要函數、哈希函數、雜湊函數
輸入的消息 又稱為,原像
散列值 又稱為,消息摘要、指紋
完整性 又稱為,一致性
根據任意消息,計算出的散列值長度,固定
用時短
消息不同,散列值不同
具備單向性
MD是消息摘要的意思
可以產生 128bit 的散列值,但它們的抗碰撞性已被攻破
SHA-1散列值長度為 160bit,強碰撞性已被攻破
其餘的統稱為 SHA-2,散列值長度為各自後面的數字
歐盟版本
第三代 SHA
消息上限 2^64 bit。
消息長度需要是 512bit 的整數倍。這樣的 512比特 稱為一個輸入分組。
過程:
消息末尾添加 1
然後添加 0,直到最後一個分組的 448比特 的位置
最後 64比特 需要保存原是消息的長度
對每個分組計算 80 個 32bit 的值。
過程:
將 512bit 分成 32bit × 16組,稱為 W0~W15
從15組中按規律取4組,進行 XOR 運算,結果循環左移 1 位,得到另外一組。如此反復,得到總共 80 組。
ABCDE 五個 32bit 的緩沖區,保存了 160bit 的消息內部狀態。
內部狀態與每個 512bit 的輸入分組混合,一共 80 個步驟。
最終得到 160bit 的最終內部狀態。
暴力破解:暴力尋找與 1億元合同 散列值相同的文件
生日攻擊:准備兩份 散列值相同的 1億元合同
可以辨別 篡改,無法辨別 偽裝,因此還需要 認證技術
認證技術包括 消息驗證碼 和 數字簽名
消息驗證碼:可以向通信對象保證消息不被篡改
數字簽名:可以向任何人保證通信對象不被篡改
message authentication code,簡稱 MAC。
相當於 使用共享密鑰的單向散列函數
SWIFT:負責銀行間的交易,公鑰密碼使用前,都是人工配送密鑰的。
IPsec:對IP協議增加安全性,採用的是消息認證碼
SSL/TLS:網上購物等場景中所用協議。
過程:
密鑰填充 至單向散列函數要求的輸入分組大小
填充後的密鑰 與 ipad(16進制的36不斷循環)XOR,得到ipadkey
與 消息 組合,計算散列值
填充後的密鑰 與 opad(16進制的5C不斷循環)XOR,得到opadkey
與 上面得到的散列值 組合,計算新的散列值,為最終的MAC值
對第三方證明
防止否認
因為知曉密鑰的只有兩個當事人,第三者無法確定能拿到合法的密鑰,無法自己計算合法MAC值
RSA:利用質因數分解難度的那個
ElGamal:利用求離散對數的困難度的那個,數字簽名有漏洞,現僅用於公鑰密碼
DSA:Schnorr演算法與ElGamal方式的變體,只能用於數字簽名
Rabin:利用了求MOD N中平方根的困難度,可用於數字簽名和公鑰密碼
例如,verisign公司的認證業務分為三個等級,等級越高,越嚴格
ITU 國際電信聯盟和 ISO 國際標准化組織制定的 X.509 規范如下
大體包含以下內容:
簽名前的證書——簽名對象的各種消息
數字簽名演算法——簽名時所用的演算法
數字簽名——得到的數字簽名
PKI :為了能有效使用公鑰而制定的一系列規范和規格
PKI 的組成要素如下
兩種方法:一種是由認證機構生成,一種是由 PKI 用戶自行生成
認證機構有一個 CRL(認證作廢清單),具有數字簽名,記載了已經作廢的證書的編號。
認證時,從上(根證書)往下
對於密鑰,關鍵的是 密鑰空間的大小
DES 的密鑰 實質長度(即,除去校驗錯誤的比特後的長度)7位元組
DES-EDE2 的實質長度 14位元組,DES-EDE3 的實質長度 21位元組
AES 的密鑰長度可以從 128、192 和 256bit 當中選
會話密鑰:每次通信中,僅使用一次的密鑰
主密鑰:一直被重復使用的密鑰
CEK:Contents Encrypting Key
KEK: Key Encrypting Key
各個步驟中的密鑰管理方法
兩種方法:
用隨機數生成密鑰:使用具備不可預測性的偽隨機數生成器生成隨機數
用口令生成密鑰:一般使用,口令 + 一串稱為 salt 的隨機數,得到他們的散列值作為密鑰(這種方法稱為:基於口令的密碼)
事先共享
秘鑰分配中心
使用公鑰密鑰
Diffie-Hellman 密鑰交換
密鑰更新:一種提高通信機密性的技術
原理:
使用 共享密鑰 進行通信時,定期改變密鑰。
雙方使用同樣的方法,對當前密鑰求 散列值,並作為下一個密鑰
優點:
後向安全:防止破譯過去的內容
對密鑰進行加密,然後保存
意義:
同時對多個密鑰進行加密,可以減少保存密鑰的數量
步驟:
P 為非常大的質數,G 為 P 的 生成元
目的為,將 隨機數 A 的信息 含蓄地發給了 B
目的為,將 隨機數 B 的信息 含蓄地發給了 A
計算方法:密鑰 = (G ^ B MOD P) ^ A MOD P = G^(A × B) MOD P
計算方法:密鑰 = (G ^ A MOD P) ^ B MOD P = G^(A × B) MOD P
對於一個質數 P ,只有它的生成元在進行 G ^ x MOD P 時,結果能夠覆蓋 0 ~ P-1 的所有數字
用途:用於安全的保存密鑰
由來:
一 生成會話密鑰 CEK ,加密消息
二 需要保密 會話密鑰CEK,使用 密鑰加密密鑰KEK 對會話密鑰進行保密
三 現在需要保密 KEK 這個密鑰,選擇使用口令生成這個 KEK
保密的問題最終都歸結為了 安全保存密鑰,然而我們記不住密鑰。
於是,選擇單向散列函數對口令生成散列值,作為密鑰。
這個密鑰無需保存,我們可以通過口令隨時求得,口令也無法被反向推出,且口令方便記憶。
順帶,為了防止字典攻擊,生成口令散列值時,需要使用 口令 + salt(隨機數序列)
事先 已准備好 候選列表 的攻擊方法
隨機性
不可預測性
不可重見性
這三個性質,越往下越嚴格。分別稱為:
弱偽隨機數(不可用於密碼學)
強偽隨機數
真隨機數
偽隨機數生成器是公開的,種子是保密的。
確保種子的不可預測性,更加容易些。
種子是用來對偽隨機數生成器的 內部狀態進行初始化 的
R1 = (A × R0 + C) MOD M
數據有限,不能用於密碼學
單向散列函數的單向性是支撐偽隨機數序列不可預測性的基礎
利用 AES 等對稱密鑰對內部狀態進行加密
從當前時間開始,利用加密演算法 求得加密後的時間的掩碼 (因為密鑰未知,別人無法推測出掩碼信息)
與內部狀態 XOR,加密後輸出, 得到偽隨機數序列
對偽隨機數序列加密後,作為 下一個內部狀態
針對極端情況的密碼軟體,具有全部功能。
TLS 由 TLS 記錄協議 和 TLS 握手協議 疊加而成。
負責消息的 加密、壓縮 和 認證
商定 客戶端和伺服器 所用的加密演算法和密鑰
負責 傳遞 變更密碼的信號
發生錯誤時 通知對方
傳輸數據