Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Podobne dokumenty
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Technologie Informacyjne

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Budowa systemów komputerowych

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Architektura komputerów

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

dr inż. Jarosław Forenc

2 Kryptografia: algorytmy symetryczne

LEKCJA TEMAT: Zasada działania komputera.

Cechy karty dzwiękowej

Bezpieczeństwo kart elektronicznych

Zarys algorytmów kryptograficznych

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

Kryptografia na procesorach wielordzeniowych

Hardware mikrokontrolera X51

1.1. Standard szyfrowania DES

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Authenticated Encryption

Sygnał a informacja. Nośnikiem informacji mogą być: liczby, słowa, dźwięki, obrazy, zapachy, prąd itp. czyli różnorakie sygnały.

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

ANALIZA SYGNAŁÓW PSEUDOLOSOWYCH W PAKIETACH TESTÓW STATYSTYCZNYCH ANALYSIS OF THE PSEUDO RANDOM SIGNALS IN THE STATISTICAL TEST SUITES

ANALIZA WŁAŚCIWOŚCI STATYSTYCZNYCH SYGNAŁÓW PSEUDOLOSOWYCH GENERATORÓW ZBUDOWANYCH NA REJESTRACH PRZESUWNYCH

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara.

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Teoria Informacji - wykład. Kodowanie wiadomości

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Algorytmy zrandomizowane

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

Struktura systemów komputerowych

wiadomość komunikat - informacja Caius Julius Cesar Człowiek zasztyletowany przez senatorów na forum Romanum w Idy Marcowe roku DCCIX ab urbe condita

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Spis treści. Od Wydawcy

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Podstawy Informatyki JA-L i Pamięci

Architektura komputerów

Podstawowe pojęcia. Teoria informacji

Logiczny model komputera i działanie procesora. Część 1.

SSL (Secure Socket Layer)

Pamięci masowe. ATA (Advanced Technology Attachments)

Sławomir Kulesza. Projektowanie automatów synchronicznych

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Architektura systemów informatycznych

BUDOWA KOMPUTERA. Monika Słomian

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

ARCHITEKTURA PROCESORA,

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Bezpieczna poczta i PGP

dr inż. Andrzej Skorupski Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska

Wykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu.

Potrzeba instalacji w napędach SSD akumulatorów ograniczała jednak możliwości miniaturyzacji takich napędów.

Metody obsługi zdarzeń

Opis przedmiotu zamówienia. Dział II CZĘŚĆ 1 DVD

Przerwania, polling, timery - wykład 9

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Nowy klucz jest jedynie tak bezpieczny jak klucz stary. Bezpieczeństwo systemów komputerowych

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Kompresja sekwencji obrazów - algorytm MPEG-2

Liczby losowe w informatyce Filip Piękniewski

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

Dydaktyka Informatyki budowa i zasady działania komputera

!!!!!! FUDO% Architektura%Bezpieczeństwa! % % Warszawa,%28:04:2014%

Kryptoanaliza algorytmu chaotycznego szyfrowania obrazu

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

WSIZ Copernicus we Wrocławiu

Zwiększanie losowości

RAID 1. str w przypadku różnych szybkości cała macierz będzie pracowała z maksymalną prędkością najwolniejszego dysku

WYKORZYSTANIE PAKIETU TESTÓW STATYSTYCZNYCH NIST STS DO TESTOWANIA SEKWENCJI GENERATORÓW DLFSR

Oscyloskop. Dzielnik napięcia. Linia długa

RZECZPOSPOLITA OPIS PATENTOWY POLSKA PATENTU TYMCZASOWEGO

Projektowanie systemów za pomocą języków wysokiego poziomu ESL

Układy kombinacyjne - przypomnienie

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

bity kwantowe zastosowania stanów splątanych

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP SZKOLNY BIAŁYSTOK, 22 LISTOPADA 2017 R.

Podstawy Informatyki. Michał Pazdanowski

Ćw. 7: Układy sekwencyjne

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Transkrypt:

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera Praca dyplomowa magisterska Opiekun: prof. nzw. Zbigniew Kotulski Andrzej Piasecki apiaseck@mion.elka.pw.edu.pl

Plan prezentacji 1. Motywacja 2. Wprowadzenie 3. Architektura generatora 4. Analiza dysku twardego jako źródła entropii 5. Pytania

Motywacja Losowość jest niezbędnym elementem kryptografii Proces generowania kluczy Twórcy algorytmów, protokołów kryptograficznych często zakładają dostępność nieskończonego strumienia bitów losowych Każda sesja TLS wymaga 384 bitów losowych Wygenerowanie klucza 1024 bitowego do RSA wymaga statystycznie ok. 100 200 Kb.

Entropia Entropia jest to średnia ilość informacji przypadająca na znak symbolizujący zajście zdarzenia z pewnego zbioru. Zdarzenia w tym zbiorze mają przypisane prawdopodobieństwa wystąpienia. H ( x) = n p( i)log r i= 1 p( i) W teorii informacji najczęściej stosuje się logarytm o podstawie r=2, wówczas jednostką entropii jest bit. Entropię można interpretować jako niepewność wystąpienia danego zdarzenia elementarnego w następnej chwili. 1

Wymagania stawiane generatorom bitów losowych nieprzewidywalny nie wiadomo czy następnym bitem będzie 1 v 0 bezstronny 0 i 1 są jednakowo prawdopodobne niezależny bity są nieskorelowane

Podział generatorów bitów losowych Deterministyczne - DRBG Wykorzystują deterministyczne algorytmy do wygenerowania pseudolosowej sekwencji bitów z wejściowej, losowej sekwencji bitów nazywanej ziarnem Niedeterministyczne - NRBG Wykorzystująźródła entropii, z których pobierana jest odpowiednia ilość entropii, potrzebna do wygenerowania z niej, algorytmami deterministycznymi, losowej sekwencji bitów.

Schemat NRBG

Źródła entropii Sprzętowe Czas między emisjami cząsteczek w czasie rozpadu radioaktywnego Szum termiczny diody półprzewodnikowej lub rezystora Niestabilność częstotliwości własnej oscylatora Turbulencje powietrza w zamkniętym napędzie dyskowym, powodujące losowe fluktuacje czasów oczekiwania na odczyt/zapis danych Dźwięk z mikrofonu lub sygnał wizyjny z kamery Czas między uderzeniami w klawisze (użytkownik) Ruch myszy (użytkownik) Programowe Zegar systemowy Treść aktualnie wyświetlanego obrazu. Statystyki systemu operacyjnego Zawartość pamięci podręcznej procesora

Analiza dysku twardego jako źródła entropii Zasada pozyskiwania entropii Zapisujemy na dysk twardy blok danych o określonym rozmiarze. Turbulencje powietrza w napędzie dyskowym, drgania głowicy czy losowość zawarta w samym systemie operacyjnym powodują pewne odchylenia od wartości oczekiwanej. Dwa tryby zapisu write-through natychmiastowy bloku danych na dysk write-back najpierw dane zapisywane do pamięci podręcznej następnie na dysk

Czas zapisu (najmłodsze 16 bitów) 1000 bajtowego bloku danych mierzony w taktach procesora czasy zapisu 10000 1000 100 10 1 10000 20000 30000 40000 czas [cykle procesora]

Czas zapisu (najmłodsze 12 bitów) 1000 bajtowego bloku danych mierzony w taktach procesora 6000 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 czas [cykle procesora]

Czas zapisu (najmłodsze 8 bitów) 1000 bajtowego bloku danych mierzony w taktach procesora 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249

Czas zapisu (najmłodsze 8 bitów) 1000 bajtowego bloku danych mierzony w taktach procesora 40500 40000 39500 39000 38500 38000 37500 37000 36500 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249

Czas zapisu (najmłodsze 16 bitów) 500 bajtowego bloku danych mierzony w taktach procesora Dysk nieobciążony wartość średnia = 13539 10000 1000 100 10 1 6000 11000 16000 21000 26000 31000 36000

Czas zapisu (najmłodsze 16 bitów) 500 bajtowego bloku danych mierzony w taktach procesora Dysk obciążony 2MB/s wartość średnia = 23891 100000 10000 1000 100 10 1 6000 11000 16000 21000 26000 31000 36000

Korelacja próbek 140000 120000 100000 80000 60000 40000 20000 0 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 309 323 337 351 365 379 393 407 421 435 449 463 477 491

Korelacja próbek 35000 33000 31000 29000 27000 25000 23000 21000 19000 17000 15000 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031323334353637383940414243444546

Korelacja kolejnych wartości modulo 256 250 200 150 100 50 0 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 309 323 337 351 365 379 393 407 421 435 449 463 477 491

Kontrola losowości bitów kompresja bezstratna Ciąg losowy nie zawiera nadmiarowości. testy statystyczne DIEHARD Crypt-XS NIST Statistical Test Suite

Szybkość źródła Dla bloku 1000 bajtów Średni czas zapisu 34000 cykli zegara ok. 20µs 8 bitów na 20µs => 400 Kb / s Dla bloku danych 160 bajtów Średni czas zapisu 6400 cykli zegara 6 bitów 4µs => 1,5 Mb/s

Zbyt mała długość bloku danych 10000000 1000000 100000 10000 1000 100 10 1 0 10000 20000

Kalibracja generatora Dobór rozmiaru bloku zapisywanego na dysk w zależności od szybkości dysku Podatne na manipulację Obciążenie dysku przez napastnika podczas kalibracji spowoduje wybranie zbyt krótkiego bloku danych Kalibracja online Wyliczając z N poprzednich próbek średni czas zapisu zmieniamy rozmiar bloku danych.

Testy źródła entropii Test źródła entropii ma na celu sprawdzanie czy źródło generuje bity z niezerową entropią Test jest w stanie wykryć jedynie awarię źródła. Najbardziej skomplikowane testy nie są w stanie wykryć przejęcia kontroli nad źródłem przez napastnika

Wybór funkcji przejścia Pozbycie się wzajemnej korelacji próbek Przeplot Szyfrowanie algorytmami symetrycznymi

Funkcja generująca wyjście Jednokierunkowa funkcja skrótu Oddziaływanie na bity losowe jednokierunkową funkcją skrótu powiększa entropię w stosunku do entropii wejściowej Jeżeli na wejściu j.f.s. podamy ciąg bitów którego łączna entropia jest większa od rozmiaru wyjściowego ciągu bitów j.f.s, to entropia każdego z wyjściowych bitów będzie równa 1

Test generatora sprawdzenie czy generowane bity rzeczywiście są losowe kompresja bezstratna testy statystyczne DIEHARD Crypt-XS NIST Statistical Test Suite

Dziękuje za uwagę