เคยไม๊ตั้ง Password ไว้หลายๆ Passwords จนมีเยอะขึ้นเรื่อยๆจนจำไม่ไหว และการจะจดเอาไว้หรือใช้โปรแกรมมาช่วยจำ เช่น KeePass ,Password Prime , Roboform เราจะมั่นใจในตัวโปรแกรมเก็บ Password พวกนี้ได้อย่างไรว่ามันจะไม่มีอะไรแอบแฝง(อาจจะมีการขายรหัสหรือข้อมูลของเราให้ตลาดมืดก็ได้)จะเห็นว่าบริษัทหรือองกรณ์ไฟล์เอกสารที่สำคัญมักจะไม่ใช่โปรแกรมจากภายนอกมาช่วยเก็บข้อมูลสำคัญพวกที่เกี่ยวกับ Security หรือ ความลับจะไม่มีการ Out Source(จากประสบการณ์ที่ได้เห็นไฟล์สำคัญมักจะถูกเข้ารหัสด้วยมือเจ้าของเสมอ) ทั้งนี้ปัญหาในการจำ Passwords ผมเองก็ประสบปัญหาเหมือนกัน ในเบื้องต้นผมพยายามตั้ง Passwords ให้สัมพันธ์กับ Service ที่ผมใช้ซึ่งมันก็โอเคเลยแต่ทุกวันนี้ Service ที่ผมใช้มันเยอะมากๆ จนเวลาจะใช้อันไหนทีต้องมานั้ง Reset Password หรือ Forgot Password เป็นประจำ ก็เลยมาเขียนบทความวิธีเข้ารหัสด้วยตัวเองซึ่งก็ไม่ได้ยากอะไรมากมายแถมเอาไปใช้ได้จริงๆแบบง่ายๆและปลอดภัยแน่นอนเพราะเราเข้ารหัสเองกับมือแถมยังสามารถเอาไปประยุกต์ใช้เข้ารหัสไฟล์ประเภทต่างๆที่เราต้องการเก็บเป็นความลับได้อีกด้วย
มาเริ่มกันเลย
โดยโปรแกรมที่ผมจะเอามาใช้ในการเข้ารหัสไฟล์ของเรานั้นก็เป็นโปรแกรมมาตราฐานระดับสากลคือ OpenSSL (โดยทั่วไปโปรแกรมนี้จะถูกใช้เป็น Module https(HTTP+SSL) ที่เราใช้งานกันอยู่ในปัจจุบันนั้นเอง(ในฝั่ง WebServer))ซึ่งก็มีทั้ง Version บน Windows ,Linux ,Mac OS X
เริ่มจากเราสร้าง Text file รหัสผ่านของเราขึ้นมาจะสร้างแบบไหนก็ได้ตัวอย่าง เช่น
Service : username : password
http://mayaseven.blogspot.com : user : passwordblog
facebook : user : passwordface
twitter : user : passwordter
ผม save file ชื่อ mypassword.txt จากนั้นผมก็เปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่ง
“openssl enc -aes-256-cbc -in ~/mypassword.txt -out ~/mypassword.txt.enc”
ผมจะอธิบายคำสั่งที่ผมใช้
openssl คือโปรแกรมที่เราใช้เข้ารหัส
enc คือโหมดของโปรแกรมนี้ว่าเราจะเข้ารหัส
-aes-256-cbc คือ Algorithm ที่ใช้ในการเข้ารหัส
-in ~/mypassword.txt คือไฟล์ที่เราจะนำมาเข้ารหัส
-out ~/mypassword.txt.enc คือเมื่อเข้ารหัสเสร็จจะให้ไฟล์นั้นอยู่ที่ไหนและชื่ออะไร
เมื่อเราพิมพ์เสร็จแล้วกด Enter มันจะให้เราใส่ encryption password สองครั้งซึ่งมันก็คือ Key ที่เราจะเอาไว้ใช้ในตอนถอดรหัสนั้นเอง
ดูรูปประกอบ :
ไฟล์ที่เราจะนำมาเข้ารหัส |
ให้เราใส่ Key สองครั้ง |
ลองเปิดไฟล์ที่ถูกเข้ารหัสดูจะเห็นว่าไม่สามารถอ่านได้ |
ปล.สำคัญ* เราต้องใส่ Key ที่ซับซ้อนด้วยไม่งั้นก็จะสามารถถูก Crack ด้วยวิธี Brute Force ได้และอีกอย่าง Key อันนี้สามารถใช้ถอดรหัสเข้าดูรหัสทั้งหมดที่เราเก็บไว้ได้ดังนั้นควรตั้งให้ซับซ้อนมากวิธีการตั้ง Password ที่ถูกต้องแและไม่ยากอ่านได้ที่ : http://blog.mayaseven.com/%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%8A%E0%B8%B5%E0%B8%A7%E0%B8%B4%E0%B8%95%E0%B8%AD%E0%B8%A2%E0%B8%B9%E0%B9%88%E0%B8%9A%E0%B8%99%E0%B9%82%E0%B8%A5%E0%B8%81-internet/
สำหรับวิธีการถอดรหัสก็ทำคล้ายกันโดยใช้คำสั่ง
“openssl enc -d -aes-256-cbc -in ~/mypassword.txt.enc -out ~/mypassword.txt.dec”
จะเห็นว่ามี option -d เพิ่มขึ้นมาเป็นการบอกว่าให้มันถอดรหัสนะไม่ใช่เข้ารหัส ตามรูป
คำสั่ง+ใส่ Key ในการถอดรหัส |
ไฟล์ที่ถูกถอดรหัสจะเห็นว่ากลับมา่อ่านได้อีกครั้ง |
สามารถใช้เทคนิดเดียวกันนี้ในการเข้ารหัสไฟล์ประเภทต่างๆได้ทุกประเภท ที่เราต้องการเก็บไฟล์นั้นเป็นความลับ 😀
Download OpenSSL for Windows : http://gnuwin32.sourceforge.net/packages/openssl.htm
ใช้คำสั่งเหมือนข้างบนนี้ทุกประการ