Taşınabilir Uzaktan Sağlık İzleme Sistemlerinde LRC ve RSA Tabanlı Sayısal İmza Kullanımı Yrd. Doç. Dr. Veysel Aslantaş Arş. Gör. Rifat Kurban Erciyes Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü
Giriş Dünya nüfusu artmakta ve hastalıkların evde bakımı zorunlu hale gelmektedir [1] Koroner kalp rahatsızlıkları dünya genelindeki ölümlerin sebepleri arasında ilk sırada gelmekte, her yıl 7.2 milyon kişi ölmektedir [2] Kablosuz haberleşme, gömülü hesaplama, algılayıcılar, düşük güç tüketimli entegreler ve bilgi teknolojilerindeki gelişmelerle birlikte taşınabilir uzaktan izleme sistemleri gerçekleştirilebilir hale gelmiştir [3] Sağlık verilerinin iletiminde, verilerin gizliliği ve güvenliği oldukça önemlidir
Problem Uzaktan sağlık izleme sistemlerinde algılayıcı ve ağ geçidi arasındaki iletişim güvenli olmalıdır Aksi takdirde, kötü niyetli kişiler hastaların sağlık verilerini değiştirebilir, verileri bozabilir, merkezi sistemi yanıltacak şekilde değiştirebilir Bu problemi ortadan kaldırmak için bir sayısal imza yaklaşımı geliştirilmiştir.
Uzaktan Sağlık İzleme Sağlık uzmanlarının kişiye teşhis koyma, bilgi edinme, izleme, müdahale ve eğitimine olanak veren yazılım ve donanımlardır. Kullanım alanları: Hastane dışından izleme Acil durum tespiti ve erken müdehale Uzun dönemli izleme Kimler kullanabilir: Hastalar, yaşlılar, sporcular, özel asker ve polisler, itfaiyeciler...
Mevcut Sistemler Büyük ebatlarda Çoğunlukla taşınamaz ve taşınabilir olanların kullanımı zahmetli Depolama kapasiteleri düşük Gerçek-zamanlı izleme yok Kablosuz teknikler kullanılmıyor Yüksek maliyetli Dağıtık mimariden yoksun Otomatik yorumlama yeteneği yok ya da sınırlı İlgili kurum/kuruluşlara alarm verme özelliği yok Güvenlik ataklarına açık
Önerilen Sistem Taşınabilir İzleme Birimi Kullanıcı Ağ geçidi (PDA) GSM/GPRS Internet/ Intranet Sunucu 3. Kişi Hemşire Doktor Acil Durum Ekipleri
Veri akış diyagramı Acil durum, depolama, görüntüleme, raporlama, yorumlama Sunucu yazılımı Depolama, Görüntüleme PDA yazılımı Paketleme, imzalama ve iletim Gömülü Sistem (TİB) A/D dönüşüm ve analiz Gömülü Sistem (TİB) Algılama EKG ve Vücut ısısı
Önerilen Sistem Mobil Sağlık Danışmanı Donanım Algılayıcılar: Elektrokardiyogram ve vücut ısısı algılama. Gömülü sistem: Hızlı ve yüksek çözünürlüklü sayısallaştırma, seri haberleşebilme. Yazılım Donanımdan gelen veriyi işleyebilme, görüntüleyebilme, analiz edebilme, merkezi sunucuya aktarma, kurallar doğrultusunda acil durum tetikleme, merkezden gelen verileri kullanıcıya iletebilme.
Tipik bir EKG algılayıcısı 0.05 mv 10 mv işaretleri kuvvetlendirebilmeli CMRR 80 db den yüksek olmalı. 0.05 Hz 100 Hz düz frekans tepkisi olmalı. Çok yüksek giriş empedansına sahip olmalı. Çok düşük giriş sızıntı akımına sahip olmalı. 50 Hz şebeke gürültüsü ve harmoniklerine, elektrotların deri ile temasından kaynaklanan biyolojik gürültüye, devredeki aktif ve pasif elemanlardan ve akım geçen yollardan kaynaklanan gürültüleri bastırabilmeli.
Önerilen EKG kuvvetlendiricisi EKG Kuvvetlendiricisi için göz önünde bulunan tasarım kriterleri: Düşük maliyet (20 YTL) Düşük güç tüketimi (8 ma) Basit ve kolay mimari
Algılayıcıdan elde edilen EKG grafikleri 250 200 Lead I 150 100 50 0 1 101 201 301 401 501 601 701 801 901 1001 1101 1201 1301 1401 250 200 Lead II 150 100 50 0 1 101 201 301 401 501 601 701 801 901 1001 1101 1201 1301 1401 300 250 Lead III 200 150 100 50 0 1 101 201 301 401 501 601 701 801 901 1001 1101 1201 1301 1401
Önerilen gömülü sistem
Gömülü yazılım Tasarım Kriterleri C dili ile kodlama, Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü Tamamen donanım kesmeleri (hardware interrupt) üzerine kurulu yazılım mimarisi A/D dönüşüm, filtreleme, nabız bulma, sayısal imzalama, paketleme ve USART ile gönderme yeteneklerine sahip, Isı algılayıcısı ile I 2 C protokolünde haberleşebilme, Toplam program boyutu: 1.8 KWord Kullanılan veri hafızası: 308 byte (240 byte veri paketi)
Gömülü yazılım - Algoritma Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü #include <PIC16F877.h> #int_rtcc //TIMER0 (RTCC) interrupt service routine clock_isr(){ //2.048 ms de bir tetiklenir (500 Hz örnekleme hızı) ekg_ornekle(); ekg_filtrele(); ekg_nabiz_bul(); isi_oku(); //6 sn de bir tetiklenir lrc_hesapla(); sayisal_imza_hazirla(); paketle_ve_gonder(); //mod=0 da 6sn de bir küçük paket, mod=1 de 500 ms de büyük paket } #int_rda //USART interrupt service routine, USART dan veri gelirse tetiklenir usart_isr(){ mod_degisimi_yap(); //mod=0 veya mod=1 } main(){ set_timer0(); set_adc(); enable_interrupts(int_rtcc INT_RDA); while (true){ //NOP } }
Veri paketleri Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü Küçük Paket (8 byte) Büyük Paket (248 byte) Başlık bilgisi 28h F0h 32h ISI MOD 28h F0h 32h ISI NABIZ Başlık bilgisi NABIZ İMZA 1 İMZA 2 EKG1.. EKG240 İMZA 3 İMZA 1 İMZA 2 İMZA 3
Sayısal Filtreleme İnsan vücudu, elektrik (güç) hatları karşısında anten gibi davrandığı için EKG işareti üzerinde 50 Hz şebeke gürültüsü meydana gelmektedir. Devredeki bant geçiren analog filtreler bu gürültüyü bastırmakta yetersiz kalmışlardır. MATLAB de, 3. dereceden 50 Hz, bant-durduran (notch) Butterworth sayısal IIR filtresi tasarlanmıştır. Katsayılar fixed-point e çevilmiştir. B=[123-201 123] A=[150-204 96] a(1)y(n)= b(1)x(n) + b(2)x(n-1) + b(3)x(n-2) - a(2)y(n-1) - a(3)y(n-2);
Nabız bulma algoritması Verinin ortalama değerini bul (AVG) Verinin maksimum değerini bul (MAX) Eşik seviyesini belirle TR=(AVG+MAX)/2+K Eşik seviyesini geçen tepelerin yerlerini bul Tepeler arası mesafelerden orantı kurarak nabızı hesapla Elde ettiğin nabız değerlerinin ortalamasını al Eğer 40<H<130 değilse yoksay H=[81 81 82 74 64 68] ortalama(h)=75
Sayısal İmza Sayısal imza=elektronik imza başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı bulunan ve kimlik doğrulama amacıyla kullanılan elektronik veri olarak tanımlanıyor imzalanan veriye göre farklılık gösterir ve içeriğin matematiksel fonksiyonlardan geçirilerek eşsiz olduğu düşünülen bir değer bulunması sureti ile elde edilir kişilerin elle atılan imzada olduğu şekilde tek imzası yoktur; bunun yerine imzalamada kullanılan anahtarları vardır
Sayısal İmza Tüm mevcut kriptografik sayısal imza metotları, alıcının, gönderenin açıkanahtarını elinde bulundurmasıyla, mesajı gönderenin gerçekten ilgili gönderici olduğunu teyit etmesi ve diğer bir yandan mesaj bütünlüğünün de ölçülmesini sağlar. Böylece imzalanmış veri inkar edilemez ve veride ya da açık anahtarda hile ile değişiklik yapılmadığı belirlenmiş olur. Bu tip imzaların iletiminde genelde güvenli bir kanala ihtiyaç duyulmaz.
Sayısal İmza
LRC (Longitudinal Redundancy Check) Boylamsal artıklık kontrolü toplamı LRC kontrol toplamını algoritmasının temel adımları ise şu şekildedir: LRC = 0 olarak ata Döngü: mesajdaki tüm karakterler boyunca Başla Bir sonraki karakteri c olarak ata LRC= LRC XOR c Bitir Burada XOR terimi, LRC ve c değişkenin eşleşen bit lerinin bire-bir XOR işlemine tabi tutulması anlamına gelmektedir. Diğer bir yandan, karakter dizisindeki tüm elemanların ASCII değerleri toplandıktan sonra ikiye göre komplementi alınarak da LRC hesaplanabilir.
RSA RSA algoritması kriptolojide açık-anahtar şifrelemede kullanılır RSA halen e-ticaret uygulamalarında yeterli uzunlukta anahtarlar seçildiği takdirde güvenli olarak görülmekte ve kullanılmaktadır RSA da açık-anahtar ve özel-anahtar olmak üzere iki tip anahtar vardır. Kullanıcıya ait açık-anahtar herkeste bulunur ve mesajın kodlanmasında kullanılır. Ancak kodlanmış mesajlar sadece özelanahtar ile çözülebilir.
RSA Açık ve özel anahtarlar aşağıdaki algoritma ile elde edilebilir: Bu durumda, açık-anahtar; n: modül ve e: açık üsden oluşmakta ve özel-anahtar ise n: modül ve d: özel üsden oluşmaktadır. Mesajlar kodlanırken eşitliğinden yararlanılır. Burada m kodlanmak istenen mesajı, c ise mesajın kodlanmış halini göstermektedir. Kodlanmış mesajlar ise eşitliği ile tekrar çözülebilir.
Modüler Üs Alma algoritması RSA algoritmasının güvenilir olabilmesi için e, n ve d değerleri yeterince büyük seçilmelidir. Ancak sayılar büyüdükçe algoritmanın hesaplama yükü ve hafıza ihtiyacı artmaktadır. Modül işlemlerini daha az hafıza ile çözmek için aşağıdaki modüler üs alma algoritması kullanılmaktadır:
Önerilen Sayısal İmza Yaklaşımı Sayısal imza = RSA(LRC(veri)) c=1; ee=0; lrc=0; for(i=0;i<veriuzunluk;i++){ lrc=(lrc+veri[i]) % 256; } m=lrc; while (ee<e){ ee=ee+1; c=(m * c) % n; } imza=c; Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü
Geliştirilen prototip
Mobil kullanıcı yazılımı EKG NABIZ 10 sn lik EKG çıktısını görüntüleme 3 dk lık nabız değişim grafiğini görüntüleme Vücut ısısını görüntüleme Verileri kaydetme
Mobil kullanıcı yazılımı Kişinin konumu harita üzerinde gösterilmektedir Microsoft Mappoint servisleri kullanılmıştır GPS arabirimi mevcut olmasına rağmen Mappoint servislerinde Türkiye haritasi olmadığı için rastgele koordinatlar ile çalışılmıştır
Acil durum ekipleri mobil yazılımı Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü Kişinin yerinin harita üzerinde belirlenmesi Ambulans şöförüne yardımcı olacak şekilde en kısa yolun bulunması
Acil durum müdahele programı
Web Uygulaması
Sonuç ve Tartışma Taşınabilir uzaktan sağlık izleme sistemi başarıyla tasarlanmıştır ve çalışır prototipleri ortaya konmuştur. Taşınabilir izleme birimi ve PDA arasında veriler imzalanarak gönderilmiştir. Bluetooth, WLAN (wi-fi), GSM/GPRS ve Internet gibi pek çok teknolojiyi bünyesinde barındırarak oluşturulan dağıtık mimari sayesinde kişinin hareket özgürlüğü artırılmış, PDA üzerindeki dahili kablosuz sistemler kullanılarak ekstra donanımların tasarlanmasına gerek kalmamış, maliyet ve sistem boyutları düşmüş, önerilen sayısal imza yaklaşımı ile veri bütünlüğü ve güvenliği sağlanmıştır. LRC kontrol toplam algoritması, genelde veri bütünlüğü için kullanılmaktadır. Ancak hesaplama yükünün az olmasından dolayı temel seviyede imzalama için yeterli görülmüştür. İleriki çalışmalarda LRC yerine MD-5 ve SHA-1 karıştırma algoritmaları kullanılarak daha sağlam sayısal imzalar oluşturulabilir.
Referanslar [1]. United Nations (UN), Department of Economic and Social Affairs, World Population Ageing, 2004, http://www.un.org/esa/population/publications/worldageing19502050/ index.htm. [2]. World Health Organisation (WHO), The Atlas of Heart Disease and Stroke, 2002, http://www.who.int/cardiovascular_diseases/resources/atlas/en/index. html. [3]. Binkley P.F., Predicting the potential of wearable technology, Engineering in Medicine and Biology Magazine, IEEE Volume 22, Issue 3, Mayıs-Haziran 2003 (s):23 27. [4]. Hung K., Zhang Y.T., Tai B., Wearable medical devices for telehome healthcare, EMBC 2004, Volume 2, 2004 (s):5384-5387 Vol.7. [5]. Lorincz K., Malan D.J., Fulford-Jones T.R.F., Nawoj A., Clavel A., Shnayder V., Mainland G., Welsh, M., Moulton S., Sensor networks for emergency response: challenges and opportunities, Pervasive Computing, IEEE Volume 3, Issue 4, Kasım-Aralık 2004 (s):16 23. [6]. Bolanos M., Nazeran H., Gonzalez I., Parra R., Martinez C., A PDA-based electrocardiogram/blood pressure telemonitor for telemedicine, EMBC 2004, Volume 1, 2004 (s):2169-2172 Vol.3. [7]. Fensli R., Gunnarson E., Hejlesen O., A wireless ECG system for continuous event recording and communication to a clinical alarm station, EMBC 2004, Volume 1, 2004 (s):2208-2211 Vol.3.
Arş. Gör. Rifat Kurban rkurban@erciyes.edu.tr
Elektrokardiyogram (EKG) Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü Kalbin bir elektriksel aktivitesi olarak ortaya çıkan biopotansiyel işaretlerdir. Vücut üzerine (kollar, bacaklar ve 6 adet göğüse) yerleştirilen elektrodların aralarındaki fark kuvvetlendirilerek 12 farklı işaret elde edilir. Bunlar I, II, III, avr, avl, avf, ve V1, V2, V3, V4, V5, ve V6 olarak isimlendirilir. 0.05 mv 10 mv arasında genliğe sahiptir. 0.05 Hz 100 Hz arasında bileşenler içerir
EKG elektrod yerleşimleri Limb leads (bipolar) Augmented limb leads (unipolar) Chest leads (unipolar)
EKG işaretleri Nabız (heart rate), Kalp ritmi (cardiac arrhythmia), Kalbe yeterli miktarda kan gidip gitmediği, Kalp krizinin varlığı, Kalp büyümesi ve kalbin fiziksel durumu, Kalp çevresinde iltihap (pericarditis), İlaçların ve elektrolitlerin kalp üzerindeki etkisi (potassium, calcium, magnesium), Kalp ile ilgisi olmayan bazı rahatsızlıklar (pulmonary embolism, hypothermia) hakkında bilgiler içerir.
EKG kuvvetlendiricisi devre şematiği Girişte kullanılan 10K dirençler ile yüksek ters sızıntı akımları engellenmiştir. AD620 enstrümantasyon kuvvetlendiricisi kullanılmıştır. G=10 Birinci dereceden RC pasif bant-geçiren filtre tasarlanmıştır. 2 adet LF353 ile çıkış kuvvetlendiricisi ve aynı zamanda iki adet aktif AG filtre oluşturulmuştur. Voltaj bölücüsü ile üç adet voltaj elde edilmiştir. Bunlardan 0V=V-, 5V=V+ ve 2.5V=VGND olarak kullanılmıştır.
Taşınabilir izleme birimi devre şematiği