วันพฤหัสบดีที่ 3 เมษายน พ.ศ. 2551

จุดอ่อนของแคมตระกูลนิวแคม (newcamd)

ช่วงนี้แคมที่ได้รับความนิยมกลับย้อนยุคไปยังแคมยุคแรก ซึ่งก็คือแคมในตระกูลนิวแคม (newcamd) แต่ก่อนจะพูดถึงข้อดีข้อเสียของตระกูลนี้ เราลองมาทำความเข้าใจถึงหลักการทำงานของแคมตระกูลนี้ซักหน่อย

แคมในตระกูลนิวแคม ทำงานในลักษณะของ ไคลเอนท์/เซิฟเวอร์ (Client/Server) โดยจะแยกกันออกเป็น 2 ส่วนชัดเจนคือ

  1. ส่วนที่ทำหน้าที่เป็นการ์ดเซิฟเวอร์ ซึ่งได้แก่ตัวโปรแกรม cardserver ที่ติดมากับตัวนิวแคม หรืออาจจะเป็นตัว NewCS ที่แยกมาต่างหาก ส่วนนี้ทำหน้าที่ติดต่อกับการ์ดโดยตรงโดยมีหน้าที่แค่เพียงรับส่งรหัสควบคุม CW (Control Word) จากการ์ดกับตัวโปรแกรมเท่านั้น ซึ่งโดยปกติโปรแกรมส่วนนี้ก็จะมีการจัดสิทธิและลำดับการรับส่งรหัสได้ โดยการสร้างรายชื่อผู้ใช้และรหัสผ่าน (username และ password)
  2. ส่วนที่ทำหน้าที่เป็นอีมูลเลเตอร์ (ส่วนของไคลเอนท์) ซึ่งได้แก่ตัวโปรแกรมที่ชื่อว่า newcamd และ mgcamd ส่วนนี้มีหน้าที่คือรับรหัสควบคุม CW (Control Word) มาจากส่วนของการ์ดเซิฟเวอร์ แล้วนำมาประมวลผลตามอัลกอริทึมมาตรฐาน เพื่อถอดรหัสให้ออกมาเป็นสัญญาณภาพแล้วนำไปแสดงผล

[ การ์ด ] <--> [ card server ] <~~~~> [ emulator ] --> ภาพ

ซึ่งจากการทำงานเราก็จะเห็นว่า เราสามารถเลือกจับคู่ระหว่างตัว การ์ดเซิฟเวอร์ (cardserver และ newcs) กับตัวอีมูเลเตอร์ (newcamd และ mgcamd) ได้ถึง 4 คู่ แต่ที่นิยมกันในตอนนี้คือคู่ของ newcs และ mgcamd

[ การ์ด ] <--> [ newcs ] <~~~~> [ mgcamd ] --> ภาพ

ทำไมต้องคู่นี้ล่ะ newcs + mgcamd ?

เรื่องราวลึกๆ ของการจับคู่ขอเว้นไว้ไม่กล่าวถึง แต่ส่วนหนึ่งที่จะกล่าวถึงไว้คือ ตัว mgcamd มีความสามารถในการ "เลือกรับรหัสควบคุม" ได้ โดยการกำหนดสิ่งที่ต้องการรับและไม่รับไว้ในไฟล์ที่ชื่อว่า ignore.list พูดง่ายๆ คือ กำจัดขยะทิ้งไปให้เหลือแต่รหัสควบคุมที่ใช้งานได้จริง

เมื่อทราบข้อดีของมันแล้ว (จริงๆ มีข้อดีอีกหลายข้อ) ลองมาดูข้อเสียเล็กๆ ของมันบ้าง

ข้อเสียแรก เนื่องจากแคมตระกูลนิวแคมนี้ถูกสร้างขึ้นมาในยุคแรก พร้อมๆ กับตัวดรีมบ็อกซ์ ดังนั้นการควบคุมสิทธิการเข้าใช้มีข้อจำกัดคือ ด้วย user และ password เดียว ตัวอีมูเลเตอร์หลายๆ ตัวสามารถใช้งานการ์ดเซิฟเวอร์เดียวได้พร้อมๆ กัน พูดภาษาชาวบ้านง่ายๆ คือ แอคเค้าท์เดียวแต่เข้าดูพร้อมกันได้หลายๆ เครื่อง!!!

ข้อเสียสอง เป็นเรื่องของความปลอดภัย(รึเปล่า?) กล่าวคือ ตัวโปรแกรมในส่วนของการ์ดเซิฟเวอร์จะส่งข้อมูลทุกอย่างของการ์ดไปยังตัวโปรแกรมส่วนของอีมูเลเตอร์ แปลเป็นภาษาชาวบ้านอีกเช่นกันว่า ตัวลูกที่เชื่อมต่อเข้าไปยังตัวแม่ สามารถดูได้เลยว่าตัวแม่ใช้การ์ดหมายเลขทะเบียน (Card S/N) อะไร ซึ่งหากทราบ Card S/N ก็เป็นการง่ายที่จะติดตามว่า การ์ดนี้เป็นของใคร!!!!

ข้อเสียสาม เป็นเรื่องของการควบคุมสิทธิการแชร์ เนื่องจากแคมยุคแรกๆ ไม่ได้ออกแบบหรือมีความสามารถนี้ดังนั้นตัวรหัสควบคุม CW Control Word ที่ส่งไปยังตัวอีมูเลเตอร์ จะสามารถส่งต่อ (relay) ไปได้อีกไม่จำกัด แปลภาษาชาวบ้านก็ได้ว่า มันแชร์ต่อได้อีก(ถ้ารู้วิธี)!!!!

ดังนั้น หากใครจะเล่นแคมในตระกูลนิวแคมนี้ ก็ลองคิดถึงจุดอ่อนเหล่านี้ดูบ้างนะครับ

1 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

สนใจ ว่า mgcam มันจะแชร์ต่อได้หรือ ขอแนวคิดหน่อยครับ