Tin tức và phân tích của tất cả các thiết bị di động

Android P của Google sẽ có những thay đổi về Cryptography

Google gần đây đã ra mắt và phát hành bản xem trước dành cho nhà phát triển đầu tiên của Android P cách đây vài ngày. Các nhà phát triển Android tại Google cần đặc biệt chỉ ra một số thay đổi không tương thích ngược mà họ định thực hiện đối với các khả năng mật mã trong Android P, được hiển thị trong bản xem trước dành cho nhà phát triển.

Các thay đổi đối với nhà cung cấp như sau:

Bắt đầu từ Android P, Google có kế hoạch ngừng sử dụng một số chức năng từ nhà cung cấp BC đã bị trùng lặp bởi nhà cung cấp AndroidOpenSSL (còn được gọi là Conscrypt). Điều này sẽ chỉ ảnh hưởng đến các ứng dụng chỉ định nhà cung cấp BC một cách rõ ràng khi gọi getInstance () các phương pháp.

Đối với tôi cụ thể hơn, Google nói rằng họ không làm điều này vì họ lo ngại về tính bảo mật của việc triển khai từ nhà cung cấp BC. Họ thích làm điều này hơn bởi vì chức năng bị trùng lặp sẽ dẫn đến chi phí và rủi ro bổ sung trong khi không mang lại nhiều lợi ích.

Nếu nhà phát triển không chỉ định nhà cung cấp trong getInstance () cuộc gọi, không cần thay đổi.

Nếu bạn chỉ định nhà cung cấp theo tên hoặc theo trường hợp — ví dụ: Cipher.getInstance (“AES / CBC / PKCS7PADDING”, “BC”) hoặc Cipher.getInstance (“AES / CBC / PKCS7PADDING”, Security.getProvider (“BC”))—Các hành vi bạn nhận được trong Android P sẽ phụ thuộc vào cấp API mà ứng dụng của bạn nhắm mục tiêu.

Đối với các ứng dụng nhắm mục tiêu cấp API trước P, lệnh gọi sẽ trả về việc triển khai BC và ghi cảnh báo vào nhật ký ứng dụng. Đối với các ứng dụng nhắm mục tiêu Android P trở lên, lệnh gọi sẽ ném NoSuchAlgorithmException.

Google tuyên bố rằng để giải quyết vấn đề này, các nhà phát triển nên ngừng chỉ định nhà cung cấp và sử dụng triển khai mặc định.

Trong bản phát hành Android mới hơn, Google cũng có kế hoạch loại bỏ hoàn toàn chức năng không dùng nữa khỏi nhà cung cấp BC. Sau khi bị xóa, bất kỳ lệnh gọi nào yêu cầu chức năng đó từ nhà cung cấp BC (cho dù theo tên hay phiên bản) sẽ ném NoSuchAlgorithmException.

Loại bỏ nhà cung cấp tiền điện tử

Trong một bài đăng trước, Google đã thông báo rằng nhà cung cấp tiền điện tử đã không còn được chấp nhận bắt đầu từ Android Nougat. Kể từ đó, bất kỳ yêu cầu nào đối với nhà cung cấp tiền điện tử bởi ứng dụng nhắm mục tiêu API 23 (Marshmallow) hoặc trước đó sẽ thành công, nhưng các yêu cầu của ứng dụng nhắm mục tiêu API 24 (Nougat) trở lên sẽ không thành công.

Trong Android P, Google có kế hoạch loại bỏ hoàn toàn nhà cung cấp tiền điện tử. Sau khi bị xóa, bất kỳ cuộc gọi nào tới SecureRandom.getInstance (“SHA1PRNG”, “Tiền điện tử”) sẽ ném NoSuchProviderException. Hãy đảm bảo rằng các ứng dụng của bạn đã được cập nhật.

. .