나는 응용 프로그램 프로토콜을 설계하고 있는데, tcp/ip에 이미 체크섬이 있으므로 프로토콜에 체크섬을 포함해야하는지 궁금합니다. 당신의 의견은 무엇입니까?tcp/ip에 이미 응용 프로그램 프로토콜이있는 경우 여전히 체크섬이 필요합니까?
1
A
답변
1
TCP 체크섬은 매우 약하므로 안정성에 대해 걱정할 필요가 없을 경우 응용 프로그램 수준 1을 원할 것입니다.
특히 TCP 체크섬은 보안 해시가 아니며 서명도 없으므로 악의적 인 변경이 걱정되면 직접 보안을 추가해야합니다.
3
비트 토 런트 프로토콜은 TCP 위에 계층화 된 부가적인 오류 수정 및 탐지 기능을 갖추고 있으므로 프로토콜 설계자는이를 분명히 알았습니다.
0
다른 답변을 추가하려면 메시지 인증 코드를 조사해야합니다. MAC은 간단한 TCP 체크섬보다 오류를 탐지하는 강력한 방법입니다.
강력한 것을 원하면 [HMAC] [2]를보십시오. HMAC는 오류 감지 및 인증 (공유 키를 통해)을 제공합니다.
더 빠르고 더러운 것을 원하면 sha1 해시를 사용하지 않으시겠습니까?
관련 문제
- 1. tcp 체크섬이 너무 약할 수 있으므로 응용 프로그램 수준 체크섬이 필요합니까?
- 2. 이미 GLIBCXX_4.1.2를 설치 한 경우 GLIBCXX_3.4.9가 필요합니까?
- 3. 데이터베이스 정규화가 여전히 필요합니까?
- 4. Delphi-2010에서 FastShareMem이 여전히 필요합니까?
- 5. 서비스 모듈에 여전히 키가 필요합니까?
- 6. authlogic - 여전히 Rails 세션이 필요합니까?
- 7. 편집기 템플리트가 이미 존재하는 경우 왜 Eclipse Snippets View가 필요합니까?
- 8. 이미 실행중인 응용 프로그램 간 전환
- 9. 다른 경우 내 응용 프로그램
- 10. Java 응용 프로그램 번들을 만들려면 Mac이 필요합니까?
- 11. jQuery에서 여전히 길이가 0 인 타이머가 필요합니까?
- 12. 응용 프로그램이 여전히 실행 중입니다.
- 13. 런타임 응용 프로그램 이름을 모르는 경우 UAC 응용 프로그램 매니페스트
- 14. 어떤 체크섬이 사용되는지 찾기
- 15. 응용 프로그램 : didFinishLaunchingWithOptions는 응용 프로그램이 이미 실행중인 경우에 해당합니까?
- 16. TFS TFS에 여전히 .vspcc 파일이 필요합니까?
- 17. 페이스 북의 새 API는 여전히 xdreceiver가 필요합니까?
- 18. 정적 라이브러리,하지만 헤더가 여전히 필요합니까?
- 19. 아이폰 개발자 프로그램 : 비즈니스 라이센스가 필요합니까?
- 20. 이미 Modernizr을 사용하고 있다면 HTML5 Shiv가 필요합니까?
- 21. 응용 프로그램 아이콘 ClickOnce 배포의 경우
- 22. 웹 개발의 응용 프로그램 유형이 다른 경우
- 23. 브라우저 응용 프로그램 외부에서 작성하는 경우
- 24. OutOfMemoryException이 ASP.Net 응용 프로그램 인 경우
- 25. iphone UDID에 통합 체크섬이 있습니다.
- 26. Java 소켓 : TCP 체크섬이 잘못되었습니다.
- 27. 웹 응용 프로그램 아키텍처 - 작업/작업 대기열이 필요합니까?
- 28. 웹 매트릭스 : 이미 VS에 정통한 경우 사용해야합니까?
- 29. 카메라가 이미 다른 응용 프로그램에서 사용중인 경우 Flex 응용 프로그램에서 감지하는 방법은 무엇입니까?
- 30. validates_length_of를 사용하는 경우 validates_presence_of가 필요합니까?