-
1 # F金小金
-
2 # 網路圈
任何一套系統(不管是C/S型別還是B/S型別的)都離不開許可權體系,而許可權體系又依懶於身份認證體系。小到大家日常使用的微博、微信、網站等,都離不開登入場景,大到你的銀行卡都是需要設定密碼的。所以說身份認證對於一套系統而言是必不可少的,身份認證的安全性尤為重要!
何為身份認證?身份認證有很多種說法,比如“身份證驗”、“會話認證”等,它是指計算機網路系統對操作者身份進行確認的過程,以判斷操作者是否有許可權進行資源的訪問和操作,這樣才能最大程度保證系統和資料的安全性。
身份認證的方式有哪些?最早期的身份認證機制很簡單,就是判斷使用者名稱和密碼是否能和資料庫中的記錄匹配上。而隨著網路上的攻擊型別越來越多,身份認證體系也發生了不少變化,目前常見的身份證認方式有以下幾種:
靜態密碼
簡訊驗證碼
動態口令牌
USB Key
生物識別(指紋、面部識別等)
多種認證的結合
利用各種加密技術,確保身份認證過程的安全性上面說到的身份認證方式離不開加密技術,如果要保證身份驗證過程的安全就需要確保認程過程是在加密環境下執行的,具體該如何在加密環境中工作呢?我整理出了主要的思路供大家參考:
1、各種密碼要加密儲存以防爆庫、拖庫
特別是靜態密碼不能明文儲存在資料庫中,萬一資料庫被爆那所有使用者的密碼全部會洩露。
2、多重加密方式進行混淆加密,增加破解難度
像我們熟知的MD5其實是不可逆的,但網上為什麼有所謂的“MD5破解”網站呢?其實原理也很簡單,這類網站收集各類密碼,然後以明文和MD5加密的方式共同儲存入庫,下次別人檢索一個MD加密過的密碼時就把它和資料庫中進行對比,然後找到明文,這種做法在業內稱為“碰撞”。
3、選擇HTTPS而不是HTTP協議進行資料傳輸
HTTP協議在傳輸資料的過程中是明文的,如果請求被中間人攔截那駭客可以輕易看到你的請求資料(密碼會直接暴露出來),這是極不安全的;而HTTPS在HTTP的基礎上加了SSL層以保證資料是加密傳輸的,破解起來難度極大(除了在本地安裝證書進行抓包,這種不能算的)。
所以銀行業系統對外訪問時都是以HTTPS協議訪問。
4、避免本地鍵盤勾子截獲密碼
大家有沒有注意到,銀行網銀系統不少都要安裝它們提供的安全控制元件?安裝了這些控制元件後才會出現密碼輸入框?因為客戶端電腦上的安全性是不能保證的,如果客戶電腦上中毒了可能會被駭客植入鍵盤勾子程度,它可以截獲鍵盤上的所有按鍵輸入!
所以安全性高的站點都會開發一個控制元件用來輸入密碼,這類控制元件可以防止鍵盤勾子,從而保證密碼輸入過程中不會被後門程式獲取到。
回覆列表
身份驗證 授權在身份驗證期間,將使用者提供的憑據與本地作業系統上的授權使用者的資料庫中的憑證或透過身份驗證伺服器進行比較。如果憑證匹配,並且經過身份驗證的實體被授權使用該資源,則該過程完成並且使用者被授予訪問許可權。認證因素使用使用者ID和密碼對使用者進行身份驗證通常被認為是最基本的身份驗證型別,它取決於使用者是否知道兩條資訊:使用者ID或使用者名稱以及密碼。由於這種型別的身份驗證僅依賴於一個身份驗證因素,因此它是一種單因素身份驗證。
一個 認證因素 表示一些片,可用於驗證到一系統中的使用者請求訪問資料或屬性的。一句古老的安全格言認為,認證因素可以是“你知道的東西,你擁有的東西或者你擁有的東西”。這三個因素對應於知識因素,佔有因素和內在因素。知識因素:“你知道的東西。” 知識因素可以是由使用者擁有的資訊組成的任何認證憑證,包括個人識別號(PIN),使用者名稱,密碼或秘密問題的答案。