Xelerance
 
 
about   services   appliances   software   support   training   engagements   contact
     
 

Google Summer of Code 2009 proposals

Xelerance is the company behind GPL software such as Openswan and Xl2tpd. Its opensource development specialises on projects involving IPsec, DNSSEC and cryptographic software in general. Xelerance wishes to enhance implementations of some cryptographic programs and protocols and to make deployments of crpytopgrahic software, a nightmight in general, practical. Most of our ideas for the GSoC are intended to make it easier to deploy these technologies on laptops, servers, and embedded devices such as phones and DSL routers (Linksys wrt, etc).

  • Openswan Google Summer of Code ideas
  • DNSSEC Google Summer of Code ideas
  • OTR Google Summer of Code ideas

Contact: gsoc@xelerance.com

Openswan Google Summer of Code ideas

Openswan is an implementation of the IPSec and IKE protocols for Linux (and recently FreeBSD). It is the defacto IPsec client used with most Linux distributions and Linux based VPN appliances.
Synopsis OSX Cocoa GUI
Description Openswan has recently been ported to OSX. Openswan runs through a few configuration files, which are parsed by a library (libipsecconf). Commands to add, delete, up or down IPsec tunnels are done through a CLI. The OSX Cocoa application would use the parser library to add, modify and remove IPsec tunnel definitions, and would provide a GUI on top of the existing CLI commands.
Requirements C++, Objective C, Human Interface Design, An OSX desktop
Difficulty Medium - if student has knowledge of requirements
Mentor Leigh Honeywell and Stefan Arentz (backup Patrick Naubert)
Notes

Synopsis Openswan / Xl2tpd plugin for Network Manager
Description Create an Openswan and xl2tpd plugin for the Linux desktop that uses Network Manager. The plugin should allow PSK, X.509 and raw RSA for IPsec and support specifying an L2TP username and password. Note that NetworkManager has some restrictions. It wants to communicate only using its own datastore and command line paramters, and not via temporary files or other software package files. Design a compromise that uses openswan and xl2tpd config files, command line arguments, while trying to let NetworkManager store tunnel information using its own native methods.
Requirements Python with python-gtk or C with GTK, Human Interface Design
Difficulty Medium
Mentor Paul Wouters (backup Leigh Honeywell)
Notes -

Synopsis Openswan/Xl2tpd application for Android / Openmoko
Description Create an Openswan and xl2tpd application for the Linux embedded environment, such as the Android or Openmoko phone. Openswan runs through a few configuration files, which are parsed by a library (libipsecconf). Commands to add, delete, up or down IPsec tunnels are done through a CLI. A GUI wrapper that fits in with the Window/Application Manager used on the phone would greatly assist deployment of IPsec and xl2tpd on these devices. The GUI application should be able to configure and manager PSK, X.509 and raw RSA for IPsec and support specifying an L2TP username and password.
Requirements Python, GTK, Human Interface Design, a Linux desktop, and/or Android/Openmoko phone
Difficulty Medium
Mentor Paul Wouters (backup Leigh Honeywell)
Notes We have a Neo Freerunner, but not an Android for the student

Synopsis IPv6 verification
Description Using the NETKEY builtin Linux IPsec stack, Openswan supports IPv6 with most of its scripts. However, the configuration files and the libipsecconf parser do not consistently support IPv6 yet. The student would create test cases for our existing test harness. Once these test cases exist, the student would identify problems where IPv6 is not correctly handled, and resolve these issues. The testing infrastructure used by Openswan is based on User Mode Linux(UML). You can find examples of testcases in the openswan source code in openswan-2.6.x/testing/pluto/.
Requirements Some knowledge of IPv6, shell scripts and/or tcl.
Difficulty Writing the testcases should be fairly easy, as IPv4 testcases already exist. Fixing problems in the parser and or other components will be more difficult. Setting up your environment to run UML testcases is somewhat difficult at first, but a Mentor will assist you with that task.
Mentor Leigh Honeywell (backup Patrick Naubert)
Notes -

Synopsis IKEv2 NAT and EAP extensions
Description Build a EAP extension for the IKEv2 IPsec protocol implementation of Openswan. Create testcases and perform at least one interop test with another implementation.
Requirements C, In depth knowledge of cryptography and protocol design
Difficulty Very Hard
Mentor Paul Wouters (backup Patrick Naubert)
Notes

Synopsis Openswan live test client and server implementation
Description Often new endusers of Openswan have to fight all their battles at once. They need to understand IPsec, networking, the Openswan configuration syntax and often specific IPsec hardware or software at the other end of the IPsec tunnel. It then becomes hard to diagnose where your problems lie. The idea behind ipsec livetest is to add a command that will attempt to setup various types of predefined IPsec tunnels to the Xelerance IPsec test network. Users do not need to worry about Openswan syntax or configuration of the other end of the IPsec tunnel, and can thus easilly find any anomalies in their ISP's network such as IP filters, Path MTU issues, MTU size problems, routing issues, etc. This functinality would be incorporated to the Openswan software. There is a very rough proof of concept code written for this, but the student will have to write the openswan client scripts, as well as implement the Xelerance livetest network end on one or more Xen servers running Linux.
Requirements Basic networking, Python/Perl or shell scripting [tbd]
Difficulty Easy
Mentor Leigh Honeywell (backup Paul Wouters)
Notes -

See Openswan

DNSSEC Google Summer of Code ideas

DNSSec is the next generation DNS system, which provides secure and authoritative DNS lookups. It was recently approved as an IETF standard - RCF4033, RCF4034, RCF4035. Since there can not be a flag day for switching DNS to DNSSEC, this raises a lot of deployment questions. Deployment issues exist for the enduser and applications, the zone administrator, the resolver administrators at ISP's, and the TLD administrators.
Synopsis Build tools for creating and publishing DNSSEC test data
Description To test DNSSEC software implementations, there is a need for a large set of DNSSEC data representation all of the good and bad situations that can occur. Examples include bad DNSKEY records, expired signatures, broken signatures, wrong DS record, modified zones after signing, etc etc. Since all of this data is time sensitive, the test data has to be re-created periodically (say every week). Once this data set has been created, testcases can be written for testing DNSSEC resolvers such as ISC Bind nameserver, or the NLnetlabs unbound nameserver, the ldns library resolver library, or future secure resolver implementations. This data can also be used to test RFC-5011 implementations, such as the autotrust daemon.
Requirements Some DNS knowledge, python or perl or ruby.
Difficulty Easy
Mentor Paul Wouters (backup Leigh Honeywell)
Notes The data, like the software, will be published in Xelerance's DNSSEC server for testing by third parties.

Synopsis Automatic discovery of DNSSEC deployment in TLDs and other high profile domains
Description Have an automated tool represent, via Google MAPS API, the current testing and production deployments of DNSSEC at TLD's. Include an open mailing list service to receive announcements if existing DNSKEY's in TLD's change, or new ones are added. Include pointers on the google MAPS to the responsible NIC organisations' DNSSEC information page. In other words, a more automated version of www.xelerance.com/dnssec
Difficulty Easy
Mentor Leigh Honeywell (backup Paul Wouters)
Notes The data will be put in the public domain. In addition, Xelerance will host this data for use with by third parties. Software will obviously also be opensource.

Synopsis Automatic DNSSEC Lookaside Verification(DLV) submission on behalve of DNS zone administrators to encourage further DNSSEC deployment.
Description Create the XML tools to talk to the Internet Software Concortium's DLV server to submit DNSSEC keys from nameservers to their registration XML interface for transparent addition/updating of DLV records. This will increase DNSSEC deployment in TLD's that are not going to be signed for a while, such as .com.
Requirements Basic understanding of DNS, Communications skills
Difficulty Easy
Mentor Leigh Honeywell (backup Paul Wouters)
Notes In collaboration with ISC contact

Synopsis Create an easy to use system-config-dnssec for Fedora to allow easy GUI based DNSSEC administration.
Description Xelerance wrote an extremely simple prototype for this that needs to be replaced by a version with a few more real features. It only uses calls to dnssec-configure and dnskey-pull from the dnssec-conf package. This is mostly a GUI implementation for on top of dnssec-conf. This uses python and glade.
Requirements Fedora/RHEL/Centos knowledge, python, glade
Difficulty Easy
Mentor Paul Wouters (backup Leigh Honeywell)
Notes See DNSSEC

Synopsis Investigate and/or implement DNSSEC based anti-spam meassures
Description With DNSSEC verification, we can detect DNS spoofing, and thus detect both spoofed email as well as bogus phising sites. Write a sendmail milter and postfix plugin that drop known (by DNSSEC) forged HELO strings. Write spamassassin rules to give points based on DNSSEC verification. Look into the current state of DNSSEC patches and plugins for Firefox, and integrate them with the recent "anti phising" W3C API. Use either drill, the SPARTA dnssec tools or unbound-libs to base the software on.
Requirements C, SMTP knowledge, some experience with sendmail, postfix, spamassassin and firefox.
Difficulty Some parts are Easy or Medium, some parts will be Hard.
Mentor Leigh Honeywell (Paul Wouters)
Notes See dnssec-tools.org

OTR Google Summer of Code ideas

Off the Record is a protocol for securing IM messages designed By Ian Goldberg and Nikita Borisov. In contrast to most encryption plugins for IM clients, it supports deniability. Therefor, it does not use standard symmetric key encryption, or digitally signed mesages. Instead it uses a Diffie-Hellman key exchange per IM message.
Synopsis Add support for Finch, the text-only version of Pidgin, to the pidgin-otr plugin.
Description There is no text-only OTR client for Linux. A lot of people run text-only clients, and would benefit from having a text-only OTR client that can run in screen.
Requirements C, cryptographic knowledge
Difficulty Hard
Mentor Leigh Honeywell (backup Patrick Naubert)
Notes In collaboration with Ian Goldberg

Synopsis Implement OTR protocol version 2 feature for generating temporary symmetric keys
Description The OTR protocol is not well suited for using encrypted file transfers or VOIP and VIDEO streams, since it is impossible to generate that many Diffie-Hellman key exchanges. The OTR protocol has been expanded to allow the creation of temporary symmetric keys and their secure transfer between two clients. Verify the version 2 protocol extensions into libotr for usability, and extend the pidging-otr plugin to be able to use these for encrypted file downloads or as key for setting up an IPsec tunnel between the two hosts.
Requirements C, cryptographic knowledge
Difficulty Hard
Mentor Leigh Honeywell (backup Patrick Naubert)
Notes In collaboration with Ian Goldberg

Synopsis Implemented location based security plugin for OTR.
Description Ian Goldberg, Urs Hengartner and Ge Zhong have designed a location privacy protocol that can work with OTR which would allow a person (phone) to limit sending out their location information to only those friends that are near by enough. This prevents someone from needing to tell all their friends where they are, without compromising hooking up with nearby friends. Two friends will not know each others whereabouts, unless they are both within the minimum range specified by each other. For more information see Uwaterloo NearbyFriend
Requirements C, GTK
Difficulty Medium to Hard
Mentor Leigh Honeywell (backup Patrick Naubert)
Notes In collaboration with Ian Goldberg

See OTR

 
     
| | appliances about | services | appliances | software | support | training | engagements | contact |

All content & images © 2004-2008 Xelerance Corporation. All rights reserved.