Zaɓi Harshe

Mai Samar da Kalmar Sirri Mai Tsaro Wanda Ya Dogara da Mai Samar da Lambobi Na Karya (PRNG)

Wannan takarda ta gabatar da mai samar da kalmar sirri mai tsaro ta amfani da PRNG na tushen HMAC, CMAC, ko KMAC, wanda aka tabbatar da shi ta hanyar gwajin entropy na NIST SP 800-90B da gwajin IID.
computationalcoin.com | PDF Size: 0.5 MB
Kima: 4.5/5
Kimarku
Kun riga kun ƙididdige wannan takarda
Murfin Takardar PDF - Mai Samar da Kalmar Sirri Mai Tsaro Wanda Ya Dogara da Mai Samar da Lambobi Na Karya (PRNG)

Tsarin Abubuwan Ciki

1. Gabatarwa

Rahotanni na ci gaba na ɓarkewar asusun yanar gizo da kalmomin sirri suna nuna mahimmancin muhimmanci na tsaro na bayanai da kalmomin sirri. Duk da cewa raunin yanar gizo wani abu ne, amma tsaron kanta kalmar sirri yana da mahimmanci. Ayyukan kalmomin sirri marasa tsaro na gama gari sun haɗa da kalmomin sirri na tushen maɓalli, amfani da jimloli shahararrun, haɗa bayanan sirri, da sake amfani da kalmar sirri. Haɓakar AI da manyan samfuran harshe suna ƙara ƙarfafa masu kai hari don yin hasashen kalmomin sirri da kyau.

Wannan binciken ya gabatar da mai samar da kalmar sirri mai tsaro wanda ya dogara da Masu Samar da Lambobi Na Karya (PRNG) masu tsaro na sirri. Yana gina PRNG ta amfani da Lambar Tabbatar da Saƙon Hash Mai Maɓalli (HMAC), Lambar Tabbatar da Saƙon Tushen Cipher (CMAC), ko Lambar Tabbatar da Saƙon KECCAK (KMAC) don samar da lambobi masu bazuwar masu tsaro, waɗanda ake amfani da su don samar da kalmomin sirri. Bazuwar lambobin da aka samar ana tabbatar da su bisa ga ma'aunin NIST SP 800-90B ta hanyar gwajin entropy da gwajin Masu Rarraba Masu Zaman Kansu da Irin Su (IID).

Gudummawar Maɓalli:

2. Bita na Adabi

2.1. Mai Samar da Lambobi Na Karya (PRNG) na Tushen Linear Congruential Generator

Ana amfani da shi a cikin harsuna kamar C da Java, LCGs suna samar da jerin lambobi ta amfani da alaƙar maimaitawa ta layi. Idan aka ba da iri $k$, ana ƙididdige ƙimar farko $f_0(k)$ a matsayin $f_0(k) \equiv a \oplus k \ (\text{mod} \ m)$. Ana samar da lambobi na gaba ta $f_i(k) \equiv a \times f_{i-1}(k) + c \ (\text{mod} \ m)$. Duk da haka, LCGs ba su da tsaro kamar yadda za a iya juyar da yanayin ta amfani da $f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$, yana fallasa iri da dukan jerin.

2.2. Mai Samar da Lambobi Na Karya Mai Tsaro

Don magance raunin LCG, PRNG masu tsaro na sirri suna da mahimmanci. Wannan takarda ta mai da hankali kan gine-gine uku da NIST ta ba da shawarar.

2.2.1. PRNG na Tushen HMAC

Tsaro ya dogara da kaddarorin hanyar hash guda ɗaya (misali, SHA2, SHA3). Don maɓalli $k$ da saƙo $M$, ana ƙididdige HMAC a matsayin $r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$, inda $ipad$ da $opad$ su ne madaidaicin. Don samar da dogon raƙuman bit, ana amfani da yanayin ƙidaya: $M_i = i \ || \ KDF \ || \ 0x00 \ || \ M \ || \ L$, yana samar da fitarwa $r_{hmac,i}$.

2.2.2. PRNG na Tushen CMAC

Tsaro ya dogara ne akan Ma'aunin ɓoyayyen Rubutu na Ci gaba (AES). Ta amfani da yanayin Cipher Block Chaining (CBC) tare da maɓalli $k$, ana raba saƙon $M$ zuwa tubalan $M'_1, M'_2, ...$. Ana ƙididdige rubutun ɓoyayyen a jere: $c_{i+1} = AES(k, c_i \oplus M'_{i+1})$, tare da $c_0 = Pad0(0)$. Ana samun fitarwa ta ƙarshe $r_{cmac}$ daga tullun ƙarshe.

2.2.3. PRNG na Tushen KMAC

Ya dogara ne akan aikin hash SHA-3 (KECCAK), KMAC yana ba da fitarwa mai tsayi daban-daban kuma ana ɗaukarsa ɗan takara mai ƙarfi don sirri bayan quantum. Gininsa yana bin ƙa'idar hash mai tabbatarwa mai kama, yana ba da garantin tsaro mai girma.

2.3. Hanyoyin Tabbatar da Bazuwar

Ma'aunin NIST SP 800-90B yana ba da hanyoyin tantance ingancin masu samar da lambobi masu bazuwar. Ana kimanta bangarori biyu masu mahimmanci:

3. Mai Samar da Kalmar Sirri Mai Tsaro da Aka Gabatar

Tsarin tsarin ya ƙunshi manyan matakai biyu:

  1. Samar da Lambobi Masu Bazuwar Mai Tsaro: Mai amfani zai iya ba da Saƙon Da Zai Yi Hash (TBHM) a zaɓi. Wannan, tare da maɓalli na sirri, ana sarrafa shi ta zaɓaɓɓen PRNG mai tsaro (na tushen HMAC/CMAC/KMAC) don samar da jerin bit masu ƙarfi na sirri.
  2. Samar da Kalmar Sirri: Ana sanya bit ɗin bazuwar akan saitin haruffa da mai amfani ya ayyana ko tsarin tsarin ya ayyana (misali, lambobi da haruffa tare da alamomi) na ƙayyadadden tsayi don samar da kalmar sirri ta tushen rubutu na ƙarshe. Ana nazarin ƙarfin tsaro dangane da AES-128/256, la'akari da entropy da saitin haruffa da tsayin kalmar sirri ke bayarwa.

4. Gwaje-gwaje da Sakamako

4.1. Tsarin Gwaji

An gudanar da gwaje-gwaje don tabbatar da bazuwar fitarwar PRNG. Tsarin gwajin ya aiwatar da hanyoyin kimanta NIST SP 800-90B don kimanta entropy da gwajin IID akan manyan samfuran lambobi masu bazuwar da aka samar daga dukkan nau'ikan PRNG guda uku.

4.2. Sakamakon Tabbatar da Bazuwar

Taƙaitaccen Sakamako: Duk PRNG na tushen HMAC, CMAC, da KMAC da aka gabatar sun yi nasarar wuce gwajin tabbatar da entropy na NIST SP 800-90B da gwajin IID. Jerin da aka samar ba su nuna wani bambanci mai mahimmanci a ƙididdiga daga bazuwar gaskiya ba, yana tabbatar da dacewarsu don samar da kalmar sirri na sirri.

Bayanin Chati (Tunani): Chati na sanduna da ke kwatanta ƙididdigar ƙananan entropy (a cikin bit a kowane bit) don nau'ikan PRNG guda uku da kuma ƙofar wucewa ta NIST. Za a nuna duk sanduna uku a sama da layin ƙofar, tare da KMAC mai yuwuwar nuna mafi girman ƙima, HMAC-SHA3 da CMAC-AES256 suna biye da kusa.

4.3. Nazarin Aiki

An yi nazarin kwatankwacin ingancin lissafi (misali, samarwa a kowane daƙiƙa). Masu samarwa na tushen CMAC (ta amfani da haɓakar kayan aikin AES-NI) yawanci suna nuna mafi girman kayan aiki, sannan na tushen HMAC (SHA2/SHA3), tare da KMAC yana da nauyin lissafi amma yana ba da kaddarorin tsaro mai ƙarfi bayan quantum.

5. Ƙarshe da Ayyukan Gaba

Wannan binciken ya yi nasarar ƙira da tabbatar da mai samar da kalmar sirri mai tsaro wanda aka gina akan PRNG masu tsaro na sirri (HMAC, CMAC, KMAC). Kalmomin sirri da aka samar sun sami tsaronsu daga tabbataccen ƙarfi na waɗannan tushen sirri na asali da kuma ingantaccen babban bazuwar na fitarwar PRNG. Aikin gaba ya haɗa da haɗa mai samarwa cikin ƙari na burauza ko manajoji na kalmomin sirri, bincika amfani da shi wajen samar da maɓallan sirri fiye da kalmomin sirri, da gudanar da nazarin juriyar kai hari na gefe akan cikakken tsarin.

6. Nazari na Asali & Sharhin Kwararru

Fahimta ta Asali: Wannan takarda amsa ce mai aiki, mai mai da hankali kan injiniya ga madaidaicin mahaɗin rauni a cikin tsaron yanar gizo: kalmomin sirri da mutum ya zaɓa. Ƙimar sa ta asali ba ta cikin sabon sirri ba amma a cikin aikace-aikacen daidai da tabbatarwa mai tsanani na abubuwan da aka riga aka gwada yaƙi (HMAC, CMAC, KMAC) don takamaiman amfani mai tasiri. Ya gano daidai cewa motsa samar da kalmar sirri daga kwakwalwar mai amfani zuwa ingantaccen tsarin sirri shine haɓakar tsaro na asali, kamar canji daga sirri mai daidaituwa zuwa mara daidaituwa don musayar maɓalli.

Kwararar Hankali: Hankali yana da inganci kuma yana bin tsarin bincike mai amfani na gargajiya: ma'anar matsala (kalmomin sirri masu rauni) → sukar mafita na gama gari (LCG marasa tsaro) → gabatarwar ingantacciyar mafita (mai samarwa na tushen CSPRNG) → tabbatarwa ta hanyar gwaji (gwaje-gwajen NIST). Zaɓin NIST SP 800-90B a matsayin ma'auni na tabbatarwa yana da kyau sosai, domin shine ma'auni na gaskiya don kimanta bazuwar a cikin mahallin sirri, yana ba da amincin nan take ga sakamakon.

Ƙarfi & Kurakurai:
Ƙarfi: Babban ƙarfin takardar shine tabbatarwa mai aiki. Yawancin shawarwari suna tsayawa a lokacin ƙira. Ta hanyar sanya sakamakon ga gwaje-gwaje masu tsauri na NIST, marubutan sun ba da shaida ta zahiri na tsaro, wanda ke da mahimmanci don karɓa. Haɗa KMAC, bisa SHA-3, yana nuna hangen nesa game da la'akari bayan quantum, kamar yadda aka lura a cikin ci gaba da daidaitawa na sirri bayan quantum na NIST.
Kurakurai/Rashi: Nazarin yana da ɗan keɓe. Babban aibi shine rashin tattaunawa kan sarrafa iri. Tsaron kowane PRNG yana rushewa idan irinsa yana da hasashe ko ya ɓace. Ta yaya tsarin ke samarwa, adanawa, da kare maɓallin sirri na farko don HMAC/CMAC/KMAC? Wannan yana da mahimmanci kamar algorithm ɗin kanta. Bugu da ƙari, duk da kwatanta ƙarfin kalmar sirri da AES yana da amfani, kwatanta kai tsaye da masu samar da kalmar sirri na yanzu (kamar waɗanda ke cikin KeePass ko 1Password) da PRNG ɗin su na asali (misali, ta amfani da ChaCha20) zai ba da mafi kyawun mahallin don fa'idar gasa.

Fahimta Mai Aiki: Ga masu aikin tsaro, wannan takarda tana aiki azaman tsari. Aiki 1: Nan da nan kaƙe duk wani amfani da LCGs ko makamantansu na RNG marasa sirri (kamar `rand()`) don ayyuka masu mahimmanci na tsaro. Aiki 2: Lokacin gina ko bincika mai samar da kalmar sirri, abubuwan daftarin aiki na farko su zama: 1) Yi amfani da CSPRNG (HMAC_DRBG, CTR_DRBG daga NIST SP 800-90A, ko gine-ginen nan), 2) Tabbatar da fitarwarsa tare da tsari kamar NIST SP 800-90B ko Dieharder, da 3) Aiwatar da ingantaccen samar da iri daga tushen babban entropy (misali, `getrandom()` akan Linux). Takardar ta yi nasarar mai da hankali kan ma'ana 2, amma ma'ana 1 da 3 su ma sune mahimman sassa na cikakken hoto.

7. Cikakkun Bayanai na Fasaha & Tsarin Lissafi

Tsaron mai samar da da aka gabatar ya dogara ne akan ayyukan sirri na asali. Manyan ayyukan lissafi sune:

8. Tsarin Nazari & Misalin Lamari

Misalin Lamari: Bincika Aikin Sake Saita Kalmar Sirri na Aikace-aikacen Yanar Gizo
Yanayi: Aikace-aikacen yanar gizo yana samar da kalmar sirri na wucin gadi ga masu amfani waɗanda suka danna "Manta Kalmar Sirri."
Aikace-aikacen Tsarin:

  1. Gano RNG: Bincika lambar gefen uwar garken. Nemo `Math.random()` (JavaScript) ko LCG mai sauƙi a cikin PHP zai zama gazawar mahimmanci.
  2. Kimanta Tushen Entropy: Ta yaya ake shuka PRNG? Shin yana amfani da entropy na tsarin (`/dev/urandom`, `CryptGenRandom`)?
  3. Zana Taswira zuwa Mafita da Aka Gabatar: Ba da shawarar maye gurbin RNG mara kyau tare da kayan aiki da ke aiwatar da ƙirar wannan takarda—misali, aikin Python ta amfani da `hmac.new` tare da SHA256 da iri daga `os.urandom(32)`.
  4. Tabbatar da Fitarwa (Bayan Aiwatarwa): Samar da samfurin kalmomin sirri na wucin gadi 1,000,000, canza zuwa raƙuman bit, kuma gudanar da tsarin STS na NIST (tsarin gwaji mai alaƙa) don tabbatar da bazuwar.
Wannan tsarin yana juya ka'idar takardar zuwa cikakken lissafin bincike da gyara.

9. Aikace-aikace na Gaba & Hanyoyi

Fasahar asali tana da aikace-aikace fiye da samar da kalmar sirri na mai amfani:

10. Nassoshi

  1. M. Bishop, "Tsaron Kwamfuta: Fasaha da Kimiyya," Addison-Wesley, 2003.
  2. NIST, "Buga na Musamman 800-63B: Jagororin Asalin Dijital," 2017.
  3. NIST, "Buga na Musamman 800-90A: Shawarwari don Samar da Lambobi Na Karya Ta Amfani da Masu Samar da Bit na Ƙaddara," 2015.
  4. NIST, "Buga na Musamman 800-90B: Shawarwari don Tushen Entropy da Ake Amfani da Su don Samar da Bit Na Karya," 2018.
  5. J. Kelsey, B. Schneier, D. Wagner, "Aikace-aikace Masu Tsaro na Maɓallai Masu Ƙananan Entropy," ISW '97.
  6. D. D. Hwang, B. B. Gupta, "Nazarin Tsaron Kalmar Sirri da Tasirinsa," JIS, 2019.
  7. NIST, "FIPS 202: Ma'aunin SHA-3: Hash na Tushen Matsayi da Ayyukan Fitarwa Mai Faɗaɗawa," 2015.
  8. NIST, "SP 800-185: Ayyukan da aka samo daga SHA-3: cSHAKE, KMAC, TupleHash da ParallelHash," 2016.
  9. M. S. Turan, E. Barker, J. Kelsey, "Shawarwari don Gine-ginen Mai Samar da Bit Na Karya (RBG)," NIST SP 800-90C, 2016.
  10. P. G. Neumann, "Hatsarori Masu Hotuna ga Jama'a a cikin Amfani da Tsarin Kwamfuta da Fasahar da ke da alaƙa," ACM SIGSOFT, 1995.