Programiści bezradni w obliczu wyzwań kryptograficznych
- Computerworld/KB,
- 13.07.2015, godz. 23:41
Autorzy niektórych bibliotek kryptograficznych mają świadomość, że powinny one być dużo prostsze w użytkowaniu. Przykładowo, ubiegłoroczny plan działań dla projektu OpenSSL uwzględniał uproszczenie API i poprawę jakości dokumentacji jako cele do osiągnięcia w kolejnych 12 miesiącach.
O ile Carsten Eiram nie kwestionuje przesadnej złożoności bibliotek kryptograficznych, o tyle nie zgadza się z koniecznością przeprowadzania specjalistycznych szkoleń kryptograficznych wśród programistów.
Zobacz również:
- Indywidualna kryptografia na dobre uniemożliwi współdzielenie kont na Netflixie?
- Szyfrowanie plików, a szyfrowanie dysku - jaka jest różnica?
- Rosja użyła technologii rozpoznawania twarzy. Chce wiedzieć, kto był na pogrzebie Nawalnego
Kryptograficzne API bazujące na językach programowania Java i .NET – najczęściej wymienianych w raporcie Veracode – zostały opracowanie specjalnie na potrzeby twórców oprogramowania, dzięki czemu gwarantują im dostęp do wszelkich funkcji kryptograficznych potrzebnych podczas opracowywania aplikacji. Nie ukrywa jednak, że programiści powinni wiedzieć przynajmniej, na jakiej zasadzie funkcjonują biblioteki kryptograficzne.
Wszystko wskazuje na to, że medal ma dwie strony: rozwiązania kryptograficzne powinny być jak najprostsze w użyciu, a programiści muszą jednocześnie zadbać o własną edukację, zamiast oczekiwać, że ktoś wskaże im drogę i poprowadzi za rękę.
Oprócz niedostatecznej wiedzy na temat kryptografii i wysokiego stopnia złożoności niektórych bibliotek kryptograficznych, niektóre błędy wynikają z zapominalstwa programistów – jak się okazuje, część z nich nie pamięta o konieczności aktywowania zabezpieczeń po przetestowaniu produktu.
Jak się okazuje, twórcy oprogramowania często dezaktywują uwierzytelniania protokołu TLS w środowisku testowym, ponieważ na swoich serwerach testowych nie mają zainstalowanego odpowiedniego certyfikatu. Gdy kończy się faza testowania i produkt jest przekazywany do środowiska produkcyjnego, zapominają o ponownym włączeniu tej funkcji.
W ostatnich latach można było zaobserwować duży nacisk na wdrażanie rozwiązań kryptograficznych w aplikacjach przeznaczonych dla konsumentów i programach tworzonych na potrzeby firm. Była to reakcja na doniesienia medialne o masowej inwigilacji w internecie dokonywanej przez agencje wywiadowcze i coraz częstszych naruszeniach danych. Niewiele uwagi poświęcono jednak kwestii właściwego stosowania technik kryptograficznych, chociaż wiadomo, że szyfrowanie ma ogromne znaczenie i jest oczekiwane przez niemal każdego użytkownika.
Jeżeli problem z szyfrowaniem danych w aplikacjach nie zostanie rozwiązany, istnieje prawdopodobieństwo, że nasze poczucie bezpieczeństwa stanie się wręcz absurdalne. Może dojść do tego, że rozwiązania kryptograficzne będą wszędzie, ale nie będą spełniać swojego zadania – dane użytkowników nadal będą łakomym kąskiem dla potencjalnych intruzów.