İçeriğe geç

İnovasyonun ötesinde. Sınırların ötesinde. Etkiye doğru.

Dil
Görünüm

Corona-Warn-App nasıl çalışır

Sonradan pozitif çıkan birinin yakınında durduğunuzu size haber verebilir; üstelik hiçbir sunucu, birinin yakınında durduğunuzu hiç öğrenmeden. İkisini birden mümkün kılan mimari ve kodun neden herkese açık olduğu.

Yazar
Yayımlanma
Okuma süresi
4dk
Dizi
Salgın yazılımı Bölüm 2 / 5

Almanya 16 Haziran 2020'de resmî COVID-19 temas takip uygulaması Corona-Warn-App'i yayımladı. Yirmi dört saat içinde milyonlarca kez indirildi ve Avrupa tarihinin en hızlı benimsenen kamu uygulamalarından biri oldu.

Alman pazarında bir ayağı olan bir yazılım şirketi olarak geliştirmeyi yakından izledik; kısmen mesleki merakla, kısmen de büyük bir kamusal gözetim altında mahremiyete duyarlı bir uygulamanın nasıl yayına alındığına dair bir vaka çalışması olduğu için. Uygulamanın ne yaptığı, kaputun altında nasıl işlediği ve mimari kararların neden önemli olduğu aşağıda.

Corona-Warn-App ne yapar

Amaç basit: sonradan SARS-CoV-2 testi pozitif çıkan birinin yakınında kayda değer bir süre geçirdiyseniz, uygulama sizi uyarır; böylece farkında olmadan başkalarına bulaştırmadan önce test yaptırıp izole olabilirsiniz.

Zor kısım, bunu kimin kiminle karşılaştığına dair merkezî bir veri tabanı kurmadan yapmak.

Mimari: tasarım gereği merkeziyetsiz

Almanya başlangıçta, karşılaşma verilerinin bir devlet sunucusuna yükleneceği merkezî bir modeli değerlendirdi. Mahremiyet araştırmacılarının katıldığı kamusal bir tartışmanın ardından federal hükûmet Nisan 2020'de Apple ve Google'ın Exposure Notification çerçevesine dayanan merkeziyetsiz bir yaklaşıma geçti. Uygulamayla ilgili en önemli tek şey bu karardır.

Akış, sade bir dille:

  1. Telefonunuz rastgele kimlikler yayınlar. Uygulama, Bluetooth Low Energy ile birkaç dakikada bir değişen, kısa ömürlü ve rastgele üretilmiş kimlikler yayar. Bunlar hiçbir kişisel veri içermez.
  2. Telefonunuz duyduğu kimlikleri kaydeder. Uygulamayı çalıştıran yakındaki telefonlar birbirinin rastgele kimliklerini, sinyal gücü ve süreyle birlikte 14 gün boyunca yerelde saklar.
  3. Pozitif test doğrulanır. Testiniz pozitif çıkarsa sonucu uygulamada paylaşabilirsiniz. Bir doğrulama adımı — laboratuvardan bir QR kod ya da bir çağrı hattından bir TAN — yalnızca gerçek sonuçların yüklenmesini güvence altına alır.
  4. Telefonunuzdan yalnızca anahtarlar çıkar. Uygulama, son dönemdeki rastgele kimliklerinizin türetildiği anahtarları yükler. Konum yok, rehber yok, isim yok.
  5. Her telefon yerelde karşılaştırır. Her uygulama yayımlanan anahtar listesini düzenli olarak indirir ve kaydettiği kimliklerle karşılaştırır. Eşleştirme sunucuda değil, sizin cihazınızda olur.
  6. Risk cihazınızda hesaplanır. Uygulama, yakınlık ve süreden yola çıkarak maruziyet riskinizi tahmin eder ve bir eşiği aşarsa uyarı gösterir.

Sunucu kimin kiminle karşılaştığını hiçbir zaman öğrenmez. Bütün mesele bu.

Açık kaynak neden önemli

Uygulamayı federal hükûmet adına SAP ve Deutsche Telekom geliştirdi ve tüm kaynak kodu — mobil uygulamalar, arka uç, doğrulama sunucusu — lansmandan önce GitHub'da yayımlandı.

Bir geliştirici için bu dikkate değer. Halk uygulamayı kurmadan önce binlerce kişi kodu inceledi, sorun bildirdi ve düzeltme gönderdi. Halk içinse mahremiyet iddialarının inanç meselesi olmaktan çıkıp bağımsız olarak doğrulanabilmesi anlamına geldi. Gönüllü bir uygulamanın benimsenmesi güvene bağlıdır ve açık kaynak, bu güveni kazanmanın en inandırıcı yoludur.

Bilinmesi gereken sınırlar

Uygulama sihirli bir çözüm değil.

  • Bluetooth bir vekildir, bir ölçüm değil. Bir duvarın ya da bir çantanın ardındaki sinyal gücü belirsizdir; hem yanlış pozitifler hem de yanlış negatifler olur.
  • Yaygınlık gerekir. Fayda, kullanıcı tabanının karesiyle büyür; uyarı ancak iki kişi de uygulamayı kullanıyorsa çalışır.
  • Test sonuçlarının bağlanması gerekir. Pozitif bir sonuç, ancak laboratuvar ya da test merkezi onu doğrulanmış bir QR kodla uygulamaya iletebiliyorsa işe yarar; bu da laboratuvar tarafında entegrasyon işi ister. Test kapasitesi büyüdükçe bunun önemli bir başlık olacağını düşünüyoruz.

Yazılım ekiplerinin buradan çıkaracakları

Kendi projelerimize taşıdığımız üç ders:

  1. Mahremiyet bir mimari karardır, bir politika belgesi değil. Merkeziyetsiz model kötüye kullanımı yalnızca yasak değil, teknik olarak imkânsız kılar.
  2. Şeffaflık pazarlamayı yener. Kodu yayımlamak, benimsenme için herhangi bir kampanyanın yapabileceğinden fazlasını yaptı.
  3. Kamu sağlığı yazılımı entegrasyonda yaşar ya da ölür. Uygulama, onu besleyen veri hatları kadar yararlıdır.

Bu son maddeye döneceğiz. Daleenda'da, bir test tesisinin bu ekosisteme bağlanması için nelerin gerektiğine şimdiden bakıyoruz — ve yanıt şu ki, araçlar daha yeni yeni ortaya çıkıyor.

Tüm yazılar

Bu sayfada

Bu, sizin sisteminizi nerede bırakıyor?

Bir yazı bir şeyin nasıl çalıştığını anlatabilir; bunun hâlihazırda işlettiğiniz sistem için ne anlama geldiğini söyleyemez. Satışçıyla değil bir mühendisle otuz dakika ve takip dizisi yok.