Tiêu chuẩn quốc gia TCVN 7817-3:2007 (ISO/IEC 11770-3 : 1999) về Công nghệ thông tin - Kỹ thuật mật mã quản lý khoá - Phần 3: Các cơ chế sử dụng kỹ thuật không đối xứng
Tiêu chuẩn quốc gia TCVN 7817-3:2007 (ISO/IEC 11770-3 : 1999) về Công nghệ thông tin - Kỹ thuật mật mã quản lý khoá - Phần 3: Các cơ chế sử dụng kỹ thuật không đối xứng
Số hiệu: | TCVN7817-3:2007 | Loại văn bản: | Tiêu chuẩn Việt Nam |
Nơi ban hành: | *** | Người ký: | *** |
Ngày ban hành: | 01/01/2007 | Ngày hiệu lực: | Đã biết |
Ngày công báo: | Đang cập nhật | Số công báo: | Đang cập nhật |
Tình trạng: | Đã biết |
Số hiệu: | TCVN7817-3:2007 |
Loại văn bản: | Tiêu chuẩn Việt Nam |
Nơi ban hành: | *** |
Người ký: | *** |
Ngày ban hành: | 01/01/2007 |
Ngày hiệu lực: | Đã biết |
Ngày công báo: | Đang cập nhật |
Số công báo: | Đang cập nhật |
Tình trạng: | Đã biết |
A |
Cơ chế cung cấp tính chất liên quan đến thực thể A. |
A,B |
Cơ chế cung cấp tính chất liên quan đến cả thực thể A và thực thể B. |
Không |
Cơ chế không cung cấp tính chất này. |
opt |
Cơ chế có thể cung cấp tính chất như một sự tùy chọn nếu có sử dụng các công cụ bổ sung. |
(A) |
Cơ chế có thể tùy ý cung cấp tính chất liên quan đến thực thể A nếu sử dụng các công cụ tùy chọn. |
Số thao tác khóa công khai: Là số lượng phép tính toán khi thực hiện phép biến đổi phi đối xứng. Ví dụ "2,1" có nghĩa là thực thể A cần 2 phép tính toán đối với hàm F và thực thể B cần 1 phép tính toán đối với hàm F trong cơ chế thỏa thuận khóa 2.
Các tính chất của các Cơ chế thỏa thuận khóa:
Cơ chế
1
2
3
4
5
6
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Số lần truyền
0
1
1
2
2
2
2
Xác thực khóa ẩn
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B
A,B
Không
A,B
A,B
A,B
Xác nhận khóa
Không
Không
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Không
opt
opt
A,B
Xác thực thực thể
Không
Không
(A)
Không
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B
A,B
Số thao tác khóa công khai
1,1
2,1
3(2),2
2,2
2,2
2,2
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Các tính chất của các cơ chế vận chuyển khóa:
Cơ chế
1
2
3
4
5
6
Số lần truyền
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1
1
2
3
3
Xác thực khóa ẩn
B
B
B
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
A,B
A,B
Xác nhận khóa
Không
B
B
A
(A),B
A,B
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
A
A
A
B
A đáp B
(A),B
Xác thực thực thể
Không
(A)
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B
A,B
A,B
Số thao tác khóa công khai
1,1
2,2
2,2
4,4
4,4
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
(tham khảo)
Một số ví dụ về các cơ chế thiết lập khóa
Thông tin cung cấp ở phụ lục này đưa ra các ví dụ về các cơ chế thiết lập khóa đã mô tả trong các phần trước của tiêu chuẩn này.
Trước hết, chúng ta lấy một ví dụ về hàm F, cùng với các tập G và H thỏa mãn 5 tính chất đã liệt kê ở trên, các tham số được chọn một cách thích hợp.
Cho p là một số nguyên tố lớn, G là tập các phần tử của trường Galois có p phần tử ký hiệu là Fp, và tập H = {1,…,p-2}. Cho g là phần tử nguyên thủy của Fp. Thiết lập hàm F như sau:
F(h,g) = gh mod p
Hàm F có tính chất giao hoàn với đối số là h như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Số nguyên tố p phải đủ lớn để F(.,g) có thể được coi là hàm một chiều. Cho thực thể X có khóa riêng là hX thuộc H, khóa riêng này chỉ được biết bởi X, và một khóa công khai là pX = ghX mod p được biết bởi tất cả các thực thể.
CHÚ THÍCH: Các chú thích khi lựa chọn tham số:
- Đối với nguyên tố là module logarithm rời rạc: Kích cỡ của số nguyên tố nên được chọn sao cho việc tính logarithm rời rạc trong nhóm cyclic là không thể thực hiện. Một vài điều kiện khác về số nguyên tố lớn có thể được áp đặt để làm cho việc tính logarithm rời rạc là không thể.
- Khuyến cáo để chọn p là số nguyên tố mạnh sao cho p -1 có thừa số là một số nguyên tố lớn hoặc chọn g là một phần tử sinh của một nhóm có bậc nguyên tố lớn q.
- Đối với hợp số là module logarithm rời rạc: nên chọn modulus được tạo từ hai số nguyên tố lẻ khác nhau và chúng được giữ bí mật. Kích cỡ của số nguyên tố nên được chọn sao cho việc phân tích modulus là không thể tính toán được. Một vài điều kiện khác về chọn các số nguyên tố có thể được áp đặt để làm cho việc phân tích modulo là không thể về mặt tính toán.
B.1 Lược đồ thỏa thuận khóa Diffie-Hellman không tương tác
Đây là một ví dụ về Cơ chế thỏa thuận khóa 1.
Kiến thiết khóa (A1): Thực thể A sử dụng khóa riêng hA của mình và khóa công khai pB của B để tính toán ra khóa bí mật dùng chung:
KAB = pBhA mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KAB = pAhB mod p
B.2 Cơ chế dựa trên sự định danh
Đây là một ví dụ về Cơ chế thỏa thuận khóa 1, cơ chế này dựa trên các tiêu chí sau:
- Khóa công khai của một thực thể có thể được nhận từ sự kết hợp giữa định danh và chứng chỉ.
- Tổ chức chứng thực (CA) không tiến hành kiểm tra trực tiếp nhưng chỉ có CA mới có thể phục hồi được một khóa công khai hợp lệ.
Cho (n,y) là khóa kiểm tra công khai của CA trong cơ chế chữ ký số có phục hồi thông điệp ở Phụ lục A của ISO/IEC 9796. Do n được tạo ra từ hai số nguyên tố p và q và được giữ bí mật bởi CA nên y là số nguyên tố cùng nhau với lcm(p-1,q-1).
Lấy O là một số nguyên lớn theo module n và g = Oy mod n.
Lấy lx là kết quả của phép dư bổ sung (đặc tả ở ISO/IEC 9796) của thông tin công khai trên thực thể X có chứa ít nhất một định danh riêng biệt của X và có thể thêm một số serial, thời gian hiệu lực, tem thời gian và một số phần tử dữ liệu khác. Khi đó cặp quản lý khóa của X là (hx,px) trong đó hX là số nguyên nhỏ hơn n và:
px = ghx (mod p).
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Certx = sxOhx (mod n).
Trong đó sx là một số nguyên sao cho:
sxylx = 1(mod n).
Kiến thiết khóa (A1): A tính toán khóa công khai của B như sau:
PB = CertBy.lB mod n
Và tính giá trị khóa bí mật dùng chung như sau:
KAB = PBhA = ghAhB mod n
Kiến thiết khóa (B)1: B tính toán khóa công khai của A như sau:
PA = CertAy.lA mod n
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KAB = PAhB = ghAhB mod n
CHÚ THÍCH: Cơ chế dựa trên định danh trước một lần truyền hoặc hai lần truyền sử dụng cùng một cách cài đặt mô tả ở tài liệu tham khảo [8], [19] của Phụ lục D (Tài liệu tham khảo).
B.3 Thỏa thuận khóa Elgamal
Đây là ví dụ về Cơ chế thỏa thuận khóa 2.
Cần kiểm tra rằng p là một số nguyên tố mạnh sao cho p -1 có thừa số là một nguyên tố lớn và các lũy thừa thì không có dạng 0, +1, -1 mod p.
Kiến thiết thẻ khóa (A1): Thực thể A sinh ngẫu nhiên và bí mật giá trị r thuộc {1,…,p -2}, tính gr mod p và tạo một thẻ khóa KTA1 gửi tới B:
KTA1 = gr mod p
Kiến thiết khóa (A2): Tiếp đến, A tính khóa bí mật chia sẻ:
KTAB = (pB)r mod p = ghBr mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KTAB = (gr)hB = ghBr mod p
B.4 Thỏa thuận khóa Nyberg-Rueppel
Đây là ví dụ về Cơ chế thỏa thuận khóa 3. Hệ chữ ký và hệ thỏa thuận khóa được chọn theo cách sao cho hệ chữ ký được xác định bởi các khóa (hx,px).
Cho q là ước nguyên tố lớn của p-1, g là một phần tử thuộc Fp có bậc là q và tập H = {1,…,q-1}. Cặp khóa phi đối xứng của X được sử dụng cho quá trình trao đổi khóa và ký là (hx,px), trong đó hx là một phần tử thuộc H và px = ghx (mod p).
Nhằm ngăn chặn việc sử dụng lặp lại các thẻ khóa cũ, thí dụ này sẽ sử dụng một tem thời gian hoặc một số seri TVP và một hàm băm mật mã hash, nó ánh xạ các chuỗi bit có độ dài bất kỳ vào các số nguyên ngẫu nhiên trong một tập lớn của {1,…,p-1}, ví dụ, trong H.
Kiến thiết khóa (A1.1): Đầu tiên, thực thể A sinh ngẫu nhiên và bí mật r thuộc H và tính
e = gr mod p
Tiếp đó, A tính khóa bí mật dùng chung là:
KTAB = (pB)r mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
e' = e. hash (KAB || A || TVP) mod p
Chữ ký thẻ khóa (A1.2): A tính toán chữ ký của thẻ khóa:
y = r - hAe' mod q
Cuối cùng, A tạo thẻ khóa KTA1 và gửi tới B:
KTA1 = A || e || TVP || y
Kiến thiết khóa (B1.1): Thực thể B tính khóa bí mật dùng chung sử dụng khóa riêng dùng để thỏa thuận khóa hB như sau:
KTAB = ehB mod p
Bằng cách sử dụng khóa bí mật dùng chung KAB vừa tính được, B tính giá trị kiểm tra mật mã trên trên định danh phân biệt của người gửi A và TVP rồi tính:
e' = e. hash (KAB || A || TVP) mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
e = gypAe mod p
B.5 Thỏa thuận khóa Diffie-Hellman
Đây là ví dụ về cơ chế thỏa thuận khóa 4.
Cần kiểm tra rằng p là một số nguyên tố mạnh sao cho p-1 có thừa số là một nguyên tố lớn và các lũy thừa không có dạng 0, +1, -1 mod p.
Kiến thiết thẻ khóa (A1): Thực thể A sinh ngẫu nhiên và bí mật giá trị rA thuộc {1,…,p-2}, tính grA mod p rồi tạo ra thẻ khóa KTA1 và gửi tới B:
KTA1 = grA mod p
Kiến thiết thẻ khóa (B1): Thực thể B sinh ngẫu nhiên và bí mật giá trị rB thuộc {1,…,p-2}, tính grB mod p rồi tạo ra thẻ khóa KTB1 gửi tới A:
KTB1 = grB mod p
Kiến thiết khóa (A2): Thực thể A tính khóa bí mật dùng chung:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiến thiết khóa (B2): Thực thể B tính khóa bí mật dùng chung:
KAB = (grA)rB mod p= grArB mod p
B.6 Lược đồ thỏa thuận khóa Matsumoto-Takashima-Imai A(0)
Đây là ví dụ về Cơ chế thỏa thuận khóa 5.
Cho p là một số nguyên tố an toàn và kiểm tra rằng các lũy thừa không có dạng 0, +1, -1 mod p.
Kiết thiết thẻ khóa (A1): Thực thể A sinh ngẫu nhiên và bí mật giá trị rA thuộc {1,…,p-2}, tính thẻ khóa KTA1 và gửi tới B:
KTA1 = grA mod p
Kiến thiết thẻ khóa (B1): Thực thể B sinh ngẫu nhiên và bí mật giá trị rB thuộc {1,…,p-2}, tính thẻ khóa KTB1 và gửi tới A:
KTB1 = grB mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KAB = w(KTA1hB,pArB) = KTA1hBpArB mod p
Kiến thiết khóa (A2): Thực thể A tính khóa bí mật dùng chung:
KAB = w(pBrA,KTA1hA) = KTA1hBpArB mod p
B.7 Giao thức Beller-Yacobi
Phần phụ lục này mô tả về giao thức Beller-Yacobi gốc được dùng để minh họa cho Cơ chế thỏa thuận khóa 6.
CHÚ Ý: Lược đồ này không tương thích hoàn toàn với cơ chế thỏa thuận khóa 6 bởi vì nó được tối ưu cho các tình huống đặc biệt. Cụ thể, nó sử dụng cơ chế chữ ký EIGamal và sử dụng thêm thuật toán mã hóa đối xứng để chuyển khóa kiểm tra chữ ký của B và chứng chỉ số của B tới A trong một cách tin cậy, bảo đảm tính ẩn danh (anonymity) của B.
Cho enc: K x M ® C là một hàm mã hóa kinh điển, ví dụ như DES, trong đó K là không gian khóa, M là không gian thông báo,và C là không gian mã.
Giả sử Sx ký hiệu phép toán chữ ký EIGamal của thực thể X. Quá trình ký được mô tả dưới đây nhấn mạnh sự khác biệt giữa 2 thao tác trực tuyến (on-line) và không trực tuyến (off-line) được yêu cầu trong họ EIGamal của các cơ chế chữ ký.
Chúng ta sử dụng Px và Cx để ký hiệu khóa công khai và chứng chỉ số của thực thể X. Phép mã hóa khóa công khai của thực thể X (sử dụng khóa Px) được ký hiệu là EX (bình phương module trong trường hợp của Rabin).
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
u = grB mod p
Kiến thiết thẻ khóa (A1): A chọn một số ngẫu nhiên rA và tính KTA1 rồi gửi tới B:
KTA1 = (rA || A || CA)
Xử lý thẻ khóa (B1): B tạo chữ ký số
BS = (u,v) = SB(rA || A)
Sau đó chọn một giá trị ngẫu nhiên XB và tạo KTB1 rồi gửi tới A:
KTB1 = EA(BS) enc (u,(B || PB || CB || xB))
Kiến thiết khóa (B2): Khóa bí mật dùng chung chính là phần chữ ký của B, u.
Kiến thiết khóa và xác thực thực thể (A2): A giải mã thẻ khóa EA(BS) để tìm khóa phiên u, sau đó sử dụng hàm mã đối xứng enc để giải mã
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
bằng cách sử dụng khóa phiên u để lấy các thành phần: định danh B, khóa công khai PB của B, chứng chỉ số CB của B. A kiểm tra chứng chỉ CB và thành công thì sau đó nó sử dụng hàm kiểm tra VB để kiểm tra chữ ký BS của B. Nếu quá trình kiểm tra thành công thì A chấp nhận u là khóa bí mật dùng chung.
B.8 Vận chuyển khóa EIGamal
Phần này là một ví dụ về Cơ chế vận chuyển khóa 1.
Một số nguyên tố thích hợp p và bộ tạo g trên trương ZP được lựa chọn và đưa ra công khai. Các khóa dùng để thỏa thuận khóa công khai và bí mật của B lần lượt là, hB và
PB = ghB mod p
Kiến thiết thẻ khóa (A1): A có một khóa K (trong đó 0 < K < p) và muốn truyền an toàn sang cho B. Trước hết, A tạo ngẫu nhiên và bí mật một số nguyên r, 1 < r < p-1 và mã hóa K như sau:
BE = K (pB)r mod p
Tiếp đó A tạo ra thẻ khóa:
KTA1 = BE || gr mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Tái thiết thẻ khóa (B1): B phục hồi khóa K sử dụng khóa để thỏa thuận khóa bí mật hB bằng cách tính:
K = BE. (gr)hB mod p
B.9 Vận chuyển khóa EIGamal có chữ ký của bên gửi
Đây là ví dụ về Cơ chế vận chuyển khóa 2.
Một số nguyên tố thích hợp p và bộ tạo g thuộc ZP được lựa chọn và công bố công khai. Các khóa dùng để thỏa thuận khóa công khai tương ứng của B là hB và:
pB = ghB mod p
Các phép biến đổi ký công khai và bí mật của A tương ứng ký hiệu là SA và VA, (SA,VA) có thể được thể hiện ở bất cứ hệ chữ ký nào như chữ ký RSA còn việc kiểm tra chữ ký được đưa ra trong ISO/IEC 9796.
Mã hóa khóa (A1.1): A có một khóa K và muốn gửi nó theo cách an toàn đến B. Trước tiên A tạo ngẫu nhiên và bí mật một số nguyên r trong khoảng (1,…,p-2) sau đó mã hóa khối dữ liệu khóa A || K như sau:
BE = (A || K) (pB)r mod p
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiến thiết thẻ khóa (A1.2): A tạo ra một khối dữ liệu khóa bao gồm định danh riêng biệt của bên nhận, có thể có tem thời gian hoặc một số tuần tự TVP, gr và khối đã mã hóa BE. Tiếp đó A ký khối dữ liệu khóa bằng phép ký bí mật SA của mình rồi gửi sang cho B:
KTA1 = SA (B || TVP || gr || BE)
Kiểm tra thẻ khóa (B1.1): B sử dụng phép kiểm tra công khai của bên gửi VA để kiểm tra chữ ký số của thẻ khóa KTA1 nhận được. Tiếp đó B kiểm tra định danh bên nhận B và trường tùy chọn TVP.
Giải mã khóa (B1.2): B tiến hành giải mã khối BE sử dụng khóa để thỏa thuận khóa bí mật hB của nó bằng cách tính:
A || K = BE (gr)hB mod p
Tiếp đó B kiểm tra đinịh danh của bên gửi A. Nếu tất cả kiểm tra đều thỏa mãn thì B chấp nhận khóa K.
B.10 Vận chuyển khóa theo RSA
Đây là ví dụ về Cơ chế vận chuyển khóa 1.
Hệ mật phi đối xứng của B bao gồm một module RSA n = pq, thành phần công khai e và thành phần bí mật d sao cho ed = 1 mod (p-1)(q-1). Giả sử rằng có một bản sao tin cậy của các tham số hệ mật (e,n) của B.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KTA1 = EB (A || K) = (A || K)r mod n
Tái thiết thẻ khóa (B1): B nhận được khối khóa và tính toán:
(KTA1)d mod n = (A || K)
Bên nhận B có thể phân tách thông điệp từ một thông điệp ngẫu nhiên bằng các kiểm tra một điều kiện bù trong nội dung thông điệp A || K.
Giả sử rằng định danh A trong thông điệp phục hồi này có một số giá trị bù có thể dùng để kiểm tra hoặc định dạng mong muốn thì B sẽ kiểm tra xem định danh phục hồi được A có đúng với định dạng mong muốn hay không và chấp nhận thông điệp này chỉ khi các kiểm tra thỏa mãn.
(tham khảo)
Ví dụ về các cơ chế thiết lập khóa dựa trên đường cong elliptic
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Cơ sở toán học của đường cong elliptic:
Một đường cong elliptic E là một đường cong bậc ba thông thường trên một trường K. Một đường cong elliptic có thể được mô tả theo một tập nghiệm (x,y) (với x,y Î K) của phương trình:
Y2 = X3 + aX + b
với một điểm mở rộng q là vô cùng.
Các đường cong elliptic có khả năng thực hiện như một phép toán nhị phân: E ÿ E ® E, ánh xạ mỗi cặp (P1,P2) của một điểm trên E vào điểm thứ ba P1 · P2. Với phép toán này thì E là một nhóm abelian với phần tử trung hòa q.
Cho P là một điểm nào đó trên đường cong E, tạo ra nhóm <P> có lực lượng hữu hạn q với phép toán của nhóm "·". Khi đó, mỗi phần tử thuộc <P> là một lũy thừa P[k] nào đó của P, trong đó P[k] là tích k lần (P · P · P · …·P).
Phép mũ rời rạc F(.,P) trên <P> được định nghĩa như sau:
F(k,P) = P[k] với k Î {1,…,q-1}
Chú thích đến giá trị tùy ý h với k Î {1,…,q-1} trong đẳng thức:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Trong đó nhóm <P> được tạo ra bởi P là một nhóm abelian.
Mặt khác, cho một điểm tùy ý Q nào đó Î <P> thì số xác định duy nhất x Î {1,…,q-1} với Q = P[x] được coi như là logarithm rời rạc của Q dựa trên P.
Tầm quan trọng mật mã của đường cong elliptic bắt nguồn từ việc khó đoán biết để xác định được logarit rời rạc trên đường cong dựa trên trường hữu hạn. Với hiểu biết hiện nay, điều này còn khó hơn việc phân tích các số nguyên hoặc tính logarit rời rạc trên trường GF(p). Điều này tạo nên khả năng thực thi một hệ thống khóa công khai dựa trên đường cong elliptic với số lượng tham số nhỏ hơn nhiều so với các hệ thống khóa công khai trước đây.
Ký hiệu:
Các khái niệm trên dẫn đến cần làm rõ một số ký hiệu sử dụng trong phụ lục này. Sau đây là giải thích một số ký hiệu:
K là một trường hữu hạn có đúng pn phần tử, trong đó p là một số nguyên tố lớn hơn 3, n là một số nguyên dương
E là một đường cong elliptic trên K và P là một điểm trên E tạo nên một nhóm <P> của phần tử q. Giả sử rằng q là một số nguyên tố và tập H = {1,…,q-1}.
Mỗi thực thể X có một khóa bí mật hx thuộc H chỉ được biết bởi X và một khóa công khai PX = G{hX} được biết bởi tất cả các thực thể khác.
Chú thích rằng các khóa bí mật chỉ là các số nguyên thông thường, ngược lại các khóa công khai là các điểm trên một đường cong. Điều này nói lên rằng hệ thống khóa công khai xây dựng dựa trên các logarit rời rạc theo modulo của một số nguyên tố, trong đó cả khóa bí mật và khóa công khai là đối tượng của cùng một kiểu. Có sự khác nhau giữa hai kiểu khóa trong một đường cong, đó là lý do tại sao phải đưa ra một hàm bổ sung ánh xạ các điểm thuộc <P> vào các số nguyên thuộc H, đây tương tự như một bản dịch chuyển các giao thức ở Phụ lục B sang dạng sử dụng đường cong elliptic.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
k ® P[k] ® p(P[k])
là hàm một chiều.
CHÚ THÍCH:
1. Tham số chủ yếu về an toàn của hệ khóa công khai dựa trên đường cong elliptic là kích cỡ của số nguyên tố q. Số nguyên q phải đủ lớn sao cho F(.,P) có thể được xem như là hàm một chiều. Với các thuật toán được biết hiện nay, F(.,P) được coi là hàm một chiều nếu q có kích cỡ q > 2160.
2. Không giống như các hệ thống thuật toán ligarit rời rạc dựa trên GF(p) (như DSA), có thể chọn các tham số q và pn xấp xỉ bằng nhau.
3. Có một vài điều kiện đối với p và q (chẳng hạn p ¹ q) và các tham số đường cong a và b phải được lựa chọn sao cho không có khả năng tính toán được các logarit rời rạc trên đường cong elliptic.
4. Có rất nhiều khả năng tạo ra p, phương pháp đơn giản là chiếu các điểm trên <P> lên trục tọa độ và "đọc" phần tử trường này như là một số nguyên theo mod q.
C.1 Thỏa thuận khóa không tương tác kiểu Diffie-Hellman
Đây là một ví dụ về Cơ chế thỏa thuận khóa 1.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KAB = (PB)[hA].
Kiến thiết khóa (B1): B tính một khóa bí mật dùng chung bằng cách sử dụng khóa dùng để thỏa thuận khóa bí mật hB của nó và khóa dùng để thỏa thuận khóa công khai PA của A như sau:
KAB = (PA)[hB].
C.2 Thỏa thuận khóa kiểu EIGamal
Đây là ví dụ về Cơ chế thỏa thuận khóa 2.
Kiến thiết thẻ khóa (A1): A tạo ngẫu nhiên và bí mật một giá trị r thuộc H và tính thẻ khóa như sau:
KTA1 = (P)[r].
rồi gửi nó cho B.
Kiến thiết khóa (A2): A tính một khóa bí mật dùng chung như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiến thiết khóa (B2): B sử dụng khóa bí mật của mình để tính toán một khóa bí mật dùng chung như sau:
KAB = (KTA1)[hB] = (P[r])[hB] = (P)[r.hB]
C.3 Thỏa thuận khóa theo Nyberg-Rueppel
Đây là ví dụ về Cơ chế thỏa thuận khóa 3.
Giao thức được sử dụng không phải là bản sao chép dạng 1-1 của giao thức ở phần B.3 nhưng dựa trên ý tưởng cơ bản của B.3.
Một hệ chữ ký và một hệ thỏa thuận khóa được chọn sao cho hệ chữ ký được xác định bởi các khóa (hx,Px).
Để ngăn ngừa việc dùng lại các thẻ khóa cũ thì ví dụ này sử dụng một tem thời gian hoặc một số tuần tự TVP và một hàm băm mã hash, chẳng hạn như có sự ánh xạ từ chuỗi bít có độ dài tùy ý đến các số nguyên thuộc H.
Kiến thiết khóa (A1.1): A tạo ngẫu nhiên và bí mật giá trị r thuộc H và tính:
R = P[r]
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KAB = (PB)[r]
A sử dụng khóa bí mật dùng chung này và tính giá trị kiểm tra mật mã tại điểm R, định danh riêng biệt của người gửi A và số tuần tự hoặc tem thời gian TVP:
e = hash(R || KAB || A || TVP)
Ký thẻ khóa (A1.2): A tính chữ ký như sau:
KTA = (R || A || TVP || y)
Và gửi nó cho B.
Kiến thiết khóa (B1.1): B tính khóa bí mật dùng chung sử dụng khóa để thỏa thuận khóa bí mật hB của mình như sau:
KAB = R[hB]
B lại sử dụng khóa bí mật dùng chung bí mật này để tính giá trị kiểm tra mật mã đối với định danh riêng biệt của bên gửi A và giá trị TVP như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiểm tra chữ ký (B1.2): B kiểm tra tính hợp lệ của TVP và sử dụng khóa công khai của bên gửi PA để kiểm tra sự bằng nhau:
R = P[y].(PA)[e].
C.4 Thỏa thuận khóa theo kiểu Diffie-Hellman
Phần này là ví dụ về Cơ chế thỏa thuận khóa 4.
Kiến thiết thẻ khóa (A1): Thực thể A sinh ngẫu nhiên và bí mật giá trị rA thuộc H, tính thẻ khóa KTA1 và gửi tới B:
KTA1 = P[rA]
Kiến thiết thẻ khóa (B1): Thực thể B sinh ngẫu nhiên và bí mật giá trị rB thuộc H, tính thẻ khóa KTB1 gửi tới A:
KTB1 = P[rB]
Kiến thiết khóa (A2): Thực thể A tính khóa bí mật dùng chung:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiến thiết khóa (B2): Thực thể B tính khóa bí mật dùng chung:
KTAB = (P[rA])[rB] = P[rA][rB]
C.5 Thỏa thuận khóa theo kiểu Matsumoto-Takashima A(0)
Đây là ví dụ về Cơ chế thỏa thuận khóa 5.
Kiến thiết thẻ khóa (A1): Thực thể A sinh ngẫu nhiên và bí mật giá trị rA thuộc H, tính thẻ khóa KTA1 và gửi tới B:
KTA1 = P[rA]
Kiến thiết thẻ khóa (B1): Thực thể B sinh ngẫu nhiên và bí mật giá trị rB thuộc H, tính thẻ khóa KTB1 và gửi tới A:
KTB1 = P[rB]
Kiến thiết khóa (B2): Thực thể B tính khóa bí mật dùng chung:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Trong đó w là hàm một chiều.
Kiến thiết khóa (A2): Thực thể A tính khóa bí mật dùng chung:
KTAB = w(KTB1[hA].PB[rA]).
C.6 Vận chuyển khóa theo kiểu EIGamal
Phần này là một ví dụ về Cơ chế vận chuyển khóa 1.
Kiến thiết thẻ khóa (A1): A có một khóa K Î H và muốn truyền an toàn sang cho B. Trước hết, A tạo ngẫu nhiên và bí mật một số nguyên r Î H và tính một điểm trên đường cong P[r] rồi mã hóa khóa K như sau:
BE = (K. p((pB)[r]))mod q
Tiếp đó A tạo ra thẻ khóa:
KTA1 = BE || (pB)[r])
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Tái thiết thẻ khóa (B1): Để phục hồi khóa K, thực thể B xác định điểm trên đường cong P[r] sử dụng khóa để thỏa thuận khóa bí mật hB bằng cách tính: (pB)[r] = (pB[r])[hB] và bước tiếp đến là tìm ra: p((pB)[r])).
Cuối cùng B thu được khóa K bằng cách tính
K = (BE). p(((pB[r])[hB] ))-1 mod q
C.6 Vận chuyển khóa theo kiểu EIGamal có chữ ký bên gửi
Đây là ví dụ về Cơ chế vận chuyển khóa 2.
Các khóa dùng thỏa thuận khóa công khai và bí mật hB của B tương ứng là:
PB = (P)[hB].
Các phép biến đổi ký công khai và bí mật của A tương ứng ký hiệu là SA và VA, (SA,VA) có thể được thể hiện ở bất cứ hệ chữ ký nào như chữ ký RSA còn việc kiểm tra chữ ký được đưa ra trong ISO/IEC 9796.
Mã hóa khóa (A1.1): A có một khóa K và muốn gửi nó theo cách an toàn đến B. Trước tiên A tạo ngẫu nhiên và bí mật một số nguyên r Î H và tính hai điểm trên đường cong P[r] và (PB)[r] rồi mã hóa khối dữ liệu khóa A || K như sau:
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Chú thích rằng K phải được chọn theo cách sao cho giá trị (A || K) phải nhỏ hơn số nguyên tố q.
Kiến thiết thẻ khóa (A1.2): A tạo ra một khối dữ liệu khóa bao gồm định danh riêng biệt của bên nhận B, có thể có tem thời gian hoặc một số tuần tự TVP và khối đã mã hóa BE. Tiếp đó A ký khối dữ liệu thẻ bằng phép ký bí mật SA của mình rồi gửi thẻ khóa thu được sang cho B:
KTA1 = SA (B || TVP || p[r] || BE)
Kiểm tra thẻ khóa (B1.1): B sử dụng phép kiểm tra công khai của bên gửi VA để kiểm tra chữ ký số của thẻ khóa KTA1 nhận được. Tiếp đó B kiểm tra định danh bên nhận B và trường tùy chọn TVP.
Giải mã khóa (B1.2): B tiến hành giải mã khối BE sử dụng khóa để thỏa thuận khóa bí mật hB của nó bằng cách tính:
A || K =(BE).p(((p[r])[hB]))-1 mod q
Tiếp đó B kiểm tra định danh của bên gửi A. Nếu tất cả kiểm tra đều thỏa mãn thì B chấp nhận khóa K.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
[2] ANSI X9.30 199x, "Public Key Cryptography Using Irrevarsible Algorithm for the Financial Services Industry, Part 3: Certificate Management for DSA".
[3] ANSI X9.30 199x, "Public Key Cryptography Using Irrevarsible Algorithm for the Financial Services Industry, Part 4: Management of symmetric algorithm keys using RSA".
[4] Beller M,J., Yacobi Y., "Fully-fledged two-way public authentication and key agreement for low-cost terminals", Electronic Letters Vol 19 no. 11 (27 May '93), pp 999-1001.
[5] RIPE, "Integrity Primitives for Secure Information Systems" - Final Report of RACE Integrity Primitives Evaluation (RIPE-RACE 1040). LNCS 1007, A. Bosselaers, B. Preneel, Eds Springer-Verlag, 1995.
[6] Diffie W., Hellman M.E., "News Directions in Cryptography", IEEE Trans. on Inform. Theory, vol. IT-22, pp. 644-654, Nov. 1976.
[7] EIGamal, T., "A Public Key Cryptosystem and a Signature Scheme Based on Descrete Logarithms", IEEE Trans. on Inform. Theory, vol. IT-31, pp. 469-472, July 1985.
[8] Girault M., Paillès J.C., "An Identity-based scheme providing zo-ro-knowledge authentication and authenticated key exchange", Proceedings of ESSORICS 90, pp. 173-184.
[9] ISO 8732:1998, Banking - Key Management (Wholesale).
[10] ISO/IEC 9594-8:1990, (CCITT X.509), "Information Technology - Open Systems Interconnection - The Directory - Authentication framework".
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
[12] ISO/IEC 10118-2:1994, "Information technology - Security techniques - Hash-functions - Part 2: Hash-functions using an n-bit block cipher algorithm".
[13] ISO/IEC 10118-3:1998, "Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash functions".
[14] ISO/IEC 10118-4:1998, "Information technology - Security techniques - Hash-functions - Part 4: Mechanisms using modular arithmetic".
[15] ISO 11166-1:1994, "Banking - Key management by means of asymmetric algorithms - Part 1: Principles, Procedures and Formats".
[16] Matsumoto T., Takashima Y., Imai H., "On Seeking Smart Public-Key-Distribution Systems", Trans. of the IECE of Japan, vol. E69 no. 2. Feb. 1986 pp. 99-106.
[17] Manezes, A., "Elliptic Curve Public Key Cryptosystem" Kluwer Academic Publishers, 1993.
[18] Nyberg K., Rueppel R.A., "Message Recovery for Signature Schemes Based on the Discrete Logarithm Problem", Proceedings of Eurocrypt'94, Springer-Verlag, 1994.
[19] Okamotot E., "Proposal for identity-basded key distribution system", Electronic Letters, Vol. 22, no.24, 20 Nov. 1986, pp. 1283-1284.
[20] Tanake K., Okamoto E., "Key distribution system fo mail systems using ID-related information directory", Computers & Security, Vol. 10, 1991, pp. 25-23.
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
MỤC LỤC
Lời nói đầu
1 Phạm vi áp dụng
2 Tài liệu tiêu chuẩn
3 Thuật ngữ và định nghĩa
4 Ký hiệu và từ viết tắt
5 Các yêu cầu
6 Thỏa thuận khóa bí mật
6.1 Cơ chế thỏa thuận khóa 1
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
6.3 Cơ chế thỏa thuận khóa 3
6.4 Cơ chế thỏa thuận khóa 4
6.5 Cơ chế thỏa thuận khóa 5
6.6 Cơ chế thỏa thuận khóa 6
6.7 Cơ chế thỏa thuận khóa 7
7 Vận chuyển khóa bí mật
7.1 Cơ chế vận chuyển khóa 1
7.2 Cơ chế vận chuyển khóa 2
7.3 Cơ chế vận chuyển khóa 3
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
7.5 Cơ chế vận chuyển khóa 5
7.6 Cơ chế vận chuyển khóa 6
8 Vận chuyển khóa công khai
8.1 Phân phối khóa công khai không cần đến bên thứ ba tin cậy
8.2 Phân phối khóa sử dụng bên thứ ba tin cậy
Phụ lục A
Phụ lục B
B.1 Lược đồ thỏa thuận khóa Diffie-Hellman không tương tác
B.2 Cơ chế dựa trên sự định danh
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
B.4 Thỏa thuận khóa Nyberg-Rueppel
B.6 Lược đồ thỏa thuận khóa Matsumoto-Takashima-Imai A(0)
B.7 Giao thức Beller-Yacobi
B.8 Vận chuyển khóa EIGamal
B.9 Vận chuyển khóa EIGamal có chữ ký của bên gửi
B.10 Vận chuyển khóa theo RSA
Phụ lục C
C.1 Thỏa thuận khóa không tương tác kiểu Diffie-Hellman
C.2 Thỏa thuận khóa kiểu EIGamal
...
...
...
Mọi chi tiết xin liên hệ: ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
C.4 Thỏa thuận khóa theo kiểu Diffie-Hellman
C.5 Thỏa thuận khóa theo kiểu Matsumoto-Takashima A(0)
C.6 Vận chuyển khóa theo kiểu EIGamal
C.7 Vận chuyển khóa theo kiểu EIGamal có chữ ký của bên gửi
Tài liệu tham khảo
(Không có nội dung)
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây
(Không có nội dung)
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây
-
Ban hành: {{m.News_Dates_Date}} Hiệu lực: {{m.News_EffectDate_Date}} Tình trạng: {{m.TinhTrang}} Cập nhật: {{m.Email_SendDate_Date}} Ban hành: {{m.News_Dates_Date}}Hiệu lực: {{m.News_EffectDate_Date}}Tình trạng: {{m.TinhTrang}}Cập nhật: {{m.Email_SendDate_Date}}
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây
-
Ban hành: {{m.News_Dates_Date}} Hiệu lực: {{m.News_EffectDate_Date}} Tình trạng: {{m.TinhTrang}} Cập nhật: {{m.Email_SendDate_Date}} Ban hành: {{m.News_Dates_Date}}Hiệu lực: {{m.News_EffectDate_Date}}Tình trạng: {{m.TinhTrang}}Cập nhật: {{m.Email_SendDate_Date}}
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây
Vì chưa Đăng Nhập nên Bạn chỉ xem được Thuộc tính của Văn bản. Bạn chưa xem được Hiệu lực của Văn bản, Văn bản Liên quan, Văn bản thay thế, Văn bản gốc, Văn bản tiếng Anh,...
Nếu chưa có Tài khoản, mời Bạn Đăng ký Tài khoản tại đây