国产探花在线精品一区二区,中文字幕亚洲视频,亚洲国产天堂久久综合网站,亚洲精品亚洲人成在线麻豆

歡迎您訪問鄭州興邦電子股份有限公司官方網站!
阿里巴巴誠信通企業
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

一種IC卡應用系統的防竄改技術

文章出處:http://5052h112.com 作者: 人氣: 發表時間:2012年03月18日

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

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

    1 引言

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

    2 防竄改安全需求分析

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

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

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

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

    3 應用系統防竄改整體設計

    3. 1 系統模型

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

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

 

圖1 參考模型

    3. 2 IC 卡認證模塊

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

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

    3. 3 用戶認證模塊

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

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

    3. 4 通信網加密

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

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

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

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

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

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

    3. 5 服務器的數據存放

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

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

    4 應用系統安全性分析

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

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

    5 結束語

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

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

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

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

本文關鍵詞:防竄改技術,防竄改,IC卡應用,IC卡
回到頂部
    1. <menu id="r98jr"><dl id="r98jr"></dl></menu>
        <ul id="r98jr"></ul>

        1. 主站蜘蛛池模板: 沐川县| 崇明县| 沂源县| 邢台市| 金乡县| 滨州市| 阳春市| 绍兴市| 南陵县| 梁平县| 肥西县| 江山市| 开平市| 淮南市| 九台市| 舟曲县| 印江| 托克逊县| 河东区| 荥经县| 溧水县| 鄯善县| 咸宁市| 昆山市| 名山县| 射洪县| 科技| 尼勒克县| 肥西县| 六安市| 兖州市| 清镇市| 河东区| 游戏| 昌吉市| 仁化县| 健康| 威海市| 吴旗县| 翁源县| 手机|