RE: [bdx] BDX address recipe outline.

From
Pim van der Eijk <>
Date
2011-11-23T14:49:42+00:00
ID
DFB5F8D5129A4464A1D423BBF2EC0A84@Roussanne
Thread
RE: [bdx] BDX address recipe outline.
I think views on trust models will differ 
from community to community.  I'm from the country that brought us 
Diginotar, a company which had mostly government customers. I'm sure you 
can imagine that they have had some busy weeks this year. The level of 
trust in trusted third parties has seen better days. Does a BDX 
agreement require the AP operator to store their keys in a HSM ?   
Does it require them to obtain security clearance for 
any staff with access to the messaging software ? Does it require them to 
have regular security audits, penetration tests etc.?  
Not all communities need the same level of trust.  
I'm in favour of an architecture that is more 
fine-grained and supports options, without either compromising security for 
those that need it or increasing cost and complexity for those that 
don't.    

 

Pim

 

 

From:  
[mailto:] On Behalf Of Markus 
Gudmundsson
Sent: 23 November 2011 12:42
To: Pim van der 
Eijk; 'Mike Edwards'; 'Moberg Dale'
Cc: 'Business Document Exchange TC 
List'
Subject: RE: [bdx] BDX address recipe 
outline.

Thank 
you Pim.

 

I 
am not going to comment so much on the DNS issues, but the proposed methodology 
works ok, there may be other ways and better to implement it, but I think it is 
quite important that the technology does allow fast and relatively simply 
updates to the registry, without requiring time-consuming tasks like opening 
specific ports on firewalls, etc.

 

I 
think we have to move a little bit away from the idea of ?fixed trading 
contracts? and ?closed network lines?. The EU is aiming for higher adoption and 
since validation logic for business documents is getting more and more advanced, 
we can expect ?electronic invoices? to be much more strictly compliant with 
regards to content and business rules than before, and therefore companies 
should be able to publish their endpoint for invoices in certain formats and 
expect them all to be valid and readable by their system. This could be the 
strongest driver for adoption for SMEs.

 

It 
may depend on how strict the network is, how much trust there is. If we assume 
that in BDX you can only participate as an Access Point after signing an 
agreement dictating responsibilities, then there is certain trust and assuming 
the technology is secure enough, spamming and Denial of Service Attacks should 
not become a serious issue.

 

I 
am not saying that there should not be a possibility of ?blacklisting? certain 
access points or sending parties, however it should not be the default to 
promote adoption. 

 

Of 
course a ?generic invoice? could be an open endpoint, whereas an industry 
specific option, could be restricted to certain parties. I believe a good 
registry should have this capability and therefore it should be possible to 
publish some business profiles e.g. BII04 (and transactions therein) as ?open? 
and other, more specific ?under contract with trading partners?. So I strongly 
support  either reusing other registry standards, where applicable or 
borrowing features and incorporating into the current SMP.

 

My 
views, at least.

 

Markús

 

 

From: 
 [mailto:] On Behalf Of 
Pim van der Eijk
Sent: 23. nóvember 2011 11:04
To: 'Mike 
Edwards'; 'Moberg Dale'
Cc: 'Business Document Exchange TC 
List'
Subject: RE: [bdx] BDX address recipe 
outline.

 

 

Today I 
can only attend the first part of the meeting, so here is some written input in 
case we don't get to discuss this.

 

First of 
all, I think it is not just the people asking questions about, or proposing 
alternatives to, the various specifications submitted to this TC who 
should provide use cases and requirements. I would even more like to 
see some more discussion of (and justification by their authors for) the 
requirements and use cases that underly SML/SMP and related specifications 
themselves, if memory serves the authors of those specifications 
correctly.  This will help us all to understand how general and reusable 
these specifications are, and find and fix any aspects that perhaps are too 
hard-wired to the specific PEPPOL context to be of general 
use. 

 

To 
elaborate a bit:  SML/SMP are not the first or only attempts at 
specifications for e-business registry or capability _expression_ 
functionality,  and there are both strong similarities and differences 
compared to these earlier approaches. So as a start, an overview that 
explains how the design of SML/SMP relates to (and why it differs from) 
them would be useful.  Some of these differences are interesting, but 
not all of them strike me as improvements. I've mentioned before the absence of 
the equivalents of ebXML CPP "CanSend"s in SMP. Another is the absence of a 
concept of an agreement or service versioning.  Without similar 
concepts,  in BDX,  if I publish that I can receive a particular 
version of a UBL invoice, how do I express that I only want that option to be 
used by a specific limited set of trading partners?   How can I 
express that I only support a deprecated version for some established partners, 
or for partners that sent me a a document of some related type before, but 
want others to only use the newer one?  How can I express that any 
messages from me will be not be sent from any Access Point, but only 
from a particular named Access Point that I trust using specific 
credentials? Earlier established protocols like CPA support this very well 
and are used in production today,  I don't see how SML/SMP/BDX handles 
this.

 

As an 
analogy: in social networking,  someone first has to connect to you before 
he/she can send you messages or flood you with their network updates. You 
have an option to not accept a connection 
invitation. You even have an option to no longer accept invitations at all 
(if you've set up your closed community).  This seems to be something that 
a register-based collaboration architecture should support if it wants to be a 
general solution. The majority of e-government networks are closed or 
semi-closed, e-procurement networks are the exception rather than the 
rule. The OASIS EnergyInterop TC has a party registration service concept, 
which could be combined with a limited capability matching/intersection 
functionality.  And no, I'm not buying that this functionality would be too 
complex.  SSL has long had a handshake mechanism and is one of the most 
widely used Internet protocols. There are even handshakes in Web Services 
protocols such as WS-ReliableMessaging.  Capability intersection has been 
implemented in CPPA and other specifications, all of which could be used or 
profiled further if desired.

 

On the 
particular subject of DNS,  I read Dale's email (as far as I understand it) 
as stating that it can do a lot more than SML/SMP use it for. So for 
architectural coherence it might make sense to use it more generally in the BDX 
architecture.  I would rather raise a different issue: a major 
drawback of a system that depends on DNS updates is administration overhead, 
because DNS management is often outsourced to hosting providers or telcos. You 
cannot typically update DNS records from a business application directly, but 
have to go through some (often horribly slow) service management processes, 
at best partly automated.  Today, in some ebMS 2.0 
environments I've worked in, connecting a new partner means writing 
a CPA, which is usually simple and done in a few minutes, then waiting 
a week or even longer for all the firewall changes, NAT rules etc. to be 
implemented.  I'm sure they're not looking forward to adding DNS update 
dependencies in this mix ...

 

So I'm 
wondering what problem DNS is a problem for.  I know it offers scalability, 
but is this level of scalability even needed for a business registry?  
Previous e-business registry standards failed to take off, but lack of 
scalability does not seem to rank highly on the list of reasons why.  
Similar business registries, such as the GS1 GEPIR, or the various national 
systems of chambres of commerce, seem to not have found the need for it, 
yet they process (I have some hands-on experience with this) huge amounts of 
queries using regular HTTP-based exchanges.

 

Pim

 

 

From:  [mailto:] 
On Behalf Of Mike Edwards
Sent: 31 October 2011 
17:07
To: Moberg Dale
Cc: Business Document Exchange TC 
List
Subject: Re: [bdx] BDX address recipe 
outline.

Dale, 

I don't 
mean to be rude, but your post sounds like a solution looking for a 
problem. 

Just because DNS 
permits the approach you describe, it isn't clear to me what real usecases are 
dealt with using 
this sort of 
technique.  Perhaps you could cover the major usecases that you see 
addressed by such a solution? 

As far as the 
cryptographic hash is concerned, if my memory serves me correctly, it was 
introduced somewhat unwillingly 
into the PEPPOL model 
once we realized that there were types of participant ID that could not be 
accommodated in 
standard address 
strings used for DNS lookups.  The hash technique chosen has the advantage 
of always generating 
a string that works 
for the lookup while at the same time being available ubiquitously and so easily 
accessible to any 
software looking to 
implement the PEPPOL protocols.  The masking of the ID for commercial 
purposes was not part of 
the considerations as 
far as I recall. 

Yours, Mike 

  
  

    
      

      
      

  

    

  

    
      
Dr 
      Mike Edwards 

    
      
 Mail 
      Point 137, Hursley Park 

    
      

  

    
      
STSM 
      

    
      
 Winchester, 
      Hants SO21 2JN 

  

    
      
SCA, 
      Cloud Computing & Services Standards 

    
      
 United 
      Kingdom 

  

    
      
Co-Chair 
      OASIS SCA Assembly TC 

    
      
  
      

    

  

    
      
Chair 
      UK ISO SC38 mirror committee (Cloud & SOA) 

    
      
  
      

    

  

    
      
IBM 
      Software Group 

    
      
  
      

    

  

    
      
Phone: 
      

    
      
+44-1962 
      818014 

    
      
  
      

    

  

    
      
Mobile: 
      

    
      
+44-7802-467431 
      (274097) 

    
      
  
      

    

  

    
      
e-mail: 
      

    
      
 
      

    
      
  
      

    

  

    
      
  
      

  

    
      
 

  
  

    
      
From: 
      

    
      
Moberg Dale 
      <> 
      

  

    
      
To: 
      

    
      
Business 
      Document Exchange TC List <> 
      

  

    
      
Date: 
      

    
      
25/10/2011 
      18:51 

  

    
      
Subject: 
      

    
      
[bdx] BDX 
      address  recipe outline. 

  

    
      
Sent 
      by: 

    
      
<>

 

In this message, a 
way to use IETF DNS functionality for the BDX address resolution is sketched. 
 The resolution using a canonical concatenated string of bdx metadata that 
has been made opaque (in whole or part) by using a cryptographic hash. 
Apparently this masking has been required  to meet some commercial concerns 
about not disclosing what organizations use which providers). 
  

The main 
point here is to show that BDX address lookup requirements are met by using a 
known registry (DNS) with known internet scalability and manageability, using 
already existing approved standards. 
  

By 
analogy with ENUM, (see information box below for an introduction to ENUM from 
voip-info.org), we can therefore concatenate BDX service metadata identifiers to 
a string in a canonical way, use sha-256 to produce a resource identifier, 
introduce a DNS NAPTR record for that identifier in the ?peppol.org? domain or 
whatever , do a DNS query on the resulting value, and  resolve in a 
standardized way (indicated by the ?A? flag of the NAPTR record) to A, AAAA or 
A6 address records. 
  

(For 
extra spice, add DNSSEC to prevent cache poisoning at the ?peppol.org? domain. 
Use DANE for DNS based PKI if desired for TLS. Many variations are possible for 
the NAPTR string on  concatenation order, separators, hashing procedures to 
meet visibility or nondisclosure concerns. Another variation would insert a ?S? 
flag in the NAPTR RR, and then look up SRV records for a domain name key, from 
which address records would be obtained. This additional step would allow 
multiple BDX servers to be advertised for a provider, e.g.) 

  

IETF has 
evolved DNS to support many use cases beyond simple FQDN to Inet address 
lookups. Isn?t it preferable to actually use DNS, its query system, and its zone 
update management procedures instead of creating a hybrid Web Service and DNS 
mashup for a use case that is already easily handled by a simple profile of 
current specifications? 
  

  

From 
http://www.voip-info.org/wiki/view/ENUM 

  

You can 
dial a telephone number and reach a SIP, H.323 or any other 
Internet Telephony user. This all happens in the background; you do need to do 
anything special while calling someone.

A server with ENUM support will 
lookup a dialed telephone number in the ENUM tree of the DNS to see if there's 
alternate ways to set up the call instead of just calling out on the PSTN telephone line. 
ENUM may contain a reference to a SIP 
URI, a telephone 
number to dial, a web page or an e-mail address.

Enum uses DNS 
NAPTR resource 
records. 
  

DNS NAPTR 
resource records are documented in RFC 2915: This document describes a Domain 
Name System (DNS) resource record which specifies a regular _expression_ based 
rewrite rule that, when applied to an existing string, will produce a new domain 
label or Uniform Resource Identifier (URI). [?] This allows the DNS to be 
used to lookup services for a wide variety of resource names (including URIs) 
which are not in domain name syntax. Reasons for doing this range from 
URN Resource Discovery Systems to moving out-of-date services to new 
domains. 
  

 

Unless 
stated otherwise above:
IBM United Kingdom Limited - Registered in England 
and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, 
Portsmouth, Hampshire PO6 3AU