Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

#losowosc

Koneser

w Dyskusje

7piorunów

Czy Wszechświat gra w kości? O losowości, determinizmie i granicach poznania

Czy wszystko, co dzieje się we Wszechświecie, było z góry zaplanowane od Wielkiego Wybuchu - czy może rzeczywistość naprawdę rzuca kostką przy każdym kwantowym zdarzeniu?\ Fizyka klasyczna mówi: „nic nie dzieje się przypadkiem”. Mechanika kwantowa odpowiada: „wszystko może się

Sum

w Bezpieczeństwo

7piorunów

Takie tam, gdyby ktoś jeszcze nie wiedział. Stary news ale od jądra 5.18 rozwiązany został problem z brakiem entropii oraz blokowaniem /dev/random

/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 :grinning:

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/20220522214457.37108-1-Jason@zx2c4.com/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

Gruba ryba1piorunów

No a po co ci to ?

Sum0piorunów

@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ć.

Najlepsze wpisy - Hejto.plHejto.pl to społeczność, która dzieli się historiami, artykułami i linkami z sieci. Treść portalu tworzą jego użytkownicy.Hejto.pl
Gruba ryba0piorunów

@felixd rozumiem idę szyfrowania, sam jestem developerem.

Ale pytanie po co, po co mieć takie zaawansowany seed ? Dlaczego zwykły ci nie starcza?

Sum0piorunów

@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 😉 I tak na prawdę to spokojnie wystarczy dobre 256 bitów na początku i masz spokój do końca życia. Resztę już robi CSPRNG (Cryptographically secure pseudorandom number generator). Kwestią jest po prostu mieć te 256 bit z dobrego źródła na starcie.

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_. 
https://duhkattack.com/

Predictable SSH host keys - Raspberry Pi ForumsRaspberrypi
Gruba ryba0piorunów

@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.

Sum0piorunów

@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

FlameIT - Immersion Cooling - Random Bits Providing ServiceFlameit
Gruba ryba0piorunów

@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 :grinning: 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.

Btw. FlameIT -> nie rozumiem, jaki produkt tam oferujecie? Ot zalanie komputera olejem jak to kiedyś dla funu się robiło?
https://www.youtube.com/watch?v=KKYqEROazOA

KOMPUTER CHŁODZONY OLEJEM 💧💧💧 | Tek Testers i Fanboy PART 2👍 Subskrybuj moreleTV ➡️ https://morele.tv/subskrybujLink do koszyka z inspiracją ➡️ https://morele.tv/Komp-w-oleju-koszykZastosowane podzespoły:Gigabyte Ge...YouTube
Sum0piorunów

@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ą.

Sum0piorunów

@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

Sum0piorunów

@Klopsztanga 14 minut na przesłanie 8 GB - słabo ale działa :grinning:

2023/08/28 11:50:57 Request to provide 8388608000 bytes
2023/08/28 11:58:26 Request to provide 512 bytes
2023/08/28 11:58:26 Bytes provided: 512
2023/08/28 12:04:44 Bytes provided: 8388608000

Gruba ryba0piorunów

@felixd dobra, teraz bangla :smiley: Wczesniej nie chcialo sie sciagac 100gb plik. Ani też 10gb

No ale nie odpowiedziales na

>no właśnie tego nie rozumiem :grinning: 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.

Sum0piorunów

@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 :smiley:
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 :smiley:

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 -Ubuntu SMP Tue Jul 11 07:25:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux) https://servertest.online/entropy/20230825-134528-9c3c
* 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.

Entropy and Randomness Test Results - raspberrypi-random_flameit_io.binServertest
Kompan0piorunów

@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...

Sum1piorunów

@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 :smiley:

FlameIT - Immersion Cooling - Random Bits Providing ServiceFlameit
Pokaż więcej komentarzy (20)