خانه SQL Server محافظت از داده ها توسط امضاء دیجیتالی در SQL Server SQL Server نوشته شده توسط: حمید فرد ۰۵ شهریور ۱۳۹۴ زمان مطالعه: 5 دقیقه ۰ (۰) مقدمه چطور می توان این عملیات خرابکارانه در داده ها را تشخیص داد؟ یا چطور می توان داده های تغییر یافته شده توسط سارق را شناسایی کرد؟ یک داستان یک شرکت بازرگانی املاک وجود دارد که در حال حاضر دارای سیستم فروش است. در این سیستم فروش یک قابلیتی وجود دارد به نام «قراردادها» که کاربر می تواند اطلاعات کلیدی قرارداد را وارد کند اعم از قیمت- مقدار درصد کمیسیون و البته نام کاربر سیستم. در این شرکت شخص یا اشخاصی هستند که توانایی بستن قرارداد را ندارند و برای اینکه از کار بی کار نشوند دست به تغییرات اطلاعات کلیدی کاربران دیگر می زنند! در SQL Server ما توانایی این را داریم که داده ها را به صورت دیجیتالی توسط صاحب داده امضاء شود. امضاء کردن داده توسط Private Key در Certificate یا در Asymetric Key قابل انجام است. در نظر داشته باشید که Private Key باید فقط و تنها در دست صاحب امضاء و Public Key در دست دیگر کاربران برای تغیید امضاء باشد. مدیران پایگاه داده می توانند داده های را به ترتیب مراحل زیر امضاء دیجیتالی کنند. ۱- گواهینامه و صاحب داده باید با هم جفت شوند. ۲- امتیاز کنترول گواهینامه از عموم باید گرفته شود. ۳- امضاء دیجیتالی توسط SignByCert. ۴- تشخیص امضاء صاحب داده توسط VerifySignedByCert. کد زیر برای داستان بالا ساخته شده است. نکته : کد بالا را کپی نکنید! تایپ کنید!ُ چه رتبه ای میدهید؟ میانگین ۰ / ۵. از مجموع ۰ اولین نفر باش برچسب ها # Database Engine# Security# SQL Server# امضاء دیجیتالی# امنیت# محافظت از داده ها معرفی نویسنده مقالات 6 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده حمید فرد پروفایل نویسنده معرفی محصول مسعود طاهری دوره آموزشی نگهداری از بانکهای اطلاعاتی در SQL Server 1.180.000 تومان 708.000 تومان مقالات مرتبط ۰۵ فروردین SQL Server عملگر LIKE در SQL Server – نحوه استفاده از عملگر LIKE چگونه است؟ تیم فنی نیک آموز ۲۷ اسفند SQL Server Schema در SQL Server چیست؟ آشنایی با روش های ایجاد اسکیما تیم فنی نیک آموز ۲۰ اسفند SQL Server آشنایی با دستور CREATE VIEW در SQL Server + مزایا و کاربردها تیم فنی نیک آموز ۰۶ اسفند SQL Server دستور Create Table در SQL Server – آشنایی با کاربردها و نحوه ایجاد جدول تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ Hamid J. Fard ۰۸ / ۰۶ / ۹۴ - ۰۲:۰۲ جناب طاهری: امیدوار بودم که این وبسایت مانند دیگر وبسایت ها نباشه ولی امیدواریم نا بجا بود. بنده گزارش جلسه اول دوره افزایش کوری را مطالعه کردم که نتیجه آن نکات زیر می باشد. به دلیل آنکه نظر بنده در گزارش شما و در قسمت نظرات دوره حذف گردیده بنده دیگر مایل به ارایه مقالات در وبسایت شما نیستم. نکته اول: Transaction Log File در سیستمهای پایگاه داده ای مانند SQL Server فقط برای Recovery بعد از خرابی هستند و مدیریت تراکنش در قسمتی دیگر از SQL Server اجرا می شود. نکته دوم: Buffer Pool فقط Data Page ها را نگه داری می کند که البته Index هم یک نوع از آن است نه شیء دیگری. لطفا … را حذف کنید. نکته سوم: DBCC MEMORYSTATUS در قسمت Buffer Pool قسمتهای حافظه را نشان نمی دهد. بلکه درباره تعداد کل صفحه ها- صفحه های کثیف – تعداد قفلهای فیزیکی روی حافظه و در انتها زمان نگه داری صفحه های داده در حافظه است. لطفا بیشتر دقت کنید. پاسخ به دیدگاه سید سیاوش گلچوبیان ۰۸ / ۰۶ / ۹۴ - ۰۱:۰۰ سلام مسعود و حمید عزیزتشکر از پاسخ هاتون, این مقاله ها و روش هایی رو که پیشنهاد فرمودید رو مطالعه میکنم و از اونجایی که مبحث بسیار جذابیه, حتما نتیجه تست ها و مطالعه رو تو سایت خواهم گذاشت.راستی حمید این سوال واسه پروژه نبود, کنجکاوی شخصی بود و البته باید اول روش تحقیق میکردم بعد مزاحم تو و مسعود میشدم. پاسخ به دیدگاه Hamid J. Fard ۰۸ / ۰۶ / ۹۴ - ۰۸:۲۷ سیاوش: شما می توانید Certificate را از طریق Dot Net بارگذاری کنید و در نرم افزار خود داده را انکریپت و در اس کیو ال داده را دیکریپت کنید ولی این مدل باعث پیچیده گی مدریت سیستم می شود به دلیل کاربران زیاد. و اینکه البته Dot Net 4.5.6 و SQL Server 2016 قابلیت Always Encrypted رو دارن ولی این فقط برای نرم افزار است و برای هر کاربر مجزا کلید نمی سازد. شما می توانید از این روشی که گفتم تمام انکریپت و دیکریپت را در اس کیو ال انجام دهید بدون آنکه تغییراتی در نرم افزار انجام شود. واسه پروژه بود سوالتون ؟ 🙂 پاسخ به دیدگاه سید سیاوش گلچوبیان ۰۸ / ۰۶ / ۹۴ - ۰۷:۵۵ سلامتشکر از مقاله خوبتون.یک سوال, این حالت و در نظر بگیر که میخواهیم پرایوت کی کاربر نزد خودش باشه و پابلیک کی اش در دسترس عموم, با این حساب انتظار داریم رمز نگاری داده توسط پرایوت کی سمت ماشین خود کاربر و مثلا توسط اپلیکیشن کاربردیش انجام شه و دیکیریپت اون توسط پابلیک کی سمت اس کیو ال (البته میتونه این کار هم سمت کاربر بیننده متن انجام بدیم ولی ما تو سناریومون میگیم سمت اس کیو ال), بنابر این سناریو, پرایوت کی نمیتونه در دسترس اس کیو ال قرار بگیره, و فقط پایلیک کی رو داره. میدونی چطور میشه این سناریو رو هندل کرد پاسخ به دیدگاه مسعود طاهری ۰۸ / ۰۶ / ۹۴ - ۱۰:۱۶ سلاک به لینک های زیر نگاه کنید بد نیست http://sqlblog.com/blogs/michael_coles/archive/2010/01/29/encrypt-it-in-net-decrypt-it-on-sql-server.aspx http://stackoverflow.com/questions/17837862/encrypt-in-sql-decrypt-in-net-how-i-made-it https://social.msdn.microsoft.com/Forums/sqlserver/en-US/8eb80d43-b23d-4600-81b3-304e01f1c19b/encrypt-in-sql-decrypt-in-net-how-i-made-it درباره Always Encrypt می توانید به لینک زیر نگاه کنید http://www.sqlshack.com/new-features-in-sql-server-2016-always-encrypted/ حمید جان متشکرم سیاوش جان شاید لینک های زیر به شما کمک کند در هر حالت امیدوارم بتوانید برای سوال مطرح شده توسط خودتون یک مقاله خوب ارائه کنید. متشکرم موفق باشید پاسخ به دیدگاه حمیدقلیپور ۰۸ / ۰۶ / ۹۴ - ۰۶:۵۶ با سلام و احترام داستان و مطلب علمیتون ؛ باعث درک بهتر موضوع شده واقعا عالی بود. با تشکر پاسخ به دیدگاه Hamid J. Fard ۰۸ / ۰۶ / ۹۴ - ۰۵:۵۶ ممنون از همگی بابت نظراتتون. پاسخ به دیدگاه m ۰۸ / ۰۶ / ۹۴ - ۰۲:۱۲ عالی بود فقط اگه امکان داره در مورد امضای دیجیتال مطالب بیشتری در سایت قرار دهید با تشکر پاسخ به دیدگاه Hamid J. Fard ۰۸ / ۰۶ / ۹۴ - ۰۸:۳۴ متاسفانه به دلیل اینکه این مطالب از دوره آموزشی هستش بیشتر از این نمی توانم مطالب قرار دهم. پاسخ به دیدگاه فرشید علی اکبری ۰۷ / ۰۶ / ۹۴ - ۰۸:۰۴ سلام مطلب مهم ودر جای خود بسیار کاربردی بود. تشکر از به اشتراک گذاری مطلب تون . پاسخ به دیدگاه امین ثریا ۰۷ / ۰۶ / ۹۴ - ۰۶:۲۹ عذر میخوام ، کد مقاله از جنس تصویره و تو گوشیم لود نشده بود که با بروزرسانی مرورگر درست شد . ازتون عذر خواهی میکنمپو بابت مقاله خوبتون تشکر میکنم. پاسخ به دیدگاه امین ثریا ۰۷ / ۰۶ / ۹۴ - ۰۶:۵۱ فک کنم جناب مهندس فراموش کردن مقاله رو کامل قرار بدند! پاسخ به دیدگاه 1 2 3