Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Tôi nên sử dụng chức năng che mặt dữ liệu nào?

Theo Simson L. Garfinkel tại Phòng thí nghiệm Công nghệ Thông tin của Bộ phận Truy cập Thông tin NIST,

Khử nhận dạng không phải là một kỹ thuật đơn lẻ, mà là một tập hợp các phương pháp tiếp cận, thuật toán và công cụ có thể được áp dụng cho các loại dữ liệu khác nhau với các mức độ hiệu quả khác nhau. Nói chung, bảo vệ quyền riêng tư được cải thiện khi các kỹ thuật khử nhận dạng tích cực hơn được sử dụng, nhưng ít tiện ích hơn vẫn còn trong tập dữ liệu kết quả.

-De-Identification of Personal Information, NISTIR 8053

Tạo mặt nạ dữ liệu tĩnh (SDM) là thuật ngữ được ngành công nhận cho các phương tiện khác nhau giúp loại bỏ nhận dạng các phần tử dữ liệu ở trạng thái còn lại. Các phần tử thường là cột cơ sở dữ liệu hoặc giá trị trường tệp phẳng được coi là nhạy cảm; trong ngành công nghiệp chăm sóc sức khỏe, chúng được coi là những dấu hiệu nhận biết chính. Nguy cơ cụ thể là thông tin nhận dạng cá nhân (PII), thông tin sức khỏe được bảo vệ (PHI), số tài khoản chính (PAN), bí mật kinh doanh hoặc các giá trị nhạy cảm khác.

Sản phẩm bảo mật tập trung vào dữ liệu “điểm bắt đầu” IRI FieldShield - hoặc sản phẩm IRI CoSort và nền tảng IRI Voracity bao gồm các khả năng tương tự - cung cấp nhiều chức năng khám phá dữ liệu và SDM cho nhiều nguồn dữ liệu. Các chức năng tạo mặt nạ cho mỗi trường / cột có sẵn bao gồm:

  1. nhiều, các thuật toán mã hóa (và giải mã) tuân thủ NSA Suite B và FIPS, bao gồm cả định dạng giữ nguyên mã hóa
  2. Hàm băm
  3. SHA-1 và SHA-2
  4. ASCII de-ID (xáo trộn bit)
  5. mã hóa và giải mã nhị phân
  6. dữ liệu làm mờ hoặc bán tín hiệu (ẩn danh)
  7. tạo hoặc chọn ngẫu nhiên
  8. redaction (sự xáo trộn ký tự)
  9. bút danh có thể đảo ngược và không thể đảo ngược
  10. logic biểu thức tùy chỉnh (tính toán / xáo trộn)
  11. lọc hoặc loại bỏ có điều kiện / một phần giá trị (bỏ qua)
  12. thay thế giá trị tùy chỉnh
  13. hàm chuỗi và chuyển byte
  14. mã hóa (dành cho PCI)

Bạn cũng có thể “triển khai” chức năng che dữ liệu bên ngoài của riêng mình. Điều này cho phép bạn gọi một quy trình cấp trường, được viết tùy chỉnh trong thời gian chạy thay vì cài sẵn.

Câu hỏi vẫn còn, tôi nên sử dụng chức năng che nào (trên mỗi mục)? Điều đó phụ thuộc vào nhu cầu và quy tắc kinh doanh của bạn, cũng như (các) luật bảo mật dữ liệu hiện hành. Ở cấp độ kỹ thuật, điều đó thường có nghĩa là quyết định cách bản mã kết quả (dữ liệu bị che) cần xuất hiện như thế nào, nếu nó cần được đảo ngược hoặc duy nhất, mức độ an toàn của nó và có thể, loại tài nguyên và thời gian tính toán nào có sẵn cho quy trình . Hãy xem xét chi tiết các tiêu chí quyết định chung này:

Hình thức (Chủ nghĩa hiện thực)

Dữ liệu mới được che có nên trông giống dữ liệu gốc hơn hay ít hơn? Còn về kích thước và định dạng của nó? Thuật ngữ hóa và mã hóa bảo toàn định dạng là hai cách phổ biến nhất để

giữ lại giao diện của danh từ riêng và số tài khoản hoặc số điện thoại có chữ số alpha, tương ứng. Nhưng việc tạo mặt nạ cho chuỗi con (a / k / một phần trường redaction, ví dụ:XXX-XX-1234) có thể tốt cho những thứ như SSN. Hãy nghĩ về sự tồn tại và hiển thị của dữ liệu để phân tích, v.v.

Liên quan đến điều này, sự xuất hiện và tính hiện thực của bản mã cũng có thể xác định khả năng sử dụng của các kết quả. Các mục tiêu của bảng ứng dụng và cơ sở dữ liệu (tiện ích tải) có thể yêu cầu định dạng của dữ liệu không chỉ tuân thủ các cấu trúc được xác định trước mà còn tiếp tục hoạt động trong các truy vấn hoặc các ngữ cảnh hoạt động khác.

Nói cách khác, nếu dữ liệu được che giấu là dữ liệu đẹp và / hoặc dữ liệu chức năng là bắt buộc, thì đừng sử dụng mã hóa hoàn toàn, ngẫu nhiên hóa, băm hoặc mã hóa thẳng (sẽ mở rộng và làm xáo trộn kết quả). Bạn có thể bỏ qua các chỉnh sửa nhỏ hơn như lão hóa và thao tác chuỗi con, nhưng hãy cân nhắc tác động của những lựa chọn này đối với các tiêu chí quyết định khác của bạn…

Khả năng đảo ngược (Nhận dạng lại)

Cần khôi phục dữ liệu gốc? Câu trả lời cho điều đó có thể phụ thuộc vào việc bạn đang để dữ liệu nguồn một mình, như cách bạn làm trong chế độ tạo mặt nạ dữ liệu động hay khi bạn đang ghi dữ liệu bị che vào các mục tiêu mới. Trong những trường hợp đó, câu trả lời là không.

Nếu câu trả lời là không, bạn vẫn có thể cần chủ nghĩa hiện thực, trong trường hợp này, bạn có thể đặt bút danh không thể đảo ngược là cách tốt nhất. Nếu không và ngoại hình không quan trọng, hãy đi với biểu tượng nhân vật. Và nếu không đúng, hãy xem xét xóa hoàn toàn cột nguồn khỏi mục tiêu.

Khi câu trả lời là có, các chức năng che dữ liệu IRI như mã hóa, bút danh có thể đảo ngược hoặc mã hóa, mã hóa hoặc ID lại ASCII (xáo trộn bit) được chỉ định. Trong các trường hợp sử dụng nâng cao hơn, bạn cũng có thể cần đảo ngược vi sai; nghĩa là khi những người nhận khác nhau của cùng một mục tiêu được phép xem những thứ khác nhau trong cùng một tập dữ liệu. Trong những trường hợp như vậy, các khóa mã hóa riêng tư, các tập lệnh công việc tiết lộ dành riêng cho người dùng hoặc thậm chí các ứng dụng tùy chỉnh có thể được triển khai.

Tính duy nhất (Nhất quán)

Có phải cùng một giá trị ban đầu luôn cần được thay thế bằng giá trị thay thế giống nhau, nhưng khác nhau không? Dữ liệu sẽ được kết hợp vào hay được nhóm lại bởi các giá trị thay thế? Nếu vậy, thuật toán thay thế được chọn phải tạo ra kết quả duy nhất và có thể lặp lại để duy trì tính toàn vẹn của tham chiếu mặc dù đã xảy ra hiện tượng che dấu.

Điều này có thể đạt được thông qua mã hóa khi sử dụng cùng một thuật toán và cụm mật khẩu (khóa) đối với cùng một bản rõ. Thuật sĩ phân loại dữ liệu và bảo vệ bảng chéo trong IRI Workbench IDE cho FieldShield, Voracity, v.v. tạo điều kiện thuận lợi cho việc này thông qua ứng dụng bảng chéo (hoặc toàn cầu hơn) của quy tắc che phù hợp. Bằng cách này, cùng một giá trị văn bản rõ ràng luôn nhận được cùng một kết quả bản mã bất kể vị trí của nó.

Ở đây, việc giả danh phức tạp hơn, do thiếu tên thay thế duy nhất, trùng lặp tên gốc và các thay đổi ( chèn, cập nhật hoặc xóa) vào các giá trị ban đầu trong các bảng hoặc tệp nguồn. IRI đã giải quyết vấn đề về bút danh nhất quán giữa các bảng trong ví dụ về quy trình làm việc Voracity này.

Sức mạnh (Bảo mật)

Việc xem xét các thuật toán bên trong mỗi hàm có thể giúp bạn xác định “khả năng bẻ khóa” tương đối của chúng và đánh giá điều đó so với các cân nhắc về bản mã khác như ngoại hình và tốc độ. Ví dụ:chức năng AES256 của IRI mạnh hơn tùy chọn AES128, SHA2 mạnh hơn SHA1 và tất cả đều mạnh hơn chức năng mã hóa / giải mã base64 và ASCII de-ID / re-ID.

Theo định nghĩa, các chức năng có thể đảo ngược thường yếu hơn các chức năng không thể đảo ngược. Ví dụ:phương pháp bút danh không thể đảo ngược (bộ tra cứu nước ngoài) của IRI an toàn hơn phương pháp bút danh có thể đảo ngược (bộ gốc có xáo trộn) của nó. Điều đó nói rằng, thuật toán mã hóa AES-256 có thể rất khó bị bẻ khóa khi khóa đã bị mất.

Tất nhiên là bỏ qua bảo mật thậm chí mạnh hơn, theo sau là sự xáo trộn ký tự (redaction), không thể thay đổi được. Nhưng nhược điểm là thiếu tính tiện dụng. Trong bối cảnh bến cảng an toàn HIPAA, việc loại bỏ các số nhận dạng chính tuân theo. Tuy nhiên, nếu bạn cần sử dụng bất kỳ phần nào của dữ liệu nguồn để phân tích, nghiên cứu, tiếp thị hoặc trình diễn, thay vào đó, bạn sẽ cần một chức năng che và một chuyên gia để xác định (và chứng nhận) rằng (các) kỹ thuật của bạn có thống kê thấp khả năng nhận dạng lại.

Mặc dù chúng tôi đang đề cập đến vấn đề khử nhận dạng HIPAA, nhưng hãy nhớ rằng cũng có thể có rủi ro liên quan đến cái gọi là số nhận dạng gần như (như mã zip và tuổi). Những giá trị đó có thể được sử dụng cùng với các tập dữ liệu khác để thiết lập một dấu vết nhận dạng lại, và do đó cũng có giá trị che giấu trong nhiều trường hợp; liệu và như thế nào cũng tùy thuộc vào những cân nhắc tương tự.

Tính toán (Hiệu suất)

Một trong những điều thú vị về phương pháp che dữ liệu - ngay cả khi có liên quan đến các thuật toán mã hóa máy tính chuyên sâu - là chi phí của nó so với mã hóa rộng rãi (của toàn bộ mạng, cơ sở dữ liệu, tệp / hệ thống, ổ đĩa) thấp hơn nhiều. Chỉ những phần tử dữ liệu (giá trị cột) mà bạn chỉ định để bảo vệ mới cần được nhập vào, xử lý và trả về từ hàm che.

Nói chung, thuật toán càng phức tạp (và mạnh hơn) thì thời gian áp dụng càng lâu. Tốc độ che dữ liệu cũng sẽ phụ thuộc vào số lượng chức năng được áp dụng, số lượng cột và hàng DB, số lượng ràng buộc tra cứu cần tuân theo trong quy trình (đối với tính toàn vẹn tham chiếu), băng thông mạng, RAM, I / O, các quy trình đồng thời và Sớm.

Biểu đồ phi khoa học sau chia nhỏ hầu hết các thuộc tính được mô tả ở trên để tiện tham khảo, đối với một số (nhưng không phải tất cả!) Được hỗ trợ danh mục chức năng tạo mặt nạ dữ liệu IRI và nói chung chỉ trong các điều kiện tương đối. Không cần phải nói, IRI từ chối bất kỳ bảo hành nào về tính phù hợp hoặc trách nhiệm pháp lý đối với biểu đồ này!

Chức năng tạo mặt nạ dữ liệu IRI (trong FieldShield &Voracity)


Cho dù bạn sử dụng các chức năng che dữ liệu IRI tích hợp sẵn hoặc các chức năng tùy chỉnh mà bạn xác định, ý tưởng là áp dụng chúng dựa trên các quy tắc kinh doanh của bạn cho các hàng hoặc cột cụ thể và / hoặc trên các bảng. Và bạn sẽ làm điều đó thông qua các quy tắc che dữ liệu mà bạn có thể xác định, lưu trữ và sử dụng lại. Cũng có thể (và thích hợp hơn) áp dụng các chức năng che dữ liệu này đối với dữ liệu được phân loại tự động như các quy tắc để thuận tiện và nhất quán. Và bạn có thể tận dụng một số trong số chúng trong các ứng dụng tạo mặt nạ dữ liệu động thông qua lệnh gọi API.

Người dùng FieldShield (hoặc Voracity) có thể tạo, chạy và quản lý các công việc tạo mặt nạ dữ liệu của bạn trong một GUI hiện đại miễn phí, được xây dựng trên Eclipse. ™ Hoặc, họ có thể chỉnh sửa và chạy các tập lệnh 4GL tương thích, tự lập tài liệu xác định dữ liệu nguồn / đích và các chức năng tạo mặt nạ và chạy các tập lệnh đó trên dòng lệnh.

Để biết thêm thông tin, hãy xem https://www.iri.com/solutions/data-masking hoặc liên hệ với đại diện IRI của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. StarJoinInfo trong Kế hoạch Thực thi

  2. Kết nối với Vertica trong IRI Workbench

  3. Cách tạo chỉ mục trong Django mà không có thời gian ngừng hoạt động

  4. Hekaton with a twist:In-memory TVPs - Part 3

  5. THÔNG TIN CHỨNG TỪ KHÓA NGOẠI LỆ SQL:Hướng dẫn Cơ bản, Dễ dàng cho Người mới