Extra Systems

CYPHERNET

procedimento send_finger_print


O procedimento send_finger_print envia um ficheiro de impressão digital para o servidor Extra Systems Cypher Net, necessário para que o nosso servidor central o reconheça como nosso cliente legítimo, e também receba informações sobre qual o modo (entrada ou saída) e com que assinante pretende contactar.

Este procedimento é chamado no momento certo pelo receptor e transmissor e faz o seu trabalho utilizando o seguinte algoritmo:

int send_finger_print(int socket, unsigned int client_id, unsigned int server_id, int client_mode) {
	int file_handle;
	char file_name[64];
	unsigned char client_finger_print[PACKED_VALUE_LENTH];
	if (client_mode == CLIENT_MODE_INPUT)
		sprintf(file_name, "fingerprint_i_%d_%d", client_id, server_id);
	else
		sprintf(file_name, "fingerprint_o_%d_%d", client_id, server_id);
	if((file_handle = open(file_name, O_RDONLY)) == -1) return 0;
	read(file_handle, client_finger_print, PACKED_VALUE_LENTH);
	close(file_handle);
	socket_send_buffer(socket, client_finger_print, PACKED_VALUE_LENTH);
	return 1;
}

É de notar que o próprio mecanismo de impressão digital, que inventámos neste sistema de comunicação encriptada, serve como um dos mecanismos de proteção do servidor central Cypher Net dos Sistemas Extra contra ataques de hackers. Ao receber um pedido de ligação de um cliente abstrato (que pode ser um atacante), o servidor espera receber imediatamente a impressão digital correta do mesmo. Se tal não acontecer, o servidor deixa de conduzir conversas com esse cliente e termina imediatamente a ligação. Deixe-nos lembrar-lhe que, como os ficheiros de impressões digitais são encriptados via RSA com a chave pública do servidor (apenas no nome), que na verdade não é publicada em lado nenhum, é absolutamente impossível falsificá-los.

Assim, com a ajuda de um mecanismo tão simples, também aqui temos uma proteção que não pode ser pirateada.

O conteúdo desta página está também disponível em inglês, francês, alemão, espanhol, ucraniano e russo.


© Extra Systems, 2024 Extra Web Top