banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Một số vấn đề Chữ ký điện tử (digital signature)  XML
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 29/06/2010 12:13:36 (+0700) | #1 | 214232
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]
Em có một số vấn đề liên quan đến
Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc 


-->Vấn đề cơ chế nào để đảm bảo rằng dữ liệu không bị thay đổi!.

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số  



-->có thể giải thích chổ này giùm em được không ạ, chổ này em hơi mơ hồ , mong các anh chị giúp đỡ!

Em cảm ơn nhiều ạ!
JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 29/06/2010 13:41:00 (+0700) | #2 | 214241
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

vitcon01 wrote:
Em có một số vấn đề liên quan đến
Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc 


-->Vấn đề cơ chế nào để đảm bảo rằng dữ liệu không bị thay đổi!. 

Đoạn dữ liệu có thể bị thay đổi nhưng nó không thể mã hoá trở lại bằng khoá bí mật của người ký (một trong các công đoạn "ký" là hành động mã hoá đoạn dữ liệu này bằng khoá bí mật của người ký).

vitcon01 wrote:

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số  



-->có thể giải thích chổ này giùm em được không ạ, chổ này em hơi mơ hồ , mong các anh chị giúp đỡ!

Em cảm ơn nhiều ạ!
 

Về cơ bản đoạn mô tả trên là đúng. Bạn chỉ cần hiểu ký số và kiểm tra chữ ký số là 2 công đoạn tách biệt, ký số tạo giá trị message digest 1. Người kiểm tra chữ ký cũng tạo một bản giá trị message digest 1'. Do tính chất của hàm băm (hash function), nếu cùng một đầu vào thì message digest 1 và message digest 1' phải là một. Như vậy sẽ đảm bảo được tính toàn vẹn của dữ liệu, tính xác thực dựa vào việc giải mã giá trị message digest 1 (dùng khoá công khai tương ứng của người ký).

Xem thêm: http://en.wikipedia.org/wiki/Digital_signature
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 29/06/2010 17:07:06 (+0700) | #3 | 214248
trantuan_bkhcm
Member

[Minus]    0    [Plus]
Joined: 25/11/2004 07:01:30
Messages: 6
Offline
[Profile] [PM]
Bạn nên đọc thêm về:
+Chữ ký tay
+Mã hoá bất đối xứng
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 06/07/2010 01:00:00 (+0700) | #4 | 214729
gamar
Member

[Minus]    0    [Plus]
Joined: 25/09/2009 19:22:29
Messages: 23
Offline
[Profile] [PM]
đọc về chữ ký tay là sao, hài quá ...

thông thường digital signature có 2 tác dụng:
- bảo đảm tính vẹn toàn của dữ liệu (data integrity)
- bảo đảm tính xác thực của người gửi (authentication)

Chẳng hạn Alice lúc đầu sẽ hash dữ liệu rồi dùng pri key của mình để encrypt dữ liệu. Sau đó gắn phần mã hoá này vào dữ liệu original rồi gửi cho Bob. Bob khi nhận được, đầu tiên sẽ dùng pub key của Alice để decrypt cái phần mã hoá, nếu giả mã được thì chứng tỏ được tính xác thực của Alice. Sau đó hash cái original dữ liệu gửi kèm theo và so sánh nó với cái hash sau khi giải mã, nếu giống nhau thì sẽ chứng minh đc tính vẹn toàn của dữ liệu luôn.

[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 06/07/2010 08:34:34 (+0700) | #5 | 214755
tuewru
Member

[Minus]    0    [Plus]
Joined: 23/05/2008 04:17:26
Messages: 126
Offline
[Profile] [PM]

vitcon01 wrote:
Em có một số vấn đề liên quan đến
Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc 


-->Vấn đề cơ chế nào để đảm bảo rằng dữ liệu không bị thay đổi!.

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số  



-->có thể giải thích chổ này giùm em được không ạ, chổ này em hơi mơ hồ , mong các anh chị giúp đỡ!

Em cảm ơn nhiều ạ!
 



Theo kiến thức mình được biết xin trả lời bạn 2 câu trên như sau

1. Cơ chế đảm bảo dữ liệu không bị thay đổi là cơ chế tin cậy ( Confidentialy)
Xem qua hình này bạn sẽ hiểu chức năng tin cậy như thế nào



2. Trăm nghe không bằng 1 thấy smilie
Hình trên trả lời cho cả 2 câu hỏi của bạn đó
Vì mình làm Đồ án về vấn đề này nên cũng biết đôi chút, ban đầu cũng mơ hồ và khó hiểu khi đọc tài liệu như bạn vậy. Phải xem qua hình vẽ cách thức nó làm việc như thế nào để hiểu sâu hơn
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 09/07/2010 11:10:36 (+0700) | #6 | 214948
[Avatar]
invalid-password
Member

[Minus]    0    [Plus]
Joined: 09/03/2010 21:22:46
Messages: 161
Offline
[Profile] [PM]
Forum này thiếu gì chuyên gia về mật mã mà hok thấy ai nhảy vô vậy ta ?
Spam thêm một bài là góp một viên gạch xây diễn đàn lớn mạnh
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 09/07/2010 16:39:58 (+0700) | #7 | 214976
tuewru
Member

[Minus]    0    [Plus]
Joined: 23/05/2008 04:17:26
Messages: 126
Offline
[Profile] [PM]

invalid-password wrote:
Forum này thiếu gì chuyên gia về mật mã mà hok thấy ai nhảy vô vậy ta ? 


giải thích như trên chưa đủ hay sao mà cần thêm chuyên gia về mật mã nữa hả bạn ?
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 10/07/2010 13:42:51 (+0700) | #8 | 215021
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]

vitcon01 wrote:

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số  

Đây chỉ là một thiết kế của thuật toán tạo chữ kí điện tử, chứ không phải là chữ kí điện tử bắt buộc phải tạo ra bằng cách này. Và mình thấy phần dùng từ cũng chưa chuẩn.

tweru wrote:

Theo kiến thức mình được biết xin trả lời bạn 2 câu trên như sau

1. Cơ chế đảm bảo dữ liệu không bị thay đổi là cơ chế tin cậy ( Confidentialy)
Xem qua hình này bạn sẽ hiểu chức năng tin cậy như thế nào


 

---> Đề nghị bạn dùng đúng thuật ngữ
Trong hình trên cũng có vài chỗ khó hiểu, ví dụ như Z, EP, DP, và E[PR_a, H(M)]. Bạn làm đề tài gì về chữ kí điện tử vậy, có thể gửi cho mình 1 bản được không (pm).
Mind your thought.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 10/07/2010 14:26:31 (+0700) | #9 | 215022
tuewru
Member

[Minus]    0    [Plus]
Joined: 23/05/2008 04:17:26
Messages: 126
Offline
[Profile] [PM]
- Trước tiên mình xin đính chính về thuật ngữ cho hình vẽ
Tính chứng thực ( Authentication ) không phải là Confidentiality như ở post #5 trước smilie

Ở đây chỉ có 1 bước (Authentication only) . Ngoài ra khi trao đổi thông điệp với nhau 1 cách an toàn giữa 2 bên thì gồm cả Authentication + Confidentiality

- Do quá 48h nên không thể edit ngay tại post #5 trong bài này. Nên mình sẽ bổ sung tại post 9 này. Xin lỗi các bạn vì sự thiếu sót các ký hiệu trong hình vẽ minh hoạ.
Các ký hiệu trong hình vẽ


+ H : hàm hash (MD5 , SHA...)
+ EP : thuật toán mã hóa public key
+ || : phép nối chuỗi
+ PRa : Private key của bên A
+ Z : thuật toán nén ZIP
+ Z-1 : giải nén
+ E[PRa, H(M)] : thông điệp và mã hash sau khi đã ghép lại
+ DP : thuật toán giải mã public key

- Cách thức làm việc :
1. Người gửi tạo thông điệp.
2. SHA-1 được sử dụng để tạo một hash code 160-bit (H) của thông điệp.
3. Hash code được mã hóa bằng RSA sử dụng private key (PRa) của người gửi, và được gắn vào trước thông điệp. ( || )
4. Người nhận sử dụng RSA với public key của người gửi (PUb) để giải mã và khôi phục lại hash code.
5. Người nhận tạo ra một hash code (H) mới cho thông điệp và so sánh nó với hash code đã được giải mã. Nếu hai hash code khớp, thông điệp xem như được chứng thực.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 10/07/2010 17:25:35 (+0700) | #10 | 215034
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

StarGhost wrote:

vitcon01 wrote:

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số  

Đây chỉ là một thiết kế của thuật toán tạo chữ kí điện tử, chứ không phải là chữ kí điện tử bắt buộc phải tạo ra bằng cách này. Và mình thấy phần dùng từ cũng chưa chuẩn. 

Dùng từ chưa chuẩn chỗ nào vậy bạn StarGhost? Bạn có thể nói cụ thể hơn không?

[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 10/07/2010 20:15:14 (+0700) | #11 | 215045
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
@hvthang: không (đúng hơn là chưa) tồn tại khái niệm mã hoá và giải mã trong các thuật toán thực hiện chữ kí điện tử (digital signatures). Nói chung là cả cái định nghĩa đó mình cho là không có chỗ nào đúng. Bạn có thể tham khảo http://en.wikipedia.org/wiki/Digital_signature#Definition để biết một cách informal về chữ kí điện tử (Lưu ý: cái hình đi kèm thì không đúng).
Mind your thought.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 14:21:22 (+0700) | #12 | 215065
eff3
Member

[Minus]    0    [Plus]
Joined: 06/07/2010 09:30:32
Messages: 24
Offline
[Profile] [PM]
à mình nghĩ StarGhost chẳng qua ko thích 2 từ mã hoá và giải mã là vì môt khi đã mã hoá rồi thì chỉ người nào biết được bí mật (key) thi mới có thể giải mã đươc.

Còn trong trường hợp DS ở trên thì bất kế ai trên thế giới này đề có thể verify cái chữ ký đó cả mà không cần sở hữu 1 bí mật nào cả. Thế nên dùng từ mã hoá với giải mã là ko chính xác hehe
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 15:18:44 (+0700) | #13 | 215068
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

StarGhost wrote:
@hvthang: không (đúng hơn là chưa) tồn tại khái niệm mã hoá và giải mã trong các thuật toán thực hiện chữ kí điện tử (digital signatures). Nói chung là cả cái định nghĩa đó mình cho là không có chỗ nào đúng. Bạn có thể tham khảo http://en.wikipedia.org/wiki/Digital_signature#Definition để biết một cách informal về chữ kí điện tử (Lưu ý: cái hình đi kèm thì không đúng). 

Mình đã xem lại một số thông tin từ tài liệu PKCS#1, trong đó mô tả lược đồ ký số RSA khá phổ biến (đa số các ứng dụng ký số mình gặp đều dùng lược đồ này). Đúng như bạn nói, khái niệm mã hoá và giải mã không được định nghĩa, tuy nhiên, hầu hết các tài liệu viết về chữ ký số đều định nghĩa chữ ký số và xác thực chữ ký số một cách chung chung (theo sơ đồ - mà bạn nói sai, tuy nhiên cái này mình chưa chắc lắm vì sai là quan điểm của bạn, còn wiki nó vẫn dùng để minh hoạ là có lý do của nó). Như vậy, theo mình hiểu thì về cơ bản ký số vẫn bao gồm một số bước như vậy, và nếu gọi bược sign là dùng khoá bí mật (private key) của người ký để "encrypt" bản tóm lược dữ liệu thì vẫn chấp nhận được.
Cảm ơn.
gvs.margaid_erutangiS_latigiD:eliF/ikiw/gro.aidepikiw.ne//:ptth
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 16:59:06 (+0700) | #14 | 215081
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
@eff3: good point, nhưng mà không phải do mình không thích, mà căn bản sự thật nó là như thế. Số lượng người không thích thì mình cho rằng nhiều vô kể.

@hvthang: vậy bạn cho mình hỏi là trong DSA thì những bước mà bạn cho là cơ bản đó nằm ở chỗ nào (mã hoá, giải mã, so sánh hash)? Còn chuyện lược đồ trên wiki đúng hay sai thì mình cũng không muốn tranh cãi vì lí lẽ đã đưa ra ở trên. Nói chung mình thấy nhiều người vì sự phổ biến của RSA nên hay bị nhầm lẫn giữa RSA signature scheme và cái gọi là digital signature.
Mind your thought.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 17:57:22 (+0700) | #15 | 215090
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

StarGhost wrote:
@hvthang: vậy bạn cho mình hỏi là trong DSA thì những bước mà bạn cho là cơ bản đó nằm ở chỗ nào (mã hoá, giải mã, so sánh hash)? Còn chuyện lược đồ trên wiki đúng hay sai thì mình cũng không muốn tranh cãi vì lí lẽ đã đưa ra ở trên. Nói chung mình thấy nhiều người vì sự phổ biến của RSA nên hay bị nhầm lẫn giữa RSA signature scheme và cái gọi là digital signature. 

Theo cái sơ đồ mô tả thì Digital Signature (chữ ký số - khác chữ ký điện tử (Electronic Signature)) bao gồm:
- Tính toán giá trị tóm lược của thông điệp dữ liệu - H1 (dùng hàm hash) - bước này đảm bảo tính toàn vẹn
- "Mã hoá" H1 bằng khoá bí mật - bước này đảm bảo tính xác thực, chống chối bỏ của thông điệp dữ liệu cũng như người ký thông điệp dữ liệu
- Đính kèm với thông điệp dữ liệu.

Để xác thực chữ ký, người nhận cũng thực hiện một số thao tác tương tự (xem sơ đồ trong wiki), trong đó có bước giải mã giá để có được giá trị H1, giải mã sử dụng khoá công khai (sở dĩ gọi là công khai vì khoá này được công bố rộng rãi).

Các bước trên có thể được toán học hoá thành các công thức, thuật toán cụ thể, tuy nhiên về nguyên tắc chắc nó cũng chỉ để thể hiện các thông tin trên - hay chính xác hơn, các thông tin trên là cơ sở lý thuyết để sinh ra các chữ ký số (cái mà người nghĩ ra nó với mong muốn thay thế chữ ký tay thông thường - đảm bảo các tính chất của chữ ký tay).
Mình vẫn cho rằng sơ đồ mô tả trên wiki và một số sách ứng dụng về DS là hoàn toàn đúng (về mặt ý tưởng lý thuyết, và có thể xem nó là định nghĩa của chữ ký số trong một phạm vi nào đó).

P/s: trong trường hợp này mình muốn nói là lược đồ RSA phổ biến, còn các lược đồ khác có thể khác.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 18:44:13 (+0700) | #16 | 215093
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
mình thấy các bạn cần chú ý 02 điểm (mà SG cũng đã nói rồi):

* trong định nghĩa của các sơ đồ ký số (digital signature schemes) không có nói về mã hoá và giải mã; mà là ký (sign) và kiểm tra chữ ký (verify).

* ngoài RSA signature scheme ra, còn có các digital signature scheme khác mà trong sơ đồ hoạt động không hề có cái thao tác *giống* với mã hoá/giải mã như RSA signature scheme. thiệt ra RSA signature scheme phổ biến vì nó...dễ làm (và dễ làm sai), chứ nó cũng không phải là tiêu chuẩn. nếu cứ lấy tiêu chuẩn của NIST là tiêu chuẩn chung, như chúng ta vẫn xem AES là tiêu chuẩn để mã hoá dữ liệu, thì DSA mới là tiêu chuẩn.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 19:05:46 (+0700) | #17 | 215094
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
àh, mình thấy OP có một câu hỏi rất hay, mà hình như chưa ai trả lời cho nó rõ ràng:

vitcon01 wrote:

Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc

--> Vấn đề cơ chế nào để đảm bảo rằng dữ liệu không bị thay đổi!.
 


bạn hvthang có trả lời như sau:

hvthang wrote:

Đoạn dữ liệu có thể bị thay đổi nhưng nó không thể mã hoá trở lại bằng khoá bí mật của người ký (một trong các công đoạn "ký" là hành động mã hoá đoạn dữ liệu này bằng khoá bí mật của người ký).
 


cứ xem như là đang nói về RSA signature scheme, thì mình vẫn chưa thấy câu trả lời này thoả đáng nha. nhắm mắt hỏi đại, tại sao cái đoạn màu vàng lại luôn đúng? tại vì 3 ông R, S, A nói vậy hay tại lý do gì? thậm chí nếu mà cái đoạn màu vàng luôn đúng, người ta vẫn thay đổi được dữ liệu đó thôi. giống như cái tấn công tạo ra một cái rogue CA certificate hồi cuối năm 2008.

vậy rốt cuộc thì cái gì quyết định một hệ thống chữ ký điện tử là an toàn? áh, mà thế nào là an toàn smilie. an toàn là không bị tấn công? vậy có những tấn công nào? khi nào thì chúng được xem là thành công? tại sao các sơ đồ đang được sử dụng vẫn được xem là an toàn trước các tấn công này?

mình nghĩ đi tìm câu trả lời cho những câu hỏi này sẽ khai phá được nhiều cái hay.

-m

http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 19:36:27 (+0700) | #18 | 215096
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

mrro wrote:
àh, mình thấy OP có một câu hỏi rất hay, mà hình như chưa ai trả lời cho nó rõ ràng:

vitcon01 wrote:

Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc

--> Vấn đề cơ chế nào để đảm bảo rằng dữ liệu không bị thay đổi!.
 


bạn hvthang có trả lời như sau:

hvthang wrote:

Đoạn dữ liệu có thể bị thay đổi nhưng nó không thể mã hoá trở lại bằng khoá bí mật của người ký (một trong các công đoạn "ký" là hành động mã hoá đoạn dữ liệu này bằng khoá bí mật của người ký).
 


cứ xem như là đang nói về RSA signature scheme, thì mình vẫn chưa thấy câu trả lời này thoả đáng nha. nhắm mắt hỏi đại, tại sao cái đoạn màu vàng lại luôn đúng? tại vì 3 ông R, S, A nói vậy hay tại lý do gì?

thậm chí nếu mà cái đoạn màu vàng luôn đúng, người ta vẫn thay đổi được dữ liệu đó thôi. giống như cái tấn công tạo ra một cái rogue CA certificate hồi cuối năm 2008.

vậy rốt cuộc thì cái gì quyết định một hệ thống chữ ký điện tử là an toàn? áh, mà thế nào là an toàn smilie. an toàn là không bị tấn công? vậy có những tấn công nào? khi nào thì chúng được xem là thành công? tại sao các sơ đồ đang được sử dụng vẫn được xem là an toàn trước các tấn công này?

mình nghĩ đi tìm câu trả lời cho những câu hỏi này sẽ khai phá được nhiều cái hay.

-m

 

Mình xin bổ sung thêm cho câu trả lời ban đầu, vẫn là ý tưởng ban đầu,
Giá trị hàm băm được sử dụng trong khi tạo chữ ký số phải tạo bởi thuật toán an toàn (SHA-1, 2,...).
Trong phạm vi các dữ kiện đưa ra trong câu hỏi, thì việc xác thực và đảm bảo tính toàn vẹn chỉ có thể thông qua việc mã hoá và tạo giá trị hash. Do đó, nếu đảm bảo an toàn 2 bước trên thì thông điệp là toàn vẹn và xác thực.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 11/07/2010 19:54:02 (+0700) | #19 | 215098
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]

hvthang wrote:

Giá trị hàm băm được sử dụng trong khi tạo chữ ký số phải tạo bởi thuật toán an toàn (SHA-1, 2,...). Trong phạm vi các dữ kiện đưa ra trong câu hỏi, thì việc xác thực và đảm bảo tính toàn vẹn chỉ có thể thông qua việc mã hoá và tạo giá trị hash. Do đó, nếu đảm bảo an toàn 2 bước trên thì thông điệp là toàn vẹn và xác thực.
 


@hvthang: mình nghĩ là bạn chưa hiểu những câu hỏi mình đặt ra. câu hỏi của mình không phải là làm thế nào, mà là tại sao?. câu hỏi tại sao thường *sâu sắc* hơn câu hỏi làm thế nào rất nhiều.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 12/07/2010 03:42:02 (+0700) | #20 | 215107
eff3
Member

[Minus]    0    [Plus]
Joined: 06/07/2010 09:30:32
Messages: 24
Offline
[Profile] [PM]
mình nghĩ là ở đây mrro đang muốn nói đến vấn đề wan trọng là người nhận văn bản ký có được đúng cái pub key của người gửi. Mà cái này thì được bảo đảm bới những CAs. Tóm lại nói gì nói, vẫn cần phải có 1 người thử 3 làm trung gian chứng nhận về pub key của từng cá nhân thì những phương pháp, ứng dụng của PKI mới sử dụng đc. Còn nếu ko thì smilie
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 09:43:34 (+0700) | #21 | 215382
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

eff3 wrote:
mình nghĩ là ở đây mrro đang muốn nói đến vấn đề wan trọng là người nhận văn bản ký có được đúng cái pub key của người gửi. Mà cái này thì được bảo đảm bới những CAs. Tóm lại nói gì nói, vẫn cần phải có 1 người thử 3 làm trung gian chứng nhận về pub key của từng cá nhân thì những phương pháp, ứng dụng của PKI mới sử dụng đc. Còn nếu ko thì smilie  

Mình nghĩ ở đây đang bàn về chữ ký số chứ không phải chứng thực chữ ký số, do đó hoàn toàn có thể không tồn tại cơ quan CA trong mô hình này.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 09:49:39 (+0700) | #22 | 215383
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

mrro wrote:
mình thấy các bạn cần chú ý 02 điểm (mà SG cũng đã nói rồi):

* trong định nghĩa của các sơ đồ ký số (digital signature schemes) không có nói về mã hoá và giải mã; mà là ký (sign) và kiểm tra chữ ký (verify). 

Đồng ý với bạn và bạn SG. Tuy nhiên, bạn có thể giải thích tại sao rất nhiều tài liệu có nguồn gốc khá đáng tin lại định nghĩa theo cách kia. Ví dụ: http://www.answers.com/topic/digital-signature

mrro wrote:
* ngoài RSA signature scheme ra, còn có các digital signature scheme khác mà trong sơ đồ hoạt động không hề có cái thao tác *giống* với mã hoá/giải mã như RSA signature scheme. thiệt ra RSA signature scheme phổ biến vì nó...dễ làm (và dễ làm sai), chứ nó cũng không phải là tiêu chuẩn. nếu cứ lấy tiêu chuẩn của NIST là tiêu chuẩn chung, như chúng ta vẫn xem AES là tiêu chuẩn để mã hoá dữ liệu, thì DSA mới là tiêu chuẩn.

-m 

Trong chủ đề này, giả sử chúng ta chỉ bàn đến RSA signature scheme cho cụ thể nhé.
Và nó cũng đã được chuẩn hoá rồi đấy bạn, nếu mình không lầm thì đó là ISO 9796 và dòng PKCS# cũng được công nhận là các chuẩn rồi đấy chứ bạn (điểm này mình cũng không chắc lắm).
Do đó, nếu bác nào có kinh nghiệm, kính mong giải thích và làm rõ.
Cảm ơn.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 10:55:52 (+0700) | #23 | 215393
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]

hvthang wrote:

Đồng ý với bạn và bạn SG. Tuy nhiên, bạn có thể giải thích tại sao rất nhiều tài liệu có nguồn gốc khá đáng tin lại định nghĩa theo cách kia. Ví dụ: http://www.answers.com/topic/digital-signature
 


Đáng tin hay không tùy thuộc vào mỗi người thôi. Ví dụ như nhiều người cho rằng Wikipedia đáng tin, nhưng mình thấy hầu hết các trường đại học đều *cấm* không cho sinh viên trích dẫn Wikipedia khi viết báo cáo. Mình cũng đọc nhiều báo cáo của giới làm nghiên cứu, và thấy rằng chẳng ai trích dẫn Wikipedia cả, trừ những tay nghiệp dư như mình smilie (và sau này mình cũng đã bỏ thói quen xấu này).

hvthang wrote:

Trong chủ đề này, giả sử chúng ta chỉ bàn đến RSA signature scheme cho cụ thể nhé.

Và nó cũng đã được chuẩn hoá rồi đấy bạn, nếu mình không lầm thì đó là ISO 9796 và dòng PKCS# cũng được công nhận là các chuẩn rồi đấy chứ bạn (điểm này mình cũng không chắc lắm).

 


---> mình thấy bạn hvthang lạ nhỉ. bạn cứ khăng khăng là nếu chỉ nói RSA signature scheme thì dùng các khái niệm "giải mã", "mã hoá" vẫn đúng, trong khi bản thân định nghĩa của RSA signature scheme, và định nghĩa của rất nhiều digital signature scheme khác, không hề có các khái niệm này.

---> mình đã nói, nếu chỉ đem ra so sánh trong tương quan với AES. về ISO 9796 thì cái này mình mới biết. về PKCS# thì có thể xem chúng là RFC dành cho mật mã học.

mà vấn đề này có còn gì để thảo luận hoặc làm rõ nữa đâu? sao không ai thảo luận về những vấn đề mình đưa ra nhỉ?

@eff3: câu hỏi tại sao lúc này là: tại sao tự dưng có ông CA thì chữ ký điện tử lại an toàn? một câu trả lời có vẻ đúng: ai cũng tin ông CA, và ông CA có trách nhiệm cấp chứng nhận để gắn một public key và một danh tính cụ thể nào đó. tuy vậy cách ông CA làm điều đó cũng là dùng chữ ký điện tử. bạn đã thấy chỗ mâu thuẫn chưa?

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 11:09:00 (+0700) | #24 | 215395
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
có một ý mình nghĩ mình cần nhấn mạnh là: những cái sơ đồ trên Wikipedia hay Answers.com đều chỉ dừng lại ở mức giải thích nếu muốn tạo chữ ký điện tử (theo RSA signature scheme), thì phải làm thế nào. chúng không phải là định nghĩa toán học của chữ ký điện tử, dạng định nghĩa mà người ta dạy trong trường đại học, cũng là dạng định nghĩa mà mình đã nói ngay từ đầu.

sẵn tiện thì mình gửi lên cái định nghĩa (đã dịch ra tiếng Việt) về chữ ký điện tử mà mình được dạy, để bạn hvthang so sánh nó với những định nghĩa khác:


Một sơ đồ chữ ký là một bộ ba thuật toán xác suất chạy trong thời gian đa thức (Gen, Sign, Verify) thoả mãn những điều kiện sau đây:

1. Thuật toán sinh khoá Gen nhận vào một hệ số an toàn (security parameter) 1^n, và xuất ra một cập khoá (pk, sk). pk được gọi là khoá công cộng, còn sk được gọi là khoá riêng tư. Để thuận tiện, chúng ta giả sử pk và sk đều có chiều dài ít nhất là n, và n có thể được xác định từ pk và sk.

2. Thuận toán ký Sign nhận vào một khoá riêng tư sk và một thông điệp m thuộc về {0, 1}*. Nó xuất ra một chữ ký s, và chúng ta ký hiệu là s <-- Sign(sk, m).

3. Thuật toán xác định Verify nhận vào một khoá công cộng pk, một thông điệp m và một chữ ký s. Nó xuất ra một bit b, với b = 1 nghĩa là đúng, b = 0 nghĩa là không đúng. Ký hiệu: b := Verify(pk, m, s).

Với mọi n, mọi cặp (pk, sk) xuất ra bởi Gen(1^n), và với mọi m thuộc về {0, 1}*, điều này phải luôn thoả: Verify(pk, m, Sign(sk, m)) = 1

Nếu (Gen, Sign, Verify) thoả điều kiện với mọi cặp (pk, sk) tạo ra bởi Gen(1^n), thuật toán Sign chỉ được xác định với các thông điệp m thuộc về {0, 1}^l(n) (và Verify xuất ra 0 với mọi m không thuộc về {0, 1}^l(n)), thì chúng ta nói rằng (Gen, Sign, Verify) là một sơ đồ chữ ký cho các thông điệp có chiều dài l(n).

 


đây chỉ là định nghĩa đầu tiên, chưa nói đến định nghĩa của các tấn công và định nghĩa của các sơ đồ chữ ký an toàn trước các loại tấn công đó, mà đã thấy rõ ràng là nó khác rất nhiều so với mấy cái sơ đồ trên Wikipedia.

định nghĩa của "textbook" RSA signature scheme thì như sau:


* Gen: khi nhận vào 1^n thì chạy GenRSA(1^n) để nhận (N, e, d). Khoá công cộng là (N, e) và khoá riêng tư là (N, d).

* Sign: khi nhận vào sk = (N, d) và một thông điệp m thuộc về Z*N, tính s theo công thức: s := [m^d mod N].

* Verify: khi nhận vào một pk = (N, e), một thông điệp m thuộc về Z*N, và một chữ ký s thuộc về Z*N, xuất ra 1 khi và chỉ khi: m = [s^e mod N]

trong đó GenRSA là thuật toán xác suất chạy trong thời gian đa thức, nhận vào 1^n và xuất ra modulus N là tích của hai số nguyên tố có chiều dài n-bit (có thể sai với xác suất không đáng kể), và một cặp số nguyên e, d thoả điều kiện:

* 1 < e < phi(N), và gcd(e, phi(N)) = 1

* ed = 1 mod phi(N)

với phi(N) là hàm Euler totient.

 


-m

PS: chỉnh lại, thêm định nghĩa của "textbook" RSA signature scheme.
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 11:32:25 (+0700) | #25 | 215396
[Avatar]
invalid-password
Member

[Minus]    0    [Plus]
Joined: 09/03/2010 21:22:46
Messages: 161
Offline
[Profile] [PM]

mrro wrote:
@eff3: câu hỏi tại sao lúc này là: tại sao tự dưng có ông CA thì chữ ký điện tử lại an toàn? một câu trả lời có vẻ đúng: ai cũng tin ông CA, và ông CA có trách nhiệm cấp chứng nhận để gắn một public key và một danh tính cụ thể nào đó. tuy vậy cách ông CA làm điều đó cũng là dùng chữ ký điện tử. bạn đã thấy chỗ mâu thuẫn chưa? 

Nghe nói có một ông là Root CA ở đâu đó (nghe có vẻ giống giống Root DNS) nhưng chưa rõ là để làm gì, mọi người bàn tiếp về ông này đi.

mrro wrote:
dạng định nghĩa mà người ta dạy trong trường đại học, cũng là dạng định nghĩa mà mình đã nói ngay từ đầu. 

Ý pác mrro muốn đề cập mấy cái công thức toán loằng ngoằng trong cuốn Lý thuyết mật mã ?
Spam thêm một bài là góp một viên gạch xây diễn đàn lớn mạnh
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 13:43:38 (+0700) | #26 | 215405
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

mrro wrote:

---> mình thấy bạn hvthang lạ nhỉ. bạn cứ khăng khăng là nếu chỉ nói RSA signature scheme thì dùng các khái niệm "giải mã", "mã hoá" vẫn đúng, trong khi bản thân định nghĩa của RSA signature scheme, và định nghĩa của rất nhiều digital signature scheme khác, không hề có các khái niệm này.
mà vấn đề này có còn gì để thảo luận hoặc làm rõ nữa đâu? sao không ai thảo luận về những vấn đề mình đưa ra nhỉ?
-m 


Trước hết, mình không khăng khăng (bạn đọc bài kỹ bài mình thảo luận sẽ thấy, vì mình đang phân vân).

Còn về cái định nghĩa, nếu định nghĩa theo công thức toán học thì đúng như bạn nói (mình đồng ý với quan điểm này), đó là định nghĩa phát biểu bằng lời các công thức toán học mô tả signature scheme. Tuy nhiên, khi bạn đọc thêm các giải thích đằng sau cái định nghĩa đó thì hoàn toàn có thể sử dụng cái đoạn giải thích (giờ mình không gọi nó là định nghĩa nữa) ban đầu của chủ topic đưa ra, bởi thực sự thuật toán nó đã thực hiện các công đoạn đó, chỉ khác là cách gọi thôi (bạn gọi theo công thức, nhưng có người gọi theo cái ý nghĩa của công thức đó - không có gì sai cả).

Đây chính là lý do mà cái giải thích về chữ ký số và các sơ đồ ký và kiểm tra chữ ký đó vẫn tồn tại được (bạn có thể nói nó sai - đó là quan điểm cá nhân bạn).

Bạn không thích wiki có thể đọc cuốn Cryptography - Theory and Practice

[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 15:09:27 (+0700) | #27 | 215418
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
@mrro: mình chỉ xin đính chính một chút xíu trong cái formal definition của digital signature. Cái đoạn b:=Vrfy(pk, m, s) nên thay bằng b <-- Vrfy(pk, m, s), vì Vrfy() không nhất thiết phải là một deterministic function.

@all: mình nghĩ là không cần thiết phải tranh cãi nữa, vì ở đây tồn tại 2 luồng quan điểm khác nhau, gây ra bởi các thành phần đứng ở 2 góc độ khác nhau, trong 2 môi trường khác nhau, mặc dù sự hiểu biết một cách hữu dụng về chủ đề này có thể là như nhau.
Mind your thought.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 15/07/2010 17:34:21 (+0700) | #28 | 215429
eff3
Member

[Minus]    0    [Plus]
Joined: 06/07/2010 09:30:32
Messages: 24
Offline
[Profile] [PM]

mrro wrote:

@eff3: câu hỏi tại sao lúc này là: tại sao tự dưng có ông CA thì chữ ký điện tử lại an toàn? một câu trả lời có vẻ đúng: ai cũng tin ông CA, và ông CA có trách nhiệm cấp chứng nhận để gắn một public key và một danh tính cụ thể nào đó. tuy vậy cách ông CA làm điều đó cũng là dùng chữ ký điện tử. bạn đã thấy chỗ mâu thuẫn chưa?
-m 


à chắc là mrro ý muốn nói là ông nào cũng thích xung phong làm CA đúng ko?
Theo mình nghĩ thì 1 số browser như IE hay firefox có setup default 1 số CA roots ban đầu, được xem là có thể trust được. Từ đó khi nhận được 1 cái certificate thì sẽ lần theo cái chain của cái cert đấy để verify nó.
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 16/07/2010 08:34:20 (+0700) | #29 | 215460
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
@eff3: ý của mình không phải như vậy. ý mình không có liên quan gì đến sự khác biệt giữa root CA và sub CA cả. mình nghĩ để hiểu ý của mình, bạn cần phải hiểu cách CA cấp certificate cho người sở hữu public key. họ cấp certificate dựa trên cơ chế nào?

khi đã hiểu, bạn sẽ thấy rằng, các CA đều dựa vào sự an toàn của chữ ký điện tử để hoạt động, do đó không thể nói là chữ ký điện tử an toàn hơn vì có các CA. nói như vậy là nói ngược smilie.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Một số vấn đề Chữ ký điện tử (digital signature) 16/07/2010 09:45:10 (+0700) | #30 | 215465
hvthang
Member

[Minus]    0    [Plus]
Joined: 20/07/2005 03:26:58
Messages: 187
Offline
[Profile] [PM]

mrro wrote:
@eff3: ý của mình không phải như vậy. ý mình không có liên quan gì đến sự khác biệt giữa root CA và sub CA cả. mình nghĩ để hiểu ý của mình, bạn cần phải hiểu cách CA cấp certificate cho người sở hữu public key. họ cấp certificate dựa trên cơ chế nào?

khi đã hiểu, bạn sẽ thấy rằng, các CA đều dựa vào sự an toàn của chữ ký điện tử để hoạt động, do đó không thể nói là chữ ký điện tử an toàn hơn vì có các CA. nói như vậy là nói ngược smilie.

-m  

Bạn mrro đang hỏi tiếp hay bạn khẳng định đoạn này?
Chữ ký số về cách tạo ra thì theo một chuẩn (CA ký lên cert của user, user ký lên các thông tin cần xác thực đều dùng một thuật toán).
Tuy nhiên, bạn cần lưu ý:
- CA sẽ dùng bộ khoá có độ dài lớn hơn (thường là 4096 bit)
- Khoá của CA được lưu trữ một cách đặc biệt an toàn (HSM)
- Các thủ tục để kích hoạt HSM cũng có các tiêu chuẩn an toàn nhất định (theo FIPS PUB 140-2)

Vậy nên, có thể khẳng định chữ ký của CA (đạt tiêu chuẩn kỹ thuật) sẽ có độ bền vững gần như tuyệt đối (cả về thuật toán, mật mã hoá, an toàn vật lý, con người) - nó khác chữ ký của user thông thường là ở chỗ đó (chữ ký cuả user có thể bị giả mạo nếu dùng khoá không tốt (độ dài, thuật toán,...)
Do vậy, khi được CA ký (xác thực thông tin định danh với public key) thì chứng thư số sẽ đảm bảo an toàn hơn khi không có CA mà tự ông user tạo nên chứng thư số đó và tự xác thực cho mình.

P/s: không phải vô lý mà các CA lớn họ được tin tưởng rộng rãi, họ phải đạt các tiêu chuẩn an toàn kỹ thuật cực kỳ khắt khe của các hiệp hội kiểm định (Webtrust,...),
Bạn có thể tạo một CA, và cấu hình các tham số tuỳ thích (ví dụ dùng MD4, MD5 chẳng hạn), khi đó CA của bạn sẽ không an toàn - trong trường hợp đó dù cho người dùng thuộc CA của bạn có thực hiện các biện pháp an toàn nào nữa thì cũng không còn ý nghĩa.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|