PDA

View Full Version : چگونگی استفاده از روشهای رمز داده ها



hr110
دوشنبه 20 بهمن 1382, 14:57 عصر
با سلام


در نظر بگیرید که بخواهیم از یکی از روشهای رمزنگاری استفاده کنیم. حال اگر بخواهیم مثلا در دلفی و بانک اطلاعات اسکیو ال از انها استفاده کنیم چگونه و با چه الگوریتمی باید اطلاعات رمز شود که بتوان به سادگی و با استفاده از دستورات SQL به داده مورد نظر دست یافت مثلا:
select * from book where title like '%del%'

شاید نیازی نباشد که بگویم وقتی اطلاعات رمز شوند نمیتوان از این روش استفاده نمود. حال روشی وجود دارد که مثلا دو کلمه delphi و delphian به این دو شکل تبدیل شوند:
swkou
swloguqn
(البته این یک مثال خیلی ساده است)

:flower:

Inprise
دوشنبه 20 بهمن 1382, 17:50 عصر
برادر ربیعی ،

در ارتباط با محتویات بانکهای اطلاعاتی ، رمزنگاری و رمزگشائی باید اصطلاحا" Offline اتفاق بیفته . داده های شما قبل از ذخیره شدن در بانک اطلاعاتی به یک DataSet خاص برای رمزنگاری رکورد به رکورد و انتقال به بانک منتقل میشن و قبل از پردازش اصلی هم باید داده ها از بانک اطلاعاتی به یک DataSet خاص Fetch شده ، رمزگشائی بشن و بعد اون DataSet مورد query قرار بگیره . نا گفته پیداست که دردسر نقل و انتقالات اضافی و دشواریهای مربوط به انتقال صحیح و "بهینه" داده از بانک به Temporary DataSet ، "هزینه" ایست که برای ایمنی بیشتر باید بپردازید . این یک روش خاص بود با توجه به توضیحات مختصر شما و بدون اطلاع از نوع کاربرد . اگر بیشتر توضیح بدید یقینا" اطلاعات مفیدتری دریافت میکنید .

موق باشید

hr110
چهارشنبه 22 بهمن 1382, 12:10 عصر
برادر اینپرایز از اینکه به موضوع اینجانب توجه نمودید کمال تشکر را دارم.
:) :flower: :)
من قصد دارم که در یکی از پروژه هایی که برای یک مرکز نظامی قبلاً نوشته‌ام امنیت اطلاعات را تضمین نمایم. پروژه با دلفی و اسکیوال بوده و من زمان زیادی نیز نمیتوانم برای تغییرات در آن صرف نمایم(البته نیازی نیست که تمامی جداول کد شوند). من با چند روش از جمله MD5 کار کرده و برخی از الگوریتمهای آنها را نیز خودم پیاده‌سازی نموده‌ام. ولی در اینجا نمیتوان مستقیماً از آنها استفاده نمود(که کاملاً واضح است).
فکری که خودم در سر پرورانده‌ام اینست که کلماتی(کلمات با فضای خالی از هم جدا میشوند) که در هر فیلد وجود دارد براساس نام فیلد و نام جدول رمز شوند(ویا میتوان پارامترهای دیگری نیز اضافه نمود) برای مثال از یک تابع XOR استفاده نموده و هر کاراکتر را به یک کاراکتر دیگر تبدیل نمود. حال مقداری سمت راست XOR از تابعی که ورودی آن پارامترهای مذکور(نام فیلد، نام جدول و ..) به همراه یک PK و خروجی آن یک عدد میباشد، گرفته خواهد شد.
در واقع از یک hashtable استفاده میشود که براساس PK متغییر میباشد.

حال به نظر شما میتوان به این روش اعتماد نمود و یا روش استاندارد شده ایی برای آن وجود دارد و ......

سپاسگذارم :gift:


(برای اطلاع مابقی دوستان: از XOR نمیتوان در پروژه هایی که برپایه یونیکد بنا شده اند استفاده نمود!؟؟) :?:

Inprise
چهارشنبه 22 بهمن 1382, 20:04 عصر
برای یک کاربرد نظامی قابل اعتماد نیست . ببین نظرت در مورد این چیه : www.streamsec.com ( اگر خواستی نسخهء کامل و با سورسش رو میدم خدمتت )

:)

Inprise
پنج شنبه 23 بهمن 1382, 04:27 صبح
<span dir=ltr>



StreamSec Tools is a collection of security related components and routines for Delphi, Kylix and C++Builder
SSL/TLS for your Delphi Application
With StreamSec Tools you can add support for the SSL 3.0 / TLS 1.0 protocols to your Delphi application. StreamSec Tools has been integrated into well-known third party packages for Delphi, such as Component4Developers kbmMW 1.0 and Brain Patchworks DxSock 3.0. With StreamSec Tools 1.8.x we are adding support for Synapse, Indy8/Indy9, IntraWeb 5.1.24 and RemObjects SDK.

Encryption Components
StreamSec Tools includes components for industry standard algorithms such as AES, 3DES, ARC4 etc. We don't take your security lightly. Besides the encryption algorithms themselves the components have plug-and-play support for both industry standard Key Derivation (PKCS#5) and industry standard Integrity verification and Authentication (HMAC).

Public Key Cryptography
No security library is complete without support for Public Key Cryptography. StreamSec Tools supports standard algorithms such as RSA, DSA, ECDSA and Diffie-Hellman. All is based on our own high performance big num library MPArith which is included in StreamSec Tools.

Digital Certificates
StreamSec Tools will give you complete support for X.509 certificates. These certificates can be used for e.g. Server Authentication and Client Authentication within SSL / TLS, or Win32 Code Signing using our own implementation of MS Authenticode (tm) all in Delphi code.

StreamSec Tools is fully maintained
StreamSec Tools is maintained and used by some of the best and most dedicated Delphi programmers you are likely to come across.

</span>

hr110
شنبه 25 بهمن 1382, 07:16 صبح
با سلام
جناب اینپرایز عزیز از لطف شما واقعاً سپاسگذارم، ولی مسئله دیگری که من فراموش کردم اینست که از آنجا که این پروژه بخشهای دیگری نیز دارد که با جاوا ، جاوا اسکریپت و php نوشته شده است، بالاجبار باید به دنبال الگوریتم ساده ایی باشم که بتوان با این زبانها نیز پیاده سازی شوند :متفکر:

منتظر ...

Vahid_Nasiri
شنبه 25 بهمن 1382, 20:50 عصر
حتما پسوردها را با MD5 هش کنید:
سورس به زبان جاوا اسکریپت : http://pajhome.org.uk/crypt/md5/

در ضمن اس کیو ال سرور خودش هم در این زمینه قابلیت های ذاتی دارد و یا می شود به آن اضافه کرد:
http://wonko.com/xpcrypt/

در مورد جاوا : تریپل دس برای چند دهه ی آینده خیلی امن است ! :
http://www.orlingrabbe.com/3des1_java.htm

Inprise
یک شنبه 26 بهمن 1382, 00:31 صبح
برادر ربیعی ،
اگر به متن توضیحات ابزار فوق الذکر دقت کنی ، ضمن حمایت از کلیه روشهای استاندارد ( از دس گرفته تا AES ) قابلیت پذیرش الگوریتمهای مختلف بصورت Plugin رو هم داره . بهر حال از هر روشی که استفاده کنی ، میتونی سورسهای خوبی به زبانهای سی ، جاوا ، جاوا اسکریپت و حتی PHP براش پیدا کنی . برای کاربر شما که نقل و انتقال حجیم داده بصورت نقطه به نقطه نیست بلکه ذخیره و بازیابی اطلاعات است ، الگوریتهای سبکتری مانند DES بهترین گزینه هستند که پیاده سازی اون رو میتونی برای زبانهای مختلف با یک جستجوی ساده پیدا کنی .

hr110
یک شنبه 26 بهمن 1382, 06:49 صبح
tanx all :flower: