แอปพลิเคชันบนมือถือสมัยใหม่มักมีการโฆษณาว่าตนได้มีการบริหารจัดการคีย์ ด้วยการใช้ฮาร์ดแวร์พิเศษบนโทรศัพท์ เมื่อได้ฟังเช่นนี้แล้วผู้ใช้งานส่วนใหญ่มักเชื่อว่าการป้องกันในระดับฮาร์ดแวร์นั้นน่าจะปลอดภัยสูงสุดแล้ว แต่เชื่อหรือไม่ว่าในโลกแห่งความเป็นจริงนั้น แฮ็กเกอร์ก็ยังสามารถเจาะเข้าถึงข้อมูลของเหยื่อได้ แม้แอปพลิเคชันเหล่านั้นจะมีการบริหารจัดการกุญแจเข้ารหัสด้วยฮาร์ดแวร์ก็ตาม วันนี้เราจะพากันไปดูว่าอะไรคือปัจจัยสำคัญและจะมีวิธีการป้องกันได้อย่างไร

ปัญหาโลกแตกของการบริหารจัดการกุญแจเข้ารหัส
การเข้ารหัสเป็นสิ่งที่ถูกใช้เพื่อป้องกันการเข้าถึงข้อมูลจากผู้ไม่หวังดีมาหลายทศวรรษแล้ว โดยอัลกอริทึมการเข้ารหัสนั้นถูกคิดค้นจากนักคณิตศาสตร์ ซึ่งเราค่อนข้างแน่ใจได้ว่าอัลกอริทึมสมัยใหม่นั้นดีพอที่จะป้องกันการแคร็กรหัสผ่านได้อย่างยาวนาน ดังนั้นหากเพียงเลือกใช้อัลกอริทึมอย่างเหมาะสม การเข้ารหัสของเราก็น่าจะปลอดภัย
การเข้ารหัสแบบ Public Key Infrastructure (PKI) หรือ Asymmetric Key เป็นเทคโนโลยีในการเข้ารหัสที่มีการใช้ กุญแจเข้ารหัส 2 ประเภทคือ Public Key และ Private Key ที่มีมาอย่างยาวนานในระบบคอมพิวเตอร์เช่น การทำ Digital Signature เป็นต้น ทั้งนี้ผู้ที่มี Public Key ตัวจริงเท่านั้นจึงจะสามารถไขความลับและเปิดข้อมูลออกดูได้ อย่างไรก็ดีจะเห็นว่าสิ่งเหล่านี้ไม่ได้มีการพิสูจน์ตัวตนหรือการันตีความถูกต้อง ของผู้ถือกุญแจว่าเป็นเจ้าของจริงหรือถูกใช้งานโดยแฮ็กเกอร์
ย้อนกลับมาในระบบการป้องกันของระบบปฏิบัติการมือถืออย่างแอนดรอยด์ ก็มีช่องทางสำหรับเก็บกุญแจเข้ารหัสไว้อย่างปลอดภัยที่ชื่อว่า ‘Android Keystore System’ โดยจะสามารถเรียกใช้งานได้ผ่านทาง KeyChain API (ตั้งแต่เวอร์ชัน 4.3 ขึ้นไป) นอกจากนี้ยังมีการรองรับการใช้งาน Hardware Security Module (HSM) ซึ่งเป็นฮาร์ดแวร์พิเศษสำหรับเก็บกุญแจเข้ารหัสเอาไว้แล้ว ทั้งนี้แม้ว่าในตัวเอกสารคู่มือของแอนดรอยด์จะยืนยันว่าเป็นขั้นตอนการบริหารจัดการที่ปลอดภัยตั้งแต่การสร้างกุญแจ การใช้งาน และการเก็บคีย์จะถูกกำกับเอาไว้เป็นอย่างดีแล้ว แต่ก็ยังไม่ได้แก้ปัญหาตรงที่ว่าจะตรวจสอบผู้ใช้งานกุญแจนั้นได้อย่างไร (ศึกษาเพิ่มเติมได้ที่ https://developer.android.com/training/articles/keystore)
เช่นกันใน iOS เองก็มีระบบการป้องกันที่คล้ายกันชื่อว่า Keychain Store ประกอบกับฮาร์ดแวร์พิเศษแบบ SoC ที่ชื่อ Secure Enclave เพื่อเสริมความสามารถ แต่ก็ยังไม่ได้แก้ปัญหา และมิอาจต้านทานกระบวนการของแฮ็กเกอร์หรือความผิดของผู้ใช้งานที่อาจเปิดช่องทางเอาไว้เอง
เหตุใดคนร้ายจึงยังสามารถแฮ็กข้อมูลของผู้ใช้งานบนมือถือได้ ทั้งที่มีการใช้งานฮาร์ดแวร์เพื่อเก็บกุญแจเข้ารหัส
แม้ว่าจะมีกระบวนการที่ดีเพียงใด เชื่อหรือไม่ว่าแฮ็กเกอร์ไม่จำเป็นที่จะต้องพยายามมากมายในการแคร็กอัลกอริทึมหรือแทรกแซงโค้ดต้นฉบับของแอปพลิเคชันนั้นด้วยซ้ำไป ทั้งนี้จะเห็นได้ว่าผู้สร้างระบบปฏิบัติการทั้งแอนดรอยด์และ iOS ต่างมีความพยายามสร้างเครื่องมือให้แก่นักพัฒนาเพื่อใช้ป้องกันแอปพลิเคชัน แต่ท้ายที่สุดแล้วผู้ที่มีอำนาจตัดสินใจในมือก็คือตัวผู้ใช้งานปลายทางที่เป็นเจ้าของตัวจริงอยู่ดี

ปัญหาแรกที่มักพบได้บ่อยก็คือการ Jailbreak หรือ Root เครื่อง ในมุมของผู้ใช้งานทั่วไปอาจเพราะรู้เท่าไม่ถึงการณ์ ต้องการอำนาจให้ตนสามารถติดตั้งแอปพลิเคชันได้ตามอำเภอใจ แต่ในมุมของความมั่นคงปลอดภัยนั้น คือการทำลายเส้นแบ่งหรือความสามารถในการบังคับใช้การควบคุมของระบบปฏิบัติการโดยสิ้นเชิง ซึ่งรวมถึงฟีเจอร์การเก็บรักษากุญแจเข้ารหัสด้วย
ปัญหาที่สอง อาจจะไม่ได้เป็นความตั้งใจตั้งแต่แรก แต่ก็เป็นผลมาจากความเลินเล่อหรือความไม่รู้ ด้วยการติดตั้งแอปพลิเคชันอันตรายจากทางใดทางหนึ่ง ซึ่งคนร้ายสามารถเข้ามาใช้ช่องโหว่ยกระดับสิทธิ์ (Privilege of Escalation) ทำให้ได้สิทธิ์ในระดับสูงเพื่อปฏิบัติการต่างๆในบริบทของผู้ใช้
และนี่เองก็คือช่องว่างที่เกิดจากความผิดพลาดเพราะเรายังไม่มีโซลูชันสำหรับการป้องกันมือถือในระดับแอปพลิเคชัน และฝากความหวังไว้กับระบบปฏิบัติการ รวมไปถึงยังขาดความสามารถในการรับรู้ได้ว่า ผู้ที่มีกุญแจเข้ารหัสแม้จะถูกต้องนั้นเป็นตัวจริงหรือไม่ และถึงแม้เราจะย้ายคีย์ไปเก็บในที่อื่นเช่น Smart Card หรือ HSM ที่มีระบบป้องกันคีย์อย่างมั่นคงปลอดภัย แต่ก็ยังไม่ตอบโจทย์ในการตรวจสอบตัวตนของแอปหรือ Endpoint
ทางเลือกในการป้องกัน
ท้ายที่สุดแล้ววิธีการป้องกันของ iOS และ Android ยังไม่ดีพอต่อการป้องกันแอปพลิเคชันสำคัญเช่น แอปที่เกี่ยวข้องกับการใช้จ่าย เป็นต้น โดยในอนาคตอาจมีสักวันหนึ่งที่ Google และ Apple จะสร้างวิธีการตรวจสอบ Identity ของแอปพลิเคชัน หรือผู้พัฒนาแอปพลิเคชันนั้นอาจสร้างกระบวนการตรวจสอบการเข้าถึง และจัดการการใช้งานคีย์ด้วยตัวเอง พร้อมฝังไว้ในแอปพลิเคชัน แต่ก็มั่นใจได้เลยว่าการทำเช่นนี้ได้รับการพิสูจน์แล้วว่ายิ่งช่วยให้แฮ็กเกอร์ทำงานได้ง่ายขึ้น เพียงแค่สแกนโค้ดหาคีย์ให้เจอเท่านั้นเอง

ด้วยเหตุนี้เองจึงเป็นที่มาของโซลูชันจาก V-Key โดยบริษัทนั้นเกิดขึ้นจากไอเดียของการใช้งานความมั่นคงปลอดภัยในรูปแบบของ Smart Card เช่น ชิปบนบัตรประชาชนของเรา ซึ่งมีมาตรฐานการปกป้องข้อมูลอย่างแข็งแกร่งในชิปนั้น โดยในมุมของ V-Key เองไอเดียก็คือการสร้างซอฟต์แวร์ในการบริหารจัดการคีย์ให้มีความสามารถเทียบเท่ากับการเก็บคีย์ไว้บน Smart Card นั่นหมายถึงการที่โซลูชันของ V-Key จึงสามารถคอมไพล์ได้กับมาตรฐาน FIPS 140-2 และ EAL3+
V-OS Virtual Secure Element (VSE) เป็นเทคโนโลยีพิเศษของ V-Key ที่เทียบเท่าได้กับการใช้งานกลไกของ Android หรือ iOS กับฮาร์ดแวร์พิเศษ เพียงแต่ระบบของ V-Key จะเป็น Virtual เท่านั้น อย่างไรก็ดีระบบของ V-Key สามารถทำเรื่องของ Application Identity ดังนั้นจึงสามารถป้องกันการที่แอปพลิเคชันถูกแก้ไขหรือสามารถการันตีความมั่นใจได้ว่าการเข้าใช้งานตีย์นั้นคือตัวตนของแอปพลิเคชันที่แท้จริง

V-OS เป็นระบบที่มองการป้องกันในระดับแอปพลิเคชัน โดยวิธีการใช้งานก็คือผู้ใช้งานจะนำเอา SDK ของ V-KEY เข้าไปผนึกไว้ในแอปพลิเคชันของตน นั่นหมายถึงว่า V-OS จะเข้าไปปกป้องแต่ละแอปพลิเคชันได้อย่างแท้จริง เพราะตัวแอปของผู้ใช้จะทำงานร่วมกันกับ V-KEY อยู่ภายใน ด้วยเหตุนี้เองแม้ว่าตัวระบบปฏิบัติการจะถูก Jailbreak หรือ Root ก็ไม่ได้ทำลายความสามารถของการป้องกันที่ตัวแอปพลิเคชันเอง
ด้วยความที่ V-KEY เป็นซอฟต์แวร์ จึงไม่ถูกจำกัดอยู่กับการพึ่งพาฮาร์ดแวร์เพื่อสร้าง (Trusted Environment) โดยแน่นอนว่า V-KEY ได้มีการการันตีความแข็งแกร่งของ Virtual Environment มาอย่างดี และการันตีว่าระบบของตนจะไม่ถูกเจาะได้โดยง่าย ซึ่งรูปแบบของการนำ V-OS เข้าไปใช้งานครอบคลุมดังนี้
- แอปพลิเคชันเชื่อมต่อกันในอุปกรณ์เดียวกัน
- แอปพลิเคชันเชื่อมต่อกับกันจากต่างอุปกรณ์
- การเชื่อมต่อกันของแอปพลิเคชันบนไคลเอนต์และเซิร์ฟเวอร์
- การเชื่อมต่อกันระหว่างเซิร์ฟเวอร์และเซิร์ฟเวอร์
- การเชื่อมต่อกันระหว่างแอปพลิเคชันกับสภาพแวดล้อมที่ปลอดภัยทั้งบนอุปกรณ์เดียวกันหรือกับอุปกรณ์อื่น
ความน่าเชื่อถือของโซลูชัน V-KEY นั้นยังพิจารณาได้จากลูกค้าผู้ใช้งาน แม้ธนาคารที่ขึ้นชื่อว่าต้องการความปลอดภัยสูงในการทำธุรกรรม โดยธนาคารหลายแห่งในประเทศไทยก็มีการนำ V-KEY มาใช้ในแอปพลิเคชันสำคัญของตน ด้วยเหตุนี้เองจึงเป็นอีกปัจจัยที่ยืนยันได้ว่า V-KEY นั้นพร้อมให้บริการเพื่อรักษาความมั่นคงปลอดภัยของแอปพลิเคชันมือถือของท่านได้อย่างมั่นใจ นอกจากนี้ V-KEY ยังมีบริการอื่นที่มากกว่า Application Identity ที่ช่วยเสริมสมรรถนะให้แอปพลิเคชันของท่านได้ สนใจศึกษาโซลูชันของ V-KEY เพื่อขอข้อมูลเพิ่มเติมหรือนำเสนอโซลูชัน สามารถติดต่อได้ที่ kritsada.isarankura@v-key.com หรือโทร 062-547-4566