HDCP - Rào cản hay bảo mật?
Định nghĩaHDCP
Nguyên gốc, HDCP do bàn tay Intel nhào nặn, dưới dạng giao thức để bảo vệ nội
dung độ phân giải cao (HD) truyền qua ngõ DVI (Digital Visual Interface) và
HDMI (High Definition Multimedia Interface). Phiên bản chi tiết kỹ thuật đầu tiên
của giao thức này xuất hiện từ khá lâu, vào tháng 9/1999. Cho đến nay đã lên
phiên bản 1.2a vào ngày 10/5/2006.
Mục tiêu của HDCP là ngăn không cho người dùng xem hoặc chép nội dung HD
trên các thiết bị không được phép. Ta có thể quy nội dung HD dưới 3 hình thức:
1. Phim chứa trên đĩa HD DVD và Blu-ray.
2. TV độ nét cao được phát qua set-top box, qua cáp hoặc dạng phát sóng.
3. Nguồn độ phân giải cao qua card đồ hoạ máy tính (game, phim hoặc nội dung
video khác từ máy tính lên màn hình).
Phương thức bảo mật chung của HDCP là sử dụng kiến trúc trao đổi khoá (key-
exchange). Một trong những tính năng chính của HDCP là khả năng "thu hồi"
khoá mà nhà sản xuất (studio và nhà sản xuất thiết bị) đặt ra.
Ví dụ: nếu người dùng cố gắng chiếu một phim HD DVD hoặc Blu-ray trên máy
tính của họ sử dụng một phần mềm bẻ khoá (chẳng hạn như DVD Decrypter,
AnyDVD ) thì máy tính sẽ ghi nhận và thông báo việc này với cơ chế quản lý
khoá trung tâm (central key-authority), thu hồi và "liệt" khoá "giả” này vào "sổ
đen". Lúc ấy, người dùng sẽ không thể dùng máy tính đó (cấu hình máy tính sẽ
được lưu lại) để xem các phim HD nữa.
Nếu bạn dùng phần mềm nào đó để vượt qua HDCP thì màn hình sẽ chuyển sang
trắng, hoặc một hộp thoại "đáng yêu" sẽ hiện ra báo là bạn đang cố thực hiện điều
gì đó "bất hợp pháp". Hiện nay, cách bảo vệ kiểu phần cứng cộng tác với phần
mềm như vậy được nhiều nhà sản xuất thiết bị ủng hộ.
Dù vậy, chẳng có gì ngạc nhiên khi nhiều nhà sản xuất thiết bị phần cứng trong thế
giới máy tính lại khá e dè khi "đụng" đến HDCP. Bạn có thể vào địa chỉ này để
xem danh sách các công ty chấp nhận thỏa thuận bảo vệ bản quyền và sẽ ứng dụng
giao thức HDCP trong sản phẩm phần cứng của họ: http://www.digital-
cp.com/list. Danh sách này khá dài (khoảng 400 công ty). Hai công ty "nồng
nhiệt" nhất với HDCP là 2 hãng phim Warner Brothers và Walt Disney. Phim của
2 studio này (HD DVD hoặc Blu-ray) đều sẽ được bảo vệ nếu chiếu qua ngõ
HDMI hoặc DVI. Còn các studio khác thì sao? Lúc này họ vẫn chưa nhảy lên con
thuyền HDCP, có lẽ họ đang chờ phản ứng của dư luận trước khi quyết định có
đem HDCP vào đĩa phim của họ hay không.
Bên trong HDCP
Có thể nói lưu đồ làm việc nội tại của HDCP tương tự như nguyên tắc của một
giao thức theo nghĩa giao thức là phương pháp mà một hệ thống cụ thể sử dụng để
giao tiếp giữa các thành phần với nhau. Để hiểu được nó, ta phải có cái nhìn rõ
ràng về các đối tượng trong môi trường của HDCP. Trong hình 1, ta thấy 3 thành
phần cơ bản: Upstream control (U), HDCP Transmitter (T) và HDCP Receiver
(R). Chỉ khi nào có 3 thành phần cơ bản này thì mới có một môi trường HDCP
thực.
Trong môi trường này, giữa HDCP Transmitter và HDCP Receiver có một cơ chế
nhận diện trước khi các thiết bị có thể làm việc cùng nhau. Việc nhận diện này sẽ
xảy ra khi T gửi tín hiện giao tiếp đến R. Nếu thiết bị hiển thị tương thích, nó sẽ
gửi lại lệnh cho T bằng cách sử dụng tập khoá thiết bị do Digital Content
Protection LLC cấp.
Tiếp theo, T sẽ so sánh tập khoá này với khoá thiết bị của chính nó. Khi đó, hệ
thống sẽ tiến hành việc kiểm tra (tạo bảng checksum) tính tương thích giữa 2 thiết
bị qua bộ nhớ động và hoàn tất việc nhận diện.
Những điều đề cập trên nghe có vẻ rất tốt, suôn sẻ và đơn giản. Nhưng làm sao
chúng có thể chạy cùng 1 nhịp được?
HDCP hoạt động
Bất cứ thiết bị nào muốn tương thích HDCP phải có 40 tập khoá bí mật được mã
hóa ở 56-bit. Những khoá này được gọi chung một tên: Device Private Keys. Cách
dễ dàng nhất để bạn mường tượng ra các khoá này là chúng giống như tập dấu vân
tay. Không có thiết bị nào có cùng tập mã hoá, chí ít là theo lý thuyết. Digital
Content Protection cũng "chêm" vào mỗi tập khoá 1 header với tên là KSV (Key
Selection Vector). Đây là một giá trị nhị phân 40-bit. Quá trình trao đổi giữa các
thiết bị với những khoá tương tác này được minh hoạ trong hình 2.
Đầu tiên, để liên lạc giữa các thiết bị, T sẽ gửi một tin nhắn "chào hỏi" có chứa
một KSV của chính T (Aksv) cho R. Nếu liên lạc đầu tiên này "ok", hàm điều
khiển tính toán này là "hdcpBlkCipher" sẽ cho ra một giá trị là "An". Sau đó, R
gửi ngược lại KSV của nó (Bksv) cho T. Lúc đó, nếu việc nhận diện có nghi vấn,
T sẽ kiểm tra lại (có thể là kiểm tra số điện thoại nhà của người dùng) để chắc
chắn là các khoá của HDCP Receiver không bị thu hồi trước đó (hoặc nếu phát
hiện các khoá đó là giả thì hệ thống sẽ vô hiệu hoá khoá của thiết bị). Nếu qua
được quá trình nhận diện, bạn đã có thể "mở rào" cho nội dung số đi qua? Lúc này
vẫn chưa hoàn toàn thông suốt. Hệ thống sẽ phải kiểm tra bảng checksum vừa đề
cập phía trên. Theo chi tiết kỹ thuật của HDCP, bảng checksum thuộc dạng nhị
phân 56-bit dựa trên giá trị "An" của 2 KSV. Nếu giá trị R0 không hợp với R0' thì
quá trình nhận diện sẽ được thực hiện lại (hình 2).
. HDCP - Rào cản hay bảo mật?
Định nghĩa HDCP
Nguyên gốc, HDCP do bàn tay Intel nhào nặn, dưới dạng giao. lên con
thuyền HDCP, có lẽ họ đang chờ phản ứng của dư luận trước khi quyết định có
đem HDCP vào đĩa phim của họ hay không.
Bên trong HDCP
Có thể