Bạn đã hỏi một diễn đàn thống kê để được giúp đỡ về câu hỏi này, vì vậy tôi sẽ cung cấp câu trả lời dựa trên thống kê. Do đó, thật hợp lý khi cho rằng bạn quan tâm đến xác suất đoán mã PIN một cách ngẫu nhiên (đối với một số định nghĩa ngẫu nhiên), nhưng điều đó đọc nhiều vào câu hỏi hơn là được cung cấp.
Cách tiếp cận của tôi sẽ là liệt kê tất cả các tùy chọn có thể mà không hạn chế, sau đó trừ đi các tùy chọn trống. Tuy nhiên, điều này có một góc nhọn, được gọi là nguyên tắc loại trừ bao gồm, tương ứng với ý tưởng trực quan mà bạn không muốn trừ đi điều tương tự từ một bộ hai lần!
Trong mã PIN gồm sáu chữ số không có giới hạn và hệ thống số thập phân, có kết hợp có thể có, từ đến mỗi chữ số có 10 tùy chọn.106000 000999 999 :
Hãy xem xét các chữ số "hai liền kề, giống hệt nhau" trông như thế nào: , trong đó các vị trí có nhãn giống nhau và có thể là bất kỳ chữ số thập phân nào. Bây giờ hãy xem xét có bao nhiêu cách khác mà chuỗi có thể được sắp xếp theo sáu chữ số: , , và . Vì vậy, đối với bất kỳ thứ tự cụ thể nào (một trong các tùy chọn đó), có ít nhất kết hợp, vì có chữ số mà không hạn chế. Bây giờ, có bao nhiêu sự lựa chọn của ? Chúng tôi đang làm việc với các chữ số thập phân, vì vậy phải có 10. Vì vậy, cóA A XXXXMộtXA AXA A XXXXXA A XXXXXAAXXXXXAA104104A105lựa chọn cho một thứ tự cụ thể. Có năm thứ tự như vậy, vì vậy có sắp xếp thỏa mãn định nghĩa này. (Điều này có nghĩa là gì về mặt bảo mật có thể được đo lường bằng thước đo lý thuyết thông tin về mức độ này làm giảm mức entropy của không gian mã PIN.)5×105
Bây giờ hãy xem xét những con số liên tiếp trông như thế nào. Trong chuỗi , nếu chúng ta biết A, chúng ta cũng biết B và C *: nếu A là 5, thì B là 6 và C là 7. Vì vậy, chúng ta có thể liệt kê các tùy chọn sau:ABCXXX
- 012XXX
- 123XXX
- 234XXX
- 456XXX
- 789XXX
và tại thời điểm này, không rõ ràng nếu có một "bao quanh." Nếu có, chúng tôi cũng bao gồm
Mỗi giải pháp có kết hợp liên quan, theo cùng một lý do như trên. Vì vậy, chỉ cần tính ra có bao nhiêu giải pháp phải có. Hãy ghi nhớ để tính thứ tự thay thế, chẳng hạn như103XABCXX.
Bây giờ chúng ta đến góc nhọn, đó là nguyên tắc loại trừ bao gồm. Chúng tôi đã tạo bộ mã PIN gồm sáu chữ số thành ba bộ:
A. Mã PIN cho phép B. Mã PIN trống do "chữ số liền kề" C. Mã PIN trống do "chữ số liên tiếp"
Nhưng có một sự tinh tế bổ sung, mà là có một số con số 6 chữ số mà có thể được phân bổ cho cả và . Vì vậy, nếu chúng ta tính toán chúng ta sẽ trừ đi những con số đó hai lần và câu trả lời của chúng ta không chính xác. Việc tính toán chính xác là nơi là tập hợp các yếu tố trong cả và . Vì vậy, chúng ta phải xác định bao nhiêu cách có thể một số sụt giảm cả và .C | S | = | Một | - | B | - | C | , | S | = | Một | - | B | - | C | + | B ∩ C | , B ∩ C B C B CBC|S|=|A|−|B|−|C|,|S|=|A|−|B|−|C|+|B∩C|,B∩CBCBC
Có một số cách điều này có thể xảy ra:
- AABCXX
- ABCXDD
và như vậy. Vì vậy, bạn phải tìm ra một cách tiếp cận có hệ thống cho vấn đề này, cũng như một cách để theo dõi các thứ tự thay thế. Sử dụng cùng một logic mà tôi đã áp dụng ở trên, điều này sẽ rất dễ hiểu, nếu hơi tẻ nhạt. Chỉ cần ghi nhớ có bao nhiêu cách thay thế có thể có để đáp ứng cả B và C.
Các cách tiếp cận nâng cao hơn một chút sẽ tận dụng các kết quả kết hợp cơ bản và định lý cơ bản về đếm, nhưng tôi đã chọn con đường này vì nó đặt gánh nặng kỹ thuật nhỏ nhất lên người đọc.
Bây giờ, để đây là một câu hỏi xác suất được hình thành tốt, chúng ta phải có một số biện pháp xác suất cho mỗi sắp xếp. Trong giả định về một cuộc tấn công ngây thơ, người ta có thể cho rằng tất cả các kết hợp chữ số có xác suất bằng nhau. Trong trường hợp này, xác suất của sự kết hợp được chọn ngẫu nhiên là Nếu đó là loại tấn công mà bạn quan tâm nhất để ngăn chặn, thì bộ tiêu chí được đề xuất rõ ràng làm suy yếu hệ thống, bởi vì một số kết hợp đã bị cấm, vì vậy chỉ có kẻ tấn công ngu ngốc mới thử chúng. Tôi để phần còn lại của bài tập cho người đọc.1|S|
Sự nhăn nheo của "năm cho đến khi khóa" được coi là sự bảo vệ tốt hơn chống lại truy cập trái phép, vì trong sơ đồ 4 chữ số hoặc 6 chữ số, có một số lượng lớn các tùy chọn và thậm chí năm lần đoán ngẫu nhiên khác nhau có mức thấp xác suất thành công. Đối với một câu hỏi xác suất được đặt ra, có thể tính toán xác suất của một cuộc tấn công như vậy thành công.
Nhưng các yếu tố khác ngoài xác suất của chuỗi số có thể ảnh hưởng đến tính bảo mật của cơ chế mã PIN. Chủ yếu, mọi người có xu hướng không chọn mã PIN một cách ngẫu nhiên! Ví dụ: một số người sử dụng ngày sinh của họ hoặc DOB của trẻ em hoặc một số số liên quan đến cá nhân tương tự làm mã PIN. Nếu kẻ tấn công biết DOB của người dùng, thì đó có lẽ sẽ là một trong những điều đầu tiên họ thử. Vì vậy, đối với một người dùng cụ thể, một số kết hợp có thể có nhiều khả năng hơn những người khác.
* Trình tự bạn liệt kê đang tăng nghiêm ngặt và không rõ liệu cả tăng và giảm khi bạn nói "số ba chạy".