/dev/random == /dev/urandom
$ cat /proc/sys/kernel/random/entropy_avail
256
No i git. Co minutę przerobię kilkadziesiąt klatek z CCTV na szum i tym zasilę entropię i będzie gites.
Bądź jak Johnny Mnemonic, tylko w tym przypadku delfin nie pomoże
Czekam jeszcze za sprzętowym generatorem szumu, właśnie jedzie. "Wolny" (100 000 bitów / s) ale .... to jest zdecydowanie, zdecydowanie więcej niż potrzeba.
Do poczytania:
-
https://lore.kernel.org/lkml/[email protected]/T/#u
-
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ac2ab99072cce553c78f326ea22d72856f570d88
-
https://www.theregister.com/2022/03/21/new_linux_kernel_has_improved/
-
https://kernelnewbies.org/Linux_5.18#Security
#bezpieczenstwo #linux #entropia #losowosc #komputery
@felixd To chociaż postaw lawa lampę przed kamerą
@Felonious_Gru Nie ma takiej potrzeby.
100 MB entropii wygenerowane przy użyciu CCTV (Generowało się to przez 24h).
Tak to wygląda.
@felixd potrzeby nie ma, ale zabawka fajna ( ͡° ͜ʖ ͡°)
@Felonious_Gru Równie dobrze można kamerę zasłonić, promieniowanie kosmiczne i tak zrobi swoje
No a po co ci to ?
@Klopsztanga Entropia -> Losowe liczby -> security (bezpieczeństwo) -> kryptografia - CAŁY WSPÓŁCZESNY Internet
Łącząc się ze stroną https://hejto.pl połączenie jest szyfrowane [HTTPS] . Serwer musi wygenerować klucze na czas trwania połączenia (wymiany danych). I to wygenerowanie kluczy musi być bezpieczne. Do tego potrzebne są losowe bity, każdy sewer, każde urządzenie generujące coś losowego musi mieć swoje własne, losowe bity.
Cała rzecz polega na tym, że komputer nie umie w tworzenie losowych rzeczy i trzeba mu w tym pomagać.
@felixd rozumiem idę szyfrowania, sam jestem developerem.
Ale pytanie po co, po co mieć takie zaawansowany seed ? Dlaczego zwykły ci nie starcza?
@Klopsztanga Odpalasz 1000 identycznych VM'ów. Każdy ma identyczny seed. Każda instancja musi np wygenerować na początku parę kluczy SSH dla serwera. Wszystkie instancje generują identyczne klucze.
To nie jest 'zaawansowany' seed tylko prawdziwie losowy
Problemy w przypadku braku dobrego seeda
RaspberryPi (2015 rok): https://forums.raspberrypi.com//viewtopic.php?f=66&t=126892
Raspbian (2015-11-21-raspbian-jessie.zip SHA1: ce1654f4b0492b3bcc93b233f431539b3df2f813) doesn't enable hardware random number generator by default. This causes generation of predictable SSH host keys on the first boot.
I jeszcze ciekawsza rzecz: https://factorable.net/paper.html
DUHK (Don't Use Hard-coded Keys) is a vulnerability that affects devices using the ANSI X9.31 Random Number Generator (RNG) in conjunction with a hard-coded seed key.
@felixd
>@Klopsztanga Odpalasz 1000 identycznych VM'ów. Każdy ma identyczny seed. Każda instancja musi np wygenerować na początku parę kluczy SSH dla serwera. Wszystkie instancje generują identyczne klucze.
to wtedy jako seed korzystasz adres mac, numer seryjny urządzenia, liczysz ilość przerwań, micro-Time, ilość ticków procesora od uruchomienia, jak masz internet - możesz wygenerować seed'a online lub inne unikalne atrybuty urządzenia.
Po prostu robisz to naukowo w homelab albo też dla korpo? Bo dla małych projektów to bez sensu, stąd te pytanie.
I też nie ogarniam jak CCTV ma ci pomóc w opisanej przez ciebie sytuacji. Aby to zadziałało, to 1 serwer musi być serwisem pseudo-randomowości , bo jak wszystkie serwery analizuja w tym samym czasie ten sam obraz, to wyniki będzie taki sam jak bez cctv.
@Klopsztanga Chyba się nie zrozumieliśmy chociaż podałeś po części odpowiedzi.
Powstał jeden serwer, na RPim który jako źródła entropii ma:
-
Wbudowany HWRNG
-
Obraz z CCTV
-
Jutro dojedzie jeszcze zewnętrzny, sprzętowy generator entropii (ten o którym wspomniałem w pierwszym wpisie)
-
+ kilka źródeł z bitami generowanymi przez efekty kwantowe
Kernel Linuxa w tej chwili całkiem przyzwoicie generuje losowe bity z randomowych rzeczy (przerwania, zegary, odczyt z dysku itd) ale czasami potrzebny jest szybko dobry, mały seed.
Et Voilà -> https://random.flameit.io
@felixd babola tam masz
> Maxium 100 GB = 107374182400 bytes)
A tak naprawdę to 1gb max.
> jest szybko dobry, mały seed.
no właśnie tego nie rozumiem
Btw. FlameIT -> nie rozumiem, jaki produkt tam oferujecie? Ot zalanie komputera olejem jak to kiedyś dla funu się robiło?
@Klopsztanga Tak z naciskiem na odzysk ciepła i jego wykorzystanie. Dogrzewamy już domy i baseny
I nie olejem mineralnym/wazelinowym o porządną syntetyczną cieczą.
@Klopsztanga A co do babola.
100 GB to 107374182400 bajtów a to jest 104857600 kilobajtów - no chyba że coś źle policzyłem
https://random.flameit.io/get/ - default amount of bytes (521 bytes -> 4096 bits)
https://random.flameit.io/get/?bytes=107374182400 (Maxium 100 GB = 107374182400 bytes)
If bigger value is provided, default amount of bytes is returned (512 bytes).
1 KB = 1024 bytes = 8192 bits
10 KB = 10240 bytes = 81920 bits
100 KB = 102400 bytes = 819200 bits
1 MB = 1048576 bytes = 8388608 bits
10 MB = 10485760 bytes = 83886080 bits
100 MB = 104857600 bytes = 838860800 bits
1 GB = 1073741824 bytes = 8589934592 bits
10 GB = 10737418240 bytes = 85899345920 bits
100 GB = 107374182400 bytes = 858993459200 bits
@Klopsztanga 14 minut na przesłanie 8 GB - słabo ale działa
2023/08/28 11
2023/08/28 11
2023/08/28 11
2023/08/28 12
@felixd dobra, teraz bangla
No ale nie odpowiedziales na
no właśnie tego nie rozumiem
co generujesz aby był taki level zabezpieczenia ? Jak dla mnie ten serwis się przyda w momencie pierwszego uruchomienia maszyny, by pobrać seed i go zapisać w systemie. A później wszystko inne leci z kernela.
@Klopsztanga Ale jaki level zabezpieczenia? Normalny właśnie, bez zbędnych problemów z tym czy na starcie seed był dobry czy nie. Na starcie pobieram 512 bajtów, wrzucam w /dev/random i wiem że mam dobry seed bez martwienia głowy
A co generuję... no serwer generuje VPN'y i obsługuje ruch po HTTPS
Generuję też czasami klucze OpenPGP.
Update: Właśnie dojechały generatory sprzętowe (2 sztuki zamówiłem). Bomba! Zaraz podłączam do RPi
BTW, te zmiany w Kernelu robił twórca Wireguarda.
Wrzuciłem 8GB właśnie żeby wizualnie też zobaczyć jak wypadają dane z RPi. Proszę.
https://servertest.online/entropy/20230828-142930-3f30
Inne dane:
* Webcam/CCTV Random Number Generator results ~100 MB: https://servertest.online/entropy/20230825-185423-3cdd
* /dev/urandom 4GB (Linux vpn-s 5.4.0-156-generic #173-Ubuntu SMP Tue Jul 11 07
* macOS https://servertest.online/entropy/20230825-132329-7d78
* Quantum Device (1GB file: https://servertest.online/entropy/20230827-115443-4324
Ogarnę zaraz 8GB bitów kwantowych. Znalazłem fajne źródło o dużej przepustowości.
@felixd mmm entropia, moja ulubiona! ile razy w robocie okazywało się że po aktualizacji bezpieczeństwa apka albo wstaje godzinę albo przetwarza coś dwa dni...
@HugeMetalFan https://random.flameit.io - masz rozwiązanie dla darmowych randomowych bitów w nieograniczonej ilości
Właśnie dojechał sprzętowy generator entropii który zaraz podłączę do serwisu.
Wszystko stoi na RPi. W tej chwili entropię dostarcza kamera CCTV + HWRNG wbudowany w RPi + randomowe bity kwantowe (zewnętrzny serwis, uniwerek w EU). Wszystko ładnie się miesza i jest szum
Update. Nie od 5.18 a od 5.6 /dev/random przestał być blokowany i zrównał się z /dev/urandom
Commit: https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32
Zaloguj się aby komentować