Trên thị trường gần đây có bán rất nhiều đàu thu cho vệ tinh này với giá rất rẻ (khoảng hơn 2 triệu đồng). Xin cung cấp 1 số thông tin về nó như sau:
- Dream TV là hệ thống DTH (Direct To Home) của Philippines.
- Hệ thống khoá mã là Nagravision Digital (gọi tắt là Nagra)
- Băng tần Ku-Band ( Giống UBC của Thái Lan)
Bài viết này tôi chú trọng đến vấn đề bẻ khoá và sự tồn tại của việc dùng Copy card.
- Như hầu hết tất cả các hệ thống mã khoá DVB, Nagra cũng dùng SmartCard và đầu thu tương thích có CAM (Common Access Module - gọi là module giải mã). Tóm lại, để xem được chương trình Dream TV bạn cần có chảo thu hệ KU band, đầu thu DVB-S có Module giải mã hệ Nagra. Trên thị trường hiện nay có bán 2 loại đầu thu của TQ là XSAT410 và XSAT430.
cả hai loại này đều dùng để thu DVB-S, có tương thích với Nagra.
- Hệ thống Nagra xịn ( không phải là nhái hay copy) có tính chất bảo mật như sau: Đầu thu và card được kết hợp với nhau, nghĩa là với đầu thu nào thì chỉ có 1 card cho đầu thu đó chạy được, nếu mang card này cắm vào đầu kia thì không chạy. Vì nó có 1 cái gọi là BOXKEY ( chìa khoá của đầu thu), Khi BOXKEY bên trong đầu thu = BOXKEY bên trong thẻ thì hai bên mới bắt đầu trao đổi dữ liệu với nhau. Ngoài BOXkey ra thì còn có card serial number và CAMID (Số serial của Module giải mã). Tất cả những cái đó đều nhằm mục đích nhận diện đúng thẻ và đầu thu. Tất cả những dữ liệu này đều không thay đổi được trên smartcard của Nagra vì được ghi trên ROM (Bộ nhớ chỉ đọc-không ghi) của card. Nhưng có thể thay được trên 1 số đầu thu dùng soft CAM (Module giải mã Nagra bằng thư viện phần mềm do Nagra cung cấp). Trên đầu thu dùng IC Chip do Nagra cung cấp (gọi là Hard CAM) thì không thay được.
- Đầu thu của TQ thì hoàn toàn là soft CAM nên việc thay đổi trên không khó!. Việc còn lại là Card thôi.
- Nagra Card có rất nhiều phiên bản nôm na gọi là ROM. Nagra Card dùng chip dòng họ ST7 của Thomson, trong đó có chứa hệ điều hành (ROM) và EEPROM (dữ liệu). Hệ điều hành của nagra card có rất nhiều phiên bản ROM3,ROM4...ROM11. Bản bị cr***k cuối cùng là ROM11. Còn ROM13 trở đi thì chưa thấy ai làm được. Cũng như phiên bản IRDETO của UBC Thái lan.
- Để xem lậu được thì cần phải làm được 1 loại card là mô phỏng lại card Nagra xịn chứ card xịn thì bói đâu ra, kể cả loại hết tiền rồi nạp lại cũng không thể có nhiều, do đó đã có bản emulator (mô phỏng) Nagra card dùng thẻ có CHIP của ATMEL 90S8515 (dòng AVR) và I2C EEPROM 24C64-24C256. Trước kia khi Nagra dùng hệ điều hành ROM3 thì 90S8515 24C64 có thể mô phỏng được như card xin nên không có vấn đề gì. còn ngày nay, Họ đã dùng đến ROM11, dung luợng bộ nhớ lớn hơn nhiều nên card hiện hành là 8515 24C256. (256Kbit/8=32Kbyte).
- Lý thuyết giải mã Nagra thì có lẽ để dành cho bài viết khác vì không thể gộp cả công nghệ vào 1 bài viết này được. Tóm lại bây giờ để xem được DREAM TV bạn cần có đầu thu XSAT4xx và 1 card 8515 24c256.
- Để làm đc card trên cần có blank card trên và bộ nạp, phần mềm để nạp. Nhưng tất cả đều được bán kèm do anh TQ bán trên thị trường.
Sự tồn tại hay nói 1 cách khác là chúng ta có thể xem chùa đc bao lâu? Không ai biết. Vì Philippines có thể thay hệ thống card mới với sự bảo mật cao hơn bất kỳ lúc nào. Giống như UBC thái lan vì DREAM TV chỉ bán chính thức tại nội địa Philippin thôi. Theo tôi đc biết thì khoảng tháng 8 này sẽ thay đổi. những người dùng chính thức của hãng sẽ đc đổi miễn phí. Loại card này sẽ không thể lấy được BOXKEY, do đó đầu thu của TQ sẽ không dùng đc, hơn nữa do tính chất của Nagra là dữ liệu tính toán trên cơ sở dữ liệu bên trong smartcard, do đó loại card mới này có dữ liệu mới nên card 8515 24C256 sẽ vô tác dụng.
Như vậy, cũng như các loại xem chùa khác, nó sẽ toi cho đến khi nó đc bẻ khoá lại, thời gian là bao lâu? - Không ai biết.
Nói chung cuộc chiến đấu giữa nhà cung cấp dịch vụ và h**cker không bao giờ ngừng.
* Còn bây giờ xem được thì cứ xem. Sau này nếu toi hết, các bác có thể liên hệ để chuyển đổi hệ thống các đầu thu TQ của các bác đã mua sang hệ thống giải mã khác, biết đâu có thể xem đc cái gì đó chứ không bị vứt vào sọt rác.
Theo tôi, dùng đầu thu truềy hình KTS hay chờ DTH của VN vẫn là kinh tế nhất.
Phương pháp giải mã và mô phỏng card Nagra
Để đọc được thông tin tin 1 smartcard hệ Nagra trước hết phải có được 1 cái gọi là BackDoor Key. (Chìa khóa cửa hậu) – Gồm 16 Byte. Nhờ có key này ta mới có thể đọc được toàn bộ nội dung của card. Backdoor key có thể bị thay đổi bởi nhà cung cấp dịch vụ và thay đổi over Air. Và nó cũng có thể bị khóa cứng, nghĩa là nếu nhà cung cấp không có nhu cầu dùng đến cửa này nũa thì nó có thể bị lấp đi, khi đó không bao giờ vào được nữa. Hiện nay theo tôi được biết thì Dream TV đã thay và lấp cái cửa này rồi. May mắn là 1 số h**cker đã nhanh tay thay đổi Backdoor key trước nhà cung cấp dịch vụ nên vẫn tồn tại 1 số card có thể đọc được nội dung. Như vậy chỉ cần đóng tiền để nuôi nó là có thể làm thành nhiều card copy rồi. Các loại card đó của h**cker hiện nay chỉ có đến ROM11 là hết cỡ. Từ bản ROM13 trở đi, cái Backdoor key bị lấp đi trước khi nó được tung ra thị trường, do vậy việc đọc nội dung bên trong là rất khó khăn.
Sau khi có backdoor key, ta sẽ đọc được thẻ nagra có nội dung tương tự như sau:
Trong các thông tin có được như System type ( Mã của nhà cung cấp DREAMTV là 4E 01), IRD Number, BoxKey, CAM ID ... như bài viết trước tôi đã giải thích là để tham gia vào việc nhận diện Card và đầu thu. Ta còn 2 thông tin rất quan trọng là Public Key0 và Public Key 1. Nhờ có 2 Key này mà ta có thể giải mã dòng MPEG để có hình ảnh và âm thanh. Thường thì chỉ dùng 1 trong 2 key trên và nhà cung cấp sẽ lựa chọn dùng key0 hay Key1. ngoài ra các Key này cũng sẽ bị nhà cung cấp thay đổi liên tục tùy ý. Như vậy nếu bạn chỉ có Key0/Key1 bạn cũng có thể xem được chương trình cho đến lần thay đổi Key tiếp theo. Loại card để làm việc nói trên có rất nhiều và đơn giản. Thậm trí có loại đầu thu DVB-S có chứ năng nạp key bằng tay cho phép ta xem được rất nhiều hệ giải mã bằng cách nạp các Key trên vào đầu thu. Cách thức này đã bị các nhà cung cấp phá bỏ bằng cách thay đổi key liên tục. Trước kia DreamTV thay key trong khoảng thời gian 1 tháng 1 lần , sau đó 2 tuần 1 lần, còn bây giờ thì 2 ngày 1 lần. Sẽ rất nản nếu cứ phải lọ mọ internet để tìm key mới nhất và nạp vào card hay đầu thu rồi xem khoảng 1 thời gian ngắn lại phải làm lại. Việc đó dẫn tới tìm giải pháp tự động cập nhật Key giống như thẻ xịn của Nagra.
Khi đọc thẻ xịn ta còn có các thông tin khác như hình dưới đây
Đây là các loại key dùng vào việc giải mã dòng dữ liệu được mã khóa, gửi qua Air đến đầu thu của bạn. Nhờ có các dữ liệu trên và hệ điều hành sẽ giải mã dữ liệu thu được thành Key0 và Key1.
Ví dụ sau đây là 1 dòng dữ liệu đã được mã khóa của DREAM TV:
214053A0CA00004D004B4E0142559FF8
3DEFE5B49AD48E13B97C0177820E3A2
64B7377E15C4F9077CE4779F264953CE
433F4D386742780A3871BA658FC69E34
31A43D198A8A78943A55C4EB5D738A8
539E8E28FB1005C3.
Dòng dữ liệu trên được phân tích như sau:
ID PROVIDER = 4E01 (DREAM TV 4E01)
KEYSELECT = 42 =B''''''''01000010 PK=2 (TD $07->0)
SIGNATURE = 55 9F F8 3D EF E5 B4 9A
ENCRYPTED DATA =
D4 8E 13 B9 7C 01 77 82 ; Block 1
0E 3A 26 4B 73 77 E1 5C ; Block 2
4F 90 77 CE 47 79 F2 64 ; Block 3
95 3C E4 33 F4 D3 86 74 ; Block 4
27 80 A3 87 1B A6 58 FC ; Block 5
69 E3 43 1A 43 D1 98 A8 ; Block 6
A7 89 43 A5 5C 4E B5 D7 ; Block 7
38 A8 53 9E 8E 28 FB 10 ; Block 8
Card sẽ giải mã phần Encrypted Data (8 Blocks) ra thành dữ liệu gốc. Hệ thống mã hóa này dùng thuật toán DES. Ta sẽ được dòng dữ liệu sau:
EMM DECRYPTED RAW BYTES:
-------------------------
3F4E01FACD7AB78C87CD7A30A604CD92
4FAEABAD0EAEB5AD0ACD7915A617AE26
CC6B0FCD7A21CC7904834F0142056C7B
0D2EC03639154285CD1EADBA2A5789CF
Từ dòng dữ liệu trên phân tích và deassembler thành mã của chip dòng Họ ST7 được như sau:
SIGNATURE: OK!
3F -> Filter: ANY CARD
4E01 PROVIDER ID (DREAM TV 4E01)
FA -> RUN CODE FOR ROM10:
CD7AB78C87CD7A30 A604CD924FAEABAD 0EAEB5AD0ACD7915 A617AE26CC6B0FCD
7A21CC7904834F01 42056C7B0D2EC036 39154285CD1EADBA 2A5789CF
DISASSEMBLY OF CODE:
------------------------------
0081: CD 7A B7 jsr GET2PARMSTORC1 ; Put 2 bytes in RC1H:L
0084: .dw 8C 87 ; New value of RC1
0086: CD 7A 30 jsr MOVERC1TORC2 ; RC2<-RC1
0089: A6 04 lda #$04 ; Load in A
008B: CD 92 4F jsr COMPUTESIG ; Compute signature of A packets (RC1H:L->Data, RC2H:L->VerifyKey)
008E: AE AB ldx #$AB ; Load in X
0090: AD 0E bsr $A0 ; Go to subroutine
0092: AE B5 ldx #$B5 ; Load in X
0094: AD 0A bsr $A0 ; Go to subroutine
0096: CD 79 15 jsr MV2_182_TO_F8XA ; Moves 182:182 to F8:F9 & to X:A
0099: A6 17 lda #$17 ; Load in A
009B: AE 26 ldx #$26 ; Load in X
009D: CC 6B 0F jmp EMMBYTESLEFT ; Continue processing EMM commands
00A0: CD 7A 21 jsr XTORC1 ; RC1H:L<-00:X
00A3: CC 79 04 jmp ENCRYPTBLOK ; Encrypt data in [RC1H:L], key in $F0..$F8
BYTES DUMP:
---------------------
00A6: 83 4F 01 42 05 6C 7B 0D
00AE: 2E C0 36 39 15 42 85 CD
00B6: 1E AD BA 2A 57 89 CF
như ta thấy thì trong dòng dữ liệu được gửi đi bao gồm 1 phần là chương trình để bộ vi sử lý chạy, và chỉ có 1 phần là dữ liệu (địa chỉ từ 00A6).
Ví dụ sau đây là log khi bộ vi xử lý chạy đọan mã trên:
This EMM:
21 40 53 A0 CA 00 00 4D 00 4B 4E 01 42 55 9F F8
3D EF E5 B4 9A D4 8E 13 B9 7C 01 77 82 0E 3A 26
4B 73 77 E1 5C 4F 90 77 CE 47 79 F2 64 95 3C E4
33 F4 D3 86 74 27 80 A3 87 1B A6 58 FC 69 E3 43
1A 43 D1 98 A8 A7 89 43 A5 5C 4E B5 D7 38 A8 53
9E 8E 28 FB 10 05 C3
Made theese changes in EEPROM:
CHANGES:
D108: 9AF794A2185DCF15 -> DF787436976B4492
D10F: 15B353E97AA3ADE7 -> 92130830D6AEBFA5
D116: E75E -> A577
D19A: 0F1D084F01100012 -> 8F0BD11008130830
D1A1: 12C7000000001713 -> 30D6AEBFA5770000
D1A8: 131713191F175202 -> 0000000000000000
D1AF: 021B02E280 -> 0000000000
D1B5: FF -> 00
D1B7: FF -> 00
Data Type have changed:
DataType = $06 at address $D0DE
Before:
06 4F 00 00 36 D7 42 42
FF FF FF FF FF FF FF FF
FF FF 00 FF FF 00 00 FF
FF 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
9A F7 94 A2 18 5D CF 15
B3 53 E9 7A A3 AD E7 5E
After:
06 4F 00 00 36 D7 42 42
FF FF FF FF FF FF FF FF
FF FF 00 FF FF 00 00 FF
FF 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
DF 78 74 36 97 6B 44 92
13 08 30 D6 AE BF A5 77
NEW KEY0: DF787436976B4492
NEW KEY1: 130830D6AEBFA577
Cuối cùng ta đựợc key 0 và key1 mới.
Vậy thì làm sao để làm đựoc card copy nếu không sử dụng Chip dòng ST7?
Phải có toàn bộ ảnh (Dump image) ROM và EEPROM của card Nagra, các bộ chìa khóa tham gia vào giải mã (trên đã nói), sau đó mô phỏng tất các các lệnh của chip ST7 bằng lệnh của chip sử dụng để làm thẻ copy ( Thường là MicroChip PIC hoặc ATMEL AVR). Khi tham chiếu đến địa chỉ nhảy và dữ liệu, phải dùng đến ảnh của ROM và EEPROM. Ngoài ra từ ảnh của ROM ta mới tìm được thuật toán DES để giải mã dòng dữ liệu trước khi deassembler nó được. Bởi vì cần 1 dung lượng khá lớn như thế nên việc mô phỏng Card Nagra (Copy) được dùng đến chíp mạnh như AT90S8515 và I2C EEPROM 24C256 hoặc lớn hơn.
Mục đích bài viết này của tôi là phân tích đến khả năng copy card thế hệ mới của Nagra được hay không. Ta trở lại lúc ban đầu là để có ảnh của ROM, EEProm của card Nagra thì ta phải có 1 cửa hậu dùng Backdoor key để mở. Cửa này trước kia được tạo ra để nhà cung cấp dịch vụ can thiệp sâu nhất đến tận người dùng. Do nó bị phát hiện ra bởi h**cker nên đã bị sửa dổi và loại bỏ trên loại card thế hệ mới. Các chức năng khác vẫn tương thích. Do đó sẽ không làm được mô phỏng loại card mới đó.
Để làm được việc thay đổi trên, nhà cung cấp dịch vụ bắt buộc phải thay toàn bộ số card cũ bằng card thế hệ mới. Việc này hoàn toàn có thể xảy ra trong thời gian sắp tới. Cuộc chiến sẽ lại tiếp tục giữa h**cker và nhà cung cấp dịch vụ.
Xin hết.
Billydragon xin trả lời bạn trên từng câu hỏi một với khả năng hiểu biết của mình như sau:
1. EEPROM (dữ liệu của nagra card) và ROM (chứa hệ điều hành như bác nói) có thể đọc được không (giống như đọc các chip nhớ EEPROM 24cx hay AT89Cx chẳng hạn) ?
- Nagra card cũng giống như các loại MCU (Micro controller Unit) khác. Gồm có bộ vi xử lý, ROM, RAM, FLASH hay I2C EEPROM. Do đó hoàn toàn có thể đọc được như các MCU khác. Smart card có mấy loại phổ biến là I2C card, ROM card, MCU card. Mỗi loại có hình thức giống nhau nhưng cách thức hoạt động khác nhau.
2. Back door Key: có phải là KEY bí mật mà khi nhập vào thì ta sẽ chuyển DVB Box sang một chế độ làm việc (mà nhà sản xuất Box đã thiết kế sẵn) mà ở đó ta có thể can thiệp sâu vào hệ thống của Box và có một số tính năng khác, vd như: đọc và hiển thị ra OSD của Box trị số và cấu trúc sơ sở dữ liệu của EEPROM của card Box ? (cụ thể là nó tựa tựa chức năng và chế độ service mà nhà sản xuất Box đã thiết kế sẵn, họ có thể chỉnh các thông số Hệ thống sau khi sản xuất theo các yêu cầu nào đó trước khi tung sản phẩm ra thị trường, sau khi sửa xong thì chức năng đó sẽ bị khoá lại bởi khoá cứng, khoá mềm hoặc cắt bỏ hoàn toàn).
- Back Door Key (BDK) đúng là key bí mật nhưng không phải để can thiệp đến đầu thu (Set Top Box – STB) mà là chỉ ảnh hưởng đến smartcarrd thôi. Không ai có thể can thiệp vào STB ngoại trừ nhà sản xuất STB. BDK chỉ cho phép nhà cung cấp dịch vụ can thiệp đến Smartcarrd mà họ cung cấp, thông qua các lệnh điều khiển truyền qua Air. Nhà sane xuất STB cũng dùng phương pháp Over Air để nâng cấp phần mềm hay can thiệp đến STB của chính mình, thông qua đài phát của nhà cung cấp, nhưng cũng không can thiệp đc vào smartcard nếu không có instruction.
3. Biến đổi Back Door Key (BDK) qua đường truyền phát (over air) truyền hình số nên: giả định tại thời điểm nhà cung cấp biến đổi Key thì ta có 2 box thu (một cái ta hay xem => EEPROM của nó biến đổi theo Back Door Key mới update của provider và một cái khác ta dấu ẻm đi kô xem cho đến khi thấy họ thay đổi BDK => BDK của bó vẫn là cái cũ); sau khi thay đổi ta sẽ đọc dữ liệu trong EEPROM của 2 card ra và đối chiếu để tìm và phân tích các sự khác biệt và từ đó lần mò ra được BDK ?
- Đúng như thế, nhưng có điều là khi truyền lệnh thay đỏi BDK, kể cả nhà cung cấp dịch vụ cũng phải có BDK cũ mới thay đc, trong trường hợp nếu ta tự thay BDK rồi thì nhà cung cấp cũng không thay nó được, chính vì vậy trước khi đút cái card của mình vào STb thì h**cker đã thay BDK mới, do đó nó không bị nhà cung cấp quản lý hay thay đc nữa, và tất nhiên như bạn đã nói trong mục 3. Còn để dò đc nó ra có lẽ mất rất nhiều thời gian (16 Bytes).
4. Bài đầu tiên bác nói là trong ROM là hệ điều hành ? E không biết cần hiểu là thế nào, tức là có thực trong ROM đó có nhúng Hệ Điều Hành (HĐH nhúng) không hay chỉ là software đứng một mình (stand alone) giống như các software load cho Vi Điều Khiển (họ 8051 chẳng hạn).
- Một số MCU dùng ROM, số Khác dùng FLASH ( như AT89C8051/2 hay AVR, PIC...) do đó khái niệm ROM cũng có nghĩa là software hay HĐH. Hệ điều hành thì hơi lớn hơn 1 chút vì quả thật để phát triện hệ thống smartcarrd thì hãng Thomson có triển khai realtime OS chó từng dòng họ Chip riêng của họ nên cũng có thể gọi nó là hệ điều hành. Cụ thể ở đây, tôi muốn nói đến ROM là toàn bộ thông tin ta có thể sờ đến để debug, deassembler... nó ra , thế thôi.
5. Việc bắt tay làm việc giữa card và đầu thu được cứng hoá đặc thù riêng với từng card như đã nói, => giả định card xịn của khách hàng bị hỏng thì đầu thu ấy cũng "xịt" luôn theo hay là có giải pháp khác ? (giải pháp khác thì sẽ rất khó triển khai).
- Thực ra không phải như ta nhìn ở khía cạnh bẻ khóa họ như bây giờ. Thực ra nhà cung cấp dịch vụ ( DREAM TV chảng hạn) không quan tâm đến BOXKEY, CAM ID hay BDK...
Họ mua hệ thống mã khóa của Nagra, đương nhiên là họ phải mua hệ thống managerment của Nagra, do đó việc quản lý của họ là Smartcard number (In trên card) và STB number (do nhà sản xuất cung cấp, nếu là hệ Nagra thì nhà sản xuất đó cũng phải mua bản quyền của Nagra, do đó STB Number cũng tương thích với hệ điều hành của Nagra, và dĩ nhiên là BOXkey cũng thể hiện qua STB serial number. Khi khách hàng mất thẻ, hỏng ... thì nhà cung cấp dich vụ sẽ cấp thẻ mới trên cơ sở STB serial number , hệ quản lý của Nagra sẽ tự tính toán bằng thư viện của mình. Giống như bạn mất máy điện thoại, đi mua SIM mới mà vẫn dùng số thuê bao cũ. Thâm trí nhà cung cấp dịch vụ không hè biết đến BDK, Boxkey hay đại loại thế.
6. Sự việc bị bẻ khoá có lẽ không phải là mới mẻ, và như bác nói ở Phillipin sau khi bị bẻ khoá họ có ý định sẽ thay thế hết thành card mới. Điều này xem ra là rất nghiêm trọng và có lẽ trong thương mại thì khó mà chấp nhận được, bởi vì giá thành và công sức triển khai xong việc thay thế thành card mới cho khách hàng là rất lớn; và nữa là giả sử số khách hàng rất lớn (vài chục nghìn) thì thời gian thay thế hoàn toàn cũng sẽ mất tới nhiều tháng, và trong thời gian đang triển khai ấy thì họ sẽ phát theo cái nào ? (cái Key và card cũ hay Key và card mới ? nếu phát ở loại này thì các box loại kia sẽ bị "teo"... => loạn mất) Và biết đâu chừng khi chưa kịp thay xong thì cái Key mới và giải pháp mới lại bị h**ck (bẻ khoá) mất rồi... tính kiểu ấy thì chết ! Uhhh, những nước có dùng khoá mã đã từng bị h**ck họ giải quyết thế nào ạ ?
Trên thực tế thì UBC (Thái Lan) có trên 600.000 khác hàng lúc bấy giờ mà họ đổi đét rẹt 1 cái là xong, Multichoice của Nam Phi có hơn 1,5 triệu khác hàng cũng đổi card trong vòng có 2 tháng. Hệ thống đại lý của họ là rất mạnh. Nhưng có 1 điều là DTH có rất nhiều giá và nhiều gói kênh khác nhau. Chỉ có thẻ copy mới xem đựoc tất cả chư khách hàng muốn xem đủ cả thì phải trả rất nhiều tiền, do đó họ sẽ đổi card cho những người thuê bao đặc biệt trước, sau đó cắt gói kênh đó đi, như vậy the copy sẽ mất dần kênh và cuối cùng là mất cả.
Xin các bạn cho ý kién góp ý.
(trích dẫn từ bác billydragon - Dvb.VN)