• <bdo id="i0k2q"><xmp id="i0k2q">
      • <menu id="i0k2q"><em id="i0k2q"></em></menu>
        歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
        阿里巴巴誠信通企業(yè)
        全國咨詢熱線:40000-63966
        興邦電子,中國水控機第一品牌

        聯(lián)系興邦電子

        全國咨詢熱線:40000-63966

        售后:0371-55132951/55132952

        工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產業(yè)園

        一種IC卡應用系統(tǒng)的防竄改技術

        文章出處:http://www.mjagi.com 作者: 人氣: 發(fā)表時間:2012年03月18日

        [文章內容簡介]:針對目前一些IC卡應用系統(tǒng)存在的某些漏洞,設計了一個IC卡應用系統(tǒng)來防止非法用戶對IC卡的竄改。本系統(tǒng)按不同的安全級別使用了摘要、認證、加密等技術,保證了IC卡應用系統(tǒng)的正常運行。

            摘要:針對目前一些IC 卡應用系統(tǒng)存在的某些漏洞, 設計了一個IC 卡應用系統(tǒng)來防止非法用戶對IC 卡的竄改。本系統(tǒng)按不同的安全級別使用了摘要、認證、加密等技術, 保證了IC 卡應用系統(tǒng)的正常運行。
            關鍵詞:安全級別; 摘要; 認證;加密

            1 引言

            目前許多院校采用IC卡應用系統(tǒng)在校園內實現(xiàn)售飯、消費、管理等功能“一卡通”, 但是有些IC 卡應用系統(tǒng)存在著漏洞。在一些院校IC 卡系統(tǒng)中, 學生往往通過竄改IC卡載體的信息來破壞IC卡系統(tǒng), 從而達到非法的目的。同樣, 在一些電話IC卡系統(tǒng)中也存在著這樣的問題, 用戶通過分析、比較IC卡載體所載信息, 從而得到IC 卡內部各比特位的意義, 而后更改特定比特位, 以達到盜打電話的目的。在某些IC卡系統(tǒng)中,讀寫終端與服務器的通信是以明文方式傳輸, 這樣非法用戶往往可以通過偵聽獲得大量信息, 進而進入系統(tǒng), 修改系統(tǒng)信息。本文從IC卡防竄改著手, 提出了一個可行的方案來解決IC卡防竄改的問題。

            2 防竄改安全需求分析

            IC 卡系統(tǒng)一般由以下幾部分組成: IC卡、讀寫終端設備、通信網(wǎng)絡和后臺管理服務器。對IC卡系統(tǒng)進行竄改往往采用以下幾種方式:

            ( 1) 解剖分析IC 卡的內部結構。將IC卡的電路進行解剖分析, 并利用較先進的儀器設備測試IC卡的各種密鑰的位置和狀態(tài)字, 從而破譯整個系統(tǒng)。
            ( 2) 竄改IC 卡。通過解析IC卡后, 獲取IC卡各比特位的意義, 利用先進設備可以竄改IC卡特定比特位的值。
            ( 3) 冒充合法持卡人使用IC卡。在IC卡使用過程中, 由于被盜或遺失, 使得非授權持卡人可能冒充合法持卡人使用IC卡。
            ( 4) 通過網(wǎng)絡途徑截獲有價值的信息。在IC 卡應用系統(tǒng)中, 截獲和分析通過網(wǎng)絡傳輸?shù)母黝愋畔? 得到各種有價值的信息。
            ( 5) 對數(shù)據(jù)庫服務器或系統(tǒng)服務器進行網(wǎng)絡攻擊, 癱瘓服務器, 使其中斷服務, 竊取有價值的信息或者修改個人資料等。

            通過以上分析可以發(fā)現(xiàn), 要防止IC卡的竄改應該在系統(tǒng)中增加以下兩個模塊: IC 卡認證模塊、用戶認證模塊。同時為了保護服務器與終端之間的數(shù)據(jù)通信, 應該采用加密技術對信息流進行加密, 保證信息不會外泄。在服務器端, 要保證服務器數(shù)據(jù)的安全, 即使服務器被攻擊, 造成部分數(shù)據(jù)泄露, 也不會危及到整個系統(tǒng), 所以應該對存放的數(shù)據(jù)進行處理。

            為了保證IC卡內部結構不被解析, IC 應該有較強的抗解讀性。在本文參考模型中IC 卡類型采用PHILIPS 公司的MIFARE1 型的非接觸式邏輯加密卡, 該卡有較好的抗解讀性; 它具有全世界唯一的序列號, 固化于IC卡內, 不可更改; 卡片分為16 個扇區(qū), 每個扇區(qū)能存放不同信息, 便于安全等級的分類。本文主要是從軟件上著手設計系統(tǒng), 硬件不在本文討論范圍之內。

            3 應用系統(tǒng)防竄改整體設計

            3. 1 系統(tǒng)模型

            一般地, 校園IC 卡應用系統(tǒng)分為食堂消費、圖書管理、校內消費以及校園銀行等幾個子系統(tǒng), 不同的子系統(tǒng)安全等級也是不同的。例如在食堂消費子系統(tǒng)中安全等級最低, 圖書館借閱子系統(tǒng)安全等級稍高, 校園銀行子系統(tǒng)安全等級最高。在低級別安全等級中沒有過多的安全措施, 過多的安全措施往往會帶給用戶使用上的不方便, 也沒有必要增加安全措施。在中等級別安全等級中, 在系統(tǒng)中加入了對IC 卡認證模塊。在高級別安全等級中, 在系統(tǒng)中加入了對IC 卡和用戶認證模塊。對于后兩種安全級別的數(shù)據(jù)通信是經過加密保護的, 防止信息泄露, 而在數(shù)據(jù)通信之前, 需先完成終端與服務器的相互認證。

            所有的數(shù)據(jù)在服務器的存放是經過加密處理過的。具體的模型圖如圖1 所示。

         

        圖1 參考模型

            3. 2 IC 卡認證模塊

            本文參考模型所采用的IC 卡有固化、惟一的ID 號, 可以通過驗證當前的IC 卡的卡號來防止偽造IC 卡, 但是僅僅靠檢測卡號是無法防止竄改IC 卡內容。為此設計了以下方案: IC卡初始化時, 將卡號以及所要保護扇區(qū)的隨機內容作為一個摘要算法的原文, 生成一個摘要值, 傳送到服務器。當用戶使用IC 卡時, 首先由讀寫終端讀出IC 保護扇區(qū)內容, 以及IC 卡號作為一個摘要算法的原文, 生成摘要值, 傳送到服務器。服務器根據(jù)IC 卡號在數(shù)據(jù)庫中找出相應的摘要值進行匹配, 如果匹配, 認為此IC 卡在上次使用過后沒有進行竄改, 是合法的IC 卡, 允許IC 卡使用; 否則IC 卡將在系統(tǒng)中被注銷。當此次IC 卡使用完畢, 讀寫終端將結束時, 保護扇區(qū)的內容與IC 卡號再作一次摘要計算, 將摘要值傳送到服務器, 服務器用此摘要值更新此IC 卡在服務器數(shù)據(jù)庫中的摘要值。

            本模塊采用的摘要算法是MD5。MD5 是一個典型的摘要算法, 其工作過程大致如下: 以512 位分組來處理輸入文本, 每一分組又劃分為16 個32 位子分組, 算法的輸出由四個32 位分組組成, 將它們級聯(lián)形成一個128 位散列, 當文本長度不夠時進行填充, 而后進行四輪的運算, 取得良好的雪崩效應, 最后得出一個128bits 的摘要值。MD5 是一種無碰撞的壓縮函數(shù),有很好的安全性, 目前還沒有有效的攻擊方法。用MD5 可以完全滿足IC 卡認證模塊的安全要求。

            3. 3 用戶認證模塊

            用戶認證的原理是用戶向服務器證明自己擁有某個惟一性的、足以證明自身身份的秘密參數(shù), 服務器對之驗證。用戶認證模塊有兩種: ①依托于IC 卡認證模塊; ② 可以單獨工作。在參考模型中采用的是前者, 其具體過程如下: 用戶在終端輸入口令, 讀寫終端將其口令作為密鑰, 對被保護扇區(qū)進行一次加密運算, 將所得的密文作為IC 卡認證模塊中摘要算法的原文進行摘要計算, 將摘要值送與服務器。服務器匹配摘要值,如果匹配則認證身份, 確認此用戶是IC 卡的合法用戶, 同時也完成了對IC 卡認證。采用這種方式的另一個好處是, 服務器端不需要存放用戶口令, 所以服務器端的數(shù)據(jù)即使泄露也不會對用戶口令造成威脅。

            DES 是20 世紀非常流行的加密算法, 但因其密鑰長度不夠長, 安全性在當前的計算強度下已顯得力不從心。本參考模型采用IDEA 算法。該算法是利用“來自于不同代數(shù)群的混合運算”, 在三個代數(shù)群的基礎上進行運算, 既能達到混亂, 又可以用于擴散。它的密鑰長度為128 位, 可以有效預防窮舉攻擊和差分攻擊。

            3. 4 通信網(wǎng)加密

            IC 卡認證與用戶認證模塊在一定程度上可以預防IC 卡的竄改, 但是非法用戶可以在通信網(wǎng)中通過竊聽通信流來獲取有價值的信息, 從而可以模擬報文, 對服務器數(shù)據(jù)庫進行更新以后, 再對IC 卡的內容進行竄改。例如非法用戶要在校園銀行子系統(tǒng)中更改自己的賬戶余額, 可以先在網(wǎng)絡中用虛假的報文騙取服務器修改數(shù)據(jù)庫數(shù)據(jù), 然后再更改IC 卡內的數(shù)據(jù), 從而達到竄改的目的。為了避免這種情況的出現(xiàn), 必須采取數(shù)據(jù)加密的方式來保證信息流的安全。

            加密的方法可有三種方式: ①一次會話一個密鑰。這種方式安全性好, 即使非法用戶在已知明文攻擊下也有相當高的安全性, 因為即使當前會話密鑰被破解也不會對其他會話造成影響, 但是安全性的代價是系統(tǒng)的開銷增加。因為在每一次生成會話時, 系統(tǒng)會為生成會話密鑰消耗系統(tǒng)開銷, 這對服務器和終端的性能提出一個更高的要求。②一個終端使用一個密鑰。在開機時, 終端獲取服務器的分配給當前終端的一個會話密鑰。在終端沒有退出應用系統(tǒng)以前, 終端發(fā)向服務器的所有報文都用此會話密鑰來加密。③偽一次會話一個密鑰。第一種方法增加了系統(tǒng)開銷, 第二種方法會產生已知明文攻擊, 因為報文的內容是可以猜測到的, 密文則可以在網(wǎng)絡上偵聽到, 而已知明文攻擊會降低系統(tǒng)安全性。折中兩者, 采用一種偽一次會話一個密鑰方法: 在通信之前, 通信雙方已經獲得一個會話密鑰, 并且由通信發(fā)起方生成一定長度隨機數(shù)T, 將會話密鑰作為密鑰加密此隨機數(shù)T得到一個密文C, 而用隨機數(shù)T加密通信報文得到另一個密文M。將密文C 與M一同發(fā)送給通信接收方。接收方首先用會話密鑰解密C, 得到隨機數(shù)T, 再用T解密M 得到報文內容。如此非法用戶無法獲取明密文對, 避免了已經明文攻擊。本參考模型使用第三種方法。

            但是, 僅僅用加密方法保護數(shù)據(jù)流的安全還不夠, 為了防止非法終端接入應用系統(tǒng), 騙取服務器的信任, 從而達到修改服務器數(shù)據(jù)庫的目的, 必須在讀寫終端與服務器之間實現(xiàn)相互認證。Kerbors 認證協(xié)議是當前流行的認證協(xié)議, 現(xiàn)在一些操作系統(tǒng)支持此協(xié)議, 可以方便地實現(xiàn)認證。但是考慮應用系統(tǒng)的可移植性和可用性, 本參考模型并沒有采用此方法, 而是實現(xiàn)了另一種較為簡便的認證, 具體過程如下: 當讀寫終端要求接入IC 卡應用系統(tǒng)中, 首先服務器生成一個隨機數(shù)R, 用該終端的用戶口令K 加密R 得到一個報文M送與終端; 讀寫終端用K 解密M得到隨機數(shù)R, 然后用K 加密R +1 得到一個報文M1 , 將其送與服務器; 服務器解密M1 得到R +1, 從而驗證終端身份; 當服務器完成對讀寫終端認證后, 用終端口令K 加密一個終端操作員預留于服務器的一段認證碼T與隨機數(shù)R +2, 發(fā)送給讀寫終端;讀寫終端解密, 認證T與K +2, 讀寫終端完成對服務器認證, 至此完成服務器與讀寫終端的相互認證。

            經過認證后的通信雙方可以開始通信, 但是在通信過程中, 非法用戶可以通過重放、中間人攻擊等方法對系統(tǒng)進行攻擊。因此, 為了防止重放攻擊, 應在報文中加入檢測報文新鮮性的信息; 為了防止中間人攻擊, 應在報文中加入檢測報文來源的身份信息。在參考模型中的報文內容如圖2 所示。

        圖2 偽一次會話一個密鑰方式的報文格式

            密文C: 由會話密鑰加密并由終端生成的隨機數(shù)R。
            密文M: 由隨機數(shù)R 加密。發(fā)送者身份編號: 在應用系統(tǒng)中唯一標志該終端或服務器的編號。
            發(fā)報日期: 報文發(fā)送的日期, 只要求精確到日期, 如果嚴格要求到分秒的話, 往往會因系統(tǒng)時間難以協(xié)調而產生大量被認為是重放報文的無效報文。
            報文編號: 當日報文的編號, 從0 開始計數(shù), 每發(fā)送一個報文編號增加1。

            3. 5 服務器的數(shù)據(jù)存放

            目前的操作系統(tǒng)都或多或少地存在一些漏洞, 存在著被非法用戶入侵的危險。如果操作系統(tǒng)一旦被攻入, 數(shù)據(jù)庫數(shù)據(jù)被竊取或者被修改, 那么整個應用系統(tǒng)的安全性就受到極大的危險。所以對數(shù)據(jù)存放的設計目的是: 即使一旦數(shù)據(jù)文件被非法用戶獲取也不會有太多有價值的信息, 不會對應用系統(tǒng)造成大的危險。換言之, 服務器的數(shù)據(jù)是不應該明文存放的, 而是應該經過某種函數(shù)處理過的。

            考慮到入侵服務器操作系統(tǒng)并不是一件容易的事, 尤其是當服務器經過安全設置后, 為此在服務器端進行安全處理并不需要太高的強度。DES 加密算法的安全強度完全可以滿足需要, 以此減少系統(tǒng)開銷, 使安全模塊工作透明化, 不給整個應用系統(tǒng)服務造成影響。每次服務器進入IC 卡應用系統(tǒng)時由操作員輸入密鑰, 當讀寫終端傳來數(shù)據(jù)要求服務器認證時, 服務器根據(jù)IC 卡ID 號從數(shù)據(jù)庫中取出數(shù)據(jù), 用此密鑰解密, 得到原明文; 當讀寫終端傳來要求入庫的數(shù)據(jù)時, 服務器用此密鑰加密數(shù)據(jù)后得到密文再放入數(shù)據(jù)庫中。而即使非法用戶攻入了操作系統(tǒng), 獲取的數(shù)據(jù)也是經過加密, 不會獲取有價值的信息,但是無法阻止其惡意的竄改數(shù)據(jù)庫信息, 只有依靠經常性的備份來減少這種惡意竄改所帶來的破壞。

            4 應用系統(tǒng)安全性分析

            在本參考模型中, 中等安全級別可以防止第( 2) 、第( 4) 和第( 5) 種攻擊; 高級安全級別可以防止第( 2) 、第( 3) 、第( 4) 和第( 5) 種攻擊。預防第( 1 ) 種攻擊需要在硬件上進行重新設計。例如在IC 卡內加入觸點, 一旦非法用戶試圖解剖IC 卡時, IC 卡內信息全部丟失, 或者對IC 卡內容加密等。這些方法不在本文的討論范圍內, 就不再贅述。

            現(xiàn)具體分析該系統(tǒng)的安全性( 以高級安全級別為例) 。為了預防第( 2) 種攻擊, 系統(tǒng)使用了IC 卡認證模塊, 該模塊的安全性在于摘要算法的安全性, 在參考模型中所采用的MD5 算法的輸出是128bits, 若采用強力攻擊尋找一個原文具有某一個特定的Hash 值的計算困難性為2128 , 若采用生日攻擊法, 尋找有相同Hash 值的兩個輸入需要試驗264 個輸入, 這樣的計算難度對于目前計算機的計算能力是安全的。對于第( 3 ) 種攻擊, 系統(tǒng)使用了用戶認證模塊, 該模塊采用了IDEA 加密算法,該算法提供了比DES 更高的安全性, 目前還沒有一個可行的破解方法。對于第( 4) 種攻擊, 系統(tǒng)對通信過程雙方實現(xiàn)嚴格的認證, 在保證通信雙方都是合法用戶后, 系統(tǒng)采用偽一次會話一個密鑰的方式對報文內容進行了加密, 同時在報文內容加入保證報文新鮮性以及報文身份的信息以防止報文被竊聽, 被重放, 并避免了中間人攻擊。對于第( 5 ) 種攻擊, 系統(tǒng)對服務器端所存放的數(shù)據(jù)用一個管理員所設定的密鑰加密, 而這個密鑰并不存放于服務器內。雖然采用的算法仍是DES, 但是考慮到入侵一個操作系統(tǒng)的難度以及數(shù)據(jù)庫所存放的數(shù)據(jù)都是經過摘要計算以后再加密的, DES 的安全等級已經足夠了。

            5 結束語

            在本參考模型中, 在不同的安全等級場所采用了不同的安全措施, 對低等級的子系統(tǒng)甚至不需要過多的考慮安全性, 而在高安全等級要求的應用場所則加入了足夠的安全性。因為參考模型是一個校園IC 卡應用系統(tǒng), 對安全性并沒有過于苛刻的要求。在一些要求更高的安全應用場所, 可以在相應模塊中采用安全性相同的算法, 或者采用更安全的認證協(xié)議來實現(xiàn)服務器與讀寫終端的相互認證, 從而提高系統(tǒng)的安全性, 更加有效地防止對IC 卡的竄改。

            參考文獻:
            [ 1] 美] Bruce Schneier. 應用密碼學———協(xié)議、算法與C 源程序[ M] . 北京: 機械工業(yè)出版社, 2000.
            [ 2] 王育民, 劉建偉. 通信網(wǎng)的安全———理論與技術[ M] . 西安: 西安電子科技大學出版社, 1999.
            [ 3] 楊南海, 王秀坤. 一種安全的IC 卡數(shù)據(jù)加密算法及其應用[ J] . 計算機工程與應用, 2002, ( 38 ) : 249- 250.
            [ 4 ] 王卓人, 鄧晉鈞, 劉宗祥. IC 卡的技術與應用[ M] . 北京: 電子工業(yè)出版社, 1998.

            作者簡介:周洪偉( 1979 - ) , 男, 碩士生, 研究方向為計算機網(wǎng)絡安全; 張來順( 1963- ) , 男, 教授, 碩士生導師, 研究方向為軟件工程、計算機網(wǎng)絡。

           【稿件聲明】:如需轉載,必須注明來源和作者,保留文中圖片和內容的完整性,違者將依法追究。

        本文關鍵詞:防竄改技術,防竄改,IC卡應用,IC卡
        回到頂部
        亚洲天堂国产视频,在线观看黄V免费网站免费,国产自无码视频在线观看手机,亚洲AV无码乱码国产精品9 亚洲96在线观看 免费三级片中文字幕无码
      • <bdo id="i0k2q"><xmp id="i0k2q">
          • <menu id="i0k2q"><em id="i0k2q"></em></menu>