Mó húa DES và Triple DES

Một phần của tài liệu Xây dựng hệ thống bảo mật internet banking ngân hàng công thương ở Việt Nam (Trang 55)

Với sự gia tăng nhanh chúng sức mạnh xử lý của cỏc mỏy tớnh, việc tấn cụng khúa DES độ dài đơn hiện nay đó trở nờn đỏng sợ, là lý do để ngƣời ta chuyển sang sử dụng mó khúa DES cú độ dài gấp đụi (double length) hoặc gấp 3 độ dài khúa chuẩn (triple length). Hệ thống ANMC sử dụng cả khúa cú độ dài đơn, độ dài gấp đụi và độ dài gấp 3. Với khúa độ dài đơn thỡ ta chỉ cần thực hiện mó húa và giải mó đơn. Với khúa cú độ dài gấp đụi thỡ quỏ trỡnh mó húa đƣợc thực hiện bằng cỏch mó húa sử dụng phần thứ nhất của khúa (khúa thứ nhất), giải mó sử dụng khúa thứ hai, sau đú mó húa bằng khúa thứ nhất, quỏ trỡnh giải mó cú trỡnh tự ngƣợc lại. Nếu một mó khúa DES độ dài gấp 3 thỡ quỏ trỡnh mó húa đƣợc thực hiện bằng cỏch mó húa sử dụng khúa thứ nhất, giải mó sử dụng khúa thứ hai và mó húa sử dụng khúa thứ ba, quỏ trỡnh giải mó đƣợc thực hiện ngƣợc lại. Khi thực thi Triple DES, chế độ chuẩn ANSI X9.52 đƣợc ỏp dụng.

Bộ điều khiển hệ thống ANMC hoặc cỏc lệnh mỏy chủ sẽ nhận biết độ dài của khúa bằng việc xem xột ký tự đầu tiờn của khúa:

 Nếu ký tự đầu tiờn của khúa là ký tự số hexa (0-9 hoặc A-F) thỡ đú là ký tự đầu tiờn của khúa DES độ dài đơn.

 Nếu ZMK đƣợc đặt cấu hỡnh cú đội dài gấp đụi và với một số khúa xỏc định thỡ điều này cú nghĩa là đú là ký tự đầu tiờn của khúa DES cú độ dài gấp đụi.

 Nếu ký tự đầu tiờn là "K" hoặc "S" thỡ đú là chỉ số của ngƣời dựng để bảo mật kho dữ liệu và đú là một khúa DES độ dài đơn.

Tớnh tƣơng thớch lựi yờu cầu cỏc chế độ sau:

 Nếu ký tự đầu tiờn khụng phải là một ký tự Hexa hoặc "K" hoặc "S" thỡ đú là một thẻ (tag) lƣợc đồ khúa và định nghĩa độ dài khúa và lƣợc đồ mó húa sử dụng

khúa theo thẻ này. Thẻ lƣợc đồ khúa cú một cặp, một cho khúa DES độ dài gấp đụi và một cho khúa DES độ dài gấp 3. Khi một lƣợc đồ khúa đƣợc sử dụng thỡ khúa đƣợc mó phải là khúa LMK hoặc một khúa gấp đụi/gấp ba để import/export.

Hiện nay cú hai lƣợc đồ khúa đƣợc định nghĩa:  Phƣơng thức ANSI X9.17:

Mỗi khúa thành phần trong khúa độ dài gấp đụi hoặc khúa độ dài gấp 3 đƣợc mó húa độc lập sử dụng chế độ ECB của thuật mó húa. Lƣợc đồ này chỉ cú hiệu lực cho import và export cỏc khúa và phải đƣợc cho phộp thụng qua hàm CS-Cấu hỡnh bảo mật (Configure Security).

Cỏc thẻ cho lƣợc đồ này nhƣ sau: X- Khúa DES độ dài gấp đụi Y- Khúa DES độ dài gấp 3  Phƣơng thức biến số:

Mỗi khúa thành phần của một khúa DES độ dài gấp đụi hoặc gấp 3 đƣợc mó húa độc lập theo chế độ ECB của giải thuật mó húa. Với khúa thứ hai hoặc thứ ba, tuỳ vào độ dài khúa là gấp đụi hay gấp 3, biến số sẽ đƣợc ỏp dụng cho khúa mó húa. Cú 5 biến số cho phộp để mó húa mỗi khúa theo cỏc cỏch khỏc nhau. Lƣợc đồ này cú hiệu lực cho việc mó húa cỏc khúa bằng LMK và cho việc import, export cỏc khúa.

Cỏc thẻ cho lƣợc đồ này nhƣ sau: U – Cỏc khúa DES độ dài gấp đụi. T – Cỏc khúa DES độ dài gấp 3. Cỏc biến số đƣợc sử dụng:

Khúa độ dài gấp đụi Khúa thứ 1 – A6 Khúa thứ 2 – 5A Khúa độ dài gấp 3 Khúa thứ 1 – 6A Khúa thứ 2 – DE Khúa thứ 3 – 2B

Hệ thống ANMC đỏnh số cỏc khúa LMK từ 00 đến 99. LMK đƣợc dựng theo từng cặp và mỗi cặp cú chức năng riờng theo bảng ở trang bờn.

Cặp LMK Chức năng

00 - 01

Chứa hai mó khúa của thẻ thụng minh (Smartcard), là mật khẩu (Passwords) nếu hệ thống ANMC đƣợc đặt cấu hỡnh ở chế độ mật khẩu (Password mode), cần cho việc thiết lập hệ thống ANMC về trạng thỏi đó xỏc thực (Authorized).

02 - 03 Mó húa số PIN trong kho mỏy chủ.

04 - 05 Mó húa khúa ZMK và khúa ZMK cú độ dài gấp đụi. Mó húa thành phần ZMK với một biến số Variant. 06 - 07 Mó húa ZPK cho cỏc giao dịch trao đổi.

08 - 09 Dành cho việc sinh số ngẫu nhiờn.

10 - 11 Sử dụng cho khúa mó húa trong vựng đệm hệ thống ANMC. 12 - 13 Tập khởi tạo cỏc giỏ trị bớ mật (Secret Values) đƣợc tạo bởi ngƣời

dựng, đƣợc sử dụng để sinh ra tất cả cỏc cặp khúa chủ khỏc. 14 - 15 Mó húa cỏc khúa TMK, TPK và PVK.

Mó húa CVK với một biến số Variant. 16 - 17 Mó húa TAK.

18 - 19 Mó húa số tham chiếu cho cỏc gúi thƣ.

20 - 21 Mó húa „not on us‟ PVK và CVK với biến số Variant. 22 - 23 Mó húa cỏc khúa Watchword.

24 - 25 Mó húa cỏc khúa Transport.

26 - 27 Mó húa cỏc khúa xỏc thực vựng (Zone Authentication Keys). 28 - 29 Mó húa cỏc khúa đƣờng dẫn trạm (Terminal Derivation Keys). 30 - 31 Mó húa cỏc khúa mó húa vựng (Zone Encryption Keys). 32 - 33 Mó húa cỏc khúa mó húa trạm (Terminal Encryption Keys). 34 - 35 Mó húa cỏc khúa RSA.

36 - 99 Dự phũng sử dụng trong tƣơng lai.

Cỏc biến số LMK

Cỏc biến số (Variant) của LMK trong hệ thống ANMC đƣợc sử dụng để mó húa cỏc khúa đó định nghĩa hoặc cỏc thành phần của khúa. Cỏc biến số đƣợc tớnh nhƣ sau:

1. Chọn một cặp khúa LMK, vớ dụ:

0123 4567 89AB CDEF 3131 3131 3131 3131.

2. Xỏc định xem biến số nào của khúa LMK đƣợc yờu cầu và chọn giỏ trị offset tƣơng ứng:

Biến số 2: 5A.

3. Thực hiện phộp OR-loại trừ cộng số offset đó chọn vào byte đầu tiờn của cặp khúa LMK (trờn vớ dụ trờn là 01).

4. Thay byte bờn trỏi nhất của cặp khúa LMK bằng kết quả của bƣớc 3 và sử dụng khúa kết quả nhƣ một biến số xỏc định.

Biến số 2 = 5B23 4567 89AB CDEF 3131 3131 3131 3131. Cú cỏc biến số nhƣ sau: Biến số 1 : A6 Biến số 2 : 5A Biến số 3 : 6A Biến số 4 : DE Biến số 5 : 2B Biến số 6 : 50 Biến số 7 : 74 Biến số 8 : 9C

Khi cỏc biến số đó đƣợc ỏp dụng trong tập chuẩn kiểm tra LMK, tập cỏc byte bờn trỏi nhất sẽ nhƣ sau:

Cặp Byte đầu tiờn của LMK

LMK 1 2 3 4 5 6 7 8 00-01 A7 5B 6B DF 2A 51 75 9D 02-03 86 7A 4A FE 0B 70 54 BC 04-05 E6 1A 2A 9E 6B 10 34 DC 06-07 C7 3B 0B BF 4A 31 15 FD 08-09 26 DA EA 5E AB D0 F4 1C 10-11 07 FB CB 7F 8A F1 D5 3D 12-13 67 9B AB 1F EA 91 B5 5D 14-15 46 BA 8A 3E CB B0 94 7C 16-17 BA 46 76 C2 37 4C 68 80 18-19 A7 5B 6B DF 2A 51 75 9D 20-21 A4 58 68 DC 29 52 76 9E 22-23 A1 5D 6D D9 2C 57 73 9B 24-25 B5 49 79 CD 38 43 67 8F 26-27 B0 4C 7C C8 3D 46 62 8A 28-29 BC 40 70 C4 31 4A 6E 86 30-31 85 79 49 FD 08 73 57 BF 32-33 80 7C 4C F8 0D 76 52 BA 34-35 8C 70 40 F4 01 7A 5E B6 36-37 89 75 45 F1 04 7F 5B B3 38-39 A7 5B 6B DF 2A 51 75 9D

Lƣợc đồ biến số LMK Triple DES

Biến số đƣợc ỏp dụng cho LMK trong hệ thống ANMC để mó húa cỏc khúa cố độ dài gấp đụi hoặc gấp 3 lần độ dài khúa chuẩn. Cỏc biến số đƣợc tớnh nhƣ sau:

1. Chọn một cặp khúa LMK, cũng lấy vớ dụ là: 0123 4567 89AB CDEF 3131 3131 3131 3131.

2. Xỏc định xem biến số nào của khúa LMK đƣợc yờu cầu và chọn giỏ trị offset tƣơng ứng:

Biến số 2: A6.

3. Thực hiện phộp OR-loại trừ cộng số offset đó chọn vào byte đầu tiờn của khúa thứ hai trong cặp khúa LMK (trờn vớ dụ trờn là 31).

4. Thay byte bờn trỏi nhất của khúa thứ hai trong cặp khúa LMK bằng kết quả của bƣớc 3 và sử dụng khúa kết quả nhƣ một biến số xỏc định.

Biến số 2 = 0123 4567 89AB CDEF 9731 3131 3131 3131. Cỏc biến số đƣợc ỏp dụng là:

Khúa độ dài gấp đụi: Khúa thứ 1 – A6 Khúa thứ 2 – 5A Khúa độ dài gấp 3: Khúa thứ 1 – 6A Khúa thứ 2 – DE Khúa thứ 3 – 2B

Khi cỏc biến số đó đƣợc ỏp dụng cho tập kiểm tra chuẩn LMK thỡ byte đầu tiờn của khúa thứ hai sẽ cú giỏ trị nhƣ sau:

Byte đầu tiờn trong khúa thứ hai của LMK Cặp Khúa độ dài gấp đụi Khúa độ dài gấp 3 LMK Thẻ lƣợc đồ là “U” Thẻ lƣợc đồ là “T”

Khúa thứ 1 Khúa thứ 2 Khúa thứ 1 Khúa thứ 2 Khúa thứ 3

04 - 05 F7 0B 3B 8F 7A 06 – 07 D6 2A 1A AE 5B 14 – 15 57 AB 9B 2F DA 16 – 17 A7 5B 6B DF 2A 18 - 19 A7 5B 6B DF 2A 20 – 21 42 5E 6E DA 2F 22 - 23 B6 4A 7A CE 3B 24 – 25 B3 4F 7F CB 3E 26 – 27 BF 43 73 C7 32 28 –29 BA 46 76 C2 37 30 - 31 83 7F 4C FB 0E 32 – 33 8F 73 43 F7 02 34 - 35 8A 76 46 F2 07 35 – 37 97 6B 5B EF 1A 38 - 39 A7 5B 6B DF 2A

Một phần của tài liệu Xây dựng hệ thống bảo mật internet banking ngân hàng công thương ở Việt Nam (Trang 55)