RODO to taki szablon, który podpisujemy albo klikamy zgadzając się na coś, czego nawet nie przeczytaliśmy. A co, może nie?

Warunki brzegowe

W praktyce wszystko śmiga, dopóki nie przestanie. Z wczoraj na dzisiaj OKNO PW przestało śmigać - dane 5000 studentów, jakiejś liczby aplikujących i 200 pracowników wyciekły. Jak były chronione? Skoro wyciekły, to pewnie słabo. Ale nie w tym rzecz - przechowywane były jako otwarty tekst. Dane adresowe, dane wrażliwe, numer PESEL… O konsekwencjach boję się dywagować. Temat zaczął się w portalach specjalistycznych ale szybko zaczął być powtarzany w mediach głównego nurtu. Przy okazji można też przyjrzeć się jak wygląda zarządzanie kryzysem.

Mniej więcej w tym samym czasie parlament debatuje nad ustawą z dnia 16 kwietnia 2020, opracowywaną na potrzeby chwili (czyli COVID-19… 84). Debatuje w kontekście wyborów, oczywiście, bo Art. 76a. 1. chyba nie jest tak atrakcyjny medialnie:

“Uczelnia może zorganizować weryfikację osiągniętych efektów uczenia się określonych w programie studiów, w szczególności przeprowadzać zaliczenia i egzaminy kończące określone zajęcia oraz egzaminy dyplomowe, poza siedzibą uczelni lub poza jej filią z wykorzystaniem technologii informatycznych zapewniających kontrolę ich przebiegu i rejestrację.”

Przykład idzie z góry więc Wydział Elektryczny jest nie tylko gotowy na wprowadzenie tych zapisów w życie ale już zaczął to robić. Zatem, gdy Ustawa będzie opublikowanym w Dzienniku Ustaw i mającym skutki aktem prawnym, my już będziemy działać zgodnie z tym prawem. W dokumencie wewnętrznym z dnia 29 kwietnia “PD_213_PL.pdf” - “Zasady przeprowadzania egzaminu dyplomowego zdalnie” można przeczytać:

Kontrola efektów uczenia się może być prowadzona wyłącznie w narzędziach, które zapewniają spełnienie warunku Art. 76a. 1. Ustawy z dnia 16 kwietnia 2020 r.

Wytyczne zawarte w “PD_352 Egzaminy zdalne - zasady i dobre praktyki.pdf” są bardziej szczegółowe:

Pełna sesja egzaminu dyplomowego jest nagrywana w aplikacji MS Teams. Po zakończeniu egzaminu nagranie powinno być oznaczone nazwą: nazwsko_imie_nr_indeksu_rok_miesiac_dzien_egzaminu.mp4 i przekazane na serwer wydziałowy wskazany przez dziekanat.

W poleceniu służbowym (bo tym są dokumenty PD) chodzi o nagranie audiowizualne a więc zawierające dane biometryczne (obraz twarzy i dźwięk głosu, zachowanie, emocje) które z definicji są danymi wrażliwymi. Te “dobre praktyki” w praktyce okazują się koniecznym wymogiem, jeśli ktoś chce zrealizować obronę zdalną.

Analizując temat na chłodno można zapytać: czy da się zrealizować wymogi ustawowe (tej Ustawy, która dopiero będzie) i wewnętrzne zarządzania ale pozostać w zgodzie z RODO, szanując prywatność nagrywanych i zapewnić bezpieczeństwo zgromadzonych danych?

Realizacja

Odpowiedzi na postawione wyżej pytanie można udzielić jednym słowem: szyfrowanie. Rozwiązanie, jakże by inaczej, znalazłem na nieocenionym stacku.

Załóżmy, że mamy plik, na przykład “standby.mp4” i chcemy go zaszyfrować jako “encrypted.mp4”. W praktyce, w systemie GNU/Linux wystarczy jedno polecenie:

$ ffmpeg -i standby.mp4 -vcodec copy -acodec copy -encryption_scheme cenc-aes-ctr -encryption_key 11223344556677889900112233445566 -encryption_kid 11223344556677889900112233445566 encrypted.mp4

Oczywiście, trzeba pamiętać o samodzielnym ustawieniu wartości klucza encryption_key. Wartość encryption_kid jest identyfikatorem klucza, gdyby szyfrowany plik miał być dystrybuowany w oparciu o serwery DRM.

Taki plik jest w pełni funkcjonalnym plikiem MP4:

$ file encrypted.mp4 
encrypted.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]

Można go odtworzyć, tylko jeśli ma się klucz. Klucz ten oczywiście powinien być dostępny wyłącznie osobie uprawnionej, która chce ten plik przetwarzać zgodnie z obowiązującym prawem.

$ ffplay encrypted.mp4 -decryption_key 11223344556677889900112233445566

Próba odtworzenia bez klucza kończy się serią błędów:

$ mpv encrypted.mp4

Playing: encrypted.mp4
 (+) Video --vid=1 (*) (h264 768x576 25.000fps)
 (+) Audio --aid=1 --alang=und (*) (aac 2ch 48000Hz)
[ffmpeg/video] h264: SEI type 193 size 1360 truncated at 535
[ffmpeg/video] h264: A non-intra slice in an IDR NAL unit.
[ffmpeg/video] h264: decode_slice_header error
[ffmpeg/video] h264: no frame!
Error while decoding frame!
[ffmpeg/audio] aac: Number of bands (9) exceeds limit (7).
Error decoding audio.

Dla dociekliwych, ffplay bez klucza daje podobny rezultat ale mpv ładniej wykazuje, że faktycznie jest to plik audio-video o takiej a takiej rozdzielczości.

Mam nadzieję, że wszystkim uda się sprostać obecnym wymaganiom i nie przypadnie nam rola pionierów wycieku nagrań video obron pracy dyplomowych.

Bibliografia

  1. https://zaufanatrzeciastrona.pl/post/powazny-wyciek-wielu-danych-osobowych-studentow-politechniki-warszawskiej/
  2. https://stackoverflow.com/questions/44939166/ffmpeg-how-to-produce-mp4-cenc-common-encryption-videos