Commit Graph

394 Commits

Author SHA1 Message Date
akwizgran
4da7a685cd Minor code cleanups. 2011-11-16 18:15:32 +00:00
akwizgran
01dd658200 Keep the connection windows in memory. 2011-11-16 17:57:56 +00:00
akwizgran
f10512d787 Erase keys after using them. (Copies created by ciphers, etc, may
still exist.)
2011-11-16 16:22:35 +00:00
akwizgran
ece03038f4 Unit test for key derivation. 2011-11-16 15:56:54 +00:00
akwizgran
a13a1769e5 Unit test for key derivation. 2011-11-16 15:54:17 +00:00
akwizgran
f6ae4734ce Forward secrecy.
Each connection's keys are derived from a secret that is erased after
deriving the keys and the secret for the next connection.
2011-11-16 15:35:16 +00:00
akwizgran
d02a68edfc Return a connection context for outgoing connections (the secret will
be included in this context in the near future).
2011-11-15 17:47:30 +00:00
akwizgran
fabdaf5957 Remove transport ID from connection context. 2011-11-15 17:32:31 +00:00
akwizgran
9220bb3426 Key derivation function based on NIST SP 800-108. 2011-11-15 17:19:11 +00:00
akwizgran
6a15c03e81 Store the incoming and outgoing secrets separately. 2011-11-15 16:07:14 +00:00
akwizgran
f41d48eb9f Made secret keys erasable from memory. 2011-11-15 14:43:06 +00:00
akwizgran
23be7fd876 Removed double-encryption of shared secrets. 2011-11-15 14:09:28 +00:00
akwizgran
6cdf68d6cb Initialise all connection windows when a contact is added. 2011-11-15 13:45:57 +00:00
akwizgran
df054b1743 Store each connection window slot as a database row.
This is less memory-efficient but necessary for the coming forward
secrecy changes.
2011-11-15 13:08:20 +00:00
akwizgran
cf49a28c95 Replaced SHA-256 with SHAd-256 to prevent length extension attacks. 2011-11-15 11:11:31 +00:00
akwizgran
effa5c9d8e Throw checked exception if concurrent attempts are made to remove a
contact.
2011-11-15 09:51:51 +00:00
akwizgran
6fd8493d3d Singleton lists and singleton sets aren't equal, so use lists
consistently.
2011-11-15 09:42:21 +00:00
akwizgran
0da94879ef Use aliases for shorter, clearer SQL. 2011-11-15 09:35:07 +00:00
akwizgran
2ad15518a5 Return transports that have no properties. 2011-11-15 09:00:51 +00:00
akwizgran
72be34768b Minor refactoring. 2011-11-14 22:14:52 +00:00
akwizgran
73aa7d14d7 Split transport identifiers into two: TransportId (globally unique)
and TransportIndex (locally unique).

This is the first step towards forward secrecy. Also removed the
Writable interface and unnecessary user-defined types, moved various
constants to ProtocolConstants and renamed some classes.
2011-11-14 21:40:05 +00:00
akwizgran
7d09102c4d Advertise the Bluetooth address if the device is discoverable. 2011-11-08 21:12:08 +00:00
akwizgran
b1d08af5a2 Patched Bluecove native code to work around a bug in OS X 10.4. 2011-11-08 21:08:55 +00:00
akwizgran
531889bd1f Log the local Bluetooth address. 2011-11-08 14:49:15 +00:00
akwizgran
a14521526f Added Bluecove source for debugging. 2011-11-08 13:30:21 +00:00
akwizgran
4bf558542b Merge branch 'refs/heads/master' of ssh://akwizgran@briar.git.sourceforge.net/gitroot/briar/prototype 2011-11-08 13:18:18 +00:00
akwizgran
2c4c8824d0 Removed references to raw types. 2011-11-08 13:17:28 +00:00
akwizgran
81012406b1 Merge branch 'refs/heads/master' of ssh://akwizgran@briar.git.sourceforge.net/gitroot/briar/prototype 2011-11-08 13:15:05 +00:00
akwizgran
ef6f61426f Removed calls to supportsMulticast() for Java 1.5 compatibility. 2011-11-08 13:14:23 +00:00
akwizgran
85e327035c Fixed some comments. 2011-11-08 12:44:42 +00:00
akwizgran
29eb900822 Non-JUnit tests for LAN socket plugin. 2011-10-30 22:39:20 +00:00
akwizgran
1b0bd6961a You can't step in the same Enumeration twice. 2011-10-30 22:35:46 +00:00
akwizgran
7065f54a57 Prefer LAN interfaces for invitations, WAN for connections. 2011-10-30 22:26:23 +00:00
akwizgran
d1676781f0 Fixed test expectations. 2011-10-30 21:42:55 +00:00
akwizgran
681e82547e Try to close sockets when an exception is caught. 2011-10-30 21:32:04 +00:00
akwizgran
2c72b1e2e2 If no local address is configured, bind to any address. 2011-10-30 21:31:24 +00:00
akwizgran
517aea3b1f Socket plugin that supports exchanging invitations by LAN multicast
(untested).
2011-10-30 20:50:55 +00:00
akwizgran
42ddfb444e Added a method to check which plugins support invitations. 2011-10-29 09:52:07 +01:00
akwizgran
70c7a9c077 Factored out non-Bluetooth-specific code. 2011-10-29 09:47:19 +01:00
akwizgran
4a9d700e61 Merge branch 'refs/heads/master' of ssh://akwizgran@briar.git.sourceforge.net/gitroot/briar/prototype 2011-10-28 16:48:34 +01:00
akwizgran
d3060a3bd6 Class IDs may be in nested lists. Don't ask me why. 2011-10-28 16:46:51 +01:00
akwizgran
559cdfaeba Merged shared code in listener classes and made casts safe. 2011-10-28 15:48:30 +01:00
akwizgran
712d9b7698 Updated test to match changes to plugin. 2011-10-28 13:37:52 +01:00
akwizgran
d2e1500ac1 Store the UUID in the local properties so it gets sent to contacts. 2011-10-28 13:17:17 +01:00
akwizgran
70c5d7ce75 Don't store the local address unless the device is discoverable. 2011-10-28 13:16:00 +01:00
akwizgran
40689b7e6e Avoid NoSuchElementException if the connection stalls. 2011-10-28 13:13:05 +01:00
akwizgran
0728f76933 Ignore case when comparing Bluetooth UUIDs. 2011-10-28 12:54:20 +01:00
akwizgran
df125bdcd2 Ignore case when comparing Bluetooth UUIDs. 2011-10-28 12:37:16 +01:00
akwizgran
48d638746c Invitation API and two (untested) implementations. 2011-10-27 17:52:03 +01:00
akwizgran
59485fe392 Added comments for columns that may be null. 2011-10-26 18:05:49 +01:00