يك نقص امنيتي در الگوريتم پنهان سازي مورد استفاده در پنهان كردن اسم رمز و Login ID در Microsoft Enterprise Manager for SQL Server 7.0 وجود دارد. اين مشكل زماني رخ مي*دهد كه بخواهيد SQL Server جديدي را در Enterprise Manager نصب *كنيد يا SQL server نصب شده*اي را ويرايش *كنيد (منظور زماني است كه برخي مشخصه*هاي آن تغيير مي*دهيد). اگر SQL Server ، Login name به جاي يك Domain ، User name ويندوز بكار رود و checkbox عنوان "Alway prompt for login name and password" ست نشده باشد،* LoginID و اسم رمز به صورتي ضعيف پنهان شده و در رجيستري ذخيره مي*شود.

هنگامي كه يك (database Administrator)DBA به داخل يك workstation با يك log ، Profile مي*شود LoginID و اسم رمز، هر دو در كليد رجيستري ذخيره مي*شوند، اين اطلاعات به عنوان يك فايل با نام NTUSER.DAT (در ويندوز NT) يا USER.DAT (در ويندوز 95 يا ويندوز 98) زماني كه كاربر logoff مي*كند ذخيره مي*شود. فرد متخاصم مي*تواند اين فايل را در يك ويرايشگر متن باز كرده و DBA ، loginID و اسم رمز پنهان شده را ببينيد. فرد متخاصم مي*تواند اسم رمز و login ID رمز شده پنهان شده را برگردانده و loginID و اسم رمز را بدست آورد. وجود اين مشكل امنيتي به متخاصمين محلي و راه دور اين اجازه را مي*دهد كه اسم رمز Administrator سيستم را بدست آورده و كنترل كاملي روي پايگاه داده روي سرور داشته باشند. اين مشكل امنيتي در Microsoft Enterprise Manager for SQL server 7.0 وجود دارد. سيستم پنهان سازي كه براي پنهان كردن اسم رمز و SQL server ، LoginID نصب شده بكار مي*رود، قابل كشف است. روش پنهان سازي از جانشيني الفبايي استفاده مي*كند و هركدام از كاراكترهاي Unicode در اسم رمز با دو بايت متناسب با موقعيتشان در رشته، XOR شده*اند. اگر checkbox با عنوان “Always prompt for login name and password” هنگامي كه SQL server نصب مي*شود ست نشده باشد، LoginID و اسم رمز به صورت ضعيفي در رجيستري در قسمت :

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSSQLServer\S QLEW\Registered Server X]

ذخيره مي*شود. اطلاعات ذخيره شده در HKEY_CURRENT_USER زماني در دسترس است كه كاربر در حال حاضر log شده باشد در اين حال زماني كه كاربر ويندوز NT به سيستم log مي*شود يك كپي متفاوت از HKEY_URRENT_USER لود مي*شود و هنگامي كه كاربر Logoff مي*كند محتويات HKEY_URRENT_USER در فايل NTUSER.DAT يا USER.DAT ذخيره مي*شود و اين فايل*ها را مي*توان در Notepad ويندوز باز كرد و loginID و اسم رمز را براحتي در آن ديد اگر DBA از يك workstation ديگري، به سيستم log كند، فايل NTUSER.DAT روي همان workstation كه كاربر از طريق آن به سيستم log شده است ذخيره مي*شود.

براي حل اين مشكل امنيتي و استفاده مطمئن از SQL server، مايكروسافت پيشنهاد كرده كه از Windows Integrated security استفاده شود زيرا در مد Integrated security (امنيت يكپارچه)، اسم رمزها هيچگاه ذخيره نمي*شوند.

اگر SQL server ، LoginID براي Logging به يك سرور در Enterprise Manager تعيين شده باشد، مايكرسافت پيشنهاد مي*كند كه از انتخاب “Always Prompt for Login name and password" براي جلوگيري ذخيره اسم رمزها در رجيستري استفاده كنيد.