The problem is that design of Gaussian blur is isotropic, meaning it diffuses the intensity of each pixel equally in all directions.
You should try generating a binary mask of the black region, computing its distance transform, and than applying a scaling curve (exponential decay) to map the distance values to intensity values.
If I understood correctly what you are trying to achieve, reading this might help you with the realization.