TARIFNAME VERI ANONIMLESTIRME YÖNTEMI Teknik Alan Bulus, kapali veya internete bagli açik bir agdan gelen veri anonimlestirme taleplerinin siniflandirilmasini, siniflar için anonimlestirme seviyelerinin belirlenmesini ve belirlenen anonimlestirme seviyelerine göre anonimlestirme yapilarak istemcilere anonim verinin iletilmesini saglayan bir yöntem ile ilgilidir. Teknigin Bilinen Durumu Veri anonimlestirme, bir nesne ile ilgili baglantili olabilecek tanimlayicilarini koruyarak nesneyi gizleme islemidir. Anonimlestirme islemlerinden bahsetmek gerekirse bunlar, verinin içeriginin baska degerler ile degistirilmesi, verilerin bazi bölümlerinin çikarilmasi / silinmesi / degistirilmesi veya verinin kriptografik islemlerle sifrelenmesi islemleridir. Böylece verilerin degerleri üzerinde bir analiz yapma (örnegin istatistiksel veya davranissal analizi hesaplamak için) ihtiyaci olan kisiler veya yazilimlar, gerçek veri degeri yerine, anonimlestirme ile sifrelenmis, degistirilmis veya kismen degistirilmis veriler üzerinde islem yaparlar. Anonimlestirme islemi için bir örnek durum akisi Sekil 1'de gösterilmektedir. Veri tabaninda sol tarafta 4 sütun bulunmaktadir. Ilk sütun, veri tabanindaki her bir satirin tanimlanmasi için kullanilan kimlik sütunudur. Diger sütunlar sirasiyla kisinin adi, soyadi ve dogum tarihi bilgilerini içerir. Veri anonimlestirme isleminden sonraki degisiklikler sag taraftaki veri tabaninda gösterilmistir. Sekil 1*de bulunan veri tabaninin ikinci sütuna bir hash islemi uygulanmis, üçüncü sütununa ise bir permütasyon (karistirma) islemi ve dördüncü sütun ise degerler degistirilerek yeniden numaralandirilir. Belirtilen islemler sonucunda ortaya çikan ve verilerin anonimlestirilmis oldugu veri tabani tablosu Sekil 1*de sag taraftadir. Bir veri tabaninda bulunan benzer bilgiler, birden fazla kaynakta barindirilabilir. Farkli kaynaklardaki veri tabanlarinda ise benzer tanimlayicilar kullaniliyorsa bu durumda kötü niyetli bir kisi veya yazilim, anonimlestirilmis verilerin gerçek degeri hakkinda bir korelasyon bilgisi elde edilebilir. Bir örnek vermek gerekirse bir sehirdeki insanlarin isimleri ve adreslerinin oldugu bir veri tabani ile hastanedeki hastalarin adreslerinin ve hastaliklarinin bulundugu bir baska veri tabanina erisimimiz varsa aslinda kimin hasta oldugunu belirleyebiliriz ki bunlar özeI bilgilerdir. Ticari sir verilerinin depolanmasi için de benzer durumlar geçerlidir. Bu nedenle anonimlestirme islemleri çok dikkatli yapilmali ve yeni atanan anonim degerlerin nesne ile baglantisindan tamamen bagimsiz olmalidir. Anonimlestirme teknikleri, kaynaklar arasinda çapraz referansa izin veren ve kisisel / özel bilgileri açiga çikaran anlamli sonuçlar saglamamalidir. Literatürde birçok çalisma, farkli çözüm ve algoritmalar kullanarak verilerin anonim hale getirilme derecesini artirmayi amaçlamaktadir. Ayrica anonimlestirme islemlerinde kullanilmak üzere gelistirilmis farkli sifreleme yöntemlerinin kullanildigi çalismalar da bulunmaktadir. Bahsedilen bu teknikleri gelistirerek çesitlilik saglamak, birçok akademik ve endüstriyel arastirma konusunun ana odak noktasi olmustur. Ayrica, bir agda ag içerisine ayri bir dügüm olarak konumlandirilan anonimlestirme cihazlarinin verileri anonimlestirilmesi ve hassas verileri ayirmasi için kullanilan siniflandirma yöntemleri de patent ve makalelerin konusu olmustur. Mevcut çalismalar incelendiginde bir agdan geIen istekleri algilayan, istekleri siniflandiran ve bu siniflara göre özeIIestiriImis anonimlestirme islemleri gerçeklestiren bir sistem göze çarpmamaktadir. Aslinda, veri anonimlestirme saglayan bir yazilim / donanim, önce anonimlestirilmis istekleri algilamali ve bunlara yanit vermelidir. Ancak gelen talepler, iç agdan veya dis agdan gelebilecegi gibi, farkli yetki seviyelerine sahip kisilerden ve/veya farkli kisi/ kurumlardan da gelebilir. Önemli bir nokta ise bir veri tabaninda (veya veri tabani tablosunda) anonimlestirme uygulamasinin yazilim ve donanim olarak bir islem süresi gerektirdigine dikkat etmektir. Her talebe ayni anonimlestirme sürecinin uygulanmasi ve böylece ayni miktarda islem süresi üretilmesini beklemek yanlis bir düsünce olur. Ayrica verilerin çok karmasik veya daha az karmasik bir sekilde anonim hale getirilmesi, kullanim amacina bakilmaksizin, farkli görevler tarafindan yapilacak analizlerde zayifliklara yol açacaktir. Bu nedenle, farkli talep seviyelerinden gelen talepler için verilerin bir siniflandirma sürecine tabi tutulmasi ve bu taleplere göre anonimlestirme cevaplarinin olusturulmasi önemlidir. veri tabanlarinda verilerin kaynagini belirlemeye yönelik bir yöntemle iIgiIidir. Bir hastanin veya tibbi saglayicisinin, verilerin anonimlestirilmis bir veri dosyasinda saklandigi bir ag üzerinden hasta verilerine erisimini saglamak için kullanilmasi hedeflenmektedir. Ancak söz konusu basvuruda, anonim veri taleplerinin siniflandirilmasindan veya bu siniflara göre özellestirilmis anonimlestirme islemlerinin gerçeklestirilmesinden bahsedilmemektedir. Sonuç olarak yukarida anlatilan olumsuzluklardan dolayi ve mevcut çözümlerin konu hakkindaki yetersizligi nedeniyle ilgili teknik alanda bir gelistirme yapilmasi gerekli görülmüstür. Bulusun Amaci Bulus kapsaminda bir agdan gelen anonimlestirme talepleri, güvenli bir sekilde, talep eden ana bilgisayara/sunucuya/IP adresine teslim edilir. Önerilen çözüm, veri anonimlestirmesinin, talep edenlerin yetkilendirme seviyelerine bagli olarak yapilmasina imkân verir ve bu taleplere erisim kontrol mekanizmasi saglar. Anonimlestirmenin güvenligini saglamak için kriptografik ilkeler kullanilir. Istemci, bu kriptografik ilkeler sayesinde hassas bilgilere sahip olamaz. Farkli talep siniflari için farkli anonim veri seviyeleri olusturulacagindan anonimlestirme islem süresi kisaltilacaktir. Talep edenlerin anonimlestirme seviyeleri ile eslenen veri tabani tablolarindaki sütunlar arasinda hiyerarsik bir iliski kurulacaktir. Bu hiyerarsik iliskilendirme, ayni zamanda veri anonimlestirme isleminin karmasiklik düzeyini olusturmak için kullanilir. Örnegin, bir kurulus içinde en yüksek yetki düzeyine sahip biri için anonimlestirme daha az karmasik olacak ve bu da islem süresini kisaltacaktir. Bulus, anonimlestirme isleminin bir agda otomatik bir sekilde çalismasini saglar ve veri anonimlestirmesini kullanicilar için bir ag hizmeti olarak saglar. Bulusun yapisal ve karakteristik özellikleri ve tüm avantajlari asagida verilen sekiller ve bu sekillere atiflar yapilmak suretiyle yazilan detayli açiklama sayesinde daha net olarak anlasilacaktir. Sekillerin Açiklamasi Sekil 1, bir veri tabani tablosunda yapilan anonimlestirme isleminin örnek bir akis tablosudur. Sekil 2a, istemci (talep eden) ile etkilesime giren bir ag ortaminda veri anonimlestiricinin ayri bir ag nesnesi olarak konumlandirildigi durumdaki veri akisini göstermektedir. Sekil 2b, istemci (talep eden) ile etkilesime giren bir ag ortaminda veri anonimlestiricinin sunucu içerisinde konumlandirildigi durumdaki veri akisini göstermektedir. Sekil 3, bulus konusu yöntemin akis semasini göstermektedir. Sekil 4a, anonimlestirme düzeyi tablosunun bir operatör tarafindan manuel olarak olusturulmasina iliskin akis semasini göstermektedir. Sekil 4b, anonimlestirme düzeyi tablosunun anonimlestirici ile diger uygulama/veri tabani sunuculari arasindaki etkilesimlerle otomatik olarak olusturulmasina iliskin akis semasini göstermektedir. Çizimlerin mutlaka ölçeklendirilmesi gerekmemektedir ve mevcut bulusu anlamak için gerekli olmayan detaylar ihmal edilmis olabilmektedir. Parça Referanslarinin Açiklamasi Anonimlestirici Istemci Operatör CRM Sunucusu SAP Sunucusu SharePoint Sunucusu DNS Sunucusu 93°.".0791:'Ä93!\3.-L Bulusun Detayli Açiklamasi Bu detayli açiklamada, bulusun tercih edilen yapilanmalari, sadece konunun daha iyi anlasilmasina yönelik olarak ve hiçbir sinirlayici etki olusturmayacak sekilde açiklanmaktadir. Bir ag içerisinde talep edilen veri anonimlestirme islemi, yine ag içindeki bir kullanici talebi ile tetiklenir. Sekil 2a ve Sekil 2b, bir istemciden (2) gelen istege yanit veren bir anonimlestiricinin (1) diger birimlerle etkilesimlerini göstermektedir. Bir ag içerisinde bulunan ve veriyi anonimlestiren cihaza anonimlestirici (1) diyelim. Bu anonimlestirici (1), Sekil 2a'da gösterildigi gibi ag içerisinde ayri bir cihaz olarak konumlandirilabilir veya Sekil 2b'deki gibi bir sunucunun (3) içinde de olabilir. Tasarlanan yöntemdeki anonimlestiricinin (1) görevi ise agin içerisinde nerede ve hangi mimariyle (sunucu (3) içerisinde veya ayri cihaz olarak) bulunursa bulunsun, istemciye (2) (talep edenlere) anonimlestirilmis veriyi göndermektir. Yüksek düzey tasarimi açisindan incelemeye devam edersek, Sekil 2a'da gösterildigi gibi, bir müsteri, kendisi veya kullanacagi bir yazilim tarafindan islenmek üzere, bazi veriler için bir anonimlestirme talebi gönderir. AnonimIestirici (1) bu istegi alir ve istegin veri tabanindaki hangi tablolara ve tablolardaki hangi sütunlara ait oldugunu belirler (Not olarak, bu tablo ve sütün bilgileri önceden belirlenmis olarak da anonimlestiriciye (1) iletilmis olabilir). Ardindan, anonimlestirici (1) veri tabani sunucusundan (3) orijinal verileri ister. Sunucu (3), verileri anonimlestiriciye (1) iIetir. Daha sonra veriler anonim hale getirilerek istemciye (2) gönderilir. Sekil 2b'de de ayni islem anlatilmis ancak bu sefer anonimlestirici (1) bir sunucu (3) içinde (yazilim/donanim olarak) yer almaktadir. Tablo 1: Anonimlestiricide (1) depolanan, istemciye (2) göre anonimlestirme düzeylerini gösteren ve istemci (2) IP adreslerinden olusan örnek bir tablo Tablo 2: Anonimlestiricide (1) depolanan, istemciye (2) göre anonimlestirme düzeylerini gösteren ve istemci (2) alan adlarindan olusan örnek bir tablo NOD-bmw Tablo 3: Anonimlestiricide (1) depolanan, istemciye (2) göre anonimlestirme düzeylerini gösteren ve istemcinin (2) detayli ag bilgilerinden olusan örnek bir tablo Önerilen çözümde, anonimlestirme seviyesi, anonimlestiricide (1) depolanan bir tabloya bakilarak belirlenir. Tablo 1, anonimlestirme seviyelerini gösteren bir örnegi tasvir etmektedir. Görülecegi üzere farkli anonimlestirme seviyelerine atanmis istemcilerin (2), anonimlestirilmis verilerin karmasikligini (veya entropi derecesini) gösterir. Anonimlestirme seviyelerine göre en yüksek degere sahip kullanicilar için, yüksek karmasiklikta anonimlestirme islemi yapilir. Anonimlestirme seviyesine göre baska bir numaralandirma teknigi de (örnegin, en düsük anonimlestirme seviyesine sahip olan gelen bir talep ile bir örnek verilebilir. Bu IP adresi, Tablo 1*de ilk satir tarafindan tanimlanan IP adresleri araligi içerisindedir. Bu nedenle anonimlestirme düzeyi "1" olarak anonimlestirme seviyesi olarak "1" degeri atanir. Anonimlestiricide (1) depolanan ve belirlenir. Bu durumda bu istek sahibine, yani IP adresine anonimlestirme seviyelerini gösteren Tablo 2, bu sefer alan adlarina göre olusturulmustur. Son olarak Tablo 3*te ise anonimlestiricide (1), her bir istemciye (2) özel olarak farkli anonimlestirme seviyeleri atayan ayrintili bir tablo (IP adresi, alan adi, kullanici adi, bilgisayar adi, DNS adi, cografi konum vb.) olusturulmustur. Söz konusu tablolarda diger satirlari da kapsayan ve yinelenen bir veya birden çok satir yanlislikla yazilmis oldugunu varsayalim. Bu durumda, karmasikligi önlemek adina, diger benzer satirlari kapsayan genellestirilmis satir geçerli olacak bir kural tabloda yer alabilir. Alternatif olarak, bu tabloda, benzer satirlari tespit eden bir kontrol mekanizmasi bulunabilir. Yukaridaki tablolar, Sekil 4a,da gösterildigi gibi bir operatör (4) tarafindan olusturulabilir veya Sekil 4b,deki gibi anonimlestirici (1) ile CRM sunucusu (5), SAP sunucusu (6), SharePoint sunucusu (7), E-posta, DNS sunucusu (8) gibi agdaki diger sunucular (3) arasindaki etkilesimlerle otomasyon süreçleri dâhilinde olusturulabilir. Konfigürasyon bilgileri bu etkilesim neticesinde anonimlestiriciye (1) gönderilebilmektedir. Anonimlestirme düzeyi ile veri tabani arasindaki iliskilendirmeyi tanimlayan 2 yöntem olabilir ve bunlar su sekilde tanimlanir; Verilerin anonim hale getirilmesi için önceden tanimlanmis kurallar kullanilabilir. Örnegin, anonimlestirme düzeyi degeri "1" olan (diyelim ki en yüksek, yani en karmasik anonimlestirme isleminin yapilacagi) kullanici için verileri anonimlestirelim. Bu durumda, hassas bilgi içeren sütunlar için en güçlü karmasiklastirma yöntemi olan sifreleme islevleri veya bu sütunlari tamamen maskeleme islemleri uygulanabilir. Anonimlestirme düzeyi degeri 8 (diyelim ki en düsük, yani en az karmasik anonimlestirme isleminin yapilacagi) olan istek sahibi için verileri anonimlestirelim. Bu durumda ise, her bir sütuna basit permütasyon veya farkli bir deger ile degistirme islevleri uygulanabilir. Bu kurallar ve sütunlara yapilacak olan islem seçenekleri operatör (4) tarafindan belirlenebilir. Veri tabanina ait sütunlar için agaç tabanli bir grafik yapisi olusturulur. Yani veri tabaninin sütunlari arasinda hiyerarsik ve agaç yapisinda olacak sekilde bir yaklasim uygulanir. Tablo 4,te bu hiyerarsik yapi örnek olarak tasvir edilmistir. Bu örnekte bir firmanin insan kaynaklari bölümünde saklanan bir veri tabani tablosu gösterilmistir. Önerilen yöntemde, veri tabaninin ilgili sütunlari (bir operatör (4) tarafindan veya otomatize olarak) hassas veri içeren sütunlar olarak etiketlenir. Daha sonra üst ve alt katman sütunlari arasindaki iliskiye göre bir agaç yapisi olusturulur. Iliski olusturma süreci bir operatör (4) veya bir yazilim tarafindan gerçeklestirilebilir. Anonimlestirme isleminin seviyeleri ve ilgili anonimlestirme islemi operatör (4) tarafindan açiklanir ve Tablo 4,ün sol kisminda bu görülebilir. Operatör (4) tarafindan sütunlarin önem sirasi en yüksekten en düsüge dogru, hassas degerli, metin degerli, sayisal degerli, tarih/saat/zaman damgasi olarak siralanmis olsun. Bu durumda anonimlestirme için yapilacak olan islemlerin karmasikliklari, tanimlanan seviyelere göre degisecektir. Örnegin birinci seviyeden itibaren, diyelim ki en düsük anonimlestirme seviyesi tüm veri degerleri (hassas, metin, sayisal, tarih/saat/zaman damgasi) tanimli anonimlestirme islemleriyle islensin. Islemler sirasiyla farkli seviyelere uygulanan maske, baska deger ile degistirme, permütasyon ve yeniden numaralandirma islemleridir. Ayrica, daha güçlü anonimlestirme islemleri uygulanacaktir. Örnegin, Tablo 4,te 4. seviyeyi en yüksek anonimlestirme seviyesi olarak tanimlayalim. Daha sonra, bu seviyede hassas verilerin ve sayisal verilerin o seviyede istemciye (2) gönderilmemesine operatör (4) tarafindan karar verilir. Dolayisiyla, bu iki sütun anonimlestirme sürecinde gizlenir. Ayrica, sayisal ve tarih/saat/zaman damgasi sütunlari için gürültü veya sifreleme gibi karmasik islemler, bu tür talepte bulunanlar için anonimlestirmeyi daha karmasik hale getirmek için uygulanir. Tablo 4: Bir sirkette bulunan çalisanlarin bilgilerini içeren örnek bir veri tabaninin sütunlarinin hiyerarsik yapisi Maskele Maskele Sakla Sakla Güvenlik Hassas ve" Degistir Maskele Permutasyon Sakla Metin Degerleri Kaydirma Degeri G" "It" u . Permutas on . . uru u y isiemi Degistir Ekle Sayi Degerleri Yeniden Yuvarla Hash lslem'mi Sifrele a / Numaralandir Zaman/ Zaman Damgasi Anonimlestirici (1), anonimlestirme düzeyine göre veriler üzerinde islemeyi tamamladiktan sonra islenen verilerin istemciye (2) teslim edilmesi gerekir. Bu teslimat için teslimattan önce, istemciye (2) özel olarak benzersiz olacak bir sifreleme anahtari olusturulur. Bu olusturulan sifreleme anahtari da anonimlestiricinin (1) içerisindeki veri tabaninda depolanir. Alternatif olarak bu anahtar ayri bir tablo olarak da saklanabilir. Sifreleme anahtarinin bu sekilde olusturulmasiyla birlikte, anonimlestirilmis verilere yalnizca verinin istemcisi (2) erisilebilir. Çünkü bu anahtar, sadece istemciye (2) teslim edilecektir. Bu nedenle, yalnizca anahtara sahip olan istemci (2), anonimlestirici (1) tarafindan ortaya çikarilan anonimlestirilmis verilere erisebilir. Anahtarlarin sürekli olusturuldugu ortamda, sürekli gelen istekler için üretilen anahtarlarin tekrarlanip tekrarlanmadigini algilayan bir kontrol mekanizmasinin uygulanmasi gerekmektedir. Bir anahtar yeniden üretildiginde veya anahtar hesaplamasinda satirdaki bazi sütunlar çikarildiginda, güvenlik amaçli olarak yeni bir anahtar üretilmelidir. Anahtar, istek sahibi bilgilerinden olusturulduktan sonra, yalnizca bu olusturulan anahtara sahip istek sahibi bu anonim verilere erisebilir. Anahtarin güvenli teslimi, IKE gibi güvenli anahtar degisim protokolleri ile elde edilebilir veya baska diger mekanizmalar kullanilabilir. Yöntemin genel akis semasi Sekil 3'te sunulmustur. Genel akis semasi incelendiginde, sürece anonimlestirme arama tablosunun olusturulmasiyla baslanir. Daha sonra, istekte bulunan kisinin bilgilerine göre anonimlestirme düzeyinin belirlenmesi için bu tabloya basvurulur. Anonimlestirme düzeyi arama tablosunda eger talep eden için bir eslesme yoksa bu istek iptal edilir ve bu istek için baska hiçbir islem gerçeklestirilmez. Bir sonraki adimda ise, anonimlestirici orijinal veriler sunucudan alindiktan sonra bu veriler anonim hale getirilir. Anonimlestirilmis veriler istek sahibine gönderilmeden önce bir sifreleme anahtari olusturulur ve bu anahtar istek sahibine güvenli bir sekilde teslim edilir. Daha önce de belirtildigi gibi, anahtar degisimi amaciyla herhangi bir güvenli anahtar degisimi veya özellestirilmis protokol kullanilabilir. Istemciye iletilecek olan anonimlestirilmis veriler, bu olusturulan anahtarla sifrelenir. Eger anahtar güvenli bir sekilde teslim edilmisse, istek sahibi anonimlestirilmis verilere ulasir. TR TR TR TR TR TR