Vì sao Apple không thể giải mã chiếc Iphone của bạn?

09:07 | 25/02/2016

Mới đây, vụ đối đầu giữa Apple và FBI liên quan đến việc mở khoá chiếc iPhone 5c của tay súng Rizwan Farook trong vụ thảm sát ở San Bernardino làm 14 người thiệt mạng trở thành tâm điểm chú ý của không chỉ thế giới công nghệ.

Theo yêu cầu của FBI, toà án đã gửi lệnh buộc Apple hỗ trợ mở khoá chiếc iPhone 5C được sử dụng bởi Syed Rizwan Farook – kẻ đã cùng với vợ là Tashfeen Malik giết chết 14 người và làm bị thương 24 người tại San Bernardino, California hôm 2/12/2015. Như những lần trước, Apple cho rằng chính phủ đang lạm dụng đạo luật ban hành bất kỳ lệnh nào cần thiết (All Writs Act) từ thế kỷ 18 để tìm kiếm lệnh toà án đòi hack iPhone. Nhiều hãng công nghệ lớn như Google, Facebook, Twitter... đều công khai bày tỏ quan điểm ủng hộ Apple trong việc không hỗ trợ chính phủ phá giải mã chiếc điện thoại. 

John McAfee - một ứng viên tranh cử tổng thống Hoa Kỳ - tuyên bố: “Với tất cả sự tôn trọng dành cho Apple và Tim Cook. Tôi sẽ tự ăn chiếc giày của mình trên chương trình Your World (của kênh truyền hình Fox News), nếu như không thể bẻ khóa chiếc iPhone của tên sát nhân tại San Bernardino”.

Nhưng theo tài liệu toà án năm 2015, người khổng lồ công nghệ Apple đã sẵn lòng mở khoá iPhone của nghi phạm giúp các nhà thực thi pháp luật. Báo Mỹ Daily Beast đưa tin trong một vụ tương tự ở New York năm ngoái, Apple đã thừa nhận họ có thể trích xuất dữ liệu nếu họ muốn. Các công tố viên trong vụ này cho biết Apple đã mở khoá iPhone cho nhà chức trách ít nhất 70 lần kể từ năm 2008 và Apple không tranh luận gì về con số này. Vậy tại sao lần này Apple lại từ chối hỗ trợ FBI? Và có thực là FBI yêu cầu Apple tạo cổng hậu? Chúng ta hãy cùng tìm hiểu chi tiết về cách mã hoá, bảo mật của iPhone để có thể giải đáp những thắc mắc đó.

iPhone mã hoá dữ liệu như thế nào?

Apple đã cung cấp một số tính năng mã hoá kể từ trước iOS 7. Nhưng tới năm ngoái, Apple mới quyết định áp dụng chế độ mã hoá mặc định cho các dữ liệu của ứng dụng mà người dùng cài đặt. Trong đó bao gồm các hình ảnh và tin nhắn – những thứ trước đây không được mã hoá, bảo vệ bằng passcode của người dùng và cũng là những thứ mà các cơ quan điều tra muốn truy cập.



Ngoài ra, các thiết bị mới của Apple có trang bị bộ xử lý A7 hay mới hơn còn được bổ sung mức bảo vệ bằng phần cứng ( những chi tiết cụ thể sẽ được trình bày ở phần sau).

Các hệ thống mã hoá dựa trên mật khẩu thường nhận mật khẩu từ người dùng, dùng một hàm biến đổi khoá (KDF) để chuyển mật khẩu đó (cùng với một giá trị salt) thành khoá mã hoá. Quá trình này không cần tới phần cứng chuyên dụng nên có thể được thực hiện một cách bảo mật bằng phần mềm nếu phần mềm được được viết một cách nghiêm chỉnh và mật khẩu được chọn đủ mạnh (khó đoán). Vấn đề là hầu như không ai chọn mật khẩu mạnh. Hầu hết các mật khẩu đều rất yếu và người ta có thể phá mã bằng cách thử một danh sách những mật khẩu phổ biến. 

Để tăng tốc, giới chuyên nghiệp thường dùng phần cứng chuyên dụng (máy tính với nhiều FPGA hay GPU) để tận dụng lợi thế của xử lý song song. Phương pháp phòng thủ phổ biến chống lại việc dò mật khẩu là dùng một hàm biến đổi khoá ‘chậm’ như PBKDF2, scrypt hay bcrypt. Những thuật toán đó tiêu tốn khá nhiều tài nguyên, nên làm chậm quá trình đăng nhập thông thường, nhưng sẽ làm cho việc phá mã tốn công hơn rất nhiều. Những hàm đó có thể bị vượt qua bằng cách dùng thật nhiều tài nguyên phần cứng. Apple không cố gắng dùng những thuật toán phức tạp như scrypt để chống lại các cuộc tấn công, mà tận dụng bảo mật mức phần cứng. Họ thêm một khoá bí mật 256 bit gọi là UID vào quá trình tạo khoá mã hoá và lưu UID trong một thiết bị phần cứng – nơi rất khó trích xuất được giá trị đó ra. Apple nói rằng họ không ghi lại và cũng không thể đọc UID ra ngoài thiết bị. Trên những thiết bị gần đây – sử dụng chip A7 – UID và quá trình trộn khoá mã hoá được bảo vệ trong co-processor mật mã được đặt tên là Secure Enclave.



Hàm biến đổi khoá của Apple trộn mật khẩu của người dùng và UID bằng cách xử lý cả hai với hàm PBKDF2-AES nhiều vòng, đến mức cần tới 80 miligiây trên chính chiếc iPhone. Đầu ra của quá trình đó là khoá để bảo mật dữ liệu trong điện thoại. Khoá cứng được dùng để sinh khoá mã hoá metadata của file system. Metadata đó chứa các khoá để mã hoá từng tệp của hệ thống. Khoá mã hoá mỗi tệp của hệ thống được sinh từ mật khẩu của người dùng và khoá cứng.



Vì chỉ có bản thân thiết bị (iPhone hay iPad) mới biết UID và UID không thể được đưa ra ngoài Secure Enclave, nên tất cả các cố gắng dò mật khẩu phải được chạy ngay trên thiết bị. Điều đó khiến cho việc sử dụng FPGA hay ASIC để dò mật khẩu trở nên vô vọng. Tất nhiên là Apple có thể viết firmware riêng để dò mật khẩu nhưng ngay cả khi đó, mỗi lần thử mật khẩu cũng phải mất 80 miligiây. Apple ước tính rằng phải mất 5,5 năm để dò mật khẩu gồm 6 chữ cái (thường) và chữ số. Với PIN 4 chữ số thì nhanh hơn nhiều, chỉ mất khoảng nửa giờ.

Để bảo vệ người dùng chống lại những nỗ lực dò mật khẩu, Apple áp dụng hai biện pháp bổ sung. Thứ nhất, iPhone áp đặt thời gian chờ giữa những lần nhập mật khẩu. Sau bốn lần nhập sai liên tiếp, iPhone sẽ buộc bạn phải đợi 1 phút trước khi nhập mật khẩu lần thứ năm, 5 phút trước khi nhập mật khẩu lần thứ sáu, 15 phút trước khi nhập mật khẩu lần thứ bảy và tám, đủ 1 tiếng trước khi nhập mật khẩu lần thứ chín. Biện pháp thứ hai còn quyết liệt hơn: iPhone có thể được cấu hình để xoá thiết bị sau 10 lần nhập sai mật khẩu liên tiếp. Khi thiết lập này được kích hoạt, iPhone sẽ huỷ khoá mã hoá metadata của file system sau 10 lần nhập sai mật khẩu liên tiếp, điều này chặn hoàn toàn các nỗ lực truy cập các khoá mã hoá tệp.

Trong các thiết bị phiên bản cũ của Apple, UID được lưu trong bộ xử lý ứng dụng. Secure Enclave giúp bảo vệ khoá đó ngay cả khi iPhone đã bị jailbrake (chiếm quyền quản trị).



Theo tài liệu của Apple, không phần mềm nào có thể đọc được UID, mà chỉ thấy được kết quả mã hoá dữ liệu bằng UID. Dường như UID được kết nối với các mạch thực hiện thuật toán AES bằng một đường dành riêng để thuật toán có thể dùng nó làm khoá mã hoá, chứ không thể đọc nó ra ngoài. Và dường như điều đó đúng với cả các chip trước A7 – khi chưa bổ sung Secure Enclave. Tất nhiên, chúng ta không biết liệu trên thực tế firmware cho Secure Enclave do Apple ký số có thể đọc UID hay không.

Với các phiên bản trước đây, Apple thực ra không ‘bẻ khoá’ bất cứ thứ gì. Họ chỉ đơn giản làm một boot image đặc biệt cho phép bỏ qua màn hình kiểm tra mật khẩu của điện thoại. Điều đó chỉ đơn giản là hack giao diện và không giúp Apple truy cập bất cứ dữ liệu mã hoá nhờ mật khẩu nào trên thiết bị. Tuy nhiên, do các phiên bản cũ của iOS không mã hoá tất cả các dữ liệu trong điện thoại nên các cơ quan điều tra có thể truy cập chúng sau khi vượt qua khoá màn hình.

FBI “nhờ” Apple làm gì?

Theo Ars Technica, toà án không hề yêu cầu Apple phải can thiệp vào cơ chế mã hoá của iPhone hay tạo ra lỗ hổng có thể gây hại cho an ninh của bất kỳ chiếc điện thoại nào khác. Họ chỉ yêu cầu Apple thực hiện điều mà chỉ có Apple có thể làm: sử dụng cơ chế có sẵn trong iPhone để cài đặt một bản firmware đặc biệt, cho phép dò mật khẩu của riêng chiếc iPhone 5c mà Farook sử dụng. FBI muốn xem xét thông tin lưu trong chiếc điện thoại đó và đã được cơ quan nơi Farook làm việc (và cấp chiếc điện thoại đó cho hắn sử dụng) chấp thuận. Tuy nhiên, nếu không có PIN của thiết bị thì họ không thể giải mã nội dung chứa trong đó.

FBI không yêu cầu Apple cung cấp bất kỳ cửa hậu trực tiếp nào để vượt qua hệ thống mã hoá. Yêu cầu của họ là bằng chứng cho thấy hệ thống mã hoá của iPhone rất chắc chắn. Không có một ‘chìa khoá vạn năng’ nào có thể giải mã các tệp lưu trong iPhone hay phá vỡ mối liên quan giữa khoá mã hoá và mật khẩu của người dùng. Cũng giống như rất nhiều trường hợp khác, để vượt qua hệ thống mã hoá, người ta không tấn công trực diện vào thuật toán hay cách triển khai thuật toán mã hoá. Thay vào đó, người ta tìm cách lợi dụng điểm yếu của người dùng trong việc lựa chọn mật khẩu. Trong vụ này, FBI yêu cầu Apple giúp vượt qua đoạn mã trì hoãn thời gian và hạn chế số lần nhập mật khẩu chứ không phải tạo ra điểm yếu trong bản thân cơ chế mã hoá.

Các chức năng đó đều nằm tại phần mềm. Apple được yêu cầu tạo ra một bản firmware đặc biệt cho iPhone, trong đó bỏ qua cơ chế trì hoãn thời gian nhập mật khẩu và xoá thiết bị khi nhập sai 10 lần liên tiếp. Ngoài ra, FBI còn muốn có cách nhập PIN tự động thay vì sử dụng màn hình cảm ứng. Tổng kết lại, yêu cầu của FBI với Apple là tạo ra một phiên bản iOS đặc biệt cho phép cơ quan này dò mật khẩu thoải mái. Nhưng nếu chiếc iPhone được đặt mật khẩu đủ mạnh thì FBI sẽ không thể dò được mật khẩu (trong thời gian đủ ngắn – nếu mất vài năm để dò mật khẩu thì việc giải mã đã không còn ý nghĩa vì đồng bọn của kẻ sát nhân, nếu có, đã tẩu thoát từ lâu) ngay cả khi Apple đồng ý hỗ trợ. Nói một cách dễ hiểu thì hệ thống mã hoá của iPhone giống như một chiếc khoá rất an toàn và FBI không yêu cầu Apple cung cấp cho họ một chiếc khoá vạn năng, họ chỉ cần Apple tắt hệ thống camera giám sát theo dõi cánh cửa đang bị khoá để thoải mái thử từng chiếc chìa một – cho tới khi tìm ra chiếc chìa phù hợp hoặc tới lúc họ ‘chán’ không muốn thử nữa.

Điều quan trọng là bản firmware đặc biệt sẽ không thể dùng để tấn công bất kỳ chiếc iPhones nào khác. Yêu cầu của toà án là bản firmware đặc biệt được gắn với duy nhất chiếc điện thoại mà Farook sử dụng. Mỗi chiếc iPhone chứa một mã số định danh duy nhất được gắn vào các thiết bị phần cứng của nó (số serial, IMEI của điện thoại, mã của thiết bị Wi-Fi và Bluetooth MAC). Lệnh của toà án chỉ rõ bản firmware đặc biệt phải được gắn với mã định danh duy nhất của chiếc điện thoại San Bernardino và chỉ có thể chạy trên đúng chiếc điện thoại đó. Nếu được làm đúng như vậy, ngay cả nếu bản firmware đó được gửi cho chính phủ các nước khác hay được công bố trên Internet, thì nó cũng không thể dùng để dò mật khẩu của những chiếc iPhone khác. Để giảm bớt khả năng dò rỉ thông tin, toà án còn cho phép khả năng bản firmware đặc biệt chỉ được sử dụng tại trụ sở của Apple và FBI sẽ kết nối từ xa vào hệ thống dò mật khẩu. Cách tiếp cận đó nhất quán với cách mà Apple đã vượt qua màn hình khoá các thiết bị chạy các phiên bản iOS cũ: các cơ quan thực thi pháp luật gửi thiết bị tới Apple, Apple trích xuất dữ liệu bằng công cụ của họ rồi gửi lại dữ liệu qua thiết bị FireWire hay USB. Công cụ đặc biệt của Apple chưa bao giờ ra khỏi trụ sở của công ty ở Cupertino.

Xét trên lý thuyết, nếu bản firmware đặc biệt bị lộ ra ngoài, thứ ngăn chặn mọi người sửa nó để làm việc được với các thiết bị khác nằm chính trong tay của Apple. Hãy nhớ rằng FBI thực ra không cần Apple viết bản firmware đặc biệt cho phép dò mật khẩu. Tất nhiên Apple có thể làm điều đó dễ dàng hơn ai hết vì họ hiểu tất cả mọi thứ về iPhone, nhưng FBI hoàn toàn có thể trả tiền cho một công ty nào đó dịch ngược và chỉnh sửa firmware của iPhone. Tuy nhiên, iPhone yêu cầu firmware phải được ký số bằng chứng thực của Apple và chưa bị chỉnh sửa. FBI không có quyền và chưa hề đòi hỏi khoá bí mật dùng để ký số của Apple. Thay vào đó, họ đề nghị Apple dùng khoá đó để ký vào bản firmware đặc biệt, để iPhone chấp nhận sử dụng nó. Yêu cầu ký số này đồng nghĩa với việc FBI không thể tự mình tạo ra bản firrmware đặc biệt. Điều đó cũng có nghĩa là những người sử dụng iPhone thông thường sẽ an toàn ngay cả nếu bản firmware đặc biệt bị lộ ra ngoài. Việc thay đổi mã định danh duy nhất nhúng trong bản firmware đặc biệt sẽ làm vô hiệu hoá chữ ký và khiến cho chiếc iPhone ‘bị nhắm tới’ từ chối nó. Điều này giải thích tại sao việc thực hiện yêu cầu của toà án không làm ảnh hưởng tới độ an toàn của những chiếc điện thoại khác.

Sự bảo vệ của chữ ký số một lần nữa cho thấy hệ thống mã hoá của Apple an toàn tới mức nào và chính phủ Mỹ không yêu cầu Apple tạo ra cổng hậu hay công cụ bỏ qua hệ thống đó. Tuy nhiên, yêu cầu của FBI lại chứng minh rằng các cấu phần của hệ thống không phải là chắc chắn. Cơ chế trì hoãn thời gian nhập mật khẩu và xoá thiết bị sau nhiều lần nhập sai liên tiếp đều chỉ là phần mềm và Apple có khả năng vượt qua một cách dễ dàng. Việc Apple chấp nhận làm theo lệnh của toà án sẽ phá hỏng danh tiếng của họ và khiến người dùng nghi ngại (liệu nhân viên của Apple có thể tự tạo ra các bản firmware đặc biệt để dò mật khẩu của những người khác?). Hơn thế nữa, nó tạo ra một tiền lệ nguy hiểm: Apple sẽ phải phục vụ mọi yêu cầu của chính phủ trong tất cả các vụ việc sau này, thậm chí là của chính phủ các nước khác – ví dụ như Trung Quốc, nơi vốn là một thị trường cực lớn của Apple.

Người ta có thể nghĩ ra các cách khác nhau để chống lại điều đó, nhưng chúng không hề đơn giản. Lệnh của toà án gợi ý sử dụng chế độ "DFU" của iPhone. Đấy là một chế độ truy cập ở mức rất thấp, vốn được thiết kế để dùng trong các trường hợp cực kỳ khó khôi phục. Trong chế độ này, màn hình điện thoại thậm chí không được kích hoạt và chiếc iPhone phải được kết nối với máy tính qua cổng USB để truyền firmware mới sang. Có thể tưởng tượng ra cách để ngay cả chế độ này cũng được bảo vệ bằng mật khẩu và có cơ chế xoá dữ liệu nếu nhập sai quá nhiều lần. Nhưng làm như vậy sẽ phá hỏng chức năng ‘cấp cứu’ của chế độ DFU.