ಹೇ ಹಬ್ರ್.
ನಾನು ನಿಮಗೆ ಒಂದು ಸಣ್ಣ ಯೋಜನೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲು ಬಯಸುತ್ತೇನೆ
ಫೈಲ್ ಸಿಸ್ಟಂನಲ್ಲಿ ಮಾಹಿತಿಯ ಗುಪ್ತ ಸಂಗ್ರಹಣೆಯ ಕುರಿತು ನಾನು ಯೋಜನೆಯನ್ನು ಮಾಡಿದ್ದೇನೆ (ಮುಂದೆ ФС).
ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಗೌಪ್ಯ ಮಾಹಿತಿಯನ್ನು ಕದಿಯಲು ಇದನ್ನು ಬಳಸಬಹುದು.
ಅತ್ಯಂತ ಹಳೆಯ Linux FS ಅನ್ನು ಮೂಲಮಾದರಿಯಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ
Реализация
ಅನುಷ್ಠಾನದ ಪರಿಗಣನೆಗಳು
ext2 ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಅನ್ನು "ಬಿಚ್ಚಿಡುವುದು" ಉತ್ತಮವಾಗಿದ್ದರೆ, ನಂತರ ನೀವು FS ನಲ್ಲಿ ಕರೆಯಲ್ಪಡುವದನ್ನು ಬದಲಾಯಿಸಬಹುದು
ನೀವು ಗುಪ್ತ ಮಾಹಿತಿಯನ್ನು ಎನ್ಕ್ರಿಪ್ಶನ್ ಇಲ್ಲದೆ ಸಂಗ್ರಹಿಸಿದರೆ, ಎಫ್ಎಸ್ನಲ್ಲಿ ಅದರ ಅಸ್ಪಷ್ಟತೆಯ ಹೊರತಾಗಿಯೂ, ಅದು ಇನ್ನೂ ಹೆಚ್ಚು ಎದ್ದುಕಾಣುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಪ್ರೋಗ್ರಾಮರ್ಗೆ ಏನು ನೋಡಬೇಕೆಂದು ತಿಳಿದಿದ್ದರೆ. ಆದ್ದರಿಂದ, ಮೂಲ ಫೈಲ್ನ ಎಲ್ಲಾ ಬ್ಲಾಕ್ಗಳನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ನಿರ್ಧರಿಸಲಾಯಿತು. ನಾನು ಬ್ಲಾಕ್ ಸೈಫರ್ ಅನ್ನು ಆರಿಸಿದೆ
ಓದುವಾಗ ಎಲ್ಲಾ ಇತರರಿಂದ ಅಗತ್ಯವಾದ ಬ್ಲಾಕ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು, ಬ್ಲಾಕ್ನ ಆರಂಭದಲ್ಲಿ ಪ್ರತಿ ಬ್ಲಾಕ್ಗೆ ವಿಶೇಷ ಮಾರ್ಕರ್ ಅನ್ನು ಸೇರಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು. ಮೂಲ ಫೈಲ್ನಲ್ಲಿರುವ ಬ್ಲಾಕ್ ಸಂಖ್ಯೆಯನ್ನು ಅವಲಂಬಿಸಿ ಈ ಟೋಕನ್ ಅನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಈ ಟ್ರಿಕ್ ತಕ್ಷಣವೇ ಅಗತ್ಯವಾದ ಬ್ಲಾಕ್ಗಳನ್ನು ಹುಡುಕಲು ಮಾತ್ರವಲ್ಲದೆ ಅವುಗಳ ಸರಿಯಾದ ಕ್ರಮವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು.
ವ್ಯವಸ್ಥೆಯ ಸಾಮಾನ್ಯ ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವ.
ರೆಕಾರ್ಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್
ಅಂಕಗಳು:
- ಮೊದಲು ಮೂಲ ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಕೆಲವು ಮಾಹಿತಿಯನ್ನು ಬರೆಯಿರಿ;
- ಈ ಮಾಹಿತಿಯನ್ನು ಅಳಿಸಿ (ಎಲ್ಲವೂ ಅಗತ್ಯವಿಲ್ಲ);
- ಮರೆಮಾಡಬೇಕಾದ ಫೈಲ್ ಅನ್ನು ಸಮಾನ ಉದ್ದದ ಬ್ಲಾಕ್ಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ, ಮಾರ್ಕರ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ;
- ಈ ಬ್ಲಾಕ್ಗಳನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿ;
- ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಬ್ಲಾಕ್ಗಳನ್ನು ಖಾಲಿ ಎಫ್ಎಸ್ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ ಇರಿಸಿ.
ಬ್ಲಾಕ್ ರೇಖಾಚಿತ್ರ ಪ್ರಿಯರಿಗೆ
ರೆಕಾರ್ಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್ನ ಬ್ಲಾಕ್ ರೇಖಾಚಿತ್ರವನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ. ಅಲ್ಗಾರಿದಮ್ ನಾಲ್ಕು ಫೈಲ್ಗಳನ್ನು ಇನ್ಪುಟ್ ಆಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ:
-ಮಾರ್ಪಡಿಸಬಹುದಾದ ಫೈಲ್ ಸಿಸ್ಟಮ್ನ ಚಿತ್ರ;
- ಫೈಲ್ ಸ್ಟೆಗಾನೋಗ್ರಫಿಗೆ ಒಳಪಟ್ಟಿರುತ್ತದೆ;
-AES ಗಾಗಿ ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಯೊಂದಿಗೆ ಫೈಲ್;
ಮಾರ್ಕರ್ನೊಂದಿಗೆ ಫೈಲ್.
ಈ ಅಲ್ಗಾರಿದಮ್ ಒಂದು ನ್ಯೂನತೆಯನ್ನು ಹೊಂದಿದೆ ಎಂದು ಈಗಿನಿಂದಲೇ ಗಮನಿಸಬೇಕಾದ ಸಂಗತಿ: ಫೈಲ್ ಅನ್ನು ಎಫ್ಎಸ್ಗೆ ಬರೆದ ನಂತರ, ಸಾಧ್ಯವಿಲ್ಲ FS ನಲ್ಲಿ ಹೊಸದನ್ನು ಬರೆಯಿರಿ, ಏಕೆಂದರೆ ಯಾವುದೇ ಹೊಸ ಮಾಹಿತಿಯು ನಮ್ಮ ಜಿಪ್ ಮಾಡಿದ ಫೈಲ್ಗೆ ನಾವು ನಿಗದಿಪಡಿಸಿದ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ ಕೊನೆಗೊಳ್ಳಬಹುದು, ಆದರೂ ಇದು "ನಮ್ಮ ಟ್ರ್ಯಾಕ್ಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಆವರಿಸುವ" ಸಾಧ್ಯತೆಯನ್ನು ತೆರೆಯುತ್ತದೆ.
ಆದರೆ ಇದನ್ನು ಹೇಗೆ ಸರಿಪಡಿಸಬಹುದು ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ: ಎಫ್ಎಸ್ನಲ್ಲಿ ಬ್ಲಾಕ್ಗಳನ್ನು ಬರೆಯಲು ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಪುನಃ ಬರೆಯುವುದು ಅವಶ್ಯಕ. ಇದು ಅರ್ಥವಾಗುವ, ಆದರೆ ನಂಬಲಾಗದಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವ ಕೆಲಸವಾಗಿದೆ.
ಪರಿಕಲ್ಪನೆಯ ಪುರಾವೆಗಾಗಿ ನಾನು ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಿಲ್ಲ.
ಪರಿಣಾಮವಾಗಿ, ಎಫ್ಎಸ್ಗೆ ಈ ಕೆಳಗಿನ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗುವುದು; ಸ್ಟೆಗಾನೋಗ್ರಫಿ ಮೊದಲು ಎಫ್ಎಸ್ ತೋರುತ್ತಿದೆ (ಆಡಿಯೊ ಫೈಲ್ ಅನ್ನು ಈ ಹಿಂದೆ ರೆಕಾರ್ಡ್ ಮಾಡಲಾಗಿದೆ).
ಮತ್ತು ಈಗಾಗಲೇ ಜಿಪ್ ಮಾಡಿದ ಮಾಹಿತಿಯೊಂದಿಗೆ ಎಫ್ಎಸ್ ತೋರುತ್ತಿದೆ.
ಓದುವ ಅಲ್ಗಾರಿದಮ್
ಅಂಕಗಳು:
- ಕೀ ಮತ್ತು ಮಾರ್ಕರ್ಗಳನ್ನು ನಿರ್ಮಿಸುವ ವಿಧಾನದ ಜ್ಞಾನದೊಂದಿಗೆ, ಮೊದಲ N ಮಾರ್ಕರ್ಗಳನ್ನು ರಚಿಸಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಬ್ಲಾಕ್ನ ಉದ್ದದಿಂದ N ಗುಣಿಸಿದಾಗ ಜಿಪ್ ಮಾಡಿದ ಫೈಲ್ನ ಉದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿರುತ್ತದೆ ಎಂಬ ಖಾತರಿಯೊಂದಿಗೆ;
- ಗುರುತುಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಎಫ್ಎಸ್ನಲ್ಲಿ ಬ್ಲಾಕ್ಗಳನ್ನು ಹುಡುಕಿ;
- ಸ್ವೀಕರಿಸಿದ ಬ್ಲಾಕ್ಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳಿ ಮತ್ತು ಗುರುತುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ;
- ಪರಿಣಾಮವಾಗಿ ಬ್ಲಾಕ್ಗಳನ್ನು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ ಮತ್ತು ಮೂಲ ಫೈಲ್ ಅನ್ನು ಪಡೆಯಿರಿ.
ಬ್ಲಾಕ್ ರೇಖಾಚಿತ್ರ ಪ್ರಿಯರಿಗೆ
ರೆಕಾರ್ಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್ನ ಬ್ಲಾಕ್ ರೇಖಾಚಿತ್ರವನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ. ಅಲ್ಗಾರಿದಮ್ ಮೂರು ಫೈಲ್ಗಳನ್ನು ಇನ್ಪುಟ್ ಆಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ:
-ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇಮೇಜ್;
-AES ಗಾಗಿ ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಯೊಂದಿಗೆ ಫೈಲ್;
ಮಾರ್ಕರ್ನೊಂದಿಗೆ ಫೈಲ್.
ಪ್ರೋಗ್ರಾಂ ರನ್ ಆದ ನಂತರ, ರೀಡ್ ಫೈಲ್ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಇದು ಸ್ಟೆಗಾನೋಗ್ರಾಫ್ ಮಾಡಿದ ಫೈಲ್ ಸಿಸ್ಟಮ್ನಿಂದ ಹೊರತೆಗೆಯಲಾದ ಫೈಲ್ ಆಗಿರುತ್ತದೆ; ಕೀ ಅಥವಾ ಮಾರ್ಕರ್ ಅನ್ನು ತಪ್ಪಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದರೆ, ನಂತರ ರೀಡ್ ಫೈಲ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ.
(ಸೌಂದರ್ಯದ ಪ್ರಿಯರಿಗೆ, ನೀವು ಫೈಲ್ ಅನ್ನು ಮಾತ್ರ ಸೇರಿಸಬಹುದು, ಆದರೆ ಮೆಟಾ-ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವ "ಹೆಡರ್" ಅನ್ನು ಸೇರಿಸಬಹುದು: ಫೈಲ್ ಹೆಸರು, ಹಕ್ಕುಗಳು, ಕೊನೆಯ ಮಾರ್ಪಡಿಸಿದ ಸಮಯ, ಇತ್ಯಾದಿ.)
ಸ್ಟಾರ್ಟ್ಅಪ್ ಆಟೊಮೇಷನ್
ಅನುಕೂಲಕ್ಕಾಗಿ, ಲಿನಕ್ಸ್ನಲ್ಲಿ ಬಿಡುಗಡೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬರೆಯಲಾಗಿದೆ (ಉಬುಂಟು 16.04.3 LTS ನಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ).
ಉಡಾವಣೆ ಹಂತ ಹಂತವಾಗಿ ನೋಡೋಣ.
ದಾಖಲೆ:
- sudo Copy_Flash.sh “DEVICE” - DEVICE (ಫ್ಲಾಶ್) ನಿಂದ FS ಚಿತ್ರವನ್ನು ಪಡೆಯಿರಿ;
- ./Write.sh "FILE" "KEY" "MARKER" - ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ರಚಿಸಿ, ಅಗತ್ಯ ಲೈಬ್ರರಿಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಬರೆಯುವ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ;
- sudo ./Write_Flash.sh “DEVICE” – ಬದಲಾದ FS ಅನ್ನು ಮತ್ತೆ DEVICE ಗೆ ಬರೆಯಿರಿ.
ಓದುವುದು:
- sudo Copy_Flash.sh “DEVICE” - DEVICE (ಫ್ಲಾಶ್) ನಿಂದ FS ಚಿತ್ರವನ್ನು ಪಡೆಯಿರಿ;
- ./Read.sh “KEY” ‘MARKER’ - ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ರಚಿಸಿ, ಅಗತ್ಯ ಲೈಬ್ರರಿಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಓದಲು ಸ್ಕಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ;
- ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ, ರೀಡ್ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಿರಿ - ಇದು ಜಿಪ್ ಮಾಡಿದ ಮಾಹಿತಿಯಾಗಿದೆ.
ತೀರ್ಮಾನಕ್ಕೆ
ಈ ಸ್ಟೆಗಾನೋಗ್ರಫಿ ವಿಧಾನಕ್ಕೆ ಬಹುಶಃ ಸುಧಾರಣೆ, ಹೆಚ್ಚುವರಿ ಪರೀಕ್ಷೆ ಮತ್ತು ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಫೈಲ್ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ವಿಸ್ತರಣೆಯ ಅಗತ್ಯವಿದೆ, ಉದಾಹರಣೆಗೆ
ಆದರೆ ಈ ಕೆಲಸದ ಉದ್ದೇಶವು ಫೈಲ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಮಾಹಿತಿಯ ಗುಪ್ತ ಸಂಗ್ರಹಣೆಯನ್ನು ಕೈಗೊಳ್ಳಲು ಸಾಧ್ಯವಿರುವ ತತ್ವವನ್ನು ತೋರಿಸುವುದು.
ಅಂತಹ ಅಲ್ಗಾರಿದಮ್ಗಳ ಸಹಾಯದಿಂದ, ನೀವು ನಿರ್ಭಯವಾಗಿ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು, ಮತ್ತು ನಿಮಗೆ ಕೀಲಿಯನ್ನು ತಿಳಿದಿದ್ದರೆ, ಅಂತಹ ವ್ಯವಸ್ಥೆಯನ್ನು ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿಯಿಂದ (ಆದರೆ ಬಹಳ ದೀರ್ಘವಾದ ಅಲ್ಗಾರಿದಮ್ನಿಂದ) ಹ್ಯಾಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾದರೆ, ಕೀಲಿಯನ್ನು ತಿಳಿಯದೆ, ಇದು ಸಿಸ್ಟಮ್ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಿರವಾಗಿದೆ ಎಂದು ನನಗೆ ತೋರುತ್ತದೆ, ಆದಾಗ್ಯೂ, ಇದು ಪ್ರತ್ಯೇಕ ಲೇಖನಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು.
ಎಲ್ಲಾ ಕೋಡ್ ಅನ್ನು ಪೈಥಾನ್ ಆವೃತ್ತಿ 3.5.2 ರಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ.
(ಹೌದು, ಹೌದು, ಉತ್ಪಾದನಾ ಆವೃತ್ತಿಗಾಗಿ ನೀವು "ವೇಗವಾಗಿ" ಏನನ್ನಾದರೂ ಬರೆಯಬೇಕಾಗಿದೆ ಎಂದು ನನಗೆ ತಿಳಿದಿದೆ, ಉದಾಹರಣೆಗೆ ಸಿ 😉)
ಈ ಅನುಷ್ಠಾನದಲ್ಲಿ, ಸ್ಟೆಗಾನೋಗ್ರಫಿಗಾಗಿ ಇನ್ಪುಟ್ ಫೈಲ್ನ ಗಾತ್ರವು 1000 kB ಅನ್ನು ಮೀರಬಾರದು.
ಬಳಕೆದಾರರಿಗೆ ನನ್ನ ಕೃತಜ್ಞತೆಯನ್ನು ವ್ಯಕ್ತಪಡಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ
ಮೂಲ: www.habr.com