
Qinz
你的APP登錄安全?數(shù)字簽名的原理是怎樣的呢?為了更加形象和簡練的展示本文要傳達的思想,我特意使用了PPT進行了梳理和圖片繪制,下面將不會做過多的概念介紹,一切從實際出發(fā)!
一、最早的對稱加密:凱撒密碼
凱撒密碼

凱撒密碼
二、登錄安全
-
明文傳輸,這種方法基本等于裸奔,使用charles抓包數(shù)據(jù)就可以展漏無疑,如果仍然有公司使用此方案,建議盡快Hop:明文傳輸
-
常用的密碼加密方式就是使用Hash,因為Hash的特點很適合做密碼加密:Hash特點
-
最基本的安全意識,對密碼進行MD5加密,應(yīng)該有不少公司停留在此,其實這種方式安全性并不高:MD5加密
-
有些APP的密碼強度設(shè)置的不高,就會導(dǎo)致密碼可以被破解,這里的破解并不是真正意義上的破解,只是用一個大的數(shù)據(jù)庫進行匹配,如MD5破解網(wǎng)站,不乏不少盈利的灰產(chǎn):
MD5破解 -
繼續(xù)提高安全:在代碼中加入靜態(tài)Salt,此種方式的鹽也容易泄露:加鹽
-
將靜態(tài)Salt改為服務(wù)端返回,當然依然會有被劫持的風(fēng)險:動態(tài)Key
-
較為安全的處理方式就是時時校驗,加上時間,服務(wù)器校驗這一分鐘和上一分鐘的Hash值,只要有一個匹配就可以驗證通過,這樣會大大加大破解難度。當然在注冊的時候Key也可能會被截獲,如果要繼續(xù)提高安全,可以將Key進行RSA加密傳輸,即數(shù)字簽名,下面會講到,這種方式的破解成本是非常非常之高的:安全登錄
二、RSA原理
-
首先得知道歐拉函數(shù):歐拉函數(shù)特點
-
歐拉定理,既然是定理,記住就行:歐拉定理
-
歐拉定理推導(dǎo)歐拉推導(dǎo)
-
RSA算法說明:RSA算法
-
迪菲赫爾曼密鑰交換原理,第三方竊取到的數(shù)據(jù)會讓他懵逼:迪菲赫爾曼密鑰交換
-
RSA公鑰加密,私鑰解密;私鑰加密,公鑰解密原理如下:
RSA
三、數(shù)字簽名原理
-
下面就是數(shù)字簽名的原理,如支付寶支付原理也是如此:數(shù)字簽名
數(shù)據(jù)的交互安全在傳統(tǒng)互聯(lián)網(wǎng)領(lǐng)域是很容易被忽視的,本文要傳達的核心思想就是要重視數(shù)據(jù)傳輸?shù)陌踩?,不要等到財產(chǎn)損失了才后悔莫及!
我是Qinz,希望我的文章對你有幫助!













