← กลับไปยังบทความทั้งหมด

Osmocom โครงการซอฟต์แวร์โอเพนซอร์สสำหรับการสื่อสารเคลื่อนที่

สรุปใจความสำคัญ

  • Osmocom เป็นโครงการโอเพนซอร์สที่นำมาตรฐานการสื่อสารเคลื่อนที่ เช่น GSM, DECT และ TETRA มาปรับใช้เป็นซอฟต์แวร์
  • OpenBSC เป็นโครงการเริ่มต้นที่พัฒนาส่วนประกอบของเครือข่าย GSM เช่น MSC, HLR และ VLR
  • OsmocomBB เป็นเฟิร์มแวร์โอเพนซอร์สเพียงหนึ่งเดียวสำหรับโปรเซสเซอร์ baseband ของโทรศัพท์มือถือที่ใช้งานได้จริง
  • โครงการนี้ถูกนำไปใช้งานจริงในระดับชุมชน เช่น ใน Villa Talea de Castro ประเทศเม็กซิโก เพื่อให้บริการเครือข่ายแก่คนกว่า 3,500 คน

Osmocom (Open Source Mobile Communications) คือโครงการซอฟต์แวร์โอเพนซอร์สที่มุ่งเน้นการนำมาตรฐานการสื่อสารเคลื่อนที่หลายรูปแบบมาปรับใช้ในรูปแบบซอฟต์แวร์ ซึ่งรวมถึงมาตรฐาน GSM, DECT, TETRA และมาตรฐานอื่น ๆ เพื่อให้ผู้พัฒนาและนักวิจัยสามารถเข้าถึงและปรับแต่งระบบเครือข่ายโทรศัพท์เคลื่อนที่ได้

ประวัติและการใช้งาน

ในปี 2008 Harald Welte และ Dieter Spaar ได้เริ่มทดลองกับสถานีฐาน (Base Transceiver Station - BTS) ของ Siemens ที่หมดอายุการใช้งาน โดยพวกเขาได้พัฒนาส่วน BSC ของโปรโตคอล A-bis ซึ่งต่อมาได้กลายเป็นโครงการ OpenBSC หลังจากได้รับความสนใจมากขึ้น จึงมีการเพิ่มการรองรับโมเดล BTS อื่น ๆ และมีการปล่อยเวอร์ชันแรกของ OpenBSC ในงาน Chaos Communication Congress ครั้งที่ 25 เมื่อเดือนธันวาคม 2008

Siemens BS11 BTS
ตัวอย่างสถานีฐานที่ใช้ในโครงการเริ่มต้นของ Osmocom

ในช่วงหลายปีต่อมา ซอฟต์แวร์นี้ถูกนำไปใช้ในงานรวมตัวของแฮกเกอร์ เช่น Chaos Communication Congress, Chaos Communication Camp และ Electromagnetic Field เพื่อสร้างเครือข่ายโทรศัพท์เคลื่อนที่ชั่วคราว

ต่อมาในปี 2010 ได้มีการพัฒนาการนำมาตรฐาน GSM stack มาใช้ในฝั่งโทรศัพท์ ซึ่งเรียกว่า OsmocomBB และโครงการนี้ร่วมกับ OpenBSC ได้กลายเป็นส่วนหนึ่งของโครงการหลักภายใต้ชื่อ Osmocom

ในปี 2011 บริษัท Sysmocom GmbH ถูกก่อตั้งโดย Welte และ Holger Freyther เพื่อให้บริการสนับสนุนในเชิงพาณิชย์ และตั้งแต่ปี 2018 ซอฟต์แวร์ Osmocom และฮาร์ดแวร์ Sysmocom ได้ถูกนำไปใช้ใน Villa Talea de Castro ประเทศเม็กซิโก เพื่อให้บริการเครือข่ายโทรศัพท์เคลื่อนที่แก่ผู้คนประมาณ 3,500 คน รวมถึงถูกนำไปใช้ในโครงการวิจัยต่าง ๆ อีกมากมาย

โครงการย่อยที่สำคัญ

OpenBSC

OpenBSC เป็นโครงการพัฒนาการนำโปรโตคอล stack และองค์ประกอบของ GSM มาใช้ในรูปแบบซอฟต์แวร์เสรี โดยทำงานบน Linux และต้องการอินเทอร์เฟซ E1 (ISDN Primary Rate Interface ผ่าน mISDN) เขียนด้วยภาษา C และใช้สัญญาอนุญาต GPL (≥v2)

OpenBSC ทำหน้าที่เป็นส่วนประกอบของ MSC หลายส่วน ได้แก่ โปรโตคอล A-bis (ระหว่าง BTS และ BSC), AUC, HLR, VLR (ใช้ตาราง SQL) และ SMS Switching Center โดยสามารถเข้าถึงได้ผ่าน telnet

อุปกรณ์ BTS ที่ OpenBSC รองรับ ได้แก่:

  • Siemens BS11 (microBTS) (E1 Primary Rate interface)
  • ip.access nano BTS (PoE-interface)

ปัจจุบัน OpenBSC ถูกถือว่าเป็นซอฟต์แวร์รุ่นเก่า (legacy) และฟีเจอร์ต่าง ๆ ได้ถูกแยกออกเป็นโครงการย่อย ได้แก่ OsmoBSC, OsmoMSC และ OsmoHLR

SDR (Software Defined Radio)

มีการค้นพบ rtl-sdr โดย Steve Markgraf ซึ่งยังได้สร้าง osmo-fl2k สำหรับการส่งสัญญาณวิทยุ โดยโครงการเหล่านี้ได้เข้ามาแทนที่การใช้งาน OsmoSDR

OsmoTETRA

โครงการ OsmoTETRA ทำการนำโปรโตคอล TETRA มาใช้งาน โดยเน้นที่เลเยอร์ล่างของโปรโตคอล ซึ่งจากการวิจัยพบว่าการรับส่งข้อมูลของรัฐบาลบางส่วนไม่มีการรักษาความปลอดภัยที่เหมาะสม

OsmocomBB

OsmocomBB คือเฟิร์มแวร์เสรีสำหรับโปรเซสเซอร์ baseband ของโทรศัพท์มือถือ ซึ่งทำหน้าที่จัดการการเข้ารหัสและการสื่อสารทางวิทยุทั้งเสียงและข้อมูล เป็นการนำเฟิร์มแวร์ baseband มาทำเป็นโอเพนซอร์สเพียงโครงการเดียวที่ประสบความสำเร็จในปัจจุบัน

Motorola C123 with OsmocomBB
โทรศัพท์ Motorola C123 ที่รองรับ OsmocomBB

OsmocomBB นำโปรโตคอล stack ของ GSM ใน 3 เลเยอร์ล่างสุดของ OSI Layer ฝั่งไคลเอนต์มาใช้งาน รวมถึงไดรเวอร์อุปกรณ์ โดยเลเยอร์เหล่านี้จะทำงานบนโปรเซสเซอร์ baseband ซึ่งมักประกอบด้วย ARM processor และ digital signal processor

Motorola C139 screen
หน้าจอของ Motorola C139 ที่ใช้ในโครงการ

โครงการนี้รองรับชิปเซ็ต Calypso ที่ผลิตโดย Texas Instruments และ Karsten Nohl ได้พัฒนา OsmocomBB ให้สามารถตรวจจับ IMSI catchers (อุปกรณ์ดักจับข้อมูลประจำตัวของผู้ใช้) ได้อีกด้วย

คำถามที่พบบ่อย

Osmocom คืออะไร?

Osmocom คือโครงการซอฟต์แวร์โอเพนซอร์สที่พัฒนาการนำมาตรฐานการสื่อสารเคลื่อนที่ (เช่น GSM, TETRA) มาใช้งาน เพื่อให้นักวิจัยและผู้พัฒนาสามารถสร้างและทดสอบเครือข่ายโทรศัพท์เคลื่อนที่ได้เอง

OsmocomBB แตกต่างจาก OpenBSC อย่างไร?

OpenBSC เน้นที่การพัฒนาฝั่งเครือข่าย (Network side) เช่น สถานีฐานและศูนย์สลับสาย ในขณะที่ OsmocomBB เน้นที่การพัฒนาฝั่งโทรศัพท์ (Phone side) โดยเป็นเฟิร์มแวร์สำหรับโปรเซสเซอร์ baseband

Osmocom สามารถนำไปใช้ประโยชน์ในด้านความปลอดภัยได้อย่างไร?

OsmocomBB ถูกพัฒนาให้สามารถตรวจจับ IMSI catchers ซึ่งเป็นอุปกรณ์ที่ผู้ไม่หวังดีหรือหน่วยงานบางแห่งใช้เพื่อดักจับข้อมูลระบุตัวตนของผู้ใช้โทรศัพท์เคลื่อนที่