新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM7 智能卡的動態口令終端研究與實現

        ARM7 智能卡的動態口令終端研究與實現

        作者: 時間:2012-11-30 來源:網絡 收藏

          3 動態口令實現

          3.1 動態口令實現流程

          基于的動態口令認證系統終端采用雙因素認證方式,首先獲取動態口令具有PIN碼保護,用戶需要輸入正確的PIN碼,才能產生動態口令。利用手機STK菜單功能,使用Get Input命令輸入數字PIN碼。用戶除了輸入正確的PIN碼之外,還要求與認證服務器的計數器實現同步才能得到正確的操作口令。

          動態口令的實現過程包括開通服務、數據同步及獲取口令等。開通服務主要包括密鑰分散以及數據加密兩部分,和認證服務器都預先存儲10 組相同的主密鑰。在開通時利用隨機生成的密鑰索引(簡稱KID)選取其中的一組(16 字節),采用PBOC 算法進行密鑰分散后得到用于數據加密的會話密鑰KC,然后使用KC 對卡號和隨機生成的口令加密密鑰(deskey)經過三重數據加密標準算法(簡稱3DES)加密,再將加密結果連同密鑰索引一起以數據短信息的形式上行給認證服務器,認證服務器接收到數據后,利用密鑰索引取出相同的主密鑰,同樣對主密鑰進行PBOC 密鑰分散得到解密密鑰KC,再用KC 解出對應智能卡的ICCID 及deskey,并同時將同步計數器清零,實現了與卡端的同步。數據同步主要用于防止智能卡計數器與認證服務器計數器出現異常時能夠重新獲取同步信息的操作。

          獲取口令過程主要包括三部分,首先使用智能卡內部與認證服務器隨機生成的deskey 對卡片序列號(簡稱ICCID)和計數器Counter 進行加密,然后對加密結果進行SHA1-HASH 處理得到20 字節密文,最后對HASH 結果進行數字化。其實現流程如下圖(3)所示:


          其中數字化是從 HASH 結果的20 字節(160bit)數據中動態取出4 字節的數據,把該4 字節數據轉換為8 位十進制數字。

          3.2 動態口令STK 菜單實現

          用戶識別應用發展工具 SIM TOOL KIT(簡稱STK)是在原SIM 卡被動式的操作系統上,衍生出的SIM 卡交互式操作系統。其原理就是通過手機SIM 卡接口,為手機的用戶接口(簡稱UI)提供符合GSM11.14 規范的字節流,手機UI 把這些字節流解析成能夠識別的菜單元素,從而構建一個跟手機菜單系統一致的應用菜單。這個應用菜單跟手機菜單是有區別的,用戶選擇菜單后,手機把這個信息直接傳遞給 智能卡,而不是手機的操作系統。動態口令的輸出采用STK 菜單方式在手機屏幕上進行顯示,為了實現STK 操作流程,需要將動態口令加密算法封裝成字節碼(Byte Code)形式在智能卡操作系統內部進行運算,最終采用STK 的display 命令在手機終端將結果顯示出來。在具體STK 菜單設計過程中,采用了自行設計的《手機STK 功能仿真器》工具對動態口令的STK 菜單進行了仿真測試,動態口令的 STK 菜單在手機上實現效果圖如下圖(4)所示:


          在智能卡內部使用STK菜單方式實現動態口令令牌功能,口令由智能卡內部生成,通過手機屏幕以STK菜單形式顯示出來。口令動態生成,隨時間或者次數變化而變化,具有不可預測性。口令生命周期短,一次有效,既可以克服靜態口令重復使用容易泄漏的弱點,有效抵御密碼竊取和重播攻擊行為,又具有友好的菜單操作界面。由于用戶口令更新階段是在手機終端完成的,因此也可以防止拒絕服務攻擊及口令猜測攻擊等行為。

          4 結論

          本文利用手機終端STK 功能擴展技術,使用ARM7 智能卡硬件平臺實現動態口令客戶端STK 菜單設計,解決了USIM 卡或PIM 卡需更換用戶SIM 卡或因刮刮卡、令牌因終端成本高帶來的不足;利用智能卡內部的硬件加密算法及STK 菜單提供的友好界面,很好地解決了動態口令信息交換的安全與數據加密問題。本文設計實現的系統將在各網絡平臺中應用推廣,屆時將會在越來越多的商業場合得到廣泛應用。預計5年內整個項目手機用戶使用的帶動態口令功能的ARM7 智能卡片可達100 多萬片,產生經濟效益可達1500 多萬元。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 满洲里市| 九寨沟县| 大石桥市| 天门市| 得荣县| 尉氏县| 新兴县| 固阳县| 鹿邑县| 连州市| 达州市| 喜德县| 射洪县| 密山市| 南靖县| 牟定县| 蓬安县| 潍坊市| 广昌县| 鲜城| 开阳县| 冷水江市| 莲花县| 定兴县| 嘉峪关市| 凤山县| 外汇| 平谷区| 夏邑县| 吉林省| 江油市| 准格尔旗| 治县。| 谢通门县| 清流县| 遵义县| 汉中市| 法库县| 卢氏县| 章丘市| 南江县|