A method for mutual symmetric authentication between a first application and a second application, the method comprises: - sending and/or receiving, by a first server, as a first element comprised within a distributed trust chain, to and/or from at least one second server, as a second element comprised within the distributed trust chain, at least one master symmetric key; - sending, by the first server, to the first application, the at least one master symmetric key; - generating dynamically, by the second server, a first derived symmetric key by using at least one key generation parameter and a first master symmetric key comprised within the at least one master symmetric key; - sending, by the second server, to the second application, the first derived symmetric key and the at least one key generation parameter the method further characterized by - generating, by the second application, a first key possession proof by using the first derived symmetric key; - sending, by the second application, to the first application, the first key possession proof and the at least one key generation parameter; - verifying successfully, by the first application, using the at least one key generation parameter, the first master symmetric key and the first key possession proof, that the first key possession proof has been generated by using the first derived symmetric key; - generating, by the first application, a second key possession proof by using the first derived symmetric key; - sending, by the first application, to the second application, at least the second key possession proof; and - verifying successfully, by the second application, using the second key possession proof that the second key possession proof has been generated by using the first derived symmetric key, as a dynamically generated and proven shared key. - sending and/or receiving, by a first server, as a first element comprised within a distributed trust chain, to and/or from at least one second server, as a second element comprised within the distributed trust chain, at least one master symmetric key; - sending, by the first server, to the first application, the at least one master symmetric key; - generating dynamically, by the second server, a first derived symmetric key by using at least one key generation parameter and a first master symmetric key comprised within the at least one master symmetric key; - sending, by the second server, to the second application, the first derived symmetric key and the at least one key generation parameter the method further characterized by - generating, by the second application, a first key possession proof by using the first derived symmetric key; - sending, by the second application, to the first application, the first key possession proof and the at least one key generation parameter; - verifying successfully, by the first application, using the at least one key generation parameter, the first master symmetric key and the first key possession proof, that the first key possession proof has been generated by using the first derived symmetric key; - generating, by the first application, a second key possession proof by using the first derived symmetric key; - sending, by the first application, to the second application, at least the second key possession proof; and - verifying successfully, by the second application, using the second key possession proof that the second key possession proof has been generated by using the first derived symmetric key, as a dynamically generated and proven shared key.