Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
522 KB
Nội dung
Báo Cáo Bài Tập Lớn Môn: An Toàn Bảo Mật Thông Tin Đề Tài : Tìm Hiểu Về Sơ Đồ Xưng Danh Guillou Quisquater GV HD: SV TH: I. TÌM HIỂU VỀ SƠ ĐỒ XƢNG DANH A. Sơ đồ xƣng danh là gì ? • Xưng danh và xác nhận danh tính là thuật ngữ ngày nay được nhắc đến rất nhiều, nó đảm bảo rằng bên nhận văn bản đúng là bên ta định nhằm tới, hay chắc chắn rằng các thao tác trên văn bản là do bên được phép thực hiện. Cho đến giữa những năm 1970 người ta vẫn còn cho rằng xưng danh và xác nhận danh tính với mã hóa thực chất cùng là một mục tiêu an toàn thông tin. • Nhưng cùng với khám phá ra hàm băm, chữ ký điện tử, người ta nhận ra rằng đó là hai mục tiêu an toàn thông tin, đặc biệt là khi các hoạt động này thông qua mạng. Mục tiêu an toàn của việc xưng danh là đảm bảo sao cho khi “nghe” một chủ thể U nào đó xưng danh với chủ thể V. Bất kỳ ai khác U cũng không thể sau đó mạo nhận mình là U. 2. Các dạng sơ đồ xƣng danh • Sơ đồ xưng danh Shnorr Trong sơ đồ này có sự tham gia của 1 cơ quan ủy thác TA. Việc xác lập chữ ký và xác định danh tính của sơ đồ dựa vào việc chọn số p sao cho bải toán logarit là khó giải. Sơ đồ Schnorr đã được thiết kế với tốc độ nhanh và hiệu quả theo quan điểm cả về tính toán lẫn lượng thông tin cần thiết để trao đổi trong giao thức. Nó cũng được thiết kế nhằm tối thiểu hoá lượng tính toán. Nhưng vấn đề an toàn của sơ đồ vẫn khiến nhiều người không hoàn toàn yên tâm. • sơ đồ xưng danh Okamoto Tương tự như sơ đồ Shnorr về việc chọn xác lập xưng danh. Sự khác nhau giữa sơ đồ của Okamoto và Schnorr là ở chỗ, ta có thể chứng minh rằng sơ đồ Okamota an toàn miễn là bài toán logarithm rời rạc không giải được. • sơ đồ xưng danh Guillou-Quisquater Sơ đồ xưng danh Guillou Quisquater dựa vào 1 hệ mật mã khác so với 2 sơ đồ trên, đó là hệ mật mã RSA. Tiến trình định danh và kiểm định sẽ được trình bày sau đây. B. SƠ ĐỒ XƢNG DANH GUILLOU- QUISQUATER • Trong phần này sẽ mô tả một sơ đồ định danh khác do Guillou và Quisquater đưa ra , nhưng không phải là bài toán tính loogarit rời rạc mà là bài toán dựa trên RSA. Việc thiết lập sơ đồ như sau: TA chọn 2 số nguyên tố p và q và lập tích n =pq. Giá trị của p và q được giữ bí mật trong khi n công khai. Giống như trước đây, p và q nên chọn đủ lớn để việc phân tích n không thể thực hiện được. Cũng như vậy, TA chọn số nguyên tố đủ lớn b giữ chức năng tham số mật như số mũ mật trong RSA. Giả thiết b là số nguyên tố dài 40 bít. Cuối cùng TA chọn sơ đồ chữ kí và hàm hash 1. Hệ mật mã RSA • Mô tả sơ lƣợc Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT). Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân). Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã. Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng. Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được. Thủ tục tạo khóa • Chọn 2 số nguyên tố lớn p và q với , lựa chọn ngẫu nhiên và độc lập. • Tính: n=p.q • Tính: giá trị hàm số Ơle Ф(n) = (p-1)(q-1). • Chọn một số tự nhiên e sao cho 1 < e < Ф(n) và là số nguyên tố cùng nhau với Ф(n) . • Tính: d sao cho d.e ≡ (mod Ф(n)). Một số lưu ý: • Các số nguyên tố thường được chọn bằng phương pháp thử xác suất. • Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở rộng. • Bước 5 có thể viết cách khác: Tìm số tự nhiên x sao cho d = cũng là số tự nhiên. Khi đó sử dụng giá trị d mod (p-1(q-1) • Từ bước 3, PKCS#1 v2.1 sử dụng λ = LCM(p- 1)(q-1) thay cho Ф = (p-1)(q-1) Mã hóa • Giả sử Bob muốn gửi đoạn thông tin M cho Alice. Đầu tiên Bob chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước. Quá trình này được mô tả ở phần Chuyển đổi văn bản rõ. • Lúc này Bob có m và biết n cũng như e do Alice gửi. Bob sẽ tính c là bản mã hóa của m theo công thức: C = m e mod n • Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng (thuật toán bình phương và nhân) Cuối cùng Bob gửi c cho Alice. [...]... gian cần để đặt m thành thừà số sẽ tăng gấp đôi Vì khi thêm vài ký tự vào R là làm cho nó lớn thêm hàng trăm hay ngàn lần nhiều hơn, tức là gia tăng danh sách các cặp thừa số có thề dùng làm p và q Cơ chế hoạt động của sơ đồ xƣng danh guillou- quisquater • Sơ đồ cũng cần có sự tham gia của một cơ quan ủy thác (TA) Để cấp chứng chỉ cho các người tham gia TA chọn 2 số nguyên tố lớn p và q và tính tích n=p.q,... chữ ký của TA trên thông tin(IA, v) đó Chú ý rằng TA cấp chứng chỉ cho A mà có thể không biết gì về thông tin bí mật của A là số u Xưng danh • Bây giờ, với chứng chỉ C(A) đó, A có thể xưng danh với bất kỳ đối tác B nào bằng cách cùng B thực hiện một giao thức xác nhận danh tính như sau : • A chọn thêm một số ngẫu nhiên k(0 ≤ k ≤ n-1), tính γ = kb mod n, và gửi cho B các thông tin C(A) và γ • 2.B kiểm... thì xác nhận danh tính của A • Cũng như các trường hợp trước, việc chứng minh tính đầy đủ của sơ đồ là rất đơn giản : • Vryb ≡ (u-b)r(kur)b(mod n) ≡ u-brkbubr (mod) ≡ kb ≡ γ (mod n) • Một người khác A, do không biết số bí mật u, nên không thể tính đúng được số y ở bước 3 của gaio thức để được B xác nhận (như là A) ở bước 4, tức không thể mạo nhận mình là A; đó là tính đúng đắn của sơ đồ • Giả sử có... muốn xưng danh với B, A chọn k= 187485, và gửi cho B giá trị γ =187485503 mod 223693 =24412 • B dùng thuật toán kiểm thử verTA để thử điều kiện verTA(ID(A),v,s) = đúng, sau đó gửi đến đến A câu hỏi r=375 A sẽ trả lời lại bằng y = 187485.101576375 mod 223693 • = 93725 • B thử điều kiện γ ≡ vr yb (mod n), trong trường hợp này là 24412 ≡ 89888375.93725503 (mod 223693), • Đồng dư đúng Vậy B xác nhận danh. .. thông tin về danh tính của A dưới dạng một dãy ký tự mà ta ký hiệu IA hay ID(A) • A chọn bí mật một sô ngẫu nhiên u(0 ≤ u ≤ n-1) , tính V = (u-1)b mod n, • Và chuyển số v cho TA • TA tạo chữ ký s=sigTA(IA, v) và cấp cho A chứng chỉ C(A) = (ID(A),v,s) • Như vậy, chứng chỉ mà TA câp cho A gồm (IA, v) và chữ ký của TA trên thông tin(IA, v) đó Chú ý rằng TA cấp chứng chỉ cho A mà có thể không biết gì về thông... nhân chẳng hạn với dãy phép tính Công thức đệ quy • Quá trình tính toán trên chính là quá trình tính nhờ công thức đệ quy • Với n=0 thì xn = 1 • Với n>0 ta có công thức • Như vậy phép tính xn được quy về một số phép bình phương và phép nhân do vậy mà có tên gọi thuật toán bình phương và nhân Giải thuật sau tính đệ quy xn(mod m) Function Square_Multi (int x, n, m){ Var Int Power If n=0 then return 1... bản có giá trị 123, ta thực hiện phép tính: • encrypt(123) = 12317 mod 3233 = 855Để giải mã văn bản có giá trị 855, ta thực hiện phép tính: • decrypt(855) = 8552753 mod 3233 = 123Cả hai phép tính trên đều có thể được thực hiện hiệu quả nhờ giải thuật bình phương và nhân Thuật toán bình phương và nhân • Thuật toán bình phương và nhân là thuật toán tính nhanh lũy thừa tự nhiên của một số (thực hoặc nguyên), . Mật Thông Tin Đề Tài : Tìm Hiểu Về Sơ Đồ Xưng Danh Guillou Quisquater GV HD: SV TH: I. TÌM HIỂU VỀ SƠ ĐỒ XƢNG DANH A. Sơ đồ xƣng danh là gì ? • Xưng danh và xác nhận danh tính là thuật. không giải được. • sơ đồ xưng danh Guillou- Quisquater Sơ đồ xưng danh Guillou Quisquater dựa vào 1 hệ mật mã khác so với 2 sơ đồ trên, đó là hệ mật mã RSA. Tiến trình định danh và kiểm định. yên tâm. • sơ đồ xưng danh Okamoto Tương tự như sơ đồ Shnorr về việc chọn xác lập xưng danh. Sự khác nhau giữa sơ đồ của Okamoto và Schnorr là ở chỗ, ta có thể chứng minh rằng sơ đồ Okamota