중요한 정보가 포함 된 TCP/IP 트래픽을 암호화하기 위해 서버 및 클라이언트 응용 프로그램에 AES 256 비트 암호화를 추가합니다. 우리는 매일 키를 돌릴 것입니다. 따라서 키는 응용 프로그램과 함께 메모리에 저장됩니다.응용 프로그램의 메모리를 변조로부터 보호
키 분배 과정 : 각 서버와 클라이언트가 일
에 의해 초기 키 암호화 키의 (KEK)의 목록을해야합니다
클라이언트는 그냥 시작하는 경우 또는 서버는있다 시작되면 클라이언트는 초기 키를 사용하여 서버에서 일일 키를 요청합니다. 서버는 초기 키로 암호화 된 일일 키로 응답합니다. 일일 키는 임의로 생성 된 영숫자 집합입니다. 우리는 AES 256 비트 암호화를 사용하고 있습니다.
모든 후속 통신은 해당 일일 키를 사용하여 암호화됩니다.
밤마다 클라이언트는 현재 일일 키를 현재 KEK로 사용하여 서버에서 새로운 일일 키를 요청합니다. 클라이언트가 새 키를 얻으면 새로운 일일 키가 이전 일일 키를 대체합니다.
다른 잘못된 응용 프로그램이이 메모리에 불법으로 액세스 할 수 있습니까? 아니면 Windows에서 보호되어 있습니까? 키는 파일에 쓰여지지 않고 메모리의 변수에만 저장됩니다.
응용 프로그램이 메모리에 불법적으로 액세스 할 수있는 경우 어떻게 메모리를 조작하지 못하도록 할 수 있습니까?
우리는 C++과 XP를 사용하고 있습니다 (Vista/7은 향후 옵션이 될 수 있으므로 답변이 변경되는지는 잘 모릅니다).
시스템이 아직 설계 및 구현 프로세스에서 유연한 단계에있는 경우 자체 암호화 시스템을 포기하고 SSL/TLS를 사용하여 클라이언트와 서버 간의 통신을 안전하게 유지하려는 경우가 있습니다 암호화 전문가가 개발하고 인증 한 타사 라이브러리). – Kitsune