Commit graph

6282 commits

Author SHA1 Message Date
Adam Ierymenko
652f7360f0 Add key_info() to get key information. 2023-03-01 09:22:10 -05:00
Adam Ierymenko
8b6088f335 Remove old tests from ZSSP, new test in main() can also be made into a unit test in the future. 2023-02-28 18:06:47 -05:00
Adam Ierymenko
97fc6b8ff2 remove old docs 2023-02-28 18:01:26 -05:00
Adam Ierymenko
aca394946c Warning removal. 2023-02-28 18:00:44 -05:00
Adam Ierymenko
5cf99ecb1d
Tetanus noise xk (#1881)
* Noise XK work in progress.

* A whole lot more Noise_XK work... exchange almost done.

* Delete a bunch of commented out old Noise_IK code.

* Add back in send() and a few other things to Noise_XK ZSSP.

* Some p384 experiment in attic

* A ton of ZSSP work, and put MPL on ZSSP.

* updated kbkdf512 to use the modern nist standard

* Parameterize KBKDF on resulting output key size the way NIST likes.

* updated variable comment

* Make the label a const parameter on kbkdf.

* updated variable comment

* Add MPL to utils and other stuff.

* layout tweak

* Some more ZSSP work and a VDF we may use.

* warning removal

* More ZSSP work, add benchmarks for mimcvdf.

* Almost ready to test...

* Build fix.

* Add automatic retransmission in the earliest stages of session init.

* Just about ready to test... wow.

* It opens a session.

* ZSSP basically works...

---------

Co-authored-by: mamoniot <mamoniot@protonmail.com>
2023-02-28 17:54:08 -05:00
Sean OMeara
52234c44fb
silence compiler warnings about _unused_variables (#1852) 2023-01-18 10:27:25 -05:00
Sean OMeara
b622475357 README cleanup 2023-01-13 12:23:02 +01:00
Sean OMeara
e6c2bd76a1 tweaking github build 2023-01-12 19:26:13 +01:00
Adam Ierymenko
8eedf70a1f Fix logic to still dedup properly. 2023-01-11 20:08:27 -05:00
Adam Ierymenko
edf1fd4d69 Implement max skip-ahead for counter, which is really about filtering bad packets. 2023-01-11 20:05:35 -05:00
Adam Ierymenko
2479645341 Put key index inside the encrypted part of the header. 2023-01-11 19:54:04 -05:00
Adam Ierymenko
3db9603799 Change the header yet again to encrypt everything but the session ID and key index. 2023-01-11 19:31:58 -05:00
Adam Ierymenko
8202a831b2 Rename to be more descriptive. 2023-01-06 20:51:28 -05:00
Adam Ierymenko
0c18d9563e Fix FileDatabase test failure. 2023-01-06 20:46:38 -05:00
Adam Ierymenko
d2b49130b2 Fix tests, remove some dead code, fix a bug that prevented rekey rate limiting from working. 2023-01-06 20:39:20 -05:00
Adam Ierymenko
73e6be7959 Re-implement most of what Monica originally did, but with some variations:
- Went back to a single session counter instead of two counter states
 - Went to a full 64-bit counter in the header as recommended by Noise, turns
   out there is a good reason. It simplifies everything.
 - Implemented Monica's simpler stateless counter window algorithm, but
   also only one on the whole session.
 - Simplified some counter logic generally.
 - Header check codes are temporarily gone, coming back in a different form.

This is being committed "on top" of what was there instead of reverting the old
commits to preserve the history.
2023-01-06 19:51:09 -05:00
Sean OMeara
4f0a704640
Sometanus (#1835)
* adding smiley
2023-01-06 20:24:47 +01:00
Sean OMeara
012c42e821 tweaking 2023-01-06 19:46:52 +01:00
Adam Ierymenko
f0351b5400 Merge branch 'tetanus' of github.com:/zerotier/ZeroTierOne into tetanus 2023-01-05 16:10:53 -05:00
Adam Ierymenko
515a08f948 (1) break out Error for readability, (2) remove NOP packet type since it is no longer useful. 2023-01-05 16:10:25 -05:00
monica
a178a23ee7 corrected comment 2023-01-04 16:43:06 -05:00
monica
392d0a2b2a removed unnecessary boxing 2023-01-04 15:24:19 -05:00
monica
44d854e03a added explicit lifetime for session refs 2023-01-04 15:22:44 -05:00
Adam Ierymenko
d8aac1df95 Merge branch 'tetanus' of github.com:/zerotier/ZeroTierOne into tetanus 2023-01-04 11:24:19 -05:00
Adam Ierymenko
b6e68d9e7c
Merge pull request #1832 from zerotier/replay-attack-fixes
redesign of zssp
2023-01-04 11:23:58 -05:00
Adam Ierymenko
29f6699924
Merge branch 'tetanus' into replay-attack-fixes 2023-01-04 11:23:34 -05:00
Adam Ierymenko
181eb8ac34 cleanup 2023-01-04 11:09:21 -05:00
Adam Ierymenko
dc8fa144ad cleanup 2023-01-03 18:02:03 -05:00
Adam Ierymenko
ec600f994a Add both Valid and Verified typestates. 2023-01-03 17:58:28 -05:00
monica
b85e6c3d49 fixed comment 2023-01-03 17:32:15 -05:00
monica
735f40421b fixed multiple comments 2023-01-03 17:24:05 -05:00
monica
a2b3c780bb updated comment 2023-01-03 16:58:21 -05:00
monica
2233f8c535 added more documentation 2023-01-03 16:55:21 -05:00
Adam Ierymenko
382688d251 Generalize typestates, make verified valid because its more correct for Identity. 2023-01-03 15:24:46 -05:00
Adam Ierymenko
7dabeb9595 cleanup 2023-01-03 14:51:39 -05:00
Adam Ierymenko
bc02651613 Some simplification. 2023-01-03 13:36:53 -05:00
Adam Ierymenko
9430d336f9 cleanup 2023-01-03 12:46:04 -05:00
Adam Ierymenko
f3433a9840 cleanup 2023-01-03 12:00:53 -05:00
monica
046ddbaf33 renamed for consistency 2023-01-03 11:20:37 -05:00
monica
40ef370204 added missing ratcheting enforcement 2023-01-03 11:19:32 -05:00
monica
b47ef35321 removed redundant state 2023-01-03 11:14:11 -05:00
monica
cbae1d8f4c restructured check code 2023-01-03 10:48:25 -05:00
Adam Ierymenko
9c82aa2b29 More trait simplification. 2023-01-03 10:18:47 -05:00
Adam Ierymenko
d9e68701b6 A bit more simplification of generics in VL1 and VL1Service. 2023-01-02 14:49:37 -05:00
Adam Ierymenko
2fcc9e63c6 Some renaming and generic simplification. 2022-12-31 16:03:02 -05:00
mamoniot
fbd5e025d3 fixed comments 2022-12-29 13:48:43 -05:00
mamoniot
bc90b2da8d fixed comment typo 2022-12-29 13:45:08 -05:00
mamoniot
e1e73975fe fixed tests and incorrect rate limit check 2022-12-29 13:35:02 -05:00
mamoniot
4d16a30eac implemented no double bobbing 2022-12-29 13:04:29 -05:00
mamoniot
31f05bbd5e fixed duplicate rekey requests 2022-12-28 12:40:35 -05:00