473,513 Members | 2,266 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

advanced .net remoting questions

1.communication between the client and server has to go thru client and
server channel sinks before its turned to object method invokations
those channel sinks carry messages thru and other header informations
now how can u secure those header information like the requestheaders
from being modified during its way to the server say by a third party
that acts illegaly to those information?
2.what are the header information that gets added to our header
collection from the formatter sinks from client and server sides?

3.what type of objects that get stored inside our streams ?


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 15 '05 #1
3 3315
If you create a custom sink (you'll need one for the server and one for the
client), you can change the headers and/or the actual stream content.
One simple solution is to take the serialized object info, and create a
message digest (see the RSA/DSA classes in System.Cryptography). You then
add the message digest to the headers, and read on the other side. On the
other side, perform the same digest operation, if the digest in the header
matches the one you just created, the message wasn't tampered with.

A slightly stronger mechanism, although one that is a bit more complicated
is to change the stream contents itself (instead of adding message headers).
Take the data after it's been serialized and create a message envolope. This
requires that both client and server create key pairs and share public keys
ahead of time. You can then sign the message, as well as create a symmetric
cipher key, encrypt the entire stream, encrypt the symmetric key with the
other party's public key, and send it (either as part of the stream, or in
the header). On the other side, your custom sink will decrypt the symmetric
cipher key using it's private key, decrypt the message, and validate the
digital signature.
As a slight modification to this technique, you can negotiate a symmetric
key between the two sides ahead of time instead of generating and sending a
new one each time. You can either do this by encrypting a symmetric key with
the other side's public key and sending it ahead of time (only once), or you
can have both sides derive the symmetric key using an algorithm like the DH
key exchange.
Each approach has it's pros and cons when it comes to security. In one
senario, you are sending the key only once. If an attacker can somehow grab
and crack this key, he can read all the messages. Sending a new key with
each message inside a digital envelope keeps the encryption unique for each
message, so one key cannot decipher all messages, but you are sending the
key with the actual message (and there is always a chance someone can
decipher the encrypted key itself).

Note that in all three scenarios, the major component is the message digest
(which is also part of the digital signature if you decide to do that). The
digest, if using the proper keys, will always be the same on both sides if
the message hasn't been tampered with while in transit.

-Rob Teixeira [MVP]

"Paul Fi" <na*******@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
1.communication between the client and server has to go thru client and
server channel sinks before its turned to object method invokations
those channel sinks carry messages thru and other header informations
now how can u secure those header information like the requestheaders
from being modified during its way to the server say by a third party
that acts illegaly to those information?
2.what are the header information that gets added to our header
collection from the formatter sinks from client and server sides?

3.what type of objects that get stored inside our streams ?


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 15 '05 #2
ok may be i have to be more specific to what on my 1st question now for
question 1 lets assume that our sent stream is actually encrypted in
some way but there are the IMessage (used for reference) and the request
headers send with the encrypted stream to the server now what my
question should sound like is if a third party get hold of my request
sent to the server the third party might not be able to modify the
stream coz its encrypted but what about the request headers that are
sent along with the stream if that can be modified perhaps then
information like Client's IP Address might be changed, is that actually
possible if so then how can we prevent such scenario?

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 15 '05 #3
It's been a while since I've dealt with remoting, but at some point, before
the transport sink, both the message itself and the header get dumped into a
flat stream (by using the serialization overload that takes both an object
graph and a headers collection by default). If you replace this sink (and
its counterpart on the other side), or replace the stream it produces with a
digital envelope content stream, it should work. By the way, please use
punctuation - that makes it much easier to understand what you are trying to
convey :-)
If you need more help with this, try the
microsoft.public.dotnet.framework.remoting news group. Ingo is usually
there, and he usually has good answers. In fact, he has written a book about
remoting and has a very good site with examples http://ingorammer.com/

-Rob Teixeira [MVP]

"Paul Fi" <na*******@hotmail.com> wrote in message
news:u%****************@TK2MSFTNGP12.phx.gbl...
ok may be i have to be more specific to what on my 1st question now for
question 1 lets assume that our sent stream is actually encrypted in
some way but there are the IMessage (used for reference) and the request
headers send with the encrypted stream to the server now what my
question should sound like is if a third party get hold of my request
sent to the server the third party might not be able to modify the
stream coz its encrypted but what about the request headers that are
sent along with the stream if that can be modified perhaps then
information like Client's IP Address might be changed, is that actually
possible if so then how can we prevent such scenario?

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 15 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
3913
by: Dicky Cheng | last post by:
Hi, I am using .net remoting technology. I set up a .net remoting client and server in IIS. When the client calls the server, the server will run a long duration method (30-60seconds). I have a...
6
2403
by: Guest | last post by:
Hi, I unerstand that if you choose IIS to host your .Net Remotingcomponents with HTTP channel and SOAP formatter, you get thebuilt-in security and configuraion features of IIS. Also we canexpose it...
4
3099
by: Uchiha Jax | last post by:
Hello everyone, I am a plenty silly person who is trying to learn .NET remoting through trial and error (all articles I read are going over my head at the moment (mostly) so I thought i'd give...
1
2414
by: miha.valencic | last post by:
Hi! What are the options for securing remote objects, which are accessible through IIS, when you have an application deployed on the same server, which uses custom Forms authentication? ...
6
1609
by: AMDRIT | last post by:
Hello folks, I appologize for the cross post, but I really need an answer on this: I do not think that I am seeing the whole picture here. I would like to create a windows service and a...
2
1679
by: Ryan | last post by:
My apologies if this is not the forum to post questions regarding .NET Remoting, but I figured WebServices would be the most appropriate forum of the bunch. We're currently completely re-arching...
6
2072
by: Palvinder Singh | last post by:
Hello google group peeps, I am new to remoting, but have a grasp of it. I am trying to create a server/client application, which will be deployed over an intranet. I have upwards of five...
7
1886
by: hardieca | last post by:
Hi, Can anyone point me in the right direction for an example on how to use remoting to separate my BLL and DAL onto different tiers? Is there a best-practice pattern or design model for this? ...
2
4697
by: Wimpie van Lingen | last post by:
Hey I have some more questions with regards to Remoting in .NET 2. I'm using TCP with the Binary formatter. My solution consists of 4 projects: - Class Library containing the server classes...
0
7265
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7171
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7388
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7545
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7111
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
5692
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5095
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4751
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
461
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.