ಲಿನಕ್ಸ್: ಲಾಕ್ ಪೂಲ್ / dev/random ಅನ್ನು ತೆಗೆದುಹಾಕುವುದು

/dev/random, ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕವಾಗಿ ಸುರಕ್ಷಿತವಾದ ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ (CSPRNG), ಒಂದು ಕಿರಿಕಿರಿ ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿದೆ: ನಿರ್ಬಂಧಿಸುವುದು. ನೀವು ಅದನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು ಎಂಬುದನ್ನು ಈ ಲೇಖನವು ವಿವರಿಸುತ್ತದೆ.

ಕಳೆದ ಕೆಲವು ತಿಂಗಳುಗಳಲ್ಲಿ, ಕರ್ನಲ್‌ನಲ್ಲಿನ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳ ಉತ್ಪಾದನೆಯ ಸೌಲಭ್ಯಗಳನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಮರುನಿರ್ಮಾಣ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಈ ಉಪವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಸಮಸ್ಯೆಗಳನ್ನು ವ್ಯಾಪಕ ಅವಧಿಯಲ್ಲಿ ಪರಿಹರಿಸಲಾಗಿದೆ. ಕಾಲಮಿತಿಯೊಳಗೆ. ಅತ್ಯಂತ ಕೊನೆಯ ಬದಲಾವಣೆಗಳು ಸಿಸ್ಟಂ ಬೂಟ್ ಆಗುವಾಗ ಗೆಟ್‌ರಾಂಡಮ್() ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ದೀರ್ಘಕಾಲದವರೆಗೆ ನಿರ್ಬಂಧಿಸುವುದನ್ನು ತಡೆಯಲು ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಇದಕ್ಕೆ ಆಧಾರವಾಗಿರುವ ಕಾರಣ ಯಾದೃಚ್ಛಿಕ ಪೂಲ್‌ನ ನಿರ್ಬಂಧಿಸುವ ನಡವಳಿಕೆಯಾಗಿದೆ. ಇತ್ತೀಚಿನ ಪ್ಯಾಚ್ ಈ ಪೂಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಅದು ಮುಖ್ಯ ಕೋರ್ ಕಡೆಗೆ ಹೋಗಬಹುದೆಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ.

ಆಂಡಿ ಲುಟೊಮಿರ್ಸ್ಕಿ ಡಿಸೆಂಬರ್ ಅಂತ್ಯದಲ್ಲಿ ಪ್ಯಾಚ್‌ನ ಮೂರನೇ ಆವೃತ್ತಿಯನ್ನು ಪ್ರಕಟಿಸಿದರು. ಅವನು ಕೊಡುಗೆ ನೀಡುತ್ತಾನೆ "ಯಾದೃಚ್ಛಿಕ ಲಿನಕ್ಸ್ API ಗಳಿಗೆ ಎರಡು ಪ್ರಮುಖ ಶಬ್ದಾರ್ಥದ ಬದಲಾವಣೆಗಳು". ಪ್ಯಾಚ್ ಹೊಸ GRND_INSECURE ಧ್ವಜವನ್ನು getrandom() ಸಿಸ್ಟಮ್ ಕರೆಗೆ ಸೇರಿಸುತ್ತದೆ (ಆದರೂ Lutomirsky ಇದನ್ನು getentropy() ಎಂದು ಉಲ್ಲೇಖಿಸುತ್ತದೆ, ಇದು glibc ನಲ್ಲಿ getrandom() ಅನ್ನು ಸ್ಥಿರ ಧ್ವಜಗಳೊಂದಿಗೆ ಅಳವಡಿಸಲಾಗಿದೆ); ಈ ಫ್ಲ್ಯಾಗ್ ಕರೆ ಯಾವಾಗಲೂ ವಿನಂತಿಸಿದ ಡೇಟಾದ ಮೊತ್ತವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ಆದರೆ ಡೇಟಾ ಯಾದೃಚ್ಛಿಕವಾಗಿದೆ ಎಂದು ಖಾತರಿಪಡಿಸದೆ. ನಿರ್ದಿಷ್ಟ ಸಮಯದಲ್ಲಿ ಅದು ಹೊಂದಿರುವ ಉತ್ತಮವಾದ ಯಾದೃಚ್ಛಿಕ ಡೇಟಾವನ್ನು ಉತ್ಪಾದಿಸಲು ಕರ್ನಲ್ ತನ್ನ ಅತ್ಯುತ್ತಮವಾದ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ. "ಬಹುಶಃ ಮಾಡಬೇಕಾದ ಉತ್ತಮ ಕೆಲಸವೆಂದರೆ ಅದನ್ನು 'ಅಸುರಕ್ಷಿತ' ಎಂದು ಕರೆಯುವುದು (ಅಸುರಕ್ಷಿತ) ಭದ್ರತೆಯ ಅಗತ್ಯವಿರುವ ವಿಷಯಗಳಿಗೆ ಈ API ಅನ್ನು ಬಳಸದಂತೆ ತಡೆಯಲು."

ತೇಪೆಗಳು ತಡೆಯುವ ಪೂಲ್ ಅನ್ನು ಸಹ ತೆಗೆದುಹಾಕುತ್ತವೆ. ಕರ್ನಲ್ ಪ್ರಸ್ತುತ ಎರಡು ಯಾದೃಚ್ಛಿಕ ಡೇಟಾ ಪೂಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಒಂದು /dev/random ಗೆ ಮತ್ತು ಇನ್ನೊಂದು /dev/urandom ಗೆ, ಇದರಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ಲೇಖನ 2015. ತಡೆಯುವ ಪೂಲ್ /dev/random ಗಾಗಿ ಪೂಲ್ ಆಗಿದೆ; ವಿನಂತಿಯನ್ನು ಪೂರೈಸಲು ಸಿಸ್ಟಮ್‌ನಿಂದ "ಸಾಕಷ್ಟು" ಎಂಟ್ರೊಪಿಯನ್ನು ಸಂಗ್ರಹಿಸುವವರೆಗೆ ಆ ಸಾಧನಕ್ಕಾಗಿ ಓದುತ್ತದೆ (ಅದರ ಹೆಸರಿನ ಅರ್ಥ) ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ಪೂಲ್‌ನಲ್ಲಿ ಸಾಕಷ್ಟು ಎಂಟ್ರೊಪಿ ಇಲ್ಲದಿದ್ದರೆ ಈ ಫೈಲ್‌ನಿಂದ ಹೆಚ್ಚಿನ ಓದುವಿಕೆಗಳನ್ನು ಸಹ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ.

ಲಾಕ್ ಪೂಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದು ಎಂದರೆ /dev/random ನಿಂದ ಓದುವುದು ಶೂನ್ಯಕ್ಕೆ ಹೊಂದಿಸಲಾದ ಫ್ಲ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ getrandom() ನಂತೆ ವರ್ತಿಸುತ್ತದೆ (ಮತ್ತು GRND_RANDOM ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ನೂಪ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ). ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ (CRNG) ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, /dev/random ನಿಂದ ಓದುವುದು ಮತ್ತು getrandom (...,0) ಗೆ ಕರೆಗಳು ನಿರ್ಬಂಧಿಸುವುದಿಲ್ಲ ಮತ್ತು ವಿನಂತಿಸಿದ ಯಾದೃಚ್ಛಿಕ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

ಲುಟೊಮಿರ್ಸ್ಕಿ ಹೇಳುತ್ತಾರೆ: “ಲಿನಕ್ಸ್ ನಿರ್ಬಂಧಿಸುವ ಪೂಲ್ ಬಳಕೆಯಲ್ಲಿಲ್ಲ ಎಂದು ನಾನು ನಂಬುತ್ತೇನೆ. CRNG ಲಿನಕ್ಸ್ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಅದು ಕೀ ಉತ್ಪಾದನೆಗೆ ಸಹ ಬಳಸಲು ಸಾಕಷ್ಟು ಉತ್ತಮವಾಗಿದೆ. ತಡೆಯುವ ಪೂಲ್ ಯಾವುದೇ ವಸ್ತು ಅರ್ಥದಲ್ಲಿ ಬಲವಾಗಿರುವುದಿಲ್ಲ ಮತ್ತು ಅದನ್ನು ಬೆಂಬಲಿಸಲು ಸಂಶಯಾಸ್ಪದ ಮೌಲ್ಯದ ಸಾಕಷ್ಟು ಮೂಲಸೌಕರ್ಯಗಳು ಬೇಕಾಗುತ್ತವೆ.

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕಾರ್ಯಕ್ರಮಗಳು ನಿಜವಾಗಿಯೂ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವ ಗುರಿಯೊಂದಿಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ, GnuPG ಕೀ ಉತ್ಪಾದನೆಯಂತಹ ವಿಷಯಗಳಿಗಾಗಿ ದೀರ್ಘ ಕಾಯುವಿಕೆಯೊಂದಿಗೆ ಕಡಿಮೆ ಸಮಸ್ಯೆಗಳಿರುತ್ತವೆ.

“ಈ ಸಂಚಿಕೆಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯಾವುದೇ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ ಅಡ್ಡಿಪಡಿಸಬಾರದು. /dev/urandom ಬದಲಾಗದೆ ಉಳಿದಿದೆ. /dev/random ಇನ್ನೂ ಬೂಟ್ ಆದ ತಕ್ಷಣ ನಿರ್ಬಂಧಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಮೊದಲಿಗಿಂತ ಕಡಿಮೆ ಬ್ಲಾಕ್ ಮಾಡುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಧ್ವಜಗಳೊಂದಿಗೆ getentropy() ಮೊದಲಿನಂತೆಯೇ ಪ್ರಾಯೋಗಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಸೂಕ್ತವಾದ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ."

ಕರ್ನಲ್ "ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳು" ಎಂದು ಕರೆಯಲ್ಪಡುವದನ್ನು ಒದಗಿಸಬೇಕೇ ಎಂಬುದು ಇನ್ನೂ ಮುಕ್ತ ಪ್ರಶ್ನೆಯಾಗಿದೆ ಎಂದು ಲುಟೊಮಿರ್ಸ್ಕಿ ಗಮನಿಸಿದರು, ಇದನ್ನು ನಿರ್ಬಂಧಿಸುವ ಕರ್ನಲ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ಮಟ್ಟಿಗೆ ಮಾಡಬೇಕಾಗಿತ್ತು. ಅವರು ಇದಕ್ಕೆ ಒಂದೇ ಒಂದು ಕಾರಣವನ್ನು ನೋಡುತ್ತಾರೆ: "ಸರ್ಕಾರಿ ಮಾನದಂಡಗಳ ಅನುಸರಣೆ." ಕರ್ನಲ್ ಇದನ್ನು ಒದಗಿಸಬೇಕಾದರೆ, ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾದ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಮಾಡಬೇಕು ಅಥವಾ ಅದನ್ನು ಬಳಕೆದಾರರ ಜಾಗಕ್ಕೆ ಸರಿಸಬೇಕು, ಅಂತಹ ಲಾಕ್ ಪೂಲ್ ಅನ್ನು ರಚಿಸಲು ಬಳಸಬಹುದಾದ ಕಚ್ಚಾ ಈವೆಂಟ್ ಮಾದರಿಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಬಳಕೆದಾರರಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಎಂದು Lutomirsky ಸಲಹೆ ನೀಡಿದರು.

ಸ್ಟೀಫನ್ ಮುಲ್ಲರ್ ಅವರ ಸೆಟ್ ಎಂದು ಸಲಹೆ ನೀಡಿದರು ತೇಪೆಗಳು Linux ರ್ಯಾಂಡಮ್ ನಂಬರ್ ಜನರೇಟರ್ (LRNG) ಗಾಗಿ (ಪ್ರಸ್ತುತ ಆವೃತ್ತಿ 26 ಬಿಡುಗಡೆಯಾಗಿದೆ) ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಒದಗಿಸುವ ಮಾರ್ಗವಾಗಿದೆ. LRNG "ಯಾದೃಚ್ಛಿಕ ಬಿಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಬಳಸುವ ಎಂಟ್ರೊಪಿ ಮೂಲಗಳ ಮೇಲಿನ SP800-90B ಮಾರ್ಗಸೂಚಿಗಳೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಅನುಸರಣೆಯಾಗಿದೆ," ಇದು ಸರ್ಕಾರದ ಮಾನದಂಡಗಳ ಸಮಸ್ಯೆಗೆ ಪರಿಹಾರವಾಗಿದೆ.
ಮ್ಯಾಥ್ಯೂ ಗ್ಯಾರೆಟ್ "ನಿಜವಾದ ಯಾದೃಚ್ಛಿಕ ದತ್ತಾಂಶ" ಎಂಬ ಪದವನ್ನು ವಿರೋಧಿಸಿದರು, ಮಾದರಿಯ ಸಾಧನಗಳನ್ನು ತಾತ್ವಿಕವಾಗಿ ಅವುಗಳನ್ನು ಊಹಿಸುವಂತೆ ಮಾಡಲು ಸಾಕಷ್ಟು ನಿಖರವಾಗಿ ಮಾದರಿಯಾಗಬಹುದು: "ನಾವು ಇಲ್ಲಿ ಕ್ವಾಂಟಮ್ ಘಟನೆಗಳನ್ನು ಸ್ಯಾಂಪಲ್ ಮಾಡುತ್ತಿಲ್ಲ."

ಮುಲ್ಲರ್ ಪ್ರತಿಕ್ರಿಯಿಸಿದ ಪದವು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ ಅನ್ನು ವಿವರಿಸಲು ಜರ್ಮನ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ 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 ಇನ್ನೂ ಅಪೇಕ್ಷಣೀಯವಾಗಿದ್ದರೆ, ಭವಿಷ್ಯದಲ್ಲಿ ಈ ನ್ಯೂನತೆಯನ್ನು ಪರಿಹರಿಸಬೇಕಾಗುತ್ತದೆ, ಆದರೆ ಹೆಚ್ಚಾಗಿ ಇದನ್ನು ಕರ್ನಲ್‌ನಲ್ಲಿಯೇ ಮಾಡಲಾಗುವುದಿಲ್ಲ.

ಕೆಲವು ಜಾಹೀರಾತುಗಳು 🙂

ನಮ್ಮೊಂದಿಗೆ ಇರುವುದಕ್ಕೆ ಧನ್ಯವಾದಗಳು. ನೀವು ನಮ್ಮ ಲೇಖನಗಳನ್ನು ಇಷ್ಟಪಡುತ್ತೀರಾ? ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯವನ್ನು ನೋಡಲು ಬಯಸುವಿರಾ? ಆರ್ಡರ್ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಸ್ನೇಹಿತರಿಗೆ ಶಿಫಾರಸು ಮಾಡುವ ಮೂಲಕ ನಮ್ಮನ್ನು ಬೆಂಬಲಿಸಿ, $4.99 ರಿಂದ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಕ್ಲೌಡ್ VPS, ಪ್ರವೇಶ ಮಟ್ಟದ ಸರ್ವರ್‌ಗಳ ಅನನ್ಯ ಅನಲಾಗ್, ಇದನ್ನು ನಿಮಗಾಗಿ ನಾವು ಕಂಡುಹಿಡಿದಿದ್ದೇವೆ: $5 ರಿಂದ VPS (KVM) E2697-3 v6 (10 ಕೋರ್‌ಗಳು) 4GB DDR480 1GB SSD 19Gbps ಬಗ್ಗೆ ಸಂಪೂರ್ಣ ಸತ್ಯ ಅಥವಾ ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು? (RAID1 ಮತ್ತು RAID10, 24 ಕೋರ್‌ಗಳವರೆಗೆ ಮತ್ತು 40GB DDR4 ವರೆಗೆ ಲಭ್ಯವಿದೆ).

ಆಮ್‌ಸ್ಟರ್‌ಡ್ಯಾಮ್‌ನಲ್ಲಿರುವ Equinix Tier IV ಡೇಟಾ ಸೆಂಟರ್‌ನಲ್ಲಿ Dell R730xd 2x ಅಗ್ಗವಾಗಿದೆಯೇ? ಇಲ್ಲಿ ಮಾತ್ರ $2 ರಿಂದ 2 x Intel TetraDeca-Ceon 5x E2697-3v2.6 14GHz 64C 4GB DDR4 960x1GB SSD 100Gbps 199 TV ನೆದರ್ಲ್ಯಾಂಡ್ಸ್ನಲ್ಲಿ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 ರಿಂದ! ಬಗ್ಗೆ ಓದು ಮೂಲಸೌಕರ್ಯ ನಿಗಮವನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸುವುದು ಒಂದು ಪೆನ್ನಿಗೆ 730 ಯುರೋಗಳಷ್ಟು ಮೌಲ್ಯದ Dell R5xd E2650-4 v9000 ಸರ್ವರ್‌ಗಳ ಬಳಕೆಯೊಂದಿಗೆ ವರ್ಗ?

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ