MySQL ನಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಶನ್: ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆ

ಕೋರ್ಸ್‌ಗೆ ಹೊಸ ದಾಖಲಾತಿಯ ಪ್ರಾರಂಭದ ನಿರೀಕ್ಷೆಯಲ್ಲಿ "ಡೇಟಾಬೇಸ್" ನಾವು MySQL ನಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕುರಿತು ಲೇಖನಗಳ ಸರಣಿಯನ್ನು ಪ್ರಕಟಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತೇವೆ.

ಈ ಸರಣಿಯ ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ, ನಾವು ಚರ್ಚಿಸಿದ್ದೇವೆ ಮಾಸ್ಟರ್ ಕೀ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇಂದು, ಹಿಂದೆ ಪಡೆದ ಜ್ಞಾನದ ಆಧಾರದ ಮೇಲೆ, ಮುಖ್ಯ ಕೀಲಿಗಳ ತಿರುಗುವಿಕೆಯನ್ನು ನೋಡೋಣ.

ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆಯು ಹೊಸ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ರಚಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಈ ಹೊಸ ಕೀಲಿಯೊಂದಿಗೆ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಗಳನ್ನು (ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಹೆಡರ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ) ಮರು-ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ನ ಹೆಡರ್ ಹೇಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳೋಣ:

MySQL ನಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಶನ್: ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆ

ಹಿಂದಿನ ಲೇಖನದಿಂದ, ಸರ್ವರ್ ಪ್ರಾರಂಭದಲ್ಲಿ ಎಲ್ಲಾ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ಗಳ ಹೆಡರ್‌ಗಳನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ದೊಡ್ಡ ಕೀ ಐಡಿಯನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತದೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ. ಉದಾಹರಣೆಗೆ ನಾವು KEY ಯೊಂದಿಗೆ ಮೂರು ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆID = 3 ಮತ್ತು KEY ಜೊತೆ ಒಂದು ಟೇಬಲ್ID = 4, ನಂತರ ಗರಿಷ್ಠ ಕೀ ID 4 ಆಗಿರುತ್ತದೆ. ಈ KEY ID - MAX KEY ID ಎಂದು ಕರೆಯೋಣ.

ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆಯು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

1. ಬಳಕೆದಾರರು ALTER INNODB ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಾರೆ.

2. ಸರ್ವರ್ UUID ಮತ್ತು KEY ನೊಂದಿಗೆ ಹೊಸ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ರಚಿಸಲು ಕೀರಿಂಗ್ ಅನ್ನು ಸರ್ವರ್ ವಿನಂತಿಸುತ್ತದೆಐಡಿ ಒಂದು ಜೊತೆಗೆ MAX ಗೆ ಸಮಕೀID. ಆದ್ದರಿಂದ ನಾವು INNODB ಗೆ ಸಮಾನವಾದ ಮಾಸ್ಟರ್ ಕೀ ಐಡಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆಕೀ-ಯುಯುಐಡಿ-(ಗರಿಷ್ಠಕೀID + 1). ಮಾಸ್ಟರ್ ಕೀಯ ಯಶಸ್ವಿ ಉತ್ಪಾದನೆಯ ನಂತರ, MAX KEY ID ಅನ್ನು ಒಂದರಿಂದ ಹೆಚ್ಚಿಸಲಾಗುತ್ತದೆ (ಅಂದರೆ MAXಕೀID=MAXಕೀID + 1).

3. ಸರ್ವರ್ ಮಾಸ್ಟರ್ ಕೀಲಿಯೊಂದಿಗೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಎಲ್ಲಾ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ಗೆ:

  • ಹೊಸ ಮಾಸ್ಟರ್ ಕೀಲಿಯೊಂದಿಗೆ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಲಿಯನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ;

  • ಹೊಸ MAX ಗೆ ಕೀ ಐಡಿಯನ್ನು ನವೀಕರಿಸುತ್ತದೆಕೀಐಡಿ;

  • UUID ಸರ್ವರ್ UUID ಗಿಂತ ಭಿನ್ನವಾಗಿದ್ದರೆ, ನಂತರ ಸರ್ವರ್ UUID ಅನ್ನು ನವೀಕರಿಸಿ.

ನಮಗೆ ತಿಳಿದಿರುವಂತೆ, ಟೇಬಲ್ ಅನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸುವ ಮಾಸ್ಟರ್ ಕೀ ID ಯುಯುಐಡಿ ಮತ್ತು ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಹೆಡರ್‌ನಿಂದ ಓದಲಾದ ಕೀ ಐಡಿಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ನಾವು ಈಗ ಮಾಡುತ್ತಿರುವುದು ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಹೆಡರ್‌ನಲ್ಲಿ ಈ ಮಾಹಿತಿಯನ್ನು ನವೀಕರಿಸುವುದು ಇದರಿಂದ ಸರ್ವರ್ ಸರಿಯಾದ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ.

ನಾವು ವಿಭಿನ್ನ ಸ್ಥಳಗಳಿಂದ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಉದಾಹರಣೆಗೆ ವಿಭಿನ್ನ ಬ್ಯಾಕ್‌ಅಪ್‌ಗಳು, ನಂತರ ಅವರು ವಿಭಿನ್ನ ಮಾಸ್ಟರ್ ಕೀಗಳನ್ನು ಬಳಸಬಹುದು. ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ ಈ ಎಲ್ಲಾ ಮಾಸ್ಟರ್ ಕೀಗಳನ್ನು ರೆಪೊಸಿಟರಿಯಿಂದ ಹಿಂಪಡೆಯಬೇಕಾಗುತ್ತದೆ. ಇದು ಸರ್ವರ್ ಸ್ಟಾರ್ಟ್ಅಪ್ ಅನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಸರ್ವರ್-ಸೈಡ್ ಕೀ ಸ್ಟೋರ್ ಅನ್ನು ಬಳಸಿದರೆ. ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆಯೊಂದಿಗೆ, ನಾವು ಎಲ್ಲಾ ಟೇಬಲ್‌ಸ್ಪೇಸ್‌ಗಳಿಗೆ ಒಂದೇ ಮಾಸ್ಟರ್ ಕೀಲಿಯೊಂದಿಗೆ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಗಳನ್ನು ಮರು-ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತೇವೆ. ಪ್ರಾರಂಭದಲ್ಲಿ ಸರ್ವರ್ ಈಗ ಕೇವಲ ಒಂದು ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸಬೇಕು.

ಇದು ಸಹಜವಾಗಿ, ಕೇವಲ ಆಹ್ಲಾದಕರ ಅಡ್ಡ ಪರಿಣಾಮವಾಗಿದೆ. ನಮ್ಮ ಸರ್ವರ್ ಅನ್ನು ಹೆಚ್ಚು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆಯ ಮುಖ್ಯ ಉದ್ದೇಶವಾಗಿದೆ. ವಾಲ್ಟ್‌ನಿಂದ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ಹೇಗಾದರೂ ಕದ್ದಿದ್ದಲ್ಲಿ (ಉದಾಹರಣೆಗೆ, ವಾಲ್ಟ್ ಸರ್ವರ್‌ನಿಂದ), ಹೊಸ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ರಚಿಸಲು ಮತ್ತು ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಗಳನ್ನು ಮರು-ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ, ಕದ್ದ ಕೀಯನ್ನು ಅಮಾನ್ಯಗೊಳಿಸುತ್ತದೆ. ನಾವು ಸುರಕ್ಷಿತವಾಗಿದ್ದೇವೆ...ಬಹುತೇಕ.

ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ, ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಲಿಯನ್ನು ಒಮ್ಮೆ ಕದ್ದರೆ, ಮೂರನೇ ವ್ಯಕ್ತಿ ಅದನ್ನು ಡೇಟಾವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದರ ಕುರಿತು ನಾನು ಮಾತನಾಡಿದ್ದೇನೆ. ನಮ್ಮ ಡಿಸ್ಕ್ಗೆ ಪ್ರವೇಶವಿದೆ ಎಂದು ಒದಗಿಸಲಾಗಿದೆ. ಮಾಸ್ಟರ್ ಕೀ ಕದ್ದಿದ್ದರೆ ಮತ್ತು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಡೇಟಾಗೆ ನೀವು ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದರೆ, ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀ ಅನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ನೀವು ಕದ್ದ ಮಾಸ್ಟರ್ ಕೀಯನ್ನು ಬಳಸಬಹುದು. ನೀವು ನೋಡುವಂತೆ, ಮಾಸ್ಟರ್ ಕೀಲಿಯ ತಿರುಗುವಿಕೆಯು ಈ ಸಂದರ್ಭದಲ್ಲಿ ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ. ನಾವು ಹೊಸ ಮಾಸ್ಟರ್ ಕೀಲಿಯೊಂದಿಗೆ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಯನ್ನು ಮರು-ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತೇವೆ, ಆದರೆ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್/ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸುವ ನಿಜವಾದ ಕೀ ಒಂದೇ ಆಗಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, "ಹ್ಯಾಕರ್" ಡೇಟಾವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಅದನ್ನು ಬಳಸುವುದನ್ನು ಮುಂದುವರಿಸಬಹುದು. ಈ ಹಿಂದೆ ನಾನು ಸುಳಿವು ನೀಡಿದ್ದೆ MySQL ಗಾಗಿ ಪರ್ಕೋನಾ ಸರ್ವರ್ ನಿಜವಾದ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಮರು-ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಮಾಡಬಹುದು, ಕೇವಲ ಸರಳ ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀ ಮರು-ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅಲ್ಲ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಥ್ರೆಡ್‌ಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಕಾರ್ಯವು ಈ ಕ್ಷಣದಲ್ಲಿ ಇನ್ನೂ ಪ್ರಾಯೋಗಿಕವಾಗಿದೆ.

ಮಾಸ್ಟರ್ ಕೀ ಕದಿಯಲ್ಪಟ್ಟಾಗ ಮಾಸ್ಟರ್ ಕೀ ತಿರುಗುವಿಕೆಯು ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಆಕ್ರಮಣಕಾರರಿಗೆ ಅದನ್ನು ಬಳಸಲು ಮತ್ತು ಟೇಬಲ್‌ಸ್ಪೇಸ್ ಕೀಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ.

ಉಚಿತ ಡೆಮೊ ಪಾಠಕ್ಕಾಗಿ ಸೈನ್ ಅಪ್ ಮಾಡಿ.

ಮತ್ತಷ್ಟು ಓದು:

ಮೂಲ: www.habr.com