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