Bir gps dosyası nasıl anonimleştirilir?


11

Yasal anlamda anonim yapmak istediğiniz bir GPS iziniz olduğunu düşünün. Bunu nasıl yapardın? En yakın x mesafesine yaslanmak ve zamanı çıkarmak yeterli mi? Bu konuda uluslararası olarak kabul edilmiş standartlar var mı? Bunu yapmak için zaten bir algoritma yazan var mı? Değilse, bunu yapmak için gelişen stplanr paketimde bir işlev yapmayı planlıyorum .

Kendi ' Tanımlanabilir ' verilerimden tekrarlanabilir örnek ( @geospacedman'dan harika döndürme işlevini kullanarak ) :

library(rgdal)
library(tmap)
downloader::download("https://www.openstreetmap.org/trace/1619756/data", "test.gpx")

r <-readOGR(dsn = "test.gpx", layer = "tracks")
r <- spTransform(r, CRS("+init=epsg:27700"))
rproj <- rotateProj(rs, 90) # rotate projection for plotting
r <- spTransform(r, rproj)
rs <- rgeos::gSimplify(r, 1000) # snap to nearest km
qtm(r) + qtm(rs, line.col = "red") + tm_layout(draw.frame = F) + tm_scale_bar()

Kırmızı-rota

Sonuç yukarıda gösterilmiştir. Özetle: kırmızı yol 'tanımlanabilir' mi ve daha iyi bir yol var mı?


5
Bence burada "anonim" olan şey için iyi bir tanım ve kapsam gerekebilir. Bu büyük ölçüde verilerin bağlamına bağlı olacaktır, örneğin bir şehirde, herkes çok hassas bir rotayı bile izleyebilirdi, uzak / kısıtlı bir alanda başlarsa / biterse veya geçerse çok daha fazla bilgi verir özellikle bilgilendirici bir yer (örneğin, birinin evi). Ve hangi bilgilerin saklanması gerekiyor? kat edilen mesafe? göreceli zamanlar veya hız? izini haritalama yolu nedir? Bunlar, verileri (bazı) kolayca kaldırabileceğinizi veya örneğin sabit / rasgele gürültü ekleyip ekleyemeyeceğinizi belirler.
drfrogsplat

konular için de ne kullanmayı planlıyorsanız, tüm rotalarınız için başlangıç ​​noktasını 0,0 olarak ayarlayabilirsiniz
Ian Turton

İlginç bir soru ve paylaşılan bisiklet verileri ile benzer bazı sorunlarla uğraşıyorum. Bir GPX dosyasını 'anonimleştirmeyi' ve GPX formatında tutmayı mı düşünüyorsunuz? Hat olarak kaydedebilir misiniz (iz noktası bilgisi atılır)? Gerçekten ne gizlemek istiyorsun?
Simbamangu

Meslektaşları ile tartışma basitçe 'k Anonim' olarak sayılır bir mesafeye ilk ve son x metre doğrama fikrine yol açmıştır en.wikipedia.org/wiki/K-anonymity . @Drfrogsplat'a cevaben ICO'nun anonimlik tanımını kastediyorum, ki bu belirsizdir: "1998 tarihli Veri Koruma Yasası (DPA) altında mekansal bilgileri (posta kodları, GPS verileri veya harita referansları gibi) ele almak için basit bir kural yoktur. bu kişisel verileri oluşturacaktır "(ama hangisi?): ico.org.uk/media/1061/anonymisation-code.pdf
RobinLovelace

1
Bir dizi GPS noktası için K anonimliği nedir ? İlk / son sayaçları 'doğrayarak' ne demek istersiniz - nokta kümesini kırpmak (daha kısa) veya iz noktalarının doğruluğunu azaltmak mı?
Simbamangu

Yanıtlar:


5

GPX dosyalarını iki kriterde (özellikle güvenlik için) anonimleştirmek için yerel bisiklet grubumuzla çalışıyorum. Asla standart bir anonimleştirme yöntemiyle karşılaşmadım, ancak bu, yollardaki doğruluk ve hız bilgilerini korurken üyelerimizin iki endişesini tatmin ediyor:

  • Bireyler için 'özel' alanların kaldırılması;
  • Seyahat verilerinin bireysel hareketleri tanımlamak için kullanılamaması için zaman damgalarının gizlenmesi.

GPSBabel, her ikisini de komut satırından yapabilir - örneğin, bir GPX dosyasındaki süreleri +123450 saniye kaydırmak ve Tanzanya'nın kuzeyindeki bir dönüm noktasından 0,5 km uzaklıktaki tüm iz noktalarını kaldırmak için:

gpsbabel -t -i gpx -f infile.gpx \
  -x transform,wpt=trk,del -x track,move=123450s \
  -x radius,distance=0.5K,lat=-3.368,lon=36.624,nosort,exclude \
  -x transform,trk=wpt,del \
  -o gpx -F infile_rand.gpx
  • -t: yalnızca parçaları izleme;
  • -i, -f: girdi dosya türü (gpx) ve dosya adı;
  • -x: bir nokta etrafında timeshift (hareket) ve kaldırma (yarıçap, hariç tutma) için iki ardışık (-x) filtre argümanı;
  • -o, -F: çıktı dosya türü ve dosya adı.

Bu komut birkaç filtreyi bir araya getirir - önce iz noktalarını geçiş noktalarına dönüştürür, sonra filtreler, ardından iz noktalarına geri dönüştürür.

Gizlilik alanının tam merkezini gizlediğinden, dönüm noktası / gizlilik alanı çevresindeki ondalık basamakları azaltmanın ÇOK önemli olduğunu unutmayın. 3 ondalık basamak = bu durumda ~ 110m doğruluk .

Genellikle rastgele bir zaman kayması +/- 2 hafta dahil filtreler uygulanmış yeni bir GPX dosyası yazarak R'den GPSBabel'ı ararım. Bu bir bash veya python betiği olarak daha iyi olurdu ama yaptığım diğer işlerin çoğu R'de ve tembelim ...

# Get the correct location for GPSBabel:
GB <- Sys.which("gpsbabel")

# Set up the filters
shift <- round((runif(1, 0, 2600000) - 1300000), 0) # +/- 2 weeks in secs
filter <- " -x transform,wpt=trk,del"
filter <- paste(" -x track,move=", shift, "s", sep = "")
filter <- paste(filter, " -x radius,distance=", dist, "K,", "lat=", lat, ",long=", lon, sep = "")
filter <- paste(filter, " -x transform,wpt=trk,del", sep="")

# Pass the complete command to the system
system(paste(GB, " -t -i gpx -f ", gpx_file, filter, " -o gpx -F ", 
           gsub(".gpx", replacement = "_rand.gpx", x = gpx_file, fixed = T),
           sep = ""), intern = TRUE)

1

Şansınız bitti, bunu yapmak çok zor! Bu konuda ciddi iseniz, farklı gizlilik hakkında okumalısınız çünkü bu muhtemelen peşinde olduğunuz şeydir.

Bu sorunu düşündüğünüzde, uzun izole yolun sonunda yaşayan münzevi bir kişinin durumunu düşünmelisiniz. GPS koordinatları hakkında bir şeyler yapabileceğinizi ve o kişi hakkında hiçbir şey açığa çıkaramayacağınızı gerçekten düşünüyor musunuz? Buradaki yan bilgiler, orada sadece bir kişinin yaşadığı kolayca keşfedilebilir.

Kullanıcı kimliğini sıyırmak, zaman ve veri noktalarına gürültü eklemek iyi bir başlangıç ​​noktasıdır. Ancak sorun, tüm veri noktalarının yoğun bir şekilde ilişkilendirilmesidir, bu nedenle her noktaya rastgele gürültü eklerseniz gürültü iptal edilir ve birisi olası yörüngeleri türetebilir. Bu nedenle, örneğin bir yörüngede sabit hale getirerek gürültünün bu saldırıya karşı dayanıklı olması gerekir. Ancak, yörüngeler muhtemelen yollara vb. Dayalı olası rotalarla kolayca eşleştirilebilir.

Sonunda varacağınız verilerin, onunla ne yapmak istediğinize hala uygun olup olmayacağından emin değilim ama en azından tutkulu bir alan.

Not: Yasal olarak kabul edilebilir olduğunu bilmiyorum, farklı bir mahremiyetin matematiksel tanımı elde edebileceğiniz en sağlam şey iken, hareketli bir hedef ve ülkeye özgü olmasını beklerim.


0

her bir noktanın X ve Y koordinatlarında belirli bir minimum ve maksimum ofset arasındaki rastgele bir mesafe ayarlaması yapın. ayrıca ofsetin yönünü (artı veya eksi) rastgele bir seçim yapın. Rastgeleleştirmeye, bazı noktaların bir koordinat çiftinin bir veya her iki kısmında herhangi bir ayarlama yapmayabileceğini ekleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.