ios17 giới thiệu về ios

16 0 0
Tài liệu đã được kiểm tra trùng lặp
ios17 giới thiệu về ios

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ự ộ ố ạ● Không gian địa chỉ ảo 64-bit: Trong iOS 17, kích cỡ của không gian địa chỉ ảo sẽ phụthuộc lượng bộ nhớ vật lý có trên máy.. ● Không gian địa chỉ có thể sử dụng được: Không gian

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGH

Bùi Trần Hải Nam-21020525 Nguyễn Phúc Sơn-21021539

Hà Nội, tháng 11 năm 2023

Trang 2

2 Mục l c ụ

I, Gi i thi u ớ ệ 3

II, Ki n trúc ế 3

III, Các chức năng chủ chố 4 t 1, Qu n lý ti n trình ả ế 4

g, M t sộ ố tính năng bảo mật và riêng tư mới trên iOS 17 11

b, Cá nhân hóa trình duy t Safari ệ 14

VI, Trích d n ẫ 15

Trang 3

I, Gi i thi u ớệ

Vào ngày 9 tháng 1 năm 2007, trên sân khấu hội thảo Macworld tại San Francisco, Steve Jobs công b chi c iPhone ố ế – dòng điện tho i thông minh m i cạ ớ ủa Apple iPhone đã mở ra một k nguyên m i trong truyên thông và máy tính cá nhân không nh ng do thi t kỷ ớ ữ ế ế phần cứng siêu việt như các đối thủ c nh tranh, mà bên trong iPhone còn là iPhone OS v i nhạ ớ ững đột phá trong thi t kế phần mềm như hỗế trợ cảm ứng đa điểm, thư thoại kèm ảnh, và khả năng tích hợp với iTunes iPhone OS sau phiên bản thứ 3 được đổi tên thành iOS, với mỗi phiên b n m i, iOS liên tả ớ ục tung ra các tính năng mới và đột phá, thách th c thông d ng ứ ụtrong thi t kế ế phần m m, gi v ng tinh thề ữ ữ ần đột phá c a chiủ ếc iPhone đầu tiên Phiên b n m i nh t c a iOS hi n tả ớ ấ ủ ệ ại là iOS 17 được ra mắt vào ngày 18 tháng 9 năm 2023, đem theo đó là những tính năng mới như tương tác với widget và chế độ Standby cũng như cải thiện trong cảm ứng, tự động hoàn thành và k t n i mế ố ạng Những c i thi n trên chả ệ ỉ là bề nổi, nên trong báo cáo này chúng tôi s có mẽ ột cái nhìn chuyên sâu hơn về cách v n hành ậcủa iOS17, trong đó bao gồm kiến trúc của iOS17 , một số các chức năng chủ ốt như quả ch n lý ti n trình, qu n lý bế ả ộ nhớ ệ thố, h ng t p tin, k t n i m ng và b o m t Tậ ế ố ạ ả ậ ừ những y u t ế ốnền t ng này chúng tôi s so sánh iOS 17 v i hả ẽ ớ ệ điều hành ti n nhi m cề ệ ủa nó cũng như hệđiều hành từ các đối th củ ạnh tranh và minh họa những tính năng này.

Sau báo cáo này, chúng tôi mu n v ra m t b c tranh chi ti t và chuyên sâu vố ẽ ộ ứ ế ề cơ chế hoạt động của h điều hành iOS, cũng như làm nổệ i bật lên những điểm độc đáo trong thiết kế và vận hành c a iOS 17 Chúng tôi mong nhủ ững đối thủ c nh tranh có th hạ ể ọc hỏi cũng như phát tri n thêm tể ừ những tính năng này để người tiêu dùng có thể có đượ ảc s n ph m tẩ ốt nhất

II, Ki n trúc ế

iOS 17 được thiết kế theo kiểu tầng với 4 tầng chính là:

Trang 4

4 ● Core OS: t ng này xầ ử lý các tính năng cấp th p, và là n n tấ ề ảng để các công ngh khác ệ

dựa vào T ng này có trách nhi m qu n lý b ầ ệ ả ộnhớ, x lý hử ệ thống t p tin,x lý lu ng ậ ử ồvà cung c p các d ch vấ ị ụ như giao diện m ng c p th p và truy cạ ấ ấ ập đến các phụ kiện bên ngoài

● Core Services: t ng này có nhi m vầ ệ ụ quản lý các d ch vị ụ cơ bản đượ ử ụng ở ầc s d t ng Cocoa Touch

● Media : Đây là tầng xử lý các dịch vụ đa phương tiện như đồ họa, âm thanh và video Tầng này cho phép nhà phát tri n có th làm vi c v i các y u tể ể ệ ớ ế ố đồ họa như hoạt ảnh, phim, ảnh và âm thanh

● Cocoa Touch: t ng này là m t t ng trầ ộ ầ ừu tượng cung cấp các thư viện để ậ l p trình các thiế ị ửt b s dụng iOS T ng này cung c p các framework quan tr ng giúp ng d ng có ầ ấ ọ ứ ụthiết lập thông báo, đa nhiệm, đầu vào cảm ng, và các d ch vụ cấp cao ứ ịKiến trúc phân t ng giúp ầ ứng dụng và ph n cầ ứng có th giao tiể ếp trơn tru với iOS đóng vai trò trung gian.Các t ng cung c p các giao di n h ầ ấ ệ ệ thống dướ ại d ng framework, t các ừframework này mà ng d ng có th giao ti p v i ph n c ng Các t ng thứ ụ ể ế ớ ầ ứ ầ ấp hơn cung cấp các dịch vụ cơ bản thi t yế ếu trong khi các t ng trên hi n thầ ể ị đồ h a phọ ức t p và xạ ử lý các d ch vị ụ liên quan đến giao di n ệ

GCD hoạt động dựa trên cơ chế Thread Pool: thay vì ph i t o các lu ng tr c ti p thì chúng ta ả ạ ồ ự ếsẽ đưa các nhiệm vụ vào Queues Queues sẽ tự động t o và huạ ỷ luồng, còn vi c t o bao ệ ạnhiêu lu ng thì s do h ồ ẽ ệ thống quyết định d a trên công vi c cự ệ ủa CPU đang thực thi Queue sẽ quản lý những nhi m v mà ta gệ ụ ửi và ch y chúng theo th tạ ứ ự FIFO Điều này đảm bảo

Trang 5

rằng nhi m bệ ụ đầu tiên được thêm vào queue s là nhi m vẽ ệ ụ đầu tiên được bắt đâug sau đó lần lượt các nhiệm vụ được bắt đầu theo thứ tự đến hết queue

b, B l p l ch ti n trình ộ ậ ị ế

Bộ l p lậ ịch ti n trình có vai trò là ch n các tiế ọ ến trình trong b ể tiến trình để có thể nạp tuần tự vào CPU B l p l ch s d a vào các thu t toán l p lộ ậ ị ẽ ự ậ ậ ịch để sao cho có th phân chia tài ểnguyên m t cách công b ng gi a các ti n trình và tránh lãng phí tài nguyên CPU B l p l ch ộ ằ ữ ế ộ ậ ịtrong iOS 17 ch y u s d ng b l p l ch ng n h n do có ph n hủ ế ử ụ ộ ậ ị ắ ạ ả ồi người dùng nhanh M i ỗkhi đồng hồ của CPU bị ngắt hoặc thiết bị vào ra bị ngắt hoặc người dùng gọi system call , bộ lập lịch ngắn h n s quyạ ẽ ết định ti n trình nào trong hàng ch sế ờ ẵn sàng được n p vào CPU ạ

tiên khác nhau, m i hàng ch có th s d ng thu t toán riêng, ví d Round-Robin ỗ ờ ể ử ụ ậ ụ(RRS) hoặc FCFS.MFQS cho phép điều chuyển (điều ti t) ti n trình t hàng ch này ế ế ừ ờsang hàng ch kia Trong iOS 17, các mờ ức ưu tiên được chia thành 4 m c là: ứ

o Kernel-level: s d ng trong quử ụ ản lý đầu vào/ra và qu n lý ph n cả ầ ứng

Trang 6

6 o Real-time: s d ng cho trình chử ụ ạy đa phương tiện, game 3D

o System-high: các nhi m vệ ụ ưu tiên cao như dịch v hụ ệ thốngo Normal: t t c các nhi m v còn l i ấ ả ệ ụ ạ

2, Qu n lý b ả ộ nhớ

iOS 17 s d ng 2 công cử ụ ụ chính để quản lý bộ nhớ là bộ nhớ ảo và bộ đếm tham chi u t ế ựđộng (ARC) Nh ng thu t toán trong bộ nh ảo như phân trang hay phân mảnh được s ữ ậ ớ ửdụng trong qu n lý b ả ộ nhớ c p thấ ấp, nhưng iOS chủ ế ử ụng ARC để quản lý b y u s d ộnhớ h ệthống

a,Bộ nhớ ảo

Bộ nhớ ảo được định nghĩa là lớp trừu tượng phân cách tiến trình với bộ nhớ vật lý(RAM) Bộ nhớ ảo trong iOS không có nhiều điểm khác bi t so v i các hệ ớ ệ điều hành c nh tranh, tuy ạnhiên iOS 17 vẫn có vài điểm độc đáo:

● Không th c hi n page-out: Khác vự ệ ới đa số ệ điề h u hành(k c MacOS), iOS không ể ảthực hi n page-out cho b ệ ộnhớ được s d ng b i tiử ụ ở ến trình Thay vào đó, iOS sẽ chỉxóa các trang Read-only c a m t tủ ộ ập tin được ánh x b ạ ộ nhớ ế, n u c n thì ta có th ầ ểpage-in t p tin này l i Khi bậ ạ ộ nhớ ậ v t lý trong máy th p, RAM có th lo i bấ ể ạ ỏ những tập tin được ánh xạ bộ nhớ M t s ví d cộ ố ụ ủa t p tin này bao gậ ồm thư viện chung, tệp tin th c thi chính, và m t s lo i tài nguyên ự ộ ố ạ

● Không gian địa chỉ ảo 64-bit: Trong iOS 17, kích cỡ của không gian địa chỉ ảo sẽ phụthuộc lượng bộ nhớ vật lý có trên máy

● Không gian địa chỉ có thể sử dụng được: Không gian địa chỉ ảo trong iOS luôn để lại 8 GB với 4 GB đầu được chỉ định làm trang s 0 (PAGE_ZERO) còn 4 GB còn lố ại được dùng làm vùng chia s cho hẻ ệ thống

Trang 7

● Địa ch ảo mở rộng: kể t iOS14 thì ta có thêm đặỉ ừ c quyền mở rộng địa chỉ ảo Tiến trình s dử ụng đặc quy n này s có chìa khóa plist là ề ẽ

com.apple.developer.kernel.extended-virtual-addressing Ti n trình này có th s ế ể ửdụng toàn bộ không gian địa ch 64 bit, giúp cho vi c ánh x b ỉ ệ ạ ộnhớ cho các ti n trình ếcó nhi u d liề ữ ệu Read-only

b, ARC

ARC, vi t tế ắt cho Automatic Reference Counting, là cơ chế tự động đếm số lượng tham chiếu ARC được dùng để theo dõi và qu n lý b ả ộ nhớ ứng dụng đượ ử ục s d ng và tự động gi i phóng bả ộ nhớ không dùng đến nữa Đếm tham chiếu chỉ áp dụng cho instance c a m t l p Struct và enum là bi n giá tr nên sủ ộ ớ ế ị ẽ không được lưu và thay vào đó được gọi tham chiếu

Trong iOS, khi đối tượng được khởi tạo, nó sẽ đư c quản lý bởi ARC Dựa vào số ợlượng tham chiếu đến mà đối tượng đó được gán một số được gọi là bộ m tham đếchiếu Mỗi khi đối tượng được tham chi u bế ởi đối tượng khác, bộ đếm tham chiếu sẽ tăng thêm, và giảm khi nó không còn được tham chiếu đến nữa Một đối tượng sẽ được xoá bỏ và tr lả ại bộ nhớ cho hệ thống khi nó không còn được tham chiếu b i ởbất kỳ đối tượng nào khác, hay bộ đếm tham chi u b ng 0 ế ằ

- ARC r t h u dấ ữ ụng, nhưng nó mới chỉ giải phóng được các đối tượng không còn được tham chiếu Trong trường hợp 2 đối tượng không còn được tham chi u bế ởi các được đối tượng khác, nhưng nếu 2 đối tượng này tham chiếu lẫn nhau thì bộ đếm tham chiếu của cả 2 đối tượng đều khác 0 Điều này dẫn đến 2 đối tượng không đượ ử c sdụng s luôn t n tẽ ồ ại trong chương trình, từ đó xảy ra th t thoát bấ ộ nhớ Hiện tượng này được gọi là chu trình tham chiếu

Như thấy ở trên, chu trình tham chiếu sẽ gây nhiều thất thoát bộ nhớ, mà các lập trình viên cũng thường lập trình 2 đối tượng tham chiếu lẫn nhau Để khắc phục tình trạng này thì iOS cung c p 2 ki u tham chiấ ể ếu mới là tham chi u y u và tham chiế ế ếu không ch : ủ

+ Tham chi u y u là tham chi u không gán ch t vế ế ế ặ ới đối tượng c a nó nên ARC có th ủ ểdễ dàng d n dọ ẹp instance được tham chiếu đó Để biến có th có tham chi u y u thì ể ế ếta khai báo từ khóa “weak” trước câu khai báo bi n Do tham chi u y u không gán ế ế ếchặt với đối tượng nên nó được ARC đặ ộ đết b m tham chi u b ng 0 khi instance nó ế ằchỉ đến được giải phóng Do giá trị tham chiếu luôn có thể về 0 trong thời gian chạy nên ta không thể đặt tham chi u y u làm h ng s ế ế ằ ố

+Tham chi u không ch là tham chiế ủ ếu mà như tham chiếu yếu không được gán chặt với đối tượng Tuy nhiên, khác với tham chiếu yếu thì tham chiếu không chủ dùng khi th i gian t n t i cờ ồ ạ ủa đối tượng dài hơn hoặc b ng v i th i gian t n t i tham ằ ờ ờ ồ ạchiếu Để sử dụng tham chiếu không chủ ta sử dụng từ khóa “unowned” Một điểm khác so v i tham chi u y u là tham chi u này ph i luôn có giá tr , nên ARC không th ớ ế ế ế ả ị ểđưa giá trị tham chiếu về 0

Trang 8

8

3, Hệ thống t p tin ậ

Hệ thống t p tin xậ ử lý lưu trữ bền lâu cho tập tin dữ liệu, ứng dụng và các tập tin hệ thống của hệ điều hành K tể ừ iOS 10.3, iOS sử d ng h ụ ệ thống t p tin Apple hay APFS thay vì h ậ ệthống t p tin phân cậ ấp HFS thường đượ ử ụng trong các hệ điều hành mã ngu n m c s d ồ ở như Linux, Unix và BSD

a, Phân vùng

Khác v i các h ớ ệ thống t p tin khác, Apple s d ng kiậ ử ụ ểu phân vùng đơn có tên gọi là container APFS Container APFS là m t container o có thộ ả ể chứa 1 ho c nhiặ ều ổ đĩa, tương tự như phân vùng Mỗi ổ c ng trong container APFS s có h ứ ẽ ệ thống t p tin riêng và có th ậ ểdùng để lưu trữ dữ liệu , ứng dụng, và các tập tin khác

Container APFS được khởi tạo ở khâu cài đặt đầu tiên và không thể thay đổ ởi người b i dùng Điều này giúp tăng tính bảo mật và ổn định của hệ ề đi u hành, trong khi v n cho phép quẫ ản lý không gian lưu trữ trên thiết b b ng cách xóa bị ằ ớt ứng d ng và t p tin thụ ậ ừa.

b, Chia s không gian ẽ

Khác với phân vùng thông thường, thay vì ta đặt dung lượng và v trí cị ố định cho từng ổcứng/ phân vùng, các s chia sổ ẽ ẽ không gian lưu trữ trên container APFS và sẽ được APFS sắp x p theo thế ứ tự logic Đặc điểm này giúp ta có thể dễ dàng sử dụng dung lượng thừa trên các c ng k bên vì m r ng c ng chổ ứ ế ở ộ ổ ứ ỉ đơn giản là dùng phép c ng logic v i phộ ớ ần trống trong c ng ổ ứ

c, Nhân b n ả

Khi ta sao chép tập tin thông thường, t p tin sậ ẽ được đọc và ghi thành m t kh i m i, dộ ố ớ ẫn đến tốn thêm CPU, RAM để th c hiự ện cũng như ổ ứng để lưu trữ c APFS một l n nữa đi ầngược với truyền thống khi th c hiện nhân b n tự ả ập tin: APFS sao chép đến địa chỉ mới thì ta chỉ lưu tham chiếu đến vị trí tập tin cũ, do đó tiết kiệm được dung lượng Chỉ khi tập tin cũ bị chỉnh s a thì APFS m i t o m t b n sao riêng biử ớ ạ ộ ả ệt

d, Snapshot và h i ph c ồ ụ

APFS có th t o m t snapshot cể ạ ộ ổ ứng đại di n cho 1 m c th i gian Snapshot là con ch ệ ố ờ ỏRead-only đến ổ cứng gốc và dữ liệu Snapshot chỉ tốn dung lượng chứa các con chỏ nên sẽ nhẹ hơn là sao chép ra ổ cứng dự phòng Sau một khoảng thời gian thì Snapshot sẽ được cập nh t v i chậ ớ ỉ thay đổi được viết vào snapshot

e, Mã hóa

APFS nh n rấ ất mạnh vào khả năng mã hóa Nó có nhiều cấp độ mã hóa, ví d không mã hóa, ụmã hóa dùng 1 chìa khóa cho m i phân vùng, mã hóa riêng cho t ng file Mã hóa có 2 ch ỗ ừ ếđộ là AES-XTS và AES-CBC Hiện iOS đang được áp dụng cấp mã hóa t ng file, mỗi file có m t ừ ộchìa gi i mã riêng bi t nên tính an toàn cao Khi b n b l y cả ệ ạ ị ấ ắp máy tính hay điện thoạ ẻi, k tấn công s rẽ ất khó để ấy đượ l c n i dung g c cộ ố ủa nh ng file này nh có APFS ữ ờ

Trang 9

này được kết hợp hoặc biên dịch vào bộ xử lý ứng dụng (AP) và bộ xử lý Secure Enclave (SEP) để ra định danh độc nhất của thiết bị (UID) và định danh nhóm thiết bị (GID) Việc giải và mã hóa được thực hiện bởi phần cứng mã hóa AES với 2 chìa khóa trên chỉ được truy cập bởi ph n c ng mã hóa AES ầ ứ

Giá trị GID được chia s ẻ đến mọ ộ ửi b x lý trong 1 l p các thi t b chuyên ch ng ch nh sớ ế ị ố ỉ ửa firmware và các công vi c mã hóa không x lý d liệ ử ữ ệu cá nhân người dùng UID do là độc nhất nên được sử dụng để bảo vệ phân cấp chìa khóa được sử dụng trong mã hóa hệ ống ththông tin cấp thiế ị t b

Để ta có thể xóa thông tin nhạy cảm một cách an toàn trên b nhớ flash, Apple giới thi u ộ ệtính năng Effaceable Storage Tính năng này cung cấp khả năng truy cập trực tiếp đến các phần bộ nhớ c p th p, tấ ấ ừ đó ta có thể an toàn xóa các kh i b ố ộnhớ mong mu n ố

b, Khởi động an toàn

Khi thi t b iOS khế ị ởi động, nó sẽ đọc ch d n t bỉ ẫ ừ ộ nhớ ROM đượ ọc g i là ROM khởi động ROM khởi động ch a mã không thứ ể chỉnh s a và ch ng ch Apple Root CA, nh ng th này ử ứ ỉ ữ ứsẽ được nhúng vào chip silicon trong quá trình sản xuất, và 2 thứ này sẽ đóng vai trò làm gốc r tin cễ ậy Sau đó, ROM khởi động ki m tra chể ữ ký c a trình khủ ởi động b c th p (LLB), ậ ấrồi LLB ki m tra chể ữ ký điệ ử ủn t c a iBoot Ở bước cu i cùng thì iBoot ki m tra ch ký cố ể ữ ủa nhân hệ điều hành IOS Nếu 1 trong 3 bước này th t b i thì hấ ạ ệ thống sẽ đi đến chế độ phục hồi, tuy nhiên n u Boot ROM th t b i thì máy s ế ấ ạ ẽ bước vào chế độ ồ h i phục đặc bi t là nâng ệcấp firmware thiết b (DFU) khiị ến cho điện tho i không ph n h i và màn hình không hiạ ả ồ ển thị gì

Khâu khởi động trên có tên là Secure Boot Chain, và nó đóng vai trò xác thực tính toàn vẹn của quá trình khởi động và đảm bảo m i thành phọ ần trong khâu được viết và phân ph i bố ởi Apple

c, Code signing

Apple áp d ng m t hụ ộ ệ thống b o v bả ệ ản quyề ố DRM khá ph c t p trên iOS, v i m c tiêu n s ứ ạ ớ ụđảm bảo ch có mã nguỉ ồn được Apple ký vào mã mới chạy được trên iOS Điều này khiến người dùng ch có thể s dỉ ử ụng App Store để ải ng d t ứ ụng, cũng như ứng dụng bản địa trên Apple phải đượ ậc l p trình bằng Objective C hay Swift Để phát hành ng d ng trên iOS ta ứ ụcần phải tham gia chương trình phát triển c a Apple và trủ ả phí thường niên để có mọi tính năng phát triển và phát hành ứng dụng Chữ ký mã nguồn trên iOS gồm 3 phần:

● Con d u: con d u này ch a m i giá tr hash và checksum c a các phân m nh c a mã ấ ấ ứ ọ ị ủ ả ủnguồn, được sản xuất bởi phần mềm kỹ mã nguồn của Apple Con dấu được dùng đểchống gi m o ho c ch nh s a mã nguả ạ ặ ỉ ử ồn.

● Chữ ký điện t : phần m m ký mã nguồn mã hóa con dử ề ấu dùng định danh của người ký để tạo chứ ký điện tử Chữ ký đảm bảo tính toàn vẹn của con dấu

● Yêu c u mã ngu n: Có các lu t h n chầ ồ ậ ạ ế phần m m ký mã ngu n Tùy vào mề ồ ục đích thì m t s giá trộ ố ị được hi n thể ị cho người xác nhận trong khi có trường h p toàn b ợ ộmã nguồn được mã hóa

Trang 10

10

d, H p cát ộ

iOS s d ng công nghử ụ ệ appsandbox để kiểm soát truy c p Công nghậ ệ này đượ ử ục s d ng ởbậc nhân hệ điều hành và được dùng để giới hạn thiệ ạt h i cho h ệ ống và người dùng trong thtrường hợp thi t b b xâm phạm ế ị ị

Hộp cát là một chức năng bảo m t thi t y u có m t tậ ế ế ặ ừ phiên bản đầu tiên c a iOS Tủ ất c các ảứng d ng bên th ba đượụ ứ c chạy bởi người dùng mobile, trong khi m t s nh các ng dụng ộ ố ỏ ứh thệ ống được chạy bơi người dùng root Ứng dụng iOS thông thường sẽ bị giới h n trong ạmột container, trong container này ng d ng bứ ụ ị giới h n ch truy cạ ỉ ập đượ ập tin của ứng c tdụng cũng như một vài API hệ thống H p cát sộ ẽ kiểm soát truy cập đế ấ ản t t c tài nguyên trên máy Gi i h n hớ ạ ộp cát đặt như sau:

● Tiến trình ng d ng chứ ụ ỉ đượ ử ụng thư mụ ủa ức s d c c ng d ng qua m t ti n trình ụ ộ ếtượng t chroot ự

● Hàm h ệ thông mmap và mprotect được ch nh sỉ ửa để tránh ng d ng bi n bứ ụ ế ộ nhớviết được thành tập tin thực thi cũng như ngăn ứng dụng thực hiện mã được tạo một cách linh động Giữa code signing và FairPlay, loại mã được thực thi bị giới hạn tột cùng tùy t ng ng cừ ữ ảnh

● Tiến trình b cô l p, cho dù có ch có cùng UID t i b c hị ậ ủ ạ ậ ệ điều hành

● Driver ph n c ng không thầ ứ ể được truy c p tr c tiậ ự ếp Thay vào đó, ta phải truy cập qua các framework công khai c a Apple ủ

e, Mã hóa và b o v dả ệ ữ liệu

Mã hóa mã FairPlay được áp dụng trên mọi ứng dụng được tải từ App Store FairPlay được phát triển dướ ại d ng DRM khi ta mua nội dung đa phương tiện Ban đầu thì mã hóa FairPlay chỉ được s d ng trên tử ụ ập tin MPEG cũng như các luồng QuickTime, nhưng nguyên lý hoạt động này cũng áp dụng được cho tập tin thực thi Cơ chế ủa FairPlay như sau: khi ta đăng cký thành người dùng mới của Apple/ AppleID thì ta được trao một cặp khóa công khai/bí mật, do đó mã bị mã hóa bởi FairPlay chỉ có thể được giải b i thi t b có c p chìa Ta có th ở ế ị ặ ểđảo ngược mã hóa FairPlay bằng cách chạy ứng dụng rồi ta dump mã được giải từ bộ nhớ Apple tích h p mã hóa vào ph n c ng và firmware t iPhone 3GS Do iOS mã hóa th c hiợ ầ ứ ừ ự ện ở bậc phần c ng và firmware, b o v dữ li u bậứ ả ệ ệ c ph n m m có thể ợầ ề h p tác v i hai bên trên ớđể thêm tính bảo m t cho h thống ậ ệ

Khi b o v d liả ệ ữ ệu được b t thì khi ta thi t l p mậ ế ậ ật mã trên điện thoại thì mỗi tập tin được thêm vào m t l p b o vộ ớ ả ệ nhất định M i l p hỗ ớ ỗ trợ một m c truy cứ ập và b o v khác nhau ả ệdựa trên hoàn c nh tả ập tin được truy cập Các bước mã hóa và gi i mã ng v i m t t ng ả ứ ớ ộ ầdựa vào cơ chế đa khóa sử dụng UID, mật mã, chìa khóa lớp, chìa khóa hệ thống t p tin, và ậchìa khóa t p tin Chìa khóa t p tin mã hóa n i dung t p tin, chìa khóa l p bao trùm chìa ậ ậ ộ ậ ớkhóa tập tin và được lưu trong siêu dữ ệ li u c a t p tin Chìa khóa hủ ậ ệ thống tập tin được dùng để mã hóa siêu dữ liệu tập tin UID và mật khẩu sẽ bảo vệ chìa khóa lớp Tất cả các bước này đều vô hình trước người dùng Mật khẩu và UID kết hợp tạo ra chìa khóa mã hóa iOS, chìa khóa này có ch ng ch u tố ị ốt trước các cu c t n công bruteforce ộ ấ

f, Gi m thiả ểu nguy cơ xâm nhập chung

iOS th c hi n ngự ệ ẫu nhiên hóa sơ đồ không gian địa ch (ASLR) và bit không bao giỉ ờ thực thi(XN) để giảm thiếu các cuộc tấn công thực thi mã từ xa(RCE)

Ngày đăng: 14/05/2024, 16:08