2016-11-11 1 views
0

내 메시지에는 고유 메시지 ID와 타임 스탬프 (다른 데이터와 함께) 및 페이로드가 포함 된 헤더가 있습니다. HMAC를 사용하여 전체 메시지에 첫 번째 키와 MD5 또는 SHA-256을 해시 알 고리즘으로 사용하여 서명합니다. 그런 다음 두 번째 키로 CBC AES를 사용하여 페이로드를 암호화하기 위해 IV의 첫 16 바이트 서명을 사용합니다. 메시지에 서명을 첨부합니다.암호 블록 체인을위한 초기화 벡터를 생성하는 방법이 안전합니까?

내 IV는 충분히 예측할 수 없습니까? 내 보안을 취약하게 만드는 일반적인 페이로드에 서명하고 있습니까?

+0

프로그래밍 문제가 아닌 암호이기 때문에이 질문을 주제로 끝내기로했습니다. –

+0

@ JamesKPolk 나는 동의하지 않는다. 문제는 구현과 IV 생성 및 서명이다. – zaph

+0

도움이되는 대답 수락을 고려하십시오. 대답을 수락하면 미래의 독자에게 올바른 답임을 나타냅니다. 답변을 수락하는 가장 좋은 답변 옆의 빈 체크 표시를 클릭하면 명성이 올라가고 더 많은 기능이 허용됩니다. [reputation faq] (http://stackoverflow.com/faq#reputation) 참고 [ 이 페이지] (http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work)를 참조하십시오. – zaph

답변

2

암호 무작위 (CPRNG) 기능을 사용하여 IV를 만들고이를 사용하고 암호 해독에 사용할 수 있도록 암호화 된 데이터에 미리 보냅니다.

서명이 명확하지 않은 경우 MAC 값을 제외한 전체 메시지에 서명해야합니다. 즉, 사전 앰블, IV, MAC 시드 및 암호화 된 메시지, IOW 암호화 및 MAC입니다.

관련 문제