USBKey远程劫持技术分析
hasp hl 加密狗(USB Key) 软件保护技术 深度分析
1 The HASP-HL Crack SolutionHASP-HL is the current protection hardware by Aladdin Knowledge Systems. This document explains how to crack and bypass the security of HASP-HL – “their so-called Next Generation of Software Protection”.2 HASP-HL EnvelopeThe envelope encryption is done via a graphical user interface as shown in Figure 1. The encryption options are set by default to provide a high level of security. The selection of additional options (more encryption/anti debug modules, detection of user mode and system mode debuggers) has no influence on the analysis and mainly increases the size of the resulting executable and the startup time. Within the analysis there are no noticeable effects of these additional settings.Figure 1 Automatic encryption window of HASP-HLThe Encryption itself encrypts code and data. Resources are not encrypted even if the resource section is included in the list of sections to be encrypted. The Import Address Table (IAT) is encrypted and some APIs are redirected to the security engine (see also the detailed list of the redirected 633 APIs in the appendix). For the runtime check a separate thread is initiated. Anti debugging measures are in place which are mainly active at program startup time. Once the Security engine has decrypted the program it can be dumped to disk. After the IAT of the dump is restored and the program is reset to the Original Entry Point (OEP) the executable can be run without the HASP-HL.2.1 Locating the Original Entry Point (OEP)The OEP can be located using the standard hacker tool OllyDbg. Due to anti-debug measures some hardening of the debugger is required.2.1.1 Installing OllyDbg and the necessary pluginsOllyDbg is copied into a separate directory. There is no dedicated installation necessary. OllyDbg can be obtained from various websites including the homepage of OllyDbg:http://www.ollydbg.de/The current version 1.10 is the preferred version.To analyze HASP-HL it is necessary to install two plugins into OllyDbg: IsDebuggerPresent and OllyDump. These plugins are available from:/stuph/The plugins are simply copied into the same directory as OllyDbg.2.1.2 Hardening OllyDbgOllyDbg will be recognized by one of the several text references to OllyDbg inside the code. The usual way to evade this kind of debugger detection is to replace all occurrences of the string OllyDbg inside the executable to something else with the same length. Also the filename of the executable should be changed to this alternate name. Due to the structure of the plugins it is necessary to keep an original copy of OllyDbg in the same directory as the modified version. The string replacement can be done with any usual hex-editor.2.1.3 Setting the optionsStart the hardened OllyDbg (here for simplicity still referenced as OllyDbg) and choose from the menu Options / Debugging Options. In the options dialog select the SFX-tab and select “Extend code section to include extractor”, “Stop at entry of self-extractor”, and “Pass exceptions to SFX extractor” as shown in Figure 2.Figure 2: OllyDbg SFX DialogAs shown in Figure 3, in the tab Exceptions select mostly everything that can be selected. This will disarm some anti-debugging involving illegal opcodes, illegal memory accesses, and some more.Figure 3: OllyDbg Exceptions Dialog2.1.4 Tracing the OEPNow load the protected application into the debugger using the File / Open from the menu. Be sure to have the original HASP-HL dongle attached to the computer when loading the program. After a short analysis and two warnings about encrypted programs etc. the debugger should halt on the entry point of the application. Turn on the debugger hiding by selecting “Plugins / IsDebuggerPresent / Hide”. Alternatively you can set the “autohide” in Options Menu of the IsDebuggerPresent plugin. Switch to the hexdump section and go to the address of “ExitProcess” in Kernel32. To go to this Address use “<Ctrl> G” or the context menu. The entered Address is case sensitive. Select left topmost byte with the left mouse button. Then set a hardware breakpoint by clicking right, choosing “Breakpoint / Hardware on write / Byte”. Now run the program using <F9> until it hits the breakpoint. Switch to the memory window by hitting “<Alt> M” or selection “View / Memory” from the menu and highlight the code section (usually named “text”) of the protected program by left clicking it. Set a breakpoint on the section with <F2>. Your screen should look somewhat like Figure 4.Figure 4: OllyDbg with Breakpoint on code sectionIf you <F9> (Run) now the Debugger will put the program at the Original Entry Point (OEP). To get the relative entry point from the module start the module base (address of PE header) from the “Memory” window has to be subtracted. In this case 1,000,000. This OEP is needed in the next steps. Please leave the window open as it is still needed for the dump.2.2 Dumping the ExecutableOnce the program is halted at the Original Entry Point (OEP) the program can be dumped to disk. To do this click right into the disassembler window and select “Dump debugged process”. A dialog pops up in which you can save the program to disk. Please uncheck the “Rebuild Import” checkbox as this will not work correctly in this case. The entry point should be set automatically to the correct OEP. Otherwise please correct. The other setting should not be changed from the default values.2.3 Rebuilding the ExecutableTo rebuild the executable it is necessary to create a new Import Address Table (IAT). The original table has been destroyed by the encryptor and the links are rebuilt in real-time by the startup code of the protection engine. The rebuilding process can be managed using another standard hacker tool (Import Reconstructor, ImpRec).2.3.1 Installing ImpRecImpRec can be obtained from a number of pages including/mackt/projects/imprec/ucfir16f.zipImpRec does not require a dedicated installation. To install it copy it into an appropriate directory.Be sure to select the Option “Fix EP to OEP” in the options menu (Figure 5)Figure 5: ImRec Options Menu2.3.2 Rebuilding the IATStart the protected application. Once it is running start ImpRec. If ImpRec is running at program startup it will be detected as a Debugger. Do not forget to connect the dongle.Attach ImpRec to the running process by selecting the correct entry in the drop down list.Enter the OEP calculated above and hit the button “IAT AutoSearch”. The button “Get Imports” delivers the list of imported APIs with still some entries invalid. To see the invalid entries hit the button “Show Invalid”. This should result in a list similar to the list below (Figure 6) with some entries (in this case 74) are highlighted. As the following process might involve some iterations hit the “Save Tree” and store the results found so far in a text file. After restarting ImpRec and re-attaching to the executable this file can be loaded using “Load Tree”.Figure 6: ImpRec invalid entriesNow right click on an invalid API and select “Trace Level3 (Trap Flag)”. ImpRec should now resolve the invalid APIs one by one. Eventually the protected application will terminate or ImpRec is “unable to initialize the tracer”. In this case save the tree again, exit ImpRec, restart the application, restart ImpRec, Attach to the process, load the tree, hit “Show Invalid”, and manually deselect the first invalid entry (<Ctrl> <left click>) to stop ImpRec from resolving this entry again. If you have to restart multiply, you should successively deselect all problematic entries. With HASP-HL 1.20 there should be a maximum of 3 different problematic entries (out of several hundred redirected entries). The problematic entries are:1.GetVersion2.GetProcAddress3.ExitProcess2.3.3 Resolving the problematic 3 entriesResolving these three entries requires either a little trial and error or a short debugging session. For the invalid entries ImpRec offers the Address to which the API has been redirected. In the example below (Figure 7) it would be the address “011D368”. In a new debugger session (the old one will be detected as a debugger session because of the long delay) the address should be entered as a hardware breakpoint by calling <Ctrl G> in the disassembler window and than setting a hardware breakpoint on execution using a right click. A hardware breakpoint is needed here as the code has still to be decrypted. If a breakpoint occurs a short inspection reveals the correct entry. “GetVersion” is usually called at the beginning. “GetProcAddress” has the Address of an API and a module handle on the stack (lower right in the CPU windows, see Figure 8, were the entry “RegisterPenApp” and a reference to kerner32 is passed on the stack). “ExitProcess” is called to terminate the program. In Delphi-applications some of these APIs can be referenced multiply. If all APIs have been identified they can be entered in ImpRec by double clicking the respective invalid API. A list of possible APIs pops up and the correct one can be selected (see Figure 9). This leads to a completed import tree.Figure 7: Address of redirected functionFigure 8: Resolving additional APIsFigure 9: Selecting a resolved API2.3.4 Fixing the executableAfter all invalid entries have been fixed the dump can be adjusted to contain the correct OEP and a correct IAT. To fix the executable it is positively necessary to have ImpRec attached to the running program. Again due to debugger detection ImpRec has to be started after the protected program. If necessary load the completed tree file. Now hit the button “FixDump” and select the dump created in step 2.2 using OllyDebug. The new executable will contain an appended underscore and should be able to be run without a HASP-HL dongle.3 ConclusionThe automatic protection by HASP-HL from Aladdin knowledge systems provides a limited protection that can be removed with some experience and prior knowledge within a few minutes of time. If no dongle is available a restoration is not possible due to the encryption. The large number of redirected APIs (up to several hundred) and the considerable number of anti-debugging modules (50) seems to provide absolutely no security. Even after a closer look the purpose of the anti-debugging modules is unclear as they show no effect at all. The large number of redirects can be reduced to 3 by use of automatic tools. Here too the reason for the large number remains unclear as it has no effect on the security.4 Appendices4.1 List of redirected APIsSome APIs that are redirected by HASP-HL 1.20 are identified and are listed here for completeness4.1.1 Kernel32.dllkernel32.dll, WriteTapemark, WriteProcessMemory, WritePrivateProfileStructW, WritePrivateProfileStructA, WritePrivateProfileStringW, WritePrivateProfileStringA, WriteFileEx, WriteFile, WriteConsoleOutputW, WriteConsoleOutputCharacter, WriteConsoleOutputAttribute, WinExec, WideCharToMultiByte, WaitNamedPipeW, WaitNamedPipeA, WaitForDebugEvent, WaitCommEvent, VirtualUnlock, VirtualQueryEx, VirtualQuery, VirtualProtectEx, VirtualProtect, VirtualLock, VirtualFreeEx, VirtualFree, VirtualAlloc, VerifyVersionInfoA, VerSetConditionMask, VerLanguageNameA, UpdateResourceW, UpdateResourceA, UnlockFileEx, UnlockFile, TransmitCommChar, SystemTimeToFileTime, SuspendThread, SetupComm, SetWaitableTimer, SetVolumeLabelA, SetThreadPriorityBoost, SetThreadPriority, SetThreadExecutionState, SetThreadAffinityMask, SetTapePosition, SetTapeParameters, SetSystemTimeAdjustment, SetSystemTime, SetStdHandle, SetProcessWorkingSetSize, SetProcessPriorityBoost, SetPriorityClass, SetNamedPipeHandleState, SetMailslotInfo, SetLocaleInfoA, SetLocalTime, RestoreLastError, SetHandleInformation,SetFirmwareEnvironmentVaria, SetFileValidData, SetFileTime, SetFileShortNameW, SetFilePointerEx, SetFilePointer, SetFileAttributesW, SetErrorMode, SetEnvironmentVariableW, SetEnvironmentVariableA, SetEndOfFile, SetCurrentDirectoryW, SetComputerNameW, SetComputerNameA, SetCommTimeouts, SetCommState, SetCommMask, SetCommConfig, SearchPathW, SearchPathA, ScrollConsoleScreenBufferW, ScrollConsoleScreenBufferA, ResumeThread, ResetWriteWatch, RemoveDirectoryW, ReadProcessMemory, ReadFileEx, ReadDirectoryChangesW, ReadConsoleW, ReadConsoleOutputW, ReadConsoleOutputCharacterW, ReadConsoleOutputAttribute, ReadConsoleOutputA, ReadConsoleA, RaiseException, QueueUserAPC, QueryPerformanceFrequency, QueryPerformanceCounter, QueryDosDeviceA, QueryDepthSList, PurgeComm, ProcessIdToSessionId, PrepareTape, OutputDebugStringW, OpenWaitableTimerW, OpenWaitableTimerA, OpenThread, OpenSemaphoreW, OpenSemaphoreA, OpenProcess, OpenMutexW, OpenMutexA, OpenFileMappingW, OpenFileMappingA, OpenEventW, OpenEventA, MultiByteToWideChar, MapViewOfFileEx, MapViewOfFile, LockFileEx, LockFile, LocalReAlloc, LocalLock, LocalFree, LocalAlloc, LCMapStringW, LCMapStringA, IsValidLocale, HeapWalk, HeapValidate, HeapUnlock, HeapSize, HeapSetInformation, HeapReAlloc, HeapQueryInformation, HeapLock, HeapFree, HeapDestroy, HeapCreate, HeapCompact, HeapAlloc, GlobalWire, GlobalUnfix, GlobalUnWire, GlobalMemoryStatusEx, GlobalMemoryStatus, GlobalFix, GetWriteWatch, GetVersionExA, GetVersion, GetUserGeoID, GetUserDefaultLCID, GetTimeFormatW, GetTimeFormatA, GetThreadTimes, GetThreadSelectorEntry, GetThreadPriorityBoost, GetThreadPriority, _hwrite, GetTempPathA, GetTempFileNameW, GetTempFileNameA, GetTapePosition, GetTapeParameters, GetSystemWindowsDirectoryA, GetSystemTimeAdjustment, GetSystemTime, GetSystemPowerStatus, GetSystemInfo, GetSystemDirectoryA, GetStringTypeExW, GetStringTypeExA, GetStringTypeA, GetQueuedCompletionStatus, GetProfileStringW, GetProfileStringA, GetProcessWorkingSetSize, GetProcessTimes, GetProcessPriorityBoost, GetProcessId, GetProcessHeaps, GetProcessAffinityMask, GetProcAddress, GetPrivateProfileStructW, GetPrivateProfileStructA, GetPrivateProfileStringW, GetPrivateProfileStringA, GetPrivateProfileSectionW, GetPrivateProfileSectionA, GetPrivateProfileIntW, GetPrivateProfileIntA, GetPriorityClass, GetNumberFormatA, GetNumaHighestNodeNumber, GetNamedPipeInfo, GetNamedPipeHandleStateW, GetNamedPipeHandleStateA, GetModuleHandleW, GetModuleFileNameA, GetMailslotInfo, GetLogicalDrives, GetLogicalDriveStringsW, GetLogicalDriveStringsA, GetLocaleInfoA, GetLocalTime, GetHandleInformation, GetFullPathNameA, GetFirmwareEnvironmentVaria, GetFileType, GetFileTime, GetFileSizeEx, GetFileSize, GetFileAttributesW, GetFileAttributesExW, GetExitCodeThread, GetExitCodeProcess, GetEnvironmentVariableW, GetEnvironmentVariableA, GetEnvironmentStrings, GetDriveTypeW, GetDiskFreeSpaceW, GetDiskFreeSpaceExW, GetDiskFreeSpaceExA, GetDiskFreeSpaceA, GetDevicePowerState, GetDateFormatW, GetDateFormatA, GetCurrencyFormatW, GetCurrencyFormatA, GetComputerNameW, GetComputerNameA, GetCompressedFileSizeW, GetCommTimeouts, GetCommState, GetCommProperties, GetCommModemStatus, GetCommMask, GetCommConfig, GetCPInfoExA, GetBinaryType, FormatMessageW, FormatMessageA, FoldStringW, FoldStringA, FlushViewOfFile, FlushInstructionCache, FlushFileBuffers, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileA, FindFirstChangeNotification, FillConsoleOutputCharacterW, FillConsoleOutputAttribute, FileTimeToSystemTime, FileTimeToDosDateTime, FatalAppExitW, FatalAppExitA, ExpandEnvironmentStringsW, ExpandEnvironmentStringsA, ExitProcess, EscapeCommFunction, EraseTape, EndUpdateResourceW, DosDateTimeToFileTime, DisconnectNamedPipe, DeleteFileW, DeleteFiber, DefineDosDeviceW, DefineDosDeviceA, DebugSetProcessKillOnExit, CreateWaitableTimerA, CreateThread, CreateTapePartition, CreateSemaphoreW, CreateSemaphoreA, CreateProcessW, CreateProcessA, CreatePipe, CreateNamedPipeW, CreateNamedPipeA, CreateMutexW, CreateMutexA, CreateMailslotW, CreateMailslotA, CreateIoCompletionPort, CreateFileW, CreateFileMappingW, CreateFileMappingA, CreateFileA, CreateFiberEx, CreateEventW, CreateEventA, CreateDirectoryW, CreateDirectoryExA, CopyFileExA, CopyFileA, ContinueDebugEvent, ConnectNamedPipe, CompareStringW, CompareStringA, ClearCommError, CancelIo, CallNamedPipeA, BuildCommDCBW, BuildCommDCBAndTimeoutsW, BuildCommDCBA, BeginUpdateResourceW, BeginUpdateResourceA, Beep, BackupWrite, BackupSeek, BackupRead, _hread, _hwrite, lstrcmpi, CreateWaitableTimerW4.1.2 User32.dllIsCharAlphaW, IsCharAlphaNumericW, IsCharAlphaNumericA, IsCharAlphaA, InsertMenuW, InsertMenuItemW, InsertMenuItemA, InsertMenuA, GrayStringW, GrayStringA, GetWindowThreadProcessId, GetUserObjectSecurity, GetUserObjectInformationA, GetThreadDesktop, GetTabbedTextExtentW, GetTabbedTextExtentA, GetMessageW, GetMessageA, GetMenuStringW,GetMenuStringA, GetMenuItemInfoW, GetMenuItemInfoA, GetKeyboardType, GetKeyboardLayoutNameW, GetDlgItemTextW, GetClipboardData, GetClassNameW, GetClassInfoW, GetClassInfoExW, GetClassInfoExA, GetClassInfoA, FillRect, ExitWindowsEx, EnableMenuItem, DrawTextW, DrawTextExW, DrawTextExA, DrawTextA, DrawStateW, DrawStateA, DrawIconEx, DrawEdge, DlgDirSelectExA, DlgDirSelectComboBoxExA, DlgDirListW, DlgDirListComboBoxW, DialogBoxParamW, DialogBoxParamA, DialogBoxIndirectParamW, DialogBoxIndirectParamA, DefFrameProcW, DefFrameProcA, CreateWindowStationW, CreateWindowStationA, CreateWindowExW, CreateWindowExA, CreateMDIWindowW, CreateMDIWindowA, CreateIconFromResourceEx, CreateIcon, CreateDialogParamW, CreateDialogParamA, CreateDialogIndirectParamW, CreateDialogIndirectParamA, CreateDesktopW, CreateDesktopA, CreateCursor, CopyImage, CopyIcon, CheckMenuRadioItem, CheckMenuItem, CharUpperW, CharUpperBuffA, CharUpperA, CharToOemBuffW, IsCharUpperA, CharPrevW, CharPrevExA, CharPrevA, CharNextW, CharLowerW, CharLowerBuffA, CharLowerA, ChangeMenuW, ChangeMenuA, IsCharLowerA, ChangeDisplaySettingsExA, CascadeWindows, CallWindowProcW, CallWindowProcA, CallNextHookEx, CallMsgFilterW, CallMsgFilter, BroadcastSystemMessageW, BroadcastSystemMessage, AppendMenuW, AppendMenuA, MessageBoxExW, MessageBoxIndirectA, MessageBoxIndirectW, ModifyMenuA, ModifyMenuW, MsgWaitForMultipleObjects, MsgWaitForMultipleObjectsEx, OemToCharBuffW, OpenClipboard, OpenDesktopA, OpenDesktopW, OpenWindowStationA, OpenWindowStationW, PeekMessageA, PeekMessageW, PostMessageA, PostMessageW, PostThreadMessageA, RegisterClassA, RegisterClassW, RegisterClipboardFormatA, RegisterClipboardFormatW, RegisterClipboardFormatA, RegisterClipboardFormatW, RemovePropA, RemovePropW, ScrollDC, ScrollWindow, ScrollWindowEx, SendDlgItemMessageA, SendDlgItemMessageW, SendMessageA, SendMessageCallbackA, SendMessageCallbackW, SendMessageTimeoutA, SendMessageTimeoutW, SendMessageW, SendNotifyMessageA, SendNotifyMessageW, SetClassLongA, SetClassLongW, SetClipboardData, SetDlgItemInt, SetMenuItemBitmaps, SetMenuItemInfoA, SetMenuItemInfoW, SetPropA, SetPropW, SetRect, SetScrollPos, SetScrollRange, SubtractRect, TabbedTextOutA, TabbedTextOutW, TileWindows, ToAscii, ToAsciiEx, ToUnicode, ToUnicodeEx, TrackPopupMenu, UnionRect, UnregisterClassA, UnregisterClassW, VkKeyScanA, VkKeyScanExA, WaitForInputIdle, WinHelpA, WinHelpW, keybd_event, mouse_event, wvsprintfA, wvsprintfW, IsCharUpperW, IsDialogMessageW, LoadBitmapA, LoadCursorA, LoadCursorFromFileA, LoadIconA, LoadImageA, LoadImageW, LoadKeyboardLayoutA, LoadMenuIndirectA, LoadMenuIndirectA, ChangeDisplaySettingsExW, IsCharLowerW, LoadStringA, LookupIconIdFromDirectoryEx, MapVirtualKeyExA, MessageBoxExA4.1.3 Advapi32.dllSetFileSecurityW, SetFileSecurityA, RevertToSelf, RegisterEventSourceW, RegisterEventSourceA, RegUnLoadKeyW, RegUnLoadKeyA, RegSetValueW, RegSetValueA, RegSetKeySecurity, RegSaveKeyW, RegSaveKeyExW, RegSaveKeyExA, RegSaveKeyA, RegRestoreKeyW, RegRestoreKeyA, RegReplaceKeyW, RegReplaceKeyA, RegQueryValueW, RegQueryValueExW, RegQueryValueExA, RegQueryValueA, RegQueryMultipleValuesW, RegQueryMultipleValuesA, RegQueryInfoKeyW, RegQueryInfoKeyA, RegOpenUserClassesRoot, RegOpenKeyExW, RegOpenKeyExA, RegNotifyChangeKeyValue, RegLoadKeyW, RegLoadKeyA, RegGetKeySecurity, RegFlushKey, RegEnumValueW, RegEnumValueA, RegEnumKeyW, RegEnumKeyExW, RegEnumKeyExA, RegEnumKeyA, RegDeleteValueW, RegDeleteValueA, RegDeleteKeyW, RegDeleteKeyA, RegCreateKeyExW, RegCreateKeyExA, RegCreateKeyA, RegConnectRegistryW, RegConnectRegistryA, ReadEventLogW, ReadEventLogA, PrivilegedServiceAuditAlarm, PrivilegeCheck, OpenEventLogW, OpenEventLogA, OpenEncryptedFileRawA, OpenBackupEventLogW, OpenBackupEventLogA, ObjectPrivilegeAuditAlarmW, ObjectPrivilegeAuditAlarmA, ObjectOpenAuditAlarmW, ObjectOpenAuditAlarmA, ObjectDeleteAuditAlarmW, ObjectDeleteAuditAlarmA, ObjectCloseAuditAlarmW, ObjectCloseAuditAlarmA, MakeAbsoluteSD, LookupPrivilegeValueW, LookupPrivilegeValueA, LookupPrivilegeNameW, LookupPrivilegeNameA, LookupPrivilegeDisplayNameW, LookupAccountSidW, LookupAccountSidA, LookupAccountNameW, LookupAccountNameA, LogonUserW, LogonUserExW, LogonUserExA, LogonUserA, IsTokenUntrusted, IsTokenRestricted, InitiateSystemShutdownW, InitiateSystemShutdownExW, InitiateSystemShutdownExA, InitiateSystemShutdownA, ImpersonateNamedPipeClient, ImpersonateLoggedOnUser, GetTokenInformation, GetSecurityDescriptorSacl, GetSecurityDescriptorOwner, GetSecurityDescriptorGroup, GetSecurityDescriptorDacl, GetPrivateObjectSecurity, GetKernelObjectSecurity, GetFileSecurityW, GetFileSecurityA, GetEventLogInformation,AbortSystemShutdownA, AccessCheck, AccessCheckAndAuditAlarmA, AccessCheckAndAuditAlarmW, AddAce, AddAuditAccessAce, AdjustTokenGroups, AdjustTokenPrivileges, AllocateAndInitializeSid, BackupEventLogA, BackupEventLogW, CheckTokenMembership, ClearEventLogA, ClearEventLogW, CreatePrivateObjectSecurity, CreateProcessAsUserW, FileEncryptionStatusA, EncryptFileA, DuplicateTokenEx, DecryptFileA, CreateRestrictedToken。
网银u盾(usb_key_)的工作原理
随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。
为了能在因特网上开展安全的电子商务活动,公开密钥基础设施( PKI, Public Key Infrastructure )逐步在国内外得到广泛应用。
我们是否真的需要 PKI , PKI 究竟有什么用?下面通过一个案例一步步地来剖析这个问题 : 甲想将一份合同文件通过 Internet 发给远在国外的乙,此合同文件对双方非常重要,不能有丝毫差错,而且此文件绝对不能被其他人得知其内容。
如何才能实现这个合同的安全发送?问题 1: 最自然的想法是,甲必须对文件加密才能保证不被其他人查看其内容,那么 , 到底应该用什么加密技术,才能使合同传送既安全又快速呢 ?可以采用一些成熟的对称加密算法 , 如 DES 、 3DES 、 RC5 等对文件加密。
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用做解密密钥,这种方法在密码学中叫做对称加密算法,问题 2: 如果黑客截获此文件,是否用同一算法就可以解密此文件呢 ?不可以 , 因为加密和解密均需要两个组件 : 加密算法和对称密钥 , 加密算法需要用一个对称密钥来解密 , 黑客并不知道此密钥。
问题 3: 既然黑客不知密钥,那么乙怎样才能安全地得到其密钥呢?用电话通知,若电话被窃听,通过 Internet 发此密钥给乙,可能被黑客截获,怎么办 ?方法是用非对称密钥算法加密对称密钥后进行传送。
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥( Public Key )和私有密钥( Private Key )。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法 ( 公 / 私钥可由专门软件生成 ) 。
usb key认证技术的举例介绍
文章标题:深度探讨USB Key认证技术的举例介绍在当今信息时代,随着数字化的快速发展,网络安全问题变得愈发突出。
为了提高数据安全性,USB Key认证技术正逐渐成为一种重要的解决方案。
本文将全面评估USB Key认证技术,并通过举例介绍的方式,探讨其深度和广度,帮助读者全面理解这一主题。
对于USB Key认证技术,我们可以从以下几个方面进行全面评估。
USB Key是什么?其原理和实现方式是什么?其安全性如何?接下来,我们将通过举例介绍几种USB Key认证技术,在此过程中不断深入探讨,帮助读者全面理解这一技术。
1. USB Key的定义和原理USB Key,也称为USB安全密钥,是一种基于USB接口的安全验证设备。
其原理是利用USB接口与计算机进行通信,并通过加密算法和安全协议对设备和用户进行身份验证,以确保数据在传输和存储过程中的安全性。
2. USB Key的实现方式USB Key可以通过硬件方式实现,也可以通过软件与硬件相结合的方式实现。
硬件方式通常是将安全芯片与USB接口结合,保护密钥和加密算法不被篡改和泄露。
而软件与硬件相结合的方式则是将USB Key认证技术集成到特定的软件或应用中,实现对用户身份和数据的双重认证。
3. USB Key的安全性USB Key认证技术相较于传统的用户名和密码认证方式具有更高的安全性。
因为USB Key是基于硬件的安全验证设备,不易受到黑客攻击,可以有效防止密码盗窃和网络钓鱼等安全威胁,提高了数据的安全性。
通过以上分析,我们可以清晰地了解USB Key认证技术的基本概念和原理。
接下来,我们将通过举例介绍几种USB Key认证技术,以便读者更加深入地理解这一主题。
4. 举例介绍USB Key认证技术(1)YubiKeyYubiKey是一种便携式USB安全验证设备,它将一次性密码卡(OTP)和通用二次验证(U2F)集成到一个小巧的USB设备中。
用户可以将YubiKey连接至计算机或移动设备,并通过按压按钮或触摸sensor来进行身份验证,从而实现对特定全球信息湾或应用的双重认证。
网银U盾安全漏洞分析
网银U盾安全漏洞分析网银U盾安全漏洞分析USB Key是一种USB接口的硬件存储设备。
USB Key的模样跟普通的U盘差不多,不同的是它里面存放了单片机或智能卡芯片,USB Key有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法可以实现对用户身份的认证。
目前USB Key被广泛应用于国内的网上银行领域,是公认的较为安全的身份认证技术。
USB Key在网上银行中,被用作客户数字证书和私有密钥的载体,在网络上鉴别用户身份处于极其关键的地位。
而网上银行首要的关键问题就是安全,安全是所有一切的基础,没有安全的网银还不如没有网银。
一些新闻报道的国内某某银行几十万资金通过网银被盗,都给网上银行带来巨大的负面影响,让人对于USB Key的网上银行认证的安全性产生怀疑和顾虑。
本文将从技术的角度出发,详细论述一下目前中国网上银行使用的USB Key 的安全性以及可能存在的风险和漏洞。
当然,一个网银系统的安全,涉及到的理论知识非常多,不仅仅要懂得大学课程《密码学》的全面知识,还要知道最新加密锁和USB Key的产品动态,进行全面的网银评测并不是那么简单的事情。
本文也仅仅起个抛砖引玉的作用,欢迎各方高手继续补充和讨论。
行业安全专家基本都公认USB Key是安全可靠的,那么USB Key为什么是安全的呢?目前有几个重要的性能指标能够说明USB Key的安全性。
1、硬件PIN码保护黑客需要同时取得用户的USB Key硬件以及用户的PIN码,才可以登录系统。
即使用户的PIN码被泄漏,只要用户持有的USB Key不被盗取,合法用户的身份就不会被仿冒;如果用户的USB Key遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
2、安全的存储介质USB Key的密钥存储于安全的介质之中,外部用户无法直接读取,对密钥文件的读写和修改都必须由USB Key内的程序调用。
从USB Key接口的外面,没有任何一条命令能够对密钥区的内容进行读出、修改、更新和删除。
USB Key安全浅析
PIN码单向哈希散列
PIN码XOR处理
USB远程劫持
USB远程劫持定义
• 远程用户在不具有USBKEY硬 件环境的条件下通过软件破解 的方式达到通过服务器身份认 证的攻击方式。
USB远程劫持原理
• Hook CryptoSPI中的 CPAcquireContext,若CSP 为指定服务器的CSP,则通过 网络发送到攻击者设备上。之
• 一代/二代 (三代)
券系统的身份
凭证
USB 实现
RSA公司的PKCS#11标 准同样定义了一套密码 PC/SC接口是关于智 运算、密钥管理接口 ( Cryptoki),该接口 能卡应用的国际标准, 与平台无关。 PKCS#11 包括计算机操作系统 定义的接口与 CSP相比 的智能卡设备管理规 范、应用接口规范等, 更为灵活,而且方便开 它能实现智能卡设备 发者扩充自己的功能。 的可扩展性、通用性 考虑到灵活性、跨平台 和透明性,但它要 性、可扩展性等因素, 许多厂商会选择在 CSP 求智能卡设备的驱动 程序符合PC/SC的要 与驱动之间实现 求。 PKCS#11 的标准接口。 如FireFox浏览器即使用 此接口。
CSP(Cryptographic CryptoAPI(Crypt CryptoSPI( 系统编 ographic Service 程接口 ),将 Providers, Application 密码服务供应商 CryptoAPI 的调用 )是 Programming 传递给 CSP,可以 加密服务供应商为 理解为使用 Interface,加密 CSP。 了给用户提供方便, CryptoAPI 接口面向 应用程序接口 )是 针对应用层提供的 应用系统 ,而 标准接口函数。 微软公司提供的 CryptoSPI 面向加密 接口,通过调用 模块开发商,每个 CSP函数来实现 CSP都必须实现 供应商提供的密 CryptoSPI 的20多个 码运算。 函数接口
基于USBKey的网游数据加密技术的研究与应用
基于USBKey的网游数据加密技术的研究与应用随着互联网的迅猛发展,网游产业成为一个蓬勃发展的行业。
然而,随之而来的问题是网游数据的安全性问题,尤其是游戏账号和虚拟物品的盗窃问题。
为了保护玩家的利益和游戏的可持续发展,研究和应用基于USBKey的网游数据加密技术变得尤为重要。
基于USBKey的网游数据加密技术是一种通过使用USBKey 来加密和保护网游数据的技术。
USBKey是一种可移动存储设备,具有高度的安全性和可靠性。
通过将USBKey与玩家的游戏账号绑定,可以实现数据的加密和防篡改。
当玩家登录游戏时,系统会自动识别并验证USBKey的身份,确保只有合法的用户才能访问游戏数据。
该技术的核心是通过加密算法对网游数据进行加密。
只有在正确的USBKey插入的情况下,才能解密数据并进行游戏。
这种加密技术不仅可以保护游戏账号和虚拟物品的安全,还可以防止外部黑客攻击和数据泄露。
基于USBKey的网游数据加密技术在实际应用中有着广泛的应用前景。
首先,它可以有效地防止游戏账号的盗窃和虚拟物品的非法交易,维护游戏的公平性和玩家的利益。
其次,它可以提高游戏数据的安全性,减少黑客攻击和数据泄露的风险,保护游戏平台和玩家的隐私。
此外,基于USBKey的网游数据加密技术还可以为游戏平台提供更多的商业机会,例如推出特殊定制的USBKey,为玩家提供更多的选择和个性化服务。
当然,基于USBKey的网游数据加密技术也面临一些挑战。
例如,技术的成本较高,需要为每个玩家提供专用的USBKey,增加了运营成本。
此外,技术的可靠性和稳定性需要进一步的研究和验证。
综上所述,基于USBKey的网游数据加密技术是一项具有重要意义和广泛应用前景的研究领域。
通过应用该技术,可以有效地提高网游数据的安全性和玩家的体验,进一步推动网游产业的可持续发展。
中国网银安全分析:USB Key
中国网银安全分析:USB Key前文已经提到一种身份认证产品名叫“动态密码锁”,今天我们将介绍另外一种广泛应用的身份认证产品:USB Key。
和单钥的动态密码锁不同的是,USB Key采用双钥(公钥)加密的认证模式,USB Key 是一种USB接口的硬件设备,外形如下图所示。
它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。
由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。
USB Key产品最早是由加密锁厂商提出来的,原先的USB加密锁主要用于防止软件破解和复制,保护软件不被盗版,而USB Key的目的不同,USB Key主要用于网络认证,锁内主要保存数字证书和用户私钥。
USB Key的硬件和PIN码构成了可以使用证书的两个必要因素。
如果用户PIN码被泄漏,只要USB Key本身不被盗用即安全。
黑客如果想要通过破解加密狗的方法破解USB Key,那么需要先偷到用户USB Key的物理硬件,没有哪个用户会愚蠢到将自己的Key拱手奉献给黑客。
USB Key的一个最重要的优点就是成本低廉。
一些单片机芯片USB Key的成本可以低于10元,很利于大规模普及应用,不过单片机芯片USB Key虽然成本低廉,但是芯片容易被黑客硬件复制。
而智能卡芯片的USB Key就不容易被硬件复制,不过带来的是较高的成本,一般智能卡芯片的USB Key的价格都要高于30元。
USB Key目前在网上银行应用十分广泛,大家看到一些银行的U盾、优KEY等都是这种产品,不过奇怪的是,这些产品的收费似乎要高于其实际价格。
USB Key的使用方法是,当登录网银系统的时候,在电脑上插入USB Key,然后输入PI N码,如果验证通过,则可以进行相关交易。
这种加密方式使用了双钥加密,私钥安全地保存在Key中,在网络应用的环境下,可以更安全,弥补了动态密码锁单钥加密的一些缺陷。
CISAW风险管理专业级培训课件-网银USBKEY安全性检测-数据分析
1.1、USBKey的基本概念
• 密码钥匙 • U盾 、Ukey • USBStick USBToken
是一种智能卡的衍生品,特点是具有智能卡+USB接口读卡器的集成硬 件和智能卡的嵌入软件(COS),具有密码算法、存储保护等智能卡的 安全特性,可实现数据加解密、身份认证、数字证书保存和数字签名等 安全功能。
•
3
中国信息安全认证中心 信息安全保障人员认证
1. USBKey 的基本知识
• 1.2、USBKey的应用
• 身份认证、网络登录 • 中国各银行网上银银行: 网银登录(身份认证)+交易认证
4
中国信息安全认证中心 信息安全保障人员认证
1.3. 网银系统USBKey的一般模型
5
中国信息安全认证中心 信息安全保障人员认证
• 5.1 准备
• 样本:某银行柜台,与办理人的真实银行账户绑定
• 操作:网络环境中运行并进行用户的普通操作:下载证书、校验并修 改PIN码、网银转账
• 工具:BUSHOUND、捷德命令集检索表
• 资料: i-COS_V1.0_Manual_05_03_18、
•
STARCOS S21
• 证书生成:vip.txt
• 攻击者的攻击潜力: • 1.物理占有USBkey 者可对目标进行长时间系统性分析; • 2.远程攻击者:具有足够的知识和技术能力通过移植木马等手段从互连
网远端控制客户端PC机;对受测件具有足够的知识(至少与测试人员 相当)和技术能力通过被控的客户端PC机监测并操控客户机与USBKey 之间的所有通讯信息。
网银USBKEY 安全性检测 之数据分析
实践课程
本课目录
1 USBKey 的基本知识 2 网银 USBKey 安全性检测 3 网银 USBKey 安全性检测准备 4 网银 USBKey 安全性检测实施 5USBKey 安全性检测实例 6实习题
基于USB-Key的强口令认证方案设计与分析
基于USB-Key的强口令认证方案设计与分析于江;苏锦海;张永福【期刊名称】《计算机应用》【年(卷),期】2011(31)2【摘要】Concerning that the OSPA protocol is vulnerable to the replay attack and the denial-of-service attack, in this paper, a USB-Key based strong password authentication scheme was proposed, which used USB-Key to verify the user's password and store the security parameter. In this scheme, user's identity can be protected by using the temporary identity and the authentication parameters computation by Hash function. This scheme can achieve mutual authentication between user and server by transferring the authentication parameters. The security analysis of the scheme proves that the scheme is resistant to replay attack, impersonation attack and Denial of Service (DoS) attack, and it has high security, and it can be used by users with limited computation ability.%针对0SPA强口令认证方案无法抵抗重放攻击、拒绝服务攻击的不足,提出了一种基于USB-Key的口令认证方案.该方案使用USB-Key进行用户口令的验证并存储认证的安全参数,能够有效地保护安全参数不被窃取.认证方案在认证过程中对用户的身份信息进行了保护,使用Hash运算计算认证参数,通过用户端和服务器端之间的认证参数的传递实现双向认证.方案的安全性分析表明,它能够防止口令猜测攻击、重放攻击、假冒攻击、拒绝服务攻击,方案系统开销小,适用于运算能力有限的终端用户.【总页数】3页(P511-513)【作者】于江;苏锦海;张永福【作者单位】信息工程大学,电子技术学院,郑州,450004;信息工程大学,电子技术学院,郑州,450004;信息工程大学,电子技术学院,郑州,450004【正文语种】中文【中图分类】TP309.2【相关文献】1.一种一次性口令身份认证方案的设计与分析 [J], 宋金秀;杨秋翔2.一种新型一次性口令身份认证方案的设计与分析 [J], 张宏;陈志刚3.B/S模式下一次性口令身份认证方案的设计与分析 [J], 王庆生;邱鹏飞4.基于Hash函数的强口令认证方案设计与分析 [J], 于江;苏锦海;张永福5.基于Hash函数的强口令认证方案设计与分析 [J], 于江;苏锦海;张永福因版权原因,仅展示原文概要,查看原文内容请购买。
usbkey认证原理
USBKey认证原理1.引言U S BK ey是一种常用于数据存储和身份认证的设备,广泛应用于个人和企业信息安全领域。
U S BK ey通过使用加密算法和安全芯片来实现数据的安全传输和存储。
本文将介绍US BK ey的认证原理及其工作方式。
2. US BKey基本概述U S BK ey是一种便携式的存储设备,其外观类似于普通的U盘。
它内部集成了安全芯片和存储芯片,用于存储用户的数据和身份认证信息。
U S BK ey通过与计算机的US B接口连接,与计算机进行身份认证和数据传输。
3. US BKey的认证原理U S BK ey的身份认证主要是通过以下几个步骤实现的:3.1U S B K e y与计算机握手认证当U SB Ke y插入计算机的US B接口时,US B Ke y会与计算机建立通信连接,并进行握手认证。
U SB Ke y内部的安全芯片会生成一个随机数,并将其发送给计算机。
计算机收到随机数后,会通过事先约定好的密钥和算法对其进行加密运算,然后将结果发送给US B Ke y。
3.2U S B K e y验证计算机的身份U S BK ey接收到计算机发送的加密结果后,会使用相同的密钥和算法对其进行解密运算。
如果解密结果与发送的随机数匹配,US BK ey将认为计算机是合法的,并继续进行后续的身份认证和数据传输。
3.3用户身份认证一旦计算机通过了US B Ke y的认证,U SBK e y会进一步要求用户进行身份认证。
通常情况下,用户需要输入密码、指纹或刷卡等方式进行身份验证。
US BK ey将用户提供的认证信息与其内部存储的用户信息比对,如果匹配成功,则认为用户合法,否则认证失败。
3.4数据传输和加密一旦US BK ey和计算机的身份认证通过,U S BK ey可以开始进行数据传输。
US BK ey使用先进的加密算法对数据进行加密,确保数据在传输过程中的安全性。
同时,U S BK e y还可以使用数字签名等技术来验证数据的完整性和真实性。
起底突破物理隔离的USB设备攻击窃密技术
起底突破物理隔离的USB设备攻击窃密技术原创常子敬吕志强大叶子“邪恶”的USB设备攻击技术USB设备攻击技术顾名思义是指利用USB设备进行攻击的技术,从USB接口诞生就存在利用它的攻击技术。
但是近些年来,这种类型的攻击呈现了爆发式的增长,相比以往的攻击手段,现在的USB攻击技术种类多样、威胁巨大。
最早的USB设备攻击是USB存储设备摆渡攻击。
USB设备作为攻击载体,唱主角的还是病毒、木马之类的软件。
真正让USB设备成为主角的是HID攻击技术的出现。
USB HID (Human Interface Device)设备是USB众多设备种类中的一种,也是最常用的一种,被广泛用于人机交互和少量实时数据传输中,包括键盘、鼠标等设备。
HID攻击利用USB接口伪造用户击键行为。
恶意USB HID设备连接主机后发送伪造的按键命令,篡改系统设置、运行恶意功能。
电脑就如同被幽灵控制了一样,会自动输入内容,以管理员的名义控制电脑。
图1 USB设备攻击技术这种攻击有什么独到之处?以HID攻击为例,这类攻击有以下的几点优势:1) 隐蔽性强:杀毒软件和入侵检测系统都无法察觉这种攻击,更重要的是恶意代码被隐藏在芯片的固件中,被攻击后无法取证、检测;2) 攻击范围广:只要主机设备支持USB协议就可能被攻击,具有跨平台的攻击能力;3) 权限高:这类攻击由于采用模拟用户操作的攻击方式,轻易可以获得管理员权限。
这种攻击出现后,原本被视为安全便捷的USB设备开始成为了攻击者的“傀儡”,用户在不知情的情况下误用了他人的USB设备,如U盘、键盘、鼠标就有可能被攻击。
因此也有研究者称:这种攻击出现意味着USB设备开始变“坏”。
USB设备攻击技术起源USB设备攻击技术引起关注源于2010年美国黑客安全大会。
安全研究员Pisani等人在大会上公布了自己的研究成果——使用一款名叫Teensy的可编程嵌入式USB开发工具制作了一种通用的USB HID 攻击套件。
中认环宇 usb key工作原理
中认环宇 usb key工作原理
中认环宇(ZhongrenHyunwoo)usbkey是一种安全可靠的存储设备,能够存储和传输个人敏感信息。
它的工作原理主要涉及加密技术和存储控制器。
加密技术是指将数据进行加密处理,只有输入正确的密码才能进行解密并访问数据。
中认环宇usb key采用的是军用级别的加密技术,确保数据的安全性和可靠性。
存储控制器是指控制着usb key内部的flash存储芯片,能够实现数据的高速读写和管理。
中认环宇usb key采用的是高速NAND闪存芯片,读写速度快,数据传输稳定。
此外,中认环宇usb key还具备防水、防震、防磁、防静电等多重保护功能,能够在极端环境下保护数据的安全。
总之,中认环宇usb key的工作原理是依靠加密技术和存储控制器来实现数据的高速读写和管理,同时具备多重保护功能,确保数据的安全性和可靠性。
- 1 -。
分析计算机病通过USB记录仪进行的攻击并提供防范措施
分析计算机病通过USB记录仪进行的攻击并提供防范措施计算机病毒通过USB记录仪进行的攻击分析及防范措施随着科技不断发展,USB记录仪的使用已经越来越广泛,它们通常用于在汽车、餐厅、商场、医院等现场记录相关数据。
然而,这种方便的记录方式也给了黑客趁虚而入的机会,他们可以轻松地利用这种设备传播计算机病毒和恶意软件,给用户和企业带来巨大的损失。
本文将对计算机病毒使用USB记录仪进行的攻击进行分析,并提供一些防范措施。
一、计算机病毒通过USB记录仪进行的攻击方式1. 假USB记录仪黑客借助技术手段制造假设备,替换真正的USB记录仪,将其中的恶意软件藏匿其中,在用户插入记录仪时就可自动传播计算机病毒,实现攻击目的。
2. 直接传输当黑客在用户电脑上插上他们自己的USB记录仪时,恶意软件便可以自动传播到用户电脑上。
3. 欺骗窃取数据黑客使用恶意软件在USB记录仪中植入木马程序,以达到窃取计算机数据的目的。
二、计算机病毒通过USB记录仪进行的攻击防范措施1. 更新软件用户应该避免使用过时的操作系统和软件,保证系统和软件的更新及时、完整和安全。
这可以降低黑客攻击的风险,防止黑客利用用户操作系统或软件中的漏洞进行攻击。
2. 加密数据为了防止黑客通过USB记录仪盗取用户的数据,用户应该将敏感信息加密保存。
对于经常需要使用USB记录仪进行数据传输的用户来说,可以使用加密型USB记录仪。
3. 使用安全的USB记录仪为了降低黑客攻击的风险,用户可以选择一款安全可靠的USB记录仪。
这种设备通常具有防火墙、病毒扫描和自动更新等安全功能,可以有效地保护用户数据的安全。
4. 建立安全意识用户在使用USB记录仪时,应该保持警惕,不要打开不明来源的文件,同时要定期扫描病毒,确保电脑和USB设备的安全。
总之,计算机病毒通过USB记录仪进行攻击已经成为一种常见的攻击方式。
为了保障用户数据的安全,用户需要了解攻击方式及其对策,不断提高自己的安全意识。
usbkey原理
第二步:下载证书信息>>
申请U盾后,您可以委托我行网点柜员协助您下载个人证书信息到U盾体内,也可以登录工行个人网上银行,进入“客户服务-U盾管理-U盾自助下载”,完成证书信息下载。下载前请确认U盾已连接到电脑USB接口上。如果下载不成功,请到柜面办理。
第三步:开心使用U盾>>
您在登录个人网上银行之后,如需办理转账、汇款、缴费等对外支付业务,只要按系统提示将U盾插入电脑的USB接口,输入U盾密码,并经银行系统验证无误,即可完成支付业务。
USB Key具有安全数据存储空间,可以存储数字证书、密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户密钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。
USB Key内置CPU,可以实现加解密和签名的各种算法,加解密运算在USB Key内进行,保证了密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。USB Key的两种应用模式
除U盾外,我行还推出了一系列安全措施:通过别名登录(一种不同于传统账号登录的自定义登录方式),登录密码和支付密码双重密码控制,以及支付额度控制等措施来确保客户安全;通过网址核对、网站证书验证(点击工行网页右下脚“加密锁”图表)、预留信息验证等方式来识别和防范假冒银行网站。
●支付更方便
拥有U盾,您不用再受各种支付额度的限制,轻松实现网上大额转账、汇款、缴费和购物。点击查阅详情>>
USBKey远程劫持技术分析
USBKey远程劫持技术分析潘建军;王加阳;罗海波【摘要】Authentication technology plays an important role in the open environment for information system, so people continue to explore practical applications, to find a series of authentication technology. With cryptography, smart card technology developing and maturing, a combination of modern cryptography, smart chip, USB authentication technology has finally appeared in front of us. In this paper we find a detection technique based on API Hook, used to verify the identity authentication based on USBKey.%身份认证技术对于开放环境中的信息系统具有极其重要的作用,因此人们在实际应用中不断探索,研发了一系列身份认证技术.伴随密码学,智能卡等技术的发展和成熟,一种结合现代密码学、智能芯片、USB技术的认证方式终于出现在我们面前,这就是基于PKI(公共密钥基础设施)的USBKey认证方式.寻求一种基于API Hook的认证安全检测技术,用于验证基于USBKey的身份认证是否存在缺陷,并且提出相应的改进方案.【期刊名称】《计算机系统应用》【年(卷),期】2011(020)010【总页数】3页(P172-174)【关键词】CrytoAPI;CrypSPI;APIHook;身份认证;USBKey【作者】潘建军;王加阳;罗海波【作者单位】中南大学信息科学与工程学院,长沙410084;中南大学信息科学与工程学院,长沙410084;中南大学湘雅三医院,长沙410083【正文语种】中文身份认证对于开放环境中的信息系统具有极其重要的作用,是网络安全服务及其他服务的安全基础。
交易授权技术创新阻断网银大盗黑手
交易授权技术创新阻断网银大盗黑手既然用户计算机的安全环境是无法控制的,银行发行的USB Key就成为客户端唯一安全可信的信息载体。
为了保证交易数据不被篡改,就必须在USB Key上提供无法通过计算机控制的交易授权手段。
z网上银行的安全软肋随着互联网和电子商务的发展,越来越多的人开始接受网上银行这种方便快捷的金融服务方式。
然而,随着网上银行用户数量和交易金额的迅速增长,涉及网上银行资金安全的案件也层出不穷,不法分子针对网上银行的攻击手段也越来越变化多端。
“安全已经成为阻碍网上银行健康发展的最大障碍。
”(CFCA曹小青)银行作为专业金融服务机构,具备比较完善的安全管理技术和体系,而作为非专业使用者的网上银行用户,往往没有足够的意识和技术能力来保护自身客户端的安全,同时,互联网上各种木马和黑客软件的泛滥,也在严重威胁着客户端的安全环境。
因此,客户端的安全已经成为网上银行安全的软肋。
z目前交易授权技术的不足为了保证用户的资金安全,各商业银行都采取了多种措施,来提高用户身份认证的安全性。
目前网上银行使用最普遍的也是安全强度最高的是基于智能卡的USB Key安全数字证书。
USB Key结合了智能卡技术与PKI技术,使用内置操作系统的智能卡芯片来保护用户的私钥,可以实现可靠的数字身份认证和交易数字签名。
目前常用的普通USB Key,所有操作都是通过计算机向USB Key发送指令来进行的。
用户进行资金交易时需要输入的交易指令,包括对方帐号、转账金额等关键数据,以及交易授权时需要输入的USB Key密码,都是通过计算机键盘输入,并在计算机的显示器上显示的。
由于客户端计算机环境的不安全,理论上说只要在计算机内存中出现的数据,都有可能被黑客截取。
因此用户输入的PIN 码有可能被黑客木马截取,交易数据也有可能被黑客木马篡改。
因此使用目前的普通USB Key,无法保证用户计算机发送给网银服务器的交易指令以及发送给USB Key的待签名数据与用户发起交易真实意图完全一致。
基于USB key的面向客户端的DNS防劫持系统
基于USB key的面向客户端的DNS防劫持系统阿继琛;段程远;李珂玮;严泽民;张子威【期刊名称】《电脑知识与技术》【年(卷),期】2016(012)015【摘要】DNS作为互联网络的基础服务系统,在保证互联网络的正常运行方面起着不可或缺与的作用,其安全性也影响着互联网的安全与效率.然而,互联网上发生的网络攻击事件日益频繁,DNS系统也遭受到了一系列的劫持攻击.寻找一个行之有效的方法来解决DNS劫持攻击已经到了刻不容缓的地步.本作品旨在应对近年来大规模发生的DNS劫持攻击,以USB Key为平台(用于存储DNS解析数据)开发一种基于客户端的DNS防劫持安全系统.该安全系统和目前已有的面向客户端的安全软件相比,具有针对DNS劫持攻击的响应功能和防护机制,而且基于USB Key的DNS解析能够满足用户对于价格、安全性、效率三方面的要求,性价比较高,拥有良好的市场前景.本作品的创新技术包括面向客户端的DNS防劫持技术、基于"判决机制"的DNS解析技术、基于USB key的DNS解析数据的安全存储及处理技术.针对现在被普遍的关注的DNS安全问题,我们将这些创新技术和安全方案内化到一个面向客户端的DNS安全解析系统之中.【总页数】3页(P37-39)【作者】阿继琛;段程远;李珂玮;严泽民;张子威【作者单位】国防科学技术大学计算机学院,湖南长沙410073;国防科学技术大学计算机学院,湖南长沙410073;国防科学技术大学计算机学院,湖南长沙410073;国防科学技术大学计算机学院,湖南长沙410073;国防科学技术大学计算机学院,湖南长沙410073【正文语种】中文【中图分类】P393.4【相关文献】1.基于USB Key的身份认证系统设计与实现 [J], 王飞龙;尹青;郭玉东;庄宽2.基于USB-Key认证电子保密柜系统设计 [J], 刘勇;慕晓蕾;魏玮3.基于USBKey认证的iSCSI安全存储系统 [J], 郑朝晖;张勇进;袁先平4.基于USB KEY及加密驱动的文件加密系统设计与实现 [J], 倪菊华5.基于FPGA数据采集的USBKey安全评估系统设计与实现 [J], 董攀;白长虹因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目前 主要 的身份 认证 技术概 括起 来有 四类: 于 基
口令 的认证方式 、基于硬件令牌 的认证方 Nhomakorabea、基于生
物特征 的认证方式 以及基 于密码 技术的认证方式。出 于 安全等 因素 的考虑 ,大 多数 认证系统都综合采用了 其 中的多个因素来确认一个对象 。
汁 算 机 系 统 应 用
ht:ww CS .r. t / w. — og n p/ —a c
2I 0 1年 第 2 卷 第 1 O 0期
U B y远程劫持技 术 分析 S Ke
潘建军 ,王加阳 ,罗海波
0 ( 中南大 学 信息科学与工程学 院,长沙 4 0 8 ) 10 4 ( 中南大 学 湘雅三医 院,长沙 4 0 8 ) 10 3
身份认证对 于开放 环境中的信 息系统具有极其重
要 的作用 ,是 网络安全服务及 其他服 务的安全基础 。
近几年来 , 随着 Itre 服务 ,尤其是电子商务 、电子 n nt e
政 务、网上支付等业务 的发展 ,信 息安全 问题 已经 日
近几年来 ,随着 It n t ne e服务 ,尤其是电子商务 、电子 r
Ab t a t A uh n c to e h o o y p a sa mpo tn oei h p ne vr n n o n o m a o y tm , Op o e s r c : t e t ai nt c n lg ly n i i ra tr l n te o e n io me t ri f r t n s se f i S e pl c n n o e p o e p a t a p fc f n ,t n e e fa t e tc to e hn lg W ih cyp o r ph s atc r o t uet x l r rc c la p a o s o f d a s r so u h n iai n tc oo y. t r t g a y, m r a d i i i i i i tc o o y e eo i g n m au n e hn l g d v l p n a d tr g, a o b n to of o en r p o r p y, s at h p US i c m i a n i m d r c y tga h m r c i , B a te t ai n u ni to h c tc o o y h sfn ly a p ae n fo to S n t i a e n e e to e h i u a e n AP o , e o e hn l g a al p e r di n fU .I h sp p rwe f d a d tc n tc n q e b s d o IHo k us d t i r i i v rf eie tt u e iai nb s d o e y t n y a t nt t a e nUSBKe i h d i h c o y. Ke o d: y t AP ; y t S ; yw r Cr p o I Cr p o PI API o k a t e t a o c n lg U s o ;u H h n i t nt h o o y; bKe ci e y
P AN in J W AN G i- n LU O iBo Ja .un , Ja Ya g , Ha .
( c o l f noma o c n e n n ie r g C nrl o t ies y C a g h 1 0 3 C ia S h o f r t nS i c dE gn ei , e t uh oI i e a n aS Unv ri , h n s a 0 8 , hn ) t 4 ( a g aThr s i lCe t l o t iest, a g h 0 8 , in ) Xin y idHo pt , nr uhUn v ri Ch n s a41 0 3 Ch a a aS y
摘
要:身份认证技术对于开放环境 中的信息系统 具有极其重要的作用 ,因此人们在 实际应 用中不 断探索, 研发
了一系列身份认证技术 。伴随密码学 ,智 能卡等技 术的发展和成 熟,一种结合现代密码学、智能芯片、U B 技 S 术的认证方式终于 出现在我们 面前 ,这就是基于 P I( K 公共 密钥基础设施 )的 U B e 认证 方式 。寻求一种基于 SKy
物特征 的认证 方式 以及基于密码技术的认证方式 。出
于 安全等 因素的考虑 ,大多数认证系统都综合采用 了
其 中的多个 因素来确认一个对 象。
AP o k的认证安全检测技术,用于验证基于 U B e I o H S K y的身份认证是否存在缺陷 ,并且提 出相应的改进方案。 关键字:Cyo I rp P ;AP o k rtAP;Cy S I I o ;身份认证 ;US K y H B e
US Ke e t jc igT c nc l ayi B yR moe akn eh ia An ls Hi s
政务 、网上支付 等业务的发展,信 息安全 问题 已经 日
益成为人们关注 的热 点问题 ,特 别是在网络国际化, 全 球互联 的大背景下, 信息安全 已经成为事关 国家安全 ,
社会稳定的关键 问题 。
益成为人们关注 的热点 问题,特别是在 网络 国际化, 全 球互联 的大背景下 , 信息安全已经成为事关 国家安全 ,