關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 由Mifare 1卡破解帶來的危險以及應對方法

        由Mifare 1卡破解帶來的危險以及應對方法

        作者: 時間:2009-09-02 來源:網絡 收藏

        1卡片安全問題暴露后,一些公司公開宣稱已經有了解決的辦法,其中的法寶就是所謂“一卡一密”,也就是每一張卡片的每一個扇區的密鑰都不相同,使用CPU卡裝載系統根密鑰,根據1卡的唯一序列號計算子密鑰,防止一張卡片被破解而影響整個系統。其實這種解決方案在1卡破解之前就已經出現。那么,一卡一密真的能解決Mifare1的安全問題么,我們還是要從Mifare1卡的認證機制著手進行分析。

        我們已經知道,Mifare1卡的認證實質上是卡與基站芯片之間的認證。常用的RC500等基站芯片已經為業界廣為熟知,它的接口和通訊協議都是公開的。在基站與Mifare1卡認證前,需要通過LoadKey命令將Mifare1卡的密碼裝載到基站芯片中。這一過程是一個明文寫入的過程,是由終端設備(如讀卡器)主控單片機傳送給RC500的,并且單片機對RC500的命令傳輸是非加密的。如下圖所示:



        這樣就可以通過截獲單片機與RC500之間的通訊來獲取M1卡的密鑰。而要做到這一點,一個使用過RC500的對單片機技術稍微了解的技術人員都能夠輕而易舉的實現。

        那么,在讀卡器中安裝SAM卡,通過SAM卡計算卡片密鑰實現一卡一密是否就安全了呢。想法非常美好,然而結果卻非人所愿,這樣的做法不但沒有增加安全,反而更加加大了安全漏洞。如下圖所示:



        如圖所示,M1卡通過SAM卡實現一卡一密本質上是將SAM卡內的主密鑰通過對M1卡的卡號分散后得到M1卡的子密鑰,但是這個子密鑰仍然要通過終端單片機明文傳送給RC500芯片完成對M1卡的認證。更為嚴重的是SAM卡送出的是Mifare1卡的明文密碼,黑客只要獲得一張SAM卡,就能夠通過它獲得所有卡片的密碼,連破解手段都不用。

        此外,在M1卡消費密碼被泄露的情況下,即使采用了聯機充值的方法,也無法保障運營商的利益,因為在此情況下,盜竊者使用偽造的M1卡,完全可以不用系統的充值密碼,而直接采用M1卡的缺省密碼對卡片進行“充值”,然后用真實的消費密碼在終端上消費。在此情況下,即使采用了黑名單機制也難以避免運營商和授卡商戶遭受損失,因為黑名單機制是一種事后防范機制,防止的是再次發生同一偽卡的交易,而在M1卡小額消費日益普及的今天,盜竊者只需將偽卡使用一次,就足以獲得比一張偽卡成本高得多的收益。

        這樣,我們可以假設一下幾種情況:

        外部人員作案:

        作案人盜取一個正式使用的終端設備,通過線路截獲方式獲取單片機發送給RC500的密鑰,從而破解M1卡的密鑰。

        作案人盜取終端內的PSAM卡,通過向PSAM卡發送密鑰分散指令的方式得到每一張M1卡的子密鑰。

        內部人員作案:

        終端設備的開發人員利用工作之便盜取終端內的M1卡密鑰明文或經過單片機發送給RC500的M1卡密鑰明文。

        發卡機構工作人員利用工作之便截取PC機通過M1卡讀卡器發送給M1卡的密鑰明文。或直接操作PSAM卡盜取密鑰明文。

        系統開發人員利用工作之便盜取PSAM卡密鑰明文。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 祥云县| 昌平区| 开封县| 嘉鱼县| 大邑县| 唐河县| 信宜市| 塔城市| 浏阳市| 满城县| 林州市| 竹北市| 怀远县| 措美县| 鹿泉市| 铅山县| 台前县| 巧家县| 六枝特区| 罗城| 刚察县| 吉木萨尔县| 池州市| 梅州市| 广水市| 永吉县| 大同市| 海淀区| 囊谦县| 神农架林区| 金山区| 易门县| 东阳市| 抚宁县| 清丰县| 伊宁市| 平潭县| 双桥区| 湘西| 舟山市| 荥阳市|