Feistel加密算法在無線醫(yī)療傳感器網(wǎng)絡(luò)中的應(yīng)用
醫(yī)療衛(wèi)生領(lǐng)域是無線傳感器網(wǎng)絡(luò)的一個(gè)熱點(diǎn)應(yīng)用領(lǐng)域,如何保障個(gè)人隱私信息在無線傳感器網(wǎng)絡(luò)中不被泄漏是系統(tǒng)能否成功應(yīng)用的關(guān)鍵。我們將Feistel加密算法應(yīng)用于無線醫(yī)療傳感器網(wǎng)絡(luò)傳輸過程中人體生理參數(shù)敏感數(shù)據(jù)文件的加密和解密,取得較好效果,下面我就給大家介紹一下Feistel加密算法在無線醫(yī)療傳感器網(wǎng)絡(luò)中的應(yīng)用。
一、醫(yī)療數(shù)據(jù)隱私保護(hù)需求分析
家庭和社區(qū)遠(yuǎn)程無線醫(yī)療監(jiān)護(hù)設(shè)備使用環(huán)境和服務(wù)對(duì)象不同于醫(yī)院,主要是以便攜、自動(dòng)化、智能化、安全可靠又具有遠(yuǎn)程通信和聯(lián)網(wǎng)功能的小型設(shè)備為主。在關(guān)于醫(yī)療傳感網(wǎng)絡(luò)安全論述中,特別強(qiáng)調(diào)了以下三點(diǎn):
1)在無線通信網(wǎng)絡(luò)易泄漏有用信息和易受攻擊的情況下,如何保證醫(yī)療數(shù)據(jù)的隱私性和完整性不受侵犯?
2)如何確保醫(yī)生、護(hù)士和病人等授權(quán)用戶只能存取相應(yīng)的數(shù)據(jù)?
3)如何在某些被捕獲的傳感器節(jié)點(diǎn)內(nèi)部敏感信息(如密鑰等)已泄漏情況下,保護(hù)其它節(jié)點(diǎn)不被攻擊?
設(shè)計(jì)基于WSNs的家庭和社區(qū)遠(yuǎn)程無線醫(yī)療衛(wèi)生健康監(jiān)護(hù)系統(tǒng)時(shí),應(yīng)考慮數(shù)據(jù)采集、傳輸、存儲(chǔ)、訪問等各個(gè)環(huán)節(jié)中個(gè)人敏感信息的隱私保護(hù)問題。我們對(duì)圖1系統(tǒng)數(shù)據(jù)流程進(jìn)行詳細(xì)分析后得出以下結(jié)論,若要構(gòu)建一個(gè)安全的基于無線傳感器網(wǎng)絡(luò)的家庭或社區(qū)醫(yī)療衛(wèi)生保健監(jiān)護(hù)系統(tǒng),必須在以下三個(gè)階段對(duì)重要數(shù)據(jù)采取保護(hù)措施。

1、采集階段數(shù)據(jù)保護(hù)
在數(shù)據(jù)采集階段,圖1中的傳感節(jié)點(diǎn)MICAz通過多種傳感器測(cè)量得到人體的若干生理信號(hào)如心電信號(hào)、血氧含量、血糖、體壓和體溫等)??紤]采取擴(kuò)散(Diffusion)和置亂(Confusion)等手段,把原本有序的數(shù)據(jù)變得混亂無序,使得對(duì)手無法知道數(shù)據(jù)的真實(shí)意義,在一定程度上達(dá)到保護(hù)敏感數(shù)據(jù)作用。
Stalh—igs在書中列出了簡(jiǎn)單的4位數(shù)據(jù)文件加密解密置換方法,見表1所示。通過簡(jiǎn)單的數(shù)據(jù)映射,可對(duì)每4 bit為單位的數(shù)據(jù)進(jìn)行簡(jiǎn)單加密和解密。如明文字符串‘0123456789’,經(jīng)過加密映射后變?yōu)?6E4D12FB83A’的密文,密文經(jīng)過表1相應(yīng)解密變換后又恢復(fù)正常字符串‘0123456789’,這種方法在一定程度上達(dá)到了對(duì)原始數(shù)據(jù)的保護(hù)。但是它沒有改變明文的統(tǒng)計(jì)規(guī)律性,所以很難防止統(tǒng)計(jì)分析攻擊。如果加大數(shù)據(jù)映射的位數(shù)乃,如從4 bit增加到64 bit,這樣做使得加密后的數(shù)據(jù)文件不易遭受統(tǒng)計(jì)分析攻擊。但是在實(shí)際系統(tǒng)實(shí)現(xiàn)過程中,如對(duì)稱分組加密中用64 bit為一組數(shù)據(jù),那么由于加密和解密表格中數(shù)據(jù)共占用64 bit×264~1021 bit,占用了太多的內(nèi)存空間,這種加大映射表格方法不適用于資源受限的無線傳感器網(wǎng)絡(luò)。

2、無線傳輸過程數(shù)據(jù)保護(hù)
圖1傳感節(jié)點(diǎn)采集到相應(yīng)的人體生理參數(shù)后,進(jìn)行有選擇的數(shù)據(jù)融合(Data Fusion),經(jīng)過路由節(jié)點(diǎn)通過無線信道多跳向網(wǎng)關(guān)節(jié)點(diǎn)AP傳輸相關(guān)數(shù)據(jù),或不經(jīng)路由節(jié)點(diǎn)單跳直接向網(wǎng)關(guān)節(jié)點(diǎn)AP傳輸相關(guān)數(shù)據(jù)。傳輸過程中敏感數(shù)據(jù)通常采用對(duì)稱加密或公鑰加密算法,防止重要信息泄漏。對(duì)稱加密算法具有快速和計(jì)算復(fù)雜度低等優(yōu)點(diǎn),但缺點(diǎn)是密鑰管理能力弱,使得密鑰分配和更新復(fù)雜化,較簡(jiǎn)單的密鑰管理方法是采用密鑰預(yù)分配。而公鑰加密算法密鑰管理相對(duì)簡(jiǎn)單,但加密算法總體計(jì)算復(fù)雜度相對(duì)較高,需要大量的計(jì)算資源。目前已知常用于WSNs的公鑰加密算法為RSA算法和橢圓曲線加密算法。橢圓曲線加密算法使用較短的密鑰可以達(dá)到RSA加密算法使用較長密碼時(shí)同樣的安全性,如160 bit的橢圓曲線加密算法加密效果可和1 024 bit的RSA加密算法相當(dāng)。所以,WSNs因存儲(chǔ)資源及計(jì)算速度都有很大限制,其公鑰加密常采用橢圓曲線加密算法。
3、數(shù)據(jù)庫存儲(chǔ)、查詢?cè)L問和發(fā)布中數(shù)據(jù)保護(hù)
數(shù)據(jù)到達(dá)網(wǎng)關(guān)節(jié)點(diǎn)AP后,系統(tǒng)可選擇通過Internet網(wǎng)絡(luò)轉(zhuǎn)發(fā)至遠(yuǎn)程醫(yī)療中心,也可選擇不轉(zhuǎn)發(fā)而直接在本地醫(yī)療中心處理。本地或遠(yuǎn)程醫(yī)療中心要對(duì)數(shù)據(jù)文件進(jìn)行解密、存儲(chǔ)和查詢?cè)L問 ,由于在醫(yī)療衛(wèi)生保健監(jiān)測(cè)系統(tǒng)中涉及醫(yī)生、護(hù)士和病人等多種類型用戶,必須進(jìn)行訪問權(quán)限控制(Access Control)。否則,在數(shù)據(jù)采集和傳輸過程中即使對(duì)敏感數(shù)據(jù)文件進(jìn)行了置亂和文件加密處理,但若在最后環(huán)節(jié)沒有對(duì)訪問權(quán)限進(jìn)行控制,同樣也會(huì)造成信息泄漏,而且其危害性更大,攻擊者的代價(jià)也更小。同時(shí),對(duì)于醫(yī)療中心數(shù)據(jù)庫中相關(guān)數(shù)據(jù)進(jìn)行發(fā)布前,在不影響數(shù)據(jù)使用性前提下,對(duì)敏感數(shù)據(jù)記錄項(xiàng)采用刪除方法,或采用K-匿名方法啕,達(dá)到對(duì)病人敏感數(shù)據(jù)的安全使用,最大限度地做到個(gè)人信息隱私保護(hù)。
二、SF_noSBox和SF_SBox及iam算法介紹
數(shù)據(jù)加密標(biāo)準(zhǔn)DES的算法基礎(chǔ)是Feistel加密結(jié)構(gòu),其加密算法思想主要是通過對(duì)明文進(jìn)行初始排列,經(jīng)過16輪函數(shù)置亂置換,最后進(jìn)行初始排列逆變換方法進(jìn)行數(shù)據(jù)文件加密,而且DES加密后的數(shù)據(jù)文件具有很好的雪崩效應(yīng)。
1、SF_noSBox加密算法介紹
哈爾濱工業(yè)大學(xué)的Pazynyuk和李建中等人把Feistel加密結(jié)構(gòu)應(yīng)用于無線傳感器網(wǎng)絡(luò)安全設(shè)計(jì)。在WSNs應(yīng)用領(lǐng)域,資源受限的節(jié)點(diǎn)要求加密算法簡(jiǎn)單和占用較少存儲(chǔ)空間。我們對(duì)Feistel加密算法進(jìn)行分析后得知四次輪函數(shù)就可以達(dá)到較好加密效果,首先設(shè)計(jì)并構(gòu)造了不帶S盒的簡(jiǎn)化Feistel加密算法Simplified Feistel with no S- Box,簡(jiǎn)稱SF_noSBox算法,用于對(duì)安全性要求不高的應(yīng)用環(huán)境。
SF_ noSBox加密算法的設(shè)計(jì)思路是:根據(jù)WSNs的特點(diǎn)要求設(shè)計(jì)的加密算法占用空間低,某些場(chǎng)合要求算法運(yùn)行速度快毫秒級(jí)),數(shù)據(jù)要求實(shí)時(shí)處理。對(duì)原DES加密算法中的56 bit密鑰進(jìn)行擴(kuò)充改造,同時(shí)簡(jiǎn)化了DES加密算法中密鑰轉(zhuǎn)換算法;在SF_noSBox中采用128 bit密鑰,每輪使用其中32 bit密鑰共4輪進(jìn)行加密算法改造,32位子密鑰按照Ki、K2、K3和K4順序使用。新設(shè)計(jì)的SF_noSBox加密算法加密過程示意圖見圖2所示,對(duì)應(yīng)的解密過程示意圖見圖3所示。圖中+為異或操作,F(xiàn)為輪函數(shù)。解密過程密鑰的使用順序和加密過程順序相反,為K、K3、K2和Ki。64 bit明文分為左右各32 bit兩部分,圖2、圖3和下列各式中LE/RE/LD/RD均為32 bit數(shù)據(jù),LEo和REo組成初始64 bit明文。SF_noSBox加密算法的輪函數(shù)F,可簡(jiǎn)單構(gòu)造如下:

32 bit信息REi_1和32 bit子密碼K異或操作后再進(jìn)行P排列,得到32 bit值,即F=Permutation (REi_l?XOR Ki),其中1=1,2,3,4。下面詳細(xì)介紹SF_noS-Box加密算法加密和解密的工作原理。
1)加密過程
![]()
2)解密過程
![]()
由于加密過程的密文輸出等于解密過程的輸入,即加密的Output 6iphertext)=解密的Input 6i-phettext),所以在圖3中有LDo=RE4和RDo=LE4,由式(3)得:
LD 0=RDL_i=LE4 -i+l;i= 1,2,3,4
把式1)代入上式得到:
![]()
同時(shí)得到RDi-1=LE4_i+1=RE4-i;由4)有:
![]()
既有:
![]()
由式5)、式6)得,當(dāng)i=4時(shí),最后可得RD4=LEo和LD4=REo,所以加密信息能完全恢復(fù)出明文。
2、SF_SBox加密算法介紹
在分析及對(duì)SF_noSBox加密算法進(jìn)行實(shí)驗(yàn)后我們發(fā)現(xiàn),該算法不具有明顯的“雪崩效應(yīng)”,即明文的微小改變不會(huì)造成密文較大變化,對(duì)上述SF_noSBox加密算法做進(jìn)一步改進(jìn)設(shè)計(jì)得到另一種新的帶S盒簡(jiǎn)化Feis-tel加密算法Simplified Feistel with S- Box,簡(jiǎn)稱SF_SBox加密算法)。SF_SBox加密算法的設(shè)計(jì)思路是:為了在原SF_noSBox加密算法基礎(chǔ)上增加“雪崩效應(yīng)”以提高加密算法安全性,在SF_SBox加密算法輪函數(shù)F構(gòu)造過程中,我們首先對(duì)32 bit明文和32 bit密鑰的異或結(jié)果進(jìn)行48 bit擴(kuò)展變換,然后參照DES算法進(jìn)行8個(gè)S盒的置亂,最后對(duì)置亂后的數(shù)據(jù)進(jìn)行P排列,其輪函數(shù)F的詳細(xì)構(gòu)造見圖4中虛線框表示。

由于引進(jìn)了S盒置亂,這樣改造后得到的帶S盒置亂新加密算法。由表2實(shí)驗(yàn)數(shù)據(jù)表明,SF_SBox加密算法和DES加密算法具有程度相當(dāng)?shù)摹把┍佬?yīng)”,因而其安全性要比SF_noSBox加密算法高。

從表2的實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)64 bit明文改變其中1 bit時(shí),DES加密算法經(jīng)過16輪函數(shù)計(jì)算后得到了兩組‘‘很不相同”密文,兩組密文之間改變的位數(shù)是34 bit; SF_noSBox加密算法經(jīng)過4輪函數(shù)計(jì)算后得到了兩組“微小不同”密文,兩組密文之間改變的位數(shù)是3 bit;SF_SBox加密算法經(jīng)過4輪函數(shù)計(jì)算后得到了兩組“很不相同”密文,兩組密文之間改變的位數(shù)是32 bit。所以,SF_noSBox加密算法的“雪崩效應(yīng)”很差,而4輪SF_SBox加密算法和16輪DES的“雪崩效應(yīng)”相當(dāng)。從雪崩效應(yīng)”角度觀察三種加密算法的安全性,SF—noSBox加密算法安全性最低,SF_SBox加密算法和DES加密算法安全性相當(dāng),詳見表3所示。

SF_SBox和SF_noSBox加密算法兩者加密過程和解密過程是一樣的見圖2和圖3所示),但是它們?cè)谳喓瘮?shù)F的構(gòu)造上有很大區(qū)別,SF_noSBox加密算法的輪函數(shù)構(gòu)造比較簡(jiǎn)單,而SF_SBox輪函數(shù)F比較復(fù)雜。SF_SBox和SF_noSBox兩種加密算法加密和解密過程應(yīng)用各自相同的輪函數(shù)F,這樣簡(jiǎn)化了各自加密算法和解密算法實(shí)現(xiàn),所以加密和解密的執(zhí)行時(shí)間基本
相同,其結(jié)果在第3節(jié)圖5的實(shí)驗(yàn)數(shù)據(jù)中得到反映。

三、Feistel加密算法在無線醫(yī)療傳感器網(wǎng)絡(luò)中的應(yīng)用
1、硬件和軟件平臺(tái)
本系統(tǒng)的傳感節(jié)點(diǎn)和路由節(jié)點(diǎn)采用美國Crossbow公司的MICAz傳感器節(jié)點(diǎn),由兩節(jié)5號(hào)電池供電,CPU為Atmel公司的ATMega128 L,主頻為8MHz的8 bit微處理器,帶有128 KB (KB蘭kbyte)編碼空間,4KB RAM,通信模塊工作頻率為2.4 GHz,無線傳輸速率可高達(dá)250 kbit/s。網(wǎng)絡(luò)協(xié)議采用IEEE 802. 15.4和XMesh協(xié)議實(shí)現(xiàn),XMesh協(xié)議是Crossbow公司開發(fā)的可靠無線Ad hoc網(wǎng)絡(luò)協(xié)議,支持多跳組網(wǎng)方式。系統(tǒng)工作在TinyOS Versionl.1操作系統(tǒng)下,用NesC語言實(shí)現(xiàn)。系統(tǒng)中的人體傳感器生理參數(shù)采集終端,采用上海貝瑞電子科技有限公司的血氧模塊進(jìn)行開發(fā)和數(shù)據(jù)測(cè)試,較好地實(shí)現(xiàn)脈搏波數(shù)據(jù)、心率、血氧含量值SP02等參數(shù)的測(cè)量。
2、實(shí)驗(yàn)數(shù)據(jù)分析
圖5是數(shù)據(jù)加密標(biāo)準(zhǔn)DES、SF_noSBox加密算法以及SF_SBox加密算法的加密解密運(yùn)行時(shí)間比較圖,從圖5中我們可以得知,SF_noSBox加密算法運(yùn)行時(shí)間最短,SF_SBox加密算法次之,DES最長。主要原因是因?yàn)樵贒ES中需要16輪函數(shù)操作,而且要對(duì)56 bit密碼進(jìn)行移位操作,造成DES運(yùn)行效率在這三種加密算法中最低。在實(shí)時(shí)性要求很高的場(chǎng)合,我們可以考慮采用SF_noSBox加密算法,但其文件加密效果沒有其它兩種理想。
圖6和圖7分別是三種算法RAM/ROM占用量,從圖5、6、7三個(gè)圖和表3我們可以得知,SF_SBox加密算法是一種比較好的折中,它和DES的ROM占用量相當(dāng)而RAM占用量要低,其安全性能也和DES相當(dāng),但是它的執(zhí)行時(shí)間要比DES快近4倍,而且加密后數(shù)據(jù)具有較好的“雪崩效應(yīng)”。

由于上述三種加密算法均屬分組密碼,系統(tǒng)的密鑰管理能力弱。我們采用密鑰預(yù)分配方法進(jìn)行無線醫(yī)療傳感器網(wǎng)絡(luò)的初始配置,同時(shí)采用橢圓曲線加密方式實(shí)現(xiàn)密鑰的更新和分發(fā),在我們前期的工作中,采用橢圓曲線加密方式,其加密和解密的時(shí)間都是秒級(jí),不適用對(duì)實(shí)時(shí)性要求高的系統(tǒng)。
采用本文新及iam算法可帶來加密解密運(yùn)行效率的極大改進(jìn),但是由此也帶來了密鑰管理的復(fù)雜性。我們?cè)跓o線醫(yī)療傳感器網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)過程中,對(duì)敏感數(shù)據(jù)文件加密算法和解密算法采用SF_SBox加密算法,而密鑰管理則采用基于橢圓曲線的密碼交換算法,這種混合方式較好地發(fā)揮對(duì)稱密碼和公鑰密碼系統(tǒng)各自的優(yōu)點(diǎn),在實(shí)時(shí)性要求、成本和資源消耗方面達(dá)成一個(gè)平衡。
基于無線傳感器網(wǎng)絡(luò)的人體生理參數(shù)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),其以預(yù)防為主的醫(yī)療模式無疑將是傳統(tǒng)治療為主模式的一個(gè)有益補(bǔ)充,它的實(shí)現(xiàn)和推廣有許多關(guān)鍵技術(shù)需要解決,包括人們醫(yī)療理念的轉(zhuǎn)變等。不管醫(yī)療模式如何改變,人們對(duì)個(gè)人敏感信息的擔(dān)心都是必然的。所以,在新加密技術(shù)帶來高效便利的同時(shí),如何同時(shí)保障人們對(duì)隱私需求,是無線醫(yī)療傳感器網(wǎng)絡(luò)能否推廣和被大眾接受的關(guān)鍵。
小知識(shí)之雪崩效應(yīng)
雪崩效應(yīng)就是一種不穩(wěn)定的平衡狀態(tài)也是加密算法的一種特征,它指明文或密鑰的少量變化會(huì)引起密文的很大變化,就像雪崩前,山上看上去很平靜,但是只要有一點(diǎn)問題,就會(huì)造成一片大崩潰。 可以用在很多場(chǎng)合對(duì)于Hash碼,雪崩效應(yīng)是指少量消息位的變化會(huì)引起信息摘要的許多位變化。









