Mục lục:
- Cập nhật liền mạch
- Cấu hình bảo mật mạng
- Máy chủ cứng
- Chứng thực chính
- Mã hóa cấp tệp
- Khởi động trực tiếp
- Truy cập thư mục phạm vi
Cập nhật ngày 13 tháng 8 năm 2016, với thông tin về các tính năng và API Android Nougat cuối cùng.
Có rất nhiều thay đổi mã đến trong Android N. Một số trong số chúng ta có thể thấy - như các thông báo mới - và một số khác chúng ta không thể (nhưng vẫn còn là một vấn đề lớn). Chúng tôi thấy điều tương tự với mỗi bản cập nhật. Có những tinh chỉnh và thay đổi trong giao diện, nhưng dưới sự điều chỉnh và thay đổi được thực hiện để giúp Android chạy tốt hơn và an toàn hơn.
Google đã cải thiện bảo mật trong Android Nougat trong một số lĩnh vực khác nhau. Một số được thiết kế để tự làm cứng Android, trong khi một số khác là công cụ cho các nhà phát triển sử dụng để nó vẫn như vậy khi chúng ta cài đặt ứng dụng. Chúng ta hãy xem những thay đổi chính họ.
Cập nhật liền mạch
Google đã thực hiện "cập nhật liền mạch" trên Chrome OS và nó hoạt động rất tốt. Mọi thứ sẽ rất giống nhau trong Android.
Cập nhật liền mạch sẽ sử dụng hai phân vùng hệ thống riêng biệt. Một trong số đó là hệ thống bạn đang chạy khi bạn sử dụng điện thoại mỗi ngày. Khi đến lúc cập nhật, phân vùng hệ thống khác sẽ được thay đổi và cập nhật và lần sau khi bạn khởi động lại, bạn sẽ tự động chuyển qua. Lần tiếp theo có bản cập nhật, phân vùng hệ thống khác sẽ được thay đổi và bạn chuyển trở lại.
: Android 7.0: Bản cập nhật liền mạch là gì và chúng hoạt động như thế nào?
Điều đó có nghĩa là mọi thứ có thể được thực hiện trong khi bạn đang làm việc hoặc chơi và khi hoàn thành, tất cả những gì bạn cần làm là khởi động lại bình thường. Bạn sẽ ngạc nhiên (tôi đã nghe thấy nó) nhưng một lượng lớn người không cập nhật điện thoại của họ vì phải mất một thời gian. Họ có thể đã làm điều đó một lần, sau đó ngồi đó chờ đợi và quyết định không làm điều đó một lần nữa. Thật dễ dàng để loại bỏ thông báo. Nhưng bằng cách thay đổi quy trình, giúp cập nhật dễ dàng hơn và loại bỏ thời gian chờ đợi khủng khiếp trong khi nhìn thấy hộp thoại "cập nhật ứng dụng", nhiều người sẽ làm điều đó.
Cấu hình bảo mật mạng
Cấu hình bảo mật mạng cho phép nhà phát triển ứng dụng tạo và sử dụng tệp cấu hình tùy chỉnh cho cài đặt bảo mật mạng thay vì yêu cầu thay đổi cấp hệ thống. Tệp cấu hình có thể được thay đổi mà không cần sửa đổi chính ứng dụng và có thể được đặt để sử dụng Cơ quan chứng nhận tùy chỉnh thay vì thiết bị mặc định và cũng có thể được đặt để bỏ qua bất kỳ hoặc tất cả các CA được hệ thống tin cậy. Điều này rất quan trọng để kết nối với máy chủ có CA tự ký (đối với những thứ như ứng dụng doanh nghiệp) hoặc cho một ứng dụng chỉ nên tin tưởng vào một CA cụ thể.
Ngoài ra, cấu hình có thể được đặt thành từ chối mọi lưu lượng truy cập mạng văn bản thuần túy và buộc truyền thông được mã hóa bằng giao thức HTTPS. Nếu bạn là quản trị viên mạng hoặc phát triển ứng dụng mạng, bạn sẽ biết những thay đổi này quan trọng như thế nào. Phần còn lại của chúng tôi có thể vui mừng khi chúng tôi có thể có lưu lượng truy cập mạng an toàn hơn trong các ứng dụng dễ phát triển hơn.
Máy chủ cứng
Ghi nhớ sân khấu? Trong khi nó bị thổi bay ra khỏi tỷ lệ của nhiều phương tiện truyền thông, có một vấn đề thực sự ẩn đằng sau sự cường điệu. Phát tệp phương tiện và nó có khả năng buộc bạn khởi động lại hoặc mất tất cả âm thanh là một vấn đề khó chịu và thực tế là (về lý thuyết) điều này có thể được sử dụng để bí mật giành quyền root thậm chí còn đáng sợ hơn. Google rất coi trọng vấn đề này và chúng tôi thấy các bản vá cho thư viện máy chủ phương tiện hàng tháng để thử và vượt qua các lỗi và mối quan tâm bảo mật đi kèm với nó.
Trong Android N, máy chủ phương tiện được đại tu. Google đã chia máy chủ phương tiện thành các thành phần nhỏ hơn có thể được cập nhật bên ngoài bản cập nhật hệ thống đầy đủ - giống như họ đã làm với thành phần WebView. Điều này có nghĩa là khi họ có bản vá mới, bạn có thể lấy bản cập nhật từ Google Play thay vì đợi sáu tháng trở lên cho những người đã tạo ra điện thoại của bạn quyết định gửi bản vá cho bạn.
Họ cũng đã thay đổi mô hình cấp phép cho máy chủ phương tiện, không còn cấp cho nó toàn quyền hệ thống. Chạy với các đặc quyền thấp khiến mọi người càng khó xâm nhập vào hệ thống nếu họ vào được máy chủ phương tiện. Đây là một thay đổi lớn và sẽ khiến việc hack điện thoại Android (loại hack tồi tệ) thậm chí còn khó hơn trước đây.
Chứng thực chính
Key Attestation sẽ cho phép các nhà phát triển đảm bảo các khóa họ có thể đang sử dụng trong ứng dụng của họ là hợp lệ và được lưu trữ trong kho khóa được hỗ trợ phần cứng của điện thoại chứ không phải trong phần mềm. Khi công cụ chứng thực được cung cấp một bí danh được tạo cho một khóa (khóa thực tế không bao giờ được chia sẻ), nó sẽ tạo ra một chuỗi chứng chỉ có thể được sử dụng để xác minh khóa. Các nhà phát triển có thể xác minh cả khóa cũng như trạng thái khởi động được xác minh để đảm bảo mọi thứ đều hợp lệ.
Các điện thoại được cài đặt Android N và sử dụng các dịch vụ của Google sẽ có chứng chỉ do Google cấp là quyền gốc (hoặc chính) trong khi các điện thoại khác đã được nâng cấp sẽ cần chứng chỉ do công ty sản xuất chúng cấp.
Không phải tất cả các điện thoại có thể chạy Android N đều có môi trường phần cứng đáng tin cậy để lưu trữ khóa mã hóa và trong những trường hợp đó, chứng thực khóa cấp phần mềm được sử dụng thay thế. Trạng thái khởi động được xác minh vẫn có thể được kiểm tra để đảm bảo phần mềm hệ thống không bị giả mạo. Vâng, điều này có nghĩa là một nhà phát triển có thể kiểm tra root. Đó là một điều tốt với điều kiện không có hình phạt quá đáng nào được áp dụng cho người dùng đã root điện thoại của họ.
Mã hóa cấp tệp
Trước đây, Android đã sử dụng mã hóa cấp khối để làm cho toàn bộ phân vùng hoặc thiết bị lưu trữ được mã hóa cùng một lúc. Đây là một phương pháp mã hóa rất an toàn và giữ cho các mã thông báo thực sự ra khỏi bộ lưu trữ và trong phần cứng khá nhiều có nghĩa là cách duy nhất là sử dụng đúng mật khẩu hoặc mã PIN. Với Android N, mọi thứ đã được thay đổi thành mã hóa ở cấp độ tệp.
Direct Boot được thiết kế để hoạt động với mã hóa ở cấp độ tệp để cung cấp cả tính lồi và bảo mật.
Khi thiết bị Android được mã hóa của bạn khởi động (hoặc khởi động lại trong túi của bạn), thiết bị sẽ được mã hóa và khóa. Chỉ một số ứng dụng nhất định có thể chạy và đây được gọi là chế độ khởi động trực tiếp. Điều này có nghĩa là bạn vẫn có thể nhận được các cuộc gọi điện thoại hoặc tắt báo thức (hoặc thậm chí xem một số thông báo tin nhắn), nhưng để làm bất cứ điều gì nhiều hơn bạn sẽ cần để mở khóa và giải mã thiết bị. Sau khi được mở khóa, N sử dụng mã hóa cấp tệp để cho phép chúng tôi (người dùng) và các ứng dụng kiểm soát nhiều hơn một chút về cách dữ liệu bị khóa.
Có hai lợi thế khi chơi ở đây - FDE (mã hóa toàn bộ lớp khối) làm cho các thiết bị cấp thấp chạy khá kém. Google đã mất vài lần thử trên Nexus 6 để làm cho đúng và bất kỳ thiết bị nào có tốc độ đọc và ghi phần cứng lưu trữ flash dưới 50 MB / giây vẫn gặp khó khăn. Ưu điểm thứ hai (và quan trọng hơn) là việc sử dụng mã hóa ở cấp độ tệp cho mã hóa E được mã hóa với A được phân loại D ata (AEAD). AEAD có nghĩa là dữ liệu người dùng hoặc ứng dụng trái phép khó truy cập hơn. Đối với những người quan tâm đến AEAD, đây là một bài đọc thực sự tốt từ giáo sư UC Davis Phillip Rogaway (tệp.pdf).
Cách tiếp cận đa tầng này để mã hóa sẽ cho phép các công ty tạo ra những chiếc Android có giá rất rẻ để cung cấp mã hóa mà không làm giảm hiệu suất.
Khởi động trực tiếp
Mã hóa cấp độ tệp cũng sẽ hoạt động tốt hơn với tính năng Khởi động trực tiếp. Direct Boot mang đến một chế độ mới mà các nhà phát triển có thể tận dụng để ứng dụng của họ có thể chạy ngay khi hệ thống được cung cấp thay vì chờ người dùng mở khóa điện thoại hoặc giải mã nó.
Điều này được thực hiện song song với khu vực Lưu trữ thiết bị mới và các ứng dụng sử dụng Direct Boot sẽ không có bất kỳ tương tác nào với hệ thống tệp được bảo vệ thông tin thông thường và bất kỳ tệp hoặc thư mục được mã hóa riêng lẻ nào.
: Android 7.0: Direct Boot là gì và nó sẽ cải thiện trải nghiệm của bạn như thế nào?
Truy cập thư mục phạm vi
Truy cập thư mục có phạm vi là cách để ứng dụng có quyền truy cập vào một thư mục cụ thể trên bộ nhớ ngoài (bộ nhớ ngoài là phân vùng bên ngoài hệ thống và bao gồm cả bộ lưu trữ điện thoại của bạn và thẻ SD hoặc thiết bị lưu trữ được đính kèm khác) mà không yêu cầu cấp phép cho toàn bộ âm lượng hoặc sử dụng cửa sổ bật lên để yêu cầu quyền truy cập thư mục.
Truy cập an toàn dữ liệu được lưu trữ là quan trọng. Một ứng dụng chỉ cần truy cập vào thư mục lưu trữ Nhạc hoặc Ảnh không nên nhìn thấy bất cứ điều gì khác và viết mã để sử dụng Khung truy cập lưu trữ hiện có để thu hẹp mọi thứ đã được chứng minh là điều mà nhiều nhà phát triển từ chối làm. API truy cập thư mục có phạm vi mới sẽ giúp các nhà phát triển xây dựng các ứng dụng an toàn và bảo vệ dữ liệu của bạn dễ dàng hơn.
Các tính năng bảo mật quan trọng này là một phần lớn của Android N. Trong khi một số điện thoại (đặc biệt là các điện thoại không được phát hành với Nougat) có thể không sử dụng tất cả, mỗi điện thoại sẽ giúp bảo vệ dữ liệu của chúng tôi khi được sử dụng đúng cách. Android đã trưởng thành và sự chú ý đến chi tiết Google đang hiển thị với 7.0 có thể không hào nhoáng như biểu tượng cảm xúc mới hoặc phối màu mới, nhưng nó quan trọng hơn nhiều.