답변
- SRP- 보안 원격 비밀번호-이것은 Diffie-Hellman을 기반으로합니다. 아이디어는 실제로 암호 나 암호를 도출하는 데 사용할 수있는 정보를 전송하지 않고도 상호 암호 검사를 수행 할 수 있다는 것입니다. 유선으로 안전하더라도 서버는 절대 일반 텍스트로 암호 를 저장 해서는 안되므로 여전히 암호 를 해시하고 소금을 칠 해야합니다 .
- SRP의 장점은 완료되면 상호 협상 된 암호화 키를 제공하므로 공격자가 전송 한 데이터에 대해 추론 할 수 없었습니다. 즉, 사용자가 인증되면 AES와 같은 대칭 암호화 알고리즘을 자유롭게 사용할 수 있습니다.
- UDP를 자체의 신뢰할 수 있고 순서가 지정된 (연결 지향적) 구현과 함께 사용한다고 가정하면 '패킷 시퀀스 번호'를 포함하여 전체 UDP 재생로드를 암호화하십시오. 시스템이 올바르게 설계된 경우 재생 된 메시지를 자동으로 거부하고 침입자는 암호화되어 있기 때문에 패킷 시퀀스 번호를 변경할 수 없습니다 (따라서 재생이 가능하지만 자동으로 무시 됨).
생각
인증이 안전해야합니까? 물론. 비밀번호에 문제가있을 때 보안 측면에서 타협하지 마십시오. 따라서 당신은 분명히 내 대답의 첫 번째 글 머리 기호를 고려해야합니다.
데이터가 안전해야합니까? 게임 내 구매 / 소액 거래 인 경우에만 HTTPS와 같은 시도되고 진실 된 것을 사용하지 않는 이유는 무엇입니까? 게임 트래픽을 암호화하는 것은 다음과 같은 이유로 실행 가능한 솔루션이 아닙니다.
- 완전 편집증입니다.
- (고가의) 하드웨어 암호화 모듈을 구입할 수 없다면 서버에 CPU 시간 오버 헤드가 추가 될 것입니다.
- 유선으로 데이터를 제공하는 보안의 정도는 중요하지 않습니다. 누군가가 클라이언트 프로세스를 가로 채서 메시지가 암호화되고 전송되기 직전에 메시지를 가로 챌 수 있습니다. 이 가능성하지만만큼 무한히 수뿐만 아니라 실질적으로 쉽게 분사 코드 패킷들을 인터셉트 비교. 치트 예방을 위해이 작업을 수행하는 경우 시간이 완전히 낭비됩니다.
- 암호 보안의 측면에서 유감스럽게도 납치 된 시스템에 대해 합리적으로 할 수있는 일은 없습니다. 클라이언트가 적대적이되었습니다. 블리자드 와우 동글은 이것을 처리하도록 설계되었지만 보안이 얼마나 안전한지 잘 모르겠습니다 (특히 플러그를 꽂아두면).
제발 당신이 사기 방지를 위해 암호화하는 경우를 포기. 당신은 짧게 올 것입니다-나는 당신에게 그렇지 않은 경우에 당신에게 정보를주었습니다. 패킷의 첫 번째 바이트로 패킷을 선택적으로 암호화하고 나머지는 암호화되는지 여부를 표시 할 수 있습니다.하지만 신용 카드 거래와 같은 일을 해야하는 경우 HTTPS를 계속 사용합니다. 매우 드물고 HTTPS는 귀하 또는 본인이 설계 한 것과 달리 전문가가 설계합니다.
블리자드 는 실제로 와우 트래픽을 암호화 합니다. 이것이 깨어진 주된 이유는 완전한 아마추어 일 가능성이있는 누군가가 집에서 만든 암호화 알고리즘을 시도하기로 결정했기 때문입니다. 이것은 정말 잘 펼쳐졌다 . 산업 표준 알고리즘을 사용하더라도 누군가가 코드를 리버스 엔지니어링 하고 시뮬레이션 할 가능성이 높습니다 . 클라이언트가 비밀번호를 입력하면 지원되지 않는 시스템이 연결되었다는 메시지가 표시되지 않습니다.