1

유효 쌍에 대한 특수 패턴으로 공개/개인 키 쌍을 만드는 방법이 필요합니다. 예를 들어 모든 유효한 쌍은 3으로 시작해야하며 훨씬 더 많습니다 이 예제보다 정교합니다. 다른 파티가 유효한 쌍을 생성하는 것을 어렵게하기 위해이 작업을하고 있습니다.유효한 키 형식의 제한이있는 공용/개인 키 쌍 생성

편집 나는 사용자가 할 수있는 익명 인증을 사용하기 위해 노력하고있어 초기 키를 기반으로 공개/개인 키 쌍을 자기 - 생성합니다. 공개 키는 서버에 대한 연결에 대한 가명으로도 사용됩니다. 나는 사용자를 인증해야하는 위치 개인 정보 보호 프로토콜에서 일하고 있지만 익명 성을 유지해야합니다. 여기에 가명이 자주 바뀌어 도스 공격을 막을 수 없으므로이 솔루션을 사용하여 방지 할 수 없습니다.

+1

모호함을 통한 보안 냄새가납니다. 왜 핵심 세대를 열심히 만들고 싶습니까? – delnan

+0

은 공격을 더 어렵게 만듭니다. 패턴을 모르는 사람이 가능한 모든 조합을 생성하여 유효한 쌍을 생성하려고 시도하면 유효한 쌍을 느리게 생성하게됩니다. 내 시스템에서 익명으로 공개 키를 사용하고 있습니다. (정상적인 사용 이외에) –

+1

이것이 DOS 공격과 관련이 있는지 확신 할 수 없습니다. "시도한 패턴을 모르는 사람이 있다면"이라는 구절은 여전히 ​​내가 모호함을 통해 보안을 생각하게 만든다. 알고리즘의 모든 세부 사항을 알고 있다고 가정 할 때 더 안전한 가정입니다. – delnan

답변

0

대다수의 비대칭 키 생성 알고리즘은 유효한 키를 생성하려는 시도를 많이합니다. 미리 정의 된 테스트가 실패하기 때문에 약한 것으로 간주됩니다. 귀하의 경우 유효한 키로 간주되기 전에 귀하의 특수 기준과 일치 하는지를 확인하기위한 추가 테스트가 필요합니다.

프로그래밍 방식으로 타사 키 생성 라이브러리를 사용하는 경우 조건에 맞는 쌍을 제공 할 때까지 계속 발전기를 호출해야합니다. 직접 생성기를 작성하면 알고리즘의 일부로 기준에 충실 할 수있는 노력을 아낄 수 있습니다.

어쨌든 나는 다른 주석가들에게 이것이 좋은 생각이 아닐 것이라는 점에 동의합니다. 키의 특정 부분이 미리 결정된 패턴과 일치하도록 요구하는 경우, 우호적 인 파티가 쉽게 발견하고 남용 할 수있는 보안을 희생합니다.

공개 키를 익명으로 사용하면 어떻게 익명 성을 제공하는지 궁금합니다. 키는 여전히 특정 클라이언트와 연관된 특정 개인 키와 연관됩니다. 그것은 당신이 키/가명을 기반으로 필터링하려고하는 것처럼 들리지만, 아마도 이것이 최선의 생각은 아닙니다. 암호화 된 서명 도움이 될까요?

+0

쌍이 자체 생성되므로 쌍을 클라이언트로 추적 할 수 없습니다. 난 단지 악의적 인 사용자가 키를 빠르게 생성 할 수 없도록하고 싶다. 즉, 무차별 한 시간 소비를 사용하여 키 생성을 시도하고있다. –

+0

무차별 대입을 사용하는 키 생성은 이미 충분히 큰 키 크기를 사용하는 경우 상당한 시간이 소요되도록 설계되었습니다. RSA와 같은 비대칭 키 생성의 경우 1024 비트가 좋습니다. 정말로 알고 싶다면 2048을 사용하십시오. – patrickvacek