We are more and more dependent on our computing infrastructure, and yet its security is challenged every day. From a research viewpoint, a lot of progress in security has been made, using in particular formal methods and programming language techniques. This has lead us to a first few small, exemplary verified systems and protocols. In spite of these results, it is still hard to gain strong confidence that a program is correct and secure, and most of the software that we depend upon offers very few guarantees. In this thesis, we focus on language-based security by construction. We take as input the specification of a distributed computation involving multiple participants, together with its expected security properties. We then verify that ...