Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 10-10-2008
sotn3m sotn3m is offline
Registered User
 
Name: Tomasz Mecinski
Organization: Politechnika Gdańska
Project: 2d space game
 
Join Date: Oct 2008
Posts: 2
session factory yet again

I have a very simple question after reading a lot about Ice.

If I add a proxy to the adapter with UUID as an identity, and send it to the client using secured connection, may I be sure that such a proxy can be used only by this very client (because no one else would know the UUID, which suppose to be unique)?
And because of that any authorization/authentication may be done only during the creating of such a proxy?

Tomek
Reply With Quote
  #2 (permalink)  
Old 10-10-2008
matthew's Avatar
matthew matthew is offline
ZeroC Staff
 
Name: Matthew Newhook
Organization: ZeroC, Inc.
Project: Internet Communications Engine
 
Join Date: Feb 2003
Location: NL, Canada
Posts: 1,088
In short, no. The proxy could always be "leaked" to other clients, and so this is not safe. The best thing to do is to use Glacier2 sessions. In contrast to the approach you have outlined, Glacier2 associates the session UUID to the life cycle of the connection from the client. Once the connection is gone, the session is already gone, and the session cannot be used from anything other than the originating client.
Reply With Quote
  #3 (permalink)  
Old 10-10-2008
xdm's Avatar
xdm xdm is offline
ZeroC Staff
 
Name: José Gutíerrez de la Concha Martínez
Organization: ZeroC, Inc.
Project: Ice Developer
 
Join Date: Sep 2003
Location: La Coruña, Spain
Posts: 299
Hi Tomasz

There is not implicit authentication when you contact a servant throw a ssl proxy, if other client is able to guest the UUID your aproach not waranted that only the first client can contact, when could be dificult to a program guest what UUID you are using it could be doable, specially if the client is infected with same kind of virus, malware, etc.

A better approach to the problem you are describing is to use Glacier2 Filtering feauture, you could read about this in Manual 39.5.2 Glacier2 Filtering

Cheers,
José
Reply With Quote
  #4 (permalink)  
Old 10-10-2008
sotn3m sotn3m is offline
Registered User
 
Name: Tomasz Mecinski
Organization: Politechnika Gdańska
Project: 2d space game
 
Join Date: Oct 2008
Posts: 2
Thank you for your answers

Do I think correctly that in such a case, uuid can be obtained only in case of a poor security of the client's host?

I am considering writing a real-time game set in space. I was looking into ways of creating sessions on my own for two reasons:
a) Real-time action events should probably be handled using UDP. I hope that Ice is lightweight enough to be used for this purpose, so I could gain the ability to write the interface using slice. Glacier2 does not provide support for UDP. Unfortunately, I keep in mind that UDP protocol would show the identity of proxies (used for events) to anyone listening, but I don't see a good solution for this.
b) I was thinking of providing end-user with the game server that can be run by him/her; I am not expecting the knowledge to setup and start Glacier2. (Maybe I should do this programmatically?)
Reply With Quote
  #5 (permalink)  
Old 10-10-2008
xdm's Avatar
xdm xdm is offline
ZeroC Staff
 
Name: José Gutíerrez de la Concha Martínez
Organization: ZeroC, Inc.
Project: Ice Developer
 
Join Date: Sep 2003
Location: La Coruña, Spain
Posts: 299
Quote:
Do I think correctly that in such a case, uuid can be obtained only in case of a poor security of the client's host?
I also don't see any other alternative.

Quote:
a) Real-time action events should probably be handled using UDP. I hope that Ice is lightweight enough to be used for this purpose, so I could gain the ability to write the interface using slice. Glacier2 does not provide support for UDP. Unfortunately, I keep in mind that UDP protocol would show the identity of proxies (used for events) to anyone listening, but I don't see a good solution for this.
At this point there is no UPD support but you could use oneway calls and get great performance, the major advantage of Glacier2 is authentication, session support, additionally protection for server back, and the ability for clients to have callbacks without the need to open ports in the client firewalls.

Quote:
b) I was thinking of providing end-user with the game server that can be run by him/her; I am not expecting the knowledge to setup and start Glacier2. (Maybe I should do this programmatically?)
You could create your game as a service and install Glacier2 as other service, then you could configure your game service to depends on Glacier2 service.

Cheers,
José
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Start new server process using factory design pattern spsoni Help Center 3 09-11-2008 09:25 AM
Glacier2 will block all session with callback,when a session hung. netfish Help Center 6 03-14-2008 11:38 PM
IceGrid sessions, Glacier2 and factory objects? bwvb Help Center 3 07-09-2007 03:47 PM
Question about proxy's factory methods. rc_hz Help Center 7 09-05-2006 08:58 AM
Object Factory enzo Help Center 2 03-17-2004 02:29 PM


All times are GMT -4. The time now is 05:36 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.