Quyền riêng tư - vấn đề cần cân nhắc trong vòng đời của phần mềm | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Quyền riêng tư – vấn đề cần cân nhắc trong vòng đời của phần mềm

Chia sẻ kiến thức 29/01/2022

Trong bài viết Sau đây, hãy cùng FUNiX tìm hiểu chi tiết các vấn đề xoay quanh quyền riêng tư của ứng dụng bạn nhé!

>> Chất lượng code là gì? 4 yếu tố ảnh hưởng đến chất lượng code

Quyền riêng tư là điều mà bất kì nhà phát triển ứng dụng nào cũng cần phải quan tâm. Bởi lẽ, nó ảnh hưởng trực tiếp đến lòng tin của người dùng, cũng như liên quan chặt chẽ đến vấn đề bảo mật của ứng dụng. 

Tìm hiểu chung về quyền riêng tư

Theo tiến sĩ Ann Cavoukian, bảy nguyên tắc của quyền riêng tư là:

  • Chủ động không phản ứng, phòng ngừa không khắc phục
  • Quyền riêng tư được cài đặt mặc định
  • Quyền riêng tư là một phần trong thiết kế ứng dụng
  • Đầy đủ chức năng – tổng dương, tổng không bằng 0
  • Bảo mật từ đầu đến cuối – bảo vệ toàn bộ vòng đời
  • Khả năng hiển thị và tính minh bạch
  • Tôn trọng quyền riêng tư của người dùng – lấy người dùng làm trung tâm

Ngày nay, quyền riêng tư về dữ liệu đối với hầu hết các nhóm lập trình viên là thứ được giải quyết sau khi phần mềm được đưa vào vận hành. Nó hơi giống như quy trình bảo mật được áp dụng trong một thập kỷ trước, nơi bạn sẽ hoàn thành việc triển khai ứng dụng và sau đó mới xử lý vấn đề bảo mật liên quan đến một số sự cố đã xảy ra.

Vì vậy, giống như bảo mật phần mềm, nguồn gốc của các vấn đề về quyền riêng tư nằm ở nơi phần mềm được thiết kế, triển khai và thử nghiệm. Nói một cách đơn giản: nếu quyền riêng tư là một phần của quá trình phát triển phần mềm, thì việc cố gắng giải nén bộ dữ liệu sẽ không bao giờ thành công. Bởi lẽ, code được hợp nhất trong một SDLC về quyền riêng tư. Bạn cần biết đầy đủ về dữ liệu truyền qua mọi đoạn code, nội dung, nguồn và mục đích của dữ liệu trong hệ thống thì mới có thể giải nén bộ dữ liệu.

Một SDLC về quyền riêng tư sẽ giúp đảm bảo các quyền lợi của người dùng mà không cần trải qua quy trình xây dựng hệ thống thủ công. Hệ thống xác định các luồng dữ liệu một cách rõ ràng, cho phép tự động mô tả và ghi chép các hoạt động dữ liệu của nó ngay khi triển khai.

Tìm hiểu chung về quyền riêng tư
Tìm hiểu chung về quyền riêng tư.

Một số giải pháp về quyền riêng tư của dữ liệu

Vấn đề bảo mật của thời đại chúng ta là các hệ thống không được đảm bảo quyền riêng tư về dữ liệu ngay từ đầu. Chắc chắn một số lý do có thể liên quan đến văn hóa, nhưng phần lớn liên quan đến các công cụ do các lập trình viên xử lý. Dưới đây là một số ý tưởng về cách giải quyết cho vấn đề này.

Các công cụ dành cho nhà phát triển low-friction privacy

Bước đầu tiên, các kỹ sư cần đảm bảo code của họ theo đúng cấu trúc của quyền riêng tư, cụ thể trong trường hợp này là low-friction để code của họ trở thành một phần của quy trình soạn thảo và CI. Code comment là một khởi đầu tốt cho vấn đề quyền riêng tư, nhưng nó chưa phải là một giải pháp toàn diện để cả lập trình viên và máy tính đều có thể hiểu được. Hơn nữa, code comment cũng không thể tích hợp vào quy trình làm việc tự động và thủ công.

Khi triển khai một chức năng nhất định trong dự án bằng các công cụ tích hợp, nhà phát triển có thể dễ dàng mô tả chức năng và loại dữ liệu của code đang hoạt động.

Ngoài ra, theo tương tự cách mà các công cụ bảo mật/ SAST – một thành phần của quy trình CI/ CD được xây dựng tốt, các công cụ cung cấp CI cho phép đánh giá cấu trúc và phân loại dữ liệu về quyền riêng tư trên mỗi cam kết và MR. Điều này được khuyến khích áp dụng nhằm đảm bảo công việc của các lập trình viên được tôn trọng về quyền riêng tư.

Đánh giá rủi ro tự động

Ít nhất là trong tương lai gần, chúng ta không thể loại bỏ con người khỏi các quy trình vòng lặp. Tuy nhiên, quy trình hiện tại của hầu hết các công ty tạo ra nhiều mâu thuẫn giữa các kỹ sư viết code và quy trình xem xét quyền riêng tư thủ công.

Tự động hóa trong các giai đoạn cam kết và hợp nhất có thể xử lý các vấn đề rủi ro cao dưới sự giám sát của con người và loại bỏ việc đồng bộ hóa các biểu mẫu đánh giá quyền riêng tư. Đánh giá rủi ro về quyền riêng tư có thể là một phần quan trọng của quy trình CI.

Phân loại dữ liệu cá nhân trên phạm vi toàn cầu

Phần lớn quyền riêng tư bắt đầu từ việc hiểu dữ liệu mà phần mềm của bạn sử dụng. Một trong những vấn đề phổ biến nhất đối với quyền riêng tư là áp dụng một tiêu chuẩn cho tất cả các loại dữ liệu trong hệ thống. Các loại dữ liệu thường được tạo ra bởi các nhóm người sử dụng chúng, dẫn đến sự hỗn hợp các định dạng. 

Các yêu cầu pháp lý ở các khu vực địa lý khác nhau khiến việc tiêu chuẩn hóa trở thành một thách thức. Tuy nhiên, điều này có thể đạt được bằng cách sử dụng các tiêu chuẩn ISO27701 PIMS, cụ thể là ISO/IEC DIS 19944-1 và xây dựng một tiêu chuẩn thống nhất về phân loại dữ liệu cá nhân.

Việc sử dụng một tiêu chuẩn duy nhất để phân loại dữ liệu trên toàn hệ thống có thể đơn giản hóa khả năng tương tác của các hệ thống đối với hoạt động bảo mật và yêu cầu quyền truy câọ của người dùng. Từ đó, việc quản trị hệ thống cũng được thống nhất, đồng bộ.

Một số giải pháp về quyền riêng tư của dữ liệu
Một số giải pháp về quyền riêng tư của dữ liệu.

Công cụ thực thi chính sách quyền riêng tư

Ngày nay việc thực thi chính sách và yêu cầu mở rộng hệ thống loại Role-Based Access Control (RBAC) hoặc Access Control List (ACL) thường hoạt động ở cấp độ hệ thống hoặc tập dữ liệu trừu tượng.

Một mô hình chính sách dữ liệu chi tiết nên được thiết kế ngay từ ngày đầu tiên để thực thi quyền truy cập dữ liệu ở các trường riêng lẻ dựa trên các chính sách được quản lý ở cấp thực thể. Mức độ chi tiết này là cách duy nhất để đảm bảo rằng các quyền riêng tư có thể thực sự được thực thi. Tuy nhiên, để điều này có thể thực hiện được, nó cần một hệ thống có khả năng tương tác, vì vậy tích hợp với mô hình thực thi chính sách tiêu chuẩn như Open Policy Agent là một bước quan trọng.

Thiết lập phần xác thực trong giao diện người dùng

Ngày nay, sự đồng ý thường được xử lý thông qua biểu mẫu cookie được đặt trong thời gian chạy của một luồng biểu mẫu. Ô “đồng ý” có thể và phải là một phần của mô-đun xác thực của tất cả các giao diện người dùng. Các công cụ như mô hình chính sách dữ liệu chi tiết sẽ cho phép bất kỳ kỹ sư nào mở rộng các quy trình xác thực này để kiểm tra một loại dữ liệu và việc xác thực của người dùng.

Nhật ký quyền riêng tư 

Mọi ứng dụng phải lưu giữ một bản ghi về các hành động liên quan đến quyền riêng tư. Một nhật ký như vậy sẽ cho phép các kỹ sư theo dõi các quyền của người dùng và các hoạt động quyền riêng tư một trong suốt vòng đời của ứng dụng. Đồng thời, bản ghi chép đó sẽ là chứng cứ cho các quyết định được đưa ra về quyền riêng tư.

Nhật ký quyền riêng tư là công cụ hữu ích cho các lập trình viên
Nhật ký quyền riêng tư là công cụ hữu ích cho các lập trình viên.

Tại sao quyền riêng tư lại quan trọng?

Tính minh bạch và quyền riêng tư có mối liên hệ chặt chẽ với nhau. Cam kết xây dựng các hệ thống đáng tin cậy giúp các lập trình viên có thể làm tốt hơn việc đưa quyền riêng tư vào code của họ. Đồng thời, giảm bớt xích mích giữa các nhóm kỹ thuật và pháp lý.

Với tư cách là kỹ sư phần mềm, bạn đang xây dựng hệ thống mà hàng tỷ người dựa vào, liên quan đến tài chính, sự an toàn, sức khỏe và phúc lợi của họ. Các công cụ và quy trình về quyền riêng tư nhằm phản ánh trách nhiệm và sự tôn trọng dữ liệu người dùng của các lập trình viên. 

Bằng cách trang bị cho lập trình viên các công cụ để thực hiện quyền riêng tư trong SDLC, họ sẽ xây dựng các hệ thống tốt hơn và an toàn hơn. Ở cấp độ hoạt động, các công cụ đó sẽ giảm bớt khó khăn trong việc khắc phục các vấn đề trong vận hành ứng dụng. Ở cấp độ văn hóa, các công cụ về quyền riêng tư giúp hệ thống thực sự giành được sự tin tưởng của người dùng.

Tại sao quyền riêng tư lại quan trọng?
Tại sao quyền riêng tư lại quan trọng?

Trên đây là những chia sẻ liên quan đến quyền riêng tư của ứng dụng. Hi vọng kiến thức trên hữu ích cho quá trình phát triển ứng dụng của các lập trình viên. Bạn có thể tham khảo thêm các bài viết khác của FUNiX để cập nhật các thông tin mới nhất liên quan đến lập trình nhé!

Nguồn dịch: https://stackoverflow.blog/2021/07/19/privacy-is-an-afterthought-in-the-software-lifecycle-that-needs-to-change/ 

Phạm Thị Thanh Ngọc (theo Stackoverflow)

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại