"타치 턴"오라클을 통한 학습


11

내 질문은 약간 일반적인 것이므로 그것을 정당화하는 멋진 이야기를 만들고 있습니다. 현실적이지 않다면 나와 함께 참 아라 ;-)

이야기

대기업의 컴퓨터 보안 부서 책임자 인 X 씨는 약간 편집증 적입니다. 그는 신원이나 정보 도용의 위험을 최소화하기 위해 모든 직원이 한 달에 한 번 암호를 변경해야합니다. 또한 그는 직원들이 안전한 암호를 만들 수 있다고 믿지 않습니다.

따라서 그는 매달 자신이 작성한 소프트웨어를 사용하여 새 비밀번호를 생성하여 직원에게 다시 로그인 할 수 있도록합니다. 그러나 편집증 외에도 X 씨는 약간 게으르다. 그가 생성 한 암호는 모두 어떤 패턴을 따른다. 사람들이 로그인 할 수 있도록하는 알고리즘은 암호가 규칙에 따라 "괜찮아 보인다"는 것만 확인한다. "만료 된 목록"에 없습니다.

불행하게도, 그의 소박한 행동은 많은 사람들을 쓰게 만들었고, 그들 중 한 명인 Y 씨는 자신이 자신의 암호를 해독 할 수 있음을 증명하기로 결정했습니다. 그래서 어느 날 밤, 그는 몇 개를 수집하여 개인용 컴퓨터를 사용하여 유효한 암호를 생성하는 학습 알고리즘을 설계하려고 시도합니다.

질문

Y 씨가 사용하는 오라클은 그에게 "진실"이라고 말하면서 "진실"형용사라고 말하는 점에서 조금 이상합니다. 보다 정확하게 : Y 씨는 자신의 컴퓨터가 비밀번호를 수락하면 비밀번호가 유효하다는 것을 알고 있지만, 비밀번호가 거부되면 Y는 비밀번호 유효 했는지 여부를 알지 못합니다 . 비밀번호 유효하지 않기 때문에 거부 될 수 있습니다. X 씨의 "한 달에 한 번 변경"규칙에 따라 유효하지만 더 이상 유효하지 않기 때문에 거부 될 수도 있습니다.

그러면 Y 씨는 그 환경에서 어떤 일도 할 수 있을까요? 아니면 우리는 Mr. X의 암호가 본질적으로 예측할 수 없다고 주장 / 증명할 수 있습니까 (PAC 학습 설정에 정의되어 있지만이 개념이 다른 프레임 워크에있을 수 있음)?

답변:


12

긍정적 인 예만 보아서 PAC가 언어를 배우려고하는 것 같습니다. 이것을 "긍정적 인 예에서 배우기 (단지)"라고합니다. 그러나 오라클이 완전히 진실한 경우 멤버십 쿼리가되므로 모델을 "긍정적 인 예제 및 멤버쉽 쿼리에서 학습"이라고합니다. 이 프레임 워크에는 몇 가지 결과가 있습니다. 예를 들어 트리 언어를 학습 할 수 있습니다 (보안되지 않음). DFA는 암호화 경도 결과 가 아닙니다 . (또한 이것을보십시오 .)

물론, 당신의 설정은 이렇지 않습니다. 멤버십 쿼리가 더 제한적입니다. 그러면 알려진 난치성 결과가 내가 설명한 모델에서 사용자 설정으로 전달되는 것처럼 보이지만 학습 성 결과는 수행해야 할 작업이 남아 있습니다. 그러나 X 씨의 계획은 그가 사용하는 "패턴"에 따라 안전하거나 그렇지 않습니다.

또한 "Mr. X의 암호는 본질적으로 예측할 수 없음"을 증명할 수있는 이상한 요구 사항 인 것 같습니다. 그러한 시스템을 손상시키기 위해 새로운 유효한 암호를 생성하는 것만으로는 충분하지 않습니까? 그러나 이것은 Mr. Y의 알고리즘 자체에 대한 쿼리 인 것 같습니다 ...


답변 주셔서 감사합니다. 그래도 마지막 단락을 이해하지 못합니다. 어려운 개념 수업에 대해서도 말할 수 없습니까? 나는 Y 씨가 하나의 암호를 무작위로 추측하여 운이 좋다는 것이 그가 다시 할 수 있다는 것을 의미하지는 않습니다. 그러나 나는 당신의 요점을 놓치고 있어야합니다.
Anthony Labarre

추측하기 어려운 것처럼 암호를 "스파 스"라고 가정합니다. 당신이 그렇게 생각하고 싶지 않다면, 나는 내 대답이 훨씬 더 잘 맞기 때문에 행복합니다 :)
Lev Reyzin

0

알고리즘을 리버스 엔지니어링하는 데 어려움은 이미 만료 된 키 공간의 양에 따라 달라집니다.

Mr. X의 알고리즘이 매우 제한되어 있으므로 잠재적으로 유효한 키는 10,000 개뿐입니다. X 씨가 최근에이 회사를 시작한 경우 만료 된 키가 거의없고 "거짓 부정"이 거의없는 경우 알고리즘을 리버스 엔지니어링하는 것이 상대적으로 쉬울 수 있습니다. X 씨가 이미 유효한 키 중 9,000 개를 이미 만료하여 10 개의 "false negatives"중 9 개가있는 경우 알고리즘을 리버스 엔지니어링하는 것이 훨씬 더 어려운 것 같습니다. 물론, X 씨가 Y 씨와 그의 협력자들이 이미 알고있는 키를 제외하고 잠재적으로 유효한 모든 키를 이미 만료했다면, "taciturn oracle"은 그에게 전혀 새로운 정보를주지 않을 것입니다.


0

실제로 유효한 암호는 아주 많이 만 사용될 수 있습니다. 암호 언어가 유한 한 경우 희망이 없습니다 (이 경우 유효한 모든 암호를 사용할 수 있으며,이 경우 oracle은 항상 FALSE를 반환 함).

>2

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.