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