Our SuccessKnowledges
NEXTZY Logo
Crews
Chat
Talk with Team
NEXTZY Logo
NEXTZY
Chat
Home>Knowledges

อยากศึกษาเกี่ยวกับ Security บนระบบปฏิบัติการ Android เริ่มตรงไหนดี?

Share:

อยากศึกษาเกี่ยวกับ Security บนระบบปฏิบัติการ Android เริ่มตรงไหนดี?

Table of contents

  • หัวข้อ
  • 1. Security workshop ที่ควรทำเป็นอย่างยิ่ง
  • 2. คุณต้องเข้าใจ Symetric key ให้แตกฉาน
  • 3. ถ้าจะลองโจมตีไปที่ Android keystore ผลจะเป็นอย่างไรบ้าง?
  • 4. ใครใช้ Android keystore ในการ Encrypt ข้อมูลอยู่ควรอ่านเป็นอย่างยิ่ง
  • สรุป
Nonthawit

Nonthawit

CEO | Engineer | Designer

VIEW

3,599

CATEGORY

Technical

LAST UPDATED

October 6, 2018

Nonthawit

Nonthawit

CEO | Engineer | Designer

VIEW

3,599

CATEGORY

Technical

LAST UPDATED

October 6, 2018

เรื่อง security บน android น่าจะเป็นเรื่องที่หลายคนมองข้ามไปพอสมควร หรือไม่รู้ว่าจะทำยังไงให้ปลอดภัยกับผู้ใช้มากที่สุด หรือใครดูเรื่องนี้อยู่เราก็อยากให้ศึกษาสิ่งที่กำลังบอกต่อไปนี้อีกรอบว่าเราพลาดอะไรไปไหม? เพราะตัวเจ้าของบล็อกเองยังรู้สึกว่าพลาดไปบางเรื่องเลย มันเป็นเรื่องที่ document ของ android ไม่ได้บอกเรา ซึ่งเป็นเรื่องที่เราต้องไปลองเล่นเองซะส่วนใหญ่

ซึ่งวันนี้เราเลยมาบอกแหล่งข้อมูลให้ไปศึกษาต่อเพื่อลด learning curve กัน 😎

Security บน Android อาจต้องใช้เวลาศึกษาพอสมควร แต่เรามองว่ามันคุ้มค่ามากเมื่อแลกกับความเชื่อใจของผู้ใช้


หัวข้อ

  1. Security workshop ที่ควรทำเป็นอย่างยิ่ง
  2. คุณต้องเข้าใจ Symetric key ให้แตกฉาน
  3. ถ้าจะลองโจมตีไปที่ Android keystore ผลจะเป็นอย่างไรบ้าง?
  4. ใครใช้ Android keystore ในการ Encrypt ข้อมูลอยู่ควรอ่านเป็นอย่างยิ่ง
  5. รอ Update เรื่อยๆ…

ถ้าเราเจออะไรใหม่ๆจะเข้ามา update ให้ที่บล็อกนี้ เลยอยากให้ bookmark กันเก็บไว้ได้จะได้กลับมาดูกันอีกรอบได้เนาะ 😎

1. Security workshop ที่ควรทำเป็นอย่างยิ่ง

temyco/security-workshop-sample
This repository has been desired to show different Android Security Approach implementations using a simple sample…github.com

โดย workshop นี้จะแบ่งออกเป็น 3 stage แล้วก็มี level ย่อยข้างในแนะนำว่าทำให้หมด

  1. Encryption Stage
  2. Fingerprint Stage
  3. Confirm Credentials Stage

คุณจะเห็นภาพรวมระบบ security บน Android ทั้งหมด

รวมถึงเรื่อง backward compatibility ของ version android ด้วยว่าเราจะแก้ปัญหามันยังไงถ้าเราจำเป็นต้องใช้เครื่องที่ API ต่ำกว่า Marshmallow (6.0)

ทำเสร็จแล้วไปต่อที่บล็อกนี้ เพราะคนเขียนเป็นคนเดียวกับคนที่ทำ workshop นี้

Secure data in Android — Encryption
This article is a part of “Secure data in Android” series:proandroiddev.com

2. คุณต้องเข้าใจ Symetric key ให้แตกฉาน

การเข้ารหัสลับแบบสมมาตร (Symmetric Encryption)
การเข้ารหัสแบบสมมาตร หรือ Symmetric Encryption บางครั้งอาจเรียกว่าการเข้ารหัสแบบดั้งเดิม ( Conventional Encryption)…medium.com

พอคุณเข้าใจแล้ว เราต้องพิจารณากันต่ออีกว่า เราควรใช้ key แบบไหน เพราะ symetric key จะใช้ได้ API ต้องสูงกว่าหรือเท่ากับ Marshmallow (6.0)

https://developer.android.com/training/articles/keystore

3. ถ้าจะลองโจมตีไปที่ Android keystore ผลจะเป็นอย่างไรบ้าง?

บล็อกนี้จะมาอธิบายวิธีการโจมตี และให้เหตุผลว่าทำไมมันถึงไม่ปลอดภัย

Android KeyStore Encryption Scheme Broken, Researchers Say
The default implementation for KeyStore, the system in Android designed to store user credentials and cryptographic…threatpost.com

โดยรายละเอียดจะอยู่ที่ Paper นี้ด้วย

4. ใครใช้ Android keystore ในการ Encrypt ข้อมูลอยู่ควรอ่านเป็นอย่างยิ่ง

บล็อกนี้จะเล่าถึงการ setup ตอนเรา generate key ออกมาใช้ คำสั่งใดบ้างสำคัญ และมีผลอะไรกับ keystore เราบ้าง รวมถึงเล่าถึงระดับความปลอดภัยต่างๆด้วย

Android Security: The Forgetful Keystore
You've just moved in to a new house and have been given the master key for the front door. You only have one of these…doridori.github.io

[Comment น่าสนใจ]

http://disq.us/p/1h9mi2s

โดยคนเขียนบล็อกนี้ได้ทำสรุป reference ต่างๆเกี่ยวกับ android ลงใน github ไว้เยอะมาก แต่ตัวที่เราควรอ่านมีตามนี้เลย

3.1 framework/keystore.md

doridori/Android-Security-Reference
A W.I.P Android Security Ref. Contribute to doridori/Android-Security-Reference development by creating an account on…github.com

3.2 hardware/TEE.md

อธิบายเกี่ยวกับเรื่อง hardware-based security ซึ่งจริงๆแล้ว android มี security chip เหมือนกัน ซึ่ง android รุ่นเก่าๆ “อาจ” ไม่มีซึ่งต้องเช็คกันผ่าน code กันอีกที

doridori/Android-Security-Reference
A W.I.P Android Security Ref. Contribute to doridori/Android-Security-Reference development by creating an account on…github.com

สำหรับ Asymmetric key เราสามารถเช็คผ่านโค้ดได้ว่า key ที่เรา generate มากจาก android keystore เป็น hardware-based หรือไม่ เนื่องจากมันปลอดภัยกว่า ถ้าเป็น software-based มีโอกาสโดน bypass ระดับ OS ได้ครับ

https://developer.android.com/reference/android/security/KeyChain#isBoundKeyAlgorithm(java.lang.String)

สำหรับ Symmetric key หายห่วงเพราะ Marshmallow (6.0) ขึ้นไปเป็น hardware-based ทั้งหมดแล้ว 😇

https://source.android.com/security/keystore

จัด paper ไปให้อ่านกันอีกตัว

สรุป

จะเห็นว่าแต่ละเรื่องต้องใช้เวลาในการศึกษากันพอสมควรครับแต่เราอยากย้ำอีกรอบว่า

Security บน Android อาจต้องใช้เวลาศึกษาพอสมควร แต่เรามองว่ามันคุ้มค่ามากเมื่อแลกกับความเชื่อใจของผู้ใช้

และคุณสามารถชู feature นี้ได้เลยว่าเราเป็น application ที่มีความปลอดภัยของข้อมูลสูงกว่า application ในตลาด

วันนี้ไว้แค่นี้ก่อนสนุกกับการเรียนรู้เรื่องใหม่ครับผม 😎


อย่าลืม 👏 ข้างล่าง และ share ให้มนุษย์ Android คนอื่นด้วยหละ 😎

Share:

KNOWLEDGE

Related Articles

เข้าใจการทำ Selector แบบ Ripple effect
Nonthawit

Nonthawit

CEO | Engineer | Designer

เข้าใจการทำ Selector แบบ Ripple effect

20 สิ่ง ที่ได้หลังจากเป็น Android developer ที่ Nextzy 3 เดือน
Nonthawit

Nonthawit

CEO | Engineer | Designer

20 สิ่ง ที่ได้หลังจากเป็น Android developer ที่ Nextzy 3 เดือน

บทความนี้แชร์ประสบการณ์ 3 เดือนแรกของการทำงานเป็น Android Developer ที่ Nextzy ครอบคลุมทั้งด้าน technical เช่น MVP architecture, Android Lifecycle, ProGuard, Git workflow และการเขียน Unit Test รวมถึงด้าน soft skill อย่างการสื่อสารกับทีม, การแชร์ความรู้, และการเขียนโค้ดให้ readable และยืดหยุ่น นอกจากนี้ยังสะท้อนวัฒนธรรมองค์กรที่เน้นทีมเวิร์ค การ review โค้ด และบรรยากาศการทำงานที่สนุกสนาน ซึ่งล้วนช่วยลด learning curve และพัฒนาทักษะได้เร็วกว่าการเรียนรู้คนเดียว

[Tip/Trick] วิธีติดต่อกับ WebView ผ่าน JavascriptInterface มันเท่มาก
Nonthawit

Nonthawit

CEO | Engineer | Designer

[Tip/Trick] วิธีติดต่อกับ WebView ผ่าน JavascriptInterface มันเท่มาก

NEXTZY Logo
NEXTZY
48/27 Ratchadaphisek Rd, Samsen Nok, Huai Khwang, Bangkok 10310

Base at Thailand

Thailand

Home

Crews

Success

Download press kits

Knowledges

Chat

Talk with team

SCHEDULE