Subject: Re: [dtn-security] Newbie seeking some security related advice
From: Armando Caro <[email-masked]>
To: "Ivancic, William D. (GRC-RHN0)" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Date: Thu, 28 May 2009 14:29:05 -0400
List-Id: DTN Security Discussion <dtn-security.maillists.intel-research.net>

Ivancic, William D. (GRC-RHN0) wrote:
> ->Armando Caro wrote:
> ->What about "transiently" disconnected nodes? Can we accept loss of
> ->transmission for a fraction of a second? Or even a few seconds?
> ->
> 
> That is up to the acceptability of the end user.  For example, I prefer the grainy ghost of analog TV to Digital TV with interrupted voice bits and pixilation during signal fades.
> 
> ->If I stipulate a network that carries primarily voice traffic (albeit
> ->as VoIP), then what does DTN bring me? I could argue that it adds a
> ->degree of complexity that brings no gain.  
> 
> I would agree.
> 
> ->I suppose that the gain is
> ->that the network is distributed and has no central infrastructure
> ->(although, to split hairs, that is an ah-hoc network, which not all DTN
> ->need to be); I can see that that would be attractive to DARPA.
> 
> A DTN can be an overlay on an Ad Hoc network or an overlay on a fixed fully connected network or an overlay on a predictive network like a deep space network or a combination.  My personal view of a DTN to date is an application level store-and-forward gateway and/or potentially a secure content storage and distribution network.  Until we get some type of scalable naming structure, I don't see this scaling very well.
> 

I'm confused, because I don't remember writing the words above that you 
quoted me as saying.

I did say the following paragraph:
> ->> One important take-away from this work... the motivation of DTN is to
> ->> support delay/disrupted scenarios and apps that can operate in that
> ->> regime, but it is possible to implement a DTN stack that can also
> ->deal with time-sensitive traffic.

> One thing I see is that many non-technical or even technical, but uninformed/misinformed people think DTN is a magic box that you put in front of applications that require a connected network and it makes them work in a disconnected, store-and-forward, environment.  

I agree that there are many people who are uninformed about what exactly 
DTN is and how it works.

> 
> I think we need to educate people that this is not the case.

I agree.

> However, I think that sometimes we don't in order to obtain/retain funding.

It's always important to educate the customer funding a project, because 
otherwise the customer will have unrealistic expectations. I think (at 
least I would hope) that people involved in acquiring funding understand 
that it is critical to ensure that a customer maintains realistic 
expectations. Otherwise the end result will be a failure in the eyes of 
the customer, and that is detrimental to future funding prospects from 
that same customer.

There is nothing dishonest about the claim that BBN's DTN stack is able 
to handle time-sensitive VoIP traffic. In Dec 2008, we demo'd this 
capability for small multihop wireless networks. The point we are trying 
to make in the WNaN program is that there should be a single network 
stack and it should include DTN functionality. The applications should 
specify whether or not their traffic should tolerate delays/disruptions. 
Then when disruptions occur, the "DTN functionality" is invoked only for 
the app traffic that is declared to be delay/disruption tolerant.

Armando

From: "Ivancic, William D. (GRC-RHN0)" <[email-masked]>
To: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>, Armando Caro <[email-masked]>
Date: Thu, 28 May 2009 07:37:09 -0500
Accept-Language: en-US
acceptlanguage: en-US
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [dtn-security] Newbie seeking some security related advice

->Armando Caro wrote:
->What about "transiently" disconnected nodes? Can we accept loss of
->transmission for a fraction of a second? Or even a few seconds?
->

That is up to the acceptability of the end user.  For example, I prefer the grainy ghost of analog TV to Digital TV with interrupted voice bits and pixilation during signal fades.

->If I stipulate a network that carries primarily voice traffic (albeit
->as VoIP), then what does DTN bring me? I could argue that it adds a
->degree of complexity that brings no gain.  

I would agree.

->I suppose that the gain is
->that the network is distributed and has no central infrastructure
->(although, to split hairs, that is an ah-hoc network, which not all DTN
->need to be); I can see that that would be attractive to DARPA.

A DTN can be an overlay on an Ad Hoc network or an overlay on a fixed fully connected network or an overlay on a predictive network like a deep space network or a combination.  My personal view of a DTN to date is an application level store-and-forward gateway and/or potentially a secure content storage and distribution network.  Until we get some type of scalable naming structure, I don't see this scaling very well.

->
->>
->> One important take-away from this work... the motivation of DTN is to
->> support delay/disrupted scenarios and apps that can operate in that
->> regime, but it is possible to implement a DTN stack that can also
->deal with time-sensitive traffic.
->>

One thing I see is that many non-technical or even technical, but uninformed/misinformed people think DTN is a magic box that you put in front of applications that require a connected network and it makes them work in a disconnected, store-and-forward, environment.  

I think we need to educate people that this is not the case.  However, I think that sometimes we don't in order to obtain/retain funding.

Will

Date: Thu, 28 May 2009 10:17:59 +0800
From: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Organization: Leonix Solutions Pte Ltd
To: Armando Caro <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [dtn-security] Newbie seeking some security related advice

This is a multi-part message in MIME format.
--------------000200020504010005080106
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Armando Caro wrote:
> Ivancic, William D. (GRC-RHN0) wrote:
>> I believe DARPA is using DTN for voice networks but I believe the
>> disruption is expected to be very quick fades and the like or perhaps
>> that voice simply will not make sense at certain times.
>
> I believe you are referring to the work that BBN is doing for the
> DARPA WNaN program. For this program, we run IP over DTN and use VoIP
> without modifications to the VoIP application. We are using the BPA as
> a forwarding engine that works in both connected and disconnected
> scenarios. VoIP traffic (and other delay sensitive traffic) are only
> routed/forwarded to destinations that are currently connected, since
> VoIP doesn't make sense for disconnected destinations. If a node
> receives VoIP traffic for a disconnected destination, the traffic is
> dropped.
What about "transiently" disconnected nodes? Can we accept loss of
transmission for a fraction of a second? Or even a few seconds?

If I stipulate a network that carries primarily voice traffic (albeit as
VoIP), then what does DTN bring me? I could argue that it adds a degree
of complexity that brings no gain.  I suppose that the gain is that the
network is distributed and has no central infrastructure (although, to
split hairs, that is an ah-hoc network, which not all DTN need to be); I
can see that that would be attractive to DARPA.

>
> One important take-away from this work... the motivation of DTN is to
> support delay/disrupted scenarios and apps that can operate in that
> regime, but it is possible to implement a DTN stack that can also deal
> with time-sensitive traffic.
>
> Armando
>

Thanks very much for taking the time to reply.

Graham

-- 
Technical Director
Leonix Solutions (Pte) Ltd
18 Boon Lay Way
#09-95 TradeHub 21
Singapore 609966
Telephone:+65 6316 9968
Fax: +65 6316 9208

--------------000200020504010005080106
Content-Type: text/x-vcard; charset=utf-8;
 name="Graham.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Graham.vcf"

begin:vcard
fn:Graham Keellings
n:Keellings;Graham
org:Leonix Solutions Pte Ltd
adr:TradeHub 21;;18 Boon Lay Way #09-95;;;609966;Singapore
email;internet:[email-masked]
title:Technical director
tel;work:+65 6316 9968
tel;fax:+65 6316 9208
tel;cell:+65 9725 7353
x-mozilla-html:FALSE
url:http://leonixsolutions.com/
version:2.1
end:vcard

--------------000200020504010005080106--

From: "Jason Redi" <[email-masked]>
To: "'Armando Caro'" <[email-masked]>, "'Ivancic, William D. \(GRC-RHN0\)'" <[email-masked]>
Date: Wed, 27 May 2009 20:22:35 -0400
Organization: BBN Technologies
Cc: [email-masked]
Subject: Re: [dtn-security] Newbie seeking some security related advice
Reply-To: [email-masked]

Minor comment to Armando's email:

> -----Original Message-----
> From: [email-masked] [mailto:dtn-
> [email-masked]] On Behalf Of Armando
> Caro
> Sent: Wednesday, May 27, 2009 8:14 PM
> To: Ivancic, William D. (GRC-RHN0)
> Cc: [email-masked]
> Subject: Re: [dtn-security] Newbie seeking some security related advice
> 
> Ivancic, William D. (GRC-RHN0) wrote:
> > I believe DARPA is using DTN for voice networks but I believe the
> disruption is expected to be very quick fades and the like or perhaps
> that voice simply will not make sense at certain times.
> 
> I believe you are referring to the work that BBN is doing for the DARPA
> WNaN program. For this program, we run IP over DTN and use VoIP without
> modifications to the VoIP application. We are using the BPA as a
> forwarding engine that works in both connected and disconnected
> scenarios. VoIP traffic (and other delay sensitive traffic) are only
> routed/forwarded to destinations that are currently connected, since
> VoIP doesn't make sense for disconnected destinations. If a node
> receives VoIP traffic for a disconnected destination, the traffic is
> dropped.

As Armando describes, we are currently using streaming voice over BP.
Individual packets contain 20-100ms of voice, so sending those individual
buffers in an individual disrupted fashion would not make a whole lot of
sense.  Note that we are also working on providing voice-snippets of 1-10s
that could be sent in a disrupted fashion over the network.  But ultimately
that's just data like any other bundle.  The only real "work" there is in
the application, not the BP.   

The key point is that voice can either be streaming as little snippets or
buffered as a big blob.  If it is a big blob, it's just another bundle.  If
it is streaming, then one needs to make sure you have a BPA/router that adds
only a minimal amount of additional overhead to the forwarding process.  (as
Armando says below)
 
> One important take-away from this work... the motivation of DTN is to
> support delay/disrupted scenarios and apps that can operate in that
> regime, but it is possible to implement a DTN stack that can also deal
> with time-sensitive traffic.
> 
> Armando
> _______________________________________________
> dtn-security mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-security

Date: Wed, 27 May 2009 20:13:51 -0400
From: Armando Caro <[email-masked]>
To: "Ivancic, William D. (GRC-RHN0)" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [dtn-security] Newbie seeking some security related advice

Ivancic, William D. (GRC-RHN0) wrote:
> I believe DARPA is using DTN for voice networks but I believe the disruption is expected to be very quick fades and the like or perhaps that voice simply will not make sense at certain times.

I believe you are referring to the work that BBN is doing for the DARPA 
WNaN program. For this program, we run IP over DTN and use VoIP without 
modifications to the VoIP application. We are using the BPA as a 
forwarding engine that works in both connected and disconnected 
scenarios. VoIP traffic (and other delay sensitive traffic) are only 
routed/forwarded to destinations that are currently connected, since 
VoIP doesn't make sense for disconnected destinations. If a node 
receives VoIP traffic for a disconnected destination, the traffic is 
dropped.

One important take-away from this work... the motivation of DTN is to 
support delay/disrupted scenarios and apps that can operate in that 
regime, but it is possible to implement a DTN stack that can also deal 
with time-sensitive traffic.

Armando

Date: Fri, 22 May 2009 16:32:02 -0700
From: Kristian Erik Hermansen <[email-masked]>
To: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-security] Newbie seeking some security related advice

On Thu, May 21, 2009 at 6:37 PM, Graham Keellings (Leonix Solutions
Pte Ltd) <[email-masked]> wrote:
> Thanks again for the feedback, Kristian. Bottom line - do I really have to
> worry about it?

That is up to you to make the determination ;)
http://en.wikipedia.org/wiki/Message_authentication_code
-- 
Kristian Erik Hermansen

From: "Ivancic, William D. (GRC-RHN0)" <[email-masked]>
To: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>, "[email-masked]" <[email-masked]>
Date: Tue, 19 May 2009 06:38:35 -0500
Accept-Language: en-US
acceptlanguage: en-US
Subject: Re: [dtn-security] Newbie seeking some security related advice

--_000_3A5AA67A8B120B48825BFFCF5443856137E0B06196NDJSSCC03ndcn_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

From: [email-masked] [mailto:dtn-securit=
[email-masked]] On Behalf Of Graham Keellings (Leon=
ix Solutions Pte Ltd)
Sent: Monday, May 18, 2009 10:29 PM
To: [email-masked]
Subject: [dtn-security] Newbie seeking some security related advice

Someone recently asked me to look into a secure, ad-hoc, DTN network. It is=
 likely to be a voice network, probably with SMS and possibly also some vid=
eo.

If this is a voice Network, is this really a DTN or is it a Disconnected Ad=
 Hoc network?  In other words, how much disruption and disconnection do you=
 have on a per node basis?  I believe DARPA is using DTN for voice networks=
 but I believe the disruption is expected to be very quick fades and the li=
ke or perhaps that voice simply will not make sense at certain times.

/Will

--_000_3A5AA67A8B120B48825BFFCF5443856137E0B06196NDJSSCC03ndcn_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
tt
	{mso-style-priority:99;
	font-family:"Courier New";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:682820516;
	mso-list-template-ids:-962417204;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=3Dwhite lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><span style=3D'font-size=
:10.0pt;
font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtex=
t'>
[email-masked]
[mailto:[email-masked]] <b>On Behalf Of =
</b>Graham
Keellings (Leonix Solutions Pte Ltd)<br>
<b>Sent:</b> Monday, May 18, 2009 10:29 PM<br>
<b>To:</b> [email-masked]<br>
<b>Subject:</b> [dtn-security] Newbie seeking some security related advice<=
o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><o:p>&nbsp;</o:p></p>

<pre style=3D'margin-left:.5in'>Someone recently asked me to look into a se=
cure, ad-hoc, DTN network. It is likely to be a voice network, probably wit=
h SMS and possibly also some video.<o:p></o:p></pre><pre
style=3D'margin-left:.5in'><span style=3D'color:#1F497D'><o:p>&nbsp;</o:p><=
/span></pre><pre><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>If this is a voice Network, is this really a DTN or is it a Disconnected A=
d Hoc network?&nbsp; In other words, how much disruption and disconnection =
do you have on a per node basis?&nbsp; I believe DARPA is using DTN for voi=
ce networks but I believe the disruption is expected to be very quick fades=
 and the like or perhaps that voice simply will not make sense at certain t=
imes.<o:p></o:p></span></pre><pre><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><o:p>&nbsp;</o:p></span></pre><pre><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><o:p>&nbsp;</o:p></span></pre><pre><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>/Will<o:p></o:p></span></pre></div>

</body>

</html>

--_000_3A5AA67A8B120B48825BFFCF5443856137E0B06196NDJSSCC03ndcn_--

Date: Tue, 19 May 2009 09:38:30 +0100
From: Stephen Farrell <[email-masked]>
To: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-security] Newbie seeking some security related advice

Hi Graham,

I guess the 1st question I'd ask is what it is you want to secure,
the identity of a next (dtn-)hop peer or the bundle headers and payload?
If the former, then it seems like you want some security from your
convergence layer, or the BSP's hop-by-hop authentication scheme. If
the latter then probably (some variant of) the BSP end-to-end spec.
The usual way to figure out which you want is to think about what bad
thing(s) you want to prevent, i.e. your threat model, and only after
you know that start to figure out what security mechanisms to use.

Either way, if you find a use for TESLA that'd be interesting.

Your MAC v. hash question doesn't make sense - neither is "more"
secure since they do different things. I'd recommend maybe reading
a bit more about, e.g. HMAC. (e.g. rfc 2104)

You should also check out Pete Lovell's BSP code which is
integrated into the DTN2 codebase.

Regards,
Stephen.

Graham Keellings (Leonix Solutions Pte Ltd) wrote:
> Someone recently asked me to look into a secure, ad-hoc, DTN network. It is likely to be a voice network, probably with SMS and possibly also some video.
> 
> There are not many resources available for the project, so it has been suggested to take a phased approach. With a few decades of telcoms, protocol stack, experience, but no DTN experience and not much idea of comms security beyond Kasumi F8 and F9 (cyphering and integrity (MAC), both usually done in hardware), I wonder if anyone would care to comment on this proposed roadmap (for which many thanks in advance...)
> 
>     * for the initial phase,just add MAC with secret key to the reference DTN
>       implementation at link establish and acknowledgement (*) and hand that
>       over to the cryptography guy to see if he can infiltrate,
>       subvert, eavesdrop or deny service at the network level.
> 
>     * since the project is mainly voice based we should scale up the
>       number of nodes at some point and see just how delay tolerant
>       voice is (not a security concern).
> 
>     * consider encrypting data as well as securing it with MAC, since
>       MAC secured data is broadcast in the clear (maybe of less concern
>       for voice?)
> 
>     * for all variants, run some profiling, to see how much timing
>       impact they are having and attempt again to break the security.
> 
>     * consider public key encryption. The drawback is the need for a key
>       distribution service, which is a very weak link.
> 
>     * consider TESLA for key distribution (although it cannot revoke the
>       secret key at will if a node is compromised, only at a pre-set
>       time in the future)
> 
>     * whether secret key of public key, we should give some
>       consideration to how we can secure the network if a handset is
>       lost, stolen, left in the coffee-shop, etc.
> 
>     * look again at DTLSR/OLSR. It may be very efficient, but it is also
>       power hungry as there is constant background traffic to keep the
>       network  updated. If the projected end device is battery powered,
>       we ought  to look at alternative link establishment mechanisms and
>       compare their impact (profiling/timing/traffic load) and security (not a security concern).
> 
> The main point to me is that they are proposing to authenticate only at link establishment and acknowledgement thereof(*), and not also as each bundle is transferred. I suppose they theory is that once you have verified a node then there is no need to further verify all subsequent traffic to/from that node, which cuts down on the system overhead of security. But, what do the gurus think? 
> 
>     * is security only at link establish really safe?
>     * should data also be encrypted
>     * how secure is MAC? One person is claiming that it is not good
>       enough and needs to supplemented by hashing which sounds strange
>       to me since I thought that MAC _is_ strong one-way hashing.
>     * any recommendations for a fast, secure, open source MAC code? Or
>       should I just pull something from source-forge?
>     * any ideas on key distribution without a central server? Or,
>       perhaps I can say that the "handsets" (or whatever) will be given
>       out at the start of every business day from a secure location
>       which could contain a key distribution server, and returned there
>       each night. However, if a handset is lost or compromised during
>       the day I would like a way to revoke it.
> 
>       Since each handset/node would have to have the public keys of all
>       other nodes loaded to it a the start of the day and would not be
>       able to query the server during the day, is there any easy way to
>       determine a reasonable number of nodes for such a network (or is
>       it just a matter of how much RAM each node has)?
>     * are there any other recommendations for security?
>     * Are there any existing open source implementation of a 'secure'
>       version of DTN2?
> 
> Sorry to ask so many questions. I am doing as much research as I can,
> although am somewhat hindered by lack of resources, so thought that I
> might ask the experts.
> 
> Sorry to trouble the list so(*) and thanks in advance for any reply.
> 
> With best wishes,
> 
> Graham
> 
> (*) since I _have_ troubled the list, I will be cheeky and ask if anyone
> knows exactly where in the code the link establish and acknowledgement
> are sent/received. I am ploughing my way through the DoxyGen, but if
> anyone can save me some trouble, I would be grateful.  Thnaks
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> dtn-security mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-security

Date: Tue, 19 May 2009 11:01:26 +0800
From: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Organization: Leonix Solutions Pte Ltd
To: Kristian Erik Hermansen <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-security] Newbie seeking some security related advice

This is a multi-part message in MIME format.
--------------010406090306070403050906
Content-Type: multipart/alternative;
	boundary="------------000604000904080101090702"

--------------000604000904080101090702
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Kristian Erik Hermansen wrote:
> Hello Graham,
>
> On Mon, May 18, 2009 at 7:28 PM, Graham Keellings (Leonix Solutions
> Pte Ltd) <[email-masked]> wrote:
>   
>> how secure is MAC? One person is claiming that it is not good enough and
>> needs to supplemented by hashing which sounds strange to me since I thought
>> that MAC _is_ strong one-way hashing.
>>     
>
> MAC will not be secure from tampering without hashing in cases such as
> chosen plaintext attacks.  
Thanks very much, Kristian. In that case, I wonder why MAC used!?

Can you point me to something that explains how MAC + hashing works? Do
I now need two secret keys?

> You should join us via IRC in #noisebridge
> on freenode.net ;-)
>   
I shall. I need to get up to speed on this, but it's a personal favour
to someone and I can't spare too much time to work on it.  I'll see you
on IRC.

-- 
Technical Director
Leonix Solutions (Pte) Ltd
18 Boon Lay Way
#09-95 TradeHub 21
Singapore 609966
Telephone:+65 6316 9968
Fax: +65 6316 9208

--------------000604000904080101090702
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Kristian Erik Hermansen wrote:
<blockquote
 cite="mid:[email-masked]"
 type="cite">
  <pre wrap="">Hello Graham,

On Mon, May 18, 2009 at 7:28 PM, Graham Keellings (Leonix Solutions
Pte Ltd) <a class="moz-txt-link-rfc2396E" href="mailto:[email-masked]">&lt;[email-masked]&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">how secure is MAC? One person is claiming that it is not good enough and
needs to supplemented by hashing which sounds strange to me since I thought
that MAC _is_ strong one-way hashing.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
MAC will not be secure from tampering without hashing in cases such as
chosen plaintext attacks.  </pre>
</blockquote>
Thanks very much, Kristian. In that case, I wonder why MAC used!?<br>
<br>
Can you point me to something that explains how MAC + hashing works? Do
I now need two secret keys?<br>
<br>
<br>
<blockquote
 cite="mid:[email-masked]"
 type="cite">
  <pre wrap="">You should join us via IRC in #noisebridge
on freenode.net ;-)
  </pre>
</blockquote>
I shall. I need to get up to speed on this, but it's a personal favour
to someone and I can't spare too much time to work on it.&nbsp; I'll see you
on IRC.<br>
<br>
<br>
<br>
<br>
<pre class="moz-signature" cols="80">-- 
Technical Director
Leonix Solutions (Pte) Ltd
18 Boon Lay Way
#09-95 TradeHub 21
Singapore 609966
Telephone:+65 6316 9968
Fax: +65 6316 9208
</pre>
</body>
</html>

--------------000604000904080101090702--

--------------010406090306070403050906
Content-Type: text/x-vcard; charset=utf-8;
 name="Graham.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Graham.vcf"

begin:vcard
fn:Graham Keellings
n:Keellings;Graham
org:Leonix Solutions Pte Ltd
adr:TradeHub 21;;18 Boon Lay Way #09-95;;;609966;Singapore
email;internet:[email-masked]
title:Technical director
tel;work:+65 6316 9968
tel;fax:+65 6316 9208
tel;cell:+65 9725 7353
x-mozilla-html:FALSE
url:http://leonixsolutions.com/
version:2.1
end:vcard

--------------010406090306070403050906--

Date: Mon, 18 May 2009 19:46:07 -0700
From: Kristian Erik Hermansen <[email-masked]>
To: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-security] Newbie seeking some security related advice

Hello Graham,

On Mon, May 18, 2009 at 7:28 PM, Graham Keellings (Leonix Solutions
Pte Ltd) <[email-masked]> wrote:
> how secure is MAC? One person is claiming that it is not good enough and
> needs to supplemented by hashing which sounds strange to me since I thought
> that MAC _is_ strong one-way hashing.

MAC will not be secure from tampering without hashing in cases such as
chosen plaintext attacks.  You should join us via IRC in #noisebridge
on freenode.net ;-)
-- 
Kristian Erik Hermansen

Date: Tue, 19 May 2009 10:28:42 +0800
From: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
Organization: Leonix Solutions Pte Ltd
To: [email-masked]
Subject: [dtn-security] Newbie seeking some security related advice

This is a multi-part message in MIME format.
--------------010606030604040703010808
Content-Type: multipart/alternative;
	boundary="------------060609020508060002080508"

--------------060609020508060002080508
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Someone recently asked me to look into a secure, ad-hoc, DTN network. It is likely to be a voice network, probably with SMS and possibly also some video.

There are not many resources available for the project, so it has been suggested to take a phased approach. With a few decades of telcoms, protocol stack, experience, but no DTN experience and not much idea of comms security beyond Kasumi F8 and F9 (cyphering and integrity (MAC), both usually done in hardware), I wonder if anyone would care to comment on this proposed roadmap (for which many thanks in advance...)

    * for the initial phase,just add MAC with secret key to the reference DTN
      implementation at link establish and acknowledgement (*) and hand that
      over to the cryptography guy to see if he can infiltrate,
      subvert, eavesdrop or deny service at the network level.

    * since the project is mainly voice based we should scale up the
      number of nodes at some point and see just how delay tolerant
      voice is (not a security concern).

    * consider encrypting data as well as securing it with MAC, since
      MAC secured data is broadcast in the clear (maybe of less concern
      for voice?)

    * for all variants, run some profiling, to see how much timing
      impact they are having and attempt again to break the security.

    * consider public key encryption. The drawback is the need for a key
      distribution service, which is a very weak link.

    * consider TESLA for key distribution (although it cannot revoke the
      secret key at will if a node is compromised, only at a pre-set
      time in the future)

    * whether secret key of public key, we should give some
      consideration to how we can secure the network if a handset is
      lost, stolen, left in the coffee-shop, etc.

    * look again at DTLSR/OLSR. It may be very efficient, but it is also
      power hungry as there is constant background traffic to keep the
      network  updated. If the projected end device is battery powered,
      we ought  to look at alternative link establishment mechanisms and
      compare their impact (profiling/timing/traffic load) and security (not a security concern).

The main point to me is that they are proposing to authenticate only at link establishment and acknowledgement thereof(*), and not also as each bundle is transferred. I suppose they theory is that once you have verified a node then there is no need to further verify all subsequent traffic to/from that node, which cuts down on the system overhead of security. But, what do the gurus think? 

    * is security only at link establish really safe?
    * should data also be encrypted
    * how secure is MAC? One person is claiming that it is not good
      enough and needs to supplemented by hashing which sounds strange
      to me since I thought that MAC _is_ strong one-way hashing.
    * any recommendations for a fast, secure, open source MAC code? Or
      should I just pull something from source-forge?
    * any ideas on key distribution without a central server? Or,
      perhaps I can say that the "handsets" (or whatever) will be given
      out at the start of every business day from a secure location
      which could contain a key distribution server, and returned there
      each night. However, if a handset is lost or compromised during
      the day I would like a way to revoke it.

      Since each handset/node would have to have the public keys of all
      other nodes loaded to it a the start of the day and would not be
      able to query the server during the day, is there any easy way to
      determine a reasonable number of nodes for such a network (or is
      it just a matter of how much RAM each node has)?
    * are there any other recommendations for security?
    * Are there any existing open source implementation of a 'secure'
      version of DTN2?

Sorry to ask so many questions. I am doing as much research as I can,
although am somewhat hindered by lack of resources, so thought that I
might ask the experts.

Sorry to trouble the list so(*) and thanks in advance for any reply.

With best wishes,

Graham

(*) since I _have_ troubled the list, I will be cheeky and ask if anyone
knows exactly where in the code the link establish and acknowledgement
are sent/received. I am ploughing my way through the DoxyGen, but if
anyone can save me some trouble, I would be grateful.  Thnaks

--------------060609020508060002080508
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<pre wrap="">Someone recently asked me to look into a secure, ad-hoc, DTN network. It is likely to be a voice network, probably with SMS and possibly also some video.

There are not many resources available for the project, so it has been suggested to take a phased approach. With a few decades of telcoms, protocol stack, experience, but no DTN experience and not much idea of comms security beyond <tt>Kasumi F8 and F9 (cyphering and integrity (MAC), both usually done in hardware), I wonder if anyone would care to comment on this proposed roadmap (for which many thanks in advance...)</tt>

    * for the initial phase,just add MAC with secret key to the reference DTN
      implementation at link establish and acknowledgement (*) and hand that
      over to the cryptography guy to see if he can infiltrate,
      subvert, eavesdrop or deny service at the network level.

    * since the project is mainly voice based we should scale up the
      number of nodes at some point and see just how delay tolerant
      voice is (not a security concern).

    * consider encrypting data as well as securing it with MAC, since
      MAC secured data is broadcast in the clear (maybe of less concern
      for voice?)

    * for all variants, run some profiling, to see how much timing
      impact they are having and attempt again to break the security.

    * consider public key encryption. The drawback is the need for a key
      distribution service, which is a very weak link.

    * consider TESLA for key distribution (although it cannot revoke the
      secret key at will if a node is compromised, only at a pre-set
      time in the future)

    * whether secret key of public key, we should give some
      consideration to how we can secure the network if a handset is
      lost, stolen, left in the coffee-shop, etc.

    * look again at DTLSR/OLSR. It may be very efficient, but it is also
      power hungry as there is constant background traffic to keep the
      network  updated. If the projected end device is battery powered,
      we ought  to look at alternative link establishment mechanisms and
      compare their impact (profiling/timing/traffic load) and security (not a security concern).

The main point to me is that they are proposing to authenticate only at link establishment and acknowledgement thereof(*), and not also as each bundle is transferred. I suppose they theory is that once you have verified a node then there is no need to further verify all subsequent traffic to/from that node, which cuts down on the system overhead of security. But, what do the gurus think? 
</pre>
<ul>
  <li>is security only at link establish really safe?</li>
  <li>should data also be encrypted</li>
  <li>how secure is MAC? One person is claiming that it is not good
enough and needs to supplemented by hashing which sounds strange to me
since I thought that MAC _is_ strong one-way hashing.</li>
  <li>any recommendations for a fast, secure, open source MAC code? Or
should I just pull something from source-forge?</li>
  <li>any ideas on key distribution without a central server? Or,
perhaps I can say that the "handsets" (or whatever) will be given out
at the start of every business day from a secure location which could
contain a key distribution server, and returned there each night.
However, if a handset is lost or compromised during the day I would
like a way to revoke it.<br>
    <br>
Since each handset/node would have to have the public keys of all other
nodes loaded to it a the start of the day and would not be able to
query the server during the day, is there any easy way to determine a
reasonable number of nodes for such a network (or is it just a matter
of how much RAM each node has)?</li>
  <li>are there any other recommendations for security? <br>
  </li>
  <li>Are there any existing open source implementation of a 'secure'
version of DTN2?</li>
</ul>
Sorry to ask so many questions. I am doing as much research as I can,
although am somewhat hindered by lack of resources, so thought that I
might ask the experts. <br>
<br>
Sorry to trouble the list so(*) and thanks in advance for any reply.<br>
<br>
With best wishes,<br>
<br>
Graham<br>
<br>
(*) since I _have_ troubled the list, I will be cheeky and ask if
anyone knows exactly where in the code the link establish and
acknowledgement are sent/received. I am ploughing my way through the
DoxyGen, but if anyone can save me some trouble, I would be grateful.&nbsp;
Thnaks<br>
<br>
</body>
</html>

--------------060609020508060002080508--

--------------010606030604040703010808
Content-Type: text/x-vcard; charset=utf-8;
 name="Graham.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Graham.vcf"

begin:vcard
fn:Graham Keellings
n:Keellings;Graham
org:Leonix Solutions Pte Ltd
adr:TradeHub 21;;18 Boon Lay Way #09-95;;;609966;Singapore
email;internet:[email-masked]
title:Technical director
tel;work:+65 6316 9968
tel;fax:+65 6316 9208
tel;cell:+65 9725 7353
x-mozilla-html:FALSE
url:http://leonixsolutions.com/
version:2.1
end:vcard

--------------010606030604040703010808--