iOS

Bảo mật và mã hóa

Keychain nâng cao, CryptoKit, SSL Pinning, xác thực sinh trắc học, secure coding, ATS

20 câu hỏi phỏng vấn·
Senior
1

Cơ chế iOS nào nên được sử dụng để lưu trữ an toàn các token xác thực nhạy cảm?

Câu trả lời

Keychain là hệ thống lưu trữ an toàn gốc của iOS, được thiết kế riêng cho dữ liệu nhạy cảm. Nó tự động mã hóa dữ liệu và quản lý quyền truy cập theo các chính sách kiểm soát đã định. Không bao giờ nên dùng UserDefaults cho thông tin bí mật vì nó lưu trữ dữ liệu ở dạng văn bản thuần. Keychain cũng cung cấp các tính năng nâng cao như truy cập sinh trắc học và đồng bộ hóa iCloud an toàn.

2

Thuộc tính Keychain nào đảm bảo dữ liệu không thể truy cập khi thiết bị bị khóa?

Câu trả lời

kSecAttrAccessibleWhenUnlocked đảm bảo dữ liệu chỉ có thể được truy cập khi thiết bị được mở khóa. Điều này cung cấp khả năng bảo vệ ngay cả khi Keychain được truy vấn qua một tiến trình nền. Giá trị này được Apple khuyến nghị cho các token nhạy cảm. Các tùy chọn khác như WhenUnlockedThisDeviceOnly cung cấp khả năng bảo vệ bổ sung bằng cách ngăn đồng bộ hóa iCloud.

3

Lớp CryptoKit nào nên được sử dụng để thực hiện mã hóa đối xứng AES-256?

Câu trả lời

SymmetricKey trong CryptoKit quản lý các khóa đối xứng, trong khi AES.GCM (Galois/Counter Mode) thực hiện mã hóa có xác thực. GCM được ưu tiên vì nó cung cấp cả tính bảo mật và xác thực, ngăn chặn các cuộc tấn công thao túng. Cách tiếp cận này an toàn hơn ChaCha20Poly1305 trong các ngữ cảnh không yêu cầu hiệu suất cực cao trên các thiết bị cũ.

4

Ưu điểm chính của mã hóa bất đối xứng so với mã hóa đối xứng là gì?

5

Sự khác biệt cơ bản giữa hashing và mã hóa về mặt bảo mật là gì?

+17 câu hỏi phỏng vấn

Nắm vững iOS cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí