Mục tiêu bài học — Learning Objectives
- So sánh GDPR (EU), CCPA (California), Nghị định 13/2023 (Việt Nam) và PDPA (Thái Lan) — điểm tương đồng và khác biệt
- Thực hiện Privacy Impact Assessment (PIA) và Data Protection Impact Assessment (DPIA)
- Xây dựng data classification scheme và retention schedule phù hợp quy định
- Áp dụng Privacy by Design (PbD) 7 principles vào thiết kế hệ thống
- Xây dựng quy trình Data Subject Rights Management và breach notification workflow
Lý thuyết — Theory
1. Các quy định bảo vệ dữ liệu toàn cầu — Global Privacy Regulations
| Quy định | Phạm vi | Quyền chủ thể | Phạt vi phạm |
|---|---|---|---|
| GDPR (EU 2018) | Mọi tổ chức xử lý dữ liệu công dân EU | Access, Rectify, Erase, Portability, Object, Restrict, Profiling opt-out | €20M hoặc 4% global turnover |
| CCPA (CA 2020) | Business thu thập dữ liệu cư dân California | Know, Delete, Opt-out of sale, Non-discrimination, Correct (CPRA) | $2,500-$7,500/vi phạm cố ý |
| NĐ 13/2023 (VN) | Tổ chức xử lý dữ liệu cá nhân công dân Việt Nam | Biết, Đồng ý, Truy cập, Xóa, Hạn chế, Phản đối, Khiếu nại | Đang hoàn thiện (dự thảo Luật BVDLCN) |
| PDPA (Thái 2022) | Xử lý dữ liệu cá nhân tại/về Thái Lan | Tương tự GDPR, thêm Data Portability | THB 5M (~$140K) + criminal penalties |
2. Privacy Impact Assessment (PIA) & DPIA
PIA/DPIA là quy trình đánh giá tác động của việc xử lý dữ liệu lên quyền riêng tư. GDPR Article 35 bắt buộc DPIA cho xử lý "có khả năng gây rủi ro cao".
- • Systematic profiling với tác động pháp lý
- • Xử lý dữ liệu nhạy cảm ở quy mô lớn (health, biometric)
- • Giám sát công cộng có hệ thống (CCTV khu vực công)
- • Matching hoặc combining datasets
- • Dữ liệu của vulnerable subjects (trẻ em, người bệnh)
- • Innovative technology sử dụng lần đầu
- Mô tả processing và mục đích
- Xác định lawful basis và necessity
- Đánh giá rủi ro với quyền tự do của data subjects
- Xác định biện pháp giảm thiểu rủi ro
- Tham khảo DPO (Data Protection Officer)
- Nếu rủi ro cao: tham khảo Supervisory Authority
- Tài liệu hóa và review định kỳ
3. Data Classification & Retention Policy
Data classification là nền tảng để áp dụng controls phù hợp — không thể bảo vệ dữ liệu nếu không biết dữ liệu đó là gì và ở đâu.
4. Privacy by Design — 7 Foundational Principles
Privacy by Design (PbD) do Ann Cavoukian phát triển — tích hợp privacy vào hệ thống từ giai đoạn thiết kế, không phải bổ sung sau. GDPR Art.25 yêu cầu "Data Protection by Design and by Default".
5. Data Breach Notification & DSR Management
- Nhận request (email, web form, phone)
- Xác thực danh tính requester (phải là subject đó)
- Phân loại request: Access / Erase / Correct / Port
- Tìm kiếm dữ liệu trong ALL systems
- Đánh giá exceptions (legal obligation, third-party rights)
- Respond trong 30 ngày (GDPR) — có thể extend thêm 60 ngày
- Tài liệu hóa request & response
Bài thực hành — Hands-on Labs
PII Data Discovery — PowerShell quét file system tìm dữ liệu cá nhân
# PII Data Discovery — tìm dữ liệu cá nhân trong file system
# Phục vụ data mapping và DPIA requirements
$scanPath = "C:\DataScan"
$fileTypes = @("*.txt", "*.csv", "*.log", "*.json")
$report = @()
# PII Pattern definitions
$patterns = @{
"CCCD/CMND VN" = '\b\d{9}(\d{3})?\b' # 9 or 12 digits
"Email Address" = '[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}'
"Phone VN" = '\b(0|\+84)[3-9]\d{8}\b'
"Credit Card" = '\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13})\b'
"Date of Birth" = '\b(0[1-9]|[12]\d|3[01])[\/\-](0[1-9]|1[0-2])[\/\-](19|20)\d{2}\b'
"IP Address" = '\b(?:\d{1,3}\.){3}\d{1,3}\b'
}
# Scan files
foreach ($ext in $fileTypes) {
Get-ChildItem -Path $scanPath -Filter $ext -Recurse -ErrorAction SilentlyContinue |
ForEach-Object {
$file = $_
$content = Get-Content $file.FullName -Raw -ErrorAction SilentlyContinue
if (-not $content) { return }
foreach ($piiType in $patterns.Keys) {
$matches = [regex]::Matches($content, $patterns[$piiType])
if ($matches.Count -gt 0) {
$report += [PSCustomObject]@{
File = $file.FullName
PIIType = $piiType
Count = $matches.Count
SizeMB = [math]::Round($file.Length / 1MB, 2)
LastWrite = $file.LastWriteTime.ToString("yyyy-MM-dd")
Risk = switch ($piiType) {
"Credit Card" { "CRITICAL" }
"CCCD/CMND VN" { "HIGH" }
"Date of Birth" { "HIGH" }
default { "MEDIUM" }
}
}
}
}
}
}
$report | Sort-Object Risk, PIIType | Format-Table -AutoSize
$report | Export-Csv "C:\GRC\pii-discovery-report.csv" -NoTypeInformation -Encoding UTF8
# Risk summary
Write-Host "`nPII Discovery Summary:" -ForegroundColor Yellow
$report | Group-Object Risk | Select-Object @{N="Risk";E={$_.Name}}, Count | Format-Table
File PIIType Count SizeMB LastWrite Risk ---- ------- ----- ------ --------- ---- C:\DataScan\orders-2025.csv Credit Card 234 2.4 2025-12-31 CRITICAL C:\DataScan\customers.csv CCCD/CMND VN 891 5.1 2026-01-15 HIGH C:\DataScan\employees.csv Date of Birth 156 0.8 2026-03-20 HIGH C:\DataScan\crm-export.csv Email Address 1247 8.2 2026-05-10 MEDIUM C:\DataScan\access.log IP Address 3421 12.6 2026-05-24 MEDIUM PII Discovery Summary: Risk Count ---- ----- CRITICAL 1 HIGH 2 MEDIUM 2 Action required: Immediate remediation for CRITICAL finding (Credit Card in CSV)
Data Anonymization Script — Bash thực hiện k-anonymity và data masking
#!/bin/bash
# Data Anonymization & Masking for GDPR/NĐ13 compliance
INPUT="customers-raw.csv"
OUTPUT="customers-anonymized.csv"
# Create sample input data
cat > $INPUT <<'EOF'
name,email,phone,cccd,dob,zip,salary
Nguyen Van An,[email protected],0912345678,079201012345,1990-05-15,700000,25000000
Tran Thi Bich,[email protected],0987654321,031199534567,1985-11-22,550000,18000000
Le Minh Cuong,[email protected],0901122334,036200078901,2000-03-08,100000,12000000
EOF
echo "Original data:"
cat $INPUT
echo ""
# Apply anonymization techniques
awk -F',' 'BEGIN{OFS=","} NR==1{print; next} {
# 1. Pseudonymize name (hash-like prefix + row ID)
name = "USER_" NR-1
# 2. Mask email (keep domain, replace local part)
split($2, e, "@")
email = substr(e[1],1,2) "***@" e[2]
# 3. Mask phone (keep prefix, mask middle)
phone = substr($3,1,4) "****" substr($3,9,4)
# 4. Generalize CCCD (keep region code only)
cccd = substr($4,1,3) "**********"
# 5. Generalize date of birth (year only — k-anonymity)
split($5, d, "-")
dob = d[1] "-XX-XX"
# 6. Generalize zip (round to nearest 100000)
zip = int($6/100000) * 100000
# 7. Suppress salary (remove sensitive field entirely)
salary = "REDACTED"
print name, email, phone, cccd, dob, zip, salary
}' $INPUT > $OUTPUT
echo "Anonymized data:"
cat $OUTPUT
echo ""
echo "Techniques applied:"
echo " - Pseudonymization: name → USER_N"
echo " - Masking: email local part, phone middle digits, CCCD digits"
echo " - Generalization: DOB → year only, zip → 100K range"
echo " - Suppression: salary field removed"
echo "Output: $OUTPUT (GDPR-safe for analytics use)"
Original data: name,email,phone,cccd,dob,zip,salary Nguyen Van An,[email protected],0912345678,079201012345,1990-05-15,700000,25000000 ... Anonymized data: name,email,phone,cccd,dob,zip,salary USER_1,an***@company.com,0912****5678,079**********,1990-XX-XX,700000,REDACTED USER_2,bi***@email.vn,0987****4321,031**********,1985-XX-XX,500000,REDACTED USER_3,cu***@gmail.com,0901****2334,036**********,2000-XX-XX,100000,REDACTED Techniques applied: - Pseudonymization: name → USER_N - Masking: email local part, phone middle digits, CCCD digits - Generalization: DOB → year only, zip → 100K range - Suppression: salary field removed Output: customers-anonymized.csv (GDPR-safe for analytics use)
Tình huống doanh nghiệp — Business Scenario
VietShop là sàn TMĐT có 2 triệu khách hàng Việt Nam và 50,000 khách EU. Họ nhận được email từ một khách hàng Đức yêu cầu xóa toàn bộ dữ liệu cá nhân (GDPR Right to Erasure). Đồng thời, phát hiện database export chứa PII bị lưu không mã hóa trên server phát triển.
Tự kiểm tra — Self-Assessment (5 câu)
1. GDPR yêu cầu báo cáo data breach cho Supervisory Authority trong thời gian nào?
2. Privacy by Design Principle nào yêu cầu hệ thống thu thập ít nhất dữ liệu cần thiết theo mặc định?
3. Kỹ thuật thay thế giá trị thực của dữ liệu bằng giá trị giả (có thể reverse nếu có key) được gọi là gì?
Pseudonymization có thể reverse với key (vẫn là personal data theo GDPR). Anonymization không thể reverse — không còn là personal data.
4. Tổ chức phải thực hiện DPIA bắt buộc theo GDPR Art.35 trong tình huống nào sau đây?
5. Nghị định 13/2023 Việt Nam yêu cầu báo cáo sự cố dữ liệu cá nhân đến cơ quan nào?
Frameworks & Tiêu chuẩn Quốc tế về Bảo vệ Dữ liệu
ISO/IEC 27701:2019 — Privacy Extension (PIMS)
ISO 27701 mở rộng ISO 27001 (ISMS) với các kiểm soát riêng về quyền riêng tư → tạo thành PIMS (Privacy Information Management System). Một cuộc audit duy nhất bao phủ cả bảo mật lẫn quyền riêng tư.
Tổ chức xác định mục đích và phương tiện xử lý PII — tương đương Data Controller theo GDPR.
- • Purpose specification: Ghi rõ mục đích thu thập
- • Consent management: Cơ chế thu và rút đồng ý
- • Data minimization: Chỉ thu thập dữ liệu cần thiết
- • Data subject rights: Access, correction, erasure
Tổ chức xử lý PII theo chỉ thị của Controller — tương đương Data Processor theo GDPR.
- • Contractual agreements: DPA ký với Controller
- • Sub-processor management: Kiểm soát bên xử lý phụ
- • Processing purposes: Chỉ xử lý theo chỉ thị Controller
- • Records of processing: Nhật ký xử lý PII
DPIA vs PIA — Phân biệt quan trọng
| Tiêu chí | PIA (Privacy Impact Assessment) | DPIA (Data Protection Impact Assessment) |
|---|---|---|
| Jurisdiction | Mỹ (NIST SP 800-122, FedRAMP) | EU — GDPR Article 35 |
| Cơ sở pháp lý | Tự nguyện hoặc theo policy nội bộ | Bắt buộc theo luật |
| Khi nào bắt buộc | Agency policy, FedRAMP, E-Gov Act 2002 | 3 trigger: giám sát công cộng, xử lý dữ liệu nhạy cảm quy mô lớn, quyết định tự động |
| Output | PIA Report (công bố công khai) | DPIA Report + consultation DPA nếu rủi ro cao |
| Cơ quan quản lý | OMB, agency CISO/privacy officer | DPA (Data Protection Authority) quốc gia |
Quy trình DPIA: Mô tả xử lý → Đánh giá tính cần thiết/cân xứng → Xác định rủi ro → Tham vấn DPA nếu còn rủi ro cao
Frameworks Quốc tế — PDPA Singapore & DPF EU-US
Lịch sử: Privacy Shield bị vô hiệu hóa 2020 (Schrems II ruling). DPF 2023 thay thế, cơ sở pháp lý là Executive Order 14086 của Tổng thống Biden về tăng cường bảo vệ tín hiệu thông tin.
Cơ chế: Tự chứng nhận (self-certification) qua US Department of Commerce. Tổ chức cam kết tuân thủ nguyên tắc DPF để nhận dữ liệu từ EU hợp pháp.
| Tiêu chí | GDPR (EU) | PDPA (Singapore) | CCPA (California) |
|---|---|---|---|
| Mô hình đồng ý | Opt-in (tường minh) | Opt-in (implied/express) | Opt-out (quyền từ chối bán) |
| Quyền chủ thể | 8 quyền (xóa, di chuyển...) | Access + Correction | Biết, xóa, không bán, không phân biệt |
| Phạt tối đa | €20M / 4% doanh thu toàn cầu | SGD 1M | $7,500/vi phạm cố ý |
| DPO bắt buộc | Có (điều kiện cụ thể) | Không bắt buộc | Không bắt buộc |