2009-08-08 2 views
0

많은 파일이있는 경우 궁금합니다. 몇 킬로미터 크기, 2,4,8 바이트 크기의 파일도 있습니다. 보안 구멍이 있을까요? 하나의 디스크에 10,000 개의 파일이 모두 같은 알고리즘으로 암호화되어있는 경우 (SHA512CryptoServiceProvider가 있기 때문에 SHA512라고 말할 수 있음)동일한 암호 및 키로 암호화 된 많은 작은 파일이 보안 취약점을 일으 킵니까?

보안 취약점이 있습니까? 많은 파일들이 동일한 암호와 키를 사용하기 때문에? 그들이 또한 작다는 것이 나쁘지 않습니까? 파일은 pdf, png, doc, jpg 등과 같은 알려진 형식 일 수 있습니다. 이러한 파일의 처음 몇 바이트가 알려지기 때문에 영향을 미칩니 까?

답변

0

대략 30 바이트 또는 40 바이트 미만의 파일과 관련된 위험이 있습니다. 이것은 DES가 여전히 깨지지 않는 것으로 간주되었던 초기시기 (CPU 성능이 충분해질 때까지)였습니다. 위험한 점은 두 개의 메시지를 길이만으로 완전히 추측하여 키를 추출하는 것과 관련이 있습니다.

4

SHA512는 해시 알고리즘이며 암호가 아니며 확실히 암호 시스템이 아닙니다. 암호로 (혼자서) 암호화 할 수 없습니다.

바퀴를 다시 발명하지 마십시오. 보안 구멍이 너무 쉽습니다. 기존의 안전한 파일 암호화 프로그램과 라이브러리가 많이 있습니다. 하나를 사용하십시오.

편집

X이 무엇인지 모른 채 대답 할 수 없다 "X이 안전". 마지막 세부 사항까지 암호화를 계획하는 방법은 X입니다.

하지만 확실한 대답을 드릴 수 있습니다. 암호가 매우 어렵습니다. 작동하지 않는 경우에도 (출력은 읽을 수없는 것처럼 보입니다) 읽을 수 없지만 실제로는 그렇지 않습니다. 보안을 파괴하는 실수를하는 것은 매우 쉽습니다. 따라서 자신의 암호 시스템을 구현할 때 보안이 유지되지 않습니다.

그리고 나는 그들이 무엇인지 모른 채로 암호화 원시 코드를 함께 던지고있을 때 꽤 확신합니다. 내가 닥칠 소리가 나는 것은 아닙니다. 나는 내 자신도 굴리지 않을 것이다.

+0

제 질문은 암호화하는 방법이 아니라 파일에 관한 것입니다. 나는 이해하지 못한다. 마지막에 CryptoServiceProvider를 가진 모든 것이 암호라고 생각했습니다. http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx –

+1

@ acidzombie24 : 링크 된 페이지에 명확하게 설명되어 있습니다. System.Security.Cryptography 네임 스페이스는 해시, 임의 번호 생성 및 메시지 인증과 같은 많은 다른 작업뿐만 아니라 ** 데이터의 보안 인코딩 및 해독을 포함하여 ** 암호화 서비스 **를 제공합니다. 자세한 내용은 암호화 서비스 **. " –

0

제 질문은 파일에 관한 것이 아니라 의 암호화 방법에 관한 것입니다. 나는 이해하지 못한다. 나는 마지막에 CryptoServiceProvider했다 모든 SHA 같은 암호

해시 알고리즘은 대칭 암호화되지 않습니다 생각했다. 암호화 해시 함수에 대한 주된 걱정은 충돌을 의도적으로 생성하는 누군가입니다. 그렇게 말하면서, 나는 당신이 당신의 이미지에 대한 충돌을 일으키는 사람들에 대해 걱정할 필요가 없다고 생각합니다.

+0

물론, 모든 보안 암호를 사용하면 해당 무차별 공격의 시간 요구 사항은 가능한 한 초과해야합니다. "키를 시험해보고 행운이 있기를 바랍니다. 다음 키를 사용해보십시오"키 공간의 평균 ½을 검색하는 것이 더 쉽지 않습니다. 따라서 256 비트 암호의 경우 50 %의 확률을 갖기 전에 2^255 개의 키가 있습니다. 2^255는 매우 큰 숫자입니다. 지구상의 모든 원자 (빠른 검색에 따르면 10^50)가 있다면 초당 키를 시도하면 20 억 년이 걸릴 것입니다. – derobert

+0

물론, 내 의견은 좋은 (임의의) 키를 사용한다고 가정합니다. "비밀번호"를 선택하면 모든 배팅이 해제됩니다. – derobert

0

무작위 초기화 벡터 (IV)로 좋은 cipher mode (ECB 제외)으로 올바르게 암호화 된 경우 - 동일한 키를 사용하는 많은 작은 파일이 있더라도 암호화 된 파일은 충분히 다르므로 해독 할 수 없습니다. 사실 그것은 사운드 암호화 알고리즘의 정의입니다.

0

모두가 말했듯이, SHA는 암호가 아닙니다. 해시가 아닙니다. 이것만으로도 자신 만의 암호를 구현하면 안된다는 좋은 징조가됩니다.

전문가 일지라도 암호는 어렵습니다. 아직 공개 된 것으로 보입니다. 모든 암호 구현에는 결함이 있습니다. 암호는 수년이 지나면 안전하다고 생각합니다. 실수.

동일한 키를 사용하여 다른 파일을 암호화하겠다고 말했습니까? 대부분의 cyphers는 동일한 크기의 블록을 암호화합니다.이 파일 중 일부는 pdf처럼 공격자가 처음 64 비트를 알 수 있습니다. cypher가 결정 론적이라면 평문 (처음 64 비트)을 알면 키를 복구하는 것이 간단합니다.

첫 번째 블록이 동일 할 가능성이 있기 때문에 AES와 같은 공용 구현과 좋은 사이퍼 모드를 사용하여 잘 알려진 사이퍼에 충실하십시오. 위에서 제안한 ECB는 안전하지 않은 것을 제공합니다. CBC 또는 CFB 가능성이 가장 높습니다.

+0

그래서 소금 + 암호 CBC 또는 CFB를 사용하고 알려진 블록 (머리글, 바닥 글 및 패턴)이 많은 파일을 가지고 있으면 안전할까요? 나는 AESCryptoServiceProvider를 사용할 수있다. 위의 예는 단지 예제 일 뿐이었다. (AES가 안전하지 않다는 것을 깨닫지 못했기 때문에 기쁜 것이다.) –

+1

소스 코드에 AES를 입력하면 아무런 문제가 없다. 어딘가에, 얼마나 많은 사람들이 물어 보든 당신이하는 일은 중요하지 않습니다. 이 정보를 암호화해야하는 경우 TrueCrypt와 같은 것을 사용하는 것이 좋습니다. 이것이 올바른 방법입니다. – daniel

관련 문제