基于B/S下的IC智能卡的安全問題
文章出處:http://xianjuhong.com 作者:不詳 人氣: 發(fā)表時間:2011年10月09日
B/S下的IC卡的讀寫需要使用ActiveX來輔助完成,ActiveX是下載到每個客戶端執(zhí)行的,任何個用戶都可以得到該ActiveX。如果對IC卡在安全性方面要求很高,在加密數(shù)據或密碼的過程中很難做到完美,原因是客戶端的ActiveX需要配合腳本如js或vbs來完成,而客戶端腳本通常都是透明的,目前尚未找到特別安全的基于B/S的解決方案。
有兩種辦法,第一種流程如下:
1.用戶的瀏覽器發(fā)出瀏覽登陸網頁的請求。
2.服務器生成一個長的隨機串A,并紀錄A,把這個串寫在網頁中的activex的參數(shù)里。
3.瀏覽器收到該頁面, 顯示,并創(chuàng)建 activex 實例, acrivex 實例將此字串發(fā)給刷卡機, IC卡用其內部的算法(復雜的如私鑰加密)對A加密,返回串 B 到 activex實例。
4.網頁提交時, 將 activex實例 中的B讀出, post給 服務器。
5.服務器收到B后, 使用相應的算法(復雜的如公鑰解密)算出 xA, 比較 A?=xA, 就知道使不是合法登陸了。
第二種方法, 利用 M$的用戶驗證方法。
客戶機先利用IC卡登陸本地系統(tǒng)(M$有此項接口), 之后,利用M$身份認證機制,讓 服務器檢查,是不是指定的用戶。