µ¦Á¡·É¤ ªµ¤¤´É ¨° £´¥ ° á¦Ã °¨ dhcp...

Post on 30-Sep-2020

21 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

การเพมความมนคงปลอดภยของโพรโทคอล DHCP โดยการใชใบรบรองดจทล

Enhancing DHCP Security Using Digital Certificate

สมนา หาญกลา

Sumeena Hankla

วทยานพนธฉบบนเปนสวนหนงของการศกษา

ตามหลกสตรวทยาศาสตรมหาบณฑต สาขาวชาความมนคงทางระบบสารสนเทศ บณฑตวทยาลย

มหาวทยาลยเทคโนโลยมหานคร ปการศกษา 2553

I

หวขอวทยานพนธ การเพมความมนคงปลอดภยของโพรโทคอล DHCP โดยการใชใบรบรองดจทล

นกศกษา นางสาวสมนา หาญกลา รหสนกศกษา 5217810012 ปรญญา วทยาศาสตรมหาบณฑต สาขาวชา ความมนคงทางระบบสารสนเทศ พ.ศ. 2553 อาจารยผควบคมวทยานพนธ ผศ.ดร.ศภกร กงพศดาร

บทคดยอ

โพรโทคอล DHCP (Dynamic Host Configuration Protocol) ใชในการจดสรรหมายเลขไอพแอดเดรส (IP Address) ใหแกเครองไคลเอนทไดอยางสะดวกสบายงายขน แตอยางไรกตามโพรโทคอลนกยงมปญหาในดานความมนคงปลอดภยอยมาก การใชหมายเลข MAC (Media Acces Control) เปนวธการทนยมน ามาใชในการพสจนตวจรงของการใชงานโพรโทคอล DHCP แตกไมสามารถเพมความมนคงปลอดภยไดเทาทควร ดงนนวทยานพนธฉบบจงไดน าเสนอโพรโทคอล DHCP ทมความมนคงปลอดภยสงขนโดยการใชเทคโนโลยใบรบรองดจทล (Digital Certificate) มาประยกตใชรวมดวยกบโพรโทคอล DHCP แบบเดมทมอยแลว วธการนจะท าใหสามารถปองกนการถกบกรกดวยวธการดกจบขอมล(Sniff) Man-in-the-middle attack และ DoS attack ได

II

Project Title Enhancing DHCP Security Using Digital Certificate Student Sumeena Hankla Student ID 5217810012 Degree Master of Science Program Information Systems Security Year 2010 Thesis Advisor Assistant Professor Dr.Supakorn Kungpisdan

Abstract DHCP (Dynamic Host Configuration Protocol) is used to allocate network con-

figuration parameters to clients. However, the DHCP protocol has a security problem. MAC (Media Access Control) is popular for authentication in DHCP protocol but it can-not provide sufficient security. In this thesis, we propose the DHCP Protocol that pro-vides higher security using by digital certificates and key exchange. The improved pro-tocol can prevent common attack methods such as packet sniffing, Man-in-the-middle attacks and DoS attacks.

III

กตตกรรมประกาศ

วทยานพนธฉบบนไดส าเรจตามความมงหมาย ซงเปนสงทไดรบความชวยเหลอจากอาจารยทปรกษาวทยานพนธ ผศ.ดร.ศภกร กงพศดาร ทไดใหค าปรกษา ใหขอเสนอแนะแนวทางในการด าเนนการวจย และการแกไข ตรวจสอบขอผดพลาดในการจดท ารายงานวทยานพนธฉบบน รวมทงขอบคณชาล ธรรมรตน และบคคลทกทานทคอยใหความชวยเหลอทมไดกลาวถงในทนทคอยใหค าปรกษา ใหขอมลและแนวทางวธการด าเนนงานตางๆ ในการท าวทยานพนธฉบบน และในทายนขอขอบคณครอบครว ทคอยใหการสนบสนนในทกๆ ดาน รวมถงคอยเปนก าลงใจในการศกษาจนส าเรจ สมนา หาญกลา

IV

สารบญ

หนา บทคดยอภาษาไทย ............................................................................................................ I บทคดยอภาษาองกฤษ ...................................................................................................... II กตตกรรมประกาศ ............................................................................................................ III สารบญ............................................................................................................................. IV สารบญตาราง ................................................................................................................... VI สารบญรป ....................................................................................................................... VII บทท 1 บทน า.................................................................................................................... 1

1.1 ปญหาและแรงจงใจ ......................................................................................... 1 1.2 วตถประสงคของปญหา ................................................................................... 1 1.3 สมมตฐานของการศกษา ................................................................................. 1 1.4 ขอบเขตงานวจย ............................................................................................. 2 1.5 ผลทคาดหวง .................................................................................................. 2 1.6 ก าหนดการด าเนนงาน .................................................................................... 3

บทท 2 ทฤษฎพนฐานทใชในการวจย ................................................................................. 4

2.1 โพรโทคอล DHCP (Dynamic Host Configuration Protocol) .......................... 4 2.2 ใบรบรองอเลกทรอนกส (Digital Certificate) ................................................... 5 2.3 พนฐานของการเขารหสลบความปลอดภย (Cryptography) ............................. 6 2.3.1 การเขารหสลบแบบสมมาตร (Symmetric Cryptography) ................ 6 2.3.2 การเขารหสลบแบบอสมมาตร (Asymmetric Cryptography) ............ 8 2.4 ลายเซนดจทล (Digital Signature) .................................................................. 9 2.5 ฟงกชนแฮช (Hash Function) ....................................................................... 10 2.6 ผลงานวจยทเกยวของ................................................................................... 11 2.6.1 วธการของ Shue et al. ................................................................. 11 2.6.2 วธการของ Yang et al. ................................................................. 12 2.7 สรป .............................................................................................................. 16

V

สารบญ (ตอ)

หนา บทท 3 เทคนคทน าเสนอ ................................................................................................. 17

3.1 นยามศพททเกยวของ ................................................................................... 17 3.2 รายละเอยดของโพรโตคอลทน าเสนอ ............................................................ 17 3.2.1 เครองไคลเอนทมใบรบรองดจทล. .................................................. 17 3.2.2 เครองไคลเอนทไมมใบรบรองดจทล ............................................... 19

บทท 4 วเคราะหความปลอดภยและวเคราะหประสทธภาพ ............................................... 21 4.1 การวเคราะหความมนคงปลอดภย ................................................................. 21

4.1.1 การรกษาความลบ (Confidentiality) ............................................... 21 4.1.2 ความคงสภาพของขอความ (Message Integrity) ........................... 21 4.1.3 การตานทานตอการถกโจมตดวย Replay Attack ........................... 21 4.1.4 การตานทานตอการถกโจมตแบบ Man-in-the-middle Attack ......... 21 4.1.5 การตานทานตอการถกโจมตแบบ DoS Attack ............................... 22

4.2 การวเคราะหดานประสทธภาพ ...................................................................... 22 บทท 5 ทดสอบระบบทน าเสนอ ....................................................................................... 24

5.1 ซอฟแวรและเครองมอทน ามาใชในการทดสอบ .............................................. 24 5.2 วธการทดลองงานวจย ................................................................................... 24 5.3 การทดสอบประสทธภาพของงานวจย ............................................................ 29

บทท 6 สรปผลงานวจย ................................................................................................... 33

6.1 สรปผลงานวจย ............................................................................................. 33 6.2 แนวทางการพฒนาตอในอนาคต .................................................................... 33

เอกสารอางอง.................................................................................................................. 34 ภาคผนวก ...................................................................................................................... 35

VI

สารบญตาราง

ตารางท หนา 1.1 ระยะเวลาในการด าเนนงาน ......................................................................................... 3 4.1 ตารางแสดงการวเคราะหดานความมนคงปลอดภย ..................................................... 22 4.2 ตารางแสดงการวเคราะหดานประสทธภาพ ................................................................ 22 5.1 ตารางแสดงรายละเอยดอปกรณทใชในการทดลองงานวจย ......................................... 24 5.2 ตารางแสดงรายการโปรแกรมทใชในการทดลองงานวจย ............................................ 24 5.3 ตารางแสดงเวลาการท างานของโพรโตคอลทน าเสนอ ................................................. 30 5.4 ตารางแสดงเวลาการท างานของโพรโตคอลทน าเสนอโดย Shue et al.[1] .................... 31

VII

สารบญรป

รปท หนา 2.1 การท างานของโพรโทคอล DHCP................................................................................ 5 2.2 การเขารหสลบแบบสมมาตร ........................................................................................ 6 2.3 การเขารหสลบแบบอสมมาตร ...................................................................................... 9 2.4 การลงลายเซนดจทล ................................................................................................. 10 2.5 การท างาน DHCP โพรโทคอลของ Shue et al........................................................... 11 2.6 ปญหา Man-in-the-middle Attack ............................................................................. 13 2.7 การท างาน DHCP โพรโทคอลของ Yang et al. ......................................................... 16 3.1 การท างานของโพรโทคอล DHCP ในกรณทไคลเอนทมใบรบรองดจทล ...................... 18 3.2 การท างานของโพรโทคอล DHCP ในกรณทไคลเอนทไมมใบรบรองดจทล .................. 20 5.1 การท างานของโปรแกรมกรณทไคลเอนทมใบรบรองดจทล ......................................... 25 5.2 การท างานของโปรแกรมกรณทไคลเอนทไมมใบรบรองดจทล ..................................... 26 5.3 หนาจอของโปรแกรมฝ งไคลเอนทในกรณท 1 ............................................................. 27 5.4 หนาจอของโปรแกรมฝ งเซรฟเวอรในกรณท 1 ............................................................ 28 5.5 หนาจอของโปรแกรมฝ งไคลเอนทในกรณท 2 ............................................................. 28 5.6 หนาจอของโปรแกรมฝ งเซรฟเวอรในกรณท 2 ............................................................ 29

1

บทท 1 บทน า

DHCP (Dynamic Host Configuration Protocol) คอโพรโทคอลทใชในการจดสรรการ

ตงคาการเขาใชงานเครอขาย เชน เชน IP Address, Subnet Mask, Gateway, DNS รวมถง พารามเตอรอนๆ ทเกยวกบการตงคาใหกบเครองไคลเอนท (Client) แบบอตโนมตซงโปรโตคอล DHCP นยมใชกบองคกรหรอส านกงานทมเครองไคลเอนทเปนจ านวนมาก ท าใหผดแลระบบไมตองเสยเวลาในการก าหนดคาตางๆ ใหกบเครองไคลเอนทเอง

โดยสวนมากโปรโตคอล DHCP มการใชหมายเลขเครอง ในการพสจนตวจรง แตอยางไรกตามหมายเลขเครองสามารถถกปลอมแปลงได ซงจะเปนชองโหว เพอใหผบกรกสามารถลกลอบเขามาท าความเสยหายภายในระบบได 1.1 ปญหาและแรงจงใจ

จากการศกษางานวจยทผานมา ไดพบวามการน าเทคโนโลยใบรบรองดจทลมาใชในการพสจนตวจรงของเครองเซรฟเวอร (Server) แตวธการทมอยนน ยงมชองโหวส าหรบผบกรก โดยทมการสงกญแจสาธารณะ (Public Key) จากไคลเอนททไมมใบรบรองดจทลไปยงเซรฟเวอร ซงผบกรกสามารถจะดกจบขอมลและปดกนการสงกญแจสาธารณะนน แลวสรางกญแจสาธารณะปลอมขนมา แลวสงไปใหเซรฟเวอร จงท าใหผบกรกสามารถปลอมตวเปนเครองไคลเอนทตวจรงไดจงท าใหเกดปญหา 1.2 วตถประสงคของการวจย

1) เพอศกษาใหเขาใจหลกการท างานของโพรโทคอล DHCP 2) เพอศกษาปญหาในดานความมนคงปลอดภยจากการใชงานโพรโทคอล DHCP 3) เพอศกษาวธการแกปญหาดานความมนคงปลอดภยในแตละรปแบบ 4) เพอพฒนาเทคโนโลยตางๆน ามาประยกตใชรวมกนเพอน ามาแกปญหาดานความ

มนคงปลอดภยในแตละรปแบบของโพรโทคอล DHCP ใหมประสทธภาพยงขน 5) เพอทดลองและวดประสทธภาพของเทคโนโลยใหม หลงจากศกษามาแลว

1.3 สมมตฐานของการศกษา เพอใหการใชงานโพรโทคอล DHCP มความมนคงปลอดภยและมความนาเชอถอมากขน จงมการศกษาในลกษณะตางๆดงน

1) ศกษาการท างานของโพรโทคอล DHCP 2) ทฤษฎการท างานของโพรโทคอล DHCP ทเกดความมนคงปลอดภยตางๆ ทไดถก

น าเสนอมาแลว

2

3) ทฤษฎของการใชใบรบรองดจทล (Digital Certificate) รวมเขากบวธการ แลกเปลยนคย (Key exchange)

4) น าเสนอขนตอนวธการทดสอบการแกไขปญหาของแนวทางการศกษาคนควาวจย 5) ท าการทดลองตามผลการศกษาคนควา 6) สรปผลการทดลองและงานวจยทได

1.4 ขอบเขตงานวจย

1) ศกษาหลกการการท างานของโพรโทคอล DHCP ทมอย 2) ศกษาถงปญหาการใชงานในดานความมนคงปลอดภยของโพรโทคอล DHCP ทม

อย 3) ศกษาวธการเทคโนโลยตางๆ ของการรกษาความมนคงปลอดภยทมอยในปจจบน

ทสามารถน ามาประยกตใชกบโพรโทคอล DHCP ได 4) ออกแบบและพฒนาโครงสรางการท างานของโพรโทคอล DHCP ทมความมนคง

ปลอดภยเพมขน จากเทคโนโลยทไดศกษามา 5) วเคราะหการน าไปใชงานและความมนคงปลอดภยของเทคนคทน าเสนอ 6) สรปผลทไดจากการทดลอง

1.5 ผลทคาดหวง 1) ท าใหทราบถงหลกการการรกษาความมนคงปลอดภยของโพรโทคอล DHCP ทม

อย มาใชงานในระบบเครอขาย 2) เขาใจถงหลกการการท างานของวธการรกษาความมนคงปลอดภยตางๆ ทน ามา

ประยกตใชกบโพรโทคอล DHCP ได 3) ท าใหทราบถงขอดและขอเสยของวธการการรกษาความมนคงปลอดภยในแบบ

ตางๆ ทน ามาประยกตใชกบโพรโทคอล DHCP ได 4) ท าใหสามารถพฒนาเทคนคเพอแกไขปญหาดานการรกษาความมนคงปลอดภยใน

การใชงานโพรโทคอล DHCP ทมอยได 5) เขาใจผลการทดลองและสามารถน าผลการทดลองนนมาประยกตใชจรงได

3

1.6 ก าหนดการด าเนนงาน ตารางท 1.1 ระยะเวลาในการด าเนนงาน

กจกรรม เม.ย. –ม.ย. ก.ค. ส.ค ก.ย ต.ค. พ.ย. ธ.ค ม.ค. ก.พ.

ศกษาการท างานของโพรโทคอล DHCP

ศกษาขอด-ขอเสย ของเทคนคการรกษาความมนคงปลอดภยทมอย

ออกแบบพฒนาโพรโทคอล DHCP

ศกษาวธการทน ามาใชในการพฒนาตนแบบ

ปรบปรงเทคนคในการรกษาความมนค งปลอดภย ใหเหมาะสม

ออกแบบการจ าลองตามทไดท าการศกษาวจย

วเคราะหคณสมบตความมนคงปลอดภยและทดสอบประสทธภาพ

เขยนขอเสนอแนะเกยวกบก า ร ร ก ษ า ค ว า ม ม น ค งปลอดภยทไดวจยมา

4

บทท 2 พนฐานทเกยวของ

เนองจากการใชงานเครอขายอนเตอรเนทมเพมมากขนเรอยๆ ดงนนโพรโทคอล DHCP จงกลายเปนสงจ าเปนเพอใชในการจดสรรแจกจาย IP Address และคาพารามเตอรอนๆ ใหงายขน แตเนองจากยงไมมความปลอดภยทเพยงพอ โดยเฉพาะการยนยนตวตน และพสจนตวตน จงอาจจะท าใหกลายเปนชอยโหวทท าใหผบกรกสามารถเขามาท าใหระบบเกดความเสยหายได 2.1 โพรโทคอล DHCP (Dynamic Host Configuration Protocol) DHCP หรอ Dynamic Host Configuration Protocol คอโพรโทคอลทใชในการจดการจดสรรการตงคาการเขาใชงานเครอขาย เชน IP Address, Subnet mark, DNS หรอคาพารามเตอรตางๆ โดยอตโนมต ซงเปนผลดตอผดแลระบบทไมจ าเปนตองไปตงคาใหกบเครองไคลเอนททกๆ เครองทละเครองซงจะเปนการยากแกการจดการดแล ดงนนโพรโทคอลชนดนจะนยมใชในกรณทภายในเครอขายมเครองไคลเอนทเปนจ านวนมาก เพอปองกนปญหาการตงคาพารามเตอรทซ าซอนกน โพรโทคอล DHCP ท างานแบบ เซรฟเวอร-ไคลเอนท ถกพฒนามาจากโพรโทรคอลเกาคอ BOOTP ทมมาในป 1985 โดยนาย Gilmore ของบรษท Sun Microsystem และทนสนบสนนของมหาวทยาลย Stanford ซงสวนมากอยภายใตมาตรฐาน RFC 2131 ถกประกาศในเดอนมนาคมป ค.ศ. 1997 โพรโทรคอล DHCP ยงถกพฒนาการท างานอยเรอยๆ รนลาสดของ DHCP คอ DHCPv6 ซงใชกบโพรโทคอล IPv6 ทไดรบการอนมตเมอเดอนกรกฎาคม ป ค.ศ. 2003 ลกษณะการท างานของโพรโทคอล DHCP สามารถท างาน ดงรปท 2.1 -DHCP Discover Message เมอเครองไคลเอนทถกเปดขนมาจะท าการคนหาเครองเซรฟเวอร โดยการบรอดคาสตขอความ DHCP Discover ไปยงทกๆ เครองในเครอขาย และยงสงหมายเลขเครองและชอของเครองไคลเอนทไปดวย -DHCP Offer Message เมอเครองเซรฟเวอรไดรบขอความทบรอดคราสดมาจากเครองไคลเอนท เครองเซรฟเวอรจะแสดงตววาเปนผทสามารถใหบรการไดโดยการสงขอความ DHCP Offer ไปยงไคลเอนท ซงขอความจากเครองเซรฟเวอรใดไปยงเครองไคลเอนทกอน เครองนนกจะถกเลอกใช (First-Come/First-Served) -DHCP Request Message จากนนเครองไคลเอนทกจะตอบรบ โดยการบรอดคาสตขอความ DHCP Request กลบไปทเซรฟเวอร -DHCP Acknowledge Message จากนนเซรฟเวอรจะสง IP Address, Subnet mark, DNS และคาพารามเตอรตางๆ ไปยงไคลเอนทโดยขอความ DHCP Acknowledge

5

รปท 2.1 การท างานของโพรโทคอล DHCP 2.2 ใบรบรองดจทล (Digital Certificate) ใบรบรองดจทล หรอ Digital Certificate ท าหนาทคลายๆ กบบตรประจ าตวประชาชนหรอหนงสอเดนทาง ซงจดประสงคคอใชในการพสจนตวจรงของบคคลนนๆ ซงออกโดยองคกรทเปนทเชอถอ หรอทเรยกวา CA (Certification Authority) มาตรฐานทเปนทไดรบความนยมเปนทแพรหลายของใบรบรองดจทลคอมาตรฐาน X.509 Version 3 ซงจะประกอบดวยขอมลดงน

- หมายเลขของใบรบรอง (serial number) - วธการทใชในการเขารหสขอมล (algorithm) - หนวยงานทออกใบรบรอง (issuer) - เวลาเรมใชใบรบรอง (starting time) - เวลาทใบรบรองหมดอาย (expiring time) - ผไดรบการรบรอง (subject) - กญแจสาธารณะของผไดรบการรบรอง (subject ' s public key) - ลายมอชอดจทลของหนวยงานทออกใบรบรอง (CA signature

การขอใบรบรองดจทลมข นตอนดงตอไปน 1. ผขอตองท าการสรางคย(Key) ขนมา 1 ค คอ คยสวนตว(Private Key) ซงตองเกบ

เปนความลบและคยสาธารณะ(Public Key) ซงสามารถเผยแพรได 2. ผขอตองกรอกแบบฟอรมค ารอง และสงหลกฐานทจ าเปน ไปยง CA 3. เมอตรวจสอบแลววาขอมลถกตอง CA จงจะสงใบรบรองดจทลทลงรายชอดวย

ลายเซนดจทล(Digital Signature) ของ CA ไปยงผขอใชบรการ

6

2.3 พนฐานของการเขารหสลบความปลอดภย (Cryptography) การเขารหสลบคอการน าสมการทางคณตศาสตรมาใชในการค านวณ เพอปองกนขอมล

ใหมความปลอดภยมากขนทงในดานการรกษาความลบของขอความ(Confidentiality) การตรวจ สอบความถกตองของขอความ (Integrity) และการพสจนตวจรงของผสง (Authentication/Non-Repudiation) โดยจะท าการเปลยนแปลงขอมลทถกตองโดยใชอลกอรทมตางๆ เพอท าใหขอมลอยในอกรปแบบหนง ซงเรยกวาการเขารหสลบ (Encryption) แลวสงขอมลทท ากาเปลยนแปลงแลวไปใหผรบจากนนผรบจะท าการแปลงขอมลใหกลบไปสสภาพเดมซงเรยกวาการถอดรหสลบ (Decryption) เพอใหสามารถเขาใจขอมลทสงมาได วทยาการเขารหสลบมอย 2 ประเภทหลก คอ 2.3.1 การเขารหสลบแบบสมมาตร (Symmetric Cryptography) วธนจะมการใชเพยงแคกญแจลบ (Secret Key) เทานนในการเขารหสและการถอดรหส โดยกอนอนผสงและผรบจะตองมการแลกเปลยนกญแจ (Exchange) อยางเปนความลบผานชองทางทปลอดภย และตองเกบรกษากญแจอยางเปนความลบ ถาหากมบคคลอนทราบกญแจลบ บคคลนนกสามารถถอดรหสขอความได และยงสามารถปลอมแปลงตนเปนบคคลในระบบแลวท าการสรางขอความเขารหสเพอสงไปหลอกบคคลอนๆ ในระบบได และจากการแลกเปลยนกญแจจะเหนไดวาถาหากผสงตองการสงขอมลไปใหบคคลอน กตองมการแลกเปลยนกญแจใหมกบทกๆ คน ดงนนจงท าใหจ านวนของกญแจทตองใชในระบบทงระบบมจ านวน n(n-1)/2 ดอก (n คอจ านวนของผใชงานทงหมด) ซงจะเปนการยากในการจดการกญแจ (Key Management)

รปท 2.2 การเขารหสลบแบบสมมาตร

7

อลกอรทมส าหรบการเขารหสแบบสมมาตรในปจจบนมเปนจ านวนมาก ขางลางน จะน าเสนอเพยงจ านวนหนงซงเปนอลกอรทมทเปนทรจกกน ดในวงการของการเขารหสขอมล

- อลกอรทม DES DES ยอมาจาก Data Encryption Standard อลกอรทมนไดรบการรบรองโดยรฐบาลสหรฐอเมรกาในป ค.ศ. 1977 ใหเปนมาตรฐานการเขารหสขอมลส าหรบหนวยงานของรฐทงหมด ในป 1981 อลกอรทมยงไดรบการก าหนดใหเปนมาตรฐานการเขารหสขอมลในระดบนานาชาตตามมาตรฐาน ANSI (American National Standards) อกดวย DES เปนอลกอรทมแบบบลอกซงใชกญแจทมขนาดความยาว 56 บตและเปนอลกอรทมทมความแขงแกรง แตเนองดวยขนาดความยาวของกญแจทมขนาดเพยง 56 บต ซงในปจจบนถอไดวาสนเกนไป ผบกรกอาจใชวธการลองผดลองถกเพอคนหากญแจทถกตองส าหรบการถอดรหสได

- อลกอรทม Triple-DES Triple-DES เปนอลกอรทมทเสรมความปลอดภยของ DES ใหมความแขงแกรงมากขนโดยใชอลกอรทม DES เปนจ านวนสามครงเพอ ท าการเขารหส แตละครงจะใชกญแจในการเขารหสทแตกตางกน ดงนนจงเปรยบเสมอนการใชกญแจเขารหสทมความยาวเทากบ 56*3 = 168 บต Triple-DES ไดถก ใชงานกบสถาบนทางการเงนอยางแพรหลาย รวมทงใชงานกบโปรแกรม Secure Shell (ssh) ดวย การใชอลกอรทม DES เพอเขารหสเปนจ านวนสองครงดวยกญแจสองตว (56*2=112 บต) ยงถอไดวาไมปลอดภยอยางพอเพยง - อลกอรทม Blowfish Blowfish เปนอลกอรทมทมความรวดเรวในการท างานมขนาดเลกกระทดรด และใชการเขารหสแบบบลอค ผพฒนาคอ Bruce Schneier อลกอรทมสามารถใชกญแจทมขนาดความยาวตงแตไมมากนกไปจนถงขนาด 448 บต ซงท าใหเกดความยดหยนสงในการเลอกใชกญแจ รวมทงอลกอรทมยงไดรบการออกแบบมาใหท างานอยางเหมาะสมกบหนวยประมวล ผลขนาด 32 หรอ 64 บต Blowfish ไดเปดเผยสสาธารณะและไมไดมการจดสทธบตรใดๆ นอกจากนนยงใชในโปรแกรม SSH และอนๆ - อลกอรทม IDEA IDEA ยอมาจาก International Data Encryption Algorithm อลกอรทมนไดรบการพฒนาในประเทศสวสเซอรแลนดทเมอง Zarich โดย James L. Massey และ Xuejia Lai และไดรบการตพมพเผยแพรในป ค.ศ. 1990 อลกอรทมใชกญแจทมขนาด 128 บตและไดรบการใชงานกบโปรแกรมยอดฮตส าหรบการเขารหสและลงลายมอชอ อเลกทรอนกสในระบบอเมลทมชอวา PGP ตอมา IDEA และยงไดรบการจดสทธบตรทางดานซอฟตแวรโดยบรษท Ascom-Tech AG ในประเทศสวสเซอรแลนด ซงท าใหการน าไปใชในงานตางๆ เรมลดลง ทงนเนองจากตดปญหาเรองลขสทธนนเอง - อลกอรทม RC4 อลกอรทมนเปนอลกอรทมแบบสตรม (ท างานกบขอมลทละไบต) ซงไดรบการพฒนาขนมาโดย Ronald Riverst และถกเกบเปนความลบทางการคาโดยบรษท RSA Data Security ในภายหลงอลกอรทมนไดรบการเปดเผยใน Usenet เมอป ค.ศ. 1994 และเปนททราบกนวาเปนอลกอรทมทมความแขงแกรงโดยสามารถใชขนาดความยาวของกญแจทมขนาดตงแต 1 บตไปจนกระทงถงขนาด 2048 บต

8

- อลกอรทม Rijndael (หรออลกอรทม AES) อลกอรทมนไดรบการพฒนาโดย Joan Daemen และ Vincent Rijmen ในป 2000 อลกอรทมไดรบการคดเลอกโดยหนวยงาน National Institute of Standard and Technology (NIST) ของสหรฐอเมรกาใหเปนมาตรฐานในการเขารหสชนสงของประเทศ อลกอรทมมความเรวสงและมขนาดกะทดรดโดยสามารถใชกญแจทม ความยาวขนาด 128, 192 และ 256 บต - อลกอรทม One-time Pads อลกอรทมนไดรบการยอมรบวาเปนอลกอรทมทไมมใครสามารถเจาะความแขงแกรงของอลกอรทมได โดยอลกอรทมใชกญแจทมขนาดความยาวซงอาจจะมากกวาขนาดความยาวของขอความทตองการเขารหส กญแจจะถกสรางออกมาแบบสมและโดยปกตจะถกใชงานแคเพยงครงเดยวแลวทงไป แตละไบตของขอความทตองการสงไปจะถกเขาและถอดรหสโดยหนงไบต (ชนดไบตตอไบต) ของกญแจทถกสรางขนมาใชงาน เนองจากกญแจทถกใชงาน แตละครงจะไมซ ากนและถกสรางขนมาแบบสม จงเปนการยากทจะคนหากญแจทถกตองได ขอจ ากดของอลกอรทมน คอขนาดของกญแจทอาจมขนาดยาวกวาขอความทตองการสง ซงสงผลใหการสงมอบกญแจทมขนาดใหญท าไดไมสะดวกนก รวมทงการสรางกญแจใหมความสมสงไมใชเปนสงทท าไดงายนก อยางไรกตามอลกอรทมนกยงมการใชงานในระบบเครอขายทตองการความปลอดภยสง 2.3.2 การเขารหสลบแบบอสมมาตร (Asymmetric Cryptography) วธนผใชงานแตละคนจะใชกญแจเพยง 2 ดอกเทานน คอกญแจสวนตวและกญแจสาธารณะ ซงจ านวนกญแจทงหมดทใชภายในระบบมจ านวน n*2 ดอก (n คอจ านวนของผใช งานทงหมด โดยทกญแจสวนตวตองเกบไวเปนความลบหามเปดเผยใหผอนเดดขาด เนองจากสามารถใชในพสจนตวจรงได ขณะทกญแจสาธารณะสามารถเปดเผยได จงท าใหการจดการกญแจมความซบซอนนอยลง แตอลกอรทมของการเขารหสลบแบบอสมมาตรมความซบซอนสงและใชเวลาประมวลผลมากกวาและขอความทท าการเขารหสลบแลวจะมขนาดใหญกวาการเขารหสแบบสมมาตร อลกอรทมส าหรบการเขารหสแบบอสมมาตร - อลกอรทม RSA อลกอรทม RSA ซงไดรบการพฒนาขนทมหาวทยาลย MIT ในป 1977 โดยศาสตราจารย 3 คนคอ Ronald Rivest, Adi Shamir และ Leonard Adleman ชอของอลกอรทมไดรบการตงชอตามตวอกษรตวแรกของนามสกลของ ศาสตราจารยทงสามคน อลกอรทมนสามารถใชในการเขารหสขอมลรวมทงการลงลายมอชอ อเลกทรอนกสดวย - อลกอรทม DSS DSS ยอมาจาก Digital Signature Standard อลกอรทมนไดรบการพฒนาขนมาโดย National Security Agency ในประเทศสหรฐอเมรกาและไดรบการรบรองโดย NIST ใหเปนมาตรฐานกลางส าหรบการลงลายมอชออเลกทรอนกสในประเทศสหรฐอเมรกา

9

- อลกอรทมส าหรบสรางเมสเซสไดเจสต เมสเซสไดเจสต (Message Digest) หรอเรยกสนๆ วาไดเจสต แปลวาขอความสรปจากเนอหาขอความตงตน โดยปกตขอความสรปจะมความยาวนอยกวาความยาวของขอความตงตนมาก จดประสงคส าคญของอลกอรทมนคอ การสรางขอความสรปทสามารถใชเปนตวแทนของขอความตงตนได โดยทวไปขอความสรปจะมความยาวอยระหวาง 128 ถง 256 บต และจะไมขนกบขนาดความยาวของขอความตงตน

รปท 2.3 การเขารหสลบและถอดรหสลบแบบอสมมาตร 2.4 ลายเซนดจทล (Digital Signature) ลายเซนดจทลจะใชในการพสจนตวจรงของผสงขอมลและชวยใหสามารถตรวจสอบขอมลไดวาขอมลนนไมไดถกเปลยนแปลงหลงจากทมการลงนามแลว ซงลายเซนดจทลจะใชวธการการเขารหสลบโดยใชลายเซนดจทล ซงผสงสามารถลงนามในขอมลนนไดโดยการใชกญแจลบหรอกญแจสวนตวทสามารถตรวจสอบความถกตองไดโดยการใชรหสลบหรอกญแจสาธารณะได

10

รปท 2.4 การลงลายเซนดจทล 2.5 ฟงกชนแฮช (Hash Function) ฟงกชนแฮช เปนอลกอรทมชนดหนงทใชสมการทางคณตศาสตรเพอน ามาเปลยนแปลงขอมลเดมใหเนอหาและความยาวเปลยนแปลงไปได โดยทมความยาวคงท ซงฟงกชนแฮชจะไมมการใชกญแจใดๆ และคาทไดมาอาจเรยกวา คาแฮช (hash value) รหสแฮช(hash code) หรอเรยกวา แฮช (hash) ฟงกชนแฮชใชส าหรบการตรวจดขอมลวาขอมลนนไดมการถกเปลยน แปลงหรอไมโดยการเปรยบเทยบคาแฮช

มาตรฐาน Hash ทใชในปจจบน 1. MD (Message Digest) MD หรอเมสเสจไดเจสตเปนฟงกทสรางคาแฮชทมความยาว 128 บต จากขอความยาว

เทาใดกได มการพฒนาหลายเวอรชน คอ MD2 (RFC 1319) ออกแบบมาส าหรบระบบทม หนวยความจ านอย เชน สมารทการด, MD4 (RFC 1320) มการท างานคลายคลงกบ MD2 แตถกออกแบบเพอใหท างานไดเรวในระดบซอฟตแวร, MD5 (RFC 1321) หลงจากคนพบจดออนของ MD4 และสามารถถอดรหสไดงาย รปแบบนนจะคลาย ๆ กบ MD4 แตจะท างานไดชากวา เนองจากมการค านวณเพม MD5 ไดมการใชงานอยางแพรหลาย

11

2) SHA (Secure Hash Algorithm) SHA ไดรบการพฒนาเพอใชเปนองคประกอบสวนหนงของอลกอรทมการสรางลายมอ

ชอ สามารถรองรบขอความทมขนาดไมเกน 264 บต โดยท าใหผลลพธออกเปนเมสเสจไดเจสต (message digest) ทมขนาดคงทเทากบ 160 บต ทงนในตวเมสเสจไดเจสต (message digest) ทค านวณไดจะน าไปใชเปนสวนหนงของกระบวนการสรางลายมอชอดจตอลใหแกขอความ และจะถกใชอกครงในขนตอนการตรวจสอบความถกตองของลายมอชอของเจาของขอความ ทไดรบ 2.6 งานวจยทเกยวของ

2.6.1 วธการของ Shue et al.[1] Shue et al. สนใจปญหาการถกบกรกการโจมตทผโจมตท างานโดยการปลอมแปลงเปน

เซรฟเวอรหรอไคลเอนททไดรบอนญาตถกตอง และจะโจมตจนเครองไคลเอนทและเครองเซรฟเวอรไมสามารถใชงานได

Shue et al. ไดเสนอโพรโทคอล DHCP ทมความปลอดภย โดยทมการใชใบรบรองดจทล (Digital Certificate) ซงเรมแรก ทงเซรฟเวอร (Server) และไคลเอนท (Client) ตองมการสรางกญแจสาธารณะ (Public Key) และกญแจสวนตว (Private Key) แลวจะมการเขารหสลบกญแจสาธารณะ (Public key) โดย กญแจสวนตว (Private Key) ในรปแบบของใบรบรองดจทล (Digital Certificate) เพอใชส าหรบการพสจนตวจรง (Authentication)

ลกษณะการท างานของโพรโทคอล DHCP สามารถท างาน แบงไดเปน 2 กรณ คอ ผใชรายใหม และ ผใชขออนญาตรายใหม ดงน

2.6.1.1 ผใชงานเดม

รปท 2.5 การท างาน DHCP โพรโทคอลของ Shue et al.

12

-DHCP Discover message ไดมการเพมเตมคาเขาไปอกสองคาคอ คาแรกเปนกญแจสาธารณะ (Public Key) ของผใชในไคลเอนทซงจะใชเพอใหเซรฟเวอร DHCP Server เรยกคนคาตงคากอนหนานส าหรบไคลเอนทรายน คาทสองคอคา nonce ซงจะยนยนวาขอความนเปนขอความใหมเพอปองกนการน าขอความเกามาสงซ า

-DHCP Offer message เซรฟเวอร DHCP Server จะก าหนดคาตางๆ คลายกบแบบเดม แตจะใชกญแจสาธารณะ (Public Key) ในการเรยกคนการตงคาแทนการใชหมายเลขเครอง (MAC Address) และเพอปองกนการปลอมแปลงเซรฟเวอร เซรฟเวอรจงตองสงใบรบรองดจทล เพอปองกนการน าขอความเกามาสงซ า เซรฟเวอรจะสงคา nonce ของเซรฟเวอรเองและของไคลเอนททไดมาจาก Discover Message ไปใหไคลเอนท กอนทจะสงไปยงไคลเอนท เพอเปนการปองกนการถกแกไขจะท าการเขารหส คาการตงคาและคา nonce ทงสองดวยกญแจสวนตวของเซรฟเวอร

-DHCP Request message เมอไคลเอนทไดรบขอความแลว จะตรวจสอบเซรฟเวอรโดยการตรวจสอบใบรบรองดจทล (Digital Certificate) ดวยการถอดรหสโดยกญแจสาธารณะ (Public Key) ของเซรฟเวอร และเมอไคลเอนทยอมรบกจะสงคาการตงคากลบซงจะรวมถงกญแจสาธารณะ (Public Key) คา nonce ใหมของไคลเอนท แลวจะท าการเขารหสพรอมดวยคา nonce ของเซรฟเวอรดวยกญแจสวนตว (Private Key) ของไคลเอนท

-Acknowledgment Message สดทายเซรฟเวอรจะสงขอความรบทราบกลบไปยงไคลเอนท โดยมคาการตงคาและใบรบรองดจทล (Digital Certificate) และจะเขารหสคาการตงคาและคา nonce ของไคลเอนทดวยกญแจสวนตว (Private Key) ของเซรฟเวอรเพอปองกนการแกไข และใหไคลเอนทสามารถยนยนใบรบรองทออกมาไดถกตองโดยการใช กญแจสาธารณะ (Public Key) ของเซรฟเวอร

2.6.1.2 ผใชงานรายใหม เมอไคลเอนทรายใหมเขามาเชอมตอภายในเครอขาย กอนอนตองมการสรางคยสาธารณะ (Public Key) และคยสวนตว (Private Key) และจะมการจบคเขากบเซรฟเวอร DHCP Server โดยผานทางขอความ DHCP Discovery message เมอเซรฟเวอรไมสามารถหาคยสาธารณะเจอ กจะสงค าขอทงหมดไปยงสวนอนทปลอดภยกอน เชน RADIUS เมอไคลเอนทลงชอเขาใชแลวจะตองสงคาคยสาธารณะ (Public Key) และหมายเลขเครอง (MAC Address) ใหกบระบบการยนยนตวตน จากนนระบบจะสงคาทงสองนไปใหเซรฟเวอร DHCP Server หลงจากนนไคลเอนทกจะสามารถท างานได

13

2.6.2 วธการของ Yang et al. [2] Yang et al. ไดเสนอวธการโดยการแบงปญหาออกเปน 2 สวน คอ

2.6.2.1 การปลอมแปลงเปนเซรฟเวอร DHCP Server ในบางกรณผบกรกสามารถจ าลองเปนเครองแมขาย เพอทจะตอบสนองค าขอของไคลเอนท หลงจากทผบกรกทแอบอางไดรบ DHCP Discovery Message กจะสงขอความ DHCP Offer Message เพอตอบสนองการรองขอไปยงไคลเอนท ตามหลกการ การยอมรบของไคลเอนทมกจะยอมรบขอความทไดรบครงแรก ซงอาจน าไปสการปลอมแปลงขอความทไดรบโดยทไคลเอนทและการถกตงคาทไมถกตองน อาจสงผลใหเกดการโจมดแบบ Man-in-the-middle และจากการทไดรบการตงคาทไมถกตองจงท าใหไคลเอนทสามารถถกตดการเชอมตอได

ตามรป เมอเครองไคลเอนทตองการจะตดตอกบเครองเซรฟเวอร แตเครองของผบกรกไดดกจบขอมล (Sniff) ระหวางทาง จงท าใหเครองไคลเอนทไดรบการตงคาจากเครองของผบกรกทผด กจะท าใหเครองไคลเอนทนนไมสามารถใชงานเครอขายได นอกจากนนเครองของผบกรกจะไดรบขอมลทกอยางทรบสงกนระหวางเครองไคลเอนทและเครองเซรฟเวอร

รป 2.6 ปญหา Man-in-the-middle Attack 2.6.2.2 การปลอมแปลงเปนไคลเอนท DHCP โพรโทคอล ไมไดมการตรวจสอบทดเพยงพอส าหรบค าขอของไคลเอนทในการจดสรรและแจกจาย IP Address ซงเปนทรกนวา DHCP Pool นนมปรมาณจ ากด และในกรณทการสงขอความรองขอมามากๆ จากเครองปลอม จนท าให DHCP Pool เตม จนไมสามารถใหบรการได จงท าใหเครองอนในเครอขายไมสามารถใชบรการไดดวย ซงคลายกบการโจมตแบบ DoS (Denial of Service)

14

2.6.3 หลกการของวธการของ Yang et al. หลกส าคญของปญหา คอการขาดการตรวจสอบกนระหวางเซรฟเวอรและไคลเอนท ดงนน Yang et al. [2] จงไดเสนอวธการโดยใช Access Control และ SAKA encryption algorithm เนองจาก MAC Address สามารถทจะปลอมแปลงไดงาย ในวธนจงมการใช CPU ID และปรมาณหนวยความจ า โดยการเขยนโปรแกรมดวย C# เพอดงคาออกมา ดงน

// Obtain the drive volume public string GetDiskVolumeNum() { ManagementClass mm = new ManagementClass("Win32_NetworkAdapterConfiguration ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\" c:\""); disk.Get(); return disk.GetPropertyValue("VolumeSerialNumber").ToString( } // Obtain the CPU ID public string getCpu() { tring strCpu = null; ManagementClass Cpu = new ManagementClass("win32_Processor"); ManagementObjectCollection myCpuConnection=Cpu.GetInstance(); foreach( ManagementObject myObject in myCpuConnection) { strCpu = myObject.Properties["Processorid"].Value.ToString(); break; } return strCpu; } // Generating The machine code private void code(object sender, EventArgs e) { label.Text = getCpu()+GetDiskVolumeNum ();

15

string[] stt = new string[24]; for (int i = 0; i < 24; i++) { stt[i] = label.Text.Substring(i, 1); } }

ขนแรกเมอไดคา CPU ID และปรมาณหนวยความจ า ไคลเอนทจะใชรหสของเครอง (CPU ID และปรมาณหนวยความจ า) และรหสผาน จะสงค าขอไปแบบบรอดคาสต เพอเรมขอใชงาน โดยจะใชการเขารหสแบบ MD5 หลงจากเซรฟเวอรไดรบขอความจะมการตรวจสอบขอมลและเกบขอมลไวในฐานขอมลและเขารหสดวย MD5 แตระบบมการจ ากดจ านวนของการรองขอ ถามการรองขอเกด เซรฟเวอรกจะไมสามารถตอบสนองการรองขอได ขนตอนการแลกเปลยนกญแจจะใช SAKA algorithm ซงเปนวธหนงในการแลกเปลยนกญแจรบรอง ทมประสทธภาพดกวา DH algorithm ซงมขบวนการดงน

1. ทงไคลเอนทและเซรฟเวอรจะใชประโยชนจากฟงกชนทก าหนดไวลวงหนา

เพอก าหนดจ านวนเตมสองจ านวนคอ Q และ (Q – 1) mod (n – 1) จาก Pre – Shared key P

2. เซรฟเวอรและไคลเอนท จะซมตวเลขขนมา - เซรฟเวอรเลอก คา a แลวสงไปใหไคลเอนทโดยใชสมการ M=gaQ

mod n - ไคลเอนทเลอก คา b แลวสงใหใหเซรฟเวอรโดยใชสมการ N=gbQ

mod n 3. เซรฟเวอรและไคลเอนทค านวณหา share-key

KEY, key1 = Naq-1 mod n: key2 = MbQ-1 mod n KEY = key1 = key2 = gab mod n :: โดยท n เปน จ านวนเฉพาะและ g เปนคาระหวาง 1 ถง n

16

รปท 2.7 การท างาน DHCP โพรโทคอลของ Yang et 2.7 สรป จากทฤษฎพนฐานทไดกลาวมาในบนท 2 ตามขางตนแลว จะเปนขอมลสวนส าคญทจะน าไปพฒนาใหโพรโทคอล DHCP นนมประสทธภาพมากขนและจะถกน าไปใชในการวจยส าหรบวทยานพนธฉบบน

17

บทท 3 เทคนคทน าเสนอ

เพอเปนการแกไขปญหาของงานวจยทมอย งานวจยฉบบนไดน าเสนอรปแบบโพรโทคอล DHCP ทมความมนคงปลอดภยเพมขนโดยการเพมเทคโนโลยการแลกเปลยนคย (key exchange) และการใชใบรบรองดจทล (Digital Certificate) มาแกปญหาเปนหลก ดงรายละเอยดดานลาง 3.1 นยามศพททเกยวของ

- KEY คอ กญแจลบทแลกเปลยนกนระหวางเครองเซรฟเวอรและเครองไคลเอนท - KPriv คอ กญแจสวนตว - KPub คอ กญแจสาธารณะ - Cert คอ ใบรบรองดจทล (Digital Certificate) - N คอ คานอนซ (Nonce) - h( ) คอ ฟงกชนแฮช - C คอ เครองไคลเอนท - S คอ เครองเซรฟเวอร

3.2 รายละเอยดของโพรโตคอลทน าเสนอ ระบบนจะแบงเปนสองกรณ คอ กรณทเครองไคลเอนทมใบรบรองดจทล และกรณทเครองไคลเอนทไมมใบรบรองดจทล เพอรองรบการใชงานในรปแบบตางๆ

3.2.1 เครองไคลเอนทมใบรบรองดจทล กอนอนเครองไคลเอนททกเครองจะตองท าการขอใบรบรองดจทลจากองคกรทใหบรการออกใบรบรองดจทล ทนาเชอถอ (CA)

ขนท 1 เครองไคลเอนทจะบรอดคราสต Discovery message ออกไปเพอคนหาเครองเซรฟเวอรพรอมดวยคานอนซ (Nonce) เพอใหมนใจวาขอความนเปนขอความใหม ปองกนการโจมตแบบรเพลย (Replay Attack)

C -> S :: Discovery message, NC

ขนท 2 เครองเซรฟเวอรทไดรบขอความแลวจะสง Offer message ตอบกลบไปหาเครองไคลเอนท เพอแจงวามสทธในการใหบรการ เครองเซรฟเวอรจงตองสงใบรบรองดจทล (Digital Certificate) ไปพรอมกบขอความ เพอใชในการยนยนวาเปนเครองเซรฟเวอรทถกตอง

18

และคานอนซเพอใหมนใจวาเปนขอความใหม และจะท าการเขารหสดวยกญแจสวนตว (Private Key) ของเซรฟเวอร เพอปองกนการถกปลอมแปลงแกไขขอความ

S -> C :: Offer message, CertS, NS,{h(Offer message, NC, NS)}KPriv-S

ขนท 3 เมอเครองไคลเอนทไดรบขอความแลวจะท าการตรวจสอบใบรบรองดจทลแลวจะน ากญแจสาธารณะของเซรฟเวอรมาถอดรหสขอความทเขารหสไวเพอตรวจสอบความถกตอง จากนนไคลเอนทจะสง Request message กลบไปใหเครองเซรฟเวอร พรอมดวยคานอนซใหมของไคลเอนทเองและการเขารหสขอ Request message คานอนซใหมของไคลเอนท และคานอนซของเซรฟเวอร ดวยกญแจสวนตวของเครองไคลเอนท

C -> S :: Request message, NC {h(Request message, NC, NS)} KPriv-C ขนท 4 เครองเซรฟเวอรจะสง Acknowledgment message ไปใหเครองไคลเอนท

พรอมดวยคานอนซใหมของเซรฟเวอรและการเขารหส Acknowledgment message พรอมดวยคานอนซของไคลเอนท คานอนซใหมของเซฟเวอรดวยกญแจสวนตวของเครองเซรฟเวอร S -> C :: Acknowledgment message, NS2,{h(Acknowledgment message, NC, NS)}KPriv-S

รปท 3.1 การท างานของโพรโทคอล DHCP ในกรณทไคลเอนทมใบรบรองดจทล

19

3.2.2 เครองไคลเอนทไมมใบรบรองดจทล (Digital Certificate) กอนอนครองเซรฟเวอรและเครองไคลเอนทจะท าการแลกเปลยนคย (key exchange)

โดยใชวธการ Diffie-Hellman algorithm จากนนจะใช KEY ทไดนนน าไปใชในการพสจนตวจรงของเครองเซรฟเวอรและเครองไคลเอนท

ขนท 1 เครองเซรฟเวอรและเครองไคลเอนทจะก าหนดคา n และคา g ขนมา[6]

ภายใตเงอนไข 1 < g < n และสองคานไมจ าเปนตองปกปดจากนนเครองเซรฟเวอรจะสมเลขทมคามากๆ มาหนงคาแลวก าหนดใหเปนคา a และหาคา X = ga mod n เกบคา a เปนความลบ เครองไคลเอนทกเชนกนจะสมเลขทมคามากๆ มาหนงคาแลวก าหนดใหเปนคา b และหาคา Y = gb mod n เกบคา b เปนความลบ แลวเครองเซรฟเวอรและเครองไคลเอนทจะท าการแลกเปลยนคา X และ Y

ขนท 2 จากนนเครองเซรฟเวอรและเครองไคลเอนท จะค านวณหาคา a และ b โดยท

k = Ya mod n แลว k’ = Xb mod n โดยท k = k’ = gab mod n = KEY

ขนท 3 เครองไคลเอนทจะบรอดคราสตขอความดสคฟเวอรรออกไปเพอคนหาเครองเซรฟเวอรพรอมดวยคานอนซเพอใหมนใจวาขอความนเปนขอความใหม ปองกนการโจมตแบบรเพลย (Replay Attack)

C -> S :: Discovery message, NC

ขนท 4 เครองเซรฟเวอรทไดรบขอความแลวจะสงขอความออฟเฟอรตอบกลบไปหาเครองไคลเอนท เพอแจงวามสทธในการใหบรการ เครองเซรฟเวอรจงตองสงใบรบรองดจทลไปพรอมกบขอความเพอใชในการยนยนวาเปนเครองเซรฟเวอรทถกตอง สงคานอนซของเครองเซรฟเวอรเพอใหมนใจวาเปนขอความใหม และจะสงการเขารหสขอความออฟเฟอร คานอนซ ของเครองเซรฟเวอร คานอนซของเครองไคลเอนทและกญแจลบ ดวยกญแจสวนตวของเซรฟเวอร เพอปองกนการถกปลอมแปลงขอความ

S -> C :: Offer message, CertS, NS,{h(Offer message, NC, NS, KEY)}KPriv-S

ขนท 5 เมอเครองไคลเอนทไดรบขอความแลวจะท าการตรวจสอบใบรบรองดจทล แลวจะน ากญแจสาธารณะของเซรฟเวอรมาถอดรหสขอความทเขารหสไวเพอตรวจสอบความถกตอง จากนนไคลเอนทจะสงขอความรเควสกลบไปใหเครองเซรฟเวอร พรอมดวยคานอนซ ใหมของไคลเอนทและการแฮชขอความรเควส คานอนซใหมของไคลเอนท คานอนซของเซรฟเวอร และกญแจลบ

C -> S :: Request message, NC2, h(Request message, NC2, NS, KEY)

20

ขนท 6 เครองเซรฟเวอรจะสงขอความแอคโนวเลจเมนทไปใหเครองไคลเอนท พรอมดวยคานอนซใหมของเซรฟเวอรและการแฮชขอความแอคโนวเลจแมนท คานอนซของไคลเอนท คานอนซใหมของเซฟเวอร และกญแจลบ S -> C :: Acknowledgment message, NS2, h(Acknowledgment message, NC2, NS2, KEY)

รปท 3.2 การท างานของโพรโทคอล DHCP ในกรณทไคลเอนทไมมใบรบรองดจทล

21

บทท 4 วเคราะหความปลอดภยและวเคราะหประสทธภาพ

4.1 การวเคราะหความมนคงปลอดภย จากการพฒนาเทคนคโพรโตคอลดเอชซพ ดวยวธทไดกลาวมาแลวนน เพอลดปจจยความเสยงดานความมนคงปลอดภยขอบระบบ สามารถวเคราะหความมนคงปลอดภยไดดงน

4.1.1 การรกษาความลบ (Confidentiality) ในกรณทเครองไคลเอนทไมมใบรบรองดจทล (Digital Certificate) ไดน าเทคโนโลยการแลกเปลยนคย (key exchange) มาใชในการรบสงขอมลระหวางเครองเซรฟเวอรและเครองไคลเอนทเพอปองกนการถกดกจบขอมล (Sniff) แลวสามารถทจะหาคาคยทถกตองได เพราะเปนวธการทยากและใชเวลานานมาก ในกรณทเครองไคลเอนทมใบรบรองดจทล (Digital Certificate) ไดน าเทคโนโลยลายเซนดจทล (Digital Signature) มาใชในการเขารหส (Cryptography) ขอความในการสงขอมลเพอปองกนการถกดกจบขอมล (Sniff) แลวผดกจบสามารถเปดอานดขอความได

4.1.2 ความคงสภาพของขอความ (Message Integrity) การน าเทคโนโลยฟงกชนแฮช (Hash Function) มาใชในการแฮชขอความกอนทจะสงทกครง สามารถทจะตรวจสอบวาขอความทสงไปน นเปนขอความทถกตอง หรอมการเปลยนแปลงโดยบคคลอนหรอไม

4.1.3 การตานทานตอการถกโจมตดวย Replay Attack การถกโจมตดวย Replay Attack ดวยการปลอมตวเปนไคลเอนทแลวสงขอมลชดเดมทดกจบ (Sniff) ไวได จะไมสามารถประสบความส าเรจไดเนองจากการใชนอนซ (Nonce) ซงบงบอกวาคาดงกลาวเปนคาถกสรางขนมาใหม

4.1.4 การตานทานตอการถกโจมตแบบ Man-in-the-middle Attack สามารถแกปญหาการถกโจมตแบบ Man-in-the-middle Attack ไดดวยการใชใบรบรองดจทล (Digital Certificate) การแลกเปลยนคย (key exchange) และการใชลายเซนดจทล (Digital Signature) มาใชในการยนยนตวตน ระหวางเครองเซรฟเวอรและเครองไคลเอนท จงท าใหไมเกดปญหาทผบกรกสามารถปลอมตวเปนเครองเซรฟเวอรแลวเขามาดกจบขอมลได

22

4.1.5 การตานทานตอการถกโจมตแบบ DoS Attack ปญหาการโจมตแบบ DoS Attack เกดจากทผบกรกพยายามปลอมตวเปนเครองไคลเอนท แลวสงขอความรองขอจ านวนมากเขามาทเครองเซรฟเวอร จนท าใหเครองเซรฟเวอรเตม และไมสามารถทจะท างานได ดงนนจงปองกนดวยการใชเทคโนโลยการแลกเปลยนคย (key exchange) และการใชใบรบรองดจทล (Digital Certificate) เขามาแกปญหา ตารางท 4.1 ตารางแสดงการวเคราะหดานความมนคงปลอดภย

หวขอ งานวจยของ Shue

et al.[1] งานวจยทน าเสนอ

การแลกเปลยนคย (key exchange) ไมม ม การใช Digital Certificate ม ม การใช Digital Signature ไมม ม การปองกนการปลอมแปลงไคลเอนท ม มมาก การปองกนการปลอมแปลงเซรฟเวอร ม มมาก การปองกนการถกแกไขขอมล ไมม ม 4.2 การวเคราะหดานประสทธภาพ ถงแมวาการท างานของโปรโทคอล DHCP ทเสนอโดย Shue et al.[1] มกระบวนการนอยกวาการท างานของโปรโทคอล DHCP ทน าเสนอทเพมการใชลายเซนดจทลขนมาเพอความมนคงปลอดภย แตกระบวนการนกไมไดท าใหระบบเกดความเสยหายมากเกนไปซงอยในระดบทยอมรบได ตารางท 4.2 ตารางแสดงการวเคราะหดานประสทธภาพ

หวขอ งานวจยของ

Shue et al.[1]

งานวจยทน าเสนอ (ไคลเอนทม Digital

Certificate)

งานวจยทน าเสนอ (ไคลเอนทไมม

Digital Certificate)

Discovery message

Discovery message, NC, KPub-C

Discovery message, NC

Discovery message, NC

Offer message Offer message, CertS, NS,{Offer message, NC, NS}KPriv-S

Offer message, CertS, NS,{h(Offer message, NC, NS)}KPriv-S

Offer message, CertS, NS,{h(Offer message, NC, NS, KEY)}KPriv-S

23

หวขอ งานวจยของ Shue et al.[1]

งานวจยทน าเสนอ (ไคลเอนทม Digital

Certificate)

งานวจยทน าเสนอ (ไคลเอนทไมม

Digital Certificate)

เ ข า ร ห ส ด ว ย ก ญ แ จสวนตวของเซรฟเวอร

ใชลายเซนดจทล ใชลายเซนดจทล

Request message

Request message, NC, KPub-C {Request message, NC, NS, KPub-

C } KPriv-C

Request message, NC { h ( Request message, NC, NS)} KPriv-C

Request message, NC2, h ( Request message, NC2, NS, KEY)

เขารหสดวยกญแจสวนตวของเซรฟเวอร

ใชลายเซนดจทล ใชฟงกชนแฮช

Acknowledgement message

Acknowledgment message, CertC, {Acknowledgment message, NC}KPriv-S

Acknowledgment message, NS2,{h(Acknowledgment message, NC, NS)}KPriv-S

Acknowledgment message, NS2, h(Acknowledgment message, NC2, NS2, KEY)

เขารหสดวยกญแจสวนตวของเซรฟเวอร

ใชลายเซนดจทล ใชฟงกชนแฮช

24

บทท 5 ทดสอบระบบทน าเสนอ

ผวจยไดท าการวเคราะหประสทธภาพของงานวจย เพอน าไปสการวเคราะหดานความมนคงปลอดภยและประสทธภาพในการด าเนนงาน ตามทไดออกแบบไวดงน

5.1 ซอฟแวรและเครองมอทน ามาใชในการทดสอบ

การด าเนนการวจยนไดถกจ าลองและพฒนาบนคอมพวเตอรทมการเขยนโปรแกรมเพอใหมการตดตอในลกษณะเซรฟเวอรและไคลเอนท ผวจ ยไดใชโปรแกรม VMware Workstation 7 ท าการจ าลองระบบ ซงมรายละเอยดของเครองคอมพวเตอรหลกดงน

ตารางท 5.1 ตารางแสดงรายละเอยดอปกรณทใชในการทดลองงานวจย

Processer Intel(R) Core(TM)2 Duo CPU T5670 @ 1.80GHz Mainboard Model GRA31S Chipset Intel GM965 rev. C0 Memory (RAM) DDR2 SDRAM 2 GB Operating System Windows 7 Ultimate Edition Service Pack 1 (Build 7601)

ผวจยไดเขยนโปรแกรมจ าลองการท างานของโปรโทคอล DHCP โดยการใชภาษาซ

ชารป (C#) พฒนาโดยโปรแกรม Microsoft Visual C# 2010 และมการเพมกระบวนการของการใชลายเซนดจทลโดยการใชใบรบรองดจทล และการแลกเปลยนคยโดย Diffie-Hellman ซงเปนไปตามทผวจยไดออกแบบไวทง 2 แบบ ตารางท 5.2 ตารางแสดงรายการโปรแกรมทใชในการทดลองงานวจย

ล าดบ โปรแกรมทใชงาน 1 Microsoft Visual Studio C# 2010 2 VMware Workstation 7

5.2 วธการทดลองงานวจย

โปรแกรมการจ าลองเปนการท างานแบบเซรฟเวอรและไคลเอนท ผวจยไดท าการเขยนโปรแกรมขนมา 2 แบบตามทไดน าเสนอไวแลวในบทท 3 คอ แบบทไคลเอนทมใบรบรองดจทลและแบบทไคลเอนทไมมใบรบรองดจดล จากนนไดท าการจบเวลาในการท างานในขณะทเครองไคลเอนทและเครองเซรฟเวอรท าการสรางขอความและท าการรวมเวลาทงหมดตงแตเครองไคลเอนทเรมเชอมตอจนเสรจสนกระบวนการ เพอน าขอมลเวลานนมาเปรยบเทยบกบระบบเดมทม อยแลวของ Shue et al.[1] ซงโปรแกรมมการท างานตามขนตอนดงน

25

1) เครองไคลเอนทมใบรบรองดจทล

รปท 5.1 การท างานของโปรแกรมกรณทไคลเอนทมใบรบรองดจทล

26

2) เครองไคลเอนทไมมใบรบรองดจทล

รปท 5.2 การท างานของโปรแกรมกรณทไคลเอนทไมมใบรบรองดจทล

27

เรมจากการเปดโปรแกรมขนมา โดยจะมหนาตางขนมา 2 หนาตางคอหนาตางของฝ งไคลเอนทและหนาตางของฝ งเซรฟเวอรตามรปท 5.3 – รปท 5.6 จากนนท าการเรมการเชอมตอโดยการกดป มเชอมตอ (Connect) ทหนาตางฝ งไคลเอนท โปรแกรมกจะเรมท าการสรางขอความและสงขอความและจะแสดงทงขอความทสงระหวางเครองไคลเอนทและเครองเซรฟเวอร เวลาทใชในแตละขนตอนและเวลารวมทงหมด

รปท 5.3 หนาจอของโปรแกรมฝ งไคลเอนทในกรณท 1

28

รปท 5.4 หนาจอของโปรแกรมฝ งเซรฟเวอรในกรณท 1

รปท 5.5 หนาจอของโปรแกรมฝ งไคลเอนทในกรณท 2

29

รปท 5.6 หนาจอของโปรแกรมฝ งเซรฟเวอรในกรณท 2

5.3 การทดสอบประสทธภาพของงานวจย จากการท าการทดสอบการท างานของโพรโตคอลทน าเสนอ โดยอาศยโปรแกรมซชารป ผวจยไดวเคราะหถงประสทธภาพในการท างานเทยบกบโพรโตคอลทน าเสนอโดย Shue et al.[1] โดยใชการวดประสทธภาพในดานความเรวในการประมวลผลตงแตการเรมกระบวนการจนถงกระบวนการสดทายเสรจสน ในครงนผวจยจะท าการทดสอบประสทธภาพจ านวน 30 รอบ แลวจงท าการหาคาเฉลยของเวลาทไดมาทงหมด จากนนจงน ามาท าการเปรยบเทยบเวลารวมทงหมดของโพรโตคอลทมอยแลว

30

ตารางท 5.3 ตารางแสดงเวลาการท างานของโพรโตคอลทน าเสนอ

ครงท กรณท 1 กรณท 2 1 335 1143 2 296 1456 3 312 1343 4 288 2647 5 285 1233 6 287 1422 7 284 1432 8 287 1532 9 285 1752 10 285 1542 11 283 1353 12 287 1333 13 295 1231 14 287 1223 15 285 1441 16 286 1542 17 289 1532 18 296 1236 19 285 1522 20 289 1743 21 292 1746 22 292 1320 23 287 1098 24 287 1982 25 288 1534 26 286 1263 27 291 1209

31

ครงท กรณท 1 กรณท 2 28 285 1087 29 290 2111 30 285 1453

เฉลย 290.3 1482.03 หนวย : มลลวนาท (Millisecond)

หมายเหต กรณท 1 หมายถง เครองไคลเอนทมใบรบรองดจทล

กรณท 2 หมายถง เครองไคลเอนทไมมใบรบรองดจทล ตารางท 5.4 ตารางแสดงเวลาการท างานของโพรโตคอลทน าเสนอโดย Shue et al.[1]

Operation DHCP

Message Machine

Required Time(ms)

Generate Client Key Pair Create Nonce Create Signature Verify Message Signature Create Signature Verify DHCP Server Certificate Verify Message Signature Create Certificate Create Signature Verify Client Certificate

N/A All but Request Request Offer Offer Offer Ack. Ack. Ack.

Client Both Client Server Server Client Client Server Server Client

145.003 0.032 9.428 16.163 15.618 14.412 0.900 71.038 15.641 19.823

Total time 308.058 หนวย : มลลวนาท (Millisecond)

32

จากทงสองตารางนนจะแสดงใหเหนวาเวลารวมของทงสองนนไมเทากน โดยทคาเวลารวมของวธทผวจยน าเสนอนนจะมคานอยกวาวธทน าเสนอโดย Shue et al.[1] ซงผลการทดสอบนสามารถพสจนไดวาวธทผวจยน าเสนอในกรณท 1 นนสามารถเพมความมนคงปลอดภยใหแกโพรโทคอลไดมากขน และยงสามารถลดเวลาในการท างานของโพรโทคอลได สวนในกรณท 2 จะมการใชเวลามากกวา เนองมาจากการแลกเปลยนกญแจในขนตอนแรก แตความตางของเวลามหนวยเปนมลลวนาท ถอวาอยในระดบทรบได

33

บทท 6 สรปผลงานวจย

6.1 สรปผลงานวจย

งานวจยฉบบนไดน าเสนอรปแบบโพรโทคอลดเอชซพ (DHCP Protocal) ทมความมนคงปลอดภยเพมขนโดยการใชใบรบรองดจทล (Digital Certificate) เปนหลก และการใชเทคโนโลยการแลกเปลยนคย (key exchange) งานวจยนไดน าเสนอโพรโทคอลในสองรปแบบคอกรณทเครองไคลเอนทมใบรบรองดจทล (Digital Certificate) และกรณทไคลเอนทไมมใบรบรองดจทล (Digital Certificate) เพอสามารถรองรบการใชงานไดในหลายรปแบบ

จากผลการทดลองในบททผานมาผลลพธทไดแสดงใหเหนวาระบบทน าเสนอนนมประสทธภาพในการในดานความมนคงปลอดภยได และนอกจากนนยงสามารถลดเวลาในการท างานใหใชเวลานอยลง 6.2 แนวทางการพฒนาตอในอนาคต งานวจยฉบบนเปนการจ าลองเพอน าเสนอรปแบบการตดตอสอสารทมความมนคงและปลอดภยของโพรโทคอล DHCP ซงสามารถน าไปพฒนาใหมประสทธภาพไดดยงขน

34

เอกสารอางอง

[1] C. A. Shue*, A. J. Kalafut and M. Gupta, “A Unified Approach to Intra-Domain Security”, International Conference on Computational Science and Engineering, vol. 3, pp.219-224, 2009

[2] Y. Yang, J. Mi, “Design of DHCP Protocol based on Access Control and SAKA Encryption Algorithm”, International Conference on Computational Science and Engineering, vol. 6, pp.264-267 , 2010 2nd

[3] T. Komori, T. Saito, "The Secure DHCP System with User Authentication," 27th Annual IEEE International Conference on Local Computer Networks (LCN'02), pp.0123, 2002

[4] หลกการท างานของ DHCP Server (Lease Generation Process), http://www.computer4u.in.th/blog/หลกการท างานของ-dhcp-server-lease-generation-process.html, visit on 02/10/2010

[5] ความรเบองตนเกยวกบการพสจนตวตน, http://www.thaicert.nectec.or.th/paper/authen/authentication_guide.php, visit on 29/09/2010

[6] Public Key Cryptography เทคโนโลยกญแจสาธารณะ, http://kitty.in.th/index.php?id=76

ภาคผนวก

ผลงานวจยทไดรบการตพมพเผยแพร

1. สมนา หาญกลาและศภกร กงพศดาร, การเพมความมนคงปลอดภยของโพรโทคอล DHCP

โดยการใชใบรบรองดจทล , การประชมวชาการงานวจยและพฒนาเชงประยกต ครงท 3 หนาท

256-261, 5-6 พฤษภาคม 2554.

การเพมความมนคงปลอดภยของโพรโทคอล DHCP โดยการใชใบรบรองดจทล

ผศ .ดร. ศภกร กงพศดาร

มหาวทยาลยเทคโนโลยมหานคร

supakorn@mut.ac.th

สมนา หาญกลา

มหาวทยาลยเทคโนโลยมหานคร

im_meena@hotmail.com

บทคดยอ โพรโทคอล DHCP (Dynamic Host Configuration Protocol) ใชในการอ านวยความสะดวกการจดสรรขอมลการตงคาการเขาใชงานเครอขายใหแกเครองไคลเอนท (Client) อยางไรกตามโพรโทคอลนกยงมปญหาจากการถกโจมตโดยผบกรก การใชหมายเลขเครอง (MAC Address) เปนวธการทนยมน ามาใชในการพสจนตวจรงของการใชงานโพรโทคอล DHCP แตกไมสามารถเพมความมนคงปลอดภยไดเทาทควร งานวจยฉบบนน าเสนอเทคนคการเพมความมนคงปลอดภยใหแกโพรโทคอล DHCP โดยการใชเทคโนโลยใบรบรองดจทล (Digital Certificate) มาประยกตใชรวมดวยกบโพรโทคอล DHCP แบบเดมทมอยแลว วธการนจะท าใหสามารถปองกนการถกบกรกดวยวธการดกจบขอมล (Sniff) การโจมตชนด Man-in-the-middle attack และ Denial-of-Service (DoS) ได

Abstract Dynamic Host Configuration Protocol (or DHCP for short) allocates Network configuration parameters to clients. However, DHCP itself suffers from several attacks. Basically, MAC address is used to authenticate DHCP clients but it still do not provide sufficient security level. This paper proposes a security enhancement to DHCP transactions based on Digital Certificates. It can prevent several attacks e.g. sniffing, Man-in-the-middle attacks, and DoS attacks.

ค าส าคญ

Dynamic Host Configuration Protocol, DHCP, DHCP authentication, Security protocols, Digital Certification

1. บทน า DHCP (Dynamic Host Configuration Protocol) คอโพรโทคอลทใชในการจดสรรการตงคาการเขาใชงานเครอขาย เชน IP Address, Subnet Mask, Gateway, DNS รวมถง พารามเตอรอนๆ ทเกยวกบ IP ใหกบเครองไคลเอนทแบบอตโนมตซง DHCP นยมใชกบองคกรหรอส านกงานทมเครองไคลเอนทเปนจ านวนมาก ท าใหผดแลระบบไมตองเสยเวลาในการก าหนดคาตางๆ ใหกบเครองไคลเอนทเอง

โดยสวนมาก DHCP มการใช Mac Address ในการพสจนตวจรง แตอยางไรกตามหมายเลขเครองสามารถถกปลอมแปลงได ซงจะเปนชองโหว เพอใหผ บกรกสามารถลกลอบเขามาท าความเสยหายภายในระบบได

จากการศกษางานวจยทผานมา ไดพบวามการน าเทคโนโลยใบรบรองดจทลมาใชในการพสจนตวจรงของเครองเซรฟเวอร (Server)[1] แตวธการทมอยนน ยงมชองโหวส าหรบผบกรก โดยทมการสงกญแจสาธารณะ (Public Key) จากไคลเอนททไมมใบรบรองดจทลไปยงเซรฟเวอร ซงผบกรกสามารถจะดกจบขอมลและปดกนการสงกญแจสาธารณะนน แลวสรางกญแจสาธารณะปลอมขนมา แลวสงไปใหเซรฟเวอร จงท าใหผ บกรกสามารถปลอมตวเปนเครองไคลเอนทตวจรงได

ดงนนงานวจยฉบบนจงไดน าเสนอวธการใหม โดยการน าเทคโนโลยใบรบรองด จทลมาใช ซงครอบคลมทง 2 กรณ คอ ไคลเอนทมใบรบรองดจทล

และไคลเอนทไมมใบรบรองดจทล วธการทน าเสนอน สามารถปองกนการถกดกจบขอมล และการปลอมแปลงเปนไคลเอนทจากผบกรกได

โครงสรางของงานวจยฉบบนมดงน หวขอท 2 กลาวถง ขอมลทเกยวของและงานวจยทผานมาทไดน ามาศกษาและน ามาเปนขอมลในการเขยนงานวจยฉบบน หวขอท 3 กลาวถงเนอหาและวธการของงานวจยทผ วจยตองการทจะน าเสนอ หวขอท 4 กลาวถงการวเคราะหทางดานความมนคงปลอดภยของวธการทน าเสนอและการวเคราะหประสทธภาพของวธการทน าเสนอ และหวขอท 5 กลาวถงขอสรปของงานวจยฉบบน

2. ทฤษฎและงานวจยทเกยวของ เนองจากการใชงานเครอขายมเพมมากขนเรอยๆ ดงนนโพรโทคอล DHCP จงกลายเปนสงจ าเปนเพอใชในการจดการการตงคาในการเขาใชงานเครอขายตางๆ ใหงายขน

2.1 Dynamic Host Configuration Protocol

DHCP (Dynamic Host Configuration Protocol) เปนโพรโตคอลมการท างานแบบไคลเอนทเซรฟเวอร ซงม DHCP ไคลเอนท (DHCP Client) และ DHCP เซรฟเวอร (DHCP Server) ซง DHCP เซรฟเวอรท าหนาทบรการดานการแจกจายการตงคาการใชงานเครอขายใหกบไคลเอนท ในกรณทองคกรมไคลเอนทเปนจ านวนมากการจดสรรการตงคาแบบ Static IP นนจะมปญหาและความยงยาก ถาไมมการควบคมใหดจะมปญหาเรองการตงคาซ าซอน การท างานของ DHCP เซรฟเวอร นนจะแจกจายการตงคาใหกบไคลเอนทโดยไมซ ากน ท าใหผดแลระบบไมจ าเปนตองไปตงคา ใหกบไคลเอนททกเครอง

2.1.1 การท างานของโพรโทคอล DHCP

ลกษณะการท างานของโพรโทคอล DHCP มการสงขอความระหวางเครองเซรฟเวอรและเครองไคลเอนท ดงน

1) DHCP Discover เครองไคลเอนทท าการบรอดคาสต (Broadcast) ขอความไปเพอหาเครองเซรฟเวอรในเครอขาย

2) DHCP Offers เครองเซรฟเวอร จะท าการจองหมายเลขไอพแอดเดรสทวาง แลวสงขอความ DHCP Offer ไปยงเครองไคลเอนทตามคาหมายเลขเครอง

3) DHCP Requests เครองไคลเอนทท าการบรอดคาสตขอความไปยงเครองเซรฟเวอรอนๆ ภายในเครอขาย เพอระบวาไดรบไอพแอดเดรสแลว

4) เซรฟเวอรจะสงขอความ DHCP Acknowledge กลบไปยงเครองไคลเอนท เพอใหเรมใชงานได

รปท 1 การท างานของ DHCP

แตเนองจากยงไมมความมนคงปลอดภยทเพยงพอโดยเฉพาะการพสจนตวจรง จงอาจจ าท าใหกลายเปนชองโหวทท าใหผบกรกสามารถเขามาท าใหระบบเกดความเสยหายได

2.2 งานวจยทเกยวของ

2.2.1 วธการของ Shue et al.

Shue et al. [2] สนใจปญหาการถกบกรกการโจมตทผ โจมตท างานโดยการปลอมแปลงเปนเซรฟเวอรหรอไคลเอนททไดรบอนญาตถกตอง และไดน าเสนอโพร

โทคอล DHCP ทมความปลอดภย โดยทมการใชใบรบรองดจทล

ลกษณะการท างานของโพรโทคอล DHCP ทน าเสนอ แบงไดเปน 2 กรณ คอ ผใชรายเดมและผขอใชอนญาตรายใหม ดงน

1) ผใชงานเดม

รปท 2 การท างาน DHCP โพรโทคอลของ Shue

et al.

-DHCP Discovery ไดมการเพมการสงกญแจสาธารณะ ของผ ใชในไคลเอนทซงจะใชเพอใหเซรฟเวอร DHCP Server เรยกคนคาตงคากอนหนานส าหรบไคลเอนทรายน และคานอนซ (nonce) ซงจะยนยนวาขอความนเปนขอความใหมเพอปองกนการโจมตแบบรเพลย (Replay Attack)

-DHCP Offer เซรฟเวอร DHCP จะก าหนดคาตางๆ คลายกบแบบเดม แตจะใชกญแจสาธารณะ ในการเรยกคนการตงคาแทนการใชหมายเลขเครอง จะสงใบรบรองดจทลเพอปองกนการถกปลอมแปลงเซรฟเวอร คานอนซของเซรฟเวอรเองและของไคลเอนททไดมาจากขอความ Discovery ไปใหไคลเอนท และปองกนการถกแกไขจะท าการเขารหส คาการตงคาและคานอนซทงสองดวยกญแจสวนตวของเซรฟเวอร

-DHCP Request ไคลเอนทจะตรวจสอบเซรฟเวอรโดยใบรบรองดจทล ดวยการถอดรหสโดยกญแจสาธารณะของเซรฟเวอร และเมอไคลเอนทยอมรบกจะสงคาการตงคากลบซงจะรวมถงกญแจสาธารณะและคานอนซ ใหมของไคลเอนท แลวจะท าการเขารหสพรอมดวยคานอนซของเซรฟเวอรดวยกญแจสวนตวของไคลเอนท

-DHCP Acknowledgment สดทายเซรฟเวอรจะสงขอความกลบไปยงไคลเอนท โดยมคาการตงคาและใบรบรองดจทล และจะเขารหสคาการตงคาและคานอนซ ของไคลเอนทดวยกญแจสวนตว (Private key) ของเซรฟเวอรเพอปองกนการแกไข

2) ผใชงานรายใหม

ไคลเอนทรายใหมเขามาเชอมตอกบเครอขายกอนอนจะตองมการสรางกญแจสาธารณะและกญแจสวนตว และมการจบคกบเซ รฟเวอรโดย DHCP Discovery เมอเซรฟเวอรหากญแจสาธารณะไมเจอ กจะสงค าขอทงหมดไปยงสวนอนทปลอดภย เชน RADIUS เมอไคลเอนทลงชอเขาใชแลวจะตองสงกญแจสาธารณะและหมายเลขเครองใหกบระบบการยนยนตวตน จากนนระบบจะสงคาทงสองนไปใหเซรฟเวอร

2.2.2 วธการของ Yang et al.

Yang et al. [2] ไดแยกปญหาออกเปน 2 กรณ คอ ผบกรกไดปลอมแปลงเปนเซรฟเวอร ซงจะท าใหเกดการโจมตชนด Man-in-the-middle และผ บก รกปลอมตวเปนไคลเอนท จงท าใหเกดการโจมตชนด DoS (Denial of Service) ดงนน Yang ae al. จงไดน าเสนอวธการแกปญหาไวดงน

2.2.2.1 หลกการของวธการของ Yang et al.

หลกส าคญของปญหา คอการขาดการตรวจสอบกนระหวางเซรฟเวอรและไคลเอนท ดงนน Yang et al. [1] จงไดเสนอวธการโดยใช Access Control และ SAKA encryption algorithm เนองจากหมายเลขเครองสามารถทจะปลอมแปลงไดงาย ในวธนจงมการใช CPU ID และ Disk Value โดยการเขยนโปรแกรมดวย C# เพอดงคาออกมา

ขนแรก ไคลเอนทจะท าการแฮชคา CPU ID คา Disk Value และรหสผาน แบบ MD5 แลวจะบรอดคาสตคาแฮชทไดไปท DHCP เซรฟเวอร เพอเรมขอใชงาน หลงจากเซรฟเวอรไดรบขอความจะมการตรวจสอบและท าการแฮชดวย MD5 แลวเกบขอมลไวในฐานขอมลแตระบบมการจ ากดจ านวนการรองขอ ถามการรองขอเกนจนเกด DHCP Flood เซรฟเวอรกจะไมสามารถตอบสนองการรองขอได

ขนตอนการแลกเปลยนกญแจ จะใช SAKA Algorithm โดยมรายละเอยดดงตอไปน

ทงไคลเอนทและเซรฟเวอรจะใชประโยชนจากฟงกชนทก าหนดไวลวงหนา เพอก าหนดจ านวนเตมสองจ านวนคอ Q และ (Q – 1) mod (n – 1) จาก Pre – Shared key P

เซรฟเวอรและไคลเอนท จะสมตวเลขขนมา เซรฟเวอรเลอกคา a แลวสงไปใหไคลเอนทโดยใชสมการ M=gaQ mod n

ไคลเอนทเลอก คา b แลวสงไปใหเซรฟเวอรโดยใชสมการ N=gbQ mod n เซรฟเวอรและไคลเอนทค านวณหา share-key

KEY, key1 = NaQ-1 mod n : key2 = MbQ-1 mod n KEY = key1 = key2 = gab mod n

โดยท n เปนจ านวนเฉพาะและ g เปนจ านวนเฉพาะระหวาง 1 ถง n

รปท 3 การท างาน DHCP โพรโทคอลของ Yang

et al.

3. งานวจยทน าเสนอ

ระบบนจะแบงเปนสองกรณ คอ กรณทเครองไคลเอนทมใบรบรองดจทล และกรณทเครองไคลเอนทไมมใบรบรองดจทล เพอรองรบการใชงานในรปแบบตางๆ

3.1 เครองไคลเอนทมใบรบรองดจทล

กอนอนเครองไคลเอนททกเครองจะตองท าการขอใบรบรองดจทลจากองคกรทใหบรการออกใบรบรองดจทล (Certificate Authority) หรอ CA ทนาเชอถอ ขนท 1 เครองไคลเอนทจะบรอดคาสต DHCP Discovery ออกไปเพอคนหาเครองเซรฟเวอรพรอมดวยคานอนซ C S : Discovery message, NonceC (ก าหนดให C คอ Client และ S คอ Server)

ขนท 2 เครองเซรฟเวอรทไดรบขอความแลวจะสง DHCP Offer ตอบกลบไปหาเครองไคลเอนท เพอแจงวามสทธในการใหบรการ และสงใบรบรองดจทลไปพรอมกบขอความ เพอใชในการยนยนวาเปนเครองเซรฟเวอรทถกตองพรอมดวยคานอนซ จากนนจะท าการเขารหสดวยกญแจสวนตวของเซรฟเวอรปองกนการถกปลอมแปลง

S C : Offer message, CertS, NonceS, {h(Offer message, NonceC, NonceS)}KPriv-S

ขนท 3 ไคลเอนทจะท าการตรวจสอบใบรบรองดจทลแลวจะน ากญแจสาธารณะของเซรฟเวอรมาถอดรหสขอความทเขารหสไวเพอตรวจสอบความถกตอง จากนนไคลเอนทจะสง DHCP Request กลบไปใหเครองเซรฟเวอร พรอมดวยคานอนซใหมของไคล เอนท เองและการ เ ขารหส ขอ DHCP Request คานอนซใหมของไคลเอนท และคานอนซของเซรฟเวอร ดวยกญแจสวนตวของเครองไคลเอนท C S : Request message, NonceC

{h(Request message, NonceC, NonceS)} KPriv-C

ขนท 4 เครองเซรฟเวอรจะสง Acknowledgment message ไปใหเครองไคลเอนท พรอมดวยคานอนซใหม ข อ ง เ ซ ร ฟ เ ว อ ร และกา ร เ ข า รหส DHCP Acknowledgment พรอมดวยคานอนซของไคลเอนท คานอนซใหมของเซฟเวอรดวยกญแจสวนตวของเครองเซรฟเวอร S C : Acknowledgment message,NonceS2,

{h(Acknowledgment message, NonceC, NonceS)}KPriv-S

รปท 4 การท างานของโพรโทคอล DHCP ในกรณทไคลเอนทมใบรบรองดจทล

3.2 เครองไคลเอนทไมมใบรบรองดจทล (Digital Certificate) กอนอนเครองเซรฟเวอรและเครองไคลเอนทจะท าการแลกเปลยนกญแจ ซงในวธทน าเสนอนจะใชวธการของ Diffie-Hellman Key exchange จากนนจะใชกญแจลบ (Secret Key) ทไดนนน าไปใชในการพสจนตวจรงของเครองเซรฟเวอรและเครองไคลเอนท โดยมวธการดงน ขนท 1 เครองเซรฟเวอรและเครองไคลเอนทจะก าหนดคา n และคา g ขนมา[6] ภายใตเงอนไข 1 < g < n จากนนเครองเซรฟเวอรจะสมคาลบ a ทมคามากๆ มาหนงคา และหาคา X = ga mod n เครองไคลเอนทกเชนกนจะสมคาลบ b ทมคามากๆ มาหนงคาและหาคา Y = gb mod n แลวเครองเซรฟเวอรและเครองไคลเอนทจะท าการแลกเปลยนคา X และ คา Y ขนท 2 จากนนเครองเซรฟเวอรและเครองไคลเอนท จะค านวณหาคากญแจลบโดยท k = Y a mod n และ k’ = Xb mod n ซง KEY = k = k’ = gab mod n ขนท 3 เครองไคลเอนทจะบรอดคาสตขอความ DHCP Discovery Message ออกไปเพอคนหาเครองเซรฟเวอรพรอมดวยคานอนซ C S : Discovery message, NonceC ขนท 4 เครองเซรฟเวอรทไดรบขอความแลวจะสง DHCP Offer ตอบกลบเพอแจงวามสทธในการใหบรการ และสงใบรบรองด จทล ไปพรอมกบขอความเพอใชในการยนยนวาเปนเครองเซรฟเวอรทถกตอง สงคานอนซของเครองเซรฟเวอร และจะสงการเขารหสขอความ DHCP Offer คานอนซของเครองเซรฟเวอร คานอนซของเครองไคลเอนทและกญแจลบ ดวยกญแจสวนตวของเซรฟเวอร เพอปองกนการถกปลอมแปลงขอความ

S C : Offer message, CertS, NS,{h(Offer message, NonceC, NonceS, KEY)}KPriv-S

ขนท 5 เมอเครองไคลเอนทไดรบขอความแลวจะท าการตรวจสอบใบรบรองดจทล แลวจะน ากญแจสาธารณะของเซ รฟเวอรมาถอดรหสขอความทเขารหสไวเพอตรวจสอบความถกตอง จากนนไคลเอนทจะสงขอความ DHCP Request กลบไปใหเครองเซรฟเวอร พรอมดวยคานอนซ ใหมของไคลเอนทและฟงกชนของแฮช (Hash Function) DHCP Request คานอนซใหมของไคลเอนท คานอนซของเซรฟเวอร และกญแจลบ C S : Request message, NonceC2,

h(Request message, NonceC2, NonceS, KEY)

ข นท 6 เ ค ร อ ง เ ซ รฟ เ วอ รจะส ง DHCP Acknowledgment ไปใหเครองไคลเอนท พรอมดวยคานอนซใหมของเซรฟเวอรและฟงกชนแฮช DHCP Acknowledgment คานอนซของไคลเอนท คานอนซใหมของเซรฟเวอร และกญแจลบ S C : Acknowledgment message, NonceS2,

h(Acknowledgment message, NonceC2, NonceS2, KEY)

รปท 5 การท างานของโพรโทคอล DHCP ใน

กรณทไคลเอนทไมมใบรบรองดจทล

4. วเคราะหความมนคงปลอดภยและวเคราะหประสทธภาพ จากการพฒนาเทคนคโพรโตคอล DHCP ดวยวธทไดกลาวมาแลวนน เพอลดความเสยงดานความมนคงปลอดภยของระบบ สามารถวเคราะหความมนคงปลอดภยไดดงน

4.1 การรกษาความลบ (Confidential ( ในกรณทเครองไคลเอนทไมมใบรบรองดจทล ไดน าเทคโนโลยการแลกเปลยนคย มาใชในการรบสงขอมลระหวางเครองเซรฟเวอรและเครองไคลเอนทเพอปองกนการถกดกจบขอมล แลวสามารถทจะหาคาคยทถกตองได เพราะเปนวธการทยากและใชเวลานานมาก

ในกรณทเครองไคลเอนทมใบรบรองดจทล จะน าเทคโนโลยลายเซนดจตอล (Digital Signature) มาใชในการเขารหส (Cryptography) ขอความในการสงขอมลเพอปองกนการถกดกจบขอมลแลวผดกจบสามารถเปดอานดขอความได

4.2 ความคงสภาพของขอความ (Message Integrity) การน าเทคโนโลยฟงกชนแฮช มาใชในการแฮชขอความ สามารถทจะตรวจสอบวาขอความทสงไปนนเปนขอความทถกตอง หรอมการเปลยนแปลงโดยบคคลอนหรอไม

4.3 การตานทานตอการถกโจมตดวย Replay Attack การถกโจมตแบบรเพลย ดวยการปลอมตวเปนไคลเอนทแลวสงขอมลชดเดมทดกจบไวได จะไมสามารถประสบความส าเรจไดเนองจากการใชนอนซ ซงบงบอกวาคาดงกลาวเปนคาถกสรางขนมาใหม

4.4 การตานทานตอการถกโจมตแบบ Man-in-the-middle Attack สามารถแกปญหาการถกโจมตแบบ Man-in-the-middle Attack ไดดวยการใชใบรบรองดจทล การแลกเปลยนคยและการใชลายเซนดจทล มาใชในการพสจนตวจรง ระหวางเครองเซรฟเวอรและเครองไคลเอนท จงท าใหไมเกดปญหาทผบกรกสามารถปลอมตวเปนเครองเซรฟเวอรแลวเขามาดกจบขอมลได

4.5 การตานทานตอการถกโจมตแบบ DoS Attack ปญหาการโจมตแบบ DoS Attack เกดจากทผบกรกพยายามปลอมตวเปนเครองไคลเอนท แลวสงขอความรองขอจ านวนมากเขามาทเครองเซรฟเวอร จนท าใหเครองเซรฟเวอรเตม และไมสามารถทจะท างานได ดงนนจงปองกนดวยการใชเทคโนโลยการแลกเปลยนคยและการใชใบรบรองดจทล เขามาแกปญหา

5. สรปผลงานวจย งานวจยฉบบนไดน าเสนอรปแบบโพรโทคอล DHCP ทมความมนคงปลอดภยเพมขนโดยการใชเทคโนโลยใบรบรองดจทล ซง งานวจยนไดน าเสนอวธการสองกรณคอกรณทเครองไคลเอนทมใบรบรองดจทล และกรณทไคลเอนทไมมใบรบรองดจทล เพอรองรบความตองการในการน าไปใชงาน ซงจากการวเคราะห สามารถสรปไดวา วธทน าเสนอมประสทธภาพในการรกษาความลบ การคงสภาพของขอความ ปองกนการถกโจมตแบบรเพลย ปองกนการโจมตแบบ Man-in-the-middle และปองกนการโจมตแบบ DoS

ส าหรบแนวทางการพฒนางานวจยตอไปนน จะน าวธการทน าเสนอ น าไปปฏบตสรางระบบจรงขนมา เพอพสจนวาวธการทน าเสนอมานนสามารถท าไดจรงและมประสทธภาพ

6. เอกสารอางอง [1] C. A. Shue*, A. J. Kalafut and M. Gupta, “A Unified Approach to Intra-Domain Security”, International Conference on Computational Science and Engineering, vol. 3, pp.219-224, 2009 [2] Y. Yang, J. Mi, “Design of DHCP Protocol based on Access Control and SAKA Encryption Algorithm”, International Conference on Computational Science and Engineering, vol. 6,

pp.264-267 , 2010 2nd [3] T. Komori, T. Saito, "The Secure DHCP System with User Authentication," 27th Annual IEEE International Conference on Local Computer Networks (LCN'02), pp.0123, 2002 [4] หลกการท างานของ DHCP Server (Lease Generation Process), http://www.computer4u.in.th/blog/ห ล ก ก า รท า ง า น ข อ ง -dhcp-server-lease-generation-process.html, visit on 02/10/2010 [5] ความรเบองตนเกยวกบการพสจนตวตน, http://www.thaicert.nectec.or.th/paper/authen/authentication_guide.php, visit on 29/09/2010

[6] Public Key Cryptography เทคโนโลยกญแจสาธารณะ, http://kitty.in.th/index.php?id=76

top related