File: GSoC.md

package info (click to toggle)
libreswan 5.2-2.3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 81,644 kB
  • sloc: ansic: 129,988; sh: 32,018; xml: 20,646; python: 10,303; makefile: 3,022; javascript: 1,506; sed: 574; yacc: 511; perl: 264; awk: 52
file content (262 lines) | stat: -rw-r--r-- 7,494 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
# Google Summer of Code

## Previous Student projects

See [Student projects](https://libreswan.org/wiki/Student_projects for
completed student projects (sponsored by GSoC and others).

## Proposal submissions

Submissions must comply to all GSoC rules. We strongly urge any
interested students to read up on the previous student projects and
the below project ideas.  It is not required to be one of these ideas
- we welcome new ideas too!  Submissions that tend to be accepted and
successful are those that show from the start that the student is
putting in the time to understand the concepts.  You don't have to be
an expert already, and you can contact us at `gsoc at libreswan dot
org` for questions. Mentors like to see students that have put in some
work to understand and try things.  It is the only reliable metric we
have for new people to indicate how serious they are to take on a
project for the summer.  If implementing an RFC, read the RFC and ask
us any questions you have.  Have a look at the code base structure in
general, look at our testing/ directory.  If you don't have VPN/IPsec
experience, we are happy to give you a client configuration to gain
experience using libreswan to a real VPN server.

## Google Summer of Code Ideas

While IKE and IPsec have been around for 20 years, like SSL/TLS, the
protocols are still evolving and getting new features to deal with an
ever changing world.  The Libreswan Project's core developers have
come up with a list of projects that they believe would be interesting
for students to work on.  The mentors have a personal interest in
these projects as well.  If any of these projects look interesting to
you, feel free to contact the developers either on the (developer
mailing list)(https://lists.libreswan.org/mailman/listinfo/swan-dev)
the `#libreswan` channel on `LiberaChat` IRC.  You can also email
`gsoc at libreswan org` with any questions you have or if you would
like to introduce yourself.

A quick overview and history of The Libreswan Project was presented by
Paul Wouters as part of the Opportunistic IPsec presentation at the
[2016 Linux Security
Summit](http://events.linuxfoundation.org/events/linux-security-summit)
and there is a [video
recording](https://www.youtube.com/watch?v=Me_rl6N1m7c&list=PLbzoR-pLrL6pq6qCHZUuhbXsTsyz1N1c0&index=17)
of the presentation.

## Improvements

### Implement CHAP authentication within EAP

Libreswan currently has support for
[EAP](https://www.rfc-editor.org/rfc/rfc3748.html) authentication
using [EAP-TLS](https://www.rfc-editor.org/rfc/rfc5216).  This project
would extend Libreswan to also support EAP authentication to use CHAP.

#### Expected outcomes

A testcase demonstrating Libreswan authenticating a peer using a
[FreeRADIUS](https://www.freeradius.org/) server for CHAP
authentication.

#### Skills Required/prefered

C programming.\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size

175 Hours

#### Dificulty

Intermediate.

### Dynamically configure IKE algorithms based on cryptographic policy

Several things determine which cryptographic algorithms Libreswan can
use when establishing an IKE SA:

- the way libreswan was built
- the systems current crypographic policy
- the default crypto-suite
- the IKE SA's configuration

The goal of this project is to modify Libreswan so that dynamically
configures its default and acceptable cryptographic algorithms based
on what is permitted by the systems cryptographic policy.

#### Expected outcomes

Test case demonstrating Libreswan accepting / rejecting IKE algorithms
based on the system's crypto policy.

#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size

175 Hours

#### Dificulty

Intermediate.

## RFCs (Requests for Comment), including drafts

### [(draft)](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-g-ikev2/) Group Key Management using IKEv2

#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [(draft)](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-qr-alt/) Mixing Preshared Keys in the IKE_INTERMEDIATE and in the CREATE_CHILD_SA Exchanges of IKEv2 for Post-quantum Security

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 9611](https://www.rfc-editor.org/rfc/rfc9593.html): Support for Per-Resource Child Security Associations (SAs)

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 9593](https://www.rfc-editor.org/rfc/rfc9593.html): Announcing Supported Authentication Methods ...

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming.
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 9464](https://www.rfc-editor.org/rfc/rfc9464.html): Configuration for Encrypted DNS; huh?

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming.
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 9370](https://www.rfc-editor.org/rfc/rfc9370.html): Intermediate Exchange in the IKEv2 Protocol

Ueno has a
pull-request for some of the work; but not IKE_FOLLOWUP_KE

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 8598](https://www.rfc-editor.org/rfc/rfc8598.html): Split DNS Configuration

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.

### [RFC 7670](https://www.rfc-editor.org/rfc/rfc7670.html): Generic Raw public key support

more detailed description of the project (2-5 sentences)
#### Expected outcomes
#### Skills Required/prefered

C programming\
Writing documentation and test cases, Internet Protocols

#### Possible Mentors

TBD

#### Expected size
(90, 175 or 350 hour)
#### Dificulty
An easy, intermediate or hard/difficult rating of each project.