Examples are disclosed for establishing a secure destination address range responsive to initiation of a direct memory access (DMA) operation. The examples also include allowing decrypted content obtained as encrypted content from a source memory to be placed at a destination memory based on whether
Examples are disclosed for establishing a secure destination address range responsive to initiation of a direct memory access (DMA) operation. The examples also include allowing decrypted content obtained as encrypted content from a source memory to be placed at a destination memory based on whether destination memory addresses for the destination memory fall within the secure destination address range.
대표청구항▼
1. A method implemented at host computing device comprising: establishing a secure destination address range responsive to initiation of a direct memory access (DMA) operation to be performed by a DMA module that includes obtaining encrypted content from a source memory, decrypting the encrypted con
1. A method implemented at host computing device comprising: establishing a secure destination address range responsive to initiation of a direct memory access (DMA) operation to be performed by a DMA module that includes obtaining encrypted content from a source memory, decrypting the encrypted content, and placing the decrypted content at a secure destination memory;receiving, at a controller of the DMA module, one or more destination addresses associated with the secure destination memory from an operating system executed by a host central processing unit (CPU) through a portion of memory shared between the controller and the operating system;validating, at the controller, whether the one or more destination addresses falls within the secure destination address range; andallowing, at the controller, the DMA module to place the decrypted content at the secure destination memory based on the one or more destination addresses falling within the secure destination address range. 2. The method of claim 1, comprising establishing the secure destination address range by setting both a valid destination start address register and a valid destination end address register at the DMA module configured to implement the DMA operation. 3. The method of claim 2, comprising resetting the valid destination start address register and the valid destination end address register responsive to completion of the DMA operation. 4. The method of claim 1, comprising receiving the one or more destination addresses includes receiving a destination DMA table as part of a scatter-gather list generated by an application requesting the DMA operation, the scatter-gather list to also include one or more source addresses associated with the source memory. 5. The method of claim 4, comprising setting source address and destination address registers at the DMA module based on the scatter-gather list and halting the setting of the source and destination address registers based on at least one destination address from among the one or more destination addresses falling outside of the secure destination address range. 6. The method of claim 1, the controller to flag the portion of the shared memory to indicate the portion's association with the DMA operation. 7. The method of claim 6, comprising the controller establishing the secure destination address range by setting a valid destination start address and setting a valid destination end address. 8. The method of claim 7, comprising the controller receiving one or more source addresses from the shared memory, the one or more source addresses constructed by an application requesting the DMA operation, the controller to set source address and destination address registers at the DMA module based on both the one or more source addresses and the one or more destination addresses, the controller to halt the setting of the source address and destination address registers based on at least one destination address from among the one or more destination addresses falling outside of the secure destination address range. 9. The method of claim 8, comprising the controller sending an error indication to the application requesting the DMA operation responsive to the at least one destination address falling outside the secure destination range. 10. The method of claim 7, comprising the controller receiving one or more source addresses from the shared memory, the one or more source addresses constructed by an application requesting the DMA operation, the controller to set source address and destination address registers at the DMA module based on both the one or more source addresses and the one or more destination addresses and based on whether all the destination addresses from among the one or more destinations fall within the secure destination address range. 11. An apparatus comprising: a processor circuit;a direct memory access (DMA) module communicatively coupled to the processor circuit; anda memory unit communicatively coupled to the processor circuit, the memory unit arranged to store a destination manager operative on the processor circuit to establish a secure destination address range responsive to initiation of a DMA operation to be performed by the DMA module to move encrypted content from a source memory, decrypt the encrypted content, and place the decrypted content at a secure destination memory, the destination manager also operative to receive one or more destination addresses associated with the secure destination memory from an operating system executed by a host central processing unit (CPU) through a portion of memory shared between the destination manager and the operating system, the destination manager further operative to validate whether the one or more destination addresses falls within the secure destination address range and to allow the DMA module to place the decrypted content at the secure destination memory based on the one or more destination addresses falling within the secure destination address range. 12. The apparatus of claim 11, comprising a display to visually play back a video content portion of the decrypted content placed at the secure destination memory. 13. The apparatus of claim 11, comprising the destination manager configured to set both a valid destination start address register and a valid destination end address register at the DMA module configured to implement the DMA operation in order to establish the secure destination address range. 14. The apparatus of claim 13, comprising the destination manager configured to receive the one or more destination addresses in a destination DMA table as a scatter-gather list generated by an application requesting the DMA operation, the scatter-gather list also including one or more source addresses associated with the source memory. 15. The apparatus of claim 14, comprising the destination manager configured to set source address and destination address registers at the DMA module based on the scatter-gather list and also configured to halt the setting of the source address and destination address registers based on at least one destination address from among the one or more destination addresses falls outside of the secure destination address range. 16. The apparatus of claim 11, comprising the destination manager configured to flag the portion of the shared memory to indicate the portion's association with the DMA operation. 17. The apparatus of claim 16, comprising the destination manager configured to set a valid destination start address and a valid destination end address in order to establish the secure destination address range. 18. The apparatus of claim 16, comprising the destination manager configured to set the valid destination start address and the valid destination end address at registers maintained at the DMA module configured to implement the DMA operation. 19. The apparatus of claim 17, comprising the destination manager configured to receive one or more source addresses from the shared memory, the one or more source addresses constructed by an application requesting the DMA operation, the destination manager to set source address and destination address registers at the DMA module based on both the one or more source addresses and the one or more destination addresses, the destination manager also configured to halt the setting of the source address and destination address registers based on at least one destination address from among the one or more destination addresses falling outside of the secure destination address range. 20. The apparatus of claim 19, comprising the destination manager configured to send an error indication to the application requesting the DMA operation responsive to the at least one destination address being an invalid destination address. 21. An article of manufacture comprising a non-transitory storage medium containing instructions that when executed cause a direct memory access (DMA) system for a host computing device to: establish a secure destination address range responsive to initiation of a DMA operation to be performed by a DMA module of the DMA system that includes obtaining encrypted content from a source memory, decrypting the encrypted content, and placing the decrypted content at a secure destination memory;receive, at the DMA system, one or more destination addresses associated with the secure destination memory from an operating system executed by a host central processing unit (CPU) through a portion of memory shared between the destination manager and the operating system;validate, at the DMA system, whether the one or more destination addresses falls within the secure destination address range; andcause the DMA module to place the decrypted content at the secure destination memory based on the one or more destination addresses falling within the secure destination address range. 22. The article of manufacture of claim 21, comprising the instructions to cause the DMA system to establish the secure destination address range by the DMA system setting both a valid destination start address register and a valid destination end address register at the DMA module configured to implement the DMA operation. 23. The article of manufacture of claim 22, comprising the instructions to cause the DMA system to receive the one or more destination addresses in a DMA table as part of a scatter-gather list generated by an application requesting the DMA operation, the scatter-gather list to also include one or more source addresses associated with the source memory. 24. The article of manufacture of claim 23, comprising the instructions to cause the DMA system to set source address and destination address registers at the DMA module based on the scatter-gather list and the instructions to also cause the DMA system to halt the setting of the source and destination address registers based on at least one destination address from among the one or more destination addresses falls outside of the secure destination address range. 25. The article of manufacture of claim 21, comprising the instructions to cause the DMA system to flag the portion of the shared memory to indicate the portion's association with the DMA operation. 26. The article of manufacture of claim 25, comprising the instructions to cause the DMA system to establish the secure destination address range by setting a valid destination end address to establish the secure destination address range. 27. The article of manufacture of claim 26, comprising the instructions to cause the DMA system to receive a one or more source addresses from the shared memory, the one or more source addresses constructed by an application requesting the DMA operation, the instructions to also cause the DMA system to set source address and destination address registers at the DMA module based on both the one or more source addresses and the one or more destination addresses, the instructions to also cause the DMA system to halt the setting of the source address and destination address registers based on at least one destination address from among the one or more destination addresses falling outside of the secure destination address range. 28. The article of manufacture of claim 27, comprising the instructions to cause the DMA system to send an error indication to the application requesting the DMA operation based on the at least one destination address falling outside the secure destination address range.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (17)
Kershaw, Daniel; Felton, Donald; Stevens, Ashley Miles; Thompson, Anthony Paul, Data processing apparatus and method for controlling access to memory.
Nakai, Yoshiyuki; Sumida, Koichi; Yamanouchi, Takao; Shimazawa, Yohichi, Data processing apparatus for selecting either a PIO data transfer method or a DMA data transfer method.
Kurauchi, Nobukazu, Data processing device, data processing method, data processing program, recording medium containing the data processing program and integrated circuit.
Blumrich Matthias Augustin (208 E. Stanworth Dr. Princeton NJ 08540) Dubnicki Cezary (110 Prospect St. ; Apt. E2 Princeton NJ 08540) Felten Edward William (20 Lake La. Princeton NJ 08540) Li Kai (73 , Method and system for initiating and loading DMA controller registers by using user-level programs.
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.