Aqui hay un tutorial no mas explicado como usar llaves foraneas con InnoDB en Mysql, y esta no mas bastante claro, ahora para referencia a mas de una llave deberia ser algo mas o menos asi:
Articulo Llaves Foraneas Mysql Código PHP:
CREATE TABLE `tablaHija` (
`columna1` int(11) NOT NULL,
`columna2` int(11) NOT NULL,
`columna3` int(11) NOT NULL,
`columna4` date NOT NULL,
`columna5` tinyint(1) NOT NULL,
PRIMARY KEY (`columna1`,`columna2`,`columna3`),
KEY `INGE_TITU_FK` (`columna1`),
KEY `PROF_TITU_FK` (`columna2`),
KEY `UNIV_TITU_FK` (`columna3`),
CONSTRAINT `FK_INGE_TITU` FOREIGN KEY (`columna1`) REFERENCES `tablaPadre1` (`columna1Padre`) ON UPDATE CASCADE,
CONSTRAINT `FK_PROF_TITU` FOREIGN KEY (`columna2`) REFERENCES `tablaPadre2` (`columna2Padre`) ON UPDATE CASCADE,
CONSTRAINT `FK_UNIV_TITU` FOREIGN KEY (`columna3`) REFERENCES `tablaPadre3` (`columna3Padre`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
espero te ayude cya