王振鐸 王振輝



摘要:身份認證作為信息系統的根本保障,對安全起關鍵作用。靜態口令作為信息系統常用的認證方式,應用簡便,但安全性不高。通過分析其安全問題,設計了一種客戶端不僅認證口令還須驗證登錄設備的有效性,同時記錄登錄信息,以便事后安全審計的身份認證系統,并介紹了關鍵技術。該認證方式為進行信息系統安全性設計提供了借鑒。
關鍵詞:信息安全;口令;驗證碼
中圖分類號:TP393.08? ?文獻標識碼:A
文章編號:1009-3044(2022)17-0004-02
隨著信息化技術的廣泛普及和應用,企事業單位、政府部門應用了大量的信息系統處理各自的業務。同時,數據量逐年增長,數據管理難度加大,數據的安全問題凸顯。如今,數據已經成為公認的財富,用好數據對于社會和單位的發展至關重要。另一方面,非法用戶為了獲取其他利益,竊取、破壞數據已經成為信息系統安全急需解決的問題。如何保護信息系統的安全,也一直是安全人士研究的熱點問題。
俗話說“病從口入”,信息系統安全亦是如此。身份認證作為信息系統安全的首道屏障無疑是信息系統安全的關鍵。對于企業信息系統較安全需要高的金融、證券、稅務等系統,均采用數字證書、Ukey、生物認證等額外的安全技術手段加以保護。而企業級信息系統采用的還是傳統的靜態口令驗證方式,該方式的安全問題很多,造成企業信息系統安全頻繁發生[1]。相關文獻針對靜態口令的安全性問題進行了研究和探討,結合動態口令技術、生物識別技術、硬件設備加強靜態口令的安全,解決了一定的問題,但增加了成本和降低了易用性[2-4]。本文旨在探討如何加強靜態口令認證方式的安全性,提出一種雙認證的身份認證策略,在不增加任何硬件設備的情況下,增強信息系統身份認證的安全。
1 靜態口令的安全問題
靜態口令作為傳統的身份認證方式,具有簡便易用的優勢,但經常會受到以下安全問題的困擾。
第一,靜態密碼,易被猜測、破解。在企業信息系統中,用戶認證往往通過賬號與密碼的方式。其中,賬號往往是員工號、郵箱號、手機號、身份證號等關鍵信息,這些信息在企業中存在不安全的因素。所以只剩下密碼一個因素保證認證的安全,而有些用戶往往采用易記的簡單密碼,形同虛設,黑客容易利用破解工具進行破解。
第二,盜庫的風險。數據庫已成為對手或者黑客的重點攻擊目標。一旦數據庫發生泄漏,并且數據庫中用戶私密信息以明文方式存儲,攻擊者不僅可以利用該用戶的權限操作信息系統,還可以用該用戶的賬號和密碼去其他網站嘗試登錄,一旦登錄成功,就會造成很嚴重的后果。
第三,“內鬼”作案的風險。在信息系統面對的各種安全威脅中,內部威脅雖然數量上遠不及外部攻擊,但造成的損失和危害性更大。因為,內部員工要比外部人員更清楚哪些數據是值得竊取的。同時,內部員工的惡意操作更容易被企業組織所忽略,因此內部威脅問題,已逐步成為國內外安全專家重點研究的對象。
第四,單一管理方式。用戶的賬號、密碼等私密數據保存在數據庫服務器上。用戶私有數據的安全性用戶本人無法監管。用戶無法確認個人私密數據的安全性以及誰在利用自己的賬戶信息進行操作。
2身份認證的安全需求
2.1客戶端對利用自身賬號登錄操作的查詢權限
客戶端用戶的登錄、操作日志往往是服務器管理人員在數據庫審計時才會關注的。這種情況造成了信息的不對稱,若發生了安全問題,客戶端不能主動知曉,而必須事后通過服務器管理人員告知。所以,若要保證客戶端的安全和權益,必須提供客戶端用戶隨時能看到自己登錄的情況和使用情況,保證客戶端和服務器端的信息對稱。這個功能應該在開發的信息系統中加以提供。
2.2 客戶端私密數據的加密存儲
客戶端用戶對自己的私有數據,賬號、密碼、郵箱、手機號等重要身份信息的缺乏管理權限。這些數據存放在數據庫中,對應企業級信息系統,多數仍以明文的方式存在。用戶數據的管理權限在服務器,如果數據庫遭遇黑客攻擊以及企業內鬼作案,用戶對自己的私有數據財產無任何保護能力。
3認證系統設計
3.1注冊和登錄功能
身份認證功能,由用戶注冊和用戶登錄實現。用戶注冊時,需要提供賬號、密碼、郵箱、手機號等個人私有數據。同時,服務器程序會提取能夠確定客戶端使用設備的唯一標識(例如硬盤、CPU、網卡)等的唯一標識,使得客戶端人和設備的信息同時被提取保存到數據庫中。杜絕了其他非法用戶登錄系統的可能性,因為需要人和設備二者完全匹配,用戶可以在注冊的時候,提供另外一臺電腦的硬件地址作為更換電腦時的設備,以免后期更換設備時帶來安全檢測。
若合法用戶更換了電腦,操作信息系統時,服務器會判斷出設備是新設備,要求用戶提供有效的郵箱或手機號,發送驗證碼后,驗證為合法用戶后,才能正常使用系統。其中用戶表的主要信息如表1所示。
登錄驗證功能是系統的核心功能,程序流程如圖1所示。
3.2用戶操作審計功能
為了增加系統地安全性,在傳統身份認證系統只有注冊和登錄功能的基礎上,增加用戶登錄操作使用信息系統的操作審計功能。文獻5中的登錄審計功能,只是對用戶登錄的情況進行記錄和設計。為了更全面地記錄和審計登錄者使用信息系統的情況,便于用戶和管理員雙方都能夠查詢系統使用情況,一旦發生安全事件,可以分辨是用戶自己操作還是他人盜用用戶賬號非法操作的問題。有利于用戶和管理員雙方在信息對稱的情況下,對安全問題進行追溯。用戶操作審計表的信息包括使用的賬號、登錄時間、地理位置、操作的行為數據等。通過該日志表,可以瀏覽和統計某個用戶時間段內登錄次數、登錄位置和操作記錄信息。操作審計信息表設計如表2所示。
4 關鍵技術
4.1 客戶端硬件設備唯一標識信息的獲取
為了識別客戶端使用設備的合法性,系統注冊和登錄時,均需要采集客戶端硬件設備的唯一標識信息,這些信息可以來自硬盤、網卡、CPU等[5]。利用Javascript調用ActiveX插件即可讀取上述硬件信息。利用ActiveX獲取客戶端硬件標識信息的代碼不少,讀者可以自行測試,但非IE瀏覽器,必須按照相關的ActiveX插件方可正常獲取。
4.2客戶端登錄地位
為了保障客戶登錄的安全性,用戶可以在登錄審計表中,查看到登錄位置信息,確保是自己的登錄位置,及時發現非法用戶盜用自己賬號進行登錄,系統提供登錄位置的查詢功能。該功能采用Javascript采集用戶的登錄信息,需要調用JQuery庫,調用高德地圖的GetLocation庫的getCurrentPostion獲取精確的位置[6]。獲得客戶端的登錄位置后,可以將該信息存入登錄審計表,以便后期安全審計。
4.3服務器發送郵件驗證碼
在系統的“密碼修改”“登錄位置”變化等情況下,需要發送驗證碼進行個人身份驗證。本文以JSP發送郵件為例。JSP發送郵件需要有JavaMail API,并且需要安裝JavaBean Activation Framework。程序代碼如下:
<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// 收件人的電子郵件
String to = "XXX";
// 發件人的電子郵件
String from = "XXXX";
// 你發送電子郵件的主機
String host = "XXXXX";
// 獲取系統屬性對象
Properties properties = System.getProperties();
// 設置郵件服務器
properties.setProperty("mail.smtp.host", host);
// 獲取默認的Session對象。
Session mailSession = Session.getDefaultInstance(properties);
// 創建一個默認的MimeMessage對象。
MimeMessage message = new MimeMessage(mailSession);
// 設置 From: 頭部的header字段
message.setFrom(new InternetAddress(from));
// 設置 To: 頭部的header字段
message.addRecipient(Message.RecipientType.TO,newInternetAddress(to));
// 設置 Subject: header字段
message.setSubject("This is the Subject Line!");
// 現在設置的實際消息(需要發送的驗證碼)
message.setText("登錄的驗證碼信息");
// 發送消息
Transport.send(message);
result = "發送郵件成功";
5系統特點及應用效果
通過雙認證方式身份認證方式的設計,總結出方案具有以下優點:
(1)純軟件方式,無須額為的硬件設備。
(2)增加了客戶端對自己私有信息的監管度,同時,提升了客戶端和服務器端的安全性。
(3)對用戶更換電腦設備,操作信息系統進行了安全校驗,阻止了黑客對系統的入侵。
本身份認證系統加入原有的MIS系統中,通過使用,用戶可以清楚地了解自己使用系統的情況,提升了系統的安全性。
6結束語
信息系統安全與易用性二者本來就是矛盾的。若只考慮系統的易用性,勢必會造成系統的安全性低,而系統的高安全性也是以犧牲便利性為代價的。所以,為了保證數據的安全,增加一些可行的安全性是必要的。一旦企業做好了用戶數據的防護,不僅能夠有效避免數據泄露的危害,還能夠切實提升企業信息系統數據的安全性,大幅消除用戶對于個人隱私泄露的疑慮。
參考文獻:
[1] 張猛,尹其其.靜態口令認證技術研究進展[J].網絡空間安全,2018,9(7):11-14.
[2] 平林艷.基于人臉識別的身份認證系統的研究與應用[D].北京:華北電力大學(北京),2019.
[3] 王晨宇.基于口令的多因子身份認證協議研究[D].北京:北京郵電大學,2020.
[4] 尚旭哲,王潤田,孫穎,等.口令破解與防范技術研究[J].網絡空間安全,2020,11(5):98-103.
[5] 王振輝,王振鐸.Android手機安全登錄系統[J].計算機系統應用,2018,27(2):71-76.
[6] 王夢梅,劉浩.基于jQuery Mobile的溫室智能控制系統[J].信息技術與信息化,2021(6):222-224.
收稿日期:2022-03-25
基金項目:陜西省教育廳2020年度自然科學研究項目(SGH18H526),西安思源學院2020年校級科研團隊資助
作者簡介:王振鐸(1974—),男,碩士,副教授,主要研究方向為物聯網技術、軟件工程等;王振輝(1974—),男,碩士,副教授,主要研究方向為物聯網技術、軟件工程等。