Public and Private Keys

เมื่อการรักษาความปลอดภัยเป็นสิ่งสำคัญในการใช้งานระบบสารสนเทศขององค์กร จึงได้มีนักวิชาการพยายามหาวิธีการเพื่อเพิ่มความปลอดภัยของข้อมูล และบางท่านก็ได้แนะนำวิธีการต่างๆ ในการป้องกันข้อมูลขององค์กร วิธีหนึ่งที่เป็นที่นิยม คือ การเข้ารหัสซึ่งมีหลากหลายวิธีการ และ Public and Private Keys ได้รับความนิยมมากในการรักษาความปลอดภัยของข้อมูลในส่วนตัวแล้ววิธีการนี้ดูจะเหมาะสม และเป็นวิธีการที่น่าจะเชื่อมั่นได้ที่สุด เราลองมาดูวิธีการ และอะไรๆหลายอย่างของวิธีการนี้กัน

การเข้ารหัสลับแบบกุญแจอสมมาตร Public and Private Keys

การเข้ารหัสลับแบบกุญแจอสมมาตร (Public-key cryptography) คือ การเข้ารหัสโดยกุญแจที่ใช้เข้ารหัสจะแตกต่างกับกุญแจที่ใช้ถอดรหัส นั่นคือการเข้ารหัสและการถอดรหัสจำเป็นต้องใช้กุญแจเป็นคู่ กุญแจที่ใช้เข้ารหัสจะถือเป็นกุญแจสาธารณะที่เรียกว่า public key โดยที่บุคคลที่จะเข้ารหัสข้อมูลจะได้รับ public key ในการเข้ารหัส ส่วนบุคคลที่สามารถถอดรหัสได้คือบุคคลที่มีกุญแจส่วนตัวที่เรียกว่า private key ขั้นตอนวิธีที่เป็นที่รู้จักสำหรับการเข้ารหัสลับแบบกุญแจอสมมาตรคือ RSA [http://th.wikipedia.org]

สรุปโดยปกติทั่วไปหน้าที่ของผู้ออกใบรับรองฯ มีดังนี้

  1. สร้างคู่กุญแจ (Key pairs) ตามคำขอของผู้ขอใช้บริการ
  2. ออกใบรับรองฯ เพื่อยืนยันตัวบุคคลของผู้ขอใช้บริการ
  3. จัดเก็บกุญแจสาธารณะ (Public Key) ในฐานข้อมูล
  4. เปิดเผยกุญแจสาธารณะต่อสาธารณชนที่ติดต่อผ่านทางระบบเครือข่าย
  5. ยืนยันตัวบุคคลที่เป็นเจ้าของกุญแจสาธารณะตามคำขอของบุคคลทั่วไป
  6. เปิดเผยรายชื่อใบรับรองฯ ที่ถูกยกเลิกแล้ว (Certificate Revocation List หรือ CRL) เพื่อเป็นการบอกแก่สาธารณชนว่าใบรับรองฯ นั้น ไม่สามารถนำมาใช้ได้อีกต่อไปDigital Signatures หรือลายมือชื่ออิเล็กทรอนิกส์ หมายถึงกลุ่มของตัวเลขกลุ่มหนึ่งซึ่งแสดงความมีตัวตนของบุคคลคนหนึ่ง (กลุ่มตัวเลขนี้จะมีเลขที่ไม่ซ้ำกับใครเลย) ซึ่งจะใช้ในการแนบติดไปกับเอกสารใดๆ ก็ตามในรูปแบบของไฟล์ เจตนาก็เพื่อเป็นการยืนยันหรือรับรองข้อความที่ปรากฎอยู่ในไฟล์นั้นๆ ทำนองเดียวกับการลงลายมือชื่อด้วยหมึกลงบนกระดาษ เพื่อเป็นการยืนยันหรือรับรองข้อความที่ปรากฎอยู่บนกระดาษนั่นเอง

เมื่อเริ่มที่จะเข้าใจแล้ว เราลองมาดูการใช้งาน กัน

สำหรับผู้ใช้ Linux ตระกูลต่างๆ

Ubnutu หรือ Debian

#sudo apt-get install openssh

ใน Ubuntu 11.04 ติดตั้งมาให้แล้วตอนเริ่มต้น

แล้วทำการสร้างตามขั้นตอนดังนี้

#mkdir ~/.ssh
#chmod 700 ~/.ssh
#ssh-keygen -t rsa

คำสั่งเมื่อเริ่มทำงานเพื่อทำการสร้างรหัส และเข้ารหัส

Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/b/.ssh/id_rsa.
Your public key has been saved in /home/b/.ssh/id_rsa.pub.

คำสั่งต่อไปเพื่อทำการกำหนดขนาดของการเข้ารหัสให้ยากขึ้นสำหรับผู้ที่จะบุกรุกยิ่งมีขนาดใหญ่ยิ่งจะยากในการเจาะระบบ เพราะต้องใช้เวลาในการตรวจสอบ การเข้ารหัสและหารหัส จึงตั้งไว้ที่ 4096 บิต ปกติจะเป็น 2048 bit

#ssh-keygen -t rsa -b 4096

เปิดไฟล /etc/ssh/sshd_config ทำการแก้ไขดังนี้ เป็นการเข้ารหัสไดเรททอรี ใช้งาน

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

PubkeyAuthentication yes
RSAAuthentication yes

ป้องกันการใช้ไฟล์โดยผู้ไม่มีสิทธิทำการกำหนดสิทธิ ดังนี้

#chmod go-w ~/
#chmod 700 ~/.ssh
#chmod 600 ~/.ssh/authorized_keys

แล้วทำการ รีสตาร์ ssh ใหม่ เป็นอันเสร็จและมีความปลอดภัยมากขึ้น

#sudo service ssh restart

  1. สุธี
    กันยายน 10, 2011 ที่ 13:14

    ดีคับ กำลังหาข้อมูลอยู่

  1. No trackbacks yet.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: