2013-07-30 1 views
-1

파일을 암호화하고 싶지만 두 개의 암호 중 하나를 사용하여 액세스 할 수 있어야합니다.2 개의 암호로 액세스 할 파일 암호화

다음은 필자의 사용 사례입니다. 사용자가 하나의 "개인"암호로 암호화되어 액세스 할 수있는 여러 파일을 가질 수있는 프로그램을 작성하고 있습니다. 각 파일에 대해 사용자는 공유 할 수있는 별도의 "공유"암호 (각 파일마다 다름)를 만들어 다른 사람이 해당 파일에 액세스 할 수 있도록 공유 할 수 있습니다. 기본적으로 각 파일은 두 암호 중 하나를 사용하여 암호 해독 될 수 있습니다.

보안 요구 사항에 따라 소프트웨어는 암호를 저장하지 않으며 해당 암호의 해시도 저장하지 않습니다. 즉, 암호 나 해시를 결합 할 수 없습니다. 그들은 서로 독립적으로 사용할 수 있어야합니다.

이 동작을 구현하는 데 사용할 수있는 암호화 알고리즘이나 방법이 있습니까? 암호화 알고리즘을 다시 구현할 생각은 없으므로, 적절한 알고리즘을 찾을 수 있다면 오픈 소스 구현을 기대할 것입니다.

+2

이것은 아마도 [crypto.se]에 속합니다. – Doorknob

+2

구현 문제가없는 암호화에 관한 질문은 스택 오버플로에 대한 주제와 관련이 없습니다. http://crypto.stackexchange.com에서 게시하는 것을 고려해보십시오. http://security.stackexchange.com을 고려할 수도 있습니다. –

답변

3

파일을 암호화하는 키를 생성하십시오. 그런 다음 각 암호를 사용하여 암호화 된 두 개의 암호화 된 버전의 키를 파일에 저장하십시오. 이렇게하면 암호 중 하나를 알고있는 경우 파일을 해독 할 수 있습니다.

+0

이 문제는 누군가가 공유 암호를 사용하여 파일이 암호화 된 루트 키를 얻지 못하게하는 것입니다. 공유 암호가 "취소 된"경우 (암호화 된 공유 암호 키 삭제) 공격자는 공유 암호로 얻은 루트 키를 사용하여 파일의 암호를 해독 할 수 있습니다. 그리고 만약 이것이 받아 들일 수 있다면, 이와 같은 계획을 세우는 것보다 두 개의 서로 다른 암호로 파일을 두 번 (별도로) 암호화하는 것이 더 쉬울 것입니다. – Syon

+0

공유 암호는 무엇입니까? 두 개의 서로 다른 암호는이 파일에 대해 생성 된 키의 암호 해독을 허용합니다. 이것은 많은 제품에서 사용되는 공통적 인 계획입니다 - pgp가 마음에 듭니다. –

+0

Op는 "개인"비밀번호와 "공유 된"비밀번호를 정의합니다. 공유 된대로 다른 사람과 공유됩니다. 더 생각해 보면, 나는 이것이 합리적인 해결책이라고 생각합니다. 나는 op가 그것을 수정하고 다시 암호화 할 때 파일에 대해 같은 루트 키를 재사용하지 않도록주의해야한다고 덧붙였다. – Syon

관련 문제