On Jun 12, 2007, at 9:56 PM, Serge Merzliakov wrote:


Scott,

The WS-Security spec is messy (all of the WS-* are as well, which is a big issue, IMHO). Your approach looks on the mark.

One thing that the spec does not mention is the sequencing of events - ie how client notifies its recipients via SOAP headers of the order in which to do things. e.g. digitally sign message then encrypt or encrypt messages and digitally sign the ciphertext (both models are supported, in the code samples, and argued about by other SOA architects). Maybe this is outside the scope of your work and you leave it as an 'out-of-band' issue that client and sender agreed on - or the object in the header values also has an order attribute, which makes it explicit - I do not know enough about where Hessian and where the 'protocols' resposibilities lie.

I think ordering should be straightforward with the envelope scheme.

Each envelope would do a single task and would be simple, like a filter. So you would have separate encryption and signature envelopes, e.g.

E_sig(E_crypt(E_sig(body)))

The method names would be unique and specific, e.g.

method="com.caucho.hessian.envelope.AESEncrypt"

(The method names might refer directly to classes in the Java implementation, which would make adding new envelope types trivial.)

The headers would only store the keys, but not the algorithm (since I don't think algorithm negotiation makes sense.) So I don't think the order of the headers would ever matter.

I'll see if I can come up with a specific encryption envelope and signature envelope as a working example.

-- Scott

Making some simplifying assumptions would not hurt as a lot of combinations of WS-* options would not exist in the real world. It would also be, I think, in the spirit of Hessian.

If you get something working, I would be happy to give a try and write some security demos.

Regards,
Serge Merzliakov

Integration Solution Architect | I & I | MRP - Mainframe Replacement Program EagleNet: 79670 | Email: [EMAIL PROTECTED] | Mobile: 0407 278 279


Scott Ferguson <[EMAIL PROTECTED]>
13/06/2007 05:13

To
Serge Merzliakov <[EMAIL PROTECTED]>
cc
[email protected]
Subject
Re: [Hessian-interest] Securing Hessian messages






On Jun 4, 2007, at 10:46 PM, Serge Merzliakov wrote:


Hi,
As a newcomer, I don't know much about Hessian (my day job requires WS-Security, SOAP and the orthodox SOA stack...) but I have got the samples working and like the simplicity very much. Are there any plans to encrypt messages or some other message level security (this excludes SSL) ? I know this strays into the WS- Security space (and we don't wan't to reinvent the WS-* wheel) but it would be a compelling argument for serious evaluation in most firms considering SOA.

I'm starting to skim WS-Security and it looks nightmarish. For Hessian, I'm thinking the following envelope syntax might make sense:

envelope ::=
  'E' x02 x00      # Envelope for Hessian 2.0
method # envelope type (possibly use string instead of 'm')
  int              # number of headers
  (string object)* # header values
  binary           # encapsulated body
  int              # number of footers
  (string object)* # footer values

The envelope could be nestable, i.e. the body could be another envelope or it could be the wrapped call/reply Hessian message.

The method would select a filter/envelope handler, which would be responsible for unwrapping the header.

For security, headers would contain things like encryption keys/ algorithms for encryption, auth tokens. Footers would contain things like signatures/digests.

I need to continue looking at WS-Security to see if there's anything that fails to fit this model (I've only started looking), but I'd think this would be general enough.

-- Scott


Regards,

Serge Merzliakov
This message and any attachment is confidential and may
be privileged or otherwise protected from disclosure. If you
have received it by mistake, please let us know by reply
and then delete it from your system; you should not copy
the message or disclose its contents to anyone.



_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest
All mail is subject to content scanning for possible violation of New South Wales Police electronic Mail Policy. All persons are required to familiarise themselves with the
content of the policy located on the NSWP Intranet BULLETIN BOARD.


This message and any attachment is confidential and may
be privileged or otherwise protected from disclosure. If you
have received it by mistake, please let us know by reply
and then delete it from your system; you should not copy
the message or disclose its contents to anyone.




_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to