/dev/random, ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕವಾಗಿ ಸುರಕ್ಷಿತವಾದ ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ (CSPRNG), ಒಂದು ಕಿರಿಕಿರಿ ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿದೆ: ನಿರ್ಬಂಧಿಸುವುದು. ನೀವು ಅದನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು ಎಂಬುದನ್ನು ಈ ಲೇಖನವು ವಿವರಿಸುತ್ತದೆ.
ಕಳೆದ ಕೆಲವು ತಿಂಗಳುಗಳಲ್ಲಿ, ಕರ್ನಲ್ನಲ್ಲಿನ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳ ಉತ್ಪಾದನೆಯ ಸೌಲಭ್ಯಗಳನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಮರುನಿರ್ಮಾಣ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಈ ಉಪವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಸಮಸ್ಯೆಗಳನ್ನು ವ್ಯಾಪಕ ಅವಧಿಯಲ್ಲಿ ಪರಿಹರಿಸಲಾಗಿದೆ.
ಆಂಡಿ ಲುಟೊಮಿರ್ಸ್ಕಿ ಡಿಸೆಂಬರ್ ಅಂತ್ಯದಲ್ಲಿ ಪ್ಯಾಚ್ನ ಮೂರನೇ ಆವೃತ್ತಿಯನ್ನು ಪ್ರಕಟಿಸಿದರು. ಅವನು ಕೊಡುಗೆ ನೀಡುತ್ತಾನೆ "ಯಾದೃಚ್ಛಿಕ ಲಿನಕ್ಸ್ API ಗಳಿಗೆ ಎರಡು ಪ್ರಮುಖ ಶಬ್ದಾರ್ಥದ ಬದಲಾವಣೆಗಳು". ಪ್ಯಾಚ್ ಹೊಸ GRND_INSECURE ಧ್ವಜವನ್ನು getrandom() ಸಿಸ್ಟಮ್ ಕರೆಗೆ ಸೇರಿಸುತ್ತದೆ (ಆದರೂ Lutomirsky ಇದನ್ನು getentropy() ಎಂದು ಉಲ್ಲೇಖಿಸುತ್ತದೆ, ಇದು glibc ನಲ್ಲಿ getrandom() ಅನ್ನು ಸ್ಥಿರ ಧ್ವಜಗಳೊಂದಿಗೆ ಅಳವಡಿಸಲಾಗಿದೆ); ಈ ಫ್ಲ್ಯಾಗ್ ಕರೆ ಯಾವಾಗಲೂ ವಿನಂತಿಸಿದ ಡೇಟಾದ ಮೊತ್ತವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ಆದರೆ ಡೇಟಾ ಯಾದೃಚ್ಛಿಕವಾಗಿದೆ ಎಂದು ಖಾತರಿಪಡಿಸದೆ. ನಿರ್ದಿಷ್ಟ ಸಮಯದಲ್ಲಿ ಅದು ಹೊಂದಿರುವ ಉತ್ತಮವಾದ ಯಾದೃಚ್ಛಿಕ ಡೇಟಾವನ್ನು ಉತ್ಪಾದಿಸಲು ಕರ್ನಲ್ ತನ್ನ ಅತ್ಯುತ್ತಮವಾದ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ. "ಬಹುಶಃ ಮಾಡಬೇಕಾದ ಉತ್ತಮ ಕೆಲಸವೆಂದರೆ ಅದನ್ನು 'ಅಸುರಕ್ಷಿತ' ಎಂದು ಕರೆಯುವುದು (ಅಸುರಕ್ಷಿತ) ಭದ್ರತೆಯ ಅಗತ್ಯವಿರುವ ವಿಷಯಗಳಿಗೆ ಈ API ಅನ್ನು ಬಳಸದಂತೆ ತಡೆಯಲು."
ತೇಪೆಗಳು ತಡೆಯುವ ಪೂಲ್ ಅನ್ನು ಸಹ ತೆಗೆದುಹಾಕುತ್ತವೆ. ಕರ್ನಲ್ ಪ್ರಸ್ತುತ ಎರಡು ಯಾದೃಚ್ಛಿಕ ಡೇಟಾ ಪೂಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಒಂದು /dev/random ಗೆ ಮತ್ತು ಇನ್ನೊಂದು /dev/urandom ಗೆ, ಇದರಲ್ಲಿ ವಿವರಿಸಿದಂತೆ
ಲಾಕ್ ಪೂಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದು ಎಂದರೆ /dev/random ನಿಂದ ಓದುವುದು ಶೂನ್ಯಕ್ಕೆ ಹೊಂದಿಸಲಾದ ಫ್ಲ್ಯಾಗ್ಗಳೊಂದಿಗೆ getrandom() ನಂತೆ ವರ್ತಿಸುತ್ತದೆ (ಮತ್ತು GRND_RANDOM ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ನೂಪ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ). ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ (CRNG) ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, /dev/random ನಿಂದ ಓದುವುದು ಮತ್ತು getrandom (...,0) ಗೆ ಕರೆಗಳು ನಿರ್ಬಂಧಿಸುವುದಿಲ್ಲ ಮತ್ತು ವಿನಂತಿಸಿದ ಯಾದೃಚ್ಛಿಕ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
ಲುಟೊಮಿರ್ಸ್ಕಿ ಹೇಳುತ್ತಾರೆ: “ಲಿನಕ್ಸ್ ನಿರ್ಬಂಧಿಸುವ ಪೂಲ್ ಬಳಕೆಯಲ್ಲಿಲ್ಲ ಎಂದು ನಾನು ನಂಬುತ್ತೇನೆ. CRNG ಲಿನಕ್ಸ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಅದು ಕೀ ಉತ್ಪಾದನೆಗೆ ಸಹ ಬಳಸಲು ಸಾಕಷ್ಟು ಉತ್ತಮವಾಗಿದೆ. ತಡೆಯುವ ಪೂಲ್ ಯಾವುದೇ ವಸ್ತು ಅರ್ಥದಲ್ಲಿ ಬಲವಾಗಿರುವುದಿಲ್ಲ ಮತ್ತು ಅದನ್ನು ಬೆಂಬಲಿಸಲು ಸಂಶಯಾಸ್ಪದ ಮೌಲ್ಯದ ಸಾಕಷ್ಟು ಮೂಲಸೌಕರ್ಯಗಳು ಬೇಕಾಗುತ್ತವೆ.
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕಾರ್ಯಕ್ರಮಗಳು ನಿಜವಾಗಿಯೂ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವ ಗುರಿಯೊಂದಿಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ, GnuPG ಕೀ ಉತ್ಪಾದನೆಯಂತಹ ವಿಷಯಗಳಿಗಾಗಿ ದೀರ್ಘ ಕಾಯುವಿಕೆಯೊಂದಿಗೆ ಕಡಿಮೆ ಸಮಸ್ಯೆಗಳಿರುತ್ತವೆ.
“ಈ ಸಂಚಿಕೆಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯಾವುದೇ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ ಅಡ್ಡಿಪಡಿಸಬಾರದು. /dev/urandom ಬದಲಾಗದೆ ಉಳಿದಿದೆ. /dev/random ಇನ್ನೂ ಬೂಟ್ ಆದ ತಕ್ಷಣ ನಿರ್ಬಂಧಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಮೊದಲಿಗಿಂತ ಕಡಿಮೆ ಬ್ಲಾಕ್ ಮಾಡುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಧ್ವಜಗಳೊಂದಿಗೆ getentropy() ಮೊದಲಿನಂತೆಯೇ ಪ್ರಾಯೋಗಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಸೂಕ್ತವಾದ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ."
ಕರ್ನಲ್ "ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳು" ಎಂದು ಕರೆಯಲ್ಪಡುವದನ್ನು ಒದಗಿಸಬೇಕೇ ಎಂಬುದು ಇನ್ನೂ ಮುಕ್ತ ಪ್ರಶ್ನೆಯಾಗಿದೆ ಎಂದು ಲುಟೊಮಿರ್ಸ್ಕಿ ಗಮನಿಸಿದರು, ಇದನ್ನು ನಿರ್ಬಂಧಿಸುವ ಕರ್ನಲ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ಮಟ್ಟಿಗೆ ಮಾಡಬೇಕಾಗಿತ್ತು. ಅವರು ಇದಕ್ಕೆ ಒಂದೇ ಒಂದು ಕಾರಣವನ್ನು ನೋಡುತ್ತಾರೆ: "ಸರ್ಕಾರಿ ಮಾನದಂಡಗಳ ಅನುಸರಣೆ." ಕರ್ನಲ್ ಇದನ್ನು ಒದಗಿಸಬೇಕಾದರೆ, ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾದ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಮಾಡಬೇಕು ಅಥವಾ ಅದನ್ನು ಬಳಕೆದಾರರ ಜಾಗಕ್ಕೆ ಸರಿಸಬೇಕು, ಅಂತಹ ಲಾಕ್ ಪೂಲ್ ಅನ್ನು ರಚಿಸಲು ಬಳಸಬಹುದಾದ ಕಚ್ಚಾ ಈವೆಂಟ್ ಮಾದರಿಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಬಳಕೆದಾರರಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಎಂದು Lutomirsky ಸಲಹೆ ನೀಡಿದರು.
ಸ್ಟೀಫನ್ ಮುಲ್ಲರ್ ಅವರ ಸೆಟ್ ಎಂದು ಸಲಹೆ ನೀಡಿದರು
ಮ್ಯಾಥ್ಯೂ ಗ್ಯಾರೆಟ್ "ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ದತ್ತಾಂಶ" ಎಂಬ ಪದವನ್ನು ವಿರೋಧಿಸಿದರು, ಮಾದರಿಯ ಸಾಧನಗಳನ್ನು ತಾತ್ವಿಕವಾಗಿ ಅವುಗಳನ್ನು ಊಹಿಸುವಂತೆ ಮಾಡಲು ಸಾಕಷ್ಟು ನಿಖರವಾಗಿ ಮಾದರಿಯಾಗಬಹುದು: "ನಾವು ಇಲ್ಲಿ ಕ್ವಾಂಟಮ್ ಘಟನೆಗಳನ್ನು ಸ್ಯಾಂಪಲ್ ಮಾಡುತ್ತಿಲ್ಲ."
ಮುಲ್ಲರ್ ಪ್ರತಿಕ್ರಿಯಿಸಿದ ಪದವು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ ಅನ್ನು ವಿವರಿಸಲು ಜರ್ಮನ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ AIS 31 ನಿಂದ ಬಂದಿದೆ, ಅದು "ಆಧಾರಿತ ಶಬ್ದ ಮೂಲವು ಎಂಟ್ರೊಪಿಯನ್ನು ಉತ್ಪಾದಿಸುವ ಅದೇ ದರದಲ್ಲಿ" ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ.
ಪರಿಭಾಷೆಯ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಬದಿಗಿಟ್ಟು, LRNG ಪ್ಯಾಚ್ಗಳು ಸೂಚಿಸಿದಂತೆ ಲಾಕ್ ಪೂಲ್ ಅನ್ನು ಹೊಂದಿರುವುದು ವಿವಿಧ ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಕನಿಷ್ಠ ಸವಲತ್ತುಗಳಿಲ್ಲದೆ ಅದನ್ನು ಪ್ರವೇಶಿಸಿದರೆ.
ಲುಟೊಮಿರ್ಸ್ಕಿ ಹೇಳಿದಂತೆ: "ಇದು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ. ಇಬ್ಬರು ವಿಭಿನ್ನ ಬಳಕೆದಾರರು gnupg ನಂತಹ ಸ್ಟುಪಿಡ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಚಲಾಯಿಸಿದರೆ, ಅವರು ಕೇವಲ ಪರಸ್ಪರ ಬರಿದಾಗುತ್ತಾರೆ. /dev/random ನೊಂದಿಗೆ ಪ್ರಸ್ತುತ ಎರಡು ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳಿವೆ ಎಂದು ನಾನು ನೋಡುತ್ತೇನೆ: ಇದು DoS ಗೆ ಗುರಿಯಾಗುತ್ತದೆ (ಅಂದರೆ ಸಂಪನ್ಮೂಲ ಸವಕಳಿ, ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಭಾವ ಅಥವಾ ಅದೇ ರೀತಿಯದ್ದು), ಮತ್ತು ಅದನ್ನು ಬಳಸಲು ಯಾವುದೇ ಸವಲತ್ತುಗಳ ಅಗತ್ಯವಿಲ್ಲದ ಕಾರಣ, ಇದು ದುರುಪಯೋಗಕ್ಕೆ ಗುರಿಯಾಗುತ್ತದೆ. Gnupg ತಪ್ಪಾಗಿದೆ, ಇದು ಸಂಪೂರ್ಣ ಕುಸಿತವಾಗಿದೆ. gnupg ಮತ್ತು ಅಂತಹುದೇ ಪ್ರೋಗ್ರಾಮ್ಗಳನ್ನು ಬಳಸುವ ಹೊಸ ಸವಲತ್ತು ಇಲ್ಲದ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನಾವು ಸೇರಿಸಿದರೆ, ನಾವು ಮತ್ತೆ ಕಳೆದುಕೊಳ್ಳುತ್ತೇವೆ."
ಗೆಟ್ರ್ಯಾಂಡಮ್() ನ ಸೇರ್ಪಡೆಯು ಈಗ GnuPG ಗೆ ಈ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ ಎಂದು ಮುಲ್ಲರ್ ಗಮನಿಸಿದರು, ಏಕೆಂದರೆ ಇದು ಪೂಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂಬುದಕ್ಕೆ ಅಗತ್ಯವಾದ ಖಾತರಿಯನ್ನು ನೀಡುತ್ತದೆ. GnuPG ಡೆವಲಪರ್ ವರ್ನರ್ ಕೋಚ್ ಅವರೊಂದಿಗಿನ ಚರ್ಚೆಗಳ ಆಧಾರದ ಮೇಲೆ, GnuPG ಪ್ರಸ್ತುತ /dev/random ನಿಂದ ನೇರವಾಗಿ ಓದುವ ಏಕೈಕ ಕಾರಣವೆಂದರೆ ಗ್ಯಾರಂಟಿ ಎಂದು ಮುಲ್ಲರ್ ನಂಬುತ್ತಾರೆ. ಆದರೆ ಸೇವೆಯ ನಿರಾಕರಣೆಗೆ ಒಳಗಾಗುವ ಸವಲತ್ತು ಇಲ್ಲದ ಇಂಟರ್ಫೇಸ್ ಇದ್ದರೆ (ಇಂದು /dev/random ಆಗಿ), ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳಿಂದ ಅದನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳಲಾಗುವುದು ಎಂದು ಲುಟೊಮಿರ್ಸ್ಕಿ ವಾದಿಸುತ್ತಾರೆ.
ಲಿನಕ್ಸ್ನ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉಪವ್ಯವಸ್ಥೆಯ ಡೆವಲಪರ್ ಥಿಯೋಡರ್ ಯುಯೆ ಟಾಕ್ ತ್ಸೋ, ನಿರ್ಬಂಧಿಸುವ ಪೂಲ್ನ ಅಗತ್ಯತೆಯ ಬಗ್ಗೆ ತನ್ನ ಮನಸ್ಸನ್ನು ಬದಲಾಯಿಸಿದಂತಿದೆ. ಈ ಪೂಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ ಲಿನಕ್ಸ್ ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ (TRNG) ಅನ್ನು ಹೊಂದಿದೆ ಎಂಬ ಕಲ್ಪನೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ತೊಡೆದುಹಾಕುತ್ತದೆ ಎಂದು ಅವರು ಹೇಳಿದರು: "ಇದು ಅಸಂಬದ್ಧವಲ್ಲ, ಏಕೆಂದರೆ ಇದು ನಿಖರವಾಗಿ *BSD ಯಾವಾಗಲೂ ಮಾಡಿದೆ."
TRNG ಕಾರ್ಯವಿಧಾನವನ್ನು ಒದಗಿಸುವುದು ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್ಗಳಿಗೆ ಒಂದು ಬೆಟ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಅವರು ಕಳವಳ ವ್ಯಕ್ತಪಡಿಸಿದ್ದಾರೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ, Linux ನಿಂದ ಬೆಂಬಲಿತವಾದ ವಿವಿಧ ರೀತಿಯ ಯಂತ್ರಾಂಶಗಳನ್ನು ನೀಡಿದರೆ, ಕರ್ನಲ್ನಲ್ಲಿ TRNG ಅನ್ನು ಖಾತರಿಪಡಿಸುವುದು ಅಸಾಧ್ಯವೆಂದು ನಂಬುತ್ತಾರೆ. ಮೂಲ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಮಾತ್ರ ಉಪಕರಣಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ: "ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್ಗಳು ತಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸುರಕ್ಷತಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ರೂಟ್ ಆಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತಾರೆ, ಇದರಿಂದ ನೀವು 'ನಿಜವಾಗಿಯೂ ಉತ್ತಮ' ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಏಕೈಕ ಮಾರ್ಗವಾಗಿದೆ."
ಮುಲ್ಲರ್ ಕಾವೊ ಅವರು ದೀರ್ಘಕಾಲದವರೆಗೆ ಪ್ರಸ್ತಾಪಿಸಿದ ತಡೆಯುವ ಪೂಲ್ ಅನುಷ್ಠಾನವನ್ನು ಕೈಬಿಟ್ಟಿದ್ದಾರೆಯೇ ಎಂದು ಕೇಳಿದರು. ಕಾವೊ ಅವರು ಲುಟೊಮಿರ್ಸ್ಕಿಯ ಪ್ಯಾಚ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಯೋಜಿಸಿದ್ದಾರೆ ಮತ್ತು ಕರ್ನಲ್ಗೆ ನಿರ್ಬಂಧಿಸುವ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸೇರಿಸುವುದನ್ನು ಸಕ್ರಿಯವಾಗಿ ವಿರೋಧಿಸುತ್ತಾರೆ ಎಂದು ಪ್ರತಿಕ್ರಿಯಿಸಿದರು.
“ಶಬ್ದದ ಮೂಲವನ್ನು ಸರಿಯಾಗಿ ನಿರೂಪಿಸಲಾಗಿದೆಯೇ ಎಂಬುದಕ್ಕೆ ಕರ್ನಲ್ ಯಾವುದೇ ಗ್ಯಾರಂಟಿ ನೀಡಲು ಸಾಧ್ಯವಿಲ್ಲ. GPG ಅಥವಾ OpenSSL ಡೆವಲಪರ್ ಪಡೆಯಬಹುದಾದ ಏಕೈಕ ವಿಷಯವೆಂದರೆ TRUERANDOM "ಉತ್ತಮ" ಎಂಬ ಅಸ್ಪಷ್ಟ ಭಾವನೆ, ಮತ್ತು ಅವರು ಹೆಚ್ಚಿನ ಭದ್ರತೆಯನ್ನು ಬಯಸುವುದರಿಂದ, ಅವರು ನಿಸ್ಸಂದೇಹವಾಗಿ ಅದನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಾರೆ. ಕೆಲವು ಹಂತದಲ್ಲಿ ಅದನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇತರ ಕೆಲವು ಸ್ಮಾರ್ಟ್ ಬಳಕೆದಾರರು (ಬಹುಶಃ ವಿತರಣಾ ತಜ್ಞರು) ಅದನ್ನು init ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಸೇರಿಸಿದಾಗ ಮತ್ತು ಸಿಸ್ಟಮ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದಾಗ, ಬಳಕೆದಾರರು ಲಿನಸ್ ಟೊರ್ವಾಲ್ಡ್ಸ್ಗೆ ದೂರು ನೀಡಬೇಕಾಗುತ್ತದೆ.
ಕಾವೊ ಅವರು ಕ್ರಿಪ್ಟೋಗ್ರಾಫರ್ಗಳು ಮತ್ತು ನಿಜವಾಗಿ TRNG ಅಗತ್ಯವಿರುವವರಿಗೆ ತಮ್ಮ ಸ್ವಂತ ಎಂಟ್ರೊಪಿಯನ್ನು ಬಳಕೆದಾರ ಜಾಗದಲ್ಲಿ ಕೊಯ್ಲು ಮಾಡುವ ಮಾರ್ಗವನ್ನು ಅವರು ಸರಿಹೊಂದುವಂತೆ ಬಳಸಲು ಸಮರ್ಥಿಸುತ್ತಾರೆ. ಎಂಟ್ರೊಪಿಯನ್ನು ಸಂಗ್ರಹಿಸುವುದು ಅದು ಬೆಂಬಲಿಸುವ ಎಲ್ಲಾ ವಿಭಿನ್ನ ಹಾರ್ಡ್ವೇರ್ಗಳಲ್ಲಿ ಕರ್ನಲ್ ನಿರ್ವಹಿಸಬಹುದಾದ ಪ್ರಕ್ರಿಯೆಯಲ್ಲ ಅಥವಾ ವಿವಿಧ ಮೂಲಗಳಿಂದ ಒದಗಿಸಲಾದ ಎಂಟ್ರೊಪಿಯ ಪ್ರಮಾಣವನ್ನು ಕರ್ನಲ್ ಸ್ವತಃ ಅಂದಾಜು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ಅವರು ಹೇಳುತ್ತಾರೆ.
"ಕರ್ನಲ್ ವಿಭಿನ್ನ ಶಬ್ದ ಮೂಲಗಳನ್ನು ಒಟ್ಟಿಗೆ ಮಿಶ್ರಣ ಮಾಡಬಾರದು ಮತ್ತು ಅತಿರೇಕದ ಸರಳ CPU ನಲ್ಲಿ ಕೆಲವು ರೀತಿಯ "ಟ್ವಿಚಿ ಎಂಟ್ರೊಪಿ ಗೇಮ್" ಅನ್ನು ಆಡಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಾಗ ಅದು ಎಷ್ಟು ಎಂಟ್ರೊಪಿಯ ಬಿಟ್ಗಳನ್ನು ಪಡೆಯುತ್ತಿದೆ ಎಂದು ತಿಳಿಯಲು ಅದು ಖಂಡಿತವಾಗಿಯೂ ಪ್ರಯತ್ನಿಸಬಾರದು. ಗ್ರಾಹಕ ಬಳಕೆದಾರರಿಗಾಗಿ ಆರ್ಕಿಟೆಕ್ಚರ್ ಐಒಟಿ/ಎಂಬೆಡೆಡ್ ಪ್ರಕರಣಗಳು ಒಂದೇ ಮಾಸ್ಟರ್ ಆಸಿಲೇಟರ್ನೊಂದಿಗೆ ಎಲ್ಲವೂ ಸಿಂಕ್ ಆಗಿಲ್ಲ, ರಿಜಿಸ್ಟರ್ ಅನ್ನು ಮರುಕ್ರಮಗೊಳಿಸಲು ಅಥವಾ ಮರುಹೆಸರಿಸಲು ಯಾವುದೇ ಸಿಪಿಯು ಸೂಚನೆಗಳಿಲ್ಲ, ಇತ್ಯಾದಿ."
“ಈ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುವ ಕುರಿತು ನೀವು ಮಾತನಾಡಬಹುದು, ಆದರೆ ಅಂತಹ ವಿಷಯಗಳನ್ನು ಪ್ರತಿ ಬಳಕೆದಾರರ ಯಂತ್ರಾಂಶದಲ್ಲಿ ಮಾಡಬೇಕು, ಇದು ಹೆಚ್ಚಿನ ವಿತರಣಾ ಬಳಕೆದಾರರಿಗೆ ಪ್ರಾಯೋಗಿಕವಾಗಿಲ್ಲ. ಇದು ಕ್ರಿಪ್ಟೋಗ್ರಾಫರ್ಗಳಿಗೆ ಮಾತ್ರ ಉದ್ದೇಶಿಸಿದ್ದರೆ, ಅದನ್ನು ಅವರ ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಮಾಡಲಿ. ಮತ್ತು ನಾವು GPG, OpenSSL, ಇತ್ಯಾದಿಗಳನ್ನು ಸರಳಗೊಳಿಸಬಾರದು, ಆದ್ದರಿಂದ ಪ್ರತಿಯೊಬ್ಬರೂ "ನಮಗೆ "ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕತೆ" ಬೇಕು ಮತ್ತು ಕಡಿಮೆಗಾಗಿ ನೆಲೆಗೊಳ್ಳುವುದಿಲ್ಲ" ಎಂದು ಹೇಳುತ್ತಾರೆ. ನಾವು ಕ್ರಿಪ್ಟೋಗ್ರಾಫರ್ಗಳಿಗೆ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಹೇಗೆ ಒದಗಿಸುತ್ತೇವೆ ಎಂಬುದರ ಕುರಿತು ನಾವು ಮಾತನಾಡಬಹುದು ಇದರಿಂದ ಅವರು ಪ್ರಾಥಮಿಕ ಶಬ್ದ ಮೂಲಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಮೂಲಕ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಬಹುದು, ಪ್ರತ್ಯೇಕಿಸಿ ಮತ್ತು ಹೆಸರಿಸಲಾಗಿದೆ, ಮತ್ತು ಬಹುಶಃ ಹೇಗಾದರೂ ಶಬ್ದ ಮೂಲವು ಲೈಬ್ರರಿ ಅಥವಾ ಬಳಕೆದಾರ ಸ್ಪೇಸ್ ಅಪ್ಲಿಕೇಶನ್ಗೆ ದೃಢೀಕರಿಸಬಹುದು."
ಅಂತಹ ಇಂಟರ್ಫೇಸ್ ಹೇಗಿರಬಹುದು ಎಂಬುದರ ಕುರಿತು ಕೆಲವು ಚರ್ಚೆಗಳು ನಡೆದವು, ಉದಾಹರಣೆಗೆ ಕೆಲವು ಘಟನೆಗಳಿಗೆ ಭದ್ರತಾ ಪರಿಣಾಮಗಳು ಇರಬಹುದು. ಎಂಟ್ರೊಪಿ ಸಂಗ್ರಹಣೆಯ ಭಾಗವಾಗಿ ಕೀಬೋರ್ಡ್ ಸ್ಕ್ಯಾನ್ ಕೋಡ್ಗಳನ್ನು (ಅಂದರೆ ಕೀಸ್ಟ್ರೋಕ್ಗಳು) ಪೂಲ್ನಲ್ಲಿ ಮಿಶ್ರಣ ಮಾಡಲಾಗಿದೆ ಎಂದು ಕಾವೊ ಗಮನಿಸಿದರು: "ಇದನ್ನು ಬಳಕೆದಾರರ ಜಾಗಕ್ಕೆ ತರುವುದು, ಸವಲತ್ತು ಪಡೆದ ಸಿಸ್ಟಮ್ ಕರೆ ಮೂಲಕ ಸಹ, ಕನಿಷ್ಠ ಹೇಳಲು ಅವಿವೇಕದ ಸಂಗತಿಯಾಗಿದೆ." ಇತರ ಈವೆಂಟ್ ಸಮಯಗಳು ಸೈಡ್ ಚಾನಲ್ಗಳ ಮೂಲಕ ಕೆಲವು ರೀತಿಯ ಮಾಹಿತಿ ಸೋರಿಕೆಯನ್ನು ರಚಿಸುವ ಸಾಧ್ಯತೆಯಿದೆ.
ಆದ್ದರಿಂದ ಲಿನಕ್ಸ್ನ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉಪವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ದೀರ್ಘಕಾಲದ ಸಮಸ್ಯೆಯು ಪರಿಹಾರದ ಹಾದಿಯಲ್ಲಿದೆ ಎಂದು ತೋರುತ್ತಿದೆ. ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉಪವ್ಯವಸ್ಥೆಯು ಇತ್ತೀಚೆಗೆ ಒಳಗಾಗಿರುವ ಬದಲಾವಣೆಗಳು ವಾಸ್ತವವಾಗಿ ಅದನ್ನು ಬಳಸುವಾಗ DoS ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಗಿವೆ. ಕರ್ನಲ್ ಒದಗಿಸುವ ಅತ್ಯುತ್ತಮ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಪಡೆಯಲು ಈಗ ಸಮರ್ಥ ಮಾರ್ಗಗಳಿವೆ. ಲಿನಕ್ಸ್ನಲ್ಲಿ TRNG ಇನ್ನೂ ಅಪೇಕ್ಷಣೀಯವಾಗಿದ್ದರೆ, ಭವಿಷ್ಯದಲ್ಲಿ ಈ ನ್ಯೂನತೆಯನ್ನು ಪರಿಹರಿಸಬೇಕಾಗುತ್ತದೆ, ಆದರೆ ಹೆಚ್ಚಾಗಿ ಇದನ್ನು ಕರ್ನಲ್ನಲ್ಲಿಯೇ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
ಕೆಲವು ಜಾಹೀರಾತುಗಳು 🙂
ನಮ್ಮೊಂದಿಗೆ ಇರುವುದಕ್ಕೆ ಧನ್ಯವಾದಗಳು. ನೀವು ನಮ್ಮ ಲೇಖನಗಳನ್ನು ಇಷ್ಟಪಡುತ್ತೀರಾ? ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯವನ್ನು ನೋಡಲು ಬಯಸುವಿರಾ? ಆರ್ಡರ್ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಸ್ನೇಹಿತರಿಗೆ ಶಿಫಾರಸು ಮಾಡುವ ಮೂಲಕ ನಮ್ಮನ್ನು ಬೆಂಬಲಿಸಿ,
ಆಮ್ಸ್ಟರ್ಡ್ಯಾಮ್ನಲ್ಲಿರುವ Equinix Tier IV ಡೇಟಾ ಸೆಂಟರ್ನಲ್ಲಿ Dell R730xd 2x ಅಗ್ಗವಾಗಿದೆಯೇ? ಇಲ್ಲಿ ಮಾತ್ರ
ಮೂಲ: www.habr.com