Merge branch '364-introduction-responses-should-be-signed' into 'master'
Sign Introduction Information to be able to discover MITM attack The local introducee doesn't know whether each piece of information received from the introducer originates from the remote introducee or has been replaced by the introducer, i.e. whether the introducer is carrying out a man-in-the-middle attack. The introduction protocol doesn't aim to detect or prevent man-in-the-middle attacks. We only aim to establish that if the remote identity public key is not replaced then the remote ephemeral public key, transport properties and timestamp are not replaced either. This MR adds a MAC and a signature to the introduction protocol's ACK message to fulfill that aim. See #364 for the detailed security argument. Later, when the local introducee verifies that the remote identity public key belongs to a particular person (#513), she can also be sure that the remote ephemeral public key, transport properties and timestamp originated from that person. Closes #364 See merge request !297
Showing
- briar-android-tests/src/test/java/org/briarproject/IntroductionIntegrationTest.java 226 additions, 172 deletions...st/java/org/briarproject/IntroductionIntegrationTest.java
- briar-android-tests/src/test/java/org/briarproject/IntroductionIntegrationTestComponent.java 3 additions, 0 deletions...rg/briarproject/IntroductionIntegrationTestComponent.java
- briar-api/src/org/briarproject/api/contact/ContactManager.java 5 additions, 1 deletion...-api/src/org/briarproject/api/contact/ContactManager.java
- briar-api/src/org/briarproject/api/crypto/CryptoComponent.java 6 additions, 0 deletions...-api/src/org/briarproject/api/crypto/CryptoComponent.java
- briar-api/src/org/briarproject/api/introduction/IntroduceeAction.java 1 addition, 0 deletions...c/org/briarproject/api/introduction/IntroduceeAction.java
- briar-api/src/org/briarproject/api/introduction/IntroductionConstants.java 10 additions, 0 deletions.../briarproject/api/introduction/IntroductionConstants.java
- briar-core/src/org/briarproject/contact/ContactManagerImpl.java 4 additions, 9 deletions...core/src/org/briarproject/contact/ContactManagerImpl.java
- briar-core/src/org/briarproject/crypto/CryptoComponentImpl.java 8 additions, 0 deletions...core/src/org/briarproject/crypto/CryptoComponentImpl.java
- briar-core/src/org/briarproject/introduction/IntroduceeEngine.java 25 additions, 12 deletions...e/src/org/briarproject/introduction/IntroduceeEngine.java
- briar-core/src/org/briarproject/introduction/IntroduceeManager.java 123 additions, 13 deletions.../src/org/briarproject/introduction/IntroduceeManager.java
- briar-core/src/org/briarproject/introduction/IntroductionValidator.java 16 additions, 5 deletions.../org/briarproject/introduction/IntroductionValidator.java
- briar-core/src/org/briarproject/introduction/MessageSender.java 4 additions, 2 deletions...core/src/org/briarproject/introduction/MessageSender.java
- briar-tests/src/org/briarproject/introduction/IntroduceeManagerTest.java 28 additions, 28 deletions.../org/briarproject/introduction/IntroduceeManagerTest.java
- briar-tests/src/org/briarproject/introduction/IntroductionValidatorTest.java 12 additions, 9 deletions.../briarproject/introduction/IntroductionValidatorTest.java
- briar-tests/src/org/briarproject/introduction/MessageSenderTest.java 20 additions, 15 deletions.../src/org/briarproject/introduction/MessageSenderTest.java
Loading
Please register or sign in to comment