250 likes | 333 Views
การพัฒนาระบบจัดการลิขสิทธิโปรแกรมผ่านเว็บเซอร์วิส A Development of Software License Management System.
E N D
การพัฒนาระบบจัดการลิขสิทธิโปรแกรมผ่านเว็บเซอร์วิส A Development of Software License Management System
แนวทางการป้องกันการละเมิดลิขสิทธิ์คือ การเก็บบันทึกรายละเอียดเครื่องคอมพิวเตอร์ที่ได้รับลิขสิทธิ์โปรแกรมอย่างถูกต้องควบคู่กับรหัสลงทะเบียนโดยบันทึกลงฐานข้อมูล เพื่อเป็นการอ้างอิงข้อมูลการเป็นเจ้าของลิขสิทธิ์อย่างถูกต้อง ซึ่งในการส่งข้อมูลการลงทะเบียนและรหัสเครื่องคอมพิวเตอร์ เราจะทำผ่าน เว็บเซอร์วิส
การเข้ารหัสลับข้อมูล แบ่งเป็น 2 อัลกอลิทึม คือ 1.1 อัลกอลิทึมแบบสมมาตร( Symmetric Key Algorithms) จะใช้กุญแจที่ เรียกว่ากุญแจลับ(Secret key) ซึ่งมีเพียงหนึ่งเดียวเพื่อใช้ในการเข้าและถอดรหัสข้อความที่ส่งไป
1.2 อัลกอลิทึมแบบอสมมาตร(Asymmetric Key Algorithms) โดยกลุ่มที่สําคัญ รูปแบบนี้คืออัลกอริทึมแบบกุญแจสาธารณะ (Public keys Algorithms) ซึ่งจะใช้กุญแจสองตัวเพื่อทํางาน ตัวหนึ่งใช้ในการเข้ารหัสโดยใช้กุญแจสาธารณะ(Public key) และอีกตัวหนึ่งใช้ในการถอดรหัสข้อมูลที่เข้ารหัสมาโดยกุญแจส่วนตัว(Private key)
การพิสูจน์ความสมบูรณ์ของข้อมูล(Data Integrity) สามารถตรวจสอบได้โดยการใช้Hash Function แบบ MD5 ซึ่งเป็นฟังก์ชันทิศทางเดียว(One-way Function) ทําการคำนวณหาค่าแฮช(Hash Value)ซึ่งเป็นค่าเฉพาะที่แต่ละรูปแบบข้อมูลจะมีค่าที่ไม่ซ้ำกัน โดยสามารถตรวจสอบในรูปแบบของ ข้อความ (String) และไฟล์ข้อมูลได้ (Data File) และสามารถตรวจสอบได้ว่าข้อมูลที่มีนั้น มาจากต้นฉบับหรือไม่ ดังภาพ
การบีบอัดข้อมูลแบบLZW (LZW Compression) การบีบอัดข้อมูลเป็นวิธีการเข้ารหัสข้อมูลเพื่อลดขนาด ข้อมูลทําให้ประหยัดพื้นที่ในการจัดเก็บหรือเพื่อประโยชน์ในการส่งผ่านข้อมูลอย่างรวดเร็ว โดยการบีบอัดแบบ LZW(Lempel-Ziv-Welch) ซึ่งมีอัลกอลิทึมการทํางานที่รวดเร็วและเป็นการบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล (Lossless DataCompression) โดยข้อมูลก่อนและหลังการบีบอัดเมื่อคลายออกแล้ว (Decompress) ข้อมูลที่ได้จะเหมือนกันโดยไม่ผิดเพี้ยน
การบีบอัดข้อมูลแบบLZW (LZW Compression) (ต่อ) การบีบอัดอาศัยหลักการของลักษณะรูปแบบความเป็นไปได้และเกิดการวนซ้ำของข้อมูลและ การแทนข้อมูลมีขนาดใหญ่ด้วยข้อมูลที่มีขนาดเล็กกว่าโดยมีการสร้างรหัสคํา(CodeWord)กำกับไว้ใน ตารางสมุดรหัสคํา (Code Book) CodeWord Code Book
การอําพรางข้อมูล(Steganography) การอําพรางข้อมูล(Steganography) การอําพรางข้อมูลเป็นการซ่อนข้อความที่เขียน(Hidden Writing) ซึ่งมีจุดมุ่งหมายหลักในการปกปิดส่วนสาระสําคัญของข้อมูล เช่น ไฟล์รูปภาพซึ่ง การซ่อนข้อมูลข้อความในไฟล์รูปภาพ (Image Steganography)โดยทั่วไปจะใช้วิธีที่เรียกว่าLSB (Least Significant Bit)
การยืนยันตัวตนจากรหัสฮาร์ดแวร์ (Hardware ID) • เครื่องคอมพิวเตอร์มีUnique Number กำกับอยู่ซึ่งสามารถใช้เป็นข้อมูลยืนยันตัวตนและเป็นข้อมูลตัวแทนอ้างอิงสําหรับเครื่องคอมพิวเตอร์ที่ติดตั้งโปรแกรมที่ได้รับลิขสิทธิ์(License)อย่างถูกต้องได้ โดยมีการบันทึกข้อมูล 4 ประเภทคือ • Hard Disk • Serial Number • Mac Address • Main Board ID
แนวคิดและการออกแบบระบบแนวคิดและการออกแบบระบบ ส่วนประกอบของระบบ (Generic Component) ประกอบด้วยสองส่วนหลัก คือ ฝั่งเครื่องแม่ข่าย(Server)ซึ่งเป็นเว็บเซอร์วิส (Web Services) สถาปัตยกรรมระบบในฝั่งเครื่องแม่ข่าย
2. ฝั่งเครื่องลูกข่าย (Client) เป็นโปรแกรมที่พัฒนาเพื่อการค้า โดยถูกพัฒนาโดยทีมงานโปรแกรมเมอร์ตามรูปแบบและความถนัดของตนเองโดยทำการรวม (Integrate) ส่วนควบคุมการจัดลิขสิทธิ์เข้าไป ซึ่งเรียกว่า โปรแกรมเริ่มการทำงาน(Launcher Applition) ภาพรวมการทำงานของระบบ
ไฟล์ ไลบราลี (Dynamic Link Library File) ฟังก์ชันที่ใช้งานบ่อยๆสําหรับเรียกใช้ไว้ 6 ประเภทคือ 1.กระบวนการเข้ารหัสข้อมูล (Encryption) 2.การอําพรางข้อมูลในไฟล์รูปภาพ (Image Steganography) โดยวิธีแบบ LSB (Least Significant Bit) 3.การคำนวณวันที่และเวลา 4.การอ่านค่าข้อมูลฮาร์ดแวร์ (Hardware Profile) 5.การควบคุมลิขสิทธิ์โปรแกรมเพื่อการค้า 6.การประสานงานและติดต่อผ่านเว็บเซอร์วิส
ข้อมูลที่อยู่ ในไฟล์รูปภาพ (Hidden Information) ข้อมูลสําคัญที่ถูกอําพรางไว้เพื่อใช้เป็นข้อมูลอ้างอิงในการตรวจสอบและควบคุมการใช้งานลิขสิทธิ์ มี 4 ประเภทคือ 1.ค่าแฮชและข้อมูลของโปรแกรมเริ่มการทำงาน 2.ค่าแฮชและข้อมูลของโปรแกรมเพื่อการค้า 3.ข้อมูลลิขสิทธิและคุณสมบัติที่ได้รับ 4.ข้อมูลฮาร์ดแวร์ต่างๆของเครื่องคอมพิวเตอร์
โปรแกรมเริ่มการทํางาน(Launcher Application) การควบคุมการใช้งานโปรแกรมเพื่อการค้า (Commercial Software)ตามลิขสิทธิ์ที่ผู้ใช้งานได้รับนั้นจะถูกควบคุมโดยLauncher Applicationซึ่งจะอ่านค่าลิขสิทธิ์จากไฟล์รูปภาพหากมีสิทธิในการใช้งานจะทําการตรวจสอบHash Valueของไฟล์ตัวมันเองและไฟล์ของโปรแกรม หากถูกต้อง จะส่งค่าตัวแปรรหัสเปิดใช้งาน(Active ID)ซึ่งเป็นค่าแฮชของทั้งสองไฟล์รวมกับเลขสุ่มRandom Numberพร้อมกับเปิดโปรแกรมแกรมเพื่อการค้าโดยจะมีParameter เหล่านี้ผ่านคำสั่ง “Shell”
โปรแกรมเริ่มการทํางาน(Launcher Application) ต่อ ทําการแยกและตรวจสอบค่าที่ถูกส่งมาว่ามาจากแหล่ง ที่น่าเชื่อถือหรือไม่หากการยืนยันตัวตนถูกต้องจะอนุญาตให้ใช้งานและ จับเวลาการใช้งานต่อไป ดังภาพ
ส่วนตัวติดตั้ง (Setup Package) ที่เครื่องลูกข่าย ส่วนประกอบระบบสำหรับติดตั้งที่เครื่องลูกข่าย
การแลกเปลี่ยนข้อมูลผ่านเว็บเซอร์วิสการแลกเปลี่ยนข้อมูลผ่านเว็บเซอร์วิส
การถอนลิขสิทธิ์ โปรแกรม (Remove License) ผู้ใช้งานสามารถถอนลิขสิทธิ์โปรแกรมไปติดตั้งที่เครื่องขึ้นอยู่กับคุณสมบัติลิขสิทธิ์ที่ได้รับ โดยระบุข้อมูลยืนยันตัวตนเพื่อตรวจสอบว่าเป็นเจ้าของลิขสิทธิ์ที่แท้จริงหรือไม่โดยเปรียบเทียบกับรหัสฮาร์ดแวร์ ในฐานข้อมูลที่ได้จากการเปิดใช้งานลิขสิทธิ์โปรแกรม (Activate)ในครั้งแรก ดังภาพ
การถอนลิขสิทธิ์ โปรแกรม (Remove License) การถอนลิขสิทธิ์โปรแกรม
การปรับปรุงลิขสิทธิ์โปรแกรม (Update License) คุณสมบัติ ลิขสิทธิ์ต่างๆสามารถปรับปรุงหรือเปลี่ยนแปลงได้ เช่น การเพิ่มจํานวนวันที่ใช้งาน โดยการระบุข้อมูลยืนยันตัวตนเพื่อเข้าสู่ระบบและรหัสเปิดใช้งานลิขสิทธิ์โปรแกรม(Activate Code) ใหม่ที่ได้จากการสั่งซื้อโดยหากข้อมูลทุกอย่างถูกต้องข้อมูลคุณสมบัติลิขสิทธิ์จะถูกปรับปรุงใหม่โดยรวมกับของเก่าที่มีอยู่
ผลการดําเนินงาน จากแนวคิดการออกแบบและพัฒนาระบบจัดการลิขสิทธิ์ โปรแกรมผ่านเว็บเซอร์วิสระบบแบ่งการทํางานออกเป็น 2 ส่วนและมีความสามารถในการทำงานดังนี้ 1.ส่วนเครื่องแม่ข่าย (Server) 2. ส่วนเครื่องลูกข่าย(Client)
สรุป SOAPการพัฒนาระบบจัดการลิขสิทธิ์โปรแกรมผ่านเว็บเซอร์วิส Service Requestor ผู้ใช้จะร้องขอรับลิขสิทธิ์ที่ถูกต้อง จากผู้ให้บริการ เช่น การซื้อเกมส์ ผู้ใช้ก็จะต้องร้องขอใช้บริการลิขสิทธิ์ที่ถูกต้องเพื่อใช้ในการลงทะเบียนบนฮาร์ดแวร์ในเครื่องคอมพิวเตอร์นั้นๆ หลังจากมีการใช้งาน หรือติดตั้งเกมส์แล้ว Service Requestor จะส่งข้อมูลรหัสไปตรวจสอบความถูกต้องกับยัง Service Registry
สรุป SOAPการพัฒนาระบบจัดการลิขสิทธิ์โปรแกรมผ่านเว็บเซอร์วิส(ต่อ) Service Registry จะทำการตรวจสอบว่ามีสัญญาการให้บริการหรือไม่ และมีบริการอะไรบ้าง ถ้าไม่ผ่านเงื่อนไขก็จะเคลียร์ข้อมูลทิ้งทันที ** เช่นการลงโปรแกรมเกมส์ บนเครื่องคอมพิวเตอร์ Service Registry ก็จะทำการตรวจสอบว่า รหัสบนฮาร์ดแวร์ กับ รหัสต้นฉบับตรงกันหรือไม่ เพื่อป้องกันการละเมิดลิขสิทธิ์ Service Provider จะทำการซ่อนข้อมูลในส่วนที่มีการติดต่อระหว่าง Client กับ Web Service ก่อนจะส่งกลับไปยัง Server
สมาชิกกลุ่ม นายประยุทธ์ แซ่เตียว 53660048 นายนนทชัย โพธิืเหมือน 53660092 นายณัฎฐพล ทองเจริญ 53660086 นางสาวนิภาพร ชุ่มแจ่ม 53660004 นางสาว สุพัตรา สาบัญทิตย์ 53660067 นายชลทิศ แสงอากาศ 53660084 นางสาวอรชพร เทียมสุวรรณ 53660074