Vés al contingut

Entropia (informàtica)

De la Viquipèdia, l'enciclopèdia lliure

En informàtica, l'entropia és l'aleatorietat recollida per un sistema operatiu o aplicació per utilitzar-la en criptografia o altres usos que requereixen dades aleatòries. Aquesta aleatorietat sovint es recull a partir de fonts de maquinari (variància en el soroll del ventilador o HDD), ja sigui de les preexistents, com ara els moviments del ratolí o de generadors d'aleatoris proporcionats especialment. La manca d'entropia pot tenir un impacte negatiu en el rendiment i la seguretat.

Entropia originada pel programari

[modifica]

Nucli Linux

[modifica]

El nucli de Linux genera entropia a partir dels temps del teclat, els moviments del ratolí i els temps d'electrònica de la unitat integrada (IDE) i fa que les dades de caràcters aleatoris estiguin disponibles per a altres processos del sistema operatiu mitjançant els fitxers especials /dev/random i /dev/urandom. Aquesta capacitat es va introduir a la versió de Linux 1.3.30.

Hi ha alguns pedaços del nucli de Linux que permeten utilitzar més fonts d'entropia.[1] El projecte audio_entropyd,[2] que s'inclou en alguns sistemes operatius com Fedora, permet utilitzar dades d'àudio com a font d'entropia. També estan disponibles video_entropyd,[3] que calcula dades aleatòries a partir d'una font de vídeo i entropybroker,[4] que inclou aquests tres i es pot utilitzar per distribuir les dades d'entropia a sistemes que no són capaços d'executar cap d'aquests (per exemple, màquines virtuals). . A més, es pot utilitzar l'algorisme HAVEGE mitjançant haveged per agrupar entropia.[5] En alguns sistemes, les interrupcions de xarxa també es poden utilitzar com a font d'entropia.[6]

Nucli OpenBSD

[modifica]

OpenBSD ha integrat la criptografia com un dels seus objectius principals i sempre ha treballat per augmentar la seva entropia per al xifratge, però també per aleatoritzar moltes parts del sistema operatiu, incloses diverses operacions internes del seu nucli. Al voltant de l'any 2011, dos dels dispositius aleatoris es van deixar caure i enllaçats en una única font, ja que podia produir centenars de megabytes per segon de dades aleatòries d'alta qualitat en un sistema mitjà. Això va fer que l'esgotament de dades aleatòries per part dels programes userland impossible a OpenBSD un cop inicialment s'ha reunit prou entropia.

Solaris

[modifica]

/dev/random i /dev/urandom han estat disponibles com a paquets o pedaços de Sun per a Solaris des de Solaris 2.6,[7] i han estat una característica estàndard des de Solaris 9.[8] A partir de Solaris 10, els administradors poden eliminar fonts d'entropia existents o definir-ne de noves mitjançant el marc criptogràfic a nivell del nucli.

Windows

[modifica]

Les versions de Microsoft Windows més recents que Windows 95 utilitzen CryptoAPI per reunir entropia de manera similar a /dev/random del nucli de Linux.[9]

Entropia originada pel maquinari

[modifica]

Les CPU i el maquinari moderns solen incloure generadors integrats que poden proporcionar entropia d'alta qualitat i alta velocitat als sistemes operatius. En sistemes basats en el nucli Linux, es pot llegir l'entropia generada des d'aquest dispositiu a través de /dev/hw_random.[10] Tanmateix, de vegades /dev/hw_random pot ser lent; [11][12]

Hi ha algunes empreses que fabriquen dispositius de generació d'entropia, i algunes d'elles s'envien amb controladors per a Linux.[13]

Al sistema Linux, es pot instal·lar el paquet rng-tools [14] que admet els veritables generadors de nombres aleatoris (TRNG) que es troben a les CPU que admeten la instrucció RDRAND, els mòduls de plataforma de confiança i en alguns chipsets Intel, AMD o VIA, augmentant eficaçment l'entropia recollida a /dev/random i millorant potencialment el potencial criptogràfic. Això és especialment útil en sistemes sense cap que no tenen altres fonts d'entropia.

Referències

[modifica]
  1. «Robotic Tendencies » Missing entropy» (en anglès). Arxivat de l'original el 2022-12-06. [Consulta: 23 maig 2023].
  2. «audio entropy daemon» (en anglès), 23-03-2021. Arxivat de l'original el 2021-03-23.
  3. «video_entropyd», 23-03-2021. Arxivat de l'original el 2021-03-23.
  4. «Entropy Broker» (en anglès), 29-05-2020. Arxivat de l'original el 2020-05-29.
  5. «haveged – A simple entropy daemon» (en anglès). Arxivat de l'original el 27 octubre 2012. [Consulta: 3 abril 2011].
  6. «Entropy and Random Devices | LinuxLink by TimeSys – Your Embedded Linux Resource» (en anglès). Arxivat de l'original el 2016-04-02. [Consulta: 15 octubre 2007].
  7. «Solaris /dev/random through emulation» (en anglès). Arxivat de l'original el 2007-11-04. [Consulta: 15 octubre 2007].
  8. «Solaris /dev/random» (en anglès). Arxivat de l'original el 2008-05-11. [Consulta: 17 octubre 2007].
  9. Malayter, Ryan. «GPL command-line shred alternative for Windows» (en anglès), 09-11-2001. Arxivat de l'original el 27 octubre 2021. [Consulta: 23 maig 2023].
  10. «'Re: SSL/TLS entropy problem,' - MARC» (en anglès). marc.info. Arxivat de l'original el 2018-11-15. [Consulta: 23 maig 2023].
  11. «Re: /dev/hw_random» (en anglès). Arxivat de l'original el 2007-10-31. [Consulta: 15 octubre 2007].
  12. «Re: /dev/hw_random» (en anglès). Arxivat de l'original el 2007-11-12. [Consulta: 15 octubre 2007].
  13. «Random Noise Sources» (en anglès). Arxivat de l'original el 2007-11-21. [Consulta: 15 octubre 2007].
  14. «rng-tools» (en anglès). Arxivat de l'original el 2007-10-21. [Consulta: 16 octubre 2007].