כיום, אנו רואים נתונים ממגוון מקורות, והבעיה האחרונה היא הקפדה על אבטחתו ופרטיותו.
זה כולל לא רק מערכי נתונים גדולים המוחזקים על ידי ארגונים, אלא גם מודלים של AI/ML, אלגוריתמים, ובסופו של דבר, נתונים עם תחזיות.
נפח הנתונים גדל ככל שמספר החברות המשתמשות בגישות מדעי הנתונים בקבלת ההחלטות שלהן מתרחב.
התגלו ארגונים שונים בתחום ההצפנה והאבטחה עבור AI/ML ומחשוב ענן, אשר מאפשרים כעת חישובים על נתונים מוצפנים.
בעולם המשתנה ללא הרף של תקשורת מידע ומידע, אחת הבעיות הדוחקות לעסקים היא אבטחת תוכן הקבצים.
חלק מהמידע (אימיילים, התחברות) יכול להיות מאובטח באמצעות סיסמה.
עם זאת, מידע אחר שנשלח בדוא"ל או ב-FTP אינו יעיל אם הוא מוגן על ידי מילת מפתח.
כאן נכנסת לתמונה הצפנת קבצים, ומספקת את האבטחה והנוחות שגורמים המעורבים בהעברת מידע דורשים.
מהי הצפנת קבצים?
קבצים בודדים או מערכות קבצים מוגנים על ידי הצפנת קבצים, המצפינה אותם במפתח ייחודי והופך אותם לזמינים רק לבעל המפתח.
המטרה היא למנוע מאנשים מזיקים או לא מורשים לקבל גישה לקבצים בכונן הקשיח.
מערכת הפעלה או מערכת קבצים יכולה לספק תמיכה בהצפנת קבצים. ניתן לגשת לקבצים הרגישים רק באמצעות מפתח פענוח.
אם משתמש צריך לתקשר קבצים בודדים בצורה מאובטחת דרך האינטרנט או לשמור אותם במדיה ניידת כגון מקל USB, הצפנת קבצים תהיה שימושית.
קריפטוגרפיה היא המונח לתהליך של הצפנה ופענוח נתונים.
בואו נסתכל כיצד אנו יכולים להשתמש ב-Python כדי להצפין ולפענח חלק מהנתונים שלנו. אנו נשתמש בהצפנה סימטרית, כלומר נצפין ונפענח את הנתונים עם אותו מפתח.
כדי להצטרף למדריך זה, נצטרך את ספריית פייתון להצפנה.
שלבים להצפנה ופענוח של קובץ
אנו נעקוב אחר השלבים המפורטים להלן.
- התקנת ספרייה
- מערך נתונים
- יצירת מפתח
- טוען מפתח
- הצפנת קובץ
- פענוח קובץ
1. התקנת ספרייה
אנא פתח את "שורת הפקודה" (ב-Windows) והקלד את הקוד הבא כדי להתקין אותם:
2. מערך נתונים
נצטרך קובץ לדוגמה לעבוד איתו כדי להתחיל. הנה לִטעוֹם קובץ .csv כולל מידע על ציוני התלמידים.
3. יצירת מפתח
נשתמש במשוואה סימטרית בדוגמה שלנו. Fernet הוא סוג של הצפנה מאומתת הדורשת "מפתח" כדי לקרוא ו/או לשנות קובץ. כעת ניצור את המפתח ונשים אותו באותה ספרייה כמו קובץ הנתונים שלנו:
אם אתה נכנס לספרייה שבה נמצא קוד Python שלך, אתה אמור למצוא את הקובץ mykey.key. הקובץ צריך להיות רק שורה אחת, שהיא מחרוזת של תווים ברצף כלשהו. אתה יכול להסתכל על המפתח שלי למטה, אבל שלך יהיה שונה.
4. טעינת מפתח
נצטרך לטעון את מפתח ההצפנה לתוך הסביבה שלנו לאחר שהפקנו אותו כדי להצפין/פענח את הקבצים. השלב הבא הוא די פשוט, דורש רק את פתיחת הקובץ mykey.key והאחסון שלו בזיכרון המקומי:
מפתח ההצפנה נשמר כעת באופן מקומי כמשתנה המפתח.
5. הצפנת קובץ
אנו נבנה פונקציה שתשתמש במפתח ההצפנה ונחזיר את הקובץ המוצפן כעת כשיש לנו את הקובץ להצפנה ואת מפתח ההצפנה. אנו מאחסנים את אובייקט Fernet כמשתנה מקומי f כאשר אנו יוצרים אותו.
לאחר מכן, ייבאנו את הנתונים המקוריים שלנו (grades.csv) למקור. לאחר מכן, הנתונים מוצפנים עם אובייקט Fernet ומאוחסנים כמוצפנים.
לבסוף, אנו שומרים אותו בתור "enc_grades.csv" בקובץ new.csv. את הקובץ המוצפן ניתן לראות כאן:
6. פענוח קובץ
תרצה לגשת לקובץ לאחר שהצפנת אותו, ולדוגמה, העברת אותו בהצלחה למקום אחר. המידע הזה נמצא כעת בפורמט מוצפן.
השלב הבא הוא שחזור החומר המקורי על ידי פענוחו. ההליך בו נשתמש כעת הוא היפוך של ההצפנה שבה השתמשנו בסעיף הקודם.
נבצע את השלבים הזהים לקודמים, אבל הפעם נעבור מקובץ מוצפן לקובץ מפוענח:
לבסוף, אנו שומרים אותו בתור "dec_grades.csv" בקובץ חדש.csv. את הקובץ המוצפן ניתן לראות להלן:
סיכום
למדנו כיצד להצפין ולפענח קובץ והנתונים הכלולים בו באמצעות הצפנת הקובץ הסימטרית בפוסט זה באמצעות ה-Python שפת תכנות וחבילת ההצפנה.
הצפנה ופענוח של קבצים הם תהליך פשוט באמצעות ספרייה זו.
אנחנו לא צריכים להשתמש בשיטה הלוגית שלנו.
במקום זאת, אנו יכולים ליצור מפתח, להצפין את הקובץ ולאחר מכן לפענח אותו באמצעות המפתח - זה מאובטח ופשוט.
השאירו תגובה