banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: mrro  XML
Profile for mrro Messages posted by mrro [ number of posts not being displayed on this page: 3 ]
 
Hi bà con,

Hôm nay một người bạn gửi cho thông tin về một dự án khá thú vị:


The EFF SSL Observatory is a project to investigate the certificates used to secure all of the sites encrypted with HTTPS on the Web. We have downloaded a dataset of all of the publicly-visible SSL certificates, and will be making that data available to the research community in the near future.

This project is not fully launched yet, because we are currently engaging in vulnerability disclosure for around 28,000 websites that we observed to be using extremely weak private keys generated by a buggy version of OpenSSL.

 


Một số kết luận rút ra từ nội dung họ trình bày ở DEF CON 18:



* In addition to the implausibly large and diverse group of CAs you trust, you also completely trust all the intermediary signers they they've signed. Including, of course, DHS (slide 42). (See also: Soghoian and Stamm, "Certified Lies".) Windows and Firefox trust 1,482 CA certs (651 organizations).

* Of 16 M IPs listening on 443, 10.8 M started SSL handshake; of those, 4.3 M used CA-signed cert chains (slide 14). Thus, the majority of servers use "invalid"/invalid/self-signed certs.

* The invalid certs contain all kinds of bad stuff (see slide 16).

* The valid certs contain all kinds of bad stuff (see the rest of the slide deck).

* CAs re-use keypairs in new certs to prolong the effective life (slide 28).

* Many CAs sign reserved/private names. Several CAs have signed e.g. 192.168.1.2. That host is certified to live in many countries by many CAs. One CA thinks its identity is the same as a public/routable IP.

* The single most often signed name is "localhost" (6K distinct certs for that subject name). Many CAs have signed that name many times; a few CAs only signed it once. This suggests many CAs don't even track the names they've signed to make sure they don't get tricked into signing a name twice. Never mind the fact that they shouldn't be signing private names in the first place...A colleague of mine got a CA-signed cert for "mail".
Could that be a problem? smilie

* Your browser trusts two signing certs that use a 512-bit RSA key (slide 32).

* The bad Debian keys are not dead, and 530 are CA-signed. 73 of the 530 are revoked.
 


Mình nghĩ đây là một đề tài nghiên cứu thú vị, bạn nào có hứng thú thì thử đào sâu theo các hướng sau:

* Dựa vào nguồn dữ liệu sắp được công bố, còn những vấn đề nào khác nữa mà tác giả của các dự án chưa tìm hiểu hay không?

* Mở rộng tìm hiểu sao các giao thức khác như SMTPS, IMAPS, POP3S hoặc là StartTLS extension của các giao thức này.

* Tập trung điều nghiên các web site trong giới hạn các máy chủ Web ở VN hoặc trực thuộc các doanh nghiệp, tập đoàn, tổ chức tài chính ngân hàng ở VN. Hồi trước (khoảng 09/2009), mình cũng có làm một cái survey nho nhỏ về việc cấu hình SSL/TLS trên các web site thuộc các ngân hàng và tổ chức tài chính ở VN (sử dụng một công cụ tương tự như https://www.ssllabs.com/). Kết quả mà mình quan sát được là hầu hết các web site này đều cấu hình SSL/TLS sai. Nên mình nghĩ nếu làm theo hướng này, nhiều khả năng sẽ thu được những kết quả thú vị.

Xem thêm: http://www.eff.org/observatory

-m
@louisnguyen27: bạn trả lời mình không hiểu gì hết :p. vậy làm sao mà đi tư vấn? àh cũng có khi đó là cách tư vấn hay, cứ nói sao mà khách hàng không hiểu là họ thấy sợ và thích thôi smilie.

-m

PS: mình không hiểu cái ý mã MD5 dễ hơn mã di truyền rất nhiều. dễ ở đây nghĩa là gì?
@louisnguyen27: The Joker có nói, if you are good at something, never do it for free. Hi hi hi mình không hiểu lắm nha, bạn nói là bạn có thể làm risk management cho information system, mà đồng thời lại kêu là kém về kỹ thuật (cái này thì mình tin :p).

nếu mà kém về kỹ thuật, thì làm sao đánh giá đúng risk cho hệ thống thông tin, vốn dĩ phần nhiều là liên quan đến các vấn đề kỹ thuật? rồi làm sao kiến nghị các control thích hợp, và triển khai các control được chọn lựa? nhờ bạn giải thích cho mình nghe với.

-m

PS: mình thấy "trở thành hacker" cũng giống như "trưởng thành". sẽ không có một cột mốc, mà cứ vượt qua đó, thì chúng ta sẽ nghiễm nhiên đạt được các *danh hiệu* này. mà đó là một quá trình dài hơi, dài lắm, liên tục sửa sai, liên tục giải quyết trở ngại, liên tục chinh phục và khám phá tri thức mới.

như nhiều bạn đã nói, trước nhất phải đam mê. nothing great in the world has been accomplished without passion. đam mê hoàn thiện bản thân, đam mê tìm tòi, khám phá, đóng góp tri thức mới. đây chính là thái độ.

@conmale: he he he đây là một câu hỏi lý thú. em không biết em đang mang *mũ gì*, nhưng nhìn vào vấn đề này, em thường sẽ cho tiến hành song song 02 giải pháp sau đây:

* security = prevention + detection + response. thông thường người ta chỉ tập trung vào prevention, mà quên rằng, prevention rồi sẽ thất bại. firewall rồi sẽ thất bại, anti-virus rồi sẽ thất bại, và thậm chí như trường hợp mà anh conmale đưa ra, (tạm thời) không thể ngăn chặn. thành ra một giải pháp toàn vẹn (ngay cả khi đã sửa những lổ hỗng đã phát hiện), phải dành phần nhiền tiền của và công sức vào detection và response. em sẽ cho tiến hành xây dựng hệ thống theo dõi cũng như các quy trình xử lý khi phát hiện có các biểu hiện khác thường trên hệ thống.

* song song với giải pháp thứ nhất, nếu nguồn lực cho phép, em sẽ tiến hành hack vào mã nguồn chương trình để điều chỉnh và vá những lỗ hổng đã phát hiện. nếu không có mã nguồn thì có thể đàm phán để lấy mã nguồn, hoặc là sử dụng kỹ thuật reverse engineering để khôi phục mã nguồn.

-m

conmale wrote:

H3x4 wrote:

Còn vấn đề cuối cùng trong bài của bạn ducnguyen có nhắc tới đó là việc tham gia diễn đàn, một bài viết ra, một câu bình luận sẽ luôn luôn gặp phải những suy nghĩ và phản ứng trái chiều, sẽ có lợi cho một số và không có lợi cho số khác, người này nói nó đáng để học tập nhưng người khác lại nói đó chỉ là sự nông cạn hay "quăng bom", nó giống như một xã hội thu nhỏ vậy, anh conmale có thể chia sẻ một chút nguyên tắc của mình khi đối diện với những vấn đề như vậy không?
Cám ơn mọi người!
 

Theo anh nghĩ, không riêng gì ngành CNTT mà bất cứ ngành nào, khi một ý tưởng, cảm nhận, quan điểm... được nêu ra thì chắc chắn phải có ít nhất là 2 luồng bênhchống được hình thành. Đặc biệt nếu những ý tưởng và cảm nhận ấy không được trình bày và biện chứng một cách khoa học, một cách chính xác và có lý lẽ thì 2 luồng bênh và chống càng gia tăng bởi vì nó mở cửa ra cho những suy luận và diễn giải ở nhiều góc độ khác nhau. Dù gì đi chăng nữa, đó là hiện tượng nên có bởi vì đó là dấu hiệu khoẻ mạnh của xã hội: biện và phản biện.

Khi đưa ra một vấn đề gì đó (xuyên qua bài viết chẳng hạn), luôn luôn sẵn sàng đón nhận những chỉ trích tệ hại nhất cũng như những cổ vũ ồn ào nhất bởi vì đây là chuyện chắc chắn không thể tránh khỏi. Thật ra, nếu lấy lý do rằng mình viết bài và "bị" phản ứng trái chiều nên không muốn viết nữa thì đó là tư duy thụ động và thiếu sự vững vàng trong quan điểm của cá nhân. Trái lại, hãy cám ơn những phản ứng trái chiều đó bởi vì đó chính là nguồn phát triển tri thức và khả năng tư duy.

Nhận ra cái sai, cái thiếu sót đã là khó nhưng chấp nhận cái sai, cái thiếu sót thì càng khó bội phần và để có cơ hội nhận được cái sai, cái thiếu sót để đi đến chỗ chấp nhận cái sai, cái thiếu sót thì việc cần thiết đầu tiên là: nêu ra ý kiến (xuyên qua bài viết chẳng hạn). Để làm được điều này, chính bản thân mình phải trung thực, tỉnh táo và dũng cảm đón nhận phản hồi. Từ đó, mình mới có thể đi xa hơn. Những góp ý dạng "quăng bom" chỉ nhằm mục đích phá hỏng hoặc làm lạc đề vấn đề được đưa ra không chóng thì chày nó cũng sẽ bị loại bỏ. Nếu chính mình bị cuốn vô cõi "quăng bom" thì đó là do mình không tự chủ và không tập trung vào những giá trị mình đưa ra. Tuy nhiên, có những góp ý mới xem qua thì na ná "quăng bom" nhưng thật ra lại là những góp ý tạo kích thích cho suy nghĩ và phản biện. Bởi vậy, nên tỉnh táo mà xét tình hình. 


Anh conmale viết hay quá. Hồi trước em có đọc được trên blog của một người bạn một bài viết cũng mang tinh thần thế này:


Tôi định không viết gì nhỉ?

Tôi định viết gì nhỉ? Trả lời cho câu hỏi này khó quá đi, có quá nhiều thứ để viết (nên chẳng biết nên viết cái gì). Hay là thử trả lời cho câu hỏi: tôi định không viết gì nhỉ?

Haha chỉ đổi câu hỏi có một chút xíu mà đã thấy bối rối lắm rồi nhe. Nếu tôi viết ra đây những gì tôi không định viết ra, vậy liệu những gì bạn sắp biết có phải thật sự là những điều tôi không định nói cho bạn biết? Chắc chắn không, bởi tôi đã nói cho bạn biết rồi còn gì nữa. Bạn đã thấy được sự mâu thuẫn? Tôi sẽ chẳng nói cho bạn biết những gì tôi không định nói đâu, tôi cũng không ép bạn kể cho tôi nghe những điều bạn không định kể. Bí mật nên được tôn trọng bởi vì chúng làm nên sự hấp dẫn ở mỗi con người, phải không bạn?

Nhưng ở đây thì khác, tôi không bàn về "bí mật", chữ "định không viết" của tôi dùng để chỉ những thứ tôi nghĩ tôi không nên viết trên blog của mình. Viết một cái blog giống như sống thêm một cuộc đời mới, nơi mỗi ngày tôi lại thấy mình lớn lên thêm một chút khi nhận ra cái entry ngày hôm qua, hôm kia hay ngày nọ của tôi thật ngớ ngẩn, ấu trĩ, chẳng "người lớn" tí nào. Bạn có bao giờ trải qua cảm giác đó chưa? Lần giở những cuốn sổ hay ngồi hồi tưởng lại những điều đã qua rồi bất chợt thấy mắc cỡ quá, sao hồi đó mình có thể ngớ ngẩn và ấu trĩ đến như thế được nhỉ? Mà cái "hồi đó" có khi chỉ mới ngày hôm qua, hay tuần rồi, thậm chí ngay sau khi bấm cái nút submit. Rồi nghĩ vẩn vơ, không biết có ai khác nhớ mấy cái "phi vụ" đó không trời? Rồi ngồi cười khì khì một mình như bị tâm thần. Như tôi bây giờ nè. Đúng là bỗng nhiên mà họ lớn.

Cách đây vài phút, tôi nghĩ đến chuyện lập ra danh sách những điều tôi không nên viết trên blog, những điều sẽ làm tôi trở thành một kẻ ngớ ngẩn và ấu trĩ (trong suy nghĩ của bạn). Nhưng lại có một mâu thuẫn ở đây, nếu tôi không muốn cho bạn biết tôi là một kẻ ngớ ngẩn, thế thì làm sao tôi lớn lên hay trưởng thành hay chính chắn thêm được nữa? Mà tôi không lớn lên, không trưởng thành hay chính chắn thêm thì một ngày nào đó bạn sẽ nhận ra ngay tôi là một kẻ ấu trĩ, một đứa bé trong hình hài người lớn. Thế nên một danh sách những điều ngớ ngẩn không nên viết là hết sức vô bổ. Tôi sẽ tiếp tục viết, với một hi vọng, ngày mai hay ngày mốt hay một năm sau, đọc lại chúng, tôi thấy mình lớn hơn.

Nhưng lớn mãi àh, phải có điểm dừng chứ? Hồi còn 1x, tôi cứ nghĩ chắc đến khi tôi lên hàng 2x, sẽ không còn mấy cái vụ nhớ-rồi-mắc-cỡ-rồi-lớn-tiếp nữa đâu. Vậy mà nó vẫn xảy ra đều đều, càng lớn càng ít nhưng vẫn có chứ không hết hẳn. Không biết đến khi nào mới thật sự hết nhỉ? Đến khi nào tôi mới thật sự lớn hẳn luôn, tạm gọi là trưởng thành, chứ không còn cái kiểu lưng chừng xuân thế này? Đến khi cưới vợ hay đến khi làm bố hay nó sẽ tiếp tục như thế đến chừng nào tôi ngủm củ tỏi? Tôi ngờ chắc cũng còn lâu lắm, nên bắt đầu lớn ngay từ hôm nay là vừa!

Oops, tôi viết cái gì thế này? Đây không phải là những điều tôi định nói với bạn đâu!
 


-m
@zjm_zjm: dòng thông báo lỗi rõ ràng rồi mà. bạn tìm cách build lại pydasm ngay trên máy bạn là được.

-m
@louisnguyen27: chỉ vì cha mẹ mong muốn mà làm được tiến sĩ thì quả thật là xuất chúng. không biết bạn có thể chia sẻ công trình sáng tạo, hay nói chung là đóng góp của bạn vào *chuyên ngành sâu* mà bạn đã có bằng tiến sĩ hay không?

-m

StarGhost wrote:

Ngoài ra, mình cho rằng có một thứ còn yếu hơn PKI và WoT rất rất nhiều mà nó vẫn được dùng hết sức phổ biến, mà hình như chưa bao giờ bị than phiền về vấn đề security. Mình để bạn đoán thử coi nó là cái gì?
 


mình đoán nha: chữ ký tay. tệ hơn nữa: chữ ký tay gửi qua fax.

@hvthang: mình không trả lời bạn, chứ không phải là mình chỉ lấy ý của bạn invalid-password để trả lời. mình nghĩ đơn giản lắm, sai mà không chịu nhận thì phải trả giá thôi, nên mặc dù mình biết nhưng mình sẽ không thèm nói.

-m
hahaha hay thật. nhờ bạn SG nói vài lời mà cuối cùng bạn hvthang cũng đã hiểu ý mình.

@eff3: mình đọc câu hỏi của bạn rồi mà không biết trả lời thế nào. nhìn chung thì bạn đang đi đúng hướng, nhưng để từ câu hỏi "tại sao X lại an toàn trước các tấn công đã biết" đến câu trả lời "tự vì bài toán Y được xem là khó (nghĩa là không có giải thuật chạy trong thời gian đa thức)" thì phải trải qua nhiều bước nữa. có lẽ mình sẽ viết một bài giới thiệu về những bước này.

@invalid-password: bài trả lời của bạn rất hay.

-m

hvthang wrote:

Điều này bạn có thể đọc các tài liệu liên quan đến mật mã hoá (cả thế giới đã công nhận RSA với 4096 bit và SHA-128, 256 là không thể phá được).
Mình sử dụng khái niệm gần tuyệt đối bởi hiện tại nó là không phá được, tuy nhiên tương lai thì không ai dám chắc cả.
 


smilie. mỗi khi mình hỏi đến mấu chốt vấn đề tại sao lại như thế, thì bạn kêu là có thể đọc sách để hiểu. mình muốn hỏi ngay chính bạn, tự vì bạn là người đưa ra cái nhận định đó. nếu bạn không thể tự bảo vệ được nhận định của mình, thì mình nghĩ không nên đưa ra những nhận xét như đúng rồi.

hvthang wrote:

Bạn muốn nói đến việc giả mạo cert của root dựa vào lỗ hổng sử dụng MD5? Bạn cũng biết MD5 đã không còn an toàn, cho nên nó không được sử dụng trong các hệ thống CA mới xây dựng gần đây (chủ yếu các CA có từ khoảng năm 200).
Cho nên cái CA bạn nói nó không ngon lành đâu bạn.
 


Ha ha ha chính là vì nó không ngon lành, mà nó vẫn được tất cả các browser tin tưởng, nên mình mới nói nhận định của bạn "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" là sai sự thật.

hvthang wrote:

Tuy nhiên, chứ ký có an toàn không phụ thuộc vào nhiều nhiếu tố, và CA là một yếu tố quan trọng. Nhờ CA mà chữ ký của người dung an toàn hơn ở các góc độ sau đây (ở tầm ứng dụng thực tế và vĩ mô hơn một tí so với các công thức thuật toán):
- Không có CA, các chữ ký sẽ không có chút giá trị nào (và chắc chắn cũng chẳng an toàn vì nó hoàn toàn có thể bị giả mạo - không có CA chẳng có gì để kiểm soát được việc này).
- Không có CA, không ai chứng thực cho cái khoá public của user là của họ cả. Do vậy, độ an toàn của cái chữ ký cũng chẳng có ý ngĩa nữa.
- Tất nhiên, chữ ký được tin tưởng rộng rãi hơn
- ... tạm thời là thế,
 


mình có cái keyword dành cho bạn: web of trust. trong cái mô hình web of trust, chẳng có thằng CA nào cả, nhưng chữ ký vẫn có giá trị đó bạn smilie.

-m

PS: mình chẳng đánh đố bạn làm gì, mà chẳng qua mình thấy bạn có nhiều phát biểu như đúng rồi, nên mình thắc mắc thôi.

hvthang wrote:

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,...)

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.
 


---> mời bạn giải thích tại sao thuật toán và mật mã hoá mà CA sử dụng lại có độ bền vững gần như tuyệt đối. nhân tiện nhờ bạn giải thích thế nào là gần như tuyệt đối luôn.

---> mời bạn giải thích nếu mà các CA ngon lành như bạn nói thì tại sao lại có cái tấn công làm giả một cái CA certificate được tất cả trình duyệt tin tưởng?

về câu hỏi của bạn, mình khẳng định như thế, bởi vì thao tác cơ bản của một CA là ký vào public key của khách hàng. thành ra phải có chữ ký điện tử an toàn thì mới xây dựng được các CA. hệ thống CA được tạo ra là để giải quyết vấn đề xác thực danh tính (và họ làm việc đó bằng cách sử dụng chữ ký điện tử), chứ không phải để làm cho chữ ký điện tử an toàn hơn.

-m
@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
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.

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

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
à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 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
@LeVuHoang: câu thứ nhất đúng rồi.

về phạm vi ảnh hưởng của padding oracle, thì cái hay nhất phải kể đến CBC-R. tiếc là buổi vừa rồi không giới thiệu kịp.

-m
@Jino_Hoang: thứ năm tuần này, mình sẽ có bài thuyết trình về đề tài này, trong khuôn khổ hội thảo chuyên đề Web Security, do VNISA và OWASP Vietnam tổ chức.

Thời gian và địa điểm: http://www.vnisahcm.org.vn/Hoat-dong/Hoat-%C4%91ong-trong-nuoc/Hoi-thao--Web-Security-.aspx

-m
* Tool, slide và paper: http://netifera.com/research/

* Video demo: http://www.youtube.com/watch?v=euujmKDxmC4

* Media smilie: http://www.theregister.co.uk/2010/06/08/padding_oracle_attack_tool/

Riêng cái paper, chắc phải đợi sau tháng 8, mới có một cái paper chính thức hay ho hơn, do mình mới sửa lại và nộp cho một chỗ để họ peer review.

-m

zjm_zjm wrote:
Thanks smilie,
PS cái đó mục đích của mình chỉ là úp lên thôi smilie 


Bỏ luôn cái kiểu trả lời một hai chữ, chẳng ăn nhập vì vào cái nội dung đang thảo luận như thế này nha.
làm ơn muốn viết tiếng Anh thì hãy cố gắng một chút viết tiếng Anh cho nó đúng. còn nếu mà cảm thấy chưa viết được tiếng Anh thì hãy viết tiếng Việt.

-m

nhanth87 wrote:
Chào anh, rất vui vì nhận được phản hồi của các anh. Ý em là ở đoạn 2.2 trong papers của anh có viết: gửi rất nhiều ciphertext tới một oracle nào đó và nhận thông báo lỗi chúng ta có thể đoán được là nó có phải padding oracles không phải không ? Như vậy:

đây có phải là chosen ciphertext attack không ạ?
Và tại sao lại có báo lỗi đó? 


1. đúng là chosen-ciphertext attack đó bạn. tự vì attacker được quyền chọn ciphertext để gửi đến mục tiêu mà. chương đầu tiên của "applied cryptography" có giải thích rất rõ và dễ hiểu về các loại tấn công trong cryptography, bạn nên đọc.

2. tại sao có lỗi đó thì trong paper mình đã có viết rồi. chủ yếu là do lập trình viên cho rằng việc thông báo lỗi là cần thiết. hoặc nhiều khi họ cũng không biết là hệ thống có thể phát sinh lỗi, nên không viết mã để xử lý, thành ra lỗi nó hiện ra rõ mồn một cho những ai muốn tìm.

-m
@nhanth87: mình không hiểu câu hỏi của bạn.

@B O O B: padding oracle attack chính là 1 loại bit side-channel attack đó bạn.

@StarGhost: cảm ơn smilie. đúng là nó đó. giờ chắc StarGhost hiểu tại sao có lần mình nói là chopchop có cùng nguồn gốc với padding oracle attack. ý tưởng cơ bản là rất giống nhau.

về cái buổi nói chuyện thì có mấy cái review sau đây có lẽ là mô tả chính xác những gì đã diễn ra:

http://www.corelan.be:8800/index.php/2010/04/16/blackhat-europe-2010-barcelona-day-10/

http://blog.rootshell.be/2010/04/15/blackhat-briefings-day-2/

http://blog.c22.cc/2010/04/15/blackhat-europe-practical-crypto-attacks-against-web-applications-2/

về paper, slide và tool, chắc phải tuần sau mình mới upload lên được.

-m

Hello bà con,

Sáng hôm qua mình và một người bạn đã trình bày đề tài "Practical Padding Oracle Attacks" tại hội thảo BH EU 2010. Tại hội thảo mình đã trình bày cách sử dụng Padding Oracle attack, một phương thức tấn công cực kỳ mạnh mẽ, có thể giúp cho attacker giải mã ciphertext mà không cần biết key hoặc thuật toán đang được sử dụng.

Mình cũng trình bày các sử dụng Padding Oracle attack để tấn công RubyOnRails, để crack CAPTCHA, để giải mã view state của JavaServer Faces. Quan trọng hơn hết là CBC-R, một kỹ thuật rất mới để biến một decryption oracle thành một encryption oracle. Sử dụng CBC-R, chúng ta có thể tạo được những ciphertext với plaintext tuỳ chọn mà không cần biết key, hoặc thậm chí là thuật toán được sử dụng.

Có khoảng hơn 100 người nghe, nhìn chung thì đa số không hiểu gì :-D, tự vì hai lý do: tiếng Anh của người trình bày không được trôi chảy và nội dung thì lại khó. Nhưng bù lại là cũng có khoảng 20-30 người hiểu, quan tâm và đặt câu hỏi sau buổi trình bày. He he he trong đó có một ông người Ba Lan, tác giả của stunnel smilie.

Các bạn có thể download paper và slide ở đây http://www.blackhat.com/html/bh-eu-10/bh-eu-10-archives.html. Nhưng mà phiên bản trên đó không phải phiên bản mới nhất. Mình sẽ upload phiên bản mới nhất lên trong vài ngày tới.

Ngoài ra mình còn làm một video http://www.youtube.com/watch?v=e46A-PUpDvk để mô tả cách thức sử dụng padding oracle để crack CAPTCHA bằng javascript.

-m

mR.Bi wrote:

vikjava wrote:

Trong này tớ không thấy chỗ nào đề cập tới AES-256 và RC4 . Vậy tại sao có sự khác nhau khi xem cert và cơ chế nào tạo ra sự khác nhau đó.
...
 

Không đề cập vì verisign chỉ ký cert chứ đâu có tạo cert, thuật toán nào là do người tạo và application dùng để tạo ra cert đó. 


Sai rồi bạn ơi. Trong cái cert có chỗ nào quy định dùng với thuật toán nào đâu. Cách đây vài tháng mình có làm một cái presentation ở Đại học BK Tp.HCM về lỗ hổng mới trong TLS/SSL, lần đó mình có giải thích rất rõ mấy cái này. Tiếc là ở HVA có rất ít bạn đi nghe.

Ngắn gọn lại thì việc dùng AES256 hay RC4 là kết quả của bước bắt tay của giao thức TLS/SSL. Nói cách khác thì cùng một cert, có khi lại dùng AES256, có khi lại dùng RC4, nên cả nội dung cái cert và người ký nó đều không có liên quan.

-m
@Copyl3ft: tôi không biết bạn đang đùa hay là đang nói nghiêm túc? nếu mà đùa thì nhạt quá, còn nếu nghiêm túc thì tào lao quá. bớt bớt chút cho diễn đàn bớt rác bạn nha.

-m
 
Go to Page:  First Page Page 5 6 7 8 10 11 12 Page 13 Last Page

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