PDA

View Full Version : Web Service Authenticate & Secure Conversation...



arshparm
سه شنبه 22 اردیبهشت 1388, 15:29 عصر
با سلام.
چه جوری میشه یک ارتباط امن با web service برقرار کرد؟
با توجه به اینکه:
1-نخواهیم از ssl استفاده کنیم.
2- اگه کسی به اطلاعات ردوبدل شده دسترسی پیدا کرد(شنود)، نتونه به اون وسیله اقدام به خرابکاری کنه.
3- بعد از یکبار Authenticate شدن از طریق وب سرویس تا مدت خاصی توسط وب سرویس قابل شناسایی باشه.
من دنبال بهترین و اصولی ترین راه هستم...
مر30.

arshparm
سه شنبه 22 اردیبهشت 1388, 15:46 عصر
با سلام.
چه جوری میشه یک ارتباط امن با web service برقرار کرد؟
با توجه به اینکه:
1-نخواهیم از ssl استفاده کنیم.
2- اگه کسی به اطلاعات ردوبدل شده دسترسی پیدا کرد(شنود)، نتونه به اون وسیله اقدام به خرابکاری کنه.
3- بعد از یکبار Authenticate شدن از طریق وب سرویس تا مدت خاصی توسط وب سرویس قابل شناسایی باشه.
من دنبال بهترین و اصولی ترین راه هستم...
مر30.

ببخشید که 2 بار این تاپیک رو فرستادم!
در ضمن مایل هستم که از WCF استفاده کنم،ولی اونقدر ها مهم نیست...

arshparm
چهارشنبه 23 اردیبهشت 1388, 15:25 عصر
کسی نیست جواب من رو بده؟! ...

arshparm
یک شنبه 27 اردیبهشت 1388, 18:38 عصر
بابا دم شما گرم!
چقدر تحویل ...
واقعآ هیچ کس نمی تونه کمکی بکنه؟!

eyes_shut_number1
سه شنبه 12 خرداد 1388, 22:41 عصر
در مورد سوال دومت بگم فقط باید دیتا ها رو کد کنی
با هر الگروتمی
ترجیحا استاندارد مثل MD5

xamfia
شنبه 30 خرداد 1388, 00:44 صبح
ببخشید متوجه تاپیک شما نشده بودم وگرنه زودتر جواب میدادم.
بهترین ، امن ترین و اصولی ترین راه استفاده از WSE مایکروسافت می باشد.
http://www.microsoft.com/Downloads/details.aspx?familyid=1BA1F631-C3E7-420A-BC1E-EF18BAB66122&displaylang=en
فقط امیدوارم برنامه نویس دات نت باشید.
شاید لینک پائین هم بتونه بیشتر کمکتون کنه

www.persianwebservice.com (http://www.persianwebservice.com)

arshparm
دوشنبه 05 مرداد 1388, 09:25 صبح
مر30 از توجهتون.(بعد از ... :چشمک:)
ببخشید به تاپیک سر نزدم ، آخه دیگه نا امید شده بودم از جواب!
من به این نتیجه رسیدم که از SSL استفاده کنم ، هم بخاطر امنیت بالا و هم بخاطر محدودیتی که از طرف Host ها داریم برای نصب WSE.
بله، از Net. ورژن (3.5) هم استفاده میکنم (#C).
همونطور که گفتم از WCF استفاده کردم.
*****
الان به یک مشکل برخورد کردم، اون هم اینه که :
user اولین بار به web service کانکت میشه و متد رو اجرا میکنه. توی تمام متد ها هم یوزر و پسورد فرستاده میشه . حالا میخواهیم کاری کنیم که user ای که اولین بار به web service ما connect شد ، در مراجعات بعدی مثلاً تا 2 دقیقه Authenticate باقی بمونه و برای شناسایی دیگه نره سراغ دیتابیس و اون رو Authenticate کنه ، یعنی همون کاری که Membership انجام میده.
*****
برنامه Client من لزوماً یه IE نیست و ممکنه یه winApp یا سرویس ویندوزی یا ... باشه. یعنی من واسه استفاده از Cookie فکر کنم محدودیت داشته باشم...
*****
جا داره وقایع اخیر رو به تمام هموطن هام تسلیت بگم...

arshparm
چهارشنبه 07 مرداد 1388, 13:13 عصر
کسی نیست جواب بده؟؟

mehdi.mousavi
چهارشنبه 07 مرداد 1388, 13:36 عصر
کسی نیست جواب بده؟؟

سلام.
همونطوری که xamfia قبلا گفتن، استفاده از WSE یک راه حل مناسب هستش. چون دقیقا تمامی این مسائلی که شما مطرح کردید رو پشتیبانی می کنه. بعنوان مثال با Sliding Window ای که می تونید تعریف کنید، قادر خواهد بود تا Security Token ای از روی ID/PWD تولید میشه، برای مدت زمان T (قابل تعریف) در حافظه باقی بمونه و هر بار عمل Authentication با رجوع به بانک انجام نشه.

شما عنوان کردید که از WCF استفاده می کنید و می خواهید از SSL استفاده کنید. من با WCF آشنا نیستم اما قطعا مکانیزمهایی برای ارسال Out of Band اطلاعات هنگام فراخوانی متود ها در این تکنولوژی هم در نظر گرفته شده. در واقع، تو WSE، کافی بود تا با فراخوانی هر Web Method ای، اطلاعات ID/PWD یا Security Token بصورت Out of Band در SOAP Header به سمت سرور ارسال بشه (دقت کنید، منظورم ارسال این پارامترها بصورت Formal Parameter های متود نیست!). به این ترتیب، امکان انجام عمل Verification سمت سرور وجود داشت.

احتمالا با اندکی جستجو در Google می تونید با چنین مکانیزمهایی در WCF هم آشنا بشید.
موفق باشید.