TechLife devBlog

Wrzesień 2010

GIODO a serwis internetowy

Internet, Techblog 22 września 2010 23:02

Notka poświęcona osobom, które chcą stworzyć serwis internetowy zgodny z wytycznymi GIODO. Uwaga, dla osób postronnych notka może objawić się jako absurdalny bełkot.

Jak stworzyć serwis internetowy, na którym GIODO-mucha nie siada? Nie mam pojęcia! Ale mam nadzieję, że razem uda nam się coś wypracować. Aby przejść podstawowy tutorial absurdu należy zapoznać się z 8 minutowym filmem, stworzonym przez lookr.tv, na którym Generalny Inspektor Ochrony Danych Osobowych, niczym profesor Miodek odpowiada na pytania zatroskanych internautów:

[...] no ja takiego problemu proszę Państwa nie mam, dlatego że wiem, że definicja dotycząca tego co jest daną osobową jest definicją otwarta [...] dlatego każdy przypadek należy dokładnie analizować, czy informacja jest daną osobową czy też nie.

Mnie również cieszy, że wszystkie kwestie zostały już dogłębnie wyjaśnione. W końcu od tego jest ten Pan, od tego on jest, od tego jest on.

[...] tak rzeczywiście, zgadza się, informacje które wymagają dużego nakładu czasu i pracy nie uważa się za dane osobowe, aczkolwiek należy zawsze pamiętać o tym, że dla mnie jakieś informacje mogą powodować, że będę musiał użyć dużego nakładu czasu i pracy, natomiast dla kogo innego to będzie bardzo proste aby powiązać te informacje z konkretną osobą i o tym proszę zawsze pamiętać.

Wiec jeżeli konkurs ortograficzny wygra Gniewomir z Kozich piętek, a mieszkańcy Kozich piętek będą doskonale wiedzieli, że w ich miejscowości mieszka tylko jeden Gniewomir to z ich punktu widzenia będzie to oczywista publikacja danych osobowych. Zły przykład? Więc weźmy numer IP Gniewomira. Dla większości ludzi na świecie będzie to nic nie mówiący numer, ale nie dla ISP-a z Kozich piętek, który dostarcza internet całym 3 osobom. Bez większych trudności ustali kto kiedy korzystał z danego IP-ka.

[...] rzeczywiście my stwierdzamy, że co do zasady IP komputera jest daną osobową, ale są wyjątki, które powodują, że w pewnych momentach nie można uznać IP komputera za dane osobowe [...]

Tutaj mamy w działaniu zasadę łaskawego wykluczenia, czyli na wszelki wypadek wszystkie numery IP trzeba traktować jako dane osobowe, ale dzięki łasce naszego prawa będziemy mogli zignorować 5 adresów IP, co do których jesteśmy pewni, że nie są to dane osobowe. Oczywiście pozwoli to oczywiście na znaczne oszczędności w nakładach na ochronę danych osobowych.

Mało Wam jeszcze? Nie ma problemu - temat rzeka.

Zajrzyjmy np. w ten zakamarek strony GIODO. Można tutaj wyłowić takie coś:

dostawcy usług internetowych oraz menedżerowie lokalnych sieci mogą, stosując rozsądne środki, zidentyfikować użytkowników internetu, którym przypisali adresy ip ponieważ systematycznie zapisują w plikach daty, czas trwania oraz dynamiczny adres IP (czyli ulegający zmianie po każdym zalogowaniu) przypisany danej osobie. To samo odnosi się do dostawców usług internetowych, którzy prowadzą rejestr (logbook) na serwerze HTTP Nie ma wątpliwości, że w takich przypadkach można mówić o danych osobowych, w rozumieniu art. 2 Dyrektywy

Macie Apache z włączonym logowaniem połączeń? Gratulacje, jesteście szczęśliwymi posiadaczami bazy danych osobowych. Na szczęście podobno logi są zwolnione z obowiązku rejestracji zgodnie z zasadą przetwarzania ich "w zakresie drobnych bieżących spraw życia codziennego". [źródło]

Po więcej można sięgnąć do dokumentu ABC zagrożeń bezpieczeństwa danych osobowych w systemach teleinformatycznych (na samym dole). Z tego dokumentu głoszącego radosną nowinę możemy szybko dowiedzieć się, że również adres e-mail może (ale nie musi (i co że nie musi?!)) być daną osobową. Mój e-mail - tomasz // karbownicki.com - z pewnością można uznać za daną osobową. Natomiast na stronie 24 dowiemy się, że również nick może być daną osobową, bo jeżeli ktoś podpisze się jako "Gniewomir z Kozich piętek" to mamy daną jak w mordę strzelił. Nawet jeżeli ktoś podpiszę się (nick) jako "Adam Kowalski z Opola, ul. Krakowska 907/34" i nie mamy pojęcia czy taka osoba w ogóle istnieje to i tak należy uważać to za daną osobową, do momentu aż będziemy wiedzieli, że taka osoba nie istnieje. Wówczas możemy z czystym sumieniem wykluczyć taką daną z naszego zbioru ściśle chronionych danych osobowych, dzięki czemu oszczędzimy oczywiście góry złota i lata pracy.

Ale wróćmy do budowy serwisu internetowego. Skoro wiemy już, że niemal wszystko co wpisze użytkownik może być daną osobową, możemy przystąpić do projektowania serwisu z uwzględnieniem mechanizmów ochrony danych osobowych. Oczywiście nawet jak użytkownik nic nie wpisze tylko wejdzie na stronę to i tak mamy jego IP w logu Apache'a, wiec za wiele do szczęścia nie trzeba (-;

Na początek musimy mieć serwer posiadający odpowiedni certyfikat, że spełnia on wszystkie wymogi wynikające z przepisów i jest gotowy do przechowywania na nim danych osobowych. Kiedy już znajdziemy taki serwer czas powitać "Wymagania dotyczące struktur baz danych osobowych oraz funkcjonalności zarządzających nimi aplikacji".

Art. 32 ust. 1 pkt. 5 w powiązaniu z §7 ust. 1 pkt. 4 rozporządzenia, stawia w odniesieniu do struktury bazy danych oraz aplikacji zarządzającej zbiorem danych osobowych wymaganie posiadania opcji umożliwiającej rejestrację daty, zakresu i sposobu udostępniania danych odbiorcom (w myśl art. 6 pkt. 7 ustawy), jeśli konieczność takiego udostępnienia wynika z przepisów prawa lub jest przewidziana przez administratora danych.

Jest to jak dla mnie najbardziej niedorzeczna część, która może sprawić, że mechanizmów tych będzie tyle samo co pozostałej części serwisu! Bo jeżeli nick może być daną osobową, to musimy zarejestrować każde udostępnienie komuś nicka. Załóżmy, że mamy widok strony głównej forum, gdzie obok tematów mamy nicki autorów ostatniego posta w wątku.

Forum ArchLinux

Wówczas każde odświeżenie strony wiąże się z koniecznością odnotowania w logu tego, że o godzinie XX:YY panu A zostały udostępnione dane: nick pana B, nick pana C, nick pana D ... Nie wspominając już o bardziej skomplikowanych stronach składających się z różnych elementów, z których każdy może zwierać dane osobowe. Dajmy na to stronę główna joggera.

Jogger - główna

Mamy tam listę najnowszych wpisów wraz z nickami autorów, najpopularniejsze wpisy razem z nickami autorów oraz najczęściej komentowane wpisy razem z nickami autorów. Teraz wyobraźmy sobie, że każdy taki element generuje jednego inserta do loga udostępniania danych osobowych i już mamy 3 inserty do bazy na każde odświeżenie strony (-: Nawet nie myślcie o bardziej skomplikowanych portalach :D Dołóżmy to, że każda zmiana w szablonie, która wprowadza wyświetlenie się np. nicka, e-maila wiąże się z odpowiednią modyfikacją mechanizmu logującego udostępnianie danych. Tym sposobem szybko odechce się każdemu tworzenia nowych widoków.

Na koniec zajrzyjmy jeszcze do "ABC zagrożeń bezpieczeńswtwa ...". Na stronie 85 znajdziemy rozdział "Zabezpieczenie elektronicznych formularzy". Na stronie 86 znajdziemy takie zdanie:

Ponadto transmisja danych między systemem administratora a komputerem rejestrującego się użytkownika powinna być zabezpieczona przy użyciu kryptograficznych środków ochrony danych (np. poprzez zastosowanie protokołu SSL).

O ile dobrze rozumiem to jeżeli przesyłamy do systemu swoje dane osobowe musimy tą transmisję zabezpieczyć np. poprzez SSL. Zestawmy to teraz z innymi danymi osobowymi, którymi jak wiemy mogą być np. adresy e-mail. Czy każdy formularz subskrypcji newslettera musi iść po SSL-u? Czy każdy formularz do napisania komentarza gdzie przesyłamy swój nick (dana osobowa) musi iść po SSL-u?

Chciałem zebrać dzisiaj wszystkie informacje niezbędne do postawienia serwisu zgodnego z GIODO. Niestety poległem :-( Z moich dotychczasowych ustaleń wynika, że nakład pracy potrzebny na ochronę danych osobowych sprawia, że zadanie stanie się niewykonalne. Dlatego będę wdzięczny za wszelkie informacje od Was dotyczące tego tematu. Może ktoś z Was postawił już coś takiego jak serwis zgodny z GIODO lub przynajmniej przeszedł kontrolę i wie co można olać...

PS. Proszę nie komentować tej notki bo formularz nie ma SSL-a a ja nie jestem pewien czy serwerownia Joggera ma odpowiednie certyfikaty ;-)